mirror of
https://github.com/JuliaFEM/JuliaFEM.jl.git
synced 2026-09-26 20:01:32 +00:00
3201 lines
381 KiB
Plaintext
3201 lines
381 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Normal-tangential coordinates\n",
|
||
"\n",
|
||
"Author: Jukka Aho\n",
|
||
"\n",
|
||
"**Abstract**: Use of normal tangential coordinate system"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Array{Float64,1}"
|
||
]
|
||
},
|
||
"execution_count": 1,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"using JuliaFEM.Core: Quad4, Seg2, Seg3, PlaneStressLinearElasticityProblem, DirichletProblem, update!, DirectSolver\n",
|
||
"typealias Node Vector{Float64}"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"using Gadfly\n",
|
||
"set_default_plot_size(10cm, 10cm)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"Element normal definition in 2d"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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",
|
||
"image/svg+xml": [
|
||
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n",
|
||
"<svg xmlns=\"http://www.w3.org/2000/svg\"\n",
|
||
" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n",
|
||
" xmlns:gadfly=\"http://www.gadflyjl.org/ns\"\n",
|
||
" version=\"1.2\"\n",
|
||
" width=\"100mm\" height=\"100mm\" viewBox=\"0 0 100 100\"\n",
|
||
" stroke=\"none\"\n",
|
||
" fill=\"#000000\"\n",
|
||
" stroke-width=\"0.3\"\n",
|
||
" font-size=\"3.88\"\n",
|
||
">\n",
|
||
"<g class=\"plotroot xscalable yscalable\" id=\"img-8ef4cbbc-1\">\n",
|
||
" <g font-size=\"3.88\" font-family=\"'PT Sans','Helvetica Neue','Helvetica',sans-serif\" fill=\"#564A55\" stroke=\"#000000\" stroke-opacity=\"0.000\" id=\"img-8ef4cbbc-2\">\n",
|
||
" <text x=\"56.47\" y=\"88.39\" text-anchor=\"middle\" dy=\"0.6em\">x</text>\n",
|
||
" </g>\n",
|
||
" <g class=\"guide xlabels\" font-size=\"2.82\" font-family=\"'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif\" fill=\"#6C606B\" id=\"img-8ef4cbbc-3\">\n",
|
||
" <text x=\"19.94\" y=\"81.72\" text-anchor=\"middle\" dy=\"0.6em\">-0.5</text>\n",
|
||
" <text x=\"44.29\" y=\"81.72\" text-anchor=\"middle\" dy=\"0.6em\">0.0</text>\n",
|
||
" <text x=\"68.65\" y=\"81.72\" text-anchor=\"middle\" dy=\"0.6em\">0.5</text>\n",
|
||
" <text x=\"93\" y=\"81.72\" text-anchor=\"middle\" dy=\"0.6em\">1.0</text>\n",
|
||
" </g>\n",
|
||
"<g clip-path=\"url(#img-8ef4cbbc-4)\">\n",
|
||
" <g id=\"img-8ef4cbbc-5\">\n",
|
||
" <g pointer-events=\"visible\" opacity=\"1\" fill=\"#000000\" fill-opacity=\"0.000\" stroke=\"#000000\" stroke-opacity=\"0.000\" class=\"guide background\" id=\"img-8ef4cbbc-6\">\n",
|
||
" <rect x=\"17.94\" y=\"5\" width=\"77.06\" height=\"75.72\"/>\n",
|
||
" </g>\n",
|
||
" <g class=\"guide ygridlines xfixed\" stroke-dasharray=\"0.5,0.5\" stroke-width=\"0.2\" stroke=\"#D0D0E0\" id=\"img-8ef4cbbc-7\">\n",
|
||
" <path fill=\"none\" d=\"M17.94,78.71 L 95 78.71\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,54.81 L 95 54.81\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,30.9 L 95 30.9\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,7 L 95 7\"/>\n",
|
||
" </g>\n",
|
||
" <g class=\"guide xgridlines yfixed\" stroke-dasharray=\"0.5,0.5\" stroke-width=\"0.2\" stroke=\"#D0D0E0\" id=\"img-8ef4cbbc-8\">\n",
|
||
" <path fill=\"none\" d=\"M19.94,5 L 19.94 80.72\"/>\n",
|
||
" <path fill=\"none\" d=\"M44.29,5 L 44.29 80.72\"/>\n",
|
||
" <path fill=\"none\" d=\"M68.65,5 L 68.65 80.72\"/>\n",
|
||
" <path fill=\"none\" d=\"M93,5 L 93 80.72\"/>\n",
|
||
" </g>\n",
|
||
" <g class=\"plotpanel\" id=\"img-8ef4cbbc-9\">\n",
|
||
" <g stroke-width=\"0.3\" fill=\"#000000\" fill-opacity=\"0.000\" class=\"geometry\" stroke-dasharray=\"none\" stroke=\"#FF0000\" id=\"img-8ef4cbbc-10\">\n",
|
||
" <path fill=\"none\" d=\"M28.79,29.87 L 41.86 36.28\"/>\n",
|
||
" </g>\n",
|
||
" <g class=\"geometry\" stroke=\"#000000\" stroke-opacity=\"0.000\" fill=\"#4C404B\" font-size=\"2.82\" font-family=\"'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif\" id=\"img-8ef4cbbc-11\">\n",
|
||
" <text x=\"41.2\" y=\"38.62\" text-anchor=\"middle\" dy=\"0.35em\" visibility=\"visible\"></text>\n",
|
||
" <text x=\"26.88\" y=\"30.89\" text-anchor=\"middle\" dy=\"0.35em\" visibility=\"visible\">n</text>\n",
|
||
" </g>\n",
|
||
" <g stroke-width=\"0.3\" fill=\"#000000\" fill-opacity=\"0.000\" class=\"geometry\" stroke-dasharray=\"none\" stroke=\"#FF0000\" id=\"img-8ef4cbbc-12\">\n",
|
||
" <path fill=\"none\" d=\"M41.86,36.28 L 48.39 23.45\"/>\n",
|
||
" </g>\n",
|
||
" <g class=\"geometry\" stroke=\"#000000\" stroke-opacity=\"0.000\" fill=\"#4C404B\" font-size=\"2.82\" font-family=\"'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif\" id=\"img-8ef4cbbc-13\">\n",
|
||
" <text x=\"42.86\" y=\"38.62\" text-anchor=\"middle\" dy=\"0.35em\" visibility=\"visible\"></text>\n",
|
||
" <text x=\"49.96\" y=\"25.79\" text-anchor=\"middle\" dy=\"0.35em\" visibility=\"visible\">t</text>\n",
|
||
" </g>\n",
|
||
" <g class=\"geometry\" stroke=\"#000000\" stroke-opacity=\"0.000\" fill=\"#4C404B\" font-size=\"2.82\" font-family=\"'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif\" id=\"img-8ef4cbbc-14\">\n",
|
||
" <text x=\"35.79\" y=\"57.25\" text-anchor=\"middle\" dy=\"0.35em\" visibility=\"visible\">1</text>\n",
|
||
" <text x=\"94.84\" y=\"17.35\" text-anchor=\"middle\" dy=\"0.35em\" visibility=\"visible\">2</text>\n",
|
||
" <text x=\"52.2\" y=\"20.26\" text-anchor=\"middle\" dy=\"0.35em\" visibility=\"visible\">3</text>\n",
|
||
" </g>\n",
|
||
" <g class=\"geometry\" id=\"img-8ef4cbbc-15\">\n",
|
||
" <g class=\"color_RGBA{Float32}(0.0f0,0.74736935f0,1.0f0,1.0f0)\" stroke=\"#FFFFFF\" stroke-width=\"0.3\" fill=\"#00BFFF\" id=\"img-8ef4cbbc-16\">\n",
|
||
" <use xlink:href=\"#img-8ef4cbbc-17\" x=\"34.55\" y=\"59.59\"/>\n",
|
||
" <use xlink:href=\"#img-8ef4cbbc-17\" x=\"93\" y=\"16.56\"/>\n",
|
||
" <use xlink:href=\"#img-8ef4cbbc-17\" x=\"54.03\" y=\"21.34\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g stroke-width=\"0.3\" fill=\"#000000\" fill-opacity=\"0.000\" class=\"geometry\" stroke-dasharray=\"none\" stroke=\"#00BFFF\" id=\"img-8ef4cbbc-18\">\n",
|
||
" <path fill=\"none\" d=\"M34.55,59.59 L 34.97 57.37 35.41 55.21 35.89 53.11 36.4 51.06 36.95 49.07 37.52 47.13 38.13 45.25 38.77 43.42 39.44 41.65 40.15 39.94 40.89 38.28 41.66 36.68 42.46 35.13 43.3 33.64 44.17 32.2 45.07 30.82 46 29.5 46.97 28.23 47.96 27.02 49 25.86 50.06 24.76 51.15 23.71 52.28 22.72 53.44 21.79 54.63 20.91 55.86 20.09 57.12 19.32 58.41 18.61 59.73 17.96 61.09 17.36 62.47 16.81 63.89 16.33 65.35 15.89 66.83 15.52 68.35 15.2 69.9 14.93 71.48 14.72 73.1 14.57 74.74 14.47 76.42 14.43 78.13 14.44 79.88 14.51 81.66 14.64 83.47 14.82 85.31 15.06 87.18 15.35 89.09 15.7 91.03 16.1 93 16.56\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
"</g>\n",
|
||
" <g class=\"guide ylabels\" font-size=\"2.82\" font-family=\"'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif\" fill=\"#6C606B\" id=\"img-8ef4cbbc-19\">\n",
|
||
" <text x=\"16.94\" y=\"78.71\" text-anchor=\"end\" dy=\"0.35em\">-0.5</text>\n",
|
||
" <text x=\"16.94\" y=\"54.81\" text-anchor=\"end\" dy=\"0.35em\">0.0</text>\n",
|
||
" <text x=\"16.94\" y=\"30.9\" text-anchor=\"end\" dy=\"0.35em\">0.5</text>\n",
|
||
" <text x=\"16.94\" y=\"7\" text-anchor=\"end\" dy=\"0.35em\">1.0</text>\n",
|
||
" </g>\n",
|
||
" <g font-size=\"3.88\" font-family=\"'PT Sans','Helvetica Neue','Helvetica',sans-serif\" fill=\"#564A55\" stroke=\"#000000\" stroke-opacity=\"0.000\" id=\"img-8ef4cbbc-20\">\n",
|
||
" <text x=\"8.81\" y=\"42.86\" text-anchor=\"end\" dy=\"0.35em\">y</text>\n",
|
||
" </g>\n",
|
||
"</g>\n",
|
||
"<defs>\n",
|
||
" <clipPath id=\"img-8ef4cbbc-4\">\n",
|
||
" <path d=\"M17.94,5 L 95 5 95 80.72 17.94 80.72\" />\n",
|
||
"</clipPath>\n",
|
||
" <g id=\"img-8ef4cbbc-17\">\n",
|
||
" <circle cx=\"0\" cy=\"0\" r=\"0.9\"/>\n",
|
||
" </g>\n",
|
||
"</defs>\n",
|
||
"</svg>\n"
|
||
],
|
||
"text/html": [
|
||
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n",
|
||
"<svg xmlns=\"http://www.w3.org/2000/svg\"\n",
|
||
" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n",
|
||
" xmlns:gadfly=\"http://www.gadflyjl.org/ns\"\n",
|
||
" version=\"1.2\"\n",
|
||
" width=\"100mm\" height=\"100mm\" viewBox=\"0 0 100 100\"\n",
|
||
" stroke=\"none\"\n",
|
||
" fill=\"#000000\"\n",
|
||
" stroke-width=\"0.3\"\n",
|
||
" font-size=\"3.88\"\n",
|
||
"\n",
|
||
" id=\"img-9c166513\">\n",
|
||
"<g class=\"plotroot xscalable yscalable\" id=\"img-9c166513-1\">\n",
|
||
" <g font-size=\"3.88\" font-family=\"'PT Sans','Helvetica Neue','Helvetica',sans-serif\" fill=\"#564A55\" stroke=\"#000000\" stroke-opacity=\"0.000\" id=\"img-9c166513-2\">\n",
|
||
" <text x=\"56.47\" y=\"88.39\" text-anchor=\"middle\" dy=\"0.6em\">x</text>\n",
|
||
" </g>\n",
|
||
" <g class=\"guide xlabels\" font-size=\"2.82\" font-family=\"'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif\" fill=\"#6C606B\" id=\"img-9c166513-3\">\n",
|
||
" <text x=\"-77.48\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"1.0\" visibility=\"hidden\">-2.5</text>\n",
|
||
" <text x=\"-53.12\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"1.0\" visibility=\"hidden\">-2.0</text>\n",
|
||
" <text x=\"-28.77\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"1.0\" visibility=\"hidden\">-1.5</text>\n",
|
||
" <text x=\"-4.41\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"1.0\" visibility=\"hidden\">-1.0</text>\n",
|
||
" <text x=\"19.94\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"1.0\" visibility=\"visible\">-0.5</text>\n",
|
||
" <text x=\"44.29\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"1.0\" visibility=\"visible\">0.0</text>\n",
|
||
" <text x=\"68.65\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"1.0\" visibility=\"visible\">0.5</text>\n",
|
||
" <text x=\"93\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"1.0\" visibility=\"visible\">1.0</text>\n",
|
||
" <text x=\"117.35\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"1.0\" visibility=\"hidden\">1.5</text>\n",
|
||
" <text x=\"141.71\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"1.0\" visibility=\"hidden\">2.0</text>\n",
|
||
" <text x=\"166.06\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"1.0\" visibility=\"hidden\">2.5</text>\n",
|
||
" <text x=\"190.41\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"1.0\" visibility=\"hidden\">3.0</text>\n",
|
||
" <text x=\"-53.12\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-2.00</text>\n",
|
||
" <text x=\"-50.69\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.95</text>\n",
|
||
" <text x=\"-48.25\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.90</text>\n",
|
||
" <text x=\"-45.82\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.85</text>\n",
|
||
" <text x=\"-43.38\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.80</text>\n",
|
||
" <text x=\"-40.94\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.75</text>\n",
|
||
" <text x=\"-38.51\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.70</text>\n",
|
||
" <text x=\"-36.07\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.65</text>\n",
|
||
" <text x=\"-33.64\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.60</text>\n",
|
||
" <text x=\"-31.2\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.55</text>\n",
|
||
" <text x=\"-28.77\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.50</text>\n",
|
||
" <text x=\"-26.33\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.45</text>\n",
|
||
" <text x=\"-23.9\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.40</text>\n",
|
||
" <text x=\"-21.46\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.35</text>\n",
|
||
" <text x=\"-19.03\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.30</text>\n",
|
||
" <text x=\"-16.59\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.25</text>\n",
|
||
" <text x=\"-14.16\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.20</text>\n",
|
||
" <text x=\"-11.72\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.15</text>\n",
|
||
" <text x=\"-9.29\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.10</text>\n",
|
||
" <text x=\"-6.85\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.05</text>\n",
|
||
" <text x=\"-4.41\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.00</text>\n",
|
||
" <text x=\"-1.98\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.95</text>\n",
|
||
" <text x=\"0.46\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.90</text>\n",
|
||
" <text x=\"2.89\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.85</text>\n",
|
||
" <text x=\"5.33\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.80</text>\n",
|
||
" <text x=\"7.76\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.75</text>\n",
|
||
" <text x=\"10.2\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.70</text>\n",
|
||
" <text x=\"12.63\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.65</text>\n",
|
||
" <text x=\"15.07\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.60</text>\n",
|
||
" <text x=\"17.5\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.55</text>\n",
|
||
" <text x=\"19.94\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.50</text>\n",
|
||
" <text x=\"22.37\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.45</text>\n",
|
||
" <text x=\"24.81\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.40</text>\n",
|
||
" <text x=\"27.25\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.35</text>\n",
|
||
" <text x=\"29.68\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.30</text>\n",
|
||
" <text x=\"32.12\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.25</text>\n",
|
||
" <text x=\"34.55\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.20</text>\n",
|
||
" <text x=\"36.99\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.15</text>\n",
|
||
" <text x=\"39.42\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.10</text>\n",
|
||
" <text x=\"41.86\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.05</text>\n",
|
||
" <text x=\"44.29\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.00</text>\n",
|
||
" <text x=\"46.73\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.05</text>\n",
|
||
" <text x=\"49.16\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.10</text>\n",
|
||
" <text x=\"51.6\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.15</text>\n",
|
||
" <text x=\"54.03\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.20</text>\n",
|
||
" <text x=\"56.47\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.25</text>\n",
|
||
" <text x=\"58.9\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.30</text>\n",
|
||
" <text x=\"61.34\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.35</text>\n",
|
||
" <text x=\"63.78\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.40</text>\n",
|
||
" <text x=\"66.21\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.45</text>\n",
|
||
" <text x=\"68.65\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.50</text>\n",
|
||
" <text x=\"71.08\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.55</text>\n",
|
||
" <text x=\"73.52\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.60</text>\n",
|
||
" <text x=\"75.95\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.65</text>\n",
|
||
" <text x=\"78.39\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.70</text>\n",
|
||
" <text x=\"80.82\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.75</text>\n",
|
||
" <text x=\"83.26\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.80</text>\n",
|
||
" <text x=\"85.69\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.85</text>\n",
|
||
" <text x=\"88.13\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.90</text>\n",
|
||
" <text x=\"90.56\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.95</text>\n",
|
||
" <text x=\"93\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.00</text>\n",
|
||
" <text x=\"95.44\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.05</text>\n",
|
||
" <text x=\"97.87\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.10</text>\n",
|
||
" <text x=\"100.31\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.15</text>\n",
|
||
" <text x=\"102.74\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.20</text>\n",
|
||
" <text x=\"105.18\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.25</text>\n",
|
||
" <text x=\"107.61\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.30</text>\n",
|
||
" <text x=\"110.05\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.35</text>\n",
|
||
" <text x=\"112.48\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.40</text>\n",
|
||
" <text x=\"114.92\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.45</text>\n",
|
||
" <text x=\"117.35\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.50</text>\n",
|
||
" <text x=\"119.79\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.55</text>\n",
|
||
" <text x=\"122.22\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.60</text>\n",
|
||
" <text x=\"124.66\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.65</text>\n",
|
||
" <text x=\"127.1\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.70</text>\n",
|
||
" <text x=\"129.53\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.75</text>\n",
|
||
" <text x=\"131.97\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.80</text>\n",
|
||
" <text x=\"134.4\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.85</text>\n",
|
||
" <text x=\"136.84\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.90</text>\n",
|
||
" <text x=\"139.27\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.95</text>\n",
|
||
" <text x=\"141.71\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.00</text>\n",
|
||
" <text x=\"144.14\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.05</text>\n",
|
||
" <text x=\"146.58\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.10</text>\n",
|
||
" <text x=\"149.01\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.15</text>\n",
|
||
" <text x=\"151.45\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.20</text>\n",
|
||
" <text x=\"153.88\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.25</text>\n",
|
||
" <text x=\"156.32\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.30</text>\n",
|
||
" <text x=\"158.75\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.35</text>\n",
|
||
" <text x=\"161.19\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.40</text>\n",
|
||
" <text x=\"163.63\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.45</text>\n",
|
||
" <text x=\"166.06\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.50</text>\n",
|
||
" <text x=\"-53.12\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"0.5\" visibility=\"hidden\">-2</text>\n",
|
||
" <text x=\"44.29\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"0.5\" visibility=\"hidden\">0</text>\n",
|
||
" <text x=\"141.71\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"0.5\" visibility=\"hidden\">2</text>\n",
|
||
" <text x=\"239.12\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"0.5\" visibility=\"hidden\">4</text>\n",
|
||
" <text x=\"-53.12\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-2.0</text>\n",
|
||
" <text x=\"-48.25\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.9</text>\n",
|
||
" <text x=\"-43.38\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.8</text>\n",
|
||
" <text x=\"-38.51\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.7</text>\n",
|
||
" <text x=\"-33.64\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.6</text>\n",
|
||
" <text x=\"-28.77\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.5</text>\n",
|
||
" <text x=\"-23.9\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.4</text>\n",
|
||
" <text x=\"-19.03\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.3</text>\n",
|
||
" <text x=\"-14.16\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.2</text>\n",
|
||
" <text x=\"-9.29\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.1</text>\n",
|
||
" <text x=\"-4.41\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.0</text>\n",
|
||
" <text x=\"0.46\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-0.9</text>\n",
|
||
" <text x=\"5.33\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-0.8</text>\n",
|
||
" <text x=\"10.2\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-0.7</text>\n",
|
||
" <text x=\"15.07\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-0.6</text>\n",
|
||
" <text x=\"19.94\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-0.5</text>\n",
|
||
" <text x=\"24.81\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-0.4</text>\n",
|
||
" <text x=\"29.68\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-0.3</text>\n",
|
||
" <text x=\"34.55\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-0.2</text>\n",
|
||
" <text x=\"39.42\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">-0.1</text>\n",
|
||
" <text x=\"44.29\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.0</text>\n",
|
||
" <text x=\"49.16\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.1</text>\n",
|
||
" <text x=\"54.03\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.2</text>\n",
|
||
" <text x=\"58.9\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.3</text>\n",
|
||
" <text x=\"63.78\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.4</text>\n",
|
||
" <text x=\"68.65\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.5</text>\n",
|
||
" <text x=\"73.52\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.6</text>\n",
|
||
" <text x=\"78.39\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.7</text>\n",
|
||
" <text x=\"83.26\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.8</text>\n",
|
||
" <text x=\"88.13\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.9</text>\n",
|
||
" <text x=\"93\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.0</text>\n",
|
||
" <text x=\"97.87\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.1</text>\n",
|
||
" <text x=\"102.74\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.2</text>\n",
|
||
" <text x=\"107.61\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.3</text>\n",
|
||
" <text x=\"112.48\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.4</text>\n",
|
||
" <text x=\"117.35\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.5</text>\n",
|
||
" <text x=\"122.22\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.6</text>\n",
|
||
" <text x=\"127.1\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.7</text>\n",
|
||
" <text x=\"131.97\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.8</text>\n",
|
||
" <text x=\"136.84\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.9</text>\n",
|
||
" <text x=\"141.71\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">2.0</text>\n",
|
||
" <text x=\"146.58\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">2.1</text>\n",
|
||
" <text x=\"151.45\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">2.2</text>\n",
|
||
" <text x=\"156.32\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">2.3</text>\n",
|
||
" <text x=\"161.19\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">2.4</text>\n",
|
||
" <text x=\"166.06\" y=\"84.39\" text-anchor=\"middle\" gadfly:scale=\"5.0\" visibility=\"hidden\">2.5</text>\n",
|
||
" </g>\n",
|
||
"<g clip-path=\"url(#img-9c166513-4)\">\n",
|
||
" <g id=\"img-9c166513-5\">\n",
|
||
" <g pointer-events=\"visible\" opacity=\"1\" fill=\"#000000\" fill-opacity=\"0.000\" stroke=\"#000000\" stroke-opacity=\"0.000\" class=\"guide background\" id=\"img-9c166513-6\">\n",
|
||
" <rect x=\"17.94\" y=\"5\" width=\"77.06\" height=\"75.72\"/>\n",
|
||
" </g>\n",
|
||
" <g class=\"guide ygridlines xfixed\" stroke-dasharray=\"0.5,0.5\" stroke-width=\"0.2\" stroke=\"#D0D0E0\" id=\"img-9c166513-7\">\n",
|
||
" <path fill=\"none\" d=\"M17.94,174.33 L 95 174.33\" gadfly:scale=\"1.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,150.43 L 95 150.43\" gadfly:scale=\"1.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,126.52 L 95 126.52\" gadfly:scale=\"1.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,102.62 L 95 102.62\" gadfly:scale=\"1.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,78.71 L 95 78.71\" gadfly:scale=\"1.0\" visibility=\"visible\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,54.81 L 95 54.81\" gadfly:scale=\"1.0\" visibility=\"visible\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,30.9 L 95 30.9\" gadfly:scale=\"1.0\" visibility=\"visible\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,7 L 95 7\" gadfly:scale=\"1.0\" visibility=\"visible\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-16.91 L 95 -16.91\" gadfly:scale=\"1.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-40.81 L 95 -40.81\" gadfly:scale=\"1.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-64.71 L 95 -64.71\" gadfly:scale=\"1.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-88.62 L 95 -88.62\" gadfly:scale=\"1.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,150.43 L 95 150.43\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,148.04 L 95 148.04\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,145.65 L 95 145.65\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,143.26 L 95 143.26\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,140.87 L 95 140.87\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,138.48 L 95 138.48\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,136.09 L 95 136.09\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,133.7 L 95 133.7\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,131.31 L 95 131.31\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,128.92 L 95 128.92\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,126.52 L 95 126.52\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,124.13 L 95 124.13\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,121.74 L 95 121.74\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,119.35 L 95 119.35\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,116.96 L 95 116.96\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,114.57 L 95 114.57\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,112.18 L 95 112.18\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,109.79 L 95 109.79\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,107.4 L 95 107.4\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,105.01 L 95 105.01\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,102.62 L 95 102.62\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,100.23 L 95 100.23\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,97.84 L 95 97.84\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,95.45 L 95 95.45\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,93.06 L 95 93.06\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,90.67 L 95 90.67\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,88.28 L 95 88.28\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,85.89 L 95 85.89\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,83.5 L 95 83.5\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,81.11 L 95 81.11\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,78.71 L 95 78.71\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,76.32 L 95 76.32\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,73.93 L 95 73.93\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,71.54 L 95 71.54\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,69.15 L 95 69.15\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,66.76 L 95 66.76\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,64.37 L 95 64.37\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,61.98 L 95 61.98\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,59.59 L 95 59.59\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,57.2 L 95 57.2\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,54.81 L 95 54.81\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,52.42 L 95 52.42\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,50.03 L 95 50.03\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,47.64 L 95 47.64\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,45.25 L 95 45.25\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,42.86 L 95 42.86\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,40.47 L 95 40.47\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,38.08 L 95 38.08\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,35.69 L 95 35.69\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,33.3 L 95 33.3\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,30.9 L 95 30.9\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,28.51 L 95 28.51\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,26.12 L 95 26.12\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,23.73 L 95 23.73\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,21.34 L 95 21.34\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,18.95 L 95 18.95\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,16.56 L 95 16.56\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,14.17 L 95 14.17\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,11.78 L 95 11.78\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,9.39 L 95 9.39\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,7 L 95 7\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,4.61 L 95 4.61\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,2.22 L 95 2.22\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-0.17 L 95 -0.17\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-2.56 L 95 -2.56\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-4.95 L 95 -4.95\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-7.34 L 95 -7.34\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-9.73 L 95 -9.73\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-12.12 L 95 -12.12\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-14.51 L 95 -14.51\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-16.91 L 95 -16.91\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-19.3 L 95 -19.3\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-21.69 L 95 -21.69\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-24.08 L 95 -24.08\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-26.47 L 95 -26.47\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-28.86 L 95 -28.86\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-31.25 L 95 -31.25\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-33.64 L 95 -33.64\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-36.03 L 95 -36.03\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-38.42 L 95 -38.42\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-40.81 L 95 -40.81\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-43.2 L 95 -43.2\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-45.59 L 95 -45.59\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-47.98 L 95 -47.98\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-50.37 L 95 -50.37\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-52.76 L 95 -52.76\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-55.15 L 95 -55.15\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-57.54 L 95 -57.54\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-59.93 L 95 -59.93\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-62.32 L 95 -62.32\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-64.71 L 95 -64.71\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,150.43 L 95 150.43\" gadfly:scale=\"0.5\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,54.81 L 95 54.81\" gadfly:scale=\"0.5\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-40.81 L 95 -40.81\" gadfly:scale=\"0.5\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-136.43 L 95 -136.43\" gadfly:scale=\"0.5\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,150.43 L 95 150.43\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,145.65 L 95 145.65\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,140.87 L 95 140.87\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,136.09 L 95 136.09\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,131.31 L 95 131.31\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,126.52 L 95 126.52\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,121.74 L 95 121.74\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,116.96 L 95 116.96\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,112.18 L 95 112.18\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,107.4 L 95 107.4\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,102.62 L 95 102.62\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,97.84 L 95 97.84\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,93.06 L 95 93.06\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,88.28 L 95 88.28\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,83.5 L 95 83.5\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,78.71 L 95 78.71\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,73.93 L 95 73.93\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,69.15 L 95 69.15\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,64.37 L 95 64.37\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,59.59 L 95 59.59\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,54.81 L 95 54.81\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,50.03 L 95 50.03\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,45.25 L 95 45.25\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,40.47 L 95 40.47\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,35.69 L 95 35.69\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,30.9 L 95 30.9\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,26.12 L 95 26.12\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,21.34 L 95 21.34\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,16.56 L 95 16.56\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,11.78 L 95 11.78\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,7 L 95 7\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,2.22 L 95 2.22\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-2.56 L 95 -2.56\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-7.34 L 95 -7.34\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-12.12 L 95 -12.12\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-16.91 L 95 -16.91\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-21.69 L 95 -21.69\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-26.47 L 95 -26.47\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-31.25 L 95 -31.25\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-36.03 L 95 -36.03\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-40.81 L 95 -40.81\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-45.59 L 95 -45.59\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-50.37 L 95 -50.37\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-55.15 L 95 -55.15\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-59.93 L 95 -59.93\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.94,-64.71 L 95 -64.71\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" </g>\n",
|
||
" <g class=\"guide xgridlines yfixed\" stroke-dasharray=\"0.5,0.5\" stroke-width=\"0.2\" stroke=\"#D0D0E0\" id=\"img-9c166513-8\">\n",
|
||
" <path fill=\"none\" d=\"M-77.48,5 L -77.48 80.72\" gadfly:scale=\"1.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-53.12,5 L -53.12 80.72\" gadfly:scale=\"1.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-28.77,5 L -28.77 80.72\" gadfly:scale=\"1.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-4.41,5 L -4.41 80.72\" gadfly:scale=\"1.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M19.94,5 L 19.94 80.72\" gadfly:scale=\"1.0\" visibility=\"visible\"/>\n",
|
||
" <path fill=\"none\" d=\"M44.29,5 L 44.29 80.72\" gadfly:scale=\"1.0\" visibility=\"visible\"/>\n",
|
||
" <path fill=\"none\" d=\"M68.65,5 L 68.65 80.72\" gadfly:scale=\"1.0\" visibility=\"visible\"/>\n",
|
||
" <path fill=\"none\" d=\"M93,5 L 93 80.72\" gadfly:scale=\"1.0\" visibility=\"visible\"/>\n",
|
||
" <path fill=\"none\" d=\"M117.35,5 L 117.35 80.72\" gadfly:scale=\"1.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M141.71,5 L 141.71 80.72\" gadfly:scale=\"1.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M166.06,5 L 166.06 80.72\" gadfly:scale=\"1.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M190.41,5 L 190.41 80.72\" gadfly:scale=\"1.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-53.12,5 L -53.12 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-50.69,5 L -50.69 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-48.25,5 L -48.25 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-45.82,5 L -45.82 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-43.38,5 L -43.38 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-40.94,5 L -40.94 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-38.51,5 L -38.51 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-36.07,5 L -36.07 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-33.64,5 L -33.64 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-31.2,5 L -31.2 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-28.77,5 L -28.77 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-26.33,5 L -26.33 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-23.9,5 L -23.9 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-21.46,5 L -21.46 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-19.03,5 L -19.03 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-16.59,5 L -16.59 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-14.16,5 L -14.16 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-11.72,5 L -11.72 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-9.29,5 L -9.29 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-6.85,5 L -6.85 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-4.41,5 L -4.41 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-1.98,5 L -1.98 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M0.46,5 L 0.46 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M2.89,5 L 2.89 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M5.33,5 L 5.33 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M7.76,5 L 7.76 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M10.2,5 L 10.2 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M12.63,5 L 12.63 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M15.07,5 L 15.07 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M17.5,5 L 17.5 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M19.94,5 L 19.94 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M22.37,5 L 22.37 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M24.81,5 L 24.81 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M27.25,5 L 27.25 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M29.68,5 L 29.68 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M32.12,5 L 32.12 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M34.55,5 L 34.55 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M36.99,5 L 36.99 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M39.42,5 L 39.42 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M41.86,5 L 41.86 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M44.29,5 L 44.29 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M46.73,5 L 46.73 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M49.16,5 L 49.16 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M51.6,5 L 51.6 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M54.03,5 L 54.03 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M56.47,5 L 56.47 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M58.9,5 L 58.9 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M61.34,5 L 61.34 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M63.78,5 L 63.78 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M66.21,5 L 66.21 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M68.65,5 L 68.65 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M71.08,5 L 71.08 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M73.52,5 L 73.52 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M75.95,5 L 75.95 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M78.39,5 L 78.39 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M80.82,5 L 80.82 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M83.26,5 L 83.26 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M85.69,5 L 85.69 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M88.13,5 L 88.13 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M90.56,5 L 90.56 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M93,5 L 93 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M95.44,5 L 95.44 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M97.87,5 L 97.87 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M100.31,5 L 100.31 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M102.74,5 L 102.74 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M105.18,5 L 105.18 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M107.61,5 L 107.61 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M110.05,5 L 110.05 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M112.48,5 L 112.48 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M114.92,5 L 114.92 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M117.35,5 L 117.35 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M119.79,5 L 119.79 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M122.22,5 L 122.22 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M124.66,5 L 124.66 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M127.1,5 L 127.1 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M129.53,5 L 129.53 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M131.97,5 L 131.97 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M134.4,5 L 134.4 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M136.84,5 L 136.84 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M139.27,5 L 139.27 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M141.71,5 L 141.71 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M144.14,5 L 144.14 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M146.58,5 L 146.58 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M149.01,5 L 149.01 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M151.45,5 L 151.45 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M153.88,5 L 153.88 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M156.32,5 L 156.32 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M158.75,5 L 158.75 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M161.19,5 L 161.19 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M163.63,5 L 163.63 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M166.06,5 L 166.06 80.72\" gadfly:scale=\"10.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-53.12,5 L -53.12 80.72\" gadfly:scale=\"0.5\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M44.29,5 L 44.29 80.72\" gadfly:scale=\"0.5\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M141.71,5 L 141.71 80.72\" gadfly:scale=\"0.5\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M239.12,5 L 239.12 80.72\" gadfly:scale=\"0.5\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-53.12,5 L -53.12 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-48.25,5 L -48.25 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-43.38,5 L -43.38 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-38.51,5 L -38.51 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-33.64,5 L -33.64 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-28.77,5 L -28.77 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-23.9,5 L -23.9 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-19.03,5 L -19.03 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-14.16,5 L -14.16 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-9.29,5 L -9.29 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M-4.41,5 L -4.41 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M0.46,5 L 0.46 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M5.33,5 L 5.33 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M10.2,5 L 10.2 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M15.07,5 L 15.07 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M19.94,5 L 19.94 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M24.81,5 L 24.81 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M29.68,5 L 29.68 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M34.55,5 L 34.55 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M39.42,5 L 39.42 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M44.29,5 L 44.29 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M49.16,5 L 49.16 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M54.03,5 L 54.03 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M58.9,5 L 58.9 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M63.78,5 L 63.78 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M68.65,5 L 68.65 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M73.52,5 L 73.52 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M78.39,5 L 78.39 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M83.26,5 L 83.26 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M88.13,5 L 88.13 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M93,5 L 93 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M97.87,5 L 97.87 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M102.74,5 L 102.74 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M107.61,5 L 107.61 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M112.48,5 L 112.48 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M117.35,5 L 117.35 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M122.22,5 L 122.22 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M127.1,5 L 127.1 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M131.97,5 L 131.97 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M136.84,5 L 136.84 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M141.71,5 L 141.71 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M146.58,5 L 146.58 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M151.45,5 L 151.45 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M156.32,5 L 156.32 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M161.19,5 L 161.19 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" <path fill=\"none\" d=\"M166.06,5 L 166.06 80.72\" gadfly:scale=\"5.0\" visibility=\"hidden\"/>\n",
|
||
" </g>\n",
|
||
" <g class=\"plotpanel\" id=\"img-9c166513-9\">\n",
|
||
" <g stroke-width=\"0.3\" fill=\"#000000\" fill-opacity=\"0.000\" class=\"geometry\" stroke-dasharray=\"none\" stroke=\"#FF0000\" id=\"img-9c166513-10\">\n",
|
||
" <path fill=\"none\" d=\"M28.79,29.87 L 41.86 36.28\"/>\n",
|
||
" </g>\n",
|
||
" <g class=\"geometry\" stroke=\"#000000\" stroke-opacity=\"0.000\" fill=\"#4C404B\" font-size=\"2.82\" font-family=\"'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif\" id=\"img-9c166513-11\">\n",
|
||
" <text x=\"42.37\" y=\"38.62\" text-anchor=\"middle\" dy=\"0.35em\" visibility=\"visible\"></text>\n",
|
||
" <text x=\"30.07\" y=\"32.21\" text-anchor=\"middle\" dy=\"0.35em\" visibility=\"visible\">n</text>\n",
|
||
" </g>\n",
|
||
" <g stroke-width=\"0.3\" fill=\"#000000\" fill-opacity=\"0.000\" class=\"geometry\" stroke-dasharray=\"none\" stroke=\"#FF0000\" id=\"img-9c166513-12\">\n",
|
||
" <path fill=\"none\" d=\"M41.86,36.28 L 48.39 23.45\"/>\n",
|
||
" </g>\n",
|
||
" <g class=\"geometry\" stroke=\"#000000\" stroke-opacity=\"0.000\" fill=\"#4C404B\" font-size=\"2.82\" font-family=\"'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif\" id=\"img-9c166513-13\">\n",
|
||
" <text x=\"42.86\" y=\"38.62\" text-anchor=\"middle\" dy=\"0.35em\" visibility=\"visible\"></text>\n",
|
||
" <text x=\"49.96\" y=\"25.79\" text-anchor=\"middle\" dy=\"0.35em\" visibility=\"visible\">t</text>\n",
|
||
" </g>\n",
|
||
" <g class=\"geometry\" stroke=\"#000000\" stroke-opacity=\"0.000\" fill=\"#4C404B\" font-size=\"2.82\" font-family=\"'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif\" id=\"img-9c166513-14\">\n",
|
||
" <text x=\"36.39\" y=\"59.52\" text-anchor=\"middle\" dy=\"0.35em\" visibility=\"visible\">1</text>\n",
|
||
" <text x=\"94.84\" y=\"17.42\" text-anchor=\"middle\" dy=\"0.35em\" visibility=\"visible\">2</text>\n",
|
||
" <text x=\"52.2\" y=\"21.52\" text-anchor=\"middle\" dy=\"0.35em\" visibility=\"visible\">3</text>\n",
|
||
" </g>\n",
|
||
" <g class=\"geometry\" id=\"img-9c166513-15\">\n",
|
||
" <g class=\"color_RGBA{Float32}(0.0f0,0.74736935f0,1.0f0,1.0f0)\" stroke=\"#FFFFFF\" stroke-width=\"0.3\" fill=\"#00BFFF\" id=\"img-9c166513-16\">\n",
|
||
" <use xlink:href=\"#img-9c166513-17\" x=\"34.55\" y=\"59.59\"/>\n",
|
||
" <use xlink:href=\"#img-9c166513-17\" x=\"93\" y=\"16.56\"/>\n",
|
||
" <use xlink:href=\"#img-9c166513-17\" x=\"54.03\" y=\"21.34\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g stroke-width=\"0.3\" fill=\"#000000\" fill-opacity=\"0.000\" class=\"geometry\" stroke-dasharray=\"none\" stroke=\"#00BFFF\" id=\"img-9c166513-18\">\n",
|
||
" <path fill=\"none\" d=\"M34.55,59.59 L 34.97 57.37 35.41 55.21 35.89 53.11 36.4 51.06 36.95 49.07 37.52 47.13 38.13 45.25 38.77 43.42 39.44 41.65 40.15 39.94 40.89 38.28 41.66 36.68 42.46 35.13 43.3 33.64 44.17 32.2 45.07 30.82 46 29.5 46.97 28.23 47.96 27.02 49 25.86 50.06 24.76 51.15 23.71 52.28 22.72 53.44 21.79 54.63 20.91 55.86 20.09 57.12 19.32 58.41 18.61 59.73 17.96 61.09 17.36 62.47 16.81 63.89 16.33 65.35 15.89 66.83 15.52 68.35 15.2 69.9 14.93 71.48 14.72 73.1 14.57 74.74 14.47 76.42 14.43 78.13 14.44 79.88 14.51 81.66 14.64 83.47 14.82 85.31 15.06 87.18 15.35 89.09 15.7 91.03 16.1 93 16.56\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g opacity=\"0\" class=\"guide zoomslider\" stroke=\"#000000\" stroke-opacity=\"0.000\" id=\"img-9c166513-19\">\n",
|
||
" <g fill=\"#EAEAEA\" stroke-width=\"0.3\" stroke-opacity=\"0\" stroke=\"#6A6A6A\" id=\"img-9c166513-20\">\n",
|
||
" <rect x=\"88\" y=\"8\" width=\"4\" height=\"4\"/>\n",
|
||
" <g class=\"button_logo\" fill=\"#6A6A6A\" id=\"img-9c166513-21\">\n",
|
||
" <path d=\"M88.8,9.6 L 89.6 9.6 89.6 8.8 90.4 8.8 90.4 9.6 91.2 9.6 91.2 10.4 90.4 10.4 90.4 11.2 89.6 11.2 89.6 10.4 88.8 10.4 z\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g fill=\"#EAEAEA\" id=\"img-9c166513-22\">\n",
|
||
" <rect x=\"68.5\" y=\"8\" width=\"19\" height=\"4\"/>\n",
|
||
" </g>\n",
|
||
" <g class=\"zoomslider_thumb\" fill=\"#6A6A6A\" id=\"img-9c166513-23\">\n",
|
||
" <rect x=\"77\" y=\"8\" width=\"2\" height=\"4\"/>\n",
|
||
" </g>\n",
|
||
" <g fill=\"#EAEAEA\" stroke-width=\"0.3\" stroke-opacity=\"0\" stroke=\"#6A6A6A\" id=\"img-9c166513-24\">\n",
|
||
" <rect x=\"64\" y=\"8\" width=\"4\" height=\"4\"/>\n",
|
||
" <g class=\"button_logo\" fill=\"#6A6A6A\" id=\"img-9c166513-25\">\n",
|
||
" <path d=\"M64.8,9.6 L 67.2 9.6 67.2 10.4 64.8 10.4 z\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
"</g>\n",
|
||
" <g class=\"guide ylabels\" font-size=\"2.82\" font-family=\"'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif\" fill=\"#6C606B\" id=\"img-9c166513-26\">\n",
|
||
" <text x=\"16.94\" y=\"174.33\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"1.0\" visibility=\"hidden\">-2.5</text>\n",
|
||
" <text x=\"16.94\" y=\"150.43\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"1.0\" visibility=\"hidden\">-2.0</text>\n",
|
||
" <text x=\"16.94\" y=\"126.52\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"1.0\" visibility=\"hidden\">-1.5</text>\n",
|
||
" <text x=\"16.94\" y=\"102.62\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"1.0\" visibility=\"hidden\">-1.0</text>\n",
|
||
" <text x=\"16.94\" y=\"78.71\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"1.0\" visibility=\"visible\">-0.5</text>\n",
|
||
" <text x=\"16.94\" y=\"54.81\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"1.0\" visibility=\"visible\">0.0</text>\n",
|
||
" <text x=\"16.94\" y=\"30.9\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"1.0\" visibility=\"visible\">0.5</text>\n",
|
||
" <text x=\"16.94\" y=\"7\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"1.0\" visibility=\"visible\">1.0</text>\n",
|
||
" <text x=\"16.94\" y=\"-16.91\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"1.0\" visibility=\"hidden\">1.5</text>\n",
|
||
" <text x=\"16.94\" y=\"-40.81\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"1.0\" visibility=\"hidden\">2.0</text>\n",
|
||
" <text x=\"16.94\" y=\"-64.71\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"1.0\" visibility=\"hidden\">2.5</text>\n",
|
||
" <text x=\"16.94\" y=\"-88.62\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"1.0\" visibility=\"hidden\">3.0</text>\n",
|
||
" <text x=\"16.94\" y=\"150.43\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-2.00</text>\n",
|
||
" <text x=\"16.94\" y=\"148.04\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.95</text>\n",
|
||
" <text x=\"16.94\" y=\"145.65\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.90</text>\n",
|
||
" <text x=\"16.94\" y=\"143.26\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.85</text>\n",
|
||
" <text x=\"16.94\" y=\"140.87\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.80</text>\n",
|
||
" <text x=\"16.94\" y=\"138.48\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.75</text>\n",
|
||
" <text x=\"16.94\" y=\"136.09\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.70</text>\n",
|
||
" <text x=\"16.94\" y=\"133.7\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.65</text>\n",
|
||
" <text x=\"16.94\" y=\"131.31\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.60</text>\n",
|
||
" <text x=\"16.94\" y=\"128.92\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.55</text>\n",
|
||
" <text x=\"16.94\" y=\"126.52\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.50</text>\n",
|
||
" <text x=\"16.94\" y=\"124.13\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.45</text>\n",
|
||
" <text x=\"16.94\" y=\"121.74\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.40</text>\n",
|
||
" <text x=\"16.94\" y=\"119.35\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.35</text>\n",
|
||
" <text x=\"16.94\" y=\"116.96\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.30</text>\n",
|
||
" <text x=\"16.94\" y=\"114.57\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.25</text>\n",
|
||
" <text x=\"16.94\" y=\"112.18\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.20</text>\n",
|
||
" <text x=\"16.94\" y=\"109.79\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.15</text>\n",
|
||
" <text x=\"16.94\" y=\"107.4\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.10</text>\n",
|
||
" <text x=\"16.94\" y=\"105.01\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.05</text>\n",
|
||
" <text x=\"16.94\" y=\"102.62\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-1.00</text>\n",
|
||
" <text x=\"16.94\" y=\"100.23\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.95</text>\n",
|
||
" <text x=\"16.94\" y=\"97.84\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.90</text>\n",
|
||
" <text x=\"16.94\" y=\"95.45\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.85</text>\n",
|
||
" <text x=\"16.94\" y=\"93.06\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.80</text>\n",
|
||
" <text x=\"16.94\" y=\"90.67\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.75</text>\n",
|
||
" <text x=\"16.94\" y=\"88.28\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.70</text>\n",
|
||
" <text x=\"16.94\" y=\"85.89\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.65</text>\n",
|
||
" <text x=\"16.94\" y=\"83.5\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.60</text>\n",
|
||
" <text x=\"16.94\" y=\"81.11\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.55</text>\n",
|
||
" <text x=\"16.94\" y=\"78.71\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.50</text>\n",
|
||
" <text x=\"16.94\" y=\"76.32\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.45</text>\n",
|
||
" <text x=\"16.94\" y=\"73.93\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.40</text>\n",
|
||
" <text x=\"16.94\" y=\"71.54\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.35</text>\n",
|
||
" <text x=\"16.94\" y=\"69.15\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.30</text>\n",
|
||
" <text x=\"16.94\" y=\"66.76\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.25</text>\n",
|
||
" <text x=\"16.94\" y=\"64.37\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.20</text>\n",
|
||
" <text x=\"16.94\" y=\"61.98\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.15</text>\n",
|
||
" <text x=\"16.94\" y=\"59.59\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.10</text>\n",
|
||
" <text x=\"16.94\" y=\"57.2\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">-0.05</text>\n",
|
||
" <text x=\"16.94\" y=\"54.81\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.00</text>\n",
|
||
" <text x=\"16.94\" y=\"52.42\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.05</text>\n",
|
||
" <text x=\"16.94\" y=\"50.03\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.10</text>\n",
|
||
" <text x=\"16.94\" y=\"47.64\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.15</text>\n",
|
||
" <text x=\"16.94\" y=\"45.25\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.20</text>\n",
|
||
" <text x=\"16.94\" y=\"42.86\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.25</text>\n",
|
||
" <text x=\"16.94\" y=\"40.47\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.30</text>\n",
|
||
" <text x=\"16.94\" y=\"38.08\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.35</text>\n",
|
||
" <text x=\"16.94\" y=\"35.69\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.40</text>\n",
|
||
" <text x=\"16.94\" y=\"33.3\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.45</text>\n",
|
||
" <text x=\"16.94\" y=\"30.9\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.50</text>\n",
|
||
" <text x=\"16.94\" y=\"28.51\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.55</text>\n",
|
||
" <text x=\"16.94\" y=\"26.12\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.60</text>\n",
|
||
" <text x=\"16.94\" y=\"23.73\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.65</text>\n",
|
||
" <text x=\"16.94\" y=\"21.34\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.70</text>\n",
|
||
" <text x=\"16.94\" y=\"18.95\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.75</text>\n",
|
||
" <text x=\"16.94\" y=\"16.56\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.80</text>\n",
|
||
" <text x=\"16.94\" y=\"14.17\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.85</text>\n",
|
||
" <text x=\"16.94\" y=\"11.78\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.90</text>\n",
|
||
" <text x=\"16.94\" y=\"9.39\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">0.95</text>\n",
|
||
" <text x=\"16.94\" y=\"7\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.00</text>\n",
|
||
" <text x=\"16.94\" y=\"4.61\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.05</text>\n",
|
||
" <text x=\"16.94\" y=\"2.22\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.10</text>\n",
|
||
" <text x=\"16.94\" y=\"-0.17\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.15</text>\n",
|
||
" <text x=\"16.94\" y=\"-2.56\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.20</text>\n",
|
||
" <text x=\"16.94\" y=\"-4.95\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.25</text>\n",
|
||
" <text x=\"16.94\" y=\"-7.34\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.30</text>\n",
|
||
" <text x=\"16.94\" y=\"-9.73\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.35</text>\n",
|
||
" <text x=\"16.94\" y=\"-12.12\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.40</text>\n",
|
||
" <text x=\"16.94\" y=\"-14.51\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.45</text>\n",
|
||
" <text x=\"16.94\" y=\"-16.91\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.50</text>\n",
|
||
" <text x=\"16.94\" y=\"-19.3\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.55</text>\n",
|
||
" <text x=\"16.94\" y=\"-21.69\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.60</text>\n",
|
||
" <text x=\"16.94\" y=\"-24.08\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.65</text>\n",
|
||
" <text x=\"16.94\" y=\"-26.47\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.70</text>\n",
|
||
" <text x=\"16.94\" y=\"-28.86\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.75</text>\n",
|
||
" <text x=\"16.94\" y=\"-31.25\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.80</text>\n",
|
||
" <text x=\"16.94\" y=\"-33.64\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.85</text>\n",
|
||
" <text x=\"16.94\" y=\"-36.03\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.90</text>\n",
|
||
" <text x=\"16.94\" y=\"-38.42\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">1.95</text>\n",
|
||
" <text x=\"16.94\" y=\"-40.81\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.00</text>\n",
|
||
" <text x=\"16.94\" y=\"-43.2\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.05</text>\n",
|
||
" <text x=\"16.94\" y=\"-45.59\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.10</text>\n",
|
||
" <text x=\"16.94\" y=\"-47.98\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.15</text>\n",
|
||
" <text x=\"16.94\" y=\"-50.37\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.20</text>\n",
|
||
" <text x=\"16.94\" y=\"-52.76\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.25</text>\n",
|
||
" <text x=\"16.94\" y=\"-55.15\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.30</text>\n",
|
||
" <text x=\"16.94\" y=\"-57.54\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.35</text>\n",
|
||
" <text x=\"16.94\" y=\"-59.93\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.40</text>\n",
|
||
" <text x=\"16.94\" y=\"-62.32\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.45</text>\n",
|
||
" <text x=\"16.94\" y=\"-64.71\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"10.0\" visibility=\"hidden\">2.50</text>\n",
|
||
" <text x=\"16.94\" y=\"150.43\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"0.5\" visibility=\"hidden\">-2</text>\n",
|
||
" <text x=\"16.94\" y=\"54.81\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"0.5\" visibility=\"hidden\">0</text>\n",
|
||
" <text x=\"16.94\" y=\"-40.81\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"0.5\" visibility=\"hidden\">2</text>\n",
|
||
" <text x=\"16.94\" y=\"-136.43\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"0.5\" visibility=\"hidden\">4</text>\n",
|
||
" <text x=\"16.94\" y=\"150.43\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-2.0</text>\n",
|
||
" <text x=\"16.94\" y=\"145.65\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.9</text>\n",
|
||
" <text x=\"16.94\" y=\"140.87\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.8</text>\n",
|
||
" <text x=\"16.94\" y=\"136.09\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.7</text>\n",
|
||
" <text x=\"16.94\" y=\"131.31\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.6</text>\n",
|
||
" <text x=\"16.94\" y=\"126.52\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.5</text>\n",
|
||
" <text x=\"16.94\" y=\"121.74\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.4</text>\n",
|
||
" <text x=\"16.94\" y=\"116.96\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.3</text>\n",
|
||
" <text x=\"16.94\" y=\"112.18\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.2</text>\n",
|
||
" <text x=\"16.94\" y=\"107.4\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.1</text>\n",
|
||
" <text x=\"16.94\" y=\"102.62\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-1.0</text>\n",
|
||
" <text x=\"16.94\" y=\"97.84\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-0.9</text>\n",
|
||
" <text x=\"16.94\" y=\"93.06\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-0.8</text>\n",
|
||
" <text x=\"16.94\" y=\"88.28\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-0.7</text>\n",
|
||
" <text x=\"16.94\" y=\"83.5\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-0.6</text>\n",
|
||
" <text x=\"16.94\" y=\"78.71\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-0.5</text>\n",
|
||
" <text x=\"16.94\" y=\"73.93\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-0.4</text>\n",
|
||
" <text x=\"16.94\" y=\"69.15\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-0.3</text>\n",
|
||
" <text x=\"16.94\" y=\"64.37\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-0.2</text>\n",
|
||
" <text x=\"16.94\" y=\"59.59\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">-0.1</text>\n",
|
||
" <text x=\"16.94\" y=\"54.81\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.0</text>\n",
|
||
" <text x=\"16.94\" y=\"50.03\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.1</text>\n",
|
||
" <text x=\"16.94\" y=\"45.25\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.2</text>\n",
|
||
" <text x=\"16.94\" y=\"40.47\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.3</text>\n",
|
||
" <text x=\"16.94\" y=\"35.69\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.4</text>\n",
|
||
" <text x=\"16.94\" y=\"30.9\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.5</text>\n",
|
||
" <text x=\"16.94\" y=\"26.12\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.6</text>\n",
|
||
" <text x=\"16.94\" y=\"21.34\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.7</text>\n",
|
||
" <text x=\"16.94\" y=\"16.56\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.8</text>\n",
|
||
" <text x=\"16.94\" y=\"11.78\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">0.9</text>\n",
|
||
" <text x=\"16.94\" y=\"7\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.0</text>\n",
|
||
" <text x=\"16.94\" y=\"2.22\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.1</text>\n",
|
||
" <text x=\"16.94\" y=\"-2.56\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.2</text>\n",
|
||
" <text x=\"16.94\" y=\"-7.34\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.3</text>\n",
|
||
" <text x=\"16.94\" y=\"-12.12\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.4</text>\n",
|
||
" <text x=\"16.94\" y=\"-16.91\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.5</text>\n",
|
||
" <text x=\"16.94\" y=\"-21.69\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.6</text>\n",
|
||
" <text x=\"16.94\" y=\"-26.47\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.7</text>\n",
|
||
" <text x=\"16.94\" y=\"-31.25\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.8</text>\n",
|
||
" <text x=\"16.94\" y=\"-36.03\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">1.9</text>\n",
|
||
" <text x=\"16.94\" y=\"-40.81\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">2.0</text>\n",
|
||
" <text x=\"16.94\" y=\"-45.59\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">2.1</text>\n",
|
||
" <text x=\"16.94\" y=\"-50.37\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">2.2</text>\n",
|
||
" <text x=\"16.94\" y=\"-55.15\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">2.3</text>\n",
|
||
" <text x=\"16.94\" y=\"-59.93\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">2.4</text>\n",
|
||
" <text x=\"16.94\" y=\"-64.71\" text-anchor=\"end\" dy=\"0.35em\" gadfly:scale=\"5.0\" visibility=\"hidden\">2.5</text>\n",
|
||
" </g>\n",
|
||
" <g font-size=\"3.88\" font-family=\"'PT Sans','Helvetica Neue','Helvetica',sans-serif\" fill=\"#564A55\" stroke=\"#000000\" stroke-opacity=\"0.000\" id=\"img-9c166513-27\">\n",
|
||
" <text x=\"8.81\" y=\"42.86\" text-anchor=\"end\" dy=\"0.35em\">y</text>\n",
|
||
" </g>\n",
|
||
"</g>\n",
|
||
"<defs>\n",
|
||
" <clipPath id=\"img-9c166513-4\">\n",
|
||
" <path d=\"M17.94,5 L 95 5 95 80.72 17.94 80.72\" />\n",
|
||
"</clipPath>\n",
|
||
" <g id=\"img-9c166513-17\">\n",
|
||
" <circle cx=\"0\" cy=\"0\" r=\"0.9\"/>\n",
|
||
" </g>\n",
|
||
"</defs>\n",
|
||
"<script> <![CDATA[\n",
|
||
"(function(N){var k=/[\\.\\/]/,L=/\\s*,\\s*/,C=function(a,d){return a-d},a,v,y={n:{}},M=function(){for(var a=0,d=this.length;a<d;a++)if(\"undefined\"!=typeof this[a])return this[a]},A=function(){for(var a=this.length;--a;)if(\"undefined\"!=typeof this[a])return this[a]},w=function(k,d){k=String(k);var f=v,n=Array.prototype.slice.call(arguments,2),u=w.listeners(k),p=0,b,q=[],e={},l=[],r=a;l.firstDefined=M;l.lastDefined=A;a=k;for(var s=v=0,x=u.length;s<x;s++)\"zIndex\"in u[s]&&(q.push(u[s].zIndex),0>u[s].zIndex&&\n",
|
||
"(e[u[s].zIndex]=u[s]));for(q.sort(C);0>q[p];)if(b=e[q[p++] ],l.push(b.apply(d,n)),v)return v=f,l;for(s=0;s<x;s++)if(b=u[s],\"zIndex\"in b)if(b.zIndex==q[p]){l.push(b.apply(d,n));if(v)break;do if(p++,(b=e[q[p] ])&&l.push(b.apply(d,n)),v)break;while(b)}else e[b.zIndex]=b;else if(l.push(b.apply(d,n)),v)break;v=f;a=r;return l};w._events=y;w.listeners=function(a){a=a.split(k);var d=y,f,n,u,p,b,q,e,l=[d],r=[];u=0;for(p=a.length;u<p;u++){e=[];b=0;for(q=l.length;b<q;b++)for(d=l[b].n,f=[d[a[u] ],d[\"*\"] ],n=2;n--;)if(d=\n",
|
||
"f[n])e.push(d),r=r.concat(d.f||[]);l=e}return r};w.on=function(a,d){a=String(a);if(\"function\"!=typeof d)return function(){};for(var f=a.split(L),n=0,u=f.length;n<u;n++)(function(a){a=a.split(k);for(var b=y,f,e=0,l=a.length;e<l;e++)b=b.n,b=b.hasOwnProperty(a[e])&&b[a[e] ]||(b[a[e] ]={n:{}});b.f=b.f||[];e=0;for(l=b.f.length;e<l;e++)if(b.f[e]==d){f=!0;break}!f&&b.f.push(d)})(f[n]);return function(a){+a==+a&&(d.zIndex=+a)}};w.f=function(a){var d=[].slice.call(arguments,1);return function(){w.apply(null,\n",
|
||
"[a,null].concat(d).concat([].slice.call(arguments,0)))}};w.stop=function(){v=1};w.nt=function(k){return k?(new RegExp(\"(?:\\\\.|\\\\/|^)\"+k+\"(?:\\\\.|\\\\/|$)\")).test(a):a};w.nts=function(){return a.split(k)};w.off=w.unbind=function(a,d){if(a){var f=a.split(L);if(1<f.length)for(var n=0,u=f.length;n<u;n++)w.off(f[n],d);else{for(var f=a.split(k),p,b,q,e,l=[y],n=0,u=f.length;n<u;n++)for(e=0;e<l.length;e+=q.length-2){q=[e,1];p=l[e].n;if(\"*\"!=f[n])p[f[n] ]&&q.push(p[f[n] ]);else for(b in p)p.hasOwnProperty(b)&&\n",
|
||
"q.push(p[b]);l.splice.apply(l,q)}n=0;for(u=l.length;n<u;n++)for(p=l[n];p.n;){if(d){if(p.f){e=0;for(f=p.f.length;e<f;e++)if(p.f[e]==d){p.f.splice(e,1);break}!p.f.length&&delete p.f}for(b in p.n)if(p.n.hasOwnProperty(b)&&p.n[b].f){q=p.n[b].f;e=0;for(f=q.length;e<f;e++)if(q[e]==d){q.splice(e,1);break}!q.length&&delete p.n[b].f}}else for(b in delete p.f,p.n)p.n.hasOwnProperty(b)&&p.n[b].f&&delete p.n[b].f;p=p.n}}}else w._events=y={n:{}}};w.once=function(a,d){var f=function(){w.unbind(a,f);return d.apply(this,\n",
|
||
"arguments)};return w.on(a,f)};w.version=\"0.4.2\";w.toString=function(){return\"You are running Eve 0.4.2\"};\"undefined\"!=typeof module&&module.exports?module.exports=w:\"function\"===typeof define&&define.amd?define(\"eve\",[],function(){return w}):N.eve=w})(this);\n",
|
||
"(function(N,k){\"function\"===typeof define&&define.amd?define(\"Snap.svg\",[\"eve\"],function(L){return k(N,L)}):k(N,N.eve)})(this,function(N,k){var L=function(a){var k={},y=N.requestAnimationFrame||N.webkitRequestAnimationFrame||N.mozRequestAnimationFrame||N.oRequestAnimationFrame||N.msRequestAnimationFrame||function(a){setTimeout(a,16)},M=Array.isArray||function(a){return a instanceof Array||\"[object Array]\"==Object.prototype.toString.call(a)},A=0,w=\"M\"+(+new Date).toString(36),z=function(a){if(null==\n",
|
||
"a)return this.s;var b=this.s-a;this.b+=this.dur*b;this.B+=this.dur*b;this.s=a},d=function(a){if(null==a)return this.spd;this.spd=a},f=function(a){if(null==a)return this.dur;this.s=this.s*a/this.dur;this.dur=a},n=function(){delete k[this.id];this.update();a(\"mina.stop.\"+this.id,this)},u=function(){this.pdif||(delete k[this.id],this.update(),this.pdif=this.get()-this.b)},p=function(){this.pdif&&(this.b=this.get()-this.pdif,delete this.pdif,k[this.id]=this)},b=function(){var a;if(M(this.start)){a=[];\n",
|
||
"for(var b=0,e=this.start.length;b<e;b++)a[b]=+this.start[b]+(this.end[b]-this.start[b])*this.easing(this.s)}else a=+this.start+(this.end-this.start)*this.easing(this.s);this.set(a)},q=function(){var l=0,b;for(b in k)if(k.hasOwnProperty(b)){var e=k[b],f=e.get();l++;e.s=(f-e.b)/(e.dur/e.spd);1<=e.s&&(delete k[b],e.s=1,l--,function(b){setTimeout(function(){a(\"mina.finish.\"+b.id,b)})}(e));e.update()}l&&y(q)},e=function(a,r,s,x,G,h,J){a={id:w+(A++).toString(36),start:a,end:r,b:s,s:0,dur:x-s,spd:1,get:G,\n",
|
||
"set:h,easing:J||e.linear,status:z,speed:d,duration:f,stop:n,pause:u,resume:p,update:b};k[a.id]=a;r=0;for(var K in k)if(k.hasOwnProperty(K)&&(r++,2==r))break;1==r&&y(q);return a};e.time=Date.now||function(){return+new Date};e.getById=function(a){return k[a]||null};e.linear=function(a){return a};e.easeout=function(a){return Math.pow(a,1.7)};e.easein=function(a){return Math.pow(a,0.48)};e.easeinout=function(a){if(1==a)return 1;if(0==a)return 0;var b=0.48-a/1.04,e=Math.sqrt(0.1734+b*b);a=e-b;a=Math.pow(Math.abs(a),\n",
|
||
"1/3)*(0>a?-1:1);b=-e-b;b=Math.pow(Math.abs(b),1/3)*(0>b?-1:1);a=a+b+0.5;return 3*(1-a)*a*a+a*a*a};e.backin=function(a){return 1==a?1:a*a*(2.70158*a-1.70158)};e.backout=function(a){if(0==a)return 0;a-=1;return a*a*(2.70158*a+1.70158)+1};e.elastic=function(a){return a==!!a?a:Math.pow(2,-10*a)*Math.sin(2*(a-0.075)*Math.PI/0.3)+1};e.bounce=function(a){a<1/2.75?a*=7.5625*a:a<2/2.75?(a-=1.5/2.75,a=7.5625*a*a+0.75):a<2.5/2.75?(a-=2.25/2.75,a=7.5625*a*a+0.9375):(a-=2.625/2.75,a=7.5625*a*a+0.984375);return a};\n",
|
||
"return N.mina=e}(\"undefined\"==typeof k?function(){}:k),C=function(){function a(c,t){if(c){if(c.tagName)return x(c);if(y(c,\"array\")&&a.set)return a.set.apply(a,c);if(c instanceof e)return c;if(null==t)return c=G.doc.querySelector(c),x(c)}return new s(null==c?\"100%\":c,null==t?\"100%\":t)}function v(c,a){if(a){\"#text\"==c&&(c=G.doc.createTextNode(a.text||\"\"));\"string\"==typeof c&&(c=v(c));if(\"string\"==typeof a)return\"xlink:\"==a.substring(0,6)?c.getAttributeNS(m,a.substring(6)):\"xml:\"==a.substring(0,4)?c.getAttributeNS(la,\n",
|
||
"a.substring(4)):c.getAttribute(a);for(var da in a)if(a[h](da)){var b=J(a[da]);b?\"xlink:\"==da.substring(0,6)?c.setAttributeNS(m,da.substring(6),b):\"xml:\"==da.substring(0,4)?c.setAttributeNS(la,da.substring(4),b):c.setAttribute(da,b):c.removeAttribute(da)}}else c=G.doc.createElementNS(la,c);return c}function y(c,a){a=J.prototype.toLowerCase.call(a);return\"finite\"==a?isFinite(c):\"array\"==a&&(c instanceof Array||Array.isArray&&Array.isArray(c))?!0:\"null\"==a&&null===c||a==typeof c&&null!==c||\"object\"==\n",
|
||
"a&&c===Object(c)||$.call(c).slice(8,-1).toLowerCase()==a}function M(c){if(\"function\"==typeof c||Object(c)!==c)return c;var a=new c.constructor,b;for(b in c)c[h](b)&&(a[b]=M(c[b]));return a}function A(c,a,b){function m(){var e=Array.prototype.slice.call(arguments,0),f=e.join(\"\\u2400\"),d=m.cache=m.cache||{},l=m.count=m.count||[];if(d[h](f)){a:for(var e=l,l=f,B=0,H=e.length;B<H;B++)if(e[B]===l){e.push(e.splice(B,1)[0]);break a}return b?b(d[f]):d[f]}1E3<=l.length&&delete d[l.shift()];l.push(f);d[f]=c.apply(a,\n",
|
||
"e);return b?b(d[f]):d[f]}return m}function w(c,a,b,m,e,f){return null==e?(c-=b,a-=m,c||a?(180*I.atan2(-a,-c)/C+540)%360:0):w(c,a,e,f)-w(b,m,e,f)}function z(c){return c%360*C/180}function d(c){var a=[];c=c.replace(/(?:^|\\s)(\\w+)\\(([^)]+)\\)/g,function(c,b,m){m=m.split(/\\s*,\\s*|\\s+/);\"rotate\"==b&&1==m.length&&m.push(0,0);\"scale\"==b&&(2<m.length?m=m.slice(0,2):2==m.length&&m.push(0,0),1==m.length&&m.push(m[0],0,0));\"skewX\"==b?a.push([\"m\",1,0,I.tan(z(m[0])),1,0,0]):\"skewY\"==b?a.push([\"m\",1,I.tan(z(m[0])),\n",
|
||
"0,1,0,0]):a.push([b.charAt(0)].concat(m));return c});return a}function f(c,t){var b=O(c),m=new a.Matrix;if(b)for(var e=0,f=b.length;e<f;e++){var h=b[e],d=h.length,B=J(h[0]).toLowerCase(),H=h[0]!=B,l=H?m.invert():0,E;\"t\"==B&&2==d?m.translate(h[1],0):\"t\"==B&&3==d?H?(d=l.x(0,0),B=l.y(0,0),H=l.x(h[1],h[2]),l=l.y(h[1],h[2]),m.translate(H-d,l-B)):m.translate(h[1],h[2]):\"r\"==B?2==d?(E=E||t,m.rotate(h[1],E.x+E.width/2,E.y+E.height/2)):4==d&&(H?(H=l.x(h[2],h[3]),l=l.y(h[2],h[3]),m.rotate(h[1],H,l)):m.rotate(h[1],\n",
|
||
"h[2],h[3])):\"s\"==B?2==d||3==d?(E=E||t,m.scale(h[1],h[d-1],E.x+E.width/2,E.y+E.height/2)):4==d?H?(H=l.x(h[2],h[3]),l=l.y(h[2],h[3]),m.scale(h[1],h[1],H,l)):m.scale(h[1],h[1],h[2],h[3]):5==d&&(H?(H=l.x(h[3],h[4]),l=l.y(h[3],h[4]),m.scale(h[1],h[2],H,l)):m.scale(h[1],h[2],h[3],h[4])):\"m\"==B&&7==d&&m.add(h[1],h[2],h[3],h[4],h[5],h[6])}return m}function n(c,t){if(null==t){var m=!0;t=\"linearGradient\"==c.type||\"radialGradient\"==c.type?c.node.getAttribute(\"gradientTransform\"):\"pattern\"==c.type?c.node.getAttribute(\"patternTransform\"):\n",
|
||
"c.node.getAttribute(\"transform\");if(!t)return new a.Matrix;t=d(t)}else t=a._.rgTransform.test(t)?J(t).replace(/\\.{3}|\\u2026/g,c._.transform||aa):d(t),y(t,\"array\")&&(t=a.path?a.path.toString.call(t):J(t)),c._.transform=t;var b=f(t,c.getBBox(1));if(m)return b;c.matrix=b}function u(c){c=c.node.ownerSVGElement&&x(c.node.ownerSVGElement)||c.node.parentNode&&x(c.node.parentNode)||a.select(\"svg\")||a(0,0);var t=c.select(\"defs\"),t=null==t?!1:t.node;t||(t=r(\"defs\",c.node).node);return t}function p(c){return c.node.ownerSVGElement&&\n",
|
||
"x(c.node.ownerSVGElement)||a.select(\"svg\")}function b(c,a,m){function b(c){if(null==c)return aa;if(c==+c)return c;v(B,{width:c});try{return B.getBBox().width}catch(a){return 0}}function h(c){if(null==c)return aa;if(c==+c)return c;v(B,{height:c});try{return B.getBBox().height}catch(a){return 0}}function e(b,B){null==a?d[b]=B(c.attr(b)||0):b==a&&(d=B(null==m?c.attr(b)||0:m))}var f=p(c).node,d={},B=f.querySelector(\".svg---mgr\");B||(B=v(\"rect\"),v(B,{x:-9E9,y:-9E9,width:10,height:10,\"class\":\"svg---mgr\",\n",
|
||
"fill:\"none\"}),f.appendChild(B));switch(c.type){case \"rect\":e(\"rx\",b),e(\"ry\",h);case \"image\":e(\"width\",b),e(\"height\",h);case \"text\":e(\"x\",b);e(\"y\",h);break;case \"circle\":e(\"cx\",b);e(\"cy\",h);e(\"r\",b);break;case \"ellipse\":e(\"cx\",b);e(\"cy\",h);e(\"rx\",b);e(\"ry\",h);break;case \"line\":e(\"x1\",b);e(\"x2\",b);e(\"y1\",h);e(\"y2\",h);break;case \"marker\":e(\"refX\",b);e(\"markerWidth\",b);e(\"refY\",h);e(\"markerHeight\",h);break;case \"radialGradient\":e(\"fx\",b);e(\"fy\",h);break;case \"tspan\":e(\"dx\",b);e(\"dy\",h);break;default:e(a,\n",
|
||
"b)}f.removeChild(B);return d}function q(c){y(c,\"array\")||(c=Array.prototype.slice.call(arguments,0));for(var a=0,b=0,m=this.node;this[a];)delete this[a++];for(a=0;a<c.length;a++)\"set\"==c[a].type?c[a].forEach(function(c){m.appendChild(c.node)}):m.appendChild(c[a].node);for(var h=m.childNodes,a=0;a<h.length;a++)this[b++]=x(h[a]);return this}function e(c){if(c.snap in E)return E[c.snap];var a=this.id=V(),b;try{b=c.ownerSVGElement}catch(m){}this.node=c;b&&(this.paper=new s(b));this.type=c.tagName;this.anims=\n",
|
||
"{};this._={transform:[]};c.snap=a;E[a]=this;\"g\"==this.type&&(this.add=q);if(this.type in{g:1,mask:1,pattern:1})for(var e in s.prototype)s.prototype[h](e)&&(this[e]=s.prototype[e])}function l(c){this.node=c}function r(c,a){var b=v(c);a.appendChild(b);return x(b)}function s(c,a){var b,m,f,d=s.prototype;if(c&&\"svg\"==c.tagName){if(c.snap in E)return E[c.snap];var l=c.ownerDocument;b=new e(c);m=c.getElementsByTagName(\"desc\")[0];f=c.getElementsByTagName(\"defs\")[0];m||(m=v(\"desc\"),m.appendChild(l.createTextNode(\"Created with Snap\")),\n",
|
||
"b.node.appendChild(m));f||(f=v(\"defs\"),b.node.appendChild(f));b.defs=f;for(var ca in d)d[h](ca)&&(b[ca]=d[ca]);b.paper=b.root=b}else b=r(\"svg\",G.doc.body),v(b.node,{height:a,version:1.1,width:c,xmlns:la});return b}function x(c){return!c||c instanceof e||c instanceof l?c:c.tagName&&\"svg\"==c.tagName.toLowerCase()?new s(c):c.tagName&&\"object\"==c.tagName.toLowerCase()&&\"image/svg+xml\"==c.type?new s(c.contentDocument.getElementsByTagName(\"svg\")[0]):new e(c)}a.version=\"0.3.0\";a.toString=function(){return\"Snap v\"+\n",
|
||
"this.version};a._={};var G={win:N,doc:N.document};a._.glob=G;var h=\"hasOwnProperty\",J=String,K=parseFloat,U=parseInt,I=Math,P=I.max,Q=I.min,Y=I.abs,C=I.PI,aa=\"\",$=Object.prototype.toString,F=/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|rgba?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|hsba?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\)|hsla?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\))\\s*$/i;a._.separator=\n",
|
||
"RegExp(\"[,\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]+\");var S=RegExp(\"[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*\"),X={hs:1,rg:1},W=RegExp(\"([a-z])[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029,]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*)+)\",\n",
|
||
"\"ig\"),ma=RegExp(\"([rstm])[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029,]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*)+)\",\"ig\"),Z=RegExp(\"(-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?)[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*\",\n",
|
||
"\"ig\"),na=0,ba=\"S\"+(+new Date).toString(36),V=function(){return ba+(na++).toString(36)},m=\"http://www.w3.org/1999/xlink\",la=\"http://www.w3.org/2000/svg\",E={},ca=a.url=function(c){return\"url('#\"+c+\"')\"};a._.$=v;a._.id=V;a.format=function(){var c=/\\{([^\\}]+)\\}/g,a=/(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g,b=function(c,b,m){var h=m;b.replace(a,function(c,a,b,m,t){a=a||m;h&&(a in h&&(h=h[a]),\"function\"==typeof h&&t&&(h=h()))});return h=(null==h||h==m?c:h)+\"\"};return function(a,m){return J(a).replace(c,\n",
|
||
"function(c,a){return b(c,a,m)})}}();a._.clone=M;a._.cacher=A;a.rad=z;a.deg=function(c){return 180*c/C%360};a.angle=w;a.is=y;a.snapTo=function(c,a,b){b=y(b,\"finite\")?b:10;if(y(c,\"array\"))for(var m=c.length;m--;){if(Y(c[m]-a)<=b)return c[m]}else{c=+c;m=a%c;if(m<b)return a-m;if(m>c-b)return a-m+c}return a};a.getRGB=A(function(c){if(!c||(c=J(c)).indexOf(\"-\")+1)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:ka};if(\"none\"==c)return{r:-1,g:-1,b:-1,hex:\"none\",toString:ka};!X[h](c.toLowerCase().substring(0,\n",
|
||
"2))&&\"#\"!=c.charAt()&&(c=T(c));if(!c)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:ka};var b,m,e,f,d;if(c=c.match(F)){c[2]&&(e=U(c[2].substring(5),16),m=U(c[2].substring(3,5),16),b=U(c[2].substring(1,3),16));c[3]&&(e=U((d=c[3].charAt(3))+d,16),m=U((d=c[3].charAt(2))+d,16),b=U((d=c[3].charAt(1))+d,16));c[4]&&(d=c[4].split(S),b=K(d[0]),\"%\"==d[0].slice(-1)&&(b*=2.55),m=K(d[1]),\"%\"==d[1].slice(-1)&&(m*=2.55),e=K(d[2]),\"%\"==d[2].slice(-1)&&(e*=2.55),\"rgba\"==c[1].toLowerCase().slice(0,4)&&(f=K(d[3])),\n",
|
||
"d[3]&&\"%\"==d[3].slice(-1)&&(f/=100));if(c[5])return d=c[5].split(S),b=K(d[0]),\"%\"==d[0].slice(-1)&&(b/=100),m=K(d[1]),\"%\"==d[1].slice(-1)&&(m/=100),e=K(d[2]),\"%\"==d[2].slice(-1)&&(e/=100),\"deg\"!=d[0].slice(-3)&&\"\\u00b0\"!=d[0].slice(-1)||(b/=360),\"hsba\"==c[1].toLowerCase().slice(0,4)&&(f=K(d[3])),d[3]&&\"%\"==d[3].slice(-1)&&(f/=100),a.hsb2rgb(b,m,e,f);if(c[6])return d=c[6].split(S),b=K(d[0]),\"%\"==d[0].slice(-1)&&(b/=100),m=K(d[1]),\"%\"==d[1].slice(-1)&&(m/=100),e=K(d[2]),\"%\"==d[2].slice(-1)&&(e/=100),\n",
|
||
"\"deg\"!=d[0].slice(-3)&&\"\\u00b0\"!=d[0].slice(-1)||(b/=360),\"hsla\"==c[1].toLowerCase().slice(0,4)&&(f=K(d[3])),d[3]&&\"%\"==d[3].slice(-1)&&(f/=100),a.hsl2rgb(b,m,e,f);b=Q(I.round(b),255);m=Q(I.round(m),255);e=Q(I.round(e),255);f=Q(P(f,0),1);c={r:b,g:m,b:e,toString:ka};c.hex=\"#\"+(16777216|e|m<<8|b<<16).toString(16).slice(1);c.opacity=y(f,\"finite\")?f:1;return c}return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:ka}},a);a.hsb=A(function(c,b,m){return a.hsb2rgb(c,b,m).hex});a.hsl=A(function(c,b,m){return a.hsl2rgb(c,\n",
|
||
"b,m).hex});a.rgb=A(function(c,a,b,m){if(y(m,\"finite\")){var e=I.round;return\"rgba(\"+[e(c),e(a),e(b),+m.toFixed(2)]+\")\"}return\"#\"+(16777216|b|a<<8|c<<16).toString(16).slice(1)});var T=function(c){var a=G.doc.getElementsByTagName(\"head\")[0]||G.doc.getElementsByTagName(\"svg\")[0];T=A(function(c){if(\"red\"==c.toLowerCase())return\"rgb(255, 0, 0)\";a.style.color=\"rgb(255, 0, 0)\";a.style.color=c;c=G.doc.defaultView.getComputedStyle(a,aa).getPropertyValue(\"color\");return\"rgb(255, 0, 0)\"==c?null:c});return T(c)},\n",
|
||
"qa=function(){return\"hsb(\"+[this.h,this.s,this.b]+\")\"},ra=function(){return\"hsl(\"+[this.h,this.s,this.l]+\")\"},ka=function(){return 1==this.opacity||null==this.opacity?this.hex:\"rgba(\"+[this.r,this.g,this.b,this.opacity]+\")\"},D=function(c,b,m){null==b&&y(c,\"object\")&&\"r\"in c&&\"g\"in c&&\"b\"in c&&(m=c.b,b=c.g,c=c.r);null==b&&y(c,string)&&(m=a.getRGB(c),c=m.r,b=m.g,m=m.b);if(1<c||1<b||1<m)c/=255,b/=255,m/=255;return[c,b,m]},oa=function(c,b,m,e){c=I.round(255*c);b=I.round(255*b);m=I.round(255*m);c={r:c,\n",
|
||
"g:b,b:m,opacity:y(e,\"finite\")?e:1,hex:a.rgb(c,b,m),toString:ka};y(e,\"finite\")&&(c.opacity=e);return c};a.color=function(c){var b;y(c,\"object\")&&\"h\"in c&&\"s\"in c&&\"b\"in c?(b=a.hsb2rgb(c),c.r=b.r,c.g=b.g,c.b=b.b,c.opacity=1,c.hex=b.hex):y(c,\"object\")&&\"h\"in c&&\"s\"in c&&\"l\"in c?(b=a.hsl2rgb(c),c.r=b.r,c.g=b.g,c.b=b.b,c.opacity=1,c.hex=b.hex):(y(c,\"string\")&&(c=a.getRGB(c)),y(c,\"object\")&&\"r\"in c&&\"g\"in c&&\"b\"in c&&!(\"error\"in c)?(b=a.rgb2hsl(c),c.h=b.h,c.s=b.s,c.l=b.l,b=a.rgb2hsb(c),c.v=b.b):(c={hex:\"none\"},\n",
|
||
"c.r=c.g=c.b=c.h=c.s=c.v=c.l=-1,c.error=1));c.toString=ka;return c};a.hsb2rgb=function(c,a,b,m){y(c,\"object\")&&\"h\"in c&&\"s\"in c&&\"b\"in c&&(b=c.b,a=c.s,c=c.h,m=c.o);var e,h,d;c=360*c%360/60;d=b*a;a=d*(1-Y(c%2-1));b=e=h=b-d;c=~~c;b+=[d,a,0,0,a,d][c];e+=[a,d,d,a,0,0][c];h+=[0,0,a,d,d,a][c];return oa(b,e,h,m)};a.hsl2rgb=function(c,a,b,m){y(c,\"object\")&&\"h\"in c&&\"s\"in c&&\"l\"in c&&(b=c.l,a=c.s,c=c.h);if(1<c||1<a||1<b)c/=360,a/=100,b/=100;var e,h,d;c=360*c%360/60;d=2*a*(0.5>b?b:1-b);a=d*(1-Y(c%2-1));b=e=\n",
|
||
"h=b-d/2;c=~~c;b+=[d,a,0,0,a,d][c];e+=[a,d,d,a,0,0][c];h+=[0,0,a,d,d,a][c];return oa(b,e,h,m)};a.rgb2hsb=function(c,a,b){b=D(c,a,b);c=b[0];a=b[1];b=b[2];var m,e;m=P(c,a,b);e=m-Q(c,a,b);c=((0==e?0:m==c?(a-b)/e:m==a?(b-c)/e+2:(c-a)/e+4)+360)%6*60/360;return{h:c,s:0==e?0:e/m,b:m,toString:qa}};a.rgb2hsl=function(c,a,b){b=D(c,a,b);c=b[0];a=b[1];b=b[2];var m,e,h;m=P(c,a,b);e=Q(c,a,b);h=m-e;c=((0==h?0:m==c?(a-b)/h:m==a?(b-c)/h+2:(c-a)/h+4)+360)%6*60/360;m=(m+e)/2;return{h:c,s:0==h?0:0.5>m?h/(2*m):h/(2-2*\n",
|
||
"m),l:m,toString:ra}};a.parsePathString=function(c){if(!c)return null;var b=a.path(c);if(b.arr)return a.path.clone(b.arr);var m={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},e=[];y(c,\"array\")&&y(c[0],\"array\")&&(e=a.path.clone(c));e.length||J(c).replace(W,function(c,a,b){var h=[];c=a.toLowerCase();b.replace(Z,function(c,a){a&&h.push(+a)});\"m\"==c&&2<h.length&&(e.push([a].concat(h.splice(0,2))),c=\"l\",a=\"m\"==a?\"l\":\"L\");\"o\"==c&&1==h.length&&e.push([a,h[0] ]);if(\"r\"==c)e.push([a].concat(h));else for(;h.length>=\n",
|
||
"m[c]&&(e.push([a].concat(h.splice(0,m[c]))),m[c]););});e.toString=a.path.toString;b.arr=a.path.clone(e);return e};var O=a.parseTransformString=function(c){if(!c)return null;var b=[];y(c,\"array\")&&y(c[0],\"array\")&&(b=a.path.clone(c));b.length||J(c).replace(ma,function(c,a,m){var e=[];a.toLowerCase();m.replace(Z,function(c,a){a&&e.push(+a)});b.push([a].concat(e))});b.toString=a.path.toString;return b};a._.svgTransform2string=d;a._.rgTransform=RegExp(\"^[a-z][\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*-?\\\\.?\\\\d\",\n",
|
||
"\"i\");a._.transform2matrix=f;a._unit2px=b;a._.getSomeDefs=u;a._.getSomeSVG=p;a.select=function(c){return x(G.doc.querySelector(c))};a.selectAll=function(c){c=G.doc.querySelectorAll(c);for(var b=(a.set||Array)(),m=0;m<c.length;m++)b.push(x(c[m]));return b};setInterval(function(){for(var c in E)if(E[h](c)){var a=E[c],b=a.node;(\"svg\"!=a.type&&!b.ownerSVGElement||\"svg\"==a.type&&(!b.parentNode||\"ownerSVGElement\"in b.parentNode&&!b.ownerSVGElement))&&delete E[c]}},1E4);(function(c){function m(c){function a(c,\n",
|
||
"b){var m=v(c.node,b);(m=(m=m&&m.match(d))&&m[2])&&\"#\"==m.charAt()&&(m=m.substring(1))&&(f[m]=(f[m]||[]).concat(function(a){var m={};m[b]=ca(a);v(c.node,m)}))}function b(c){var a=v(c.node,\"xlink:href\");a&&\"#\"==a.charAt()&&(a=a.substring(1))&&(f[a]=(f[a]||[]).concat(function(a){c.attr(\"xlink:href\",\"#\"+a)}))}var e=c.selectAll(\"*\"),h,d=/^\\s*url\\((\"|'|)(.*)\\1\\)\\s*$/;c=[];for(var f={},l=0,E=e.length;l<E;l++){h=e[l];a(h,\"fill\");a(h,\"stroke\");a(h,\"filter\");a(h,\"mask\");a(h,\"clip-path\");b(h);var t=v(h.node,\n",
|
||
"\"id\");t&&(v(h.node,{id:h.id}),c.push({old:t,id:h.id}))}l=0;for(E=c.length;l<E;l++)if(e=f[c[l].old])for(h=0,t=e.length;h<t;h++)e[h](c[l].id)}function e(c,a,b){return function(m){m=m.slice(c,a);1==m.length&&(m=m[0]);return b?b(m):m}}function d(c){return function(){var a=c?\"<\"+this.type:\"\",b=this.node.attributes,m=this.node.childNodes;if(c)for(var e=0,h=b.length;e<h;e++)a+=\" \"+b[e].name+'=\"'+b[e].value.replace(/\"/g,'\\\\\"')+'\"';if(m.length){c&&(a+=\">\");e=0;for(h=m.length;e<h;e++)3==m[e].nodeType?a+=m[e].nodeValue:\n",
|
||
"1==m[e].nodeType&&(a+=x(m[e]).toString());c&&(a+=\"</\"+this.type+\">\")}else c&&(a+=\"/>\");return a}}c.attr=function(c,a){if(!c)return this;if(y(c,\"string\"))if(1<arguments.length){var b={};b[c]=a;c=b}else return k(\"snap.util.getattr.\"+c,this).firstDefined();for(var m in c)c[h](m)&&k(\"snap.util.attr.\"+m,this,c[m]);return this};c.getBBox=function(c){if(!a.Matrix||!a.path)return this.node.getBBox();var b=this,m=new a.Matrix;if(b.removed)return a._.box();for(;\"use\"==b.type;)if(c||(m=m.add(b.transform().localMatrix.translate(b.attr(\"x\")||\n",
|
||
"0,b.attr(\"y\")||0))),b.original)b=b.original;else var e=b.attr(\"xlink:href\"),b=b.original=b.node.ownerDocument.getElementById(e.substring(e.indexOf(\"#\")+1));var e=b._,h=a.path.get[b.type]||a.path.get.deflt;try{if(c)return e.bboxwt=h?a.path.getBBox(b.realPath=h(b)):a._.box(b.node.getBBox()),a._.box(e.bboxwt);b.realPath=h(b);b.matrix=b.transform().localMatrix;e.bbox=a.path.getBBox(a.path.map(b.realPath,m.add(b.matrix)));return a._.box(e.bbox)}catch(d){return a._.box()}};var f=function(){return this.string};\n",
|
||
"c.transform=function(c){var b=this._;if(null==c){var m=this;c=new a.Matrix(this.node.getCTM());for(var e=n(this),h=[e],d=new a.Matrix,l=e.toTransformString(),b=J(e)==J(this.matrix)?J(b.transform):l;\"svg\"!=m.type&&(m=m.parent());)h.push(n(m));for(m=h.length;m--;)d.add(h[m]);return{string:b,globalMatrix:c,totalMatrix:d,localMatrix:e,diffMatrix:c.clone().add(e.invert()),global:c.toTransformString(),total:d.toTransformString(),local:l,toString:f}}c instanceof a.Matrix?this.matrix=c:n(this,c);this.node&&\n",
|
||
"(\"linearGradient\"==this.type||\"radialGradient\"==this.type?v(this.node,{gradientTransform:this.matrix}):\"pattern\"==this.type?v(this.node,{patternTransform:this.matrix}):v(this.node,{transform:this.matrix}));return this};c.parent=function(){return x(this.node.parentNode)};c.append=c.add=function(c){if(c){if(\"set\"==c.type){var a=this;c.forEach(function(c){a.add(c)});return this}c=x(c);this.node.appendChild(c.node);c.paper=this.paper}return this};c.appendTo=function(c){c&&(c=x(c),c.append(this));return this};\n",
|
||
"c.prepend=function(c){if(c){if(\"set\"==c.type){var a=this,b;c.forEach(function(c){b?b.after(c):a.prepend(c);b=c});return this}c=x(c);var m=c.parent();this.node.insertBefore(c.node,this.node.firstChild);this.add&&this.add();c.paper=this.paper;this.parent()&&this.parent().add();m&&m.add()}return this};c.prependTo=function(c){c=x(c);c.prepend(this);return this};c.before=function(c){if(\"set\"==c.type){var a=this;c.forEach(function(c){var b=c.parent();a.node.parentNode.insertBefore(c.node,a.node);b&&b.add()});\n",
|
||
"this.parent().add();return this}c=x(c);var b=c.parent();this.node.parentNode.insertBefore(c.node,this.node);this.parent()&&this.parent().add();b&&b.add();c.paper=this.paper;return this};c.after=function(c){c=x(c);var a=c.parent();this.node.nextSibling?this.node.parentNode.insertBefore(c.node,this.node.nextSibling):this.node.parentNode.appendChild(c.node);this.parent()&&this.parent().add();a&&a.add();c.paper=this.paper;return this};c.insertBefore=function(c){c=x(c);var a=this.parent();c.node.parentNode.insertBefore(this.node,\n",
|
||
"c.node);this.paper=c.paper;a&&a.add();c.parent()&&c.parent().add();return this};c.insertAfter=function(c){c=x(c);var a=this.parent();c.node.parentNode.insertBefore(this.node,c.node.nextSibling);this.paper=c.paper;a&&a.add();c.parent()&&c.parent().add();return this};c.remove=function(){var c=this.parent();this.node.parentNode&&this.node.parentNode.removeChild(this.node);delete this.paper;this.removed=!0;c&&c.add();return this};c.select=function(c){return x(this.node.querySelector(c))};c.selectAll=\n",
|
||
"function(c){c=this.node.querySelectorAll(c);for(var b=(a.set||Array)(),m=0;m<c.length;m++)b.push(x(c[m]));return b};c.asPX=function(c,a){null==a&&(a=this.attr(c));return+b(this,c,a)};c.use=function(){var c,a=this.node.id;a||(a=this.id,v(this.node,{id:a}));c=\"linearGradient\"==this.type||\"radialGradient\"==this.type||\"pattern\"==this.type?r(this.type,this.node.parentNode):r(\"use\",this.node.parentNode);v(c.node,{\"xlink:href\":\"#\"+a});c.original=this;return c};var l=/\\S+/g;c.addClass=function(c){var a=(c||\n",
|
||
"\"\").match(l)||[];c=this.node;var b=c.className.baseVal,m=b.match(l)||[],e,h,d;if(a.length){for(e=0;d=a[e++];)h=m.indexOf(d),~h||m.push(d);a=m.join(\" \");b!=a&&(c.className.baseVal=a)}return this};c.removeClass=function(c){var a=(c||\"\").match(l)||[];c=this.node;var b=c.className.baseVal,m=b.match(l)||[],e,h;if(m.length){for(e=0;h=a[e++];)h=m.indexOf(h),~h&&m.splice(h,1);a=m.join(\" \");b!=a&&(c.className.baseVal=a)}return this};c.hasClass=function(c){return!!~(this.node.className.baseVal.match(l)||[]).indexOf(c)};\n",
|
||
"c.toggleClass=function(c,a){if(null!=a)return a?this.addClass(c):this.removeClass(c);var b=(c||\"\").match(l)||[],m=this.node,e=m.className.baseVal,h=e.match(l)||[],d,f,E;for(d=0;E=b[d++];)f=h.indexOf(E),~f?h.splice(f,1):h.push(E);b=h.join(\" \");e!=b&&(m.className.baseVal=b);return this};c.clone=function(){var c=x(this.node.cloneNode(!0));v(c.node,\"id\")&&v(c.node,{id:c.id});m(c);c.insertAfter(this);return c};c.toDefs=function(){u(this).appendChild(this.node);return this};c.pattern=c.toPattern=function(c,\n",
|
||
"a,b,m){var e=r(\"pattern\",u(this));null==c&&(c=this.getBBox());y(c,\"object\")&&\"x\"in c&&(a=c.y,b=c.width,m=c.height,c=c.x);v(e.node,{x:c,y:a,width:b,height:m,patternUnits:\"userSpaceOnUse\",id:e.id,viewBox:[c,a,b,m].join(\" \")});e.node.appendChild(this.node);return e};c.marker=function(c,a,b,m,e,h){var d=r(\"marker\",u(this));null==c&&(c=this.getBBox());y(c,\"object\")&&\"x\"in c&&(a=c.y,b=c.width,m=c.height,e=c.refX||c.cx,h=c.refY||c.cy,c=c.x);v(d.node,{viewBox:[c,a,b,m].join(\" \"),markerWidth:b,markerHeight:m,\n",
|
||
"orient:\"auto\",refX:e||0,refY:h||0,id:d.id});d.node.appendChild(this.node);return d};var E=function(c,a,b,m){\"function\"!=typeof b||b.length||(m=b,b=L.linear);this.attr=c;this.dur=a;b&&(this.easing=b);m&&(this.callback=m)};a._.Animation=E;a.animation=function(c,a,b,m){return new E(c,a,b,m)};c.inAnim=function(){var c=[],a;for(a in this.anims)this.anims[h](a)&&function(a){c.push({anim:new E(a._attrs,a.dur,a.easing,a._callback),mina:a,curStatus:a.status(),status:function(c){return a.status(c)},stop:function(){a.stop()}})}(this.anims[a]);\n",
|
||
"return c};a.animate=function(c,a,b,m,e,h){\"function\"!=typeof e||e.length||(h=e,e=L.linear);var d=L.time();c=L(c,a,d,d+m,L.time,b,e);h&&k.once(\"mina.finish.\"+c.id,h);return c};c.stop=function(){for(var c=this.inAnim(),a=0,b=c.length;a<b;a++)c[a].stop();return this};c.animate=function(c,a,b,m){\"function\"!=typeof b||b.length||(m=b,b=L.linear);c instanceof E&&(m=c.callback,b=c.easing,a=b.dur,c=c.attr);var d=[],f=[],l={},t,ca,n,T=this,q;for(q in c)if(c[h](q)){T.equal?(n=T.equal(q,J(c[q])),t=n.from,ca=\n",
|
||
"n.to,n=n.f):(t=+T.attr(q),ca=+c[q]);var la=y(t,\"array\")?t.length:1;l[q]=e(d.length,d.length+la,n);d=d.concat(t);f=f.concat(ca)}t=L.time();var p=L(d,f,t,t+a,L.time,function(c){var a={},b;for(b in l)l[h](b)&&(a[b]=l[b](c));T.attr(a)},b);T.anims[p.id]=p;p._attrs=c;p._callback=m;k(\"snap.animcreated.\"+T.id,p);k.once(\"mina.finish.\"+p.id,function(){delete T.anims[p.id];m&&m.call(T)});k.once(\"mina.stop.\"+p.id,function(){delete T.anims[p.id]});return T};var T={};c.data=function(c,b){var m=T[this.id]=T[this.id]||\n",
|
||
"{};if(0==arguments.length)return k(\"snap.data.get.\"+this.id,this,m,null),m;if(1==arguments.length){if(a.is(c,\"object\")){for(var e in c)c[h](e)&&this.data(e,c[e]);return this}k(\"snap.data.get.\"+this.id,this,m[c],c);return m[c]}m[c]=b;k(\"snap.data.set.\"+this.id,this,b,c);return this};c.removeData=function(c){null==c?T[this.id]={}:T[this.id]&&delete T[this.id][c];return this};c.outerSVG=c.toString=d(1);c.innerSVG=d()})(e.prototype);a.parse=function(c){var a=G.doc.createDocumentFragment(),b=!0,m=G.doc.createElement(\"div\");\n",
|
||
"c=J(c);c.match(/^\\s*<\\s*svg(?:\\s|>)/)||(c=\"<svg>\"+c+\"</svg>\",b=!1);m.innerHTML=c;if(c=m.getElementsByTagName(\"svg\")[0])if(b)a=c;else for(;c.firstChild;)a.appendChild(c.firstChild);m.innerHTML=aa;return new l(a)};l.prototype.select=e.prototype.select;l.prototype.selectAll=e.prototype.selectAll;a.fragment=function(){for(var c=Array.prototype.slice.call(arguments,0),b=G.doc.createDocumentFragment(),m=0,e=c.length;m<e;m++){var h=c[m];h.node&&h.node.nodeType&&b.appendChild(h.node);h.nodeType&&b.appendChild(h);\n",
|
||
"\"string\"==typeof h&&b.appendChild(a.parse(h).node)}return new l(b)};a._.make=r;a._.wrap=x;s.prototype.el=function(c,a){var b=r(c,this.node);a&&b.attr(a);return b};k.on(\"snap.util.getattr\",function(){var c=k.nt(),c=c.substring(c.lastIndexOf(\".\")+1),a=c.replace(/[A-Z]/g,function(c){return\"-\"+c.toLowerCase()});return pa[h](a)?this.node.ownerDocument.defaultView.getComputedStyle(this.node,null).getPropertyValue(a):v(this.node,c)});var pa={\"alignment-baseline\":0,\"baseline-shift\":0,clip:0,\"clip-path\":0,\n",
|
||
"\"clip-rule\":0,color:0,\"color-interpolation\":0,\"color-interpolation-filters\":0,\"color-profile\":0,\"color-rendering\":0,cursor:0,direction:0,display:0,\"dominant-baseline\":0,\"enable-background\":0,fill:0,\"fill-opacity\":0,\"fill-rule\":0,filter:0,\"flood-color\":0,\"flood-opacity\":0,font:0,\"font-family\":0,\"font-size\":0,\"font-size-adjust\":0,\"font-stretch\":0,\"font-style\":0,\"font-variant\":0,\"font-weight\":0,\"glyph-orientation-horizontal\":0,\"glyph-orientation-vertical\":0,\"image-rendering\":0,kerning:0,\"letter-spacing\":0,\n",
|
||
"\"lighting-color\":0,marker:0,\"marker-end\":0,\"marker-mid\":0,\"marker-start\":0,mask:0,opacity:0,overflow:0,\"pointer-events\":0,\"shape-rendering\":0,\"stop-color\":0,\"stop-opacity\":0,stroke:0,\"stroke-dasharray\":0,\"stroke-dashoffset\":0,\"stroke-linecap\":0,\"stroke-linejoin\":0,\"stroke-miterlimit\":0,\"stroke-opacity\":0,\"stroke-width\":0,\"text-anchor\":0,\"text-decoration\":0,\"text-rendering\":0,\"unicode-bidi\":0,visibility:0,\"word-spacing\":0,\"writing-mode\":0};k.on(\"snap.util.attr\",function(c){var a=k.nt(),b={},a=a.substring(a.lastIndexOf(\".\")+\n",
|
||
"1);b[a]=c;var m=a.replace(/-(\\w)/gi,function(c,a){return a.toUpperCase()}),a=a.replace(/[A-Z]/g,function(c){return\"-\"+c.toLowerCase()});pa[h](a)?this.node.style[m]=null==c?aa:c:v(this.node,b)});a.ajax=function(c,a,b,m){var e=new XMLHttpRequest,h=V();if(e){if(y(a,\"function\"))m=b,b=a,a=null;else if(y(a,\"object\")){var d=[],f;for(f in a)a.hasOwnProperty(f)&&d.push(encodeURIComponent(f)+\"=\"+encodeURIComponent(a[f]));a=d.join(\"&\")}e.open(a?\"POST\":\"GET\",c,!0);a&&(e.setRequestHeader(\"X-Requested-With\",\"XMLHttpRequest\"),\n",
|
||
"e.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded\"));b&&(k.once(\"snap.ajax.\"+h+\".0\",b),k.once(\"snap.ajax.\"+h+\".200\",b),k.once(\"snap.ajax.\"+h+\".304\",b));e.onreadystatechange=function(){4==e.readyState&&k(\"snap.ajax.\"+h+\".\"+e.status,m,e)};if(4==e.readyState)return e;e.send(a);return e}};a.load=function(c,b,m){a.ajax(c,function(c){c=a.parse(c.responseText);m?b.call(m,c):b(c)})};a.getElementByPoint=function(c,a){var b,m,e=G.doc.elementFromPoint(c,a);if(G.win.opera&&\"svg\"==e.tagName){b=\n",
|
||
"e;m=b.getBoundingClientRect();b=b.ownerDocument;var h=b.body,d=b.documentElement;b=m.top+(g.win.pageYOffset||d.scrollTop||h.scrollTop)-(d.clientTop||h.clientTop||0);m=m.left+(g.win.pageXOffset||d.scrollLeft||h.scrollLeft)-(d.clientLeft||h.clientLeft||0);h=e.createSVGRect();h.x=c-m;h.y=a-b;h.width=h.height=1;b=e.getIntersectionList(h,null);b.length&&(e=b[b.length-1])}return e?x(e):null};a.plugin=function(c){c(a,e,s,G,l)};return G.win.Snap=a}();C.plugin(function(a,k,y,M,A){function w(a,d,f,b,q,e){null==\n",
|
||
"d&&\"[object SVGMatrix]\"==z.call(a)?(this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.e=a.e,this.f=a.f):null!=a?(this.a=+a,this.b=+d,this.c=+f,this.d=+b,this.e=+q,this.f=+e):(this.a=1,this.c=this.b=0,this.d=1,this.f=this.e=0)}var z=Object.prototype.toString,d=String,f=Math;(function(n){function k(a){return a[0]*a[0]+a[1]*a[1]}function p(a){var d=f.sqrt(k(a));a[0]&&(a[0]/=d);a[1]&&(a[1]/=d)}n.add=function(a,d,e,f,n,p){var k=[[],[],[] ],u=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1] ];d=[[a,\n",
|
||
"e,n],[d,f,p],[0,0,1] ];a&&a instanceof w&&(d=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1] ]);for(a=0;3>a;a++)for(e=0;3>e;e++){for(f=n=0;3>f;f++)n+=u[a][f]*d[f][e];k[a][e]=n}this.a=k[0][0];this.b=k[1][0];this.c=k[0][1];this.d=k[1][1];this.e=k[0][2];this.f=k[1][2];return this};n.invert=function(){var a=this.a*this.d-this.b*this.c;return new w(this.d/a,-this.b/a,-this.c/a,this.a/a,(this.c*this.f-this.d*this.e)/a,(this.b*this.e-this.a*this.f)/a)};n.clone=function(){return new w(this.a,this.b,this.c,this.d,this.e,\n",
|
||
"this.f)};n.translate=function(a,d){return this.add(1,0,0,1,a,d)};n.scale=function(a,d,e,f){null==d&&(d=a);(e||f)&&this.add(1,0,0,1,e,f);this.add(a,0,0,d,0,0);(e||f)&&this.add(1,0,0,1,-e,-f);return this};n.rotate=function(b,d,e){b=a.rad(b);d=d||0;e=e||0;var l=+f.cos(b).toFixed(9);b=+f.sin(b).toFixed(9);this.add(l,b,-b,l,d,e);return this.add(1,0,0,1,-d,-e)};n.x=function(a,d){return a*this.a+d*this.c+this.e};n.y=function(a,d){return a*this.b+d*this.d+this.f};n.get=function(a){return+this[d.fromCharCode(97+\n",
|
||
"a)].toFixed(4)};n.toString=function(){return\"matrix(\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+\")\"};n.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]};n.determinant=function(){return this.a*this.d-this.b*this.c};n.split=function(){var b={};b.dx=this.e;b.dy=this.f;var d=[[this.a,this.c],[this.b,this.d] ];b.scalex=f.sqrt(k(d[0]));p(d[0]);b.shear=d[0][0]*d[1][0]+d[0][1]*d[1][1];d[1]=[d[1][0]-d[0][0]*b.shear,d[1][1]-d[0][1]*b.shear];b.scaley=f.sqrt(k(d[1]));\n",
|
||
"p(d[1]);b.shear/=b.scaley;0>this.determinant()&&(b.scalex=-b.scalex);var e=-d[0][1],d=d[1][1];0>d?(b.rotate=a.deg(f.acos(d)),0>e&&(b.rotate=360-b.rotate)):b.rotate=a.deg(f.asin(e));b.isSimple=!+b.shear.toFixed(9)&&(b.scalex.toFixed(9)==b.scaley.toFixed(9)||!b.rotate);b.isSuperSimple=!+b.shear.toFixed(9)&&b.scalex.toFixed(9)==b.scaley.toFixed(9)&&!b.rotate;b.noRotation=!+b.shear.toFixed(9)&&!b.rotate;return b};n.toTransformString=function(a){a=a||this.split();if(+a.shear.toFixed(9))return\"m\"+[this.get(0),\n",
|
||
"this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)];a.scalex=+a.scalex.toFixed(4);a.scaley=+a.scaley.toFixed(4);a.rotate=+a.rotate.toFixed(4);return(a.dx||a.dy?\"t\"+[+a.dx.toFixed(4),+a.dy.toFixed(4)]:\"\")+(1!=a.scalex||1!=a.scaley?\"s\"+[a.scalex,a.scaley,0,0]:\"\")+(a.rotate?\"r\"+[+a.rotate.toFixed(4),0,0]:\"\")}})(w.prototype);a.Matrix=w;a.matrix=function(a,d,f,b,k,e){return new w(a,d,f,b,k,e)}});C.plugin(function(a,v,y,M,A){function w(h){return function(d){k.stop();d instanceof A&&1==d.node.childNodes.length&&\n",
|
||
"(\"radialGradient\"==d.node.firstChild.tagName||\"linearGradient\"==d.node.firstChild.tagName||\"pattern\"==d.node.firstChild.tagName)&&(d=d.node.firstChild,b(this).appendChild(d),d=u(d));if(d instanceof v)if(\"radialGradient\"==d.type||\"linearGradient\"==d.type||\"pattern\"==d.type){d.node.id||e(d.node,{id:d.id});var f=l(d.node.id)}else f=d.attr(h);else f=a.color(d),f.error?(f=a(b(this).ownerSVGElement).gradient(d))?(f.node.id||e(f.node,{id:f.id}),f=l(f.node.id)):f=d:f=r(f);d={};d[h]=f;e(this.node,d);this.node.style[h]=\n",
|
||
"x}}function z(a){k.stop();a==+a&&(a+=\"px\");this.node.style.fontSize=a}function d(a){var b=[];a=a.childNodes;for(var e=0,f=a.length;e<f;e++){var l=a[e];3==l.nodeType&&b.push(l.nodeValue);\"tspan\"==l.tagName&&(1==l.childNodes.length&&3==l.firstChild.nodeType?b.push(l.firstChild.nodeValue):b.push(d(l)))}return b}function f(){k.stop();return this.node.style.fontSize}var n=a._.make,u=a._.wrap,p=a.is,b=a._.getSomeDefs,q=/^url\\(#?([^)]+)\\)$/,e=a._.$,l=a.url,r=String,s=a._.separator,x=\"\";k.on(\"snap.util.attr.mask\",\n",
|
||
"function(a){if(a instanceof v||a instanceof A){k.stop();a instanceof A&&1==a.node.childNodes.length&&(a=a.node.firstChild,b(this).appendChild(a),a=u(a));if(\"mask\"==a.type)var d=a;else d=n(\"mask\",b(this)),d.node.appendChild(a.node);!d.node.id&&e(d.node,{id:d.id});e(this.node,{mask:l(d.id)})}});(function(a){k.on(\"snap.util.attr.clip\",a);k.on(\"snap.util.attr.clip-path\",a);k.on(\"snap.util.attr.clipPath\",a)})(function(a){if(a instanceof v||a instanceof A){k.stop();if(\"clipPath\"==a.type)var d=a;else d=\n",
|
||
"n(\"clipPath\",b(this)),d.node.appendChild(a.node),!d.node.id&&e(d.node,{id:d.id});e(this.node,{\"clip-path\":l(d.id)})}});k.on(\"snap.util.attr.fill\",w(\"fill\"));k.on(\"snap.util.attr.stroke\",w(\"stroke\"));var G=/^([lr])(?:\\(([^)]*)\\))?(.*)$/i;k.on(\"snap.util.grad.parse\",function(a){a=r(a);var b=a.match(G);if(!b)return null;a=b[1];var e=b[2],b=b[3],e=e.split(/\\s*,\\s*/).map(function(a){return+a==a?+a:a});1==e.length&&0==e[0]&&(e=[]);b=b.split(\"-\");b=b.map(function(a){a=a.split(\":\");var b={color:a[0]};a[1]&&\n",
|
||
"(b.offset=parseFloat(a[1]));return b});return{type:a,params:e,stops:b}});k.on(\"snap.util.attr.d\",function(b){k.stop();p(b,\"array\")&&p(b[0],\"array\")&&(b=a.path.toString.call(b));b=r(b);b.match(/[ruo]/i)&&(b=a.path.toAbsolute(b));e(this.node,{d:b})})(-1);k.on(\"snap.util.attr.#text\",function(a){k.stop();a=r(a);for(a=M.doc.createTextNode(a);this.node.firstChild;)this.node.removeChild(this.node.firstChild);this.node.appendChild(a)})(-1);k.on(\"snap.util.attr.path\",function(a){k.stop();this.attr({d:a})})(-1);\n",
|
||
"k.on(\"snap.util.attr.class\",function(a){k.stop();this.node.className.baseVal=a})(-1);k.on(\"snap.util.attr.viewBox\",function(a){a=p(a,\"object\")&&\"x\"in a?[a.x,a.y,a.width,a.height].join(\" \"):p(a,\"array\")?a.join(\" \"):a;e(this.node,{viewBox:a});k.stop()})(-1);k.on(\"snap.util.attr.transform\",function(a){this.transform(a);k.stop()})(-1);k.on(\"snap.util.attr.r\",function(a){\"rect\"==this.type&&(k.stop(),e(this.node,{rx:a,ry:a}))})(-1);k.on(\"snap.util.attr.textpath\",function(a){k.stop();if(\"text\"==this.type){var d,\n",
|
||
"f;if(!a&&this.textPath){for(a=this.textPath;a.node.firstChild;)this.node.appendChild(a.node.firstChild);a.remove();delete this.textPath}else if(p(a,\"string\")?(d=b(this),a=u(d.parentNode).path(a),d.appendChild(a.node),d=a.id,a.attr({id:d})):(a=u(a),a instanceof v&&(d=a.attr(\"id\"),d||(d=a.id,a.attr({id:d})))),d)if(a=this.textPath,f=this.node,a)a.attr({\"xlink:href\":\"#\"+d});else{for(a=e(\"textPath\",{\"xlink:href\":\"#\"+d});f.firstChild;)a.appendChild(f.firstChild);f.appendChild(a);this.textPath=u(a)}}})(-1);\n",
|
||
"k.on(\"snap.util.attr.text\",function(a){if(\"text\"==this.type){for(var b=this.node,d=function(a){var b=e(\"tspan\");if(p(a,\"array\"))for(var f=0;f<a.length;f++)b.appendChild(d(a[f]));else b.appendChild(M.doc.createTextNode(a));b.normalize&&b.normalize();return b};b.firstChild;)b.removeChild(b.firstChild);for(a=d(a);a.firstChild;)b.appendChild(a.firstChild)}k.stop()})(-1);k.on(\"snap.util.attr.fontSize\",z)(-1);k.on(\"snap.util.attr.font-size\",z)(-1);k.on(\"snap.util.getattr.transform\",function(){k.stop();\n",
|
||
"return this.transform()})(-1);k.on(\"snap.util.getattr.textpath\",function(){k.stop();return this.textPath})(-1);(function(){function b(d){return function(){k.stop();var b=M.doc.defaultView.getComputedStyle(this.node,null).getPropertyValue(\"marker-\"+d);return\"none\"==b?b:a(M.doc.getElementById(b.match(q)[1]))}}function d(a){return function(b){k.stop();var d=\"marker\"+a.charAt(0).toUpperCase()+a.substring(1);if(\"\"==b||!b)this.node.style[d]=\"none\";else if(\"marker\"==b.type){var f=b.node.id;f||e(b.node,{id:b.id});\n",
|
||
"this.node.style[d]=l(f)}}}k.on(\"snap.util.getattr.marker-end\",b(\"end\"))(-1);k.on(\"snap.util.getattr.markerEnd\",b(\"end\"))(-1);k.on(\"snap.util.getattr.marker-start\",b(\"start\"))(-1);k.on(\"snap.util.getattr.markerStart\",b(\"start\"))(-1);k.on(\"snap.util.getattr.marker-mid\",b(\"mid\"))(-1);k.on(\"snap.util.getattr.markerMid\",b(\"mid\"))(-1);k.on(\"snap.util.attr.marker-end\",d(\"end\"))(-1);k.on(\"snap.util.attr.markerEnd\",d(\"end\"))(-1);k.on(\"snap.util.attr.marker-start\",d(\"start\"))(-1);k.on(\"snap.util.attr.markerStart\",\n",
|
||
"d(\"start\"))(-1);k.on(\"snap.util.attr.marker-mid\",d(\"mid\"))(-1);k.on(\"snap.util.attr.markerMid\",d(\"mid\"))(-1)})();k.on(\"snap.util.getattr.r\",function(){if(\"rect\"==this.type&&e(this.node,\"rx\")==e(this.node,\"ry\"))return k.stop(),e(this.node,\"rx\")})(-1);k.on(\"snap.util.getattr.text\",function(){if(\"text\"==this.type||\"tspan\"==this.type){k.stop();var a=d(this.node);return 1==a.length?a[0]:a}})(-1);k.on(\"snap.util.getattr.#text\",function(){return this.node.textContent})(-1);k.on(\"snap.util.getattr.viewBox\",\n",
|
||
"function(){k.stop();var b=e(this.node,\"viewBox\");if(b)return b=b.split(s),a._.box(+b[0],+b[1],+b[2],+b[3])})(-1);k.on(\"snap.util.getattr.points\",function(){var a=e(this.node,\"points\");k.stop();if(a)return a.split(s)})(-1);k.on(\"snap.util.getattr.path\",function(){var a=e(this.node,\"d\");k.stop();return a})(-1);k.on(\"snap.util.getattr.class\",function(){return this.node.className.baseVal})(-1);k.on(\"snap.util.getattr.fontSize\",f)(-1);k.on(\"snap.util.getattr.font-size\",f)(-1)});C.plugin(function(a,v,y,\n",
|
||
"M,A){function w(a){return a}function z(a){return function(b){return+b.toFixed(3)+a}}var d={\"+\":function(a,b){return a+b},\"-\":function(a,b){return a-b},\"/\":function(a,b){return a/b},\"*\":function(a,b){return a*b}},f=String,n=/[a-z]+$/i,u=/^\\s*([+\\-\\/*])\\s*=\\s*([\\d.eE+\\-]+)\\s*([^\\d\\s]+)?\\s*$/;k.on(\"snap.util.attr\",function(a){if(a=f(a).match(u)){var b=k.nt(),b=b.substring(b.lastIndexOf(\".\")+1),q=this.attr(b),e={};k.stop();var l=a[3]||\"\",r=q.match(n),s=d[a[1] ];r&&r==l?a=s(parseFloat(q),+a[2]):(q=this.asPX(b),\n",
|
||
"a=s(this.asPX(b),this.asPX(b,a[2]+l)));isNaN(q)||isNaN(a)||(e[b]=a,this.attr(e))}})(-10);k.on(\"snap.util.equal\",function(a,b){var q=f(this.attr(a)||\"\"),e=f(b).match(u);if(e){k.stop();var l=e[3]||\"\",r=q.match(n),s=d[e[1] ];if(r&&r==l)return{from:parseFloat(q),to:s(parseFloat(q),+e[2]),f:z(r)};q=this.asPX(a);return{from:q,to:s(q,this.asPX(a,e[2]+l)),f:w}}})(-10)});C.plugin(function(a,v,y,M,A){var w=y.prototype,z=a.is;w.rect=function(a,d,k,p,b,q){var e;null==q&&(q=b);z(a,\"object\")&&\"[object Object]\"==\n",
|
||
"a?e=a:null!=a&&(e={x:a,y:d,width:k,height:p},null!=b&&(e.rx=b,e.ry=q));return this.el(\"rect\",e)};w.circle=function(a,d,k){var p;z(a,\"object\")&&\"[object Object]\"==a?p=a:null!=a&&(p={cx:a,cy:d,r:k});return this.el(\"circle\",p)};var d=function(){function a(){this.parentNode.removeChild(this)}return function(d,k){var p=M.doc.createElement(\"img\"),b=M.doc.body;p.style.cssText=\"position:absolute;left:-9999em;top:-9999em\";p.onload=function(){k.call(p);p.onload=p.onerror=null;b.removeChild(p)};p.onerror=a;\n",
|
||
"b.appendChild(p);p.src=d}}();w.image=function(f,n,k,p,b){var q=this.el(\"image\");if(z(f,\"object\")&&\"src\"in f)q.attr(f);else if(null!=f){var e={\"xlink:href\":f,preserveAspectRatio:\"none\"};null!=n&&null!=k&&(e.x=n,e.y=k);null!=p&&null!=b?(e.width=p,e.height=b):d(f,function(){a._.$(q.node,{width:this.offsetWidth,height:this.offsetHeight})});a._.$(q.node,e)}return q};w.ellipse=function(a,d,k,p){var b;z(a,\"object\")&&\"[object Object]\"==a?b=a:null!=a&&(b={cx:a,cy:d,rx:k,ry:p});return this.el(\"ellipse\",b)};\n",
|
||
"w.path=function(a){var d;z(a,\"object\")&&!z(a,\"array\")?d=a:a&&(d={d:a});return this.el(\"path\",d)};w.group=w.g=function(a){var d=this.el(\"g\");1==arguments.length&&a&&!a.type?d.attr(a):arguments.length&&d.add(Array.prototype.slice.call(arguments,0));return d};w.svg=function(a,d,k,p,b,q,e,l){var r={};z(a,\"object\")&&null==d?r=a:(null!=a&&(r.x=a),null!=d&&(r.y=d),null!=k&&(r.width=k),null!=p&&(r.height=p),null!=b&&null!=q&&null!=e&&null!=l&&(r.viewBox=[b,q,e,l]));return this.el(\"svg\",r)};w.mask=function(a){var d=\n",
|
||
"this.el(\"mask\");1==arguments.length&&a&&!a.type?d.attr(a):arguments.length&&d.add(Array.prototype.slice.call(arguments,0));return d};w.ptrn=function(a,d,k,p,b,q,e,l){if(z(a,\"object\"))var r=a;else arguments.length?(r={},null!=a&&(r.x=a),null!=d&&(r.y=d),null!=k&&(r.width=k),null!=p&&(r.height=p),null!=b&&null!=q&&null!=e&&null!=l&&(r.viewBox=[b,q,e,l])):r={patternUnits:\"userSpaceOnUse\"};return this.el(\"pattern\",r)};w.use=function(a){return null!=a?(make(\"use\",this.node),a instanceof v&&(a.attr(\"id\")||\n",
|
||
"a.attr({id:ID()}),a=a.attr(\"id\")),this.el(\"use\",{\"xlink:href\":a})):v.prototype.use.call(this)};w.text=function(a,d,k){var p={};z(a,\"object\")?p=a:null!=a&&(p={x:a,y:d,text:k||\"\"});return this.el(\"text\",p)};w.line=function(a,d,k,p){var b={};z(a,\"object\")?b=a:null!=a&&(b={x1:a,x2:k,y1:d,y2:p});return this.el(\"line\",b)};w.polyline=function(a){1<arguments.length&&(a=Array.prototype.slice.call(arguments,0));var d={};z(a,\"object\")&&!z(a,\"array\")?d=a:null!=a&&(d={points:a});return this.el(\"polyline\",d)};\n",
|
||
"w.polygon=function(a){1<arguments.length&&(a=Array.prototype.slice.call(arguments,0));var d={};z(a,\"object\")&&!z(a,\"array\")?d=a:null!=a&&(d={points:a});return this.el(\"polygon\",d)};(function(){function d(){return this.selectAll(\"stop\")}function n(b,d){var f=e(\"stop\"),k={offset:+d+\"%\"};b=a.color(b);k[\"stop-color\"]=b.hex;1>b.opacity&&(k[\"stop-opacity\"]=b.opacity);e(f,k);this.node.appendChild(f);return this}function u(){if(\"linearGradient\"==this.type){var b=e(this.node,\"x1\")||0,d=e(this.node,\"x2\")||\n",
|
||
"1,f=e(this.node,\"y1\")||0,k=e(this.node,\"y2\")||0;return a._.box(b,f,math.abs(d-b),math.abs(k-f))}b=this.node.r||0;return a._.box((this.node.cx||0.5)-b,(this.node.cy||0.5)-b,2*b,2*b)}function p(a,d){function f(a,b){for(var d=(b-u)/(a-w),e=w;e<a;e++)h[e].offset=+(+u+d*(e-w)).toFixed(2);w=a;u=b}var n=k(\"snap.util.grad.parse\",null,d).firstDefined(),p;if(!n)return null;n.params.unshift(a);p=\"l\"==n.type.toLowerCase()?b.apply(0,n.params):q.apply(0,n.params);n.type!=n.type.toLowerCase()&&e(p.node,{gradientUnits:\"userSpaceOnUse\"});\n",
|
||
"var h=n.stops,n=h.length,u=0,w=0;n--;for(var v=0;v<n;v++)\"offset\"in h[v]&&f(v,h[v].offset);h[n].offset=h[n].offset||100;f(n,h[n].offset);for(v=0;v<=n;v++){var y=h[v];p.addStop(y.color,y.offset)}return p}function b(b,k,p,q,w){b=a._.make(\"linearGradient\",b);b.stops=d;b.addStop=n;b.getBBox=u;null!=k&&e(b.node,{x1:k,y1:p,x2:q,y2:w});return b}function q(b,k,p,q,w,h){b=a._.make(\"radialGradient\",b);b.stops=d;b.addStop=n;b.getBBox=u;null!=k&&e(b.node,{cx:k,cy:p,r:q});null!=w&&null!=h&&e(b.node,{fx:w,fy:h});\n",
|
||
"return b}var e=a._.$;w.gradient=function(a){return p(this.defs,a)};w.gradientLinear=function(a,d,e,f){return b(this.defs,a,d,e,f)};w.gradientRadial=function(a,b,d,e,f){return q(this.defs,a,b,d,e,f)};w.toString=function(){var b=this.node.ownerDocument,d=b.createDocumentFragment(),b=b.createElement(\"div\"),e=this.node.cloneNode(!0);d.appendChild(b);b.appendChild(e);a._.$(e,{xmlns:\"http://www.w3.org/2000/svg\"});b=b.innerHTML;d.removeChild(d.firstChild);return b};w.clear=function(){for(var a=this.node.firstChild,\n",
|
||
"b;a;)b=a.nextSibling,\"defs\"!=a.tagName?a.parentNode.removeChild(a):w.clear.call({node:a}),a=b}})()});C.plugin(function(a,k,y,M){function A(a){var b=A.ps=A.ps||{};b[a]?b[a].sleep=100:b[a]={sleep:100};setTimeout(function(){for(var d in b)b[L](d)&&d!=a&&(b[d].sleep--,!b[d].sleep&&delete b[d])});return b[a]}function w(a,b,d,e){null==a&&(a=b=d=e=0);null==b&&(b=a.y,d=a.width,e=a.height,a=a.x);return{x:a,y:b,width:d,w:d,height:e,h:e,x2:a+d,y2:b+e,cx:a+d/2,cy:b+e/2,r1:F.min(d,e)/2,r2:F.max(d,e)/2,r0:F.sqrt(d*\n",
|
||
"d+e*e)/2,path:s(a,b,d,e),vb:[a,b,d,e].join(\" \")}}function z(){return this.join(\",\").replace(N,\"$1\")}function d(a){a=C(a);a.toString=z;return a}function f(a,b,d,h,f,k,l,n,p){if(null==p)return e(a,b,d,h,f,k,l,n);if(0>p||e(a,b,d,h,f,k,l,n)<p)p=void 0;else{var q=0.5,O=1-q,s;for(s=e(a,b,d,h,f,k,l,n,O);0.01<Z(s-p);)q/=2,O+=(s<p?1:-1)*q,s=e(a,b,d,h,f,k,l,n,O);p=O}return u(a,b,d,h,f,k,l,n,p)}function n(b,d){function e(a){return+(+a).toFixed(3)}return a._.cacher(function(a,h,l){a instanceof k&&(a=a.attr(\"d\"));\n",
|
||
"a=I(a);for(var n,p,D,q,O=\"\",s={},c=0,t=0,r=a.length;t<r;t++){D=a[t];if(\"M\"==D[0])n=+D[1],p=+D[2];else{q=f(n,p,D[1],D[2],D[3],D[4],D[5],D[6]);if(c+q>h){if(d&&!s.start){n=f(n,p,D[1],D[2],D[3],D[4],D[5],D[6],h-c);O+=[\"C\"+e(n.start.x),e(n.start.y),e(n.m.x),e(n.m.y),e(n.x),e(n.y)];if(l)return O;s.start=O;O=[\"M\"+e(n.x),e(n.y)+\"C\"+e(n.n.x),e(n.n.y),e(n.end.x),e(n.end.y),e(D[5]),e(D[6])].join();c+=q;n=+D[5];p=+D[6];continue}if(!b&&!d)return n=f(n,p,D[1],D[2],D[3],D[4],D[5],D[6],h-c)}c+=q;n=+D[5];p=+D[6]}O+=\n",
|
||
"D.shift()+D}s.end=O;return n=b?c:d?s:u(n,p,D[0],D[1],D[2],D[3],D[4],D[5],1)},null,a._.clone)}function u(a,b,d,e,h,f,k,l,n){var p=1-n,q=ma(p,3),s=ma(p,2),c=n*n,t=c*n,r=q*a+3*s*n*d+3*p*n*n*h+t*k,q=q*b+3*s*n*e+3*p*n*n*f+t*l,s=a+2*n*(d-a)+c*(h-2*d+a),t=b+2*n*(e-b)+c*(f-2*e+b),x=d+2*n*(h-d)+c*(k-2*h+d),c=e+2*n*(f-e)+c*(l-2*f+e);a=p*a+n*d;b=p*b+n*e;h=p*h+n*k;f=p*f+n*l;l=90-180*F.atan2(s-x,t-c)/S;return{x:r,y:q,m:{x:s,y:t},n:{x:x,y:c},start:{x:a,y:b},end:{x:h,y:f},alpha:l}}function p(b,d,e,h,f,n,k,l){a.is(b,\n",
|
||
"\"array\")||(b=[b,d,e,h,f,n,k,l]);b=U.apply(null,b);return w(b.min.x,b.min.y,b.max.x-b.min.x,b.max.y-b.min.y)}function b(a,b,d){return b>=a.x&&b<=a.x+a.width&&d>=a.y&&d<=a.y+a.height}function q(a,d){a=w(a);d=w(d);return b(d,a.x,a.y)||b(d,a.x2,a.y)||b(d,a.x,a.y2)||b(d,a.x2,a.y2)||b(a,d.x,d.y)||b(a,d.x2,d.y)||b(a,d.x,d.y2)||b(a,d.x2,d.y2)||(a.x<d.x2&&a.x>d.x||d.x<a.x2&&d.x>a.x)&&(a.y<d.y2&&a.y>d.y||d.y<a.y2&&d.y>a.y)}function e(a,b,d,e,h,f,n,k,l){null==l&&(l=1);l=(1<l?1:0>l?0:l)/2;for(var p=[-0.1252,\n",
|
||
"0.1252,-0.3678,0.3678,-0.5873,0.5873,-0.7699,0.7699,-0.9041,0.9041,-0.9816,0.9816],q=[0.2491,0.2491,0.2335,0.2335,0.2032,0.2032,0.1601,0.1601,0.1069,0.1069,0.0472,0.0472],s=0,c=0;12>c;c++)var t=l*p[c]+l,r=t*(t*(-3*a+9*d-9*h+3*n)+6*a-12*d+6*h)-3*a+3*d,t=t*(t*(-3*b+9*e-9*f+3*k)+6*b-12*e+6*f)-3*b+3*e,s=s+q[c]*F.sqrt(r*r+t*t);return l*s}function l(a,b,d){a=I(a);b=I(b);for(var h,f,l,n,k,s,r,O,x,c,t=d?0:[],w=0,v=a.length;w<v;w++)if(x=a[w],\"M\"==x[0])h=k=x[1],f=s=x[2];else{\"C\"==x[0]?(x=[h,f].concat(x.slice(1)),\n",
|
||
"h=x[6],f=x[7]):(x=[h,f,h,f,k,s,k,s],h=k,f=s);for(var G=0,y=b.length;G<y;G++)if(c=b[G],\"M\"==c[0])l=r=c[1],n=O=c[2];else{\"C\"==c[0]?(c=[l,n].concat(c.slice(1)),l=c[6],n=c[7]):(c=[l,n,l,n,r,O,r,O],l=r,n=O);var z;var K=x,B=c;z=d;var H=p(K),J=p(B);if(q(H,J)){for(var H=e.apply(0,K),J=e.apply(0,B),H=~~(H/8),J=~~(J/8),U=[],A=[],F={},M=z?0:[],P=0;P<H+1;P++){var C=u.apply(0,K.concat(P/H));U.push({x:C.x,y:C.y,t:P/H})}for(P=0;P<J+1;P++)C=u.apply(0,B.concat(P/J)),A.push({x:C.x,y:C.y,t:P/J});for(P=0;P<H;P++)for(K=\n",
|
||
"0;K<J;K++){var Q=U[P],L=U[P+1],B=A[K],C=A[K+1],N=0.001>Z(L.x-Q.x)?\"y\":\"x\",S=0.001>Z(C.x-B.x)?\"y\":\"x\",R;R=Q.x;var Y=Q.y,V=L.x,ea=L.y,fa=B.x,ga=B.y,ha=C.x,ia=C.y;if(W(R,V)<X(fa,ha)||X(R,V)>W(fa,ha)||W(Y,ea)<X(ga,ia)||X(Y,ea)>W(ga,ia))R=void 0;else{var $=(R*ea-Y*V)*(fa-ha)-(R-V)*(fa*ia-ga*ha),aa=(R*ea-Y*V)*(ga-ia)-(Y-ea)*(fa*ia-ga*ha),ja=(R-V)*(ga-ia)-(Y-ea)*(fa-ha);if(ja){var $=$/ja,aa=aa/ja,ja=+$.toFixed(2),ba=+aa.toFixed(2);R=ja<+X(R,V).toFixed(2)||ja>+W(R,V).toFixed(2)||ja<+X(fa,ha).toFixed(2)||\n",
|
||
"ja>+W(fa,ha).toFixed(2)||ba<+X(Y,ea).toFixed(2)||ba>+W(Y,ea).toFixed(2)||ba<+X(ga,ia).toFixed(2)||ba>+W(ga,ia).toFixed(2)?void 0:{x:$,y:aa}}else R=void 0}R&&F[R.x.toFixed(4)]!=R.y.toFixed(4)&&(F[R.x.toFixed(4)]=R.y.toFixed(4),Q=Q.t+Z((R[N]-Q[N])/(L[N]-Q[N]))*(L.t-Q.t),B=B.t+Z((R[S]-B[S])/(C[S]-B[S]))*(C.t-B.t),0<=Q&&1>=Q&&0<=B&&1>=B&&(z?M++:M.push({x:R.x,y:R.y,t1:Q,t2:B})))}z=M}else z=z?0:[];if(d)t+=z;else{H=0;for(J=z.length;H<J;H++)z[H].segment1=w,z[H].segment2=G,z[H].bez1=x,z[H].bez2=c;t=t.concat(z)}}}return t}\n",
|
||
"function r(a){var b=A(a);if(b.bbox)return C(b.bbox);if(!a)return w();a=I(a);for(var d=0,e=0,h=[],f=[],l,n=0,k=a.length;n<k;n++)l=a[n],\"M\"==l[0]?(d=l[1],e=l[2],h.push(d),f.push(e)):(d=U(d,e,l[1],l[2],l[3],l[4],l[5],l[6]),h=h.concat(d.min.x,d.max.x),f=f.concat(d.min.y,d.max.y),d=l[5],e=l[6]);a=X.apply(0,h);l=X.apply(0,f);h=W.apply(0,h);f=W.apply(0,f);f=w(a,l,h-a,f-l);b.bbox=C(f);return f}function s(a,b,d,e,h){if(h)return[[\"M\",+a+ +h,b],[\"l\",d-2*h,0],[\"a\",h,h,0,0,1,h,h],[\"l\",0,e-2*h],[\"a\",h,h,0,0,1,\n",
|
||
"-h,h],[\"l\",2*h-d,0],[\"a\",h,h,0,0,1,-h,-h],[\"l\",0,2*h-e],[\"a\",h,h,0,0,1,h,-h],[\"z\"] ];a=[[\"M\",a,b],[\"l\",d,0],[\"l\",0,e],[\"l\",-d,0],[\"z\"] ];a.toString=z;return a}function x(a,b,d,e,h){null==h&&null==e&&(e=d);a=+a;b=+b;d=+d;e=+e;if(null!=h){var f=Math.PI/180,l=a+d*Math.cos(-e*f);a+=d*Math.cos(-h*f);var n=b+d*Math.sin(-e*f);b+=d*Math.sin(-h*f);d=[[\"M\",l,n],[\"A\",d,d,0,+(180<h-e),0,a,b] ]}else d=[[\"M\",a,b],[\"m\",0,-e],[\"a\",d,e,0,1,1,0,2*e],[\"a\",d,e,0,1,1,0,-2*e],[\"z\"] ];d.toString=z;return d}function G(b){var e=\n",
|
||
"A(b);if(e.abs)return d(e.abs);Q(b,\"array\")&&Q(b&&b[0],\"array\")||(b=a.parsePathString(b));if(!b||!b.length)return[[\"M\",0,0] ];var h=[],f=0,l=0,n=0,k=0,p=0;\"M\"==b[0][0]&&(f=+b[0][1],l=+b[0][2],n=f,k=l,p++,h[0]=[\"M\",f,l]);for(var q=3==b.length&&\"M\"==b[0][0]&&\"R\"==b[1][0].toUpperCase()&&\"Z\"==b[2][0].toUpperCase(),s,r,w=p,c=b.length;w<c;w++){h.push(s=[]);r=b[w];p=r[0];if(p!=p.toUpperCase())switch(s[0]=p.toUpperCase(),s[0]){case \"A\":s[1]=r[1];s[2]=r[2];s[3]=r[3];s[4]=r[4];s[5]=r[5];s[6]=+r[6]+f;s[7]=+r[7]+\n",
|
||
"l;break;case \"V\":s[1]=+r[1]+l;break;case \"H\":s[1]=+r[1]+f;break;case \"R\":for(var t=[f,l].concat(r.slice(1)),u=2,v=t.length;u<v;u++)t[u]=+t[u]+f,t[++u]=+t[u]+l;h.pop();h=h.concat(P(t,q));break;case \"O\":h.pop();t=x(f,l,r[1],r[2]);t.push(t[0]);h=h.concat(t);break;case \"U\":h.pop();h=h.concat(x(f,l,r[1],r[2],r[3]));s=[\"U\"].concat(h[h.length-1].slice(-2));break;case \"M\":n=+r[1]+f,k=+r[2]+l;default:for(u=1,v=r.length;u<v;u++)s[u]=+r[u]+(u%2?f:l)}else if(\"R\"==p)t=[f,l].concat(r.slice(1)),h.pop(),h=h.concat(P(t,\n",
|
||
"q)),s=[\"R\"].concat(r.slice(-2));else if(\"O\"==p)h.pop(),t=x(f,l,r[1],r[2]),t.push(t[0]),h=h.concat(t);else if(\"U\"==p)h.pop(),h=h.concat(x(f,l,r[1],r[2],r[3])),s=[\"U\"].concat(h[h.length-1].slice(-2));else for(t=0,u=r.length;t<u;t++)s[t]=r[t];p=p.toUpperCase();if(\"O\"!=p)switch(s[0]){case \"Z\":f=+n;l=+k;break;case \"H\":f=s[1];break;case \"V\":l=s[1];break;case \"M\":n=s[s.length-2],k=s[s.length-1];default:f=s[s.length-2],l=s[s.length-1]}}h.toString=z;e.abs=d(h);return h}function h(a,b,d,e){return[a,b,d,e,d,\n",
|
||
"e]}function J(a,b,d,e,h,f){var l=1/3,n=2/3;return[l*a+n*d,l*b+n*e,l*h+n*d,l*f+n*e,h,f]}function K(b,d,e,h,f,l,n,k,p,s){var r=120*S/180,q=S/180*(+f||0),c=[],t,x=a._.cacher(function(a,b,c){var d=a*F.cos(c)-b*F.sin(c);a=a*F.sin(c)+b*F.cos(c);return{x:d,y:a}});if(s)v=s[0],t=s[1],l=s[2],u=s[3];else{t=x(b,d,-q);b=t.x;d=t.y;t=x(k,p,-q);k=t.x;p=t.y;F.cos(S/180*f);F.sin(S/180*f);t=(b-k)/2;v=(d-p)/2;u=t*t/(e*e)+v*v/(h*h);1<u&&(u=F.sqrt(u),e*=u,h*=u);var u=e*e,w=h*h,u=(l==n?-1:1)*F.sqrt(Z((u*w-u*v*v-w*t*t)/\n",
|
||
"(u*v*v+w*t*t)));l=u*e*v/h+(b+k)/2;var u=u*-h*t/e+(d+p)/2,v=F.asin(((d-u)/h).toFixed(9));t=F.asin(((p-u)/h).toFixed(9));v=b<l?S-v:v;t=k<l?S-t:t;0>v&&(v=2*S+v);0>t&&(t=2*S+t);n&&v>t&&(v-=2*S);!n&&t>v&&(t-=2*S)}if(Z(t-v)>r){var c=t,w=k,G=p;t=v+r*(n&&t>v?1:-1);k=l+e*F.cos(t);p=u+h*F.sin(t);c=K(k,p,e,h,f,0,n,w,G,[t,c,l,u])}l=t-v;f=F.cos(v);r=F.sin(v);n=F.cos(t);t=F.sin(t);l=F.tan(l/4);e=4/3*e*l;l*=4/3*h;h=[b,d];b=[b+e*r,d-l*f];d=[k+e*t,p-l*n];k=[k,p];b[0]=2*h[0]-b[0];b[1]=2*h[1]-b[1];if(s)return[b,d,k].concat(c);\n",
|
||
"c=[b,d,k].concat(c).join().split(\",\");s=[];k=0;for(p=c.length;k<p;k++)s[k]=k%2?x(c[k-1],c[k],q).y:x(c[k],c[k+1],q).x;return s}function U(a,b,d,e,h,f,l,k){for(var n=[],p=[[],[] ],s,r,c,t,q=0;2>q;++q)0==q?(r=6*a-12*d+6*h,s=-3*a+9*d-9*h+3*l,c=3*d-3*a):(r=6*b-12*e+6*f,s=-3*b+9*e-9*f+3*k,c=3*e-3*b),1E-12>Z(s)?1E-12>Z(r)||(s=-c/r,0<s&&1>s&&n.push(s)):(t=r*r-4*c*s,c=F.sqrt(t),0>t||(t=(-r+c)/(2*s),0<t&&1>t&&n.push(t),s=(-r-c)/(2*s),0<s&&1>s&&n.push(s)));for(r=q=n.length;q--;)s=n[q],c=1-s,p[0][q]=c*c*c*a+3*\n",
|
||
"c*c*s*d+3*c*s*s*h+s*s*s*l,p[1][q]=c*c*c*b+3*c*c*s*e+3*c*s*s*f+s*s*s*k;p[0][r]=a;p[1][r]=b;p[0][r+1]=l;p[1][r+1]=k;p[0].length=p[1].length=r+2;return{min:{x:X.apply(0,p[0]),y:X.apply(0,p[1])},max:{x:W.apply(0,p[0]),y:W.apply(0,p[1])}}}function I(a,b){var e=!b&&A(a);if(!b&&e.curve)return d(e.curve);var f=G(a),l=b&&G(b),n={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},k={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},p=function(a,b,c){if(!a)return[\"C\",b.x,b.y,b.x,b.y,b.x,b.y];a[0]in{T:1,Q:1}||(b.qx=b.qy=null);\n",
|
||
"switch(a[0]){case \"M\":b.X=a[1];b.Y=a[2];break;case \"A\":a=[\"C\"].concat(K.apply(0,[b.x,b.y].concat(a.slice(1))));break;case \"S\":\"C\"==c||\"S\"==c?(c=2*b.x-b.bx,b=2*b.y-b.by):(c=b.x,b=b.y);a=[\"C\",c,b].concat(a.slice(1));break;case \"T\":\"Q\"==c||\"T\"==c?(b.qx=2*b.x-b.qx,b.qy=2*b.y-b.qy):(b.qx=b.x,b.qy=b.y);a=[\"C\"].concat(J(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case \"Q\":b.qx=a[1];b.qy=a[2];a=[\"C\"].concat(J(b.x,b.y,a[1],a[2],a[3],a[4]));break;case \"L\":a=[\"C\"].concat(h(b.x,b.y,a[1],a[2]));break;case \"H\":a=[\"C\"].concat(h(b.x,\n",
|
||
"b.y,a[1],b.y));break;case \"V\":a=[\"C\"].concat(h(b.x,b.y,b.x,a[1]));break;case \"Z\":a=[\"C\"].concat(h(b.x,b.y,b.X,b.Y))}return a},s=function(a,b){if(7<a[b].length){a[b].shift();for(var c=a[b];c.length;)q[b]=\"A\",l&&(u[b]=\"A\"),a.splice(b++,0,[\"C\"].concat(c.splice(0,6)));a.splice(b,1);v=W(f.length,l&&l.length||0)}},r=function(a,b,c,d,e){a&&b&&\"M\"==a[e][0]&&\"M\"!=b[e][0]&&(b.splice(e,0,[\"M\",d.x,d.y]),c.bx=0,c.by=0,c.x=a[e][1],c.y=a[e][2],v=W(f.length,l&&l.length||0))},q=[],u=[],c=\"\",t=\"\",x=0,v=W(f.length,\n",
|
||
"l&&l.length||0);for(;x<v;x++){f[x]&&(c=f[x][0]);\"C\"!=c&&(q[x]=c,x&&(t=q[x-1]));f[x]=p(f[x],n,t);\"A\"!=q[x]&&\"C\"==c&&(q[x]=\"C\");s(f,x);l&&(l[x]&&(c=l[x][0]),\"C\"!=c&&(u[x]=c,x&&(t=u[x-1])),l[x]=p(l[x],k,t),\"A\"!=u[x]&&\"C\"==c&&(u[x]=\"C\"),s(l,x));r(f,l,n,k,x);r(l,f,k,n,x);var w=f[x],z=l&&l[x],y=w.length,U=l&&z.length;n.x=w[y-2];n.y=w[y-1];n.bx=$(w[y-4])||n.x;n.by=$(w[y-3])||n.y;k.bx=l&&($(z[U-4])||k.x);k.by=l&&($(z[U-3])||k.y);k.x=l&&z[U-2];k.y=l&&z[U-1]}l||(e.curve=d(f));return l?[f,l]:f}function P(a,\n",
|
||
"b){for(var d=[],e=0,h=a.length;h-2*!b>e;e+=2){var f=[{x:+a[e-2],y:+a[e-1]},{x:+a[e],y:+a[e+1]},{x:+a[e+2],y:+a[e+3]},{x:+a[e+4],y:+a[e+5]}];b?e?h-4==e?f[3]={x:+a[0],y:+a[1]}:h-2==e&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[h-2],y:+a[h-1]}:h-4==e?f[3]=f[2]:e||(f[0]={x:+a[e],y:+a[e+1]});d.push([\"C\",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return d}y=k.prototype;var Q=a.is,C=a._.clone,L=\"hasOwnProperty\",\n",
|
||
"N=/,?([a-z]),?/gi,$=parseFloat,F=Math,S=F.PI,X=F.min,W=F.max,ma=F.pow,Z=F.abs;M=n(1);var na=n(),ba=n(0,1),V=a._unit2px;a.path=A;a.path.getTotalLength=M;a.path.getPointAtLength=na;a.path.getSubpath=function(a,b,d){if(1E-6>this.getTotalLength(a)-d)return ba(a,b).end;a=ba(a,d,1);return b?ba(a,b).end:a};y.getTotalLength=function(){if(this.node.getTotalLength)return this.node.getTotalLength()};y.getPointAtLength=function(a){return na(this.attr(\"d\"),a)};y.getSubpath=function(b,d){return a.path.getSubpath(this.attr(\"d\"),\n",
|
||
"b,d)};a._.box=w;a.path.findDotsAtSegment=u;a.path.bezierBBox=p;a.path.isPointInsideBBox=b;a.path.isBBoxIntersect=q;a.path.intersection=function(a,b){return l(a,b)};a.path.intersectionNumber=function(a,b){return l(a,b,1)};a.path.isPointInside=function(a,d,e){var h=r(a);return b(h,d,e)&&1==l(a,[[\"M\",d,e],[\"H\",h.x2+10] ],1)%2};a.path.getBBox=r;a.path.get={path:function(a){return a.attr(\"path\")},circle:function(a){a=V(a);return x(a.cx,a.cy,a.r)},ellipse:function(a){a=V(a);return x(a.cx||0,a.cy||0,a.rx,\n",
|
||
"a.ry)},rect:function(a){a=V(a);return s(a.x||0,a.y||0,a.width,a.height,a.rx,a.ry)},image:function(a){a=V(a);return s(a.x||0,a.y||0,a.width,a.height)},line:function(a){return\"M\"+[a.attr(\"x1\")||0,a.attr(\"y1\")||0,a.attr(\"x2\"),a.attr(\"y2\")]},polyline:function(a){return\"M\"+a.attr(\"points\")},polygon:function(a){return\"M\"+a.attr(\"points\")+\"z\"},deflt:function(a){a=a.node.getBBox();return s(a.x,a.y,a.width,a.height)}};a.path.toRelative=function(b){var e=A(b),h=String.prototype.toLowerCase;if(e.rel)return d(e.rel);\n",
|
||
"a.is(b,\"array\")&&a.is(b&&b[0],\"array\")||(b=a.parsePathString(b));var f=[],l=0,n=0,k=0,p=0,s=0;\"M\"==b[0][0]&&(l=b[0][1],n=b[0][2],k=l,p=n,s++,f.push([\"M\",l,n]));for(var r=b.length;s<r;s++){var q=f[s]=[],x=b[s];if(x[0]!=h.call(x[0]))switch(q[0]=h.call(x[0]),q[0]){case \"a\":q[1]=x[1];q[2]=x[2];q[3]=x[3];q[4]=x[4];q[5]=x[5];q[6]=+(x[6]-l).toFixed(3);q[7]=+(x[7]-n).toFixed(3);break;case \"v\":q[1]=+(x[1]-n).toFixed(3);break;case \"m\":k=x[1],p=x[2];default:for(var c=1,t=x.length;c<t;c++)q[c]=+(x[c]-(c%2?l:\n",
|
||
"n)).toFixed(3)}else for(f[s]=[],\"m\"==x[0]&&(k=x[1]+l,p=x[2]+n),q=0,c=x.length;q<c;q++)f[s][q]=x[q];x=f[s].length;switch(f[s][0]){case \"z\":l=k;n=p;break;case \"h\":l+=+f[s][x-1];break;case \"v\":n+=+f[s][x-1];break;default:l+=+f[s][x-2],n+=+f[s][x-1]}}f.toString=z;e.rel=d(f);return f};a.path.toAbsolute=G;a.path.toCubic=I;a.path.map=function(a,b){if(!b)return a;var d,e,h,f,l,n,k;a=I(a);h=0;for(l=a.length;h<l;h++)for(k=a[h],f=1,n=k.length;f<n;f+=2)d=b.x(k[f],k[f+1]),e=b.y(k[f],k[f+1]),k[f]=d,k[f+1]=e;return a};\n",
|
||
"a.path.toString=z;a.path.clone=d});C.plugin(function(a,v,y,C){var A=Math.max,w=Math.min,z=function(a){this.items=[];this.bindings={};this.length=0;this.type=\"set\";if(a)for(var f=0,n=a.length;f<n;f++)a[f]&&(this[this.items.length]=this.items[this.items.length]=a[f],this.length++)};v=z.prototype;v.push=function(){for(var a,f,n=0,k=arguments.length;n<k;n++)if(a=arguments[n])f=this.items.length,this[f]=this.items[f]=a,this.length++;return this};v.pop=function(){this.length&&delete this[this.length--];\n",
|
||
"return this.items.pop()};v.forEach=function(a,f){for(var n=0,k=this.items.length;n<k&&!1!==a.call(f,this.items[n],n);n++);return this};v.animate=function(d,f,n,u){\"function\"!=typeof n||n.length||(u=n,n=L.linear);d instanceof a._.Animation&&(u=d.callback,n=d.easing,f=n.dur,d=d.attr);var p=arguments;if(a.is(d,\"array\")&&a.is(p[p.length-1],\"array\"))var b=!0;var q,e=function(){q?this.b=q:q=this.b},l=0,r=u&&function(){l++==this.length&&u.call(this)};return this.forEach(function(a,l){k.once(\"snap.animcreated.\"+\n",
|
||
"a.id,e);b?p[l]&&a.animate.apply(a,p[l]):a.animate(d,f,n,r)})};v.remove=function(){for(;this.length;)this.pop().remove();return this};v.bind=function(a,f,k){var u={};if(\"function\"==typeof f)this.bindings[a]=f;else{var p=k||a;this.bindings[a]=function(a){u[p]=a;f.attr(u)}}return this};v.attr=function(a){var f={},k;for(k in a)if(this.bindings[k])this.bindings[k](a[k]);else f[k]=a[k];a=0;for(k=this.items.length;a<k;a++)this.items[a].attr(f);return this};v.clear=function(){for(;this.length;)this.pop()};\n",
|
||
"v.splice=function(a,f,k){a=0>a?A(this.length+a,0):a;f=A(0,w(this.length-a,f));var u=[],p=[],b=[],q;for(q=2;q<arguments.length;q++)b.push(arguments[q]);for(q=0;q<f;q++)p.push(this[a+q]);for(;q<this.length-a;q++)u.push(this[a+q]);var e=b.length;for(q=0;q<e+u.length;q++)this.items[a+q]=this[a+q]=q<e?b[q]:u[q-e];for(q=this.items.length=this.length-=f-e;this[q];)delete this[q++];return new z(p)};v.exclude=function(a){for(var f=0,k=this.length;f<k;f++)if(this[f]==a)return this.splice(f,1),!0;return!1};\n",
|
||
"v.insertAfter=function(a){for(var f=this.items.length;f--;)this.items[f].insertAfter(a);return this};v.getBBox=function(){for(var a=[],f=[],k=[],u=[],p=this.items.length;p--;)if(!this.items[p].removed){var b=this.items[p].getBBox();a.push(b.x);f.push(b.y);k.push(b.x+b.width);u.push(b.y+b.height)}a=w.apply(0,a);f=w.apply(0,f);k=A.apply(0,k);u=A.apply(0,u);return{x:a,y:f,x2:k,y2:u,width:k-a,height:u-f,cx:a+(k-a)/2,cy:f+(u-f)/2}};v.clone=function(a){a=new z;for(var f=0,k=this.items.length;f<k;f++)a.push(this.items[f].clone());\n",
|
||
"return a};v.toString=function(){return\"Snap\\u2018s set\"};v.type=\"set\";a.set=function(){var a=new z;arguments.length&&a.push.apply(a,Array.prototype.slice.call(arguments,0));return a}});C.plugin(function(a,v,y,C){function A(a){var b=a[0];switch(b.toLowerCase()){case \"t\":return[b,0,0];case \"m\":return[b,1,0,0,1,0,0];case \"r\":return 4==a.length?[b,0,a[2],a[3] ]:[b,0];case \"s\":return 5==a.length?[b,1,1,a[3],a[4] ]:3==a.length?[b,1,1]:[b,1]}}function w(b,d,f){d=q(d).replace(/\\.{3}|\\u2026/g,b);b=a.parseTransformString(b)||\n",
|
||
"[];d=a.parseTransformString(d)||[];for(var k=Math.max(b.length,d.length),p=[],v=[],h=0,w,z,y,I;h<k;h++){y=b[h]||A(d[h]);I=d[h]||A(y);if(y[0]!=I[0]||\"r\"==y[0].toLowerCase()&&(y[2]!=I[2]||y[3]!=I[3])||\"s\"==y[0].toLowerCase()&&(y[3]!=I[3]||y[4]!=I[4])){b=a._.transform2matrix(b,f());d=a._.transform2matrix(d,f());p=[[\"m\",b.a,b.b,b.c,b.d,b.e,b.f] ];v=[[\"m\",d.a,d.b,d.c,d.d,d.e,d.f] ];break}p[h]=[];v[h]=[];w=0;for(z=Math.max(y.length,I.length);w<z;w++)w in y&&(p[h][w]=y[w]),w in I&&(v[h][w]=I[w])}return{from:u(p),\n",
|
||
"to:u(v),f:n(p)}}function z(a){return a}function d(a){return function(b){return+b.toFixed(3)+a}}function f(b){return a.rgb(b[0],b[1],b[2])}function n(a){var b=0,d,f,k,n,h,p,q=[];d=0;for(f=a.length;d<f;d++){h=\"[\";p=['\"'+a[d][0]+'\"'];k=1;for(n=a[d].length;k<n;k++)p[k]=\"val[\"+b++ +\"]\";h+=p+\"]\";q[d]=h}return Function(\"val\",\"return Snap.path.toString.call([\"+q+\"])\")}function u(a){for(var b=[],d=0,f=a.length;d<f;d++)for(var k=1,n=a[d].length;k<n;k++)b.push(a[d][k]);return b}var p={},b=/[a-z]+$/i,q=String;\n",
|
||
"p.stroke=p.fill=\"colour\";v.prototype.equal=function(a,b){return k(\"snap.util.equal\",this,a,b).firstDefined()};k.on(\"snap.util.equal\",function(e,k){var r,s;r=q(this.attr(e)||\"\");var x=this;if(r==+r&&k==+k)return{from:+r,to:+k,f:z};if(\"colour\"==p[e])return r=a.color(r),s=a.color(k),{from:[r.r,r.g,r.b,r.opacity],to:[s.r,s.g,s.b,s.opacity],f:f};if(\"transform\"==e||\"gradientTransform\"==e||\"patternTransform\"==e)return k instanceof a.Matrix&&(k=k.toTransformString()),a._.rgTransform.test(k)||(k=a._.svgTransform2string(k)),\n",
|
||
"w(r,k,function(){return x.getBBox(1)});if(\"d\"==e||\"path\"==e)return r=a.path.toCubic(r,k),{from:u(r[0]),to:u(r[1]),f:n(r[0])};if(\"points\"==e)return r=q(r).split(a._.separator),s=q(k).split(a._.separator),{from:r,to:s,f:function(a){return a}};aUnit=r.match(b);s=q(k).match(b);return aUnit&&aUnit==s?{from:parseFloat(r),to:parseFloat(k),f:d(aUnit)}:{from:this.asPX(e),to:this.asPX(e,k),f:z}})});C.plugin(function(a,v,y,C){var A=v.prototype,w=\"createTouch\"in C.doc;v=\"click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel\".split(\" \");\n",
|
||
"var z={mousedown:\"touchstart\",mousemove:\"touchmove\",mouseup:\"touchend\"},d=function(a,b){var d=\"y\"==a?\"scrollTop\":\"scrollLeft\",e=b&&b.node?b.node.ownerDocument:C.doc;return e[d in e.documentElement?\"documentElement\":\"body\"][d]},f=function(){this.returnValue=!1},n=function(){return this.originalEvent.preventDefault()},u=function(){this.cancelBubble=!0},p=function(){return this.originalEvent.stopPropagation()},b=function(){if(C.doc.addEventListener)return function(a,b,e,f){var k=w&&z[b]?z[b]:b,l=function(k){var l=\n",
|
||
"d(\"y\",f),q=d(\"x\",f);if(w&&z.hasOwnProperty(b))for(var r=0,u=k.targetTouches&&k.targetTouches.length;r<u;r++)if(k.targetTouches[r].target==a||a.contains(k.targetTouches[r].target)){u=k;k=k.targetTouches[r];k.originalEvent=u;k.preventDefault=n;k.stopPropagation=p;break}return e.call(f,k,k.clientX+q,k.clientY+l)};b!==k&&a.addEventListener(b,l,!1);a.addEventListener(k,l,!1);return function(){b!==k&&a.removeEventListener(b,l,!1);a.removeEventListener(k,l,!1);return!0}};if(C.doc.attachEvent)return function(a,\n",
|
||
"b,e,h){var k=function(a){a=a||h.node.ownerDocument.window.event;var b=d(\"y\",h),k=d(\"x\",h),k=a.clientX+k,b=a.clientY+b;a.preventDefault=a.preventDefault||f;a.stopPropagation=a.stopPropagation||u;return e.call(h,a,k,b)};a.attachEvent(\"on\"+b,k);return function(){a.detachEvent(\"on\"+b,k);return!0}}}(),q=[],e=function(a){for(var b=a.clientX,e=a.clientY,f=d(\"y\"),l=d(\"x\"),n,p=q.length;p--;){n=q[p];if(w)for(var r=a.touches&&a.touches.length,u;r--;){if(u=a.touches[r],u.identifier==n.el._drag.id||n.el.node.contains(u.target)){b=\n",
|
||
"u.clientX;e=u.clientY;(a.originalEvent?a.originalEvent:a).preventDefault();break}}else a.preventDefault();b+=l;e+=f;k(\"snap.drag.move.\"+n.el.id,n.move_scope||n.el,b-n.el._drag.x,e-n.el._drag.y,b,e,a)}},l=function(b){a.unmousemove(e).unmouseup(l);for(var d=q.length,f;d--;)f=q[d],f.el._drag={},k(\"snap.drag.end.\"+f.el.id,f.end_scope||f.start_scope||f.move_scope||f.el,b);q=[]};for(y=v.length;y--;)(function(d){a[d]=A[d]=function(e,f){a.is(e,\"function\")&&(this.events=this.events||[],this.events.push({name:d,\n",
|
||
"f:e,unbind:b(this.node||document,d,e,f||this)}));return this};a[\"un\"+d]=A[\"un\"+d]=function(a){for(var b=this.events||[],e=b.length;e--;)if(b[e].name==d&&(b[e].f==a||!a)){b[e].unbind();b.splice(e,1);!b.length&&delete this.events;break}return this}})(v[y]);A.hover=function(a,b,d,e){return this.mouseover(a,d).mouseout(b,e||d)};A.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};var r=[];A.drag=function(b,d,f,h,n,p){function u(r,v,w){(r.originalEvent||r).preventDefault();this._drag.x=v;\n",
|
||
"this._drag.y=w;this._drag.id=r.identifier;!q.length&&a.mousemove(e).mouseup(l);q.push({el:this,move_scope:h,start_scope:n,end_scope:p});d&&k.on(\"snap.drag.start.\"+this.id,d);b&&k.on(\"snap.drag.move.\"+this.id,b);f&&k.on(\"snap.drag.end.\"+this.id,f);k(\"snap.drag.start.\"+this.id,n||h||this,v,w,r)}if(!arguments.length){var v;return this.drag(function(a,b){this.attr({transform:v+(v?\"T\":\"t\")+[a,b]})},function(){v=this.transform().local})}this._drag={};r.push({el:this,start:u});this.mousedown(u);return this};\n",
|
||
"A.undrag=function(){for(var b=r.length;b--;)r[b].el==this&&(this.unmousedown(r[b].start),r.splice(b,1),k.unbind(\"snap.drag.*.\"+this.id));!r.length&&a.unmousemove(e).unmouseup(l);return this}});C.plugin(function(a,v,y,C){y=y.prototype;var A=/^\\s*url\\((.+)\\)/,w=String,z=a._.$;a.filter={};y.filter=function(d){var f=this;\"svg\"!=f.type&&(f=f.paper);d=a.parse(w(d));var k=a._.id(),u=z(\"filter\");z(u,{id:k,filterUnits:\"userSpaceOnUse\"});u.appendChild(d.node);f.defs.appendChild(u);return new v(u)};k.on(\"snap.util.getattr.filter\",\n",
|
||
"function(){k.stop();var d=z(this.node,\"filter\");if(d)return(d=w(d).match(A))&&a.select(d[1])});k.on(\"snap.util.attr.filter\",function(d){if(d instanceof v&&\"filter\"==d.type){k.stop();var f=d.node.id;f||(z(d.node,{id:d.id}),f=d.id);z(this.node,{filter:a.url(f)})}d&&\"none\"!=d||(k.stop(),this.node.removeAttribute(\"filter\"))});a.filter.blur=function(d,f){null==d&&(d=2);return a.format('<feGaussianBlur stdDeviation=\"{def}\"/>',{def:null==f?d:[d,f]})};a.filter.blur.toString=function(){return this()};a.filter.shadow=\n",
|
||
"function(d,f,k,u,p){\"string\"==typeof k&&(p=u=k,k=4);\"string\"!=typeof u&&(p=u,u=\"#000\");null==k&&(k=4);null==p&&(p=1);null==d&&(d=0,f=2);null==f&&(f=d);u=a.color(u||\"#000\");return a.format('<feGaussianBlur in=\"SourceAlpha\" stdDeviation=\"{blur}\"/><feOffset dx=\"{dx}\" dy=\"{dy}\" result=\"offsetblur\"/><feFlood flood-color=\"{color}\"/><feComposite in2=\"offsetblur\" operator=\"in\"/><feComponentTransfer><feFuncA type=\"linear\" slope=\"{opacity}\"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in=\"SourceGraphic\"/></feMerge>',\n",
|
||
"{color:u,dx:d,dy:f,blur:k,opacity:p})};a.filter.shadow.toString=function(){return this()};a.filter.grayscale=function(d){null==d&&(d=1);return a.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {b} {h} 0 0 0 0 0 1 0\"/>',{a:0.2126+0.7874*(1-d),b:0.7152-0.7152*(1-d),c:0.0722-0.0722*(1-d),d:0.2126-0.2126*(1-d),e:0.7152+0.2848*(1-d),f:0.0722-0.0722*(1-d),g:0.2126-0.2126*(1-d),h:0.0722+0.9278*(1-d)})};a.filter.grayscale.toString=function(){return this()};a.filter.sepia=\n",
|
||
"function(d){null==d&&(d=1);return a.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {h} {i} 0 0 0 0 0 1 0\"/>',{a:0.393+0.607*(1-d),b:0.769-0.769*(1-d),c:0.189-0.189*(1-d),d:0.349-0.349*(1-d),e:0.686+0.314*(1-d),f:0.168-0.168*(1-d),g:0.272-0.272*(1-d),h:0.534-0.534*(1-d),i:0.131+0.869*(1-d)})};a.filter.sepia.toString=function(){return this()};a.filter.saturate=function(d){null==d&&(d=1);return a.format('<feColorMatrix type=\"saturate\" values=\"{amount}\"/>',{amount:1-\n",
|
||
"d})};a.filter.saturate.toString=function(){return this()};a.filter.hueRotate=function(d){return a.format('<feColorMatrix type=\"hueRotate\" values=\"{angle}\"/>',{angle:d||0})};a.filter.hueRotate.toString=function(){return this()};a.filter.invert=function(d){null==d&&(d=1);return a.format('<feComponentTransfer><feFuncR type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncG type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncB type=\"table\" tableValues=\"{amount} {amount2}\"/></feComponentTransfer>',{amount:d,\n",
|
||
"amount2:1-d})};a.filter.invert.toString=function(){return this()};a.filter.brightness=function(d){null==d&&(d=1);return a.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\"/><feFuncG type=\"linear\" slope=\"{amount}\"/><feFuncB type=\"linear\" slope=\"{amount}\"/></feComponentTransfer>',{amount:d})};a.filter.brightness.toString=function(){return this()};a.filter.contrast=function(d){null==d&&(d=1);return a.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncG type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncB type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/></feComponentTransfer>',\n",
|
||
"{amount:d,amount2:0.5-d/2})};a.filter.contrast.toString=function(){return this()}});return C});\n",
|
||
"\n",
|
||
"]]> </script>\n",
|
||
"<script> <![CDATA[\n",
|
||
"\n",
|
||
"(function (glob, factory) {\n",
|
||
" // AMD support\n",
|
||
" if (typeof define === \"function\" && define.amd) {\n",
|
||
" // Define as an anonymous module\n",
|
||
" define(\"Gadfly\", [\"Snap.svg\"], function (Snap) {\n",
|
||
" return factory(Snap);\n",
|
||
" });\n",
|
||
" } else {\n",
|
||
" // Browser globals (glob is window)\n",
|
||
" // Snap adds itself to window\n",
|
||
" glob.Gadfly = factory(glob.Snap);\n",
|
||
" }\n",
|
||
"}(this, function (Snap) {\n",
|
||
"\n",
|
||
"var Gadfly = {};\n",
|
||
"\n",
|
||
"// Get an x/y coordinate value in pixels\n",
|
||
"var xPX = function(fig, x) {\n",
|
||
" var client_box = fig.node.getBoundingClientRect();\n",
|
||
" return x * fig.node.viewBox.baseVal.width / client_box.width;\n",
|
||
"};\n",
|
||
"\n",
|
||
"var yPX = function(fig, y) {\n",
|
||
" var client_box = fig.node.getBoundingClientRect();\n",
|
||
" return y * fig.node.viewBox.baseVal.height / client_box.height;\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"Snap.plugin(function (Snap, Element, Paper, global) {\n",
|
||
" // Traverse upwards from a snap element to find and return the first\n",
|
||
" // note with the \"plotroot\" class.\n",
|
||
" Element.prototype.plotroot = function () {\n",
|
||
" var element = this;\n",
|
||
" while (!element.hasClass(\"plotroot\") && element.parent() != null) {\n",
|
||
" element = element.parent();\n",
|
||
" }\n",
|
||
" return element;\n",
|
||
" };\n",
|
||
"\n",
|
||
" Element.prototype.svgroot = function () {\n",
|
||
" var element = this;\n",
|
||
" while (element.node.nodeName != \"svg\" && element.parent() != null) {\n",
|
||
" element = element.parent();\n",
|
||
" }\n",
|
||
" return element;\n",
|
||
" };\n",
|
||
"\n",
|
||
" Element.prototype.plotbounds = function () {\n",
|
||
" var root = this.plotroot()\n",
|
||
" var bbox = root.select(\".guide.background\").node.getBBox();\n",
|
||
" return {\n",
|
||
" x0: bbox.x,\n",
|
||
" x1: bbox.x + bbox.width,\n",
|
||
" y0: bbox.y,\n",
|
||
" y1: bbox.y + bbox.height\n",
|
||
" };\n",
|
||
" };\n",
|
||
"\n",
|
||
" Element.prototype.plotcenter = function () {\n",
|
||
" var root = this.plotroot()\n",
|
||
" var bbox = root.select(\".guide.background\").node.getBBox();\n",
|
||
" return {\n",
|
||
" x: bbox.x + bbox.width / 2,\n",
|
||
" y: bbox.y + bbox.height / 2\n",
|
||
" };\n",
|
||
" };\n",
|
||
"\n",
|
||
" // Emulate IE style mouseenter/mouseleave events, since Microsoft always\n",
|
||
" // does everything right.\n",
|
||
" // See: http://www.dynamic-tools.net/toolbox/isMouseLeaveOrEnter/\n",
|
||
" var events = [\"mouseenter\", \"mouseleave\"];\n",
|
||
"\n",
|
||
" for (i in events) {\n",
|
||
" (function (event_name) {\n",
|
||
" var event_name = events[i];\n",
|
||
" Element.prototype[event_name] = function (fn, scope) {\n",
|
||
" if (Snap.is(fn, \"function\")) {\n",
|
||
" var fn2 = function (event) {\n",
|
||
" if (event.type != \"mouseover\" && event.type != \"mouseout\") {\n",
|
||
" return;\n",
|
||
" }\n",
|
||
"\n",
|
||
" var reltg = event.relatedTarget ? event.relatedTarget :\n",
|
||
" event.type == \"mouseout\" ? event.toElement : event.fromElement;\n",
|
||
" while (reltg && reltg != this.node) reltg = reltg.parentNode;\n",
|
||
"\n",
|
||
" if (reltg != this.node) {\n",
|
||
" return fn.apply(this, event);\n",
|
||
" }\n",
|
||
" };\n",
|
||
"\n",
|
||
" if (event_name == \"mouseenter\") {\n",
|
||
" this.mouseover(fn2, scope);\n",
|
||
" } else {\n",
|
||
" this.mouseout(fn2, scope);\n",
|
||
" }\n",
|
||
" }\n",
|
||
" return this;\n",
|
||
" };\n",
|
||
" })(events[i]);\n",
|
||
" }\n",
|
||
"\n",
|
||
"\n",
|
||
" Element.prototype.mousewheel = function (fn, scope) {\n",
|
||
" if (Snap.is(fn, \"function\")) {\n",
|
||
" var el = this;\n",
|
||
" var fn2 = function (event) {\n",
|
||
" fn.apply(el, [event]);\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" this.node.addEventListener(\n",
|
||
" /Firefox/i.test(navigator.userAgent) ? \"DOMMouseScroll\" : \"mousewheel\",\n",
|
||
" fn2);\n",
|
||
"\n",
|
||
" return this;\n",
|
||
" };\n",
|
||
"\n",
|
||
"\n",
|
||
" // Snap's attr function can be too slow for things like panning/zooming.\n",
|
||
" // This is a function to directly update element attributes without going\n",
|
||
" // through eve.\n",
|
||
" Element.prototype.attribute = function(key, val) {\n",
|
||
" if (val === undefined) {\n",
|
||
" return this.node.getAttribute(key);\n",
|
||
" } else {\n",
|
||
" this.node.setAttribute(key, val);\n",
|
||
" return this;\n",
|
||
" }\n",
|
||
" };\n",
|
||
"\n",
|
||
" Element.prototype.init_gadfly = function() {\n",
|
||
" this.mouseenter(Gadfly.plot_mouseover)\n",
|
||
" .mouseleave(Gadfly.plot_mouseout)\n",
|
||
" .dblclick(Gadfly.plot_dblclick)\n",
|
||
" .mousewheel(Gadfly.guide_background_scroll)\n",
|
||
" .drag(Gadfly.guide_background_drag_onmove,\n",
|
||
" Gadfly.guide_background_drag_onstart,\n",
|
||
" Gadfly.guide_background_drag_onend);\n",
|
||
" this.mouseenter(function (event) {\n",
|
||
" init_pan_zoom(this.plotroot());\n",
|
||
" });\n",
|
||
" return this;\n",
|
||
" };\n",
|
||
"});\n",
|
||
"\n",
|
||
"\n",
|
||
"// When the plot is moused over, emphasize the grid lines.\n",
|
||
"Gadfly.plot_mouseover = function(event) {\n",
|
||
" var root = this.plotroot();\n",
|
||
"\n",
|
||
" var keyboard_zoom = function(event) {\n",
|
||
" if (event.which == 187) { // plus\n",
|
||
" increase_zoom_by_position(root, 0.1, true);\n",
|
||
" } else if (event.which == 189) { // minus\n",
|
||
" increase_zoom_by_position(root, -0.1, true);\n",
|
||
" }\n",
|
||
" };\n",
|
||
" root.data(\"keyboard_zoom\", keyboard_zoom);\n",
|
||
" window.addEventListener(\"keyup\", keyboard_zoom);\n",
|
||
"\n",
|
||
" var xgridlines = root.select(\".xgridlines\"),\n",
|
||
" ygridlines = root.select(\".ygridlines\");\n",
|
||
"\n",
|
||
" xgridlines.data(\"unfocused_strokedash\",\n",
|
||
" xgridlines.attribute(\"stroke-dasharray\").replace(/(\\d)(,|$)/g, \"$1mm$2\"));\n",
|
||
" ygridlines.data(\"unfocused_strokedash\",\n",
|
||
" ygridlines.attribute(\"stroke-dasharray\").replace(/(\\d)(,|$)/g, \"$1mm$2\"));\n",
|
||
"\n",
|
||
" // emphasize grid lines\n",
|
||
" var destcolor = root.data(\"focused_xgrid_color\");\n",
|
||
" xgridlines.attribute(\"stroke-dasharray\", \"none\")\n",
|
||
" .selectAll(\"path\")\n",
|
||
" .animate({stroke: destcolor}, 250);\n",
|
||
"\n",
|
||
" destcolor = root.data(\"focused_ygrid_color\");\n",
|
||
" ygridlines.attribute(\"stroke-dasharray\", \"none\")\n",
|
||
" .selectAll(\"path\")\n",
|
||
" .animate({stroke: destcolor}, 250);\n",
|
||
"\n",
|
||
" // reveal zoom slider\n",
|
||
" root.select(\".zoomslider\")\n",
|
||
" .animate({opacity: 1.0}, 250);\n",
|
||
"};\n",
|
||
"\n",
|
||
"// Reset pan and zoom on double click\n",
|
||
"Gadfly.plot_dblclick = function(event) {\n",
|
||
" set_plot_pan_zoom(this.plotroot(), 0.0, 0.0, 1.0);\n",
|
||
"};\n",
|
||
"\n",
|
||
"// Unemphasize grid lines on mouse out.\n",
|
||
"Gadfly.plot_mouseout = function(event) {\n",
|
||
" var root = this.plotroot();\n",
|
||
"\n",
|
||
" window.removeEventListener(\"keyup\", root.data(\"keyboard_zoom\"));\n",
|
||
" root.data(\"keyboard_zoom\", undefined);\n",
|
||
"\n",
|
||
" var xgridlines = root.select(\".xgridlines\"),\n",
|
||
" ygridlines = root.select(\".ygridlines\");\n",
|
||
"\n",
|
||
" var destcolor = root.data(\"unfocused_xgrid_color\");\n",
|
||
"\n",
|
||
" xgridlines.attribute(\"stroke-dasharray\", xgridlines.data(\"unfocused_strokedash\"))\n",
|
||
" .selectAll(\"path\")\n",
|
||
" .animate({stroke: destcolor}, 250);\n",
|
||
"\n",
|
||
" destcolor = root.data(\"unfocused_ygrid_color\");\n",
|
||
" ygridlines.attribute(\"stroke-dasharray\", ygridlines.data(\"unfocused_strokedash\"))\n",
|
||
" .selectAll(\"path\")\n",
|
||
" .animate({stroke: destcolor}, 250);\n",
|
||
"\n",
|
||
" // hide zoom slider\n",
|
||
" root.select(\".zoomslider\")\n",
|
||
" .animate({opacity: 0.0}, 250);\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"var set_geometry_transform = function(root, tx, ty, scale) {\n",
|
||
" var xscalable = root.hasClass(\"xscalable\"),\n",
|
||
" yscalable = root.hasClass(\"yscalable\");\n",
|
||
"\n",
|
||
" var old_scale = root.data(\"scale\");\n",
|
||
"\n",
|
||
" var xscale = xscalable ? scale : 1.0,\n",
|
||
" yscale = yscalable ? scale : 1.0;\n",
|
||
"\n",
|
||
" tx = xscalable ? tx : 0.0;\n",
|
||
" ty = yscalable ? ty : 0.0;\n",
|
||
"\n",
|
||
" var t = new Snap.Matrix().translate(tx, ty).scale(xscale, yscale);\n",
|
||
"\n",
|
||
" root.selectAll(\".geometry, image\")\n",
|
||
" .forEach(function (element, i) {\n",
|
||
" element.transform(t);\n",
|
||
" });\n",
|
||
"\n",
|
||
" bounds = root.plotbounds();\n",
|
||
"\n",
|
||
" if (yscalable) {\n",
|
||
" var xfixed_t = new Snap.Matrix().translate(0, ty).scale(1.0, yscale);\n",
|
||
" root.selectAll(\".xfixed\")\n",
|
||
" .forEach(function (element, i) {\n",
|
||
" element.transform(xfixed_t);\n",
|
||
" });\n",
|
||
"\n",
|
||
" root.select(\".ylabels\")\n",
|
||
" .transform(xfixed_t)\n",
|
||
" .selectAll(\"text\")\n",
|
||
" .forEach(function (element, i) {\n",
|
||
" if (element.attribute(\"gadfly:inscale\") == \"true\") {\n",
|
||
" var cx = element.asPX(\"x\"),\n",
|
||
" cy = element.asPX(\"y\");\n",
|
||
" var st = element.data(\"static_transform\");\n",
|
||
" unscale_t = new Snap.Matrix();\n",
|
||
" unscale_t.scale(1, 1/scale, cx, cy).add(st);\n",
|
||
" element.transform(unscale_t);\n",
|
||
"\n",
|
||
" var y = cy * scale + ty;\n",
|
||
" element.attr(\"visibility\",\n",
|
||
" bounds.y0 <= y && y <= bounds.y1 ? \"visible\" : \"hidden\");\n",
|
||
" }\n",
|
||
" });\n",
|
||
" }\n",
|
||
"\n",
|
||
" if (xscalable) {\n",
|
||
" var yfixed_t = new Snap.Matrix().translate(tx, 0).scale(xscale, 1.0);\n",
|
||
" var xtrans = new Snap.Matrix().translate(tx, 0);\n",
|
||
" root.selectAll(\".yfixed\")\n",
|
||
" .forEach(function (element, i) {\n",
|
||
" element.transform(yfixed_t);\n",
|
||
" });\n",
|
||
"\n",
|
||
" root.select(\".xlabels\")\n",
|
||
" .transform(yfixed_t)\n",
|
||
" .selectAll(\"text\")\n",
|
||
" .forEach(function (element, i) {\n",
|
||
" if (element.attribute(\"gadfly:inscale\") == \"true\") {\n",
|
||
" var cx = element.asPX(\"x\"),\n",
|
||
" cy = element.asPX(\"y\");\n",
|
||
" var st = element.data(\"static_transform\");\n",
|
||
" unscale_t = new Snap.Matrix();\n",
|
||
" unscale_t.scale(1/scale, 1, cx, cy).add(st);\n",
|
||
"\n",
|
||
" element.transform(unscale_t);\n",
|
||
"\n",
|
||
" var x = cx * scale + tx;\n",
|
||
" element.attr(\"visibility\",\n",
|
||
" bounds.x0 <= x && x <= bounds.x1 ? \"visible\" : \"hidden\");\n",
|
||
" }\n",
|
||
" });\n",
|
||
" }\n",
|
||
"\n",
|
||
" // we must unscale anything that is scale invariance: widths, raiduses, etc.\n",
|
||
" var size_attribs = [\"font-size\"];\n",
|
||
" var unscaled_selection = \".geometry, .geometry *\";\n",
|
||
" if (xscalable) {\n",
|
||
" size_attribs.push(\"rx\");\n",
|
||
" unscaled_selection += \", .xgridlines\";\n",
|
||
" }\n",
|
||
" if (yscalable) {\n",
|
||
" size_attribs.push(\"ry\");\n",
|
||
" unscaled_selection += \", .ygridlines\";\n",
|
||
" }\n",
|
||
"\n",
|
||
" root.selectAll(unscaled_selection)\n",
|
||
" .forEach(function (element, i) {\n",
|
||
" // circle need special help\n",
|
||
" if (element.node.nodeName == \"circle\") {\n",
|
||
" var cx = element.attribute(\"cx\"),\n",
|
||
" cy = element.attribute(\"cy\");\n",
|
||
" unscale_t = new Snap.Matrix().scale(1/xscale, 1/yscale,\n",
|
||
" cx, cy);\n",
|
||
" element.transform(unscale_t);\n",
|
||
" return;\n",
|
||
" }\n",
|
||
"\n",
|
||
" for (i in size_attribs) {\n",
|
||
" var key = size_attribs[i];\n",
|
||
" var val = parseFloat(element.attribute(key));\n",
|
||
" if (val !== undefined && val != 0 && !isNaN(val)) {\n",
|
||
" element.attribute(key, val * old_scale / scale);\n",
|
||
" }\n",
|
||
" }\n",
|
||
" });\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"// Find the most appropriate tick scale and update label visibility.\n",
|
||
"var update_tickscale = function(root, scale, axis) {\n",
|
||
" if (!root.hasClass(axis + \"scalable\")) return;\n",
|
||
"\n",
|
||
" var tickscales = root.data(axis + \"tickscales\");\n",
|
||
" var best_tickscale = 1.0;\n",
|
||
" var best_tickscale_dist = Infinity;\n",
|
||
" for (tickscale in tickscales) {\n",
|
||
" var dist = Math.abs(Math.log(tickscale) - Math.log(scale));\n",
|
||
" if (dist < best_tickscale_dist) {\n",
|
||
" best_tickscale_dist = dist;\n",
|
||
" best_tickscale = tickscale;\n",
|
||
" }\n",
|
||
" }\n",
|
||
"\n",
|
||
" if (best_tickscale != root.data(axis + \"tickscale\")) {\n",
|
||
" root.data(axis + \"tickscale\", best_tickscale);\n",
|
||
" var mark_inscale_gridlines = function (element, i) {\n",
|
||
" var inscale = element.attr(\"gadfly:scale\") == best_tickscale;\n",
|
||
" element.attribute(\"gadfly:inscale\", inscale);\n",
|
||
" element.attr(\"visibility\", inscale ? \"visible\" : \"hidden\");\n",
|
||
" };\n",
|
||
"\n",
|
||
" var mark_inscale_labels = function (element, i) {\n",
|
||
" var inscale = element.attr(\"gadfly:scale\") == best_tickscale;\n",
|
||
" element.attribute(\"gadfly:inscale\", inscale);\n",
|
||
" element.attr(\"visibility\", inscale ? \"visible\" : \"hidden\");\n",
|
||
" };\n",
|
||
"\n",
|
||
" root.select(\".\" + axis + \"gridlines\").selectAll(\"path\").forEach(mark_inscale_gridlines);\n",
|
||
" root.select(\".\" + axis + \"labels\").selectAll(\"text\").forEach(mark_inscale_labels);\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"var set_plot_pan_zoom = function(root, tx, ty, scale) {\n",
|
||
" var old_scale = root.data(\"scale\");\n",
|
||
" var bounds = root.plotbounds();\n",
|
||
"\n",
|
||
" var width = bounds.x1 - bounds.x0,\n",
|
||
" height = bounds.y1 - bounds.y0;\n",
|
||
"\n",
|
||
" // compute the viewport derived from tx, ty, and scale\n",
|
||
" var x_min = -width * scale - (scale * width - width),\n",
|
||
" x_max = width * scale,\n",
|
||
" y_min = -height * scale - (scale * height - height),\n",
|
||
" y_max = height * scale;\n",
|
||
"\n",
|
||
" var x0 = bounds.x0 - scale * bounds.x0,\n",
|
||
" y0 = bounds.y0 - scale * bounds.y0;\n",
|
||
"\n",
|
||
" var tx = Math.max(Math.min(tx - x0, x_max), x_min),\n",
|
||
" ty = Math.max(Math.min(ty - y0, y_max), y_min);\n",
|
||
"\n",
|
||
" tx += x0;\n",
|
||
" ty += y0;\n",
|
||
"\n",
|
||
" // when the scale change, we may need to alter which set of\n",
|
||
" // ticks is being displayed\n",
|
||
" if (scale != old_scale) {\n",
|
||
" update_tickscale(root, scale, \"x\");\n",
|
||
" update_tickscale(root, scale, \"y\");\n",
|
||
" }\n",
|
||
"\n",
|
||
" set_geometry_transform(root, tx, ty, scale);\n",
|
||
"\n",
|
||
" root.data(\"scale\", scale);\n",
|
||
" root.data(\"tx\", tx);\n",
|
||
" root.data(\"ty\", ty);\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"var scale_centered_translation = function(root, scale) {\n",
|
||
" var bounds = root.plotbounds();\n",
|
||
"\n",
|
||
" var width = bounds.x1 - bounds.x0,\n",
|
||
" height = bounds.y1 - bounds.y0;\n",
|
||
"\n",
|
||
" var tx0 = root.data(\"tx\"),\n",
|
||
" ty0 = root.data(\"ty\");\n",
|
||
"\n",
|
||
" var scale0 = root.data(\"scale\");\n",
|
||
"\n",
|
||
" // how off from center the current view is\n",
|
||
" var xoff = tx0 - (bounds.x0 * (1 - scale0) + (width * (1 - scale0)) / 2),\n",
|
||
" yoff = ty0 - (bounds.y0 * (1 - scale0) + (height * (1 - scale0)) / 2);\n",
|
||
"\n",
|
||
" // rescale offsets\n",
|
||
" xoff = xoff * scale / scale0;\n",
|
||
" yoff = yoff * scale / scale0;\n",
|
||
"\n",
|
||
" // adjust for the panel position being scaled\n",
|
||
" var x_edge_adjust = bounds.x0 * (1 - scale),\n",
|
||
" y_edge_adjust = bounds.y0 * (1 - scale);\n",
|
||
"\n",
|
||
" return {\n",
|
||
" x: xoff + x_edge_adjust + (width - width * scale) / 2,\n",
|
||
" y: yoff + y_edge_adjust + (height - height * scale) / 2\n",
|
||
" };\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"// Initialize data for panning zooming if it isn't already.\n",
|
||
"var init_pan_zoom = function(root) {\n",
|
||
" if (root.data(\"zoompan-ready\")) {\n",
|
||
" return;\n",
|
||
" }\n",
|
||
"\n",
|
||
" // The non-scaling-stroke trick. Rather than try to correct for the\n",
|
||
" // stroke-width when zooming, we force it to a fixed value.\n",
|
||
" var px_per_mm = root.node.getCTM().a;\n",
|
||
"\n",
|
||
" // Drag events report deltas in pixels, which we'd like to convert to\n",
|
||
" // millimeters.\n",
|
||
" root.data(\"px_per_mm\", px_per_mm);\n",
|
||
"\n",
|
||
" root.selectAll(\"path\")\n",
|
||
" .forEach(function (element, i) {\n",
|
||
" sw = element.asPX(\"stroke-width\") * px_per_mm;\n",
|
||
" if (sw > 0) {\n",
|
||
" element.attribute(\"stroke-width\", sw);\n",
|
||
" element.attribute(\"vector-effect\", \"non-scaling-stroke\");\n",
|
||
" }\n",
|
||
" });\n",
|
||
"\n",
|
||
" // Store ticks labels original tranformation\n",
|
||
" root.selectAll(\".xlabels > text, .ylabels > text\")\n",
|
||
" .forEach(function (element, i) {\n",
|
||
" var lm = element.transform().localMatrix;\n",
|
||
" element.data(\"static_transform\",\n",
|
||
" new Snap.Matrix(lm.a, lm.b, lm.c, lm.d, lm.e, lm.f));\n",
|
||
" });\n",
|
||
"\n",
|
||
" var xgridlines = root.select(\".xgridlines\");\n",
|
||
" var ygridlines = root.select(\".ygridlines\");\n",
|
||
" var xlabels = root.select(\".xlabels\");\n",
|
||
" var ylabels = root.select(\".ylabels\");\n",
|
||
"\n",
|
||
" if (root.data(\"tx\") === undefined) root.data(\"tx\", 0);\n",
|
||
" if (root.data(\"ty\") === undefined) root.data(\"ty\", 0);\n",
|
||
" if (root.data(\"scale\") === undefined) root.data(\"scale\", 1.0);\n",
|
||
" if (root.data(\"xtickscales\") === undefined) {\n",
|
||
"\n",
|
||
" // index all the tick scales that are listed\n",
|
||
" var xtickscales = {};\n",
|
||
" var ytickscales = {};\n",
|
||
" var add_x_tick_scales = function (element, i) {\n",
|
||
" xtickscales[element.attribute(\"gadfly:scale\")] = true;\n",
|
||
" };\n",
|
||
" var add_y_tick_scales = function (element, i) {\n",
|
||
" ytickscales[element.attribute(\"gadfly:scale\")] = true;\n",
|
||
" };\n",
|
||
"\n",
|
||
" if (xgridlines) xgridlines.selectAll(\"path\").forEach(add_x_tick_scales);\n",
|
||
" if (ygridlines) ygridlines.selectAll(\"path\").forEach(add_y_tick_scales);\n",
|
||
" if (xlabels) xlabels.selectAll(\"text\").forEach(add_x_tick_scales);\n",
|
||
" if (ylabels) ylabels.selectAll(\"text\").forEach(add_y_tick_scales);\n",
|
||
"\n",
|
||
" root.data(\"xtickscales\", xtickscales);\n",
|
||
" root.data(\"ytickscales\", ytickscales);\n",
|
||
" root.data(\"xtickscale\", 1.0);\n",
|
||
" }\n",
|
||
"\n",
|
||
" var min_scale = 1.0, max_scale = 1.0;\n",
|
||
" for (scale in xtickscales) {\n",
|
||
" min_scale = Math.min(min_scale, scale);\n",
|
||
" max_scale = Math.max(max_scale, scale);\n",
|
||
" }\n",
|
||
" for (scale in ytickscales) {\n",
|
||
" min_scale = Math.min(min_scale, scale);\n",
|
||
" max_scale = Math.max(max_scale, scale);\n",
|
||
" }\n",
|
||
" root.data(\"min_scale\", min_scale);\n",
|
||
" root.data(\"max_scale\", max_scale);\n",
|
||
"\n",
|
||
" // store the original positions of labels\n",
|
||
" if (xlabels) {\n",
|
||
" xlabels.selectAll(\"text\")\n",
|
||
" .forEach(function (element, i) {\n",
|
||
" element.data(\"x\", element.asPX(\"x\"));\n",
|
||
" });\n",
|
||
" }\n",
|
||
"\n",
|
||
" if (ylabels) {\n",
|
||
" ylabels.selectAll(\"text\")\n",
|
||
" .forEach(function (element, i) {\n",
|
||
" element.data(\"y\", element.asPX(\"y\"));\n",
|
||
" });\n",
|
||
" }\n",
|
||
"\n",
|
||
" // mark grid lines and ticks as in or out of scale.\n",
|
||
" var mark_inscale = function (element, i) {\n",
|
||
" element.attribute(\"gadfly:inscale\", element.attribute(\"gadfly:scale\") == 1.0);\n",
|
||
" };\n",
|
||
"\n",
|
||
" if (xgridlines) xgridlines.selectAll(\"path\").forEach(mark_inscale);\n",
|
||
" if (ygridlines) ygridlines.selectAll(\"path\").forEach(mark_inscale);\n",
|
||
" if (xlabels) xlabels.selectAll(\"text\").forEach(mark_inscale);\n",
|
||
" if (ylabels) ylabels.selectAll(\"text\").forEach(mark_inscale);\n",
|
||
"\n",
|
||
" // figure out the upper ond lower bounds on panning using the maximum\n",
|
||
" // and minum grid lines\n",
|
||
" var bounds = root.plotbounds();\n",
|
||
" var pan_bounds = {\n",
|
||
" x0: 0.0,\n",
|
||
" y0: 0.0,\n",
|
||
" x1: 0.0,\n",
|
||
" y1: 0.0\n",
|
||
" };\n",
|
||
"\n",
|
||
" if (xgridlines) {\n",
|
||
" xgridlines\n",
|
||
" .selectAll(\"path\")\n",
|
||
" .forEach(function (element, i) {\n",
|
||
" if (element.attribute(\"gadfly:inscale\") == \"true\") {\n",
|
||
" var bbox = element.node.getBBox();\n",
|
||
" if (bounds.x1 - bbox.x < pan_bounds.x0) {\n",
|
||
" pan_bounds.x0 = bounds.x1 - bbox.x;\n",
|
||
" }\n",
|
||
" if (bounds.x0 - bbox.x > pan_bounds.x1) {\n",
|
||
" pan_bounds.x1 = bounds.x0 - bbox.x;\n",
|
||
" }\n",
|
||
" element.attr(\"visibility\", \"visible\");\n",
|
||
" }\n",
|
||
" });\n",
|
||
" }\n",
|
||
"\n",
|
||
" if (ygridlines) {\n",
|
||
" ygridlines\n",
|
||
" .selectAll(\"path\")\n",
|
||
" .forEach(function (element, i) {\n",
|
||
" if (element.attribute(\"gadfly:inscale\") == \"true\") {\n",
|
||
" var bbox = element.node.getBBox();\n",
|
||
" if (bounds.y1 - bbox.y < pan_bounds.y0) {\n",
|
||
" pan_bounds.y0 = bounds.y1 - bbox.y;\n",
|
||
" }\n",
|
||
" if (bounds.y0 - bbox.y > pan_bounds.y1) {\n",
|
||
" pan_bounds.y1 = bounds.y0 - bbox.y;\n",
|
||
" }\n",
|
||
" element.attr(\"visibility\", \"visible\");\n",
|
||
" }\n",
|
||
" });\n",
|
||
" }\n",
|
||
"\n",
|
||
" // nudge these values a little\n",
|
||
" pan_bounds.x0 -= 5;\n",
|
||
" pan_bounds.x1 += 5;\n",
|
||
" pan_bounds.y0 -= 5;\n",
|
||
" pan_bounds.y1 += 5;\n",
|
||
" root.data(\"pan_bounds\", pan_bounds);\n",
|
||
"\n",
|
||
" root.data(\"zoompan-ready\", true)\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"// drag actions, i.e. zooming and panning\n",
|
||
"var pan_action = {\n",
|
||
" start: function(root, x, y, event) {\n",
|
||
" root.data(\"dx\", 0);\n",
|
||
" root.data(\"dy\", 0);\n",
|
||
" root.data(\"tx0\", root.data(\"tx\"));\n",
|
||
" root.data(\"ty0\", root.data(\"ty\"));\n",
|
||
" },\n",
|
||
" update: function(root, dx, dy, x, y, event) {\n",
|
||
" var px_per_mm = root.data(\"px_per_mm\");\n",
|
||
" dx /= px_per_mm;\n",
|
||
" dy /= px_per_mm;\n",
|
||
"\n",
|
||
" var tx0 = root.data(\"tx\"),\n",
|
||
" ty0 = root.data(\"ty\");\n",
|
||
"\n",
|
||
" var dx0 = root.data(\"dx\"),\n",
|
||
" dy0 = root.data(\"dy\");\n",
|
||
"\n",
|
||
" root.data(\"dx\", dx);\n",
|
||
" root.data(\"dy\", dy);\n",
|
||
"\n",
|
||
" dx = dx - dx0;\n",
|
||
" dy = dy - dy0;\n",
|
||
"\n",
|
||
" var tx = tx0 + dx,\n",
|
||
" ty = ty0 + dy;\n",
|
||
"\n",
|
||
" set_plot_pan_zoom(root, tx, ty, root.data(\"scale\"));\n",
|
||
" },\n",
|
||
" end: function(root, event) {\n",
|
||
"\n",
|
||
" },\n",
|
||
" cancel: function(root) {\n",
|
||
" set_plot_pan_zoom(root, root.data(\"tx0\"), root.data(\"ty0\"), root.data(\"scale\"));\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"var zoom_box;\n",
|
||
"var zoom_action = {\n",
|
||
" start: function(root, x, y, event) {\n",
|
||
" var bounds = root.plotbounds();\n",
|
||
" var width = bounds.x1 - bounds.x0,\n",
|
||
" height = bounds.y1 - bounds.y0;\n",
|
||
" var ratio = width / height;\n",
|
||
" var xscalable = root.hasClass(\"xscalable\"),\n",
|
||
" yscalable = root.hasClass(\"yscalable\");\n",
|
||
" var px_per_mm = root.data(\"px_per_mm\");\n",
|
||
" x = xscalable ? x / px_per_mm : bounds.x0;\n",
|
||
" y = yscalable ? y / px_per_mm : bounds.y0;\n",
|
||
" var w = xscalable ? 0 : width;\n",
|
||
" var h = yscalable ? 0 : height;\n",
|
||
" zoom_box = root.rect(x, y, w, h).attr({\n",
|
||
" \"fill\": \"#000\",\n",
|
||
" \"opacity\": 0.25\n",
|
||
" });\n",
|
||
" zoom_box.data(\"ratio\", ratio);\n",
|
||
" },\n",
|
||
" update: function(root, dx, dy, x, y, event) {\n",
|
||
" var xscalable = root.hasClass(\"xscalable\"),\n",
|
||
" yscalable = root.hasClass(\"yscalable\");\n",
|
||
" var px_per_mm = root.data(\"px_per_mm\");\n",
|
||
" var bounds = root.plotbounds();\n",
|
||
" if (yscalable) {\n",
|
||
" y /= px_per_mm;\n",
|
||
" y = Math.max(bounds.y0, y);\n",
|
||
" y = Math.min(bounds.y1, y);\n",
|
||
" } else {\n",
|
||
" y = bounds.y1;\n",
|
||
" }\n",
|
||
" if (xscalable) {\n",
|
||
" x /= px_per_mm;\n",
|
||
" x = Math.max(bounds.x0, x);\n",
|
||
" x = Math.min(bounds.x1, x);\n",
|
||
" } else {\n",
|
||
" x = bounds.x1;\n",
|
||
" }\n",
|
||
"\n",
|
||
" dx = x - zoom_box.attr(\"x\");\n",
|
||
" dy = y - zoom_box.attr(\"y\");\n",
|
||
" if (xscalable && yscalable) {\n",
|
||
" var ratio = zoom_box.data(\"ratio\");\n",
|
||
" var width = Math.min(Math.abs(dx), ratio * Math.abs(dy));\n",
|
||
" var height = Math.min(Math.abs(dy), Math.abs(dx) / ratio);\n",
|
||
" dx = width * dx / Math.abs(dx);\n",
|
||
" dy = height * dy / Math.abs(dy);\n",
|
||
" }\n",
|
||
" var xoffset = 0,\n",
|
||
" yoffset = 0;\n",
|
||
" if (dx < 0) {\n",
|
||
" xoffset = dx;\n",
|
||
" dx = -1 * dx;\n",
|
||
" }\n",
|
||
" if (dy < 0) {\n",
|
||
" yoffset = dy;\n",
|
||
" dy = -1 * dy;\n",
|
||
" }\n",
|
||
" if (isNaN(dy)) {\n",
|
||
" dy = 0.0;\n",
|
||
" }\n",
|
||
" if (isNaN(dx)) {\n",
|
||
" dx = 0.0;\n",
|
||
" }\n",
|
||
" zoom_box.transform(\"T\" + xoffset + \",\" + yoffset);\n",
|
||
" zoom_box.attr(\"width\", dx);\n",
|
||
" zoom_box.attr(\"height\", dy);\n",
|
||
" },\n",
|
||
" end: function(root, event) {\n",
|
||
" var xscalable = root.hasClass(\"xscalable\"),\n",
|
||
" yscalable = root.hasClass(\"yscalable\");\n",
|
||
" var zoom_bounds = zoom_box.getBBox();\n",
|
||
" if (zoom_bounds.width * zoom_bounds.height <= 0) {\n",
|
||
" return;\n",
|
||
" }\n",
|
||
" var plot_bounds = root.plotbounds();\n",
|
||
" var zoom_factor = 1.0;\n",
|
||
" if (yscalable) {\n",
|
||
" zoom_factor = (plot_bounds.y1 - plot_bounds.y0) / zoom_bounds.height;\n",
|
||
" } else {\n",
|
||
" zoom_factor = (plot_bounds.x1 - plot_bounds.x0) / zoom_bounds.width;\n",
|
||
" }\n",
|
||
" var tx = (root.data(\"tx\") - zoom_bounds.x) * zoom_factor + plot_bounds.x0,\n",
|
||
" ty = (root.data(\"ty\") - zoom_bounds.y) * zoom_factor + plot_bounds.y0;\n",
|
||
" set_plot_pan_zoom(root, tx, ty, root.data(\"scale\") * zoom_factor);\n",
|
||
" zoom_box.remove();\n",
|
||
" },\n",
|
||
" cancel: function(root) {\n",
|
||
" zoom_box.remove();\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"Gadfly.guide_background_drag_onstart = function(x, y, event) {\n",
|
||
" var root = this.plotroot();\n",
|
||
" var scalable = root.hasClass(\"xscalable\") || root.hasClass(\"yscalable\");\n",
|
||
" var zoomable = !event.altKey && !event.ctrlKey && event.shiftKey && scalable;\n",
|
||
" var panable = !event.altKey && !event.ctrlKey && !event.shiftKey && scalable;\n",
|
||
" var drag_action = zoomable ? zoom_action :\n",
|
||
" panable ? pan_action :\n",
|
||
" undefined;\n",
|
||
" root.data(\"drag_action\", drag_action);\n",
|
||
" if (drag_action) {\n",
|
||
" var cancel_drag_action = function(event) {\n",
|
||
" if (event.which == 27) { // esc key\n",
|
||
" drag_action.cancel(root);\n",
|
||
" root.data(\"drag_action\", undefined);\n",
|
||
" }\n",
|
||
" };\n",
|
||
" window.addEventListener(\"keyup\", cancel_drag_action);\n",
|
||
" root.data(\"cancel_drag_action\", cancel_drag_action);\n",
|
||
" drag_action.start(root, x, y, event);\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"Gadfly.guide_background_drag_onmove = function(dx, dy, x, y, event) {\n",
|
||
" var root = this.plotroot();\n",
|
||
" var drag_action = root.data(\"drag_action\");\n",
|
||
" if (drag_action) {\n",
|
||
" drag_action.update(root, dx, dy, x, y, event);\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"Gadfly.guide_background_drag_onend = function(event) {\n",
|
||
" var root = this.plotroot();\n",
|
||
" window.removeEventListener(\"keyup\", root.data(\"cancel_drag_action\"));\n",
|
||
" root.data(\"cancel_drag_action\", undefined);\n",
|
||
" var drag_action = root.data(\"drag_action\");\n",
|
||
" if (drag_action) {\n",
|
||
" drag_action.end(root, event);\n",
|
||
" }\n",
|
||
" root.data(\"drag_action\", undefined);\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"Gadfly.guide_background_scroll = function(event) {\n",
|
||
" if (event.shiftKey) {\n",
|
||
" increase_zoom_by_position(this.plotroot(), 0.001 * event.wheelDelta);\n",
|
||
" event.preventDefault();\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"Gadfly.zoomslider_button_mouseover = function(event) {\n",
|
||
" this.select(\".button_logo\")\n",
|
||
" .animate({fill: this.data(\"mouseover_color\")}, 100);\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"Gadfly.zoomslider_button_mouseout = function(event) {\n",
|
||
" this.select(\".button_logo\")\n",
|
||
" .animate({fill: this.data(\"mouseout_color\")}, 100);\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"Gadfly.zoomslider_zoomout_click = function(event) {\n",
|
||
" increase_zoom_by_position(this.plotroot(), -0.1, true);\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"Gadfly.zoomslider_zoomin_click = function(event) {\n",
|
||
" increase_zoom_by_position(this.plotroot(), 0.1, true);\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"Gadfly.zoomslider_track_click = function(event) {\n",
|
||
" // TODO\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"// Map slider position x to scale y using the function y = a*exp(b*x)+c.\n",
|
||
"// The constants a, b, and c are solved using the constraint that the function\n",
|
||
"// should go through the points (0; min_scale), (0.5; 1), and (1; max_scale).\n",
|
||
"var scale_from_slider_position = function(position, min_scale, max_scale) {\n",
|
||
" var a = (1 - 2 * min_scale + min_scale * min_scale) / (min_scale + max_scale - 2),\n",
|
||
" b = 2 * Math.log((max_scale - 1) / (1 - min_scale)),\n",
|
||
" c = (min_scale * max_scale - 1) / (min_scale + max_scale - 2);\n",
|
||
" return a * Math.exp(b * position) + c;\n",
|
||
"}\n",
|
||
"\n",
|
||
"// inverse of scale_from_slider_position\n",
|
||
"var slider_position_from_scale = function(scale, min_scale, max_scale) {\n",
|
||
" var a = (1 - 2 * min_scale + min_scale * min_scale) / (min_scale + max_scale - 2),\n",
|
||
" b = 2 * Math.log((max_scale - 1) / (1 - min_scale)),\n",
|
||
" c = (min_scale * max_scale - 1) / (min_scale + max_scale - 2);\n",
|
||
" return 1 / b * Math.log((scale - c) / a);\n",
|
||
"}\n",
|
||
"\n",
|
||
"var increase_zoom_by_position = function(root, delta_position, animate) {\n",
|
||
" var scale = root.data(\"scale\"),\n",
|
||
" min_scale = root.data(\"min_scale\"),\n",
|
||
" max_scale = root.data(\"max_scale\");\n",
|
||
" var position = slider_position_from_scale(scale, min_scale, max_scale);\n",
|
||
" position += delta_position;\n",
|
||
" scale = scale_from_slider_position(position, min_scale, max_scale);\n",
|
||
" set_zoom(root, scale, animate);\n",
|
||
"}\n",
|
||
"\n",
|
||
"var set_zoom = function(root, scale, animate) {\n",
|
||
" var min_scale = root.data(\"min_scale\"),\n",
|
||
" max_scale = root.data(\"max_scale\"),\n",
|
||
" old_scale = root.data(\"scale\");\n",
|
||
" var new_scale = Math.max(min_scale, Math.min(scale, max_scale));\n",
|
||
" if (animate) {\n",
|
||
" Snap.animate(\n",
|
||
" old_scale,\n",
|
||
" new_scale,\n",
|
||
" function (new_scale) {\n",
|
||
" update_plot_scale(root, new_scale);\n",
|
||
" },\n",
|
||
" 200);\n",
|
||
" } else {\n",
|
||
" update_plot_scale(root, new_scale);\n",
|
||
" }\n",
|
||
"}\n",
|
||
"\n",
|
||
"\n",
|
||
"var update_plot_scale = function(root, new_scale) {\n",
|
||
" var trans = scale_centered_translation(root, new_scale);\n",
|
||
" set_plot_pan_zoom(root, trans.x, trans.y, new_scale);\n",
|
||
"\n",
|
||
" root.selectAll(\".zoomslider_thumb\")\n",
|
||
" .forEach(function (element, i) {\n",
|
||
" var min_pos = element.data(\"min_pos\"),\n",
|
||
" max_pos = element.data(\"max_pos\"),\n",
|
||
" min_scale = root.data(\"min_scale\"),\n",
|
||
" max_scale = root.data(\"max_scale\");\n",
|
||
" var xmid = (min_pos + max_pos) / 2;\n",
|
||
" var xpos = slider_position_from_scale(new_scale, min_scale, max_scale);\n",
|
||
" element.transform(new Snap.Matrix().translate(\n",
|
||
" Math.max(min_pos, Math.min(\n",
|
||
" max_pos, min_pos + (max_pos - min_pos) * xpos)) - xmid, 0));\n",
|
||
" });\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"Gadfly.zoomslider_thumb_dragmove = function(dx, dy, x, y, event) {\n",
|
||
" var root = this.plotroot();\n",
|
||
" var min_pos = this.data(\"min_pos\"),\n",
|
||
" max_pos = this.data(\"max_pos\"),\n",
|
||
" min_scale = root.data(\"min_scale\"),\n",
|
||
" max_scale = root.data(\"max_scale\"),\n",
|
||
" old_scale = root.data(\"old_scale\");\n",
|
||
"\n",
|
||
" var px_per_mm = root.data(\"px_per_mm\");\n",
|
||
" dx /= px_per_mm;\n",
|
||
" dy /= px_per_mm;\n",
|
||
"\n",
|
||
" var xmid = (min_pos + max_pos) / 2;\n",
|
||
" var xpos = slider_position_from_scale(old_scale, min_scale, max_scale) +\n",
|
||
" dx / (max_pos - min_pos);\n",
|
||
"\n",
|
||
" // compute the new scale\n",
|
||
" var new_scale = scale_from_slider_position(xpos, min_scale, max_scale);\n",
|
||
" new_scale = Math.min(max_scale, Math.max(min_scale, new_scale));\n",
|
||
"\n",
|
||
" update_plot_scale(root, new_scale);\n",
|
||
" event.stopPropagation();\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"Gadfly.zoomslider_thumb_dragstart = function(x, y, event) {\n",
|
||
" this.animate({fill: this.data(\"mouseover_color\")}, 100);\n",
|
||
" var root = this.plotroot();\n",
|
||
"\n",
|
||
" // keep track of what the scale was when we started dragging\n",
|
||
" root.data(\"old_scale\", root.data(\"scale\"));\n",
|
||
" event.stopPropagation();\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"Gadfly.zoomslider_thumb_dragend = function(event) {\n",
|
||
" this.animate({fill: this.data(\"mouseout_color\")}, 100);\n",
|
||
" event.stopPropagation();\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"var toggle_color_class = function(root, color_class, ison) {\n",
|
||
" var guides = root.selectAll(\".guide.\" + color_class + \",.guide .\" + color_class);\n",
|
||
" var geoms = root.selectAll(\".geometry.\" + color_class + \",.geometry .\" + color_class);\n",
|
||
" if (ison) {\n",
|
||
" guides.animate({opacity: 0.5}, 250);\n",
|
||
" geoms.animate({opacity: 0.0}, 250);\n",
|
||
" } else {\n",
|
||
" guides.animate({opacity: 1.0}, 250);\n",
|
||
" geoms.animate({opacity: 1.0}, 250);\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"Gadfly.colorkey_swatch_click = function(event) {\n",
|
||
" var root = this.plotroot();\n",
|
||
" var color_class = this.data(\"color_class\");\n",
|
||
"\n",
|
||
" if (event.shiftKey) {\n",
|
||
" root.selectAll(\".colorkey text\")\n",
|
||
" .forEach(function (element) {\n",
|
||
" var other_color_class = element.data(\"color_class\");\n",
|
||
" if (other_color_class != color_class) {\n",
|
||
" toggle_color_class(root, other_color_class,\n",
|
||
" element.attr(\"opacity\") == 1.0);\n",
|
||
" }\n",
|
||
" });\n",
|
||
" } else {\n",
|
||
" toggle_color_class(root, color_class, this.attr(\"opacity\") == 1.0);\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"\n",
|
||
"return Gadfly;\n",
|
||
"\n",
|
||
"}));\n",
|
||
"\n",
|
||
"\n",
|
||
"//@ sourceURL=gadfly.js\n",
|
||
"\n",
|
||
"(function (glob, factory) {\n",
|
||
" // AMD support\n",
|
||
" if (typeof require === \"function\" && typeof define === \"function\" && define.amd) {\n",
|
||
" require([\"Snap.svg\", \"Gadfly\"], function (Snap, Gadfly) {\n",
|
||
" factory(Snap, Gadfly);\n",
|
||
" });\n",
|
||
" } else {\n",
|
||
" factory(glob.Snap, glob.Gadfly);\n",
|
||
" }\n",
|
||
"})(window, function (Snap, Gadfly) {\n",
|
||
" var fig = Snap(\"#img-9c166513\");\n",
|
||
"fig.select(\"#img-9c166513-5\")\n",
|
||
" .init_gadfly();\n",
|
||
"fig.select(\"#img-9c166513-7\")\n",
|
||
" .plotroot().data(\"unfocused_ygrid_color\", \"#D0D0E0\")\n",
|
||
";\n",
|
||
"fig.select(\"#img-9c166513-7\")\n",
|
||
" .plotroot().data(\"focused_ygrid_color\", \"#A0A0A0\")\n",
|
||
";\n",
|
||
"fig.select(\"#img-9c166513-8\")\n",
|
||
" .plotroot().data(\"unfocused_xgrid_color\", \"#D0D0E0\")\n",
|
||
";\n",
|
||
"fig.select(\"#img-9c166513-8\")\n",
|
||
" .plotroot().data(\"focused_xgrid_color\", \"#A0A0A0\")\n",
|
||
";\n",
|
||
"fig.select(\"#img-9c166513-20\")\n",
|
||
" .data(\"mouseover_color\", \"#CD5C5C\")\n",
|
||
";\n",
|
||
"fig.select(\"#img-9c166513-20\")\n",
|
||
" .data(\"mouseout_color\", \"#6A6A6A\")\n",
|
||
";\n",
|
||
"fig.select(\"#img-9c166513-20\")\n",
|
||
" .click(Gadfly.zoomslider_zoomin_click)\n",
|
||
".mouseenter(Gadfly.zoomslider_button_mouseover)\n",
|
||
".mouseleave(Gadfly.zoomslider_button_mouseout)\n",
|
||
";\n",
|
||
"fig.select(\"#img-9c166513-22\")\n",
|
||
" .data(\"max_pos\", 79)\n",
|
||
";\n",
|
||
"fig.select(\"#img-9c166513-22\")\n",
|
||
" .data(\"min_pos\", 62)\n",
|
||
";\n",
|
||
"fig.select(\"#img-9c166513-22\")\n",
|
||
" .click(Gadfly.zoomslider_track_click);\n",
|
||
"fig.select(\"#img-9c166513-23\")\n",
|
||
" .data(\"max_pos\", 79)\n",
|
||
";\n",
|
||
"fig.select(\"#img-9c166513-23\")\n",
|
||
" .data(\"min_pos\", 62)\n",
|
||
";\n",
|
||
"fig.select(\"#img-9c166513-23\")\n",
|
||
" .data(\"mouseover_color\", \"#CD5C5C\")\n",
|
||
";\n",
|
||
"fig.select(\"#img-9c166513-23\")\n",
|
||
" .data(\"mouseout_color\", \"#6A6A6A\")\n",
|
||
";\n",
|
||
"fig.select(\"#img-9c166513-23\")\n",
|
||
" .drag(Gadfly.zoomslider_thumb_dragmove,\n",
|
||
" Gadfly.zoomslider_thumb_dragstart,\n",
|
||
" Gadfly.zoomslider_thumb_dragend)\n",
|
||
";\n",
|
||
"fig.select(\"#img-9c166513-24\")\n",
|
||
" .data(\"mouseover_color\", \"#CD5C5C\")\n",
|
||
";\n",
|
||
"fig.select(\"#img-9c166513-24\")\n",
|
||
" .data(\"mouseout_color\", \"#6A6A6A\")\n",
|
||
";\n",
|
||
"fig.select(\"#img-9c166513-24\")\n",
|
||
" .click(Gadfly.zoomslider_zoomout_click)\n",
|
||
".mouseenter(Gadfly.zoomslider_button_mouseover)\n",
|
||
".mouseleave(Gadfly.zoomslider_button_mouseout)\n",
|
||
";\n",
|
||
" });\n",
|
||
"]]> </script>\n",
|
||
"</svg>\n"
|
||
],
|
||
"text/plain": [
|
||
"Plot(...)"
|
||
]
|
||
},
|
||
"execution_count": 3,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"el = Seg3([1, 2, 3])\n",
|
||
"el[\"geometry\"] = Node[[-0.2, -0.1], [1.0, 0.8], [0.2, 0.7]]\n",
|
||
"x = Float64[]\n",
|
||
"y = Float64[]\n",
|
||
"for xi in linspace(-1, 1)\n",
|
||
" X = el(\"geometry\", [xi], 0.0)\n",
|
||
" push!(x, X[1])\n",
|
||
" push!(y, X[2])\n",
|
||
"end\n",
|
||
"l1 = layer(x=x, y=y, Geom.line)\n",
|
||
"\n",
|
||
"X1 = el(\"geometry\", [-1.0], 0.0)\n",
|
||
"X2 = el(\"geometry\", [1.0], 0.0)\n",
|
||
"X3 = el(\"geometry\", [0.0], 0.0)\n",
|
||
"l2 = layer(x=[X1[1],X2[1],X3[1]], y=[X1[2],X2[2],X3[2]], label=[\"1\",\"2\",\"3\"],\n",
|
||
" Geom.point, Geom.label(;hide_overlaps=false))\n",
|
||
"\n",
|
||
"xi = [-0.5]\n",
|
||
"X = el(\"geometry\", xi, 0.0)\n",
|
||
"J = JuliaFEM.Core.get_jacobian(el, xi, 0.0)\n",
|
||
"t = vec(J)/norm(J)\n",
|
||
"n = [cos(pi/2) -sin(pi/2); sin(pi/2) cos(pi/2)]*t\n",
|
||
"a = 0.3\n",
|
||
"l3 = layer(x=[X[1], X[1]+a*t[1]], y=[X[2], X[2]+a*t[2]], label=[\"\",\"t\"],\n",
|
||
" Geom.label(;hide_overlaps=false), Geom.line, Theme(default_color=colorant\"red\"))\n",
|
||
"l4 = layer(x=[X[1], X[1]+a*n[1]], y=[X[2], X[2]+a*n[2]], label=[\"\",\"n\"],\n",
|
||
" Geom.label(;hide_overlaps=false), Geom.line, Theme(default_color=colorant\"red\"))\n",
|
||
"\n",
|
||
"p = plot(l1, l2, l3, l4, Coord.Cartesian(xmin=-0.5, ymin=-0.5, xmax=1.0, ymax=1.0))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Model defined in cartesian coordinates"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"Model defined using cartesian coordinates. In general set individual components of vector values using index number, 1=x, 2=y, 3=z."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"INFO: Starting solver simple 2d block\n",
|
||
"INFO: # of field problems: 1\n",
|
||
"INFO: # of boundary problems: 1\n",
|
||
"INFO: Starting iteration 1\n",
|
||
"INFO: Assembling field problems...\n",
|
||
"INFO: Assembling body 1: block\n",
|
||
"INFO: dim = 8\n",
|
||
"INFO: Assembling boundary problems...\n",
|
||
"INFO: Assembling boundary 1: dirichlet boundary conditions\n",
|
||
"INFO: Solving system\n",
|
||
"INFO: UMFPACK: solved in 0.20885300636291504 seconds. norm = 0.16197088596792505\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"(1,true)"
|
||
]
|
||
},
|
||
"execution_count": 4,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"INFO: timing info for iteration:\n",
|
||
"INFO: boundary assembly : 0.11499595642089844\n",
|
||
"INFO: field assembly : 1.344099998474121\n",
|
||
"INFO: dump matrices to disk : 1.1920928955078125e-6\n",
|
||
"INFO: solve problem : 0.38971495628356934\n",
|
||
"INFO: update element data : 0.031152963638305664\n",
|
||
"INFO: non-linear iteration : 1.879986047744751\n",
|
||
"INFO: solver finished in 2.0280649662017822 seconds.\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"geometry = Dict{Int64, Node}(\n",
|
||
" 1 => [0.0, 0.0],\n",
|
||
" 2 => [1.0, 0.0],\n",
|
||
" 3 => [1.0, 1.0],\n",
|
||
" 4 => [0.0, 1.0])\n",
|
||
"el1 = Quad4([1, 2, 3, 4])\n",
|
||
"el2 = Seg2([3, 4]) # load\n",
|
||
"el3 = Seg2([1, 2]) # symmetry 2\n",
|
||
"el4 = Seg2([4, 1]) # symmetry 1\n",
|
||
"update!([el1, el2, el3, el4], \"geometry\", geometry)\n",
|
||
"el1[\"youngs modulus\"] = 900.0\n",
|
||
"el1[\"poissons ratio\"] = 0.25\n",
|
||
"el2[\"displacement traction force 2\"] = -100.0\n",
|
||
"el3[\"displacement 2\"] = 0.0\n",
|
||
"el4[\"displacement 1\"] = 0.0\n",
|
||
"problem = PlaneStressLinearElasticityProblem(\"block\")\n",
|
||
"boundary = DirichletProblem(\"dirichlet boundary conditions\", \"displacement\", 2)\n",
|
||
"push!(problem, el1, el2)\n",
|
||
"push!(boundary, el3, el4)\n",
|
||
"solver = DirectSolver(\"simple 2d block\")\n",
|
||
"push!(solver, problem)\n",
|
||
"push!(solver, boundary)\n",
|
||
"solver.method = :UMFPACK\n",
|
||
"solver.nonlinear_problem = false\n",
|
||
"call(solver, 0.0)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Test Passed\n",
|
||
" Expression: isapprox(el1(\"displacement\",[1.0,1.0],0.0),[1 / 36,-1 / 9])"
|
||
]
|
||
},
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"using JuliaFEM.Test\n",
|
||
"@test isapprox(el1(\"displacement\", [1.0, 1.0], 0.0), [1/36, -1/9])"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.11453071182271282"
|
||
]
|
||
},
|
||
"execution_count": 6,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"norm(el1(\"displacement\", [1.0, 1.0], 0.0))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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",
|
||
"image/svg+xml": [
|
||
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n",
|
||
"<svg xmlns=\"http://www.w3.org/2000/svg\"\n",
|
||
" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n",
|
||
" xmlns:gadfly=\"http://www.gadflyjl.org/ns\"\n",
|
||
" version=\"1.2\"\n",
|
||
" width=\"100mm\" height=\"100mm\" viewBox=\"0 0 100 100\"\n",
|
||
" stroke=\"none\"\n",
|
||
" fill=\"#000000\"\n",
|
||
" stroke-width=\"0.3\"\n",
|
||
" font-size=\"3.88\"\n",
|
||
">\n",
|
||
"<g stroke=\"#000000\" fill=\"#000000\" fill-opacity=\"0.000\" stroke-width=\"1\" id=\"img-56f3837f-1\">\n",
|
||
" <path d=\"M0,0 L 100 0 100 100 0 100 z\"/>\n",
|
||
" <g stroke=\"#FF0000\" fill=\"#000000\" fill-opacity=\"0.000\" stroke-width=\"1\" id=\"img-56f3837f-2\">\n",
|
||
" <path d=\"M0,0 L 102.78 0 102.78 88.89 0 88.89 z\"/>\n",
|
||
" </g>\n",
|
||
"</g>\n",
|
||
"</svg>\n"
|
||
],
|
||
"text/html": [
|
||
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n",
|
||
"<svg xmlns=\"http://www.w3.org/2000/svg\"\n",
|
||
" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n",
|
||
" xmlns:gadfly=\"http://www.gadflyjl.org/ns\"\n",
|
||
" version=\"1.2\"\n",
|
||
" width=\"100mm\" height=\"100mm\" viewBox=\"0 0 100 100\"\n",
|
||
" stroke=\"none\"\n",
|
||
" fill=\"#000000\"\n",
|
||
" stroke-width=\"0.3\"\n",
|
||
" font-size=\"3.88\"\n",
|
||
"\n",
|
||
" id=\"img-3ca64326\">\n",
|
||
"<g stroke=\"#000000\" fill=\"#000000\" fill-opacity=\"0.000\" stroke-width=\"1\" id=\"img-3ca64326-1\">\n",
|
||
" <path d=\"M0,0 L 100 0 100 100 0 100 z\"/>\n",
|
||
" <g stroke=\"#FF0000\" fill=\"#000000\" fill-opacity=\"0.000\" stroke-width=\"1\" id=\"img-3ca64326-2\">\n",
|
||
" <path d=\"M0,0 L 102.78 0 102.78 88.89 0 88.89 z\"/>\n",
|
||
" </g>\n",
|
||
"</g>\n",
|
||
"<script> <![CDATA[\n",
|
||
"(function(N){var k=/[\\.\\/]/,L=/\\s*,\\s*/,C=function(a,d){return a-d},a,v,y={n:{}},M=function(){for(var a=0,d=this.length;a<d;a++)if(\"undefined\"!=typeof this[a])return this[a]},A=function(){for(var a=this.length;--a;)if(\"undefined\"!=typeof this[a])return this[a]},w=function(k,d){k=String(k);var f=v,n=Array.prototype.slice.call(arguments,2),u=w.listeners(k),p=0,b,q=[],e={},l=[],r=a;l.firstDefined=M;l.lastDefined=A;a=k;for(var s=v=0,x=u.length;s<x;s++)\"zIndex\"in u[s]&&(q.push(u[s].zIndex),0>u[s].zIndex&&\n",
|
||
"(e[u[s].zIndex]=u[s]));for(q.sort(C);0>q[p];)if(b=e[q[p++] ],l.push(b.apply(d,n)),v)return v=f,l;for(s=0;s<x;s++)if(b=u[s],\"zIndex\"in b)if(b.zIndex==q[p]){l.push(b.apply(d,n));if(v)break;do if(p++,(b=e[q[p] ])&&l.push(b.apply(d,n)),v)break;while(b)}else e[b.zIndex]=b;else if(l.push(b.apply(d,n)),v)break;v=f;a=r;return l};w._events=y;w.listeners=function(a){a=a.split(k);var d=y,f,n,u,p,b,q,e,l=[d],r=[];u=0;for(p=a.length;u<p;u++){e=[];b=0;for(q=l.length;b<q;b++)for(d=l[b].n,f=[d[a[u] ],d[\"*\"] ],n=2;n--;)if(d=\n",
|
||
"f[n])e.push(d),r=r.concat(d.f||[]);l=e}return r};w.on=function(a,d){a=String(a);if(\"function\"!=typeof d)return function(){};for(var f=a.split(L),n=0,u=f.length;n<u;n++)(function(a){a=a.split(k);for(var b=y,f,e=0,l=a.length;e<l;e++)b=b.n,b=b.hasOwnProperty(a[e])&&b[a[e] ]||(b[a[e] ]={n:{}});b.f=b.f||[];e=0;for(l=b.f.length;e<l;e++)if(b.f[e]==d){f=!0;break}!f&&b.f.push(d)})(f[n]);return function(a){+a==+a&&(d.zIndex=+a)}};w.f=function(a){var d=[].slice.call(arguments,1);return function(){w.apply(null,\n",
|
||
"[a,null].concat(d).concat([].slice.call(arguments,0)))}};w.stop=function(){v=1};w.nt=function(k){return k?(new RegExp(\"(?:\\\\.|\\\\/|^)\"+k+\"(?:\\\\.|\\\\/|$)\")).test(a):a};w.nts=function(){return a.split(k)};w.off=w.unbind=function(a,d){if(a){var f=a.split(L);if(1<f.length)for(var n=0,u=f.length;n<u;n++)w.off(f[n],d);else{for(var f=a.split(k),p,b,q,e,l=[y],n=0,u=f.length;n<u;n++)for(e=0;e<l.length;e+=q.length-2){q=[e,1];p=l[e].n;if(\"*\"!=f[n])p[f[n] ]&&q.push(p[f[n] ]);else for(b in p)p.hasOwnProperty(b)&&\n",
|
||
"q.push(p[b]);l.splice.apply(l,q)}n=0;for(u=l.length;n<u;n++)for(p=l[n];p.n;){if(d){if(p.f){e=0;for(f=p.f.length;e<f;e++)if(p.f[e]==d){p.f.splice(e,1);break}!p.f.length&&delete p.f}for(b in p.n)if(p.n.hasOwnProperty(b)&&p.n[b].f){q=p.n[b].f;e=0;for(f=q.length;e<f;e++)if(q[e]==d){q.splice(e,1);break}!q.length&&delete p.n[b].f}}else for(b in delete p.f,p.n)p.n.hasOwnProperty(b)&&p.n[b].f&&delete p.n[b].f;p=p.n}}}else w._events=y={n:{}}};w.once=function(a,d){var f=function(){w.unbind(a,f);return d.apply(this,\n",
|
||
"arguments)};return w.on(a,f)};w.version=\"0.4.2\";w.toString=function(){return\"You are running Eve 0.4.2\"};\"undefined\"!=typeof module&&module.exports?module.exports=w:\"function\"===typeof define&&define.amd?define(\"eve\",[],function(){return w}):N.eve=w})(this);\n",
|
||
"(function(N,k){\"function\"===typeof define&&define.amd?define(\"Snap.svg\",[\"eve\"],function(L){return k(N,L)}):k(N,N.eve)})(this,function(N,k){var L=function(a){var k={},y=N.requestAnimationFrame||N.webkitRequestAnimationFrame||N.mozRequestAnimationFrame||N.oRequestAnimationFrame||N.msRequestAnimationFrame||function(a){setTimeout(a,16)},M=Array.isArray||function(a){return a instanceof Array||\"[object Array]\"==Object.prototype.toString.call(a)},A=0,w=\"M\"+(+new Date).toString(36),z=function(a){if(null==\n",
|
||
"a)return this.s;var b=this.s-a;this.b+=this.dur*b;this.B+=this.dur*b;this.s=a},d=function(a){if(null==a)return this.spd;this.spd=a},f=function(a){if(null==a)return this.dur;this.s=this.s*a/this.dur;this.dur=a},n=function(){delete k[this.id];this.update();a(\"mina.stop.\"+this.id,this)},u=function(){this.pdif||(delete k[this.id],this.update(),this.pdif=this.get()-this.b)},p=function(){this.pdif&&(this.b=this.get()-this.pdif,delete this.pdif,k[this.id]=this)},b=function(){var a;if(M(this.start)){a=[];\n",
|
||
"for(var b=0,e=this.start.length;b<e;b++)a[b]=+this.start[b]+(this.end[b]-this.start[b])*this.easing(this.s)}else a=+this.start+(this.end-this.start)*this.easing(this.s);this.set(a)},q=function(){var l=0,b;for(b in k)if(k.hasOwnProperty(b)){var e=k[b],f=e.get();l++;e.s=(f-e.b)/(e.dur/e.spd);1<=e.s&&(delete k[b],e.s=1,l--,function(b){setTimeout(function(){a(\"mina.finish.\"+b.id,b)})}(e));e.update()}l&&y(q)},e=function(a,r,s,x,G,h,J){a={id:w+(A++).toString(36),start:a,end:r,b:s,s:0,dur:x-s,spd:1,get:G,\n",
|
||
"set:h,easing:J||e.linear,status:z,speed:d,duration:f,stop:n,pause:u,resume:p,update:b};k[a.id]=a;r=0;for(var K in k)if(k.hasOwnProperty(K)&&(r++,2==r))break;1==r&&y(q);return a};e.time=Date.now||function(){return+new Date};e.getById=function(a){return k[a]||null};e.linear=function(a){return a};e.easeout=function(a){return Math.pow(a,1.7)};e.easein=function(a){return Math.pow(a,0.48)};e.easeinout=function(a){if(1==a)return 1;if(0==a)return 0;var b=0.48-a/1.04,e=Math.sqrt(0.1734+b*b);a=e-b;a=Math.pow(Math.abs(a),\n",
|
||
"1/3)*(0>a?-1:1);b=-e-b;b=Math.pow(Math.abs(b),1/3)*(0>b?-1:1);a=a+b+0.5;return 3*(1-a)*a*a+a*a*a};e.backin=function(a){return 1==a?1:a*a*(2.70158*a-1.70158)};e.backout=function(a){if(0==a)return 0;a-=1;return a*a*(2.70158*a+1.70158)+1};e.elastic=function(a){return a==!!a?a:Math.pow(2,-10*a)*Math.sin(2*(a-0.075)*Math.PI/0.3)+1};e.bounce=function(a){a<1/2.75?a*=7.5625*a:a<2/2.75?(a-=1.5/2.75,a=7.5625*a*a+0.75):a<2.5/2.75?(a-=2.25/2.75,a=7.5625*a*a+0.9375):(a-=2.625/2.75,a=7.5625*a*a+0.984375);return a};\n",
|
||
"return N.mina=e}(\"undefined\"==typeof k?function(){}:k),C=function(){function a(c,t){if(c){if(c.tagName)return x(c);if(y(c,\"array\")&&a.set)return a.set.apply(a,c);if(c instanceof e)return c;if(null==t)return c=G.doc.querySelector(c),x(c)}return new s(null==c?\"100%\":c,null==t?\"100%\":t)}function v(c,a){if(a){\"#text\"==c&&(c=G.doc.createTextNode(a.text||\"\"));\"string\"==typeof c&&(c=v(c));if(\"string\"==typeof a)return\"xlink:\"==a.substring(0,6)?c.getAttributeNS(m,a.substring(6)):\"xml:\"==a.substring(0,4)?c.getAttributeNS(la,\n",
|
||
"a.substring(4)):c.getAttribute(a);for(var da in a)if(a[h](da)){var b=J(a[da]);b?\"xlink:\"==da.substring(0,6)?c.setAttributeNS(m,da.substring(6),b):\"xml:\"==da.substring(0,4)?c.setAttributeNS(la,da.substring(4),b):c.setAttribute(da,b):c.removeAttribute(da)}}else c=G.doc.createElementNS(la,c);return c}function y(c,a){a=J.prototype.toLowerCase.call(a);return\"finite\"==a?isFinite(c):\"array\"==a&&(c instanceof Array||Array.isArray&&Array.isArray(c))?!0:\"null\"==a&&null===c||a==typeof c&&null!==c||\"object\"==\n",
|
||
"a&&c===Object(c)||$.call(c).slice(8,-1).toLowerCase()==a}function M(c){if(\"function\"==typeof c||Object(c)!==c)return c;var a=new c.constructor,b;for(b in c)c[h](b)&&(a[b]=M(c[b]));return a}function A(c,a,b){function m(){var e=Array.prototype.slice.call(arguments,0),f=e.join(\"\\u2400\"),d=m.cache=m.cache||{},l=m.count=m.count||[];if(d[h](f)){a:for(var e=l,l=f,B=0,H=e.length;B<H;B++)if(e[B]===l){e.push(e.splice(B,1)[0]);break a}return b?b(d[f]):d[f]}1E3<=l.length&&delete d[l.shift()];l.push(f);d[f]=c.apply(a,\n",
|
||
"e);return b?b(d[f]):d[f]}return m}function w(c,a,b,m,e,f){return null==e?(c-=b,a-=m,c||a?(180*I.atan2(-a,-c)/C+540)%360:0):w(c,a,e,f)-w(b,m,e,f)}function z(c){return c%360*C/180}function d(c){var a=[];c=c.replace(/(?:^|\\s)(\\w+)\\(([^)]+)\\)/g,function(c,b,m){m=m.split(/\\s*,\\s*|\\s+/);\"rotate\"==b&&1==m.length&&m.push(0,0);\"scale\"==b&&(2<m.length?m=m.slice(0,2):2==m.length&&m.push(0,0),1==m.length&&m.push(m[0],0,0));\"skewX\"==b?a.push([\"m\",1,0,I.tan(z(m[0])),1,0,0]):\"skewY\"==b?a.push([\"m\",1,I.tan(z(m[0])),\n",
|
||
"0,1,0,0]):a.push([b.charAt(0)].concat(m));return c});return a}function f(c,t){var b=O(c),m=new a.Matrix;if(b)for(var e=0,f=b.length;e<f;e++){var h=b[e],d=h.length,B=J(h[0]).toLowerCase(),H=h[0]!=B,l=H?m.invert():0,E;\"t\"==B&&2==d?m.translate(h[1],0):\"t\"==B&&3==d?H?(d=l.x(0,0),B=l.y(0,0),H=l.x(h[1],h[2]),l=l.y(h[1],h[2]),m.translate(H-d,l-B)):m.translate(h[1],h[2]):\"r\"==B?2==d?(E=E||t,m.rotate(h[1],E.x+E.width/2,E.y+E.height/2)):4==d&&(H?(H=l.x(h[2],h[3]),l=l.y(h[2],h[3]),m.rotate(h[1],H,l)):m.rotate(h[1],\n",
|
||
"h[2],h[3])):\"s\"==B?2==d||3==d?(E=E||t,m.scale(h[1],h[d-1],E.x+E.width/2,E.y+E.height/2)):4==d?H?(H=l.x(h[2],h[3]),l=l.y(h[2],h[3]),m.scale(h[1],h[1],H,l)):m.scale(h[1],h[1],h[2],h[3]):5==d&&(H?(H=l.x(h[3],h[4]),l=l.y(h[3],h[4]),m.scale(h[1],h[2],H,l)):m.scale(h[1],h[2],h[3],h[4])):\"m\"==B&&7==d&&m.add(h[1],h[2],h[3],h[4],h[5],h[6])}return m}function n(c,t){if(null==t){var m=!0;t=\"linearGradient\"==c.type||\"radialGradient\"==c.type?c.node.getAttribute(\"gradientTransform\"):\"pattern\"==c.type?c.node.getAttribute(\"patternTransform\"):\n",
|
||
"c.node.getAttribute(\"transform\");if(!t)return new a.Matrix;t=d(t)}else t=a._.rgTransform.test(t)?J(t).replace(/\\.{3}|\\u2026/g,c._.transform||aa):d(t),y(t,\"array\")&&(t=a.path?a.path.toString.call(t):J(t)),c._.transform=t;var b=f(t,c.getBBox(1));if(m)return b;c.matrix=b}function u(c){c=c.node.ownerSVGElement&&x(c.node.ownerSVGElement)||c.node.parentNode&&x(c.node.parentNode)||a.select(\"svg\")||a(0,0);var t=c.select(\"defs\"),t=null==t?!1:t.node;t||(t=r(\"defs\",c.node).node);return t}function p(c){return c.node.ownerSVGElement&&\n",
|
||
"x(c.node.ownerSVGElement)||a.select(\"svg\")}function b(c,a,m){function b(c){if(null==c)return aa;if(c==+c)return c;v(B,{width:c});try{return B.getBBox().width}catch(a){return 0}}function h(c){if(null==c)return aa;if(c==+c)return c;v(B,{height:c});try{return B.getBBox().height}catch(a){return 0}}function e(b,B){null==a?d[b]=B(c.attr(b)||0):b==a&&(d=B(null==m?c.attr(b)||0:m))}var f=p(c).node,d={},B=f.querySelector(\".svg---mgr\");B||(B=v(\"rect\"),v(B,{x:-9E9,y:-9E9,width:10,height:10,\"class\":\"svg---mgr\",\n",
|
||
"fill:\"none\"}),f.appendChild(B));switch(c.type){case \"rect\":e(\"rx\",b),e(\"ry\",h);case \"image\":e(\"width\",b),e(\"height\",h);case \"text\":e(\"x\",b);e(\"y\",h);break;case \"circle\":e(\"cx\",b);e(\"cy\",h);e(\"r\",b);break;case \"ellipse\":e(\"cx\",b);e(\"cy\",h);e(\"rx\",b);e(\"ry\",h);break;case \"line\":e(\"x1\",b);e(\"x2\",b);e(\"y1\",h);e(\"y2\",h);break;case \"marker\":e(\"refX\",b);e(\"markerWidth\",b);e(\"refY\",h);e(\"markerHeight\",h);break;case \"radialGradient\":e(\"fx\",b);e(\"fy\",h);break;case \"tspan\":e(\"dx\",b);e(\"dy\",h);break;default:e(a,\n",
|
||
"b)}f.removeChild(B);return d}function q(c){y(c,\"array\")||(c=Array.prototype.slice.call(arguments,0));for(var a=0,b=0,m=this.node;this[a];)delete this[a++];for(a=0;a<c.length;a++)\"set\"==c[a].type?c[a].forEach(function(c){m.appendChild(c.node)}):m.appendChild(c[a].node);for(var h=m.childNodes,a=0;a<h.length;a++)this[b++]=x(h[a]);return this}function e(c){if(c.snap in E)return E[c.snap];var a=this.id=V(),b;try{b=c.ownerSVGElement}catch(m){}this.node=c;b&&(this.paper=new s(b));this.type=c.tagName;this.anims=\n",
|
||
"{};this._={transform:[]};c.snap=a;E[a]=this;\"g\"==this.type&&(this.add=q);if(this.type in{g:1,mask:1,pattern:1})for(var e in s.prototype)s.prototype[h](e)&&(this[e]=s.prototype[e])}function l(c){this.node=c}function r(c,a){var b=v(c);a.appendChild(b);return x(b)}function s(c,a){var b,m,f,d=s.prototype;if(c&&\"svg\"==c.tagName){if(c.snap in E)return E[c.snap];var l=c.ownerDocument;b=new e(c);m=c.getElementsByTagName(\"desc\")[0];f=c.getElementsByTagName(\"defs\")[0];m||(m=v(\"desc\"),m.appendChild(l.createTextNode(\"Created with Snap\")),\n",
|
||
"b.node.appendChild(m));f||(f=v(\"defs\"),b.node.appendChild(f));b.defs=f;for(var ca in d)d[h](ca)&&(b[ca]=d[ca]);b.paper=b.root=b}else b=r(\"svg\",G.doc.body),v(b.node,{height:a,version:1.1,width:c,xmlns:la});return b}function x(c){return!c||c instanceof e||c instanceof l?c:c.tagName&&\"svg\"==c.tagName.toLowerCase()?new s(c):c.tagName&&\"object\"==c.tagName.toLowerCase()&&\"image/svg+xml\"==c.type?new s(c.contentDocument.getElementsByTagName(\"svg\")[0]):new e(c)}a.version=\"0.3.0\";a.toString=function(){return\"Snap v\"+\n",
|
||
"this.version};a._={};var G={win:N,doc:N.document};a._.glob=G;var h=\"hasOwnProperty\",J=String,K=parseFloat,U=parseInt,I=Math,P=I.max,Q=I.min,Y=I.abs,C=I.PI,aa=\"\",$=Object.prototype.toString,F=/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|rgba?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|hsba?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\)|hsla?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\))\\s*$/i;a._.separator=\n",
|
||
"RegExp(\"[,\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]+\");var S=RegExp(\"[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*\"),X={hs:1,rg:1},W=RegExp(\"([a-z])[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029,]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*)+)\",\n",
|
||
"\"ig\"),ma=RegExp(\"([rstm])[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029,]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*)+)\",\"ig\"),Z=RegExp(\"(-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?)[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*\",\n",
|
||
"\"ig\"),na=0,ba=\"S\"+(+new Date).toString(36),V=function(){return ba+(na++).toString(36)},m=\"http://www.w3.org/1999/xlink\",la=\"http://www.w3.org/2000/svg\",E={},ca=a.url=function(c){return\"url('#\"+c+\"')\"};a._.$=v;a._.id=V;a.format=function(){var c=/\\{([^\\}]+)\\}/g,a=/(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g,b=function(c,b,m){var h=m;b.replace(a,function(c,a,b,m,t){a=a||m;h&&(a in h&&(h=h[a]),\"function\"==typeof h&&t&&(h=h()))});return h=(null==h||h==m?c:h)+\"\"};return function(a,m){return J(a).replace(c,\n",
|
||
"function(c,a){return b(c,a,m)})}}();a._.clone=M;a._.cacher=A;a.rad=z;a.deg=function(c){return 180*c/C%360};a.angle=w;a.is=y;a.snapTo=function(c,a,b){b=y(b,\"finite\")?b:10;if(y(c,\"array\"))for(var m=c.length;m--;){if(Y(c[m]-a)<=b)return c[m]}else{c=+c;m=a%c;if(m<b)return a-m;if(m>c-b)return a-m+c}return a};a.getRGB=A(function(c){if(!c||(c=J(c)).indexOf(\"-\")+1)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:ka};if(\"none\"==c)return{r:-1,g:-1,b:-1,hex:\"none\",toString:ka};!X[h](c.toLowerCase().substring(0,\n",
|
||
"2))&&\"#\"!=c.charAt()&&(c=T(c));if(!c)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:ka};var b,m,e,f,d;if(c=c.match(F)){c[2]&&(e=U(c[2].substring(5),16),m=U(c[2].substring(3,5),16),b=U(c[2].substring(1,3),16));c[3]&&(e=U((d=c[3].charAt(3))+d,16),m=U((d=c[3].charAt(2))+d,16),b=U((d=c[3].charAt(1))+d,16));c[4]&&(d=c[4].split(S),b=K(d[0]),\"%\"==d[0].slice(-1)&&(b*=2.55),m=K(d[1]),\"%\"==d[1].slice(-1)&&(m*=2.55),e=K(d[2]),\"%\"==d[2].slice(-1)&&(e*=2.55),\"rgba\"==c[1].toLowerCase().slice(0,4)&&(f=K(d[3])),\n",
|
||
"d[3]&&\"%\"==d[3].slice(-1)&&(f/=100));if(c[5])return d=c[5].split(S),b=K(d[0]),\"%\"==d[0].slice(-1)&&(b/=100),m=K(d[1]),\"%\"==d[1].slice(-1)&&(m/=100),e=K(d[2]),\"%\"==d[2].slice(-1)&&(e/=100),\"deg\"!=d[0].slice(-3)&&\"\\u00b0\"!=d[0].slice(-1)||(b/=360),\"hsba\"==c[1].toLowerCase().slice(0,4)&&(f=K(d[3])),d[3]&&\"%\"==d[3].slice(-1)&&(f/=100),a.hsb2rgb(b,m,e,f);if(c[6])return d=c[6].split(S),b=K(d[0]),\"%\"==d[0].slice(-1)&&(b/=100),m=K(d[1]),\"%\"==d[1].slice(-1)&&(m/=100),e=K(d[2]),\"%\"==d[2].slice(-1)&&(e/=100),\n",
|
||
"\"deg\"!=d[0].slice(-3)&&\"\\u00b0\"!=d[0].slice(-1)||(b/=360),\"hsla\"==c[1].toLowerCase().slice(0,4)&&(f=K(d[3])),d[3]&&\"%\"==d[3].slice(-1)&&(f/=100),a.hsl2rgb(b,m,e,f);b=Q(I.round(b),255);m=Q(I.round(m),255);e=Q(I.round(e),255);f=Q(P(f,0),1);c={r:b,g:m,b:e,toString:ka};c.hex=\"#\"+(16777216|e|m<<8|b<<16).toString(16).slice(1);c.opacity=y(f,\"finite\")?f:1;return c}return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:ka}},a);a.hsb=A(function(c,b,m){return a.hsb2rgb(c,b,m).hex});a.hsl=A(function(c,b,m){return a.hsl2rgb(c,\n",
|
||
"b,m).hex});a.rgb=A(function(c,a,b,m){if(y(m,\"finite\")){var e=I.round;return\"rgba(\"+[e(c),e(a),e(b),+m.toFixed(2)]+\")\"}return\"#\"+(16777216|b|a<<8|c<<16).toString(16).slice(1)});var T=function(c){var a=G.doc.getElementsByTagName(\"head\")[0]||G.doc.getElementsByTagName(\"svg\")[0];T=A(function(c){if(\"red\"==c.toLowerCase())return\"rgb(255, 0, 0)\";a.style.color=\"rgb(255, 0, 0)\";a.style.color=c;c=G.doc.defaultView.getComputedStyle(a,aa).getPropertyValue(\"color\");return\"rgb(255, 0, 0)\"==c?null:c});return T(c)},\n",
|
||
"qa=function(){return\"hsb(\"+[this.h,this.s,this.b]+\")\"},ra=function(){return\"hsl(\"+[this.h,this.s,this.l]+\")\"},ka=function(){return 1==this.opacity||null==this.opacity?this.hex:\"rgba(\"+[this.r,this.g,this.b,this.opacity]+\")\"},D=function(c,b,m){null==b&&y(c,\"object\")&&\"r\"in c&&\"g\"in c&&\"b\"in c&&(m=c.b,b=c.g,c=c.r);null==b&&y(c,string)&&(m=a.getRGB(c),c=m.r,b=m.g,m=m.b);if(1<c||1<b||1<m)c/=255,b/=255,m/=255;return[c,b,m]},oa=function(c,b,m,e){c=I.round(255*c);b=I.round(255*b);m=I.round(255*m);c={r:c,\n",
|
||
"g:b,b:m,opacity:y(e,\"finite\")?e:1,hex:a.rgb(c,b,m),toString:ka};y(e,\"finite\")&&(c.opacity=e);return c};a.color=function(c){var b;y(c,\"object\")&&\"h\"in c&&\"s\"in c&&\"b\"in c?(b=a.hsb2rgb(c),c.r=b.r,c.g=b.g,c.b=b.b,c.opacity=1,c.hex=b.hex):y(c,\"object\")&&\"h\"in c&&\"s\"in c&&\"l\"in c?(b=a.hsl2rgb(c),c.r=b.r,c.g=b.g,c.b=b.b,c.opacity=1,c.hex=b.hex):(y(c,\"string\")&&(c=a.getRGB(c)),y(c,\"object\")&&\"r\"in c&&\"g\"in c&&\"b\"in c&&!(\"error\"in c)?(b=a.rgb2hsl(c),c.h=b.h,c.s=b.s,c.l=b.l,b=a.rgb2hsb(c),c.v=b.b):(c={hex:\"none\"},\n",
|
||
"c.r=c.g=c.b=c.h=c.s=c.v=c.l=-1,c.error=1));c.toString=ka;return c};a.hsb2rgb=function(c,a,b,m){y(c,\"object\")&&\"h\"in c&&\"s\"in c&&\"b\"in c&&(b=c.b,a=c.s,c=c.h,m=c.o);var e,h,d;c=360*c%360/60;d=b*a;a=d*(1-Y(c%2-1));b=e=h=b-d;c=~~c;b+=[d,a,0,0,a,d][c];e+=[a,d,d,a,0,0][c];h+=[0,0,a,d,d,a][c];return oa(b,e,h,m)};a.hsl2rgb=function(c,a,b,m){y(c,\"object\")&&\"h\"in c&&\"s\"in c&&\"l\"in c&&(b=c.l,a=c.s,c=c.h);if(1<c||1<a||1<b)c/=360,a/=100,b/=100;var e,h,d;c=360*c%360/60;d=2*a*(0.5>b?b:1-b);a=d*(1-Y(c%2-1));b=e=\n",
|
||
"h=b-d/2;c=~~c;b+=[d,a,0,0,a,d][c];e+=[a,d,d,a,0,0][c];h+=[0,0,a,d,d,a][c];return oa(b,e,h,m)};a.rgb2hsb=function(c,a,b){b=D(c,a,b);c=b[0];a=b[1];b=b[2];var m,e;m=P(c,a,b);e=m-Q(c,a,b);c=((0==e?0:m==c?(a-b)/e:m==a?(b-c)/e+2:(c-a)/e+4)+360)%6*60/360;return{h:c,s:0==e?0:e/m,b:m,toString:qa}};a.rgb2hsl=function(c,a,b){b=D(c,a,b);c=b[0];a=b[1];b=b[2];var m,e,h;m=P(c,a,b);e=Q(c,a,b);h=m-e;c=((0==h?0:m==c?(a-b)/h:m==a?(b-c)/h+2:(c-a)/h+4)+360)%6*60/360;m=(m+e)/2;return{h:c,s:0==h?0:0.5>m?h/(2*m):h/(2-2*\n",
|
||
"m),l:m,toString:ra}};a.parsePathString=function(c){if(!c)return null;var b=a.path(c);if(b.arr)return a.path.clone(b.arr);var m={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},e=[];y(c,\"array\")&&y(c[0],\"array\")&&(e=a.path.clone(c));e.length||J(c).replace(W,function(c,a,b){var h=[];c=a.toLowerCase();b.replace(Z,function(c,a){a&&h.push(+a)});\"m\"==c&&2<h.length&&(e.push([a].concat(h.splice(0,2))),c=\"l\",a=\"m\"==a?\"l\":\"L\");\"o\"==c&&1==h.length&&e.push([a,h[0] ]);if(\"r\"==c)e.push([a].concat(h));else for(;h.length>=\n",
|
||
"m[c]&&(e.push([a].concat(h.splice(0,m[c]))),m[c]););});e.toString=a.path.toString;b.arr=a.path.clone(e);return e};var O=a.parseTransformString=function(c){if(!c)return null;var b=[];y(c,\"array\")&&y(c[0],\"array\")&&(b=a.path.clone(c));b.length||J(c).replace(ma,function(c,a,m){var e=[];a.toLowerCase();m.replace(Z,function(c,a){a&&e.push(+a)});b.push([a].concat(e))});b.toString=a.path.toString;return b};a._.svgTransform2string=d;a._.rgTransform=RegExp(\"^[a-z][\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*-?\\\\.?\\\\d\",\n",
|
||
"\"i\");a._.transform2matrix=f;a._unit2px=b;a._.getSomeDefs=u;a._.getSomeSVG=p;a.select=function(c){return x(G.doc.querySelector(c))};a.selectAll=function(c){c=G.doc.querySelectorAll(c);for(var b=(a.set||Array)(),m=0;m<c.length;m++)b.push(x(c[m]));return b};setInterval(function(){for(var c in E)if(E[h](c)){var a=E[c],b=a.node;(\"svg\"!=a.type&&!b.ownerSVGElement||\"svg\"==a.type&&(!b.parentNode||\"ownerSVGElement\"in b.parentNode&&!b.ownerSVGElement))&&delete E[c]}},1E4);(function(c){function m(c){function a(c,\n",
|
||
"b){var m=v(c.node,b);(m=(m=m&&m.match(d))&&m[2])&&\"#\"==m.charAt()&&(m=m.substring(1))&&(f[m]=(f[m]||[]).concat(function(a){var m={};m[b]=ca(a);v(c.node,m)}))}function b(c){var a=v(c.node,\"xlink:href\");a&&\"#\"==a.charAt()&&(a=a.substring(1))&&(f[a]=(f[a]||[]).concat(function(a){c.attr(\"xlink:href\",\"#\"+a)}))}var e=c.selectAll(\"*\"),h,d=/^\\s*url\\((\"|'|)(.*)\\1\\)\\s*$/;c=[];for(var f={},l=0,E=e.length;l<E;l++){h=e[l];a(h,\"fill\");a(h,\"stroke\");a(h,\"filter\");a(h,\"mask\");a(h,\"clip-path\");b(h);var t=v(h.node,\n",
|
||
"\"id\");t&&(v(h.node,{id:h.id}),c.push({old:t,id:h.id}))}l=0;for(E=c.length;l<E;l++)if(e=f[c[l].old])for(h=0,t=e.length;h<t;h++)e[h](c[l].id)}function e(c,a,b){return function(m){m=m.slice(c,a);1==m.length&&(m=m[0]);return b?b(m):m}}function d(c){return function(){var a=c?\"<\"+this.type:\"\",b=this.node.attributes,m=this.node.childNodes;if(c)for(var e=0,h=b.length;e<h;e++)a+=\" \"+b[e].name+'=\"'+b[e].value.replace(/\"/g,'\\\\\"')+'\"';if(m.length){c&&(a+=\">\");e=0;for(h=m.length;e<h;e++)3==m[e].nodeType?a+=m[e].nodeValue:\n",
|
||
"1==m[e].nodeType&&(a+=x(m[e]).toString());c&&(a+=\"</\"+this.type+\">\")}else c&&(a+=\"/>\");return a}}c.attr=function(c,a){if(!c)return this;if(y(c,\"string\"))if(1<arguments.length){var b={};b[c]=a;c=b}else return k(\"snap.util.getattr.\"+c,this).firstDefined();for(var m in c)c[h](m)&&k(\"snap.util.attr.\"+m,this,c[m]);return this};c.getBBox=function(c){if(!a.Matrix||!a.path)return this.node.getBBox();var b=this,m=new a.Matrix;if(b.removed)return a._.box();for(;\"use\"==b.type;)if(c||(m=m.add(b.transform().localMatrix.translate(b.attr(\"x\")||\n",
|
||
"0,b.attr(\"y\")||0))),b.original)b=b.original;else var e=b.attr(\"xlink:href\"),b=b.original=b.node.ownerDocument.getElementById(e.substring(e.indexOf(\"#\")+1));var e=b._,h=a.path.get[b.type]||a.path.get.deflt;try{if(c)return e.bboxwt=h?a.path.getBBox(b.realPath=h(b)):a._.box(b.node.getBBox()),a._.box(e.bboxwt);b.realPath=h(b);b.matrix=b.transform().localMatrix;e.bbox=a.path.getBBox(a.path.map(b.realPath,m.add(b.matrix)));return a._.box(e.bbox)}catch(d){return a._.box()}};var f=function(){return this.string};\n",
|
||
"c.transform=function(c){var b=this._;if(null==c){var m=this;c=new a.Matrix(this.node.getCTM());for(var e=n(this),h=[e],d=new a.Matrix,l=e.toTransformString(),b=J(e)==J(this.matrix)?J(b.transform):l;\"svg\"!=m.type&&(m=m.parent());)h.push(n(m));for(m=h.length;m--;)d.add(h[m]);return{string:b,globalMatrix:c,totalMatrix:d,localMatrix:e,diffMatrix:c.clone().add(e.invert()),global:c.toTransformString(),total:d.toTransformString(),local:l,toString:f}}c instanceof a.Matrix?this.matrix=c:n(this,c);this.node&&\n",
|
||
"(\"linearGradient\"==this.type||\"radialGradient\"==this.type?v(this.node,{gradientTransform:this.matrix}):\"pattern\"==this.type?v(this.node,{patternTransform:this.matrix}):v(this.node,{transform:this.matrix}));return this};c.parent=function(){return x(this.node.parentNode)};c.append=c.add=function(c){if(c){if(\"set\"==c.type){var a=this;c.forEach(function(c){a.add(c)});return this}c=x(c);this.node.appendChild(c.node);c.paper=this.paper}return this};c.appendTo=function(c){c&&(c=x(c),c.append(this));return this};\n",
|
||
"c.prepend=function(c){if(c){if(\"set\"==c.type){var a=this,b;c.forEach(function(c){b?b.after(c):a.prepend(c);b=c});return this}c=x(c);var m=c.parent();this.node.insertBefore(c.node,this.node.firstChild);this.add&&this.add();c.paper=this.paper;this.parent()&&this.parent().add();m&&m.add()}return this};c.prependTo=function(c){c=x(c);c.prepend(this);return this};c.before=function(c){if(\"set\"==c.type){var a=this;c.forEach(function(c){var b=c.parent();a.node.parentNode.insertBefore(c.node,a.node);b&&b.add()});\n",
|
||
"this.parent().add();return this}c=x(c);var b=c.parent();this.node.parentNode.insertBefore(c.node,this.node);this.parent()&&this.parent().add();b&&b.add();c.paper=this.paper;return this};c.after=function(c){c=x(c);var a=c.parent();this.node.nextSibling?this.node.parentNode.insertBefore(c.node,this.node.nextSibling):this.node.parentNode.appendChild(c.node);this.parent()&&this.parent().add();a&&a.add();c.paper=this.paper;return this};c.insertBefore=function(c){c=x(c);var a=this.parent();c.node.parentNode.insertBefore(this.node,\n",
|
||
"c.node);this.paper=c.paper;a&&a.add();c.parent()&&c.parent().add();return this};c.insertAfter=function(c){c=x(c);var a=this.parent();c.node.parentNode.insertBefore(this.node,c.node.nextSibling);this.paper=c.paper;a&&a.add();c.parent()&&c.parent().add();return this};c.remove=function(){var c=this.parent();this.node.parentNode&&this.node.parentNode.removeChild(this.node);delete this.paper;this.removed=!0;c&&c.add();return this};c.select=function(c){return x(this.node.querySelector(c))};c.selectAll=\n",
|
||
"function(c){c=this.node.querySelectorAll(c);for(var b=(a.set||Array)(),m=0;m<c.length;m++)b.push(x(c[m]));return b};c.asPX=function(c,a){null==a&&(a=this.attr(c));return+b(this,c,a)};c.use=function(){var c,a=this.node.id;a||(a=this.id,v(this.node,{id:a}));c=\"linearGradient\"==this.type||\"radialGradient\"==this.type||\"pattern\"==this.type?r(this.type,this.node.parentNode):r(\"use\",this.node.parentNode);v(c.node,{\"xlink:href\":\"#\"+a});c.original=this;return c};var l=/\\S+/g;c.addClass=function(c){var a=(c||\n",
|
||
"\"\").match(l)||[];c=this.node;var b=c.className.baseVal,m=b.match(l)||[],e,h,d;if(a.length){for(e=0;d=a[e++];)h=m.indexOf(d),~h||m.push(d);a=m.join(\" \");b!=a&&(c.className.baseVal=a)}return this};c.removeClass=function(c){var a=(c||\"\").match(l)||[];c=this.node;var b=c.className.baseVal,m=b.match(l)||[],e,h;if(m.length){for(e=0;h=a[e++];)h=m.indexOf(h),~h&&m.splice(h,1);a=m.join(\" \");b!=a&&(c.className.baseVal=a)}return this};c.hasClass=function(c){return!!~(this.node.className.baseVal.match(l)||[]).indexOf(c)};\n",
|
||
"c.toggleClass=function(c,a){if(null!=a)return a?this.addClass(c):this.removeClass(c);var b=(c||\"\").match(l)||[],m=this.node,e=m.className.baseVal,h=e.match(l)||[],d,f,E;for(d=0;E=b[d++];)f=h.indexOf(E),~f?h.splice(f,1):h.push(E);b=h.join(\" \");e!=b&&(m.className.baseVal=b);return this};c.clone=function(){var c=x(this.node.cloneNode(!0));v(c.node,\"id\")&&v(c.node,{id:c.id});m(c);c.insertAfter(this);return c};c.toDefs=function(){u(this).appendChild(this.node);return this};c.pattern=c.toPattern=function(c,\n",
|
||
"a,b,m){var e=r(\"pattern\",u(this));null==c&&(c=this.getBBox());y(c,\"object\")&&\"x\"in c&&(a=c.y,b=c.width,m=c.height,c=c.x);v(e.node,{x:c,y:a,width:b,height:m,patternUnits:\"userSpaceOnUse\",id:e.id,viewBox:[c,a,b,m].join(\" \")});e.node.appendChild(this.node);return e};c.marker=function(c,a,b,m,e,h){var d=r(\"marker\",u(this));null==c&&(c=this.getBBox());y(c,\"object\")&&\"x\"in c&&(a=c.y,b=c.width,m=c.height,e=c.refX||c.cx,h=c.refY||c.cy,c=c.x);v(d.node,{viewBox:[c,a,b,m].join(\" \"),markerWidth:b,markerHeight:m,\n",
|
||
"orient:\"auto\",refX:e||0,refY:h||0,id:d.id});d.node.appendChild(this.node);return d};var E=function(c,a,b,m){\"function\"!=typeof b||b.length||(m=b,b=L.linear);this.attr=c;this.dur=a;b&&(this.easing=b);m&&(this.callback=m)};a._.Animation=E;a.animation=function(c,a,b,m){return new E(c,a,b,m)};c.inAnim=function(){var c=[],a;for(a in this.anims)this.anims[h](a)&&function(a){c.push({anim:new E(a._attrs,a.dur,a.easing,a._callback),mina:a,curStatus:a.status(),status:function(c){return a.status(c)},stop:function(){a.stop()}})}(this.anims[a]);\n",
|
||
"return c};a.animate=function(c,a,b,m,e,h){\"function\"!=typeof e||e.length||(h=e,e=L.linear);var d=L.time();c=L(c,a,d,d+m,L.time,b,e);h&&k.once(\"mina.finish.\"+c.id,h);return c};c.stop=function(){for(var c=this.inAnim(),a=0,b=c.length;a<b;a++)c[a].stop();return this};c.animate=function(c,a,b,m){\"function\"!=typeof b||b.length||(m=b,b=L.linear);c instanceof E&&(m=c.callback,b=c.easing,a=b.dur,c=c.attr);var d=[],f=[],l={},t,ca,n,T=this,q;for(q in c)if(c[h](q)){T.equal?(n=T.equal(q,J(c[q])),t=n.from,ca=\n",
|
||
"n.to,n=n.f):(t=+T.attr(q),ca=+c[q]);var la=y(t,\"array\")?t.length:1;l[q]=e(d.length,d.length+la,n);d=d.concat(t);f=f.concat(ca)}t=L.time();var p=L(d,f,t,t+a,L.time,function(c){var a={},b;for(b in l)l[h](b)&&(a[b]=l[b](c));T.attr(a)},b);T.anims[p.id]=p;p._attrs=c;p._callback=m;k(\"snap.animcreated.\"+T.id,p);k.once(\"mina.finish.\"+p.id,function(){delete T.anims[p.id];m&&m.call(T)});k.once(\"mina.stop.\"+p.id,function(){delete T.anims[p.id]});return T};var T={};c.data=function(c,b){var m=T[this.id]=T[this.id]||\n",
|
||
"{};if(0==arguments.length)return k(\"snap.data.get.\"+this.id,this,m,null),m;if(1==arguments.length){if(a.is(c,\"object\")){for(var e in c)c[h](e)&&this.data(e,c[e]);return this}k(\"snap.data.get.\"+this.id,this,m[c],c);return m[c]}m[c]=b;k(\"snap.data.set.\"+this.id,this,b,c);return this};c.removeData=function(c){null==c?T[this.id]={}:T[this.id]&&delete T[this.id][c];return this};c.outerSVG=c.toString=d(1);c.innerSVG=d()})(e.prototype);a.parse=function(c){var a=G.doc.createDocumentFragment(),b=!0,m=G.doc.createElement(\"div\");\n",
|
||
"c=J(c);c.match(/^\\s*<\\s*svg(?:\\s|>)/)||(c=\"<svg>\"+c+\"</svg>\",b=!1);m.innerHTML=c;if(c=m.getElementsByTagName(\"svg\")[0])if(b)a=c;else for(;c.firstChild;)a.appendChild(c.firstChild);m.innerHTML=aa;return new l(a)};l.prototype.select=e.prototype.select;l.prototype.selectAll=e.prototype.selectAll;a.fragment=function(){for(var c=Array.prototype.slice.call(arguments,0),b=G.doc.createDocumentFragment(),m=0,e=c.length;m<e;m++){var h=c[m];h.node&&h.node.nodeType&&b.appendChild(h.node);h.nodeType&&b.appendChild(h);\n",
|
||
"\"string\"==typeof h&&b.appendChild(a.parse(h).node)}return new l(b)};a._.make=r;a._.wrap=x;s.prototype.el=function(c,a){var b=r(c,this.node);a&&b.attr(a);return b};k.on(\"snap.util.getattr\",function(){var c=k.nt(),c=c.substring(c.lastIndexOf(\".\")+1),a=c.replace(/[A-Z]/g,function(c){return\"-\"+c.toLowerCase()});return pa[h](a)?this.node.ownerDocument.defaultView.getComputedStyle(this.node,null).getPropertyValue(a):v(this.node,c)});var pa={\"alignment-baseline\":0,\"baseline-shift\":0,clip:0,\"clip-path\":0,\n",
|
||
"\"clip-rule\":0,color:0,\"color-interpolation\":0,\"color-interpolation-filters\":0,\"color-profile\":0,\"color-rendering\":0,cursor:0,direction:0,display:0,\"dominant-baseline\":0,\"enable-background\":0,fill:0,\"fill-opacity\":0,\"fill-rule\":0,filter:0,\"flood-color\":0,\"flood-opacity\":0,font:0,\"font-family\":0,\"font-size\":0,\"font-size-adjust\":0,\"font-stretch\":0,\"font-style\":0,\"font-variant\":0,\"font-weight\":0,\"glyph-orientation-horizontal\":0,\"glyph-orientation-vertical\":0,\"image-rendering\":0,kerning:0,\"letter-spacing\":0,\n",
|
||
"\"lighting-color\":0,marker:0,\"marker-end\":0,\"marker-mid\":0,\"marker-start\":0,mask:0,opacity:0,overflow:0,\"pointer-events\":0,\"shape-rendering\":0,\"stop-color\":0,\"stop-opacity\":0,stroke:0,\"stroke-dasharray\":0,\"stroke-dashoffset\":0,\"stroke-linecap\":0,\"stroke-linejoin\":0,\"stroke-miterlimit\":0,\"stroke-opacity\":0,\"stroke-width\":0,\"text-anchor\":0,\"text-decoration\":0,\"text-rendering\":0,\"unicode-bidi\":0,visibility:0,\"word-spacing\":0,\"writing-mode\":0};k.on(\"snap.util.attr\",function(c){var a=k.nt(),b={},a=a.substring(a.lastIndexOf(\".\")+\n",
|
||
"1);b[a]=c;var m=a.replace(/-(\\w)/gi,function(c,a){return a.toUpperCase()}),a=a.replace(/[A-Z]/g,function(c){return\"-\"+c.toLowerCase()});pa[h](a)?this.node.style[m]=null==c?aa:c:v(this.node,b)});a.ajax=function(c,a,b,m){var e=new XMLHttpRequest,h=V();if(e){if(y(a,\"function\"))m=b,b=a,a=null;else if(y(a,\"object\")){var d=[],f;for(f in a)a.hasOwnProperty(f)&&d.push(encodeURIComponent(f)+\"=\"+encodeURIComponent(a[f]));a=d.join(\"&\")}e.open(a?\"POST\":\"GET\",c,!0);a&&(e.setRequestHeader(\"X-Requested-With\",\"XMLHttpRequest\"),\n",
|
||
"e.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded\"));b&&(k.once(\"snap.ajax.\"+h+\".0\",b),k.once(\"snap.ajax.\"+h+\".200\",b),k.once(\"snap.ajax.\"+h+\".304\",b));e.onreadystatechange=function(){4==e.readyState&&k(\"snap.ajax.\"+h+\".\"+e.status,m,e)};if(4==e.readyState)return e;e.send(a);return e}};a.load=function(c,b,m){a.ajax(c,function(c){c=a.parse(c.responseText);m?b.call(m,c):b(c)})};a.getElementByPoint=function(c,a){var b,m,e=G.doc.elementFromPoint(c,a);if(G.win.opera&&\"svg\"==e.tagName){b=\n",
|
||
"e;m=b.getBoundingClientRect();b=b.ownerDocument;var h=b.body,d=b.documentElement;b=m.top+(g.win.pageYOffset||d.scrollTop||h.scrollTop)-(d.clientTop||h.clientTop||0);m=m.left+(g.win.pageXOffset||d.scrollLeft||h.scrollLeft)-(d.clientLeft||h.clientLeft||0);h=e.createSVGRect();h.x=c-m;h.y=a-b;h.width=h.height=1;b=e.getIntersectionList(h,null);b.length&&(e=b[b.length-1])}return e?x(e):null};a.plugin=function(c){c(a,e,s,G,l)};return G.win.Snap=a}();C.plugin(function(a,k,y,M,A){function w(a,d,f,b,q,e){null==\n",
|
||
"d&&\"[object SVGMatrix]\"==z.call(a)?(this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.e=a.e,this.f=a.f):null!=a?(this.a=+a,this.b=+d,this.c=+f,this.d=+b,this.e=+q,this.f=+e):(this.a=1,this.c=this.b=0,this.d=1,this.f=this.e=0)}var z=Object.prototype.toString,d=String,f=Math;(function(n){function k(a){return a[0]*a[0]+a[1]*a[1]}function p(a){var d=f.sqrt(k(a));a[0]&&(a[0]/=d);a[1]&&(a[1]/=d)}n.add=function(a,d,e,f,n,p){var k=[[],[],[] ],u=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1] ];d=[[a,\n",
|
||
"e,n],[d,f,p],[0,0,1] ];a&&a instanceof w&&(d=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1] ]);for(a=0;3>a;a++)for(e=0;3>e;e++){for(f=n=0;3>f;f++)n+=u[a][f]*d[f][e];k[a][e]=n}this.a=k[0][0];this.b=k[1][0];this.c=k[0][1];this.d=k[1][1];this.e=k[0][2];this.f=k[1][2];return this};n.invert=function(){var a=this.a*this.d-this.b*this.c;return new w(this.d/a,-this.b/a,-this.c/a,this.a/a,(this.c*this.f-this.d*this.e)/a,(this.b*this.e-this.a*this.f)/a)};n.clone=function(){return new w(this.a,this.b,this.c,this.d,this.e,\n",
|
||
"this.f)};n.translate=function(a,d){return this.add(1,0,0,1,a,d)};n.scale=function(a,d,e,f){null==d&&(d=a);(e||f)&&this.add(1,0,0,1,e,f);this.add(a,0,0,d,0,0);(e||f)&&this.add(1,0,0,1,-e,-f);return this};n.rotate=function(b,d,e){b=a.rad(b);d=d||0;e=e||0;var l=+f.cos(b).toFixed(9);b=+f.sin(b).toFixed(9);this.add(l,b,-b,l,d,e);return this.add(1,0,0,1,-d,-e)};n.x=function(a,d){return a*this.a+d*this.c+this.e};n.y=function(a,d){return a*this.b+d*this.d+this.f};n.get=function(a){return+this[d.fromCharCode(97+\n",
|
||
"a)].toFixed(4)};n.toString=function(){return\"matrix(\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+\")\"};n.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]};n.determinant=function(){return this.a*this.d-this.b*this.c};n.split=function(){var b={};b.dx=this.e;b.dy=this.f;var d=[[this.a,this.c],[this.b,this.d] ];b.scalex=f.sqrt(k(d[0]));p(d[0]);b.shear=d[0][0]*d[1][0]+d[0][1]*d[1][1];d[1]=[d[1][0]-d[0][0]*b.shear,d[1][1]-d[0][1]*b.shear];b.scaley=f.sqrt(k(d[1]));\n",
|
||
"p(d[1]);b.shear/=b.scaley;0>this.determinant()&&(b.scalex=-b.scalex);var e=-d[0][1],d=d[1][1];0>d?(b.rotate=a.deg(f.acos(d)),0>e&&(b.rotate=360-b.rotate)):b.rotate=a.deg(f.asin(e));b.isSimple=!+b.shear.toFixed(9)&&(b.scalex.toFixed(9)==b.scaley.toFixed(9)||!b.rotate);b.isSuperSimple=!+b.shear.toFixed(9)&&b.scalex.toFixed(9)==b.scaley.toFixed(9)&&!b.rotate;b.noRotation=!+b.shear.toFixed(9)&&!b.rotate;return b};n.toTransformString=function(a){a=a||this.split();if(+a.shear.toFixed(9))return\"m\"+[this.get(0),\n",
|
||
"this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)];a.scalex=+a.scalex.toFixed(4);a.scaley=+a.scaley.toFixed(4);a.rotate=+a.rotate.toFixed(4);return(a.dx||a.dy?\"t\"+[+a.dx.toFixed(4),+a.dy.toFixed(4)]:\"\")+(1!=a.scalex||1!=a.scaley?\"s\"+[a.scalex,a.scaley,0,0]:\"\")+(a.rotate?\"r\"+[+a.rotate.toFixed(4),0,0]:\"\")}})(w.prototype);a.Matrix=w;a.matrix=function(a,d,f,b,k,e){return new w(a,d,f,b,k,e)}});C.plugin(function(a,v,y,M,A){function w(h){return function(d){k.stop();d instanceof A&&1==d.node.childNodes.length&&\n",
|
||
"(\"radialGradient\"==d.node.firstChild.tagName||\"linearGradient\"==d.node.firstChild.tagName||\"pattern\"==d.node.firstChild.tagName)&&(d=d.node.firstChild,b(this).appendChild(d),d=u(d));if(d instanceof v)if(\"radialGradient\"==d.type||\"linearGradient\"==d.type||\"pattern\"==d.type){d.node.id||e(d.node,{id:d.id});var f=l(d.node.id)}else f=d.attr(h);else f=a.color(d),f.error?(f=a(b(this).ownerSVGElement).gradient(d))?(f.node.id||e(f.node,{id:f.id}),f=l(f.node.id)):f=d:f=r(f);d={};d[h]=f;e(this.node,d);this.node.style[h]=\n",
|
||
"x}}function z(a){k.stop();a==+a&&(a+=\"px\");this.node.style.fontSize=a}function d(a){var b=[];a=a.childNodes;for(var e=0,f=a.length;e<f;e++){var l=a[e];3==l.nodeType&&b.push(l.nodeValue);\"tspan\"==l.tagName&&(1==l.childNodes.length&&3==l.firstChild.nodeType?b.push(l.firstChild.nodeValue):b.push(d(l)))}return b}function f(){k.stop();return this.node.style.fontSize}var n=a._.make,u=a._.wrap,p=a.is,b=a._.getSomeDefs,q=/^url\\(#?([^)]+)\\)$/,e=a._.$,l=a.url,r=String,s=a._.separator,x=\"\";k.on(\"snap.util.attr.mask\",\n",
|
||
"function(a){if(a instanceof v||a instanceof A){k.stop();a instanceof A&&1==a.node.childNodes.length&&(a=a.node.firstChild,b(this).appendChild(a),a=u(a));if(\"mask\"==a.type)var d=a;else d=n(\"mask\",b(this)),d.node.appendChild(a.node);!d.node.id&&e(d.node,{id:d.id});e(this.node,{mask:l(d.id)})}});(function(a){k.on(\"snap.util.attr.clip\",a);k.on(\"snap.util.attr.clip-path\",a);k.on(\"snap.util.attr.clipPath\",a)})(function(a){if(a instanceof v||a instanceof A){k.stop();if(\"clipPath\"==a.type)var d=a;else d=\n",
|
||
"n(\"clipPath\",b(this)),d.node.appendChild(a.node),!d.node.id&&e(d.node,{id:d.id});e(this.node,{\"clip-path\":l(d.id)})}});k.on(\"snap.util.attr.fill\",w(\"fill\"));k.on(\"snap.util.attr.stroke\",w(\"stroke\"));var G=/^([lr])(?:\\(([^)]*)\\))?(.*)$/i;k.on(\"snap.util.grad.parse\",function(a){a=r(a);var b=a.match(G);if(!b)return null;a=b[1];var e=b[2],b=b[3],e=e.split(/\\s*,\\s*/).map(function(a){return+a==a?+a:a});1==e.length&&0==e[0]&&(e=[]);b=b.split(\"-\");b=b.map(function(a){a=a.split(\":\");var b={color:a[0]};a[1]&&\n",
|
||
"(b.offset=parseFloat(a[1]));return b});return{type:a,params:e,stops:b}});k.on(\"snap.util.attr.d\",function(b){k.stop();p(b,\"array\")&&p(b[0],\"array\")&&(b=a.path.toString.call(b));b=r(b);b.match(/[ruo]/i)&&(b=a.path.toAbsolute(b));e(this.node,{d:b})})(-1);k.on(\"snap.util.attr.#text\",function(a){k.stop();a=r(a);for(a=M.doc.createTextNode(a);this.node.firstChild;)this.node.removeChild(this.node.firstChild);this.node.appendChild(a)})(-1);k.on(\"snap.util.attr.path\",function(a){k.stop();this.attr({d:a})})(-1);\n",
|
||
"k.on(\"snap.util.attr.class\",function(a){k.stop();this.node.className.baseVal=a})(-1);k.on(\"snap.util.attr.viewBox\",function(a){a=p(a,\"object\")&&\"x\"in a?[a.x,a.y,a.width,a.height].join(\" \"):p(a,\"array\")?a.join(\" \"):a;e(this.node,{viewBox:a});k.stop()})(-1);k.on(\"snap.util.attr.transform\",function(a){this.transform(a);k.stop()})(-1);k.on(\"snap.util.attr.r\",function(a){\"rect\"==this.type&&(k.stop(),e(this.node,{rx:a,ry:a}))})(-1);k.on(\"snap.util.attr.textpath\",function(a){k.stop();if(\"text\"==this.type){var d,\n",
|
||
"f;if(!a&&this.textPath){for(a=this.textPath;a.node.firstChild;)this.node.appendChild(a.node.firstChild);a.remove();delete this.textPath}else if(p(a,\"string\")?(d=b(this),a=u(d.parentNode).path(a),d.appendChild(a.node),d=a.id,a.attr({id:d})):(a=u(a),a instanceof v&&(d=a.attr(\"id\"),d||(d=a.id,a.attr({id:d})))),d)if(a=this.textPath,f=this.node,a)a.attr({\"xlink:href\":\"#\"+d});else{for(a=e(\"textPath\",{\"xlink:href\":\"#\"+d});f.firstChild;)a.appendChild(f.firstChild);f.appendChild(a);this.textPath=u(a)}}})(-1);\n",
|
||
"k.on(\"snap.util.attr.text\",function(a){if(\"text\"==this.type){for(var b=this.node,d=function(a){var b=e(\"tspan\");if(p(a,\"array\"))for(var f=0;f<a.length;f++)b.appendChild(d(a[f]));else b.appendChild(M.doc.createTextNode(a));b.normalize&&b.normalize();return b};b.firstChild;)b.removeChild(b.firstChild);for(a=d(a);a.firstChild;)b.appendChild(a.firstChild)}k.stop()})(-1);k.on(\"snap.util.attr.fontSize\",z)(-1);k.on(\"snap.util.attr.font-size\",z)(-1);k.on(\"snap.util.getattr.transform\",function(){k.stop();\n",
|
||
"return this.transform()})(-1);k.on(\"snap.util.getattr.textpath\",function(){k.stop();return this.textPath})(-1);(function(){function b(d){return function(){k.stop();var b=M.doc.defaultView.getComputedStyle(this.node,null).getPropertyValue(\"marker-\"+d);return\"none\"==b?b:a(M.doc.getElementById(b.match(q)[1]))}}function d(a){return function(b){k.stop();var d=\"marker\"+a.charAt(0).toUpperCase()+a.substring(1);if(\"\"==b||!b)this.node.style[d]=\"none\";else if(\"marker\"==b.type){var f=b.node.id;f||e(b.node,{id:b.id});\n",
|
||
"this.node.style[d]=l(f)}}}k.on(\"snap.util.getattr.marker-end\",b(\"end\"))(-1);k.on(\"snap.util.getattr.markerEnd\",b(\"end\"))(-1);k.on(\"snap.util.getattr.marker-start\",b(\"start\"))(-1);k.on(\"snap.util.getattr.markerStart\",b(\"start\"))(-1);k.on(\"snap.util.getattr.marker-mid\",b(\"mid\"))(-1);k.on(\"snap.util.getattr.markerMid\",b(\"mid\"))(-1);k.on(\"snap.util.attr.marker-end\",d(\"end\"))(-1);k.on(\"snap.util.attr.markerEnd\",d(\"end\"))(-1);k.on(\"snap.util.attr.marker-start\",d(\"start\"))(-1);k.on(\"snap.util.attr.markerStart\",\n",
|
||
"d(\"start\"))(-1);k.on(\"snap.util.attr.marker-mid\",d(\"mid\"))(-1);k.on(\"snap.util.attr.markerMid\",d(\"mid\"))(-1)})();k.on(\"snap.util.getattr.r\",function(){if(\"rect\"==this.type&&e(this.node,\"rx\")==e(this.node,\"ry\"))return k.stop(),e(this.node,\"rx\")})(-1);k.on(\"snap.util.getattr.text\",function(){if(\"text\"==this.type||\"tspan\"==this.type){k.stop();var a=d(this.node);return 1==a.length?a[0]:a}})(-1);k.on(\"snap.util.getattr.#text\",function(){return this.node.textContent})(-1);k.on(\"snap.util.getattr.viewBox\",\n",
|
||
"function(){k.stop();var b=e(this.node,\"viewBox\");if(b)return b=b.split(s),a._.box(+b[0],+b[1],+b[2],+b[3])})(-1);k.on(\"snap.util.getattr.points\",function(){var a=e(this.node,\"points\");k.stop();if(a)return a.split(s)})(-1);k.on(\"snap.util.getattr.path\",function(){var a=e(this.node,\"d\");k.stop();return a})(-1);k.on(\"snap.util.getattr.class\",function(){return this.node.className.baseVal})(-1);k.on(\"snap.util.getattr.fontSize\",f)(-1);k.on(\"snap.util.getattr.font-size\",f)(-1)});C.plugin(function(a,v,y,\n",
|
||
"M,A){function w(a){return a}function z(a){return function(b){return+b.toFixed(3)+a}}var d={\"+\":function(a,b){return a+b},\"-\":function(a,b){return a-b},\"/\":function(a,b){return a/b},\"*\":function(a,b){return a*b}},f=String,n=/[a-z]+$/i,u=/^\\s*([+\\-\\/*])\\s*=\\s*([\\d.eE+\\-]+)\\s*([^\\d\\s]+)?\\s*$/;k.on(\"snap.util.attr\",function(a){if(a=f(a).match(u)){var b=k.nt(),b=b.substring(b.lastIndexOf(\".\")+1),q=this.attr(b),e={};k.stop();var l=a[3]||\"\",r=q.match(n),s=d[a[1] ];r&&r==l?a=s(parseFloat(q),+a[2]):(q=this.asPX(b),\n",
|
||
"a=s(this.asPX(b),this.asPX(b,a[2]+l)));isNaN(q)||isNaN(a)||(e[b]=a,this.attr(e))}})(-10);k.on(\"snap.util.equal\",function(a,b){var q=f(this.attr(a)||\"\"),e=f(b).match(u);if(e){k.stop();var l=e[3]||\"\",r=q.match(n),s=d[e[1] ];if(r&&r==l)return{from:parseFloat(q),to:s(parseFloat(q),+e[2]),f:z(r)};q=this.asPX(a);return{from:q,to:s(q,this.asPX(a,e[2]+l)),f:w}}})(-10)});C.plugin(function(a,v,y,M,A){var w=y.prototype,z=a.is;w.rect=function(a,d,k,p,b,q){var e;null==q&&(q=b);z(a,\"object\")&&\"[object Object]\"==\n",
|
||
"a?e=a:null!=a&&(e={x:a,y:d,width:k,height:p},null!=b&&(e.rx=b,e.ry=q));return this.el(\"rect\",e)};w.circle=function(a,d,k){var p;z(a,\"object\")&&\"[object Object]\"==a?p=a:null!=a&&(p={cx:a,cy:d,r:k});return this.el(\"circle\",p)};var d=function(){function a(){this.parentNode.removeChild(this)}return function(d,k){var p=M.doc.createElement(\"img\"),b=M.doc.body;p.style.cssText=\"position:absolute;left:-9999em;top:-9999em\";p.onload=function(){k.call(p);p.onload=p.onerror=null;b.removeChild(p)};p.onerror=a;\n",
|
||
"b.appendChild(p);p.src=d}}();w.image=function(f,n,k,p,b){var q=this.el(\"image\");if(z(f,\"object\")&&\"src\"in f)q.attr(f);else if(null!=f){var e={\"xlink:href\":f,preserveAspectRatio:\"none\"};null!=n&&null!=k&&(e.x=n,e.y=k);null!=p&&null!=b?(e.width=p,e.height=b):d(f,function(){a._.$(q.node,{width:this.offsetWidth,height:this.offsetHeight})});a._.$(q.node,e)}return q};w.ellipse=function(a,d,k,p){var b;z(a,\"object\")&&\"[object Object]\"==a?b=a:null!=a&&(b={cx:a,cy:d,rx:k,ry:p});return this.el(\"ellipse\",b)};\n",
|
||
"w.path=function(a){var d;z(a,\"object\")&&!z(a,\"array\")?d=a:a&&(d={d:a});return this.el(\"path\",d)};w.group=w.g=function(a){var d=this.el(\"g\");1==arguments.length&&a&&!a.type?d.attr(a):arguments.length&&d.add(Array.prototype.slice.call(arguments,0));return d};w.svg=function(a,d,k,p,b,q,e,l){var r={};z(a,\"object\")&&null==d?r=a:(null!=a&&(r.x=a),null!=d&&(r.y=d),null!=k&&(r.width=k),null!=p&&(r.height=p),null!=b&&null!=q&&null!=e&&null!=l&&(r.viewBox=[b,q,e,l]));return this.el(\"svg\",r)};w.mask=function(a){var d=\n",
|
||
"this.el(\"mask\");1==arguments.length&&a&&!a.type?d.attr(a):arguments.length&&d.add(Array.prototype.slice.call(arguments,0));return d};w.ptrn=function(a,d,k,p,b,q,e,l){if(z(a,\"object\"))var r=a;else arguments.length?(r={},null!=a&&(r.x=a),null!=d&&(r.y=d),null!=k&&(r.width=k),null!=p&&(r.height=p),null!=b&&null!=q&&null!=e&&null!=l&&(r.viewBox=[b,q,e,l])):r={patternUnits:\"userSpaceOnUse\"};return this.el(\"pattern\",r)};w.use=function(a){return null!=a?(make(\"use\",this.node),a instanceof v&&(a.attr(\"id\")||\n",
|
||
"a.attr({id:ID()}),a=a.attr(\"id\")),this.el(\"use\",{\"xlink:href\":a})):v.prototype.use.call(this)};w.text=function(a,d,k){var p={};z(a,\"object\")?p=a:null!=a&&(p={x:a,y:d,text:k||\"\"});return this.el(\"text\",p)};w.line=function(a,d,k,p){var b={};z(a,\"object\")?b=a:null!=a&&(b={x1:a,x2:k,y1:d,y2:p});return this.el(\"line\",b)};w.polyline=function(a){1<arguments.length&&(a=Array.prototype.slice.call(arguments,0));var d={};z(a,\"object\")&&!z(a,\"array\")?d=a:null!=a&&(d={points:a});return this.el(\"polyline\",d)};\n",
|
||
"w.polygon=function(a){1<arguments.length&&(a=Array.prototype.slice.call(arguments,0));var d={};z(a,\"object\")&&!z(a,\"array\")?d=a:null!=a&&(d={points:a});return this.el(\"polygon\",d)};(function(){function d(){return this.selectAll(\"stop\")}function n(b,d){var f=e(\"stop\"),k={offset:+d+\"%\"};b=a.color(b);k[\"stop-color\"]=b.hex;1>b.opacity&&(k[\"stop-opacity\"]=b.opacity);e(f,k);this.node.appendChild(f);return this}function u(){if(\"linearGradient\"==this.type){var b=e(this.node,\"x1\")||0,d=e(this.node,\"x2\")||\n",
|
||
"1,f=e(this.node,\"y1\")||0,k=e(this.node,\"y2\")||0;return a._.box(b,f,math.abs(d-b),math.abs(k-f))}b=this.node.r||0;return a._.box((this.node.cx||0.5)-b,(this.node.cy||0.5)-b,2*b,2*b)}function p(a,d){function f(a,b){for(var d=(b-u)/(a-w),e=w;e<a;e++)h[e].offset=+(+u+d*(e-w)).toFixed(2);w=a;u=b}var n=k(\"snap.util.grad.parse\",null,d).firstDefined(),p;if(!n)return null;n.params.unshift(a);p=\"l\"==n.type.toLowerCase()?b.apply(0,n.params):q.apply(0,n.params);n.type!=n.type.toLowerCase()&&e(p.node,{gradientUnits:\"userSpaceOnUse\"});\n",
|
||
"var h=n.stops,n=h.length,u=0,w=0;n--;for(var v=0;v<n;v++)\"offset\"in h[v]&&f(v,h[v].offset);h[n].offset=h[n].offset||100;f(n,h[n].offset);for(v=0;v<=n;v++){var y=h[v];p.addStop(y.color,y.offset)}return p}function b(b,k,p,q,w){b=a._.make(\"linearGradient\",b);b.stops=d;b.addStop=n;b.getBBox=u;null!=k&&e(b.node,{x1:k,y1:p,x2:q,y2:w});return b}function q(b,k,p,q,w,h){b=a._.make(\"radialGradient\",b);b.stops=d;b.addStop=n;b.getBBox=u;null!=k&&e(b.node,{cx:k,cy:p,r:q});null!=w&&null!=h&&e(b.node,{fx:w,fy:h});\n",
|
||
"return b}var e=a._.$;w.gradient=function(a){return p(this.defs,a)};w.gradientLinear=function(a,d,e,f){return b(this.defs,a,d,e,f)};w.gradientRadial=function(a,b,d,e,f){return q(this.defs,a,b,d,e,f)};w.toString=function(){var b=this.node.ownerDocument,d=b.createDocumentFragment(),b=b.createElement(\"div\"),e=this.node.cloneNode(!0);d.appendChild(b);b.appendChild(e);a._.$(e,{xmlns:\"http://www.w3.org/2000/svg\"});b=b.innerHTML;d.removeChild(d.firstChild);return b};w.clear=function(){for(var a=this.node.firstChild,\n",
|
||
"b;a;)b=a.nextSibling,\"defs\"!=a.tagName?a.parentNode.removeChild(a):w.clear.call({node:a}),a=b}})()});C.plugin(function(a,k,y,M){function A(a){var b=A.ps=A.ps||{};b[a]?b[a].sleep=100:b[a]={sleep:100};setTimeout(function(){for(var d in b)b[L](d)&&d!=a&&(b[d].sleep--,!b[d].sleep&&delete b[d])});return b[a]}function w(a,b,d,e){null==a&&(a=b=d=e=0);null==b&&(b=a.y,d=a.width,e=a.height,a=a.x);return{x:a,y:b,width:d,w:d,height:e,h:e,x2:a+d,y2:b+e,cx:a+d/2,cy:b+e/2,r1:F.min(d,e)/2,r2:F.max(d,e)/2,r0:F.sqrt(d*\n",
|
||
"d+e*e)/2,path:s(a,b,d,e),vb:[a,b,d,e].join(\" \")}}function z(){return this.join(\",\").replace(N,\"$1\")}function d(a){a=C(a);a.toString=z;return a}function f(a,b,d,h,f,k,l,n,p){if(null==p)return e(a,b,d,h,f,k,l,n);if(0>p||e(a,b,d,h,f,k,l,n)<p)p=void 0;else{var q=0.5,O=1-q,s;for(s=e(a,b,d,h,f,k,l,n,O);0.01<Z(s-p);)q/=2,O+=(s<p?1:-1)*q,s=e(a,b,d,h,f,k,l,n,O);p=O}return u(a,b,d,h,f,k,l,n,p)}function n(b,d){function e(a){return+(+a).toFixed(3)}return a._.cacher(function(a,h,l){a instanceof k&&(a=a.attr(\"d\"));\n",
|
||
"a=I(a);for(var n,p,D,q,O=\"\",s={},c=0,t=0,r=a.length;t<r;t++){D=a[t];if(\"M\"==D[0])n=+D[1],p=+D[2];else{q=f(n,p,D[1],D[2],D[3],D[4],D[5],D[6]);if(c+q>h){if(d&&!s.start){n=f(n,p,D[1],D[2],D[3],D[4],D[5],D[6],h-c);O+=[\"C\"+e(n.start.x),e(n.start.y),e(n.m.x),e(n.m.y),e(n.x),e(n.y)];if(l)return O;s.start=O;O=[\"M\"+e(n.x),e(n.y)+\"C\"+e(n.n.x),e(n.n.y),e(n.end.x),e(n.end.y),e(D[5]),e(D[6])].join();c+=q;n=+D[5];p=+D[6];continue}if(!b&&!d)return n=f(n,p,D[1],D[2],D[3],D[4],D[5],D[6],h-c)}c+=q;n=+D[5];p=+D[6]}O+=\n",
|
||
"D.shift()+D}s.end=O;return n=b?c:d?s:u(n,p,D[0],D[1],D[2],D[3],D[4],D[5],1)},null,a._.clone)}function u(a,b,d,e,h,f,k,l,n){var p=1-n,q=ma(p,3),s=ma(p,2),c=n*n,t=c*n,r=q*a+3*s*n*d+3*p*n*n*h+t*k,q=q*b+3*s*n*e+3*p*n*n*f+t*l,s=a+2*n*(d-a)+c*(h-2*d+a),t=b+2*n*(e-b)+c*(f-2*e+b),x=d+2*n*(h-d)+c*(k-2*h+d),c=e+2*n*(f-e)+c*(l-2*f+e);a=p*a+n*d;b=p*b+n*e;h=p*h+n*k;f=p*f+n*l;l=90-180*F.atan2(s-x,t-c)/S;return{x:r,y:q,m:{x:s,y:t},n:{x:x,y:c},start:{x:a,y:b},end:{x:h,y:f},alpha:l}}function p(b,d,e,h,f,n,k,l){a.is(b,\n",
|
||
"\"array\")||(b=[b,d,e,h,f,n,k,l]);b=U.apply(null,b);return w(b.min.x,b.min.y,b.max.x-b.min.x,b.max.y-b.min.y)}function b(a,b,d){return b>=a.x&&b<=a.x+a.width&&d>=a.y&&d<=a.y+a.height}function q(a,d){a=w(a);d=w(d);return b(d,a.x,a.y)||b(d,a.x2,a.y)||b(d,a.x,a.y2)||b(d,a.x2,a.y2)||b(a,d.x,d.y)||b(a,d.x2,d.y)||b(a,d.x,d.y2)||b(a,d.x2,d.y2)||(a.x<d.x2&&a.x>d.x||d.x<a.x2&&d.x>a.x)&&(a.y<d.y2&&a.y>d.y||d.y<a.y2&&d.y>a.y)}function e(a,b,d,e,h,f,n,k,l){null==l&&(l=1);l=(1<l?1:0>l?0:l)/2;for(var p=[-0.1252,\n",
|
||
"0.1252,-0.3678,0.3678,-0.5873,0.5873,-0.7699,0.7699,-0.9041,0.9041,-0.9816,0.9816],q=[0.2491,0.2491,0.2335,0.2335,0.2032,0.2032,0.1601,0.1601,0.1069,0.1069,0.0472,0.0472],s=0,c=0;12>c;c++)var t=l*p[c]+l,r=t*(t*(-3*a+9*d-9*h+3*n)+6*a-12*d+6*h)-3*a+3*d,t=t*(t*(-3*b+9*e-9*f+3*k)+6*b-12*e+6*f)-3*b+3*e,s=s+q[c]*F.sqrt(r*r+t*t);return l*s}function l(a,b,d){a=I(a);b=I(b);for(var h,f,l,n,k,s,r,O,x,c,t=d?0:[],w=0,v=a.length;w<v;w++)if(x=a[w],\"M\"==x[0])h=k=x[1],f=s=x[2];else{\"C\"==x[0]?(x=[h,f].concat(x.slice(1)),\n",
|
||
"h=x[6],f=x[7]):(x=[h,f,h,f,k,s,k,s],h=k,f=s);for(var G=0,y=b.length;G<y;G++)if(c=b[G],\"M\"==c[0])l=r=c[1],n=O=c[2];else{\"C\"==c[0]?(c=[l,n].concat(c.slice(1)),l=c[6],n=c[7]):(c=[l,n,l,n,r,O,r,O],l=r,n=O);var z;var K=x,B=c;z=d;var H=p(K),J=p(B);if(q(H,J)){for(var H=e.apply(0,K),J=e.apply(0,B),H=~~(H/8),J=~~(J/8),U=[],A=[],F={},M=z?0:[],P=0;P<H+1;P++){var C=u.apply(0,K.concat(P/H));U.push({x:C.x,y:C.y,t:P/H})}for(P=0;P<J+1;P++)C=u.apply(0,B.concat(P/J)),A.push({x:C.x,y:C.y,t:P/J});for(P=0;P<H;P++)for(K=\n",
|
||
"0;K<J;K++){var Q=U[P],L=U[P+1],B=A[K],C=A[K+1],N=0.001>Z(L.x-Q.x)?\"y\":\"x\",S=0.001>Z(C.x-B.x)?\"y\":\"x\",R;R=Q.x;var Y=Q.y,V=L.x,ea=L.y,fa=B.x,ga=B.y,ha=C.x,ia=C.y;if(W(R,V)<X(fa,ha)||X(R,V)>W(fa,ha)||W(Y,ea)<X(ga,ia)||X(Y,ea)>W(ga,ia))R=void 0;else{var $=(R*ea-Y*V)*(fa-ha)-(R-V)*(fa*ia-ga*ha),aa=(R*ea-Y*V)*(ga-ia)-(Y-ea)*(fa*ia-ga*ha),ja=(R-V)*(ga-ia)-(Y-ea)*(fa-ha);if(ja){var $=$/ja,aa=aa/ja,ja=+$.toFixed(2),ba=+aa.toFixed(2);R=ja<+X(R,V).toFixed(2)||ja>+W(R,V).toFixed(2)||ja<+X(fa,ha).toFixed(2)||\n",
|
||
"ja>+W(fa,ha).toFixed(2)||ba<+X(Y,ea).toFixed(2)||ba>+W(Y,ea).toFixed(2)||ba<+X(ga,ia).toFixed(2)||ba>+W(ga,ia).toFixed(2)?void 0:{x:$,y:aa}}else R=void 0}R&&F[R.x.toFixed(4)]!=R.y.toFixed(4)&&(F[R.x.toFixed(4)]=R.y.toFixed(4),Q=Q.t+Z((R[N]-Q[N])/(L[N]-Q[N]))*(L.t-Q.t),B=B.t+Z((R[S]-B[S])/(C[S]-B[S]))*(C.t-B.t),0<=Q&&1>=Q&&0<=B&&1>=B&&(z?M++:M.push({x:R.x,y:R.y,t1:Q,t2:B})))}z=M}else z=z?0:[];if(d)t+=z;else{H=0;for(J=z.length;H<J;H++)z[H].segment1=w,z[H].segment2=G,z[H].bez1=x,z[H].bez2=c;t=t.concat(z)}}}return t}\n",
|
||
"function r(a){var b=A(a);if(b.bbox)return C(b.bbox);if(!a)return w();a=I(a);for(var d=0,e=0,h=[],f=[],l,n=0,k=a.length;n<k;n++)l=a[n],\"M\"==l[0]?(d=l[1],e=l[2],h.push(d),f.push(e)):(d=U(d,e,l[1],l[2],l[3],l[4],l[5],l[6]),h=h.concat(d.min.x,d.max.x),f=f.concat(d.min.y,d.max.y),d=l[5],e=l[6]);a=X.apply(0,h);l=X.apply(0,f);h=W.apply(0,h);f=W.apply(0,f);f=w(a,l,h-a,f-l);b.bbox=C(f);return f}function s(a,b,d,e,h){if(h)return[[\"M\",+a+ +h,b],[\"l\",d-2*h,0],[\"a\",h,h,0,0,1,h,h],[\"l\",0,e-2*h],[\"a\",h,h,0,0,1,\n",
|
||
"-h,h],[\"l\",2*h-d,0],[\"a\",h,h,0,0,1,-h,-h],[\"l\",0,2*h-e],[\"a\",h,h,0,0,1,h,-h],[\"z\"] ];a=[[\"M\",a,b],[\"l\",d,0],[\"l\",0,e],[\"l\",-d,0],[\"z\"] ];a.toString=z;return a}function x(a,b,d,e,h){null==h&&null==e&&(e=d);a=+a;b=+b;d=+d;e=+e;if(null!=h){var f=Math.PI/180,l=a+d*Math.cos(-e*f);a+=d*Math.cos(-h*f);var n=b+d*Math.sin(-e*f);b+=d*Math.sin(-h*f);d=[[\"M\",l,n],[\"A\",d,d,0,+(180<h-e),0,a,b] ]}else d=[[\"M\",a,b],[\"m\",0,-e],[\"a\",d,e,0,1,1,0,2*e],[\"a\",d,e,0,1,1,0,-2*e],[\"z\"] ];d.toString=z;return d}function G(b){var e=\n",
|
||
"A(b);if(e.abs)return d(e.abs);Q(b,\"array\")&&Q(b&&b[0],\"array\")||(b=a.parsePathString(b));if(!b||!b.length)return[[\"M\",0,0] ];var h=[],f=0,l=0,n=0,k=0,p=0;\"M\"==b[0][0]&&(f=+b[0][1],l=+b[0][2],n=f,k=l,p++,h[0]=[\"M\",f,l]);for(var q=3==b.length&&\"M\"==b[0][0]&&\"R\"==b[1][0].toUpperCase()&&\"Z\"==b[2][0].toUpperCase(),s,r,w=p,c=b.length;w<c;w++){h.push(s=[]);r=b[w];p=r[0];if(p!=p.toUpperCase())switch(s[0]=p.toUpperCase(),s[0]){case \"A\":s[1]=r[1];s[2]=r[2];s[3]=r[3];s[4]=r[4];s[5]=r[5];s[6]=+r[6]+f;s[7]=+r[7]+\n",
|
||
"l;break;case \"V\":s[1]=+r[1]+l;break;case \"H\":s[1]=+r[1]+f;break;case \"R\":for(var t=[f,l].concat(r.slice(1)),u=2,v=t.length;u<v;u++)t[u]=+t[u]+f,t[++u]=+t[u]+l;h.pop();h=h.concat(P(t,q));break;case \"O\":h.pop();t=x(f,l,r[1],r[2]);t.push(t[0]);h=h.concat(t);break;case \"U\":h.pop();h=h.concat(x(f,l,r[1],r[2],r[3]));s=[\"U\"].concat(h[h.length-1].slice(-2));break;case \"M\":n=+r[1]+f,k=+r[2]+l;default:for(u=1,v=r.length;u<v;u++)s[u]=+r[u]+(u%2?f:l)}else if(\"R\"==p)t=[f,l].concat(r.slice(1)),h.pop(),h=h.concat(P(t,\n",
|
||
"q)),s=[\"R\"].concat(r.slice(-2));else if(\"O\"==p)h.pop(),t=x(f,l,r[1],r[2]),t.push(t[0]),h=h.concat(t);else if(\"U\"==p)h.pop(),h=h.concat(x(f,l,r[1],r[2],r[3])),s=[\"U\"].concat(h[h.length-1].slice(-2));else for(t=0,u=r.length;t<u;t++)s[t]=r[t];p=p.toUpperCase();if(\"O\"!=p)switch(s[0]){case \"Z\":f=+n;l=+k;break;case \"H\":f=s[1];break;case \"V\":l=s[1];break;case \"M\":n=s[s.length-2],k=s[s.length-1];default:f=s[s.length-2],l=s[s.length-1]}}h.toString=z;e.abs=d(h);return h}function h(a,b,d,e){return[a,b,d,e,d,\n",
|
||
"e]}function J(a,b,d,e,h,f){var l=1/3,n=2/3;return[l*a+n*d,l*b+n*e,l*h+n*d,l*f+n*e,h,f]}function K(b,d,e,h,f,l,n,k,p,s){var r=120*S/180,q=S/180*(+f||0),c=[],t,x=a._.cacher(function(a,b,c){var d=a*F.cos(c)-b*F.sin(c);a=a*F.sin(c)+b*F.cos(c);return{x:d,y:a}});if(s)v=s[0],t=s[1],l=s[2],u=s[3];else{t=x(b,d,-q);b=t.x;d=t.y;t=x(k,p,-q);k=t.x;p=t.y;F.cos(S/180*f);F.sin(S/180*f);t=(b-k)/2;v=(d-p)/2;u=t*t/(e*e)+v*v/(h*h);1<u&&(u=F.sqrt(u),e*=u,h*=u);var u=e*e,w=h*h,u=(l==n?-1:1)*F.sqrt(Z((u*w-u*v*v-w*t*t)/\n",
|
||
"(u*v*v+w*t*t)));l=u*e*v/h+(b+k)/2;var u=u*-h*t/e+(d+p)/2,v=F.asin(((d-u)/h).toFixed(9));t=F.asin(((p-u)/h).toFixed(9));v=b<l?S-v:v;t=k<l?S-t:t;0>v&&(v=2*S+v);0>t&&(t=2*S+t);n&&v>t&&(v-=2*S);!n&&t>v&&(t-=2*S)}if(Z(t-v)>r){var c=t,w=k,G=p;t=v+r*(n&&t>v?1:-1);k=l+e*F.cos(t);p=u+h*F.sin(t);c=K(k,p,e,h,f,0,n,w,G,[t,c,l,u])}l=t-v;f=F.cos(v);r=F.sin(v);n=F.cos(t);t=F.sin(t);l=F.tan(l/4);e=4/3*e*l;l*=4/3*h;h=[b,d];b=[b+e*r,d-l*f];d=[k+e*t,p-l*n];k=[k,p];b[0]=2*h[0]-b[0];b[1]=2*h[1]-b[1];if(s)return[b,d,k].concat(c);\n",
|
||
"c=[b,d,k].concat(c).join().split(\",\");s=[];k=0;for(p=c.length;k<p;k++)s[k]=k%2?x(c[k-1],c[k],q).y:x(c[k],c[k+1],q).x;return s}function U(a,b,d,e,h,f,l,k){for(var n=[],p=[[],[] ],s,r,c,t,q=0;2>q;++q)0==q?(r=6*a-12*d+6*h,s=-3*a+9*d-9*h+3*l,c=3*d-3*a):(r=6*b-12*e+6*f,s=-3*b+9*e-9*f+3*k,c=3*e-3*b),1E-12>Z(s)?1E-12>Z(r)||(s=-c/r,0<s&&1>s&&n.push(s)):(t=r*r-4*c*s,c=F.sqrt(t),0>t||(t=(-r+c)/(2*s),0<t&&1>t&&n.push(t),s=(-r-c)/(2*s),0<s&&1>s&&n.push(s)));for(r=q=n.length;q--;)s=n[q],c=1-s,p[0][q]=c*c*c*a+3*\n",
|
||
"c*c*s*d+3*c*s*s*h+s*s*s*l,p[1][q]=c*c*c*b+3*c*c*s*e+3*c*s*s*f+s*s*s*k;p[0][r]=a;p[1][r]=b;p[0][r+1]=l;p[1][r+1]=k;p[0].length=p[1].length=r+2;return{min:{x:X.apply(0,p[0]),y:X.apply(0,p[1])},max:{x:W.apply(0,p[0]),y:W.apply(0,p[1])}}}function I(a,b){var e=!b&&A(a);if(!b&&e.curve)return d(e.curve);var f=G(a),l=b&&G(b),n={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},k={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},p=function(a,b,c){if(!a)return[\"C\",b.x,b.y,b.x,b.y,b.x,b.y];a[0]in{T:1,Q:1}||(b.qx=b.qy=null);\n",
|
||
"switch(a[0]){case \"M\":b.X=a[1];b.Y=a[2];break;case \"A\":a=[\"C\"].concat(K.apply(0,[b.x,b.y].concat(a.slice(1))));break;case \"S\":\"C\"==c||\"S\"==c?(c=2*b.x-b.bx,b=2*b.y-b.by):(c=b.x,b=b.y);a=[\"C\",c,b].concat(a.slice(1));break;case \"T\":\"Q\"==c||\"T\"==c?(b.qx=2*b.x-b.qx,b.qy=2*b.y-b.qy):(b.qx=b.x,b.qy=b.y);a=[\"C\"].concat(J(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case \"Q\":b.qx=a[1];b.qy=a[2];a=[\"C\"].concat(J(b.x,b.y,a[1],a[2],a[3],a[4]));break;case \"L\":a=[\"C\"].concat(h(b.x,b.y,a[1],a[2]));break;case \"H\":a=[\"C\"].concat(h(b.x,\n",
|
||
"b.y,a[1],b.y));break;case \"V\":a=[\"C\"].concat(h(b.x,b.y,b.x,a[1]));break;case \"Z\":a=[\"C\"].concat(h(b.x,b.y,b.X,b.Y))}return a},s=function(a,b){if(7<a[b].length){a[b].shift();for(var c=a[b];c.length;)q[b]=\"A\",l&&(u[b]=\"A\"),a.splice(b++,0,[\"C\"].concat(c.splice(0,6)));a.splice(b,1);v=W(f.length,l&&l.length||0)}},r=function(a,b,c,d,e){a&&b&&\"M\"==a[e][0]&&\"M\"!=b[e][0]&&(b.splice(e,0,[\"M\",d.x,d.y]),c.bx=0,c.by=0,c.x=a[e][1],c.y=a[e][2],v=W(f.length,l&&l.length||0))},q=[],u=[],c=\"\",t=\"\",x=0,v=W(f.length,\n",
|
||
"l&&l.length||0);for(;x<v;x++){f[x]&&(c=f[x][0]);\"C\"!=c&&(q[x]=c,x&&(t=q[x-1]));f[x]=p(f[x],n,t);\"A\"!=q[x]&&\"C\"==c&&(q[x]=\"C\");s(f,x);l&&(l[x]&&(c=l[x][0]),\"C\"!=c&&(u[x]=c,x&&(t=u[x-1])),l[x]=p(l[x],k,t),\"A\"!=u[x]&&\"C\"==c&&(u[x]=\"C\"),s(l,x));r(f,l,n,k,x);r(l,f,k,n,x);var w=f[x],z=l&&l[x],y=w.length,U=l&&z.length;n.x=w[y-2];n.y=w[y-1];n.bx=$(w[y-4])||n.x;n.by=$(w[y-3])||n.y;k.bx=l&&($(z[U-4])||k.x);k.by=l&&($(z[U-3])||k.y);k.x=l&&z[U-2];k.y=l&&z[U-1]}l||(e.curve=d(f));return l?[f,l]:f}function P(a,\n",
|
||
"b){for(var d=[],e=0,h=a.length;h-2*!b>e;e+=2){var f=[{x:+a[e-2],y:+a[e-1]},{x:+a[e],y:+a[e+1]},{x:+a[e+2],y:+a[e+3]},{x:+a[e+4],y:+a[e+5]}];b?e?h-4==e?f[3]={x:+a[0],y:+a[1]}:h-2==e&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[h-2],y:+a[h-1]}:h-4==e?f[3]=f[2]:e||(f[0]={x:+a[e],y:+a[e+1]});d.push([\"C\",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return d}y=k.prototype;var Q=a.is,C=a._.clone,L=\"hasOwnProperty\",\n",
|
||
"N=/,?([a-z]),?/gi,$=parseFloat,F=Math,S=F.PI,X=F.min,W=F.max,ma=F.pow,Z=F.abs;M=n(1);var na=n(),ba=n(0,1),V=a._unit2px;a.path=A;a.path.getTotalLength=M;a.path.getPointAtLength=na;a.path.getSubpath=function(a,b,d){if(1E-6>this.getTotalLength(a)-d)return ba(a,b).end;a=ba(a,d,1);return b?ba(a,b).end:a};y.getTotalLength=function(){if(this.node.getTotalLength)return this.node.getTotalLength()};y.getPointAtLength=function(a){return na(this.attr(\"d\"),a)};y.getSubpath=function(b,d){return a.path.getSubpath(this.attr(\"d\"),\n",
|
||
"b,d)};a._.box=w;a.path.findDotsAtSegment=u;a.path.bezierBBox=p;a.path.isPointInsideBBox=b;a.path.isBBoxIntersect=q;a.path.intersection=function(a,b){return l(a,b)};a.path.intersectionNumber=function(a,b){return l(a,b,1)};a.path.isPointInside=function(a,d,e){var h=r(a);return b(h,d,e)&&1==l(a,[[\"M\",d,e],[\"H\",h.x2+10] ],1)%2};a.path.getBBox=r;a.path.get={path:function(a){return a.attr(\"path\")},circle:function(a){a=V(a);return x(a.cx,a.cy,a.r)},ellipse:function(a){a=V(a);return x(a.cx||0,a.cy||0,a.rx,\n",
|
||
"a.ry)},rect:function(a){a=V(a);return s(a.x||0,a.y||0,a.width,a.height,a.rx,a.ry)},image:function(a){a=V(a);return s(a.x||0,a.y||0,a.width,a.height)},line:function(a){return\"M\"+[a.attr(\"x1\")||0,a.attr(\"y1\")||0,a.attr(\"x2\"),a.attr(\"y2\")]},polyline:function(a){return\"M\"+a.attr(\"points\")},polygon:function(a){return\"M\"+a.attr(\"points\")+\"z\"},deflt:function(a){a=a.node.getBBox();return s(a.x,a.y,a.width,a.height)}};a.path.toRelative=function(b){var e=A(b),h=String.prototype.toLowerCase;if(e.rel)return d(e.rel);\n",
|
||
"a.is(b,\"array\")&&a.is(b&&b[0],\"array\")||(b=a.parsePathString(b));var f=[],l=0,n=0,k=0,p=0,s=0;\"M\"==b[0][0]&&(l=b[0][1],n=b[0][2],k=l,p=n,s++,f.push([\"M\",l,n]));for(var r=b.length;s<r;s++){var q=f[s]=[],x=b[s];if(x[0]!=h.call(x[0]))switch(q[0]=h.call(x[0]),q[0]){case \"a\":q[1]=x[1];q[2]=x[2];q[3]=x[3];q[4]=x[4];q[5]=x[5];q[6]=+(x[6]-l).toFixed(3);q[7]=+(x[7]-n).toFixed(3);break;case \"v\":q[1]=+(x[1]-n).toFixed(3);break;case \"m\":k=x[1],p=x[2];default:for(var c=1,t=x.length;c<t;c++)q[c]=+(x[c]-(c%2?l:\n",
|
||
"n)).toFixed(3)}else for(f[s]=[],\"m\"==x[0]&&(k=x[1]+l,p=x[2]+n),q=0,c=x.length;q<c;q++)f[s][q]=x[q];x=f[s].length;switch(f[s][0]){case \"z\":l=k;n=p;break;case \"h\":l+=+f[s][x-1];break;case \"v\":n+=+f[s][x-1];break;default:l+=+f[s][x-2],n+=+f[s][x-1]}}f.toString=z;e.rel=d(f);return f};a.path.toAbsolute=G;a.path.toCubic=I;a.path.map=function(a,b){if(!b)return a;var d,e,h,f,l,n,k;a=I(a);h=0;for(l=a.length;h<l;h++)for(k=a[h],f=1,n=k.length;f<n;f+=2)d=b.x(k[f],k[f+1]),e=b.y(k[f],k[f+1]),k[f]=d,k[f+1]=e;return a};\n",
|
||
"a.path.toString=z;a.path.clone=d});C.plugin(function(a,v,y,C){var A=Math.max,w=Math.min,z=function(a){this.items=[];this.bindings={};this.length=0;this.type=\"set\";if(a)for(var f=0,n=a.length;f<n;f++)a[f]&&(this[this.items.length]=this.items[this.items.length]=a[f],this.length++)};v=z.prototype;v.push=function(){for(var a,f,n=0,k=arguments.length;n<k;n++)if(a=arguments[n])f=this.items.length,this[f]=this.items[f]=a,this.length++;return this};v.pop=function(){this.length&&delete this[this.length--];\n",
|
||
"return this.items.pop()};v.forEach=function(a,f){for(var n=0,k=this.items.length;n<k&&!1!==a.call(f,this.items[n],n);n++);return this};v.animate=function(d,f,n,u){\"function\"!=typeof n||n.length||(u=n,n=L.linear);d instanceof a._.Animation&&(u=d.callback,n=d.easing,f=n.dur,d=d.attr);var p=arguments;if(a.is(d,\"array\")&&a.is(p[p.length-1],\"array\"))var b=!0;var q,e=function(){q?this.b=q:q=this.b},l=0,r=u&&function(){l++==this.length&&u.call(this)};return this.forEach(function(a,l){k.once(\"snap.animcreated.\"+\n",
|
||
"a.id,e);b?p[l]&&a.animate.apply(a,p[l]):a.animate(d,f,n,r)})};v.remove=function(){for(;this.length;)this.pop().remove();return this};v.bind=function(a,f,k){var u={};if(\"function\"==typeof f)this.bindings[a]=f;else{var p=k||a;this.bindings[a]=function(a){u[p]=a;f.attr(u)}}return this};v.attr=function(a){var f={},k;for(k in a)if(this.bindings[k])this.bindings[k](a[k]);else f[k]=a[k];a=0;for(k=this.items.length;a<k;a++)this.items[a].attr(f);return this};v.clear=function(){for(;this.length;)this.pop()};\n",
|
||
"v.splice=function(a,f,k){a=0>a?A(this.length+a,0):a;f=A(0,w(this.length-a,f));var u=[],p=[],b=[],q;for(q=2;q<arguments.length;q++)b.push(arguments[q]);for(q=0;q<f;q++)p.push(this[a+q]);for(;q<this.length-a;q++)u.push(this[a+q]);var e=b.length;for(q=0;q<e+u.length;q++)this.items[a+q]=this[a+q]=q<e?b[q]:u[q-e];for(q=this.items.length=this.length-=f-e;this[q];)delete this[q++];return new z(p)};v.exclude=function(a){for(var f=0,k=this.length;f<k;f++)if(this[f]==a)return this.splice(f,1),!0;return!1};\n",
|
||
"v.insertAfter=function(a){for(var f=this.items.length;f--;)this.items[f].insertAfter(a);return this};v.getBBox=function(){for(var a=[],f=[],k=[],u=[],p=this.items.length;p--;)if(!this.items[p].removed){var b=this.items[p].getBBox();a.push(b.x);f.push(b.y);k.push(b.x+b.width);u.push(b.y+b.height)}a=w.apply(0,a);f=w.apply(0,f);k=A.apply(0,k);u=A.apply(0,u);return{x:a,y:f,x2:k,y2:u,width:k-a,height:u-f,cx:a+(k-a)/2,cy:f+(u-f)/2}};v.clone=function(a){a=new z;for(var f=0,k=this.items.length;f<k;f++)a.push(this.items[f].clone());\n",
|
||
"return a};v.toString=function(){return\"Snap\\u2018s set\"};v.type=\"set\";a.set=function(){var a=new z;arguments.length&&a.push.apply(a,Array.prototype.slice.call(arguments,0));return a}});C.plugin(function(a,v,y,C){function A(a){var b=a[0];switch(b.toLowerCase()){case \"t\":return[b,0,0];case \"m\":return[b,1,0,0,1,0,0];case \"r\":return 4==a.length?[b,0,a[2],a[3] ]:[b,0];case \"s\":return 5==a.length?[b,1,1,a[3],a[4] ]:3==a.length?[b,1,1]:[b,1]}}function w(b,d,f){d=q(d).replace(/\\.{3}|\\u2026/g,b);b=a.parseTransformString(b)||\n",
|
||
"[];d=a.parseTransformString(d)||[];for(var k=Math.max(b.length,d.length),p=[],v=[],h=0,w,z,y,I;h<k;h++){y=b[h]||A(d[h]);I=d[h]||A(y);if(y[0]!=I[0]||\"r\"==y[0].toLowerCase()&&(y[2]!=I[2]||y[3]!=I[3])||\"s\"==y[0].toLowerCase()&&(y[3]!=I[3]||y[4]!=I[4])){b=a._.transform2matrix(b,f());d=a._.transform2matrix(d,f());p=[[\"m\",b.a,b.b,b.c,b.d,b.e,b.f] ];v=[[\"m\",d.a,d.b,d.c,d.d,d.e,d.f] ];break}p[h]=[];v[h]=[];w=0;for(z=Math.max(y.length,I.length);w<z;w++)w in y&&(p[h][w]=y[w]),w in I&&(v[h][w]=I[w])}return{from:u(p),\n",
|
||
"to:u(v),f:n(p)}}function z(a){return a}function d(a){return function(b){return+b.toFixed(3)+a}}function f(b){return a.rgb(b[0],b[1],b[2])}function n(a){var b=0,d,f,k,n,h,p,q=[];d=0;for(f=a.length;d<f;d++){h=\"[\";p=['\"'+a[d][0]+'\"'];k=1;for(n=a[d].length;k<n;k++)p[k]=\"val[\"+b++ +\"]\";h+=p+\"]\";q[d]=h}return Function(\"val\",\"return Snap.path.toString.call([\"+q+\"])\")}function u(a){for(var b=[],d=0,f=a.length;d<f;d++)for(var k=1,n=a[d].length;k<n;k++)b.push(a[d][k]);return b}var p={},b=/[a-z]+$/i,q=String;\n",
|
||
"p.stroke=p.fill=\"colour\";v.prototype.equal=function(a,b){return k(\"snap.util.equal\",this,a,b).firstDefined()};k.on(\"snap.util.equal\",function(e,k){var r,s;r=q(this.attr(e)||\"\");var x=this;if(r==+r&&k==+k)return{from:+r,to:+k,f:z};if(\"colour\"==p[e])return r=a.color(r),s=a.color(k),{from:[r.r,r.g,r.b,r.opacity],to:[s.r,s.g,s.b,s.opacity],f:f};if(\"transform\"==e||\"gradientTransform\"==e||\"patternTransform\"==e)return k instanceof a.Matrix&&(k=k.toTransformString()),a._.rgTransform.test(k)||(k=a._.svgTransform2string(k)),\n",
|
||
"w(r,k,function(){return x.getBBox(1)});if(\"d\"==e||\"path\"==e)return r=a.path.toCubic(r,k),{from:u(r[0]),to:u(r[1]),f:n(r[0])};if(\"points\"==e)return r=q(r).split(a._.separator),s=q(k).split(a._.separator),{from:r,to:s,f:function(a){return a}};aUnit=r.match(b);s=q(k).match(b);return aUnit&&aUnit==s?{from:parseFloat(r),to:parseFloat(k),f:d(aUnit)}:{from:this.asPX(e),to:this.asPX(e,k),f:z}})});C.plugin(function(a,v,y,C){var A=v.prototype,w=\"createTouch\"in C.doc;v=\"click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel\".split(\" \");\n",
|
||
"var z={mousedown:\"touchstart\",mousemove:\"touchmove\",mouseup:\"touchend\"},d=function(a,b){var d=\"y\"==a?\"scrollTop\":\"scrollLeft\",e=b&&b.node?b.node.ownerDocument:C.doc;return e[d in e.documentElement?\"documentElement\":\"body\"][d]},f=function(){this.returnValue=!1},n=function(){return this.originalEvent.preventDefault()},u=function(){this.cancelBubble=!0},p=function(){return this.originalEvent.stopPropagation()},b=function(){if(C.doc.addEventListener)return function(a,b,e,f){var k=w&&z[b]?z[b]:b,l=function(k){var l=\n",
|
||
"d(\"y\",f),q=d(\"x\",f);if(w&&z.hasOwnProperty(b))for(var r=0,u=k.targetTouches&&k.targetTouches.length;r<u;r++)if(k.targetTouches[r].target==a||a.contains(k.targetTouches[r].target)){u=k;k=k.targetTouches[r];k.originalEvent=u;k.preventDefault=n;k.stopPropagation=p;break}return e.call(f,k,k.clientX+q,k.clientY+l)};b!==k&&a.addEventListener(b,l,!1);a.addEventListener(k,l,!1);return function(){b!==k&&a.removeEventListener(b,l,!1);a.removeEventListener(k,l,!1);return!0}};if(C.doc.attachEvent)return function(a,\n",
|
||
"b,e,h){var k=function(a){a=a||h.node.ownerDocument.window.event;var b=d(\"y\",h),k=d(\"x\",h),k=a.clientX+k,b=a.clientY+b;a.preventDefault=a.preventDefault||f;a.stopPropagation=a.stopPropagation||u;return e.call(h,a,k,b)};a.attachEvent(\"on\"+b,k);return function(){a.detachEvent(\"on\"+b,k);return!0}}}(),q=[],e=function(a){for(var b=a.clientX,e=a.clientY,f=d(\"y\"),l=d(\"x\"),n,p=q.length;p--;){n=q[p];if(w)for(var r=a.touches&&a.touches.length,u;r--;){if(u=a.touches[r],u.identifier==n.el._drag.id||n.el.node.contains(u.target)){b=\n",
|
||
"u.clientX;e=u.clientY;(a.originalEvent?a.originalEvent:a).preventDefault();break}}else a.preventDefault();b+=l;e+=f;k(\"snap.drag.move.\"+n.el.id,n.move_scope||n.el,b-n.el._drag.x,e-n.el._drag.y,b,e,a)}},l=function(b){a.unmousemove(e).unmouseup(l);for(var d=q.length,f;d--;)f=q[d],f.el._drag={},k(\"snap.drag.end.\"+f.el.id,f.end_scope||f.start_scope||f.move_scope||f.el,b);q=[]};for(y=v.length;y--;)(function(d){a[d]=A[d]=function(e,f){a.is(e,\"function\")&&(this.events=this.events||[],this.events.push({name:d,\n",
|
||
"f:e,unbind:b(this.node||document,d,e,f||this)}));return this};a[\"un\"+d]=A[\"un\"+d]=function(a){for(var b=this.events||[],e=b.length;e--;)if(b[e].name==d&&(b[e].f==a||!a)){b[e].unbind();b.splice(e,1);!b.length&&delete this.events;break}return this}})(v[y]);A.hover=function(a,b,d,e){return this.mouseover(a,d).mouseout(b,e||d)};A.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};var r=[];A.drag=function(b,d,f,h,n,p){function u(r,v,w){(r.originalEvent||r).preventDefault();this._drag.x=v;\n",
|
||
"this._drag.y=w;this._drag.id=r.identifier;!q.length&&a.mousemove(e).mouseup(l);q.push({el:this,move_scope:h,start_scope:n,end_scope:p});d&&k.on(\"snap.drag.start.\"+this.id,d);b&&k.on(\"snap.drag.move.\"+this.id,b);f&&k.on(\"snap.drag.end.\"+this.id,f);k(\"snap.drag.start.\"+this.id,n||h||this,v,w,r)}if(!arguments.length){var v;return this.drag(function(a,b){this.attr({transform:v+(v?\"T\":\"t\")+[a,b]})},function(){v=this.transform().local})}this._drag={};r.push({el:this,start:u});this.mousedown(u);return this};\n",
|
||
"A.undrag=function(){for(var b=r.length;b--;)r[b].el==this&&(this.unmousedown(r[b].start),r.splice(b,1),k.unbind(\"snap.drag.*.\"+this.id));!r.length&&a.unmousemove(e).unmouseup(l);return this}});C.plugin(function(a,v,y,C){y=y.prototype;var A=/^\\s*url\\((.+)\\)/,w=String,z=a._.$;a.filter={};y.filter=function(d){var f=this;\"svg\"!=f.type&&(f=f.paper);d=a.parse(w(d));var k=a._.id(),u=z(\"filter\");z(u,{id:k,filterUnits:\"userSpaceOnUse\"});u.appendChild(d.node);f.defs.appendChild(u);return new v(u)};k.on(\"snap.util.getattr.filter\",\n",
|
||
"function(){k.stop();var d=z(this.node,\"filter\");if(d)return(d=w(d).match(A))&&a.select(d[1])});k.on(\"snap.util.attr.filter\",function(d){if(d instanceof v&&\"filter\"==d.type){k.stop();var f=d.node.id;f||(z(d.node,{id:d.id}),f=d.id);z(this.node,{filter:a.url(f)})}d&&\"none\"!=d||(k.stop(),this.node.removeAttribute(\"filter\"))});a.filter.blur=function(d,f){null==d&&(d=2);return a.format('<feGaussianBlur stdDeviation=\"{def}\"/>',{def:null==f?d:[d,f]})};a.filter.blur.toString=function(){return this()};a.filter.shadow=\n",
|
||
"function(d,f,k,u,p){\"string\"==typeof k&&(p=u=k,k=4);\"string\"!=typeof u&&(p=u,u=\"#000\");null==k&&(k=4);null==p&&(p=1);null==d&&(d=0,f=2);null==f&&(f=d);u=a.color(u||\"#000\");return a.format('<feGaussianBlur in=\"SourceAlpha\" stdDeviation=\"{blur}\"/><feOffset dx=\"{dx}\" dy=\"{dy}\" result=\"offsetblur\"/><feFlood flood-color=\"{color}\"/><feComposite in2=\"offsetblur\" operator=\"in\"/><feComponentTransfer><feFuncA type=\"linear\" slope=\"{opacity}\"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in=\"SourceGraphic\"/></feMerge>',\n",
|
||
"{color:u,dx:d,dy:f,blur:k,opacity:p})};a.filter.shadow.toString=function(){return this()};a.filter.grayscale=function(d){null==d&&(d=1);return a.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {b} {h} 0 0 0 0 0 1 0\"/>',{a:0.2126+0.7874*(1-d),b:0.7152-0.7152*(1-d),c:0.0722-0.0722*(1-d),d:0.2126-0.2126*(1-d),e:0.7152+0.2848*(1-d),f:0.0722-0.0722*(1-d),g:0.2126-0.2126*(1-d),h:0.0722+0.9278*(1-d)})};a.filter.grayscale.toString=function(){return this()};a.filter.sepia=\n",
|
||
"function(d){null==d&&(d=1);return a.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {h} {i} 0 0 0 0 0 1 0\"/>',{a:0.393+0.607*(1-d),b:0.769-0.769*(1-d),c:0.189-0.189*(1-d),d:0.349-0.349*(1-d),e:0.686+0.314*(1-d),f:0.168-0.168*(1-d),g:0.272-0.272*(1-d),h:0.534-0.534*(1-d),i:0.131+0.869*(1-d)})};a.filter.sepia.toString=function(){return this()};a.filter.saturate=function(d){null==d&&(d=1);return a.format('<feColorMatrix type=\"saturate\" values=\"{amount}\"/>',{amount:1-\n",
|
||
"d})};a.filter.saturate.toString=function(){return this()};a.filter.hueRotate=function(d){return a.format('<feColorMatrix type=\"hueRotate\" values=\"{angle}\"/>',{angle:d||0})};a.filter.hueRotate.toString=function(){return this()};a.filter.invert=function(d){null==d&&(d=1);return a.format('<feComponentTransfer><feFuncR type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncG type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncB type=\"table\" tableValues=\"{amount} {amount2}\"/></feComponentTransfer>',{amount:d,\n",
|
||
"amount2:1-d})};a.filter.invert.toString=function(){return this()};a.filter.brightness=function(d){null==d&&(d=1);return a.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\"/><feFuncG type=\"linear\" slope=\"{amount}\"/><feFuncB type=\"linear\" slope=\"{amount}\"/></feComponentTransfer>',{amount:d})};a.filter.brightness.toString=function(){return this()};a.filter.contrast=function(d){null==d&&(d=1);return a.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncG type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncB type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/></feComponentTransfer>',\n",
|
||
"{amount:d,amount2:0.5-d/2})};a.filter.contrast.toString=function(){return this()}});return C});\n",
|
||
"\n",
|
||
"]]> </script>\n",
|
||
"</svg>\n"
|
||
],
|
||
"text/plain": [
|
||
"Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx,Int64},Measures.Length{:cy,Int64}},Tuple{Measures.Length{:cx,Int64},Measures.Length{:cy,Int64}}}((0cx,0cy),(1cx,1cy)),Nullable{Compose.UnitBox{S,T,U,V}}(),Nullable{Compose.Rotation{P<:NTuple{N,Measures.Measure}}}(),Nullable{Compose.Mirror}(),Compose.ListNode{Compose.Container}(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx,Int64},Measures.Length{:cy,Int64}},Tuple{Measures.Length{:cx,Int64},Measures.Length{:cy,Int64}}}((0cx,0cy),(1cx,1cy)),Nullable{Compose.UnitBox{S,T,U,V}}(),Nullable{Compose.Rotation{P<:NTuple{N,Measures.Measure}}}(),Nullable{Compose.Mirror}(),Compose.ListNull{Compose.Container}(),Compose.ListNode{Compose.Form{P<:Compose.FormPrimitive}}(Compose.Form{Compose.SimplePolygonPrimitive{Tuple{Measures.Length{:cx,Float64},Measures.Length{:cy,Float64}}}}([Compose.SimplePolygonPrimitive{Tuple{Measures.Length{:cx,Float64},Measures.Length{:cy,Float64}}}([(0.0cx,0.0cy),(1.0277777777777777cx,0.0cy),(1.0277777777777777cx,0.8888888888888888cy),(0.0cx,0.8888888888888888cy)])],symbol(\"\")),Compose.ListNull{Compose.Form{P<:Compose.FormPrimitive}}()),Compose.ListNode{Compose.Property{P<:Compose.PropertyPrimitive}}(Compose.Property{Compose.StrokePrimitive}([Compose.StrokePrimitive(RGBA{Float64}(1.0,0.0,0.0,1.0))]),Compose.ListNode{Compose.Property{P<:Compose.PropertyPrimitive}}(Compose.Property{Compose.FillPrimitive}([Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]),Compose.ListNode{Compose.Property{P<:Compose.PropertyPrimitive}}(Compose.Property{Compose.LineWidthPrimitive}([Compose.LineWidthPrimitive(1.0mm)]),Compose.ListNull{Compose.Property{P<:Compose.PropertyPrimitive}}()))),0,false,false,false,false,nothing,nothing,0.0,symbol(\"\")),Compose.ListNull{Compose.Container}()),Compose.ListNode{Compose.Form{P<:Compose.FormPrimitive}}(Compose.Form{Compose.SimplePolygonPrimitive{Tuple{Measures.Length{:cx,Float64},Measures.Length{:cy,Float64}}}}([Compose.SimplePolygonPrimitive{Tuple{Measures.Length{:cx,Float64},Measures.Length{:cy,Float64}}}([(0.0cx,0.0cy),(1.0cx,0.0cy),(1.0cx,1.0cy),(0.0cx,1.0cy)])],symbol(\"\")),Compose.ListNull{Compose.Form{P<:Compose.FormPrimitive}}()),Compose.ListNode{Compose.Property{P<:Compose.PropertyPrimitive}}(Compose.Property{Compose.StrokePrimitive}([Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))]),Compose.ListNode{Compose.Property{P<:Compose.PropertyPrimitive}}(Compose.Property{Compose.FillPrimitive}([Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]),Compose.ListNode{Compose.Property{P<:Compose.PropertyPrimitive}}(Compose.Property{Compose.LineWidthPrimitive}([Compose.LineWidthPrimitive(1.0mm)]),Compose.ListNull{Compose.Property{P<:Compose.PropertyPrimitive}}()))),0,false,false,false,false,nothing,nothing,0.0,symbol(\"\"))"
|
||
]
|
||
},
|
||
"execution_count": 15,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"using Compose\n",
|
||
"\n",
|
||
"X = el1(\"geometry\")\n",
|
||
"u = el1(\"displacement\", 0.0)\n",
|
||
"x = X+u\n",
|
||
"\n",
|
||
"root = context(0, 0, 1, 1)\n",
|
||
"p1 = polygon([tuple(X[i][1], X[i][2]) for i=1:4])\n",
|
||
"p2 = polygon([tuple(x[i][1], x[i][2]) for i=1:4])\n",
|
||
"undeformed = compose(root, p1, linewidth(1mm), fill(nothing), stroke(\"black\"))\n",
|
||
"deformed = compose(root, p2, linewidth(1mm), fill(nothing), stroke(\"red\"))\n",
|
||
"compose(undeformed, deformed)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Using normal tangential coordinates\n",
|
||
"\n",
|
||
"Sometimes it's more convenient to set boundary conditions using normal-tangential coordinates."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 58,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"rot (generic function with 1 method)"
|
||
]
|
||
},
|
||
"execution_count": 58,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"rot(ϕ) = [cos(ϕ) -sin(ϕ); sin(ϕ) cos(ϕ)]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 84,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"false"
|
||
]
|
||
},
|
||
"execution_count": 84,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"using JuliaFEM.Core: Quad4, Seg2, Seg3, PlaneStressLinearElasticityProblem, DirichletProblem, update!, DirectSolver\n",
|
||
"typealias Node Vector{Float64}\n",
|
||
"using JuliaFEM.Core: calculate_normal_tangential_coordinates!\n",
|
||
"\n",
|
||
"# 2d rotation matrix\n",
|
||
"#phi = pi/10\n",
|
||
"phi = 0.0\n",
|
||
"rmat(phi) = [cos(phi) -sin(phi); sin(phi) cos(phi)]\n",
|
||
"\n",
|
||
"geometry = Dict{Int64, Node}(\n",
|
||
" 1 => rmat(phi)*[0.0, 0.0],\n",
|
||
" 2 => rmat(phi)*[1.0, 0.0],\n",
|
||
" 3 => rmat(phi)*[1.0, 1.0],\n",
|
||
" 4 => rmat(phi)*[0.0, 1.0])\n",
|
||
"el1 = Quad4([1, 2, 3, 4])\n",
|
||
"el2 = Seg2([3, 4]) # load\n",
|
||
"el3 = Seg2([1, 2]) # symmetry 2\n",
|
||
"el4 = Seg2([4, 1]) # symmetry 1\n",
|
||
"update!([el1, el2, el3, el4], \"geometry\", geometry)\n",
|
||
"calculate_normal_tangential_coordinates!([el2, el3, el4], 0.0)\n",
|
||
"\n",
|
||
"el1[\"youngs modulus\"] = 900.0\n",
|
||
"el1[\"poissons ratio\"] = 0.25\n",
|
||
"# traction force in local coordinates\n",
|
||
"el2[\"local displacement traction force 1\"] = 100.0\n",
|
||
"# support sides in local coordinates\n",
|
||
"el3[\"local displacement 1\"] = 0.0\n",
|
||
"el4[\"local displacement 2\"] = 0.0\n",
|
||
"for el in [el3, el4]\n",
|
||
" el[\"displacement near coord (0.0,0.0)\"] = 0.0\n",
|
||
"end\n",
|
||
"problem = PlaneStressLinearElasticityProblem(\"block\")\n",
|
||
"boundary = DirichletProblem(\"dirichlet boundary conditions\", \"displacement\", 2)\n",
|
||
"push!(problem, el1, el2)\n",
|
||
"push!(boundary, el3, el4)\n",
|
||
"solver = DirectSolver(\"rotated 2d block\")\n",
|
||
"push!(solver, problem)\n",
|
||
"push!(solver, boundary)\n",
|
||
"solver.method = :UMFPACK\n",
|
||
"solver.nonlinear_problem = false\n",
|
||
"#call(solver, 0.0)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 85,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"8x1 sparse matrix with 2 Float64 entries:\n",
|
||
"\t[6, 1] = -50.0\n",
|
||
"\t[8, 1] = -50.0"
|
||
]
|
||
},
|
||
"execution_count": 85,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"K = sparse(JuliaFEM.Core.assemble(problem, 0.0).stiffness_matrix)\n",
|
||
"f = sparse(JuliaFEM.Core.assemble(problem, 0.0).force_vector)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 21,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"using JuliaFEM.Core: SparseMatrixCOO\n",
|
||
"\n",
|
||
"\"\"\"\n",
|
||
"For general problem type\n",
|
||
"Au + C₁'λ = f\n",
|
||
"C₂u + Dλ = g\n",
|
||
"\"\"\"\n",
|
||
"type BoundaryAssembly\n",
|
||
" C1 :: SparseMatrixCOO\n",
|
||
" C2 :: SparseMatrixCOO\n",
|
||
" D :: SparseMatrixCOO\n",
|
||
"end"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 27,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"BoundaryAssembly"
|
||
]
|
||
},
|
||
"execution_count": 27,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"function BoundaryAssembly()\n",
|
||
" return BoundaryAssembly(SparseMatrixCOO(), SparseMatrixCOO(), SparseMatrixCOO())\n",
|
||
"end"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 86,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"INFO: De = [0.5 0.0\n",
|
||
" 0.0 0.5]\n",
|
||
"INFO: De = [0.5 0.0\n",
|
||
" 0.0 0.5]\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Array(Float64,(8,8)) 8x8 Array{Float64,2}"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"INFO: De = [0.5 0.0\n",
|
||
" 0.0 0.5]\n",
|
||
"INFO: De = [0.5 0.0\n",
|
||
" 0.0 0.5]\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
":\n",
|
||
" 2.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 2.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0\n",
|
||
"Array(Float64,(7,8)) 7x8 Array{Float64,2}:\n",
|
||
" 2.0 2.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 2.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 2.0 0.0\n",
|
||
"Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 2.0 -2.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 2.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.0\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"using JuliaFEM.Core: get_gdofs, get_integration_points, get_jacobian, add!, get_connectivity\n",
|
||
"\n",
|
||
"function do_boundary()\n",
|
||
" assembly = BoundaryAssembly()\n",
|
||
" field_dim = 2\n",
|
||
" time = 0.0\n",
|
||
" for element in [el3, el4]\n",
|
||
" gdofs = get_gdofs(element, field_dim)\n",
|
||
" for ip in get_integration_points(element, Val{2})\n",
|
||
" w = ip.weight\n",
|
||
" J = get_jacobian(element, ip, time)\n",
|
||
" N = element(ip, time)\n",
|
||
" N_bo = [1/2*(1-3*ip.xi[1]) 1/2*(1+3*ip.xi[1])]\n",
|
||
" #C1 = w*N_bo'*N*norm(J)\n",
|
||
" De = eye(2)*norm(J)\n",
|
||
" info(\"De = $De\")\n",
|
||
" # add to C1\n",
|
||
" for i=1:field_dim\n",
|
||
" ldofs = gdofs[i:field_dim:end]\n",
|
||
" add!(assembly.C1, ldofs, ldofs, De)\n",
|
||
" end\n",
|
||
" # add to C2\n",
|
||
" nt = element(\"normal-tangential coordinates\", ip, time)\n",
|
||
" nt = transpose(nt)\n",
|
||
" normal = nt[1,:]\n",
|
||
" tangent = nt[2,:]\n",
|
||
" for nid in get_connectivity(element)\n",
|
||
" ndofs = [2*(nid-1)+1, 2*(nid-1)+2]\n",
|
||
" add!(assembly.C2, [2*(nid-1)+1], ndofs, normal)\n",
|
||
" add!(assembly.D, [2*(nid-1)+2], ndofs, tangent)\n",
|
||
" end\n",
|
||
" end\n",
|
||
" end\n",
|
||
" return assembly\n",
|
||
"end\n",
|
||
"\n",
|
||
"ntass = do_boundary()\n",
|
||
"ENV[\"COLUMNS\"] = 300\n",
|
||
"dump(round(full(ntass.C1), 2))\n",
|
||
"dump(round(full(ntass.C2), 2))\n",
|
||
"dump(round(full(ntass.D), 2))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 98,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"INFO: size of A = (16,16)\n",
|
||
"INFO: total dim = 16\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"2x8 Array{Float64,2}:\n",
|
||
" 0.0 0.0277778 0.0277778 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 -0.111111 -0.111111 -25.0 -25.0 0.0 0.0"
|
||
]
|
||
},
|
||
"execution_count": 98,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"INFO: solving\n",
|
||
"INFO: solved\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"g = spzeros(8, 1)\n",
|
||
"A = [K B'; C D]\n",
|
||
"b = [f; g]\n",
|
||
"\n",
|
||
"info(\"size of A = $(size(A))\")\n",
|
||
"ENV[\"COLUMNS\"] = 300\n",
|
||
"\n",
|
||
"dim = size(A, 1)\n",
|
||
"info(\"total dim = $dim\")\n",
|
||
"\n",
|
||
"nz1 = sort(unique(rowvals(A)))\n",
|
||
"nz2 = sort(unique(rowvals(A')))\n",
|
||
"A = A[nz1, nz2]\n",
|
||
"b = b[nz1]\n",
|
||
"u = zeros(dim)\n",
|
||
"T = full(A)\n",
|
||
"T[abs(T) .< 1.0e-9] = 0\n",
|
||
"info(\"solving\")\n",
|
||
"sol = T \\ full(b)\n",
|
||
"info(\"solved\")\n",
|
||
"\n",
|
||
"u[nz1] = sol\n",
|
||
"u[abs(u).<1.0e-9] = 0.0\n",
|
||
"u = reshape(full(u), 2, round(Int, length(u)/2))\n",
|
||
"full(u)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 87,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"2-element Array{Float64,1}:\n",
|
||
" 0.0277778\n",
|
||
" -0.111111 "
|
||
]
|
||
},
|
||
"execution_count": 87,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"u[:,3]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 88,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Test Passed\n",
|
||
" Expression: isapprox(norm(u[:,3]),0.11453071182271282)"
|
||
]
|
||
},
|
||
"execution_count": 88,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"@test isapprox(norm(u[:,3]), 0.11453071182271282)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 89,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"16x16 Array{Int64,2}:\n",
|
||
" 440 150 -260 -30 -220 -150 40 30 2 0 0 0 0 0 0 0\n",
|
||
" 150 440 30 40 -150 -220 -30 -260 0 2 0 0 0 0 0 0\n",
|
||
" -260 30 440 -150 40 -30 -220 150 0 0 2 0 0 0 0 0\n",
|
||
" -30 40 -150 440 30 -260 150 -220 0 0 0 2 0 0 0 0\n",
|
||
" -220 -150 40 30 440 150 -260 -30 0 0 0 0 2 0 0 0\n",
|
||
" -150 -220 -30 -260 150 440 30 40 0 0 0 0 0 2 0 0\n",
|
||
" 40 -30 -220 150 -260 30 440 -150 0 0 0 0 0 0 2 0\n",
|
||
" 30 -260 150 -220 -30 40 -150 440 0 0 0 0 0 0 0 2\n",
|
||
" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
|
||
" 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
|
||
" 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0\n",
|
||
" 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0\n",
|
||
" 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0\n",
|
||
" 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0\n",
|
||
" 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0\n",
|
||
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1"
|
||
]
|
||
},
|
||
"execution_count": 89,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"round(Int, T)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 119,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"16x16 Array{Float64,2}:\n",
|
||
" 440.0 150.0 -260.0 -30.0 -220.0 -150.0 40.0 30.0 2.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 150.0 440.0 30.0 40.0 -150.0 -220.0 -30.0 -260.0 0.0 2.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" -260.0 30.0 440.0 -150.0 40.0 -30.0 -220.0 150.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" -30.0 40.0 -150.0 440.0 30.0 -260.0 150.0 -220.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0\n",
|
||
" -220.0 -150.0 40.0 30.0 440.0 150.0 -260.0 -30.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" -150.0 -220.0 -30.0 -260.0 150.0 440.0 30.0 40.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 40.0 -30.0 -220.0 150.0 -260.0 30.0 440.0 -150.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0\n",
|
||
" 30.0 -260.0 150.0 -220.0 -30.0 40.0 -150.0 440.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0\n",
|
||
" 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 2.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 2.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.0"
|
||
]
|
||
},
|
||
"execution_count": 119,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"C1 = sparse(ntass.C1, 8, 8)\n",
|
||
"C2 = sparse(ntass.C2, 8, 8)\n",
|
||
"D = sparse(ntass.D, 8, 8)\n",
|
||
"C2[1,:] = 0\n",
|
||
"D[2,:] = 0\n",
|
||
"C2[1,1] = 1\n",
|
||
"C2[2,2] = 1\n",
|
||
"#C2[2,:] = D[2,:]\n",
|
||
"#D[2,:] = 0\n",
|
||
"A = [K C1'; C2 D]\n",
|
||
"#A[9,:] = 0\n",
|
||
"#A[9, 1] = 1\n",
|
||
"#A[10,:] = 0\n",
|
||
"#A[10, 1] = 2\n",
|
||
"#A[10, 2] = -2\n",
|
||
"full(A)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 120,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"2x8 Array{Float64,2}:\n",
|
||
" 0.0 0.0277778 0.0277778 0.0 0.0 0.0 0.0 0.0\n",
|
||
" 0.0 0.0 -0.111111 -0.111111 -25.0 -50.0 0.0 0.0"
|
||
]
|
||
},
|
||
"execution_count": 120,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"b = [f; spzeros(8, 1)]\n",
|
||
"nz1 = sort(unique(rowvals(A)))\n",
|
||
"nz2 = sort(unique(rowvals(A')))\n",
|
||
"sol = zeros(length(b))\n",
|
||
"sol[nz1] = A[nz1, nz2] \\ full(b)[nz1]\n",
|
||
"sol[abs(sol) .< 1.0e-9] = 0\n",
|
||
"sol = reshape(sol, 2, 8)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 83,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Test Passed\n",
|
||
" Expression: isapprox(norm(sol[:,3]),0.11453071182271282)"
|
||
]
|
||
},
|
||
"execution_count": 83,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"@test isapprox(norm(sol[:,3]), 0.11453071182271282)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"ename": "LoadError",
|
||
"evalue": "LoadError: KeyError: displacement not found\nwhile loading In[13], in expression starting on line 1",
|
||
"output_type": "error",
|
||
"traceback": [
|
||
"LoadError: KeyError: displacement not found\nwhile loading In[13], in expression starting on line 1",
|
||
"",
|
||
" in getindex at /home/jukka/.julia/v0.4/JuliaFEM/src/elements.jl:94",
|
||
" in call at /home/jukka/.julia/v0.4/JuliaFEM/src/elements.jl:130 (repeats 2 times)"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"u_tip = el1(\"displacement\", [1.0, 1.0], 0.0)\n",
|
||
"info(\"displacement on tip: $u_tip, magnitude = $(norm(u_tip))\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Error During Test\n",
|
||
" Test threw an exception of type UndefVarError\n",
|
||
" Expression: isapprox("
|
||
]
|
||
},
|
||
{
|
||
"ename": "LoadError",
|
||
"evalue": "LoadError: There was an error during testing\nwhile loading In[14], in expression starting on line 2",
|
||
"output_type": "error",
|
||
"traceback": [
|
||
"LoadError: There was an error during testing\nwhile loading In[14], in expression starting on line 2",
|
||
"",
|
||
" in record at /home/jukka/.julia/v0.4/BaseTestNext/src/BaseTestNext.jl:290",
|
||
" in do_test at /home/jukka/.julia/v0.4/BaseTestNext/src/BaseTestNext.jl:192"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"norm(u_tip),norm([1 / 36,-1 / 9]))\n",
|
||
" UndefVarError: u_tip not defined\n",
|
||
" in anonymous at /home/jukka/.julia/v0.4/BaseTestNext/src/BaseTestNext.jl:165\n",
|
||
" in do_test at /home/jukka/.julia/v0.4/BaseTestNext/src/BaseTestNext.jl:181\n",
|
||
" in include_string at loading.jl:266\n",
|
||
" in execute_request_0x535c5df2 at /home/jukka/.julia/v0.4/IJulia/src/execute_request.jl:177\n",
|
||
" in eventloop at /home/jukka/.julia/v0.4/IJulia/src/IJulia.jl:141\n",
|
||
" in anonymous at task.jl:447\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"using JuliaFEM.Test\n",
|
||
"@test isapprox(norm(u_tip), norm([1/36, -1/9]))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 108,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"using JuliaFEM.Core: Seg2, Element, update!\n",
|
||
"using JuliaFEM.Core: calculate_normal_tangential_coordinates!\n",
|
||
"typealias Node Vector{Float64}\n",
|
||
"\n",
|
||
"nodes = Dict{Int, Node}(\n",
|
||
"1 => [0.0, 0.1],\n",
|
||
"2 => [1.0, 0.3],\n",
|
||
"3 => [2.0, -0.1],\n",
|
||
"4 => [3.0, 0.6],\n",
|
||
"5 => [4.0, 0.3])\n",
|
||
"\n",
|
||
"s1 = Seg2([1, 2])\n",
|
||
"s2 = Seg2([2, 3])\n",
|
||
"s3 = Seg2([3, 4])\n",
|
||
"s4 = Seg2([4, 5])\n",
|
||
"elems = Element[s1, s2, s3, s4]\n",
|
||
"update!(elems, \"geometry\", nodes)\n",
|
||
"calculate_normal_tangential_coordinates!([s1, s2, s3, s4], 0.0)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 109,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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",
|
||
"text/plain": [
|
||
"PyPlot.Figure(PyObject <matplotlib.figure.Figure object at 0x7f32fdd9d5d0>)"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"(-0.5,4.5)"
|
||
]
|
||
},
|
||
"execution_count": 109,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"using PyPlot\n",
|
||
"fig = figure(figsize=(5, 3))\n",
|
||
"for s in [s1, s2, s3, s4]\n",
|
||
" X1 = s(\"geometry\", [-1.0], 0.0)\n",
|
||
" X2 = s(\"geometry\", [ 1.0], 0.0)\n",
|
||
" nt1 = s(\"normal-tangential coordinates\", [-1.0], 0.0)\n",
|
||
" nt2 = s(\"normal-tangential coordinates\", [ 1.0], 0.0)\n",
|
||
" plot([X1[1],X2[1]], [X1[2],X2[2]], \"-ko\")\n",
|
||
" X1N1 = X1 + nt1[:,1]*0.5\n",
|
||
" X1T1 = X1 + nt1[:,2]*0.5\n",
|
||
" plot([X1[1],X1N1[1]], [X1[2],X1N1[2]], \"-r\")\n",
|
||
" plot([X1[1],X1T1[1]], [X1[2],X1T1[2]], \"-g\")\n",
|
||
" X2N2 = X2 + nt2[:,1]*0.5\n",
|
||
" X2T2 = X2 + nt2[:,2]*0.5\n",
|
||
" plot([X2[1],X2N2[1]], [X2[2],X2N2[2]], \"-b\")\n",
|
||
" plot([X2[1],X2T2[1]], [X2[2],X2T2[2]], \"-y\")\n",
|
||
"end\n",
|
||
"axis(\"equal\")\n",
|
||
"ylim(-0.5, 1.0)\n",
|
||
"xlim(-0.5, 4.5)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 111,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"i = 1, normal = [-0.19611613513818404,0.9805806756909202], tangent = [0.9805806756909202,0.19611613513818404], dot = 0"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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efPMO4UKAFqIwA+nExER0aLHAWdh2lH/wEDp7FlDGmBnZWXp1ltv1aJFi/T4448rOTmZ3voAcAUEfjidpUuXqu9l+nv37dtXS5cudXBFQMuYbtT/4l78DmK1WrV27VqFhYUpJydHu3bt0vPPP09vfQBoBLsH/vLyci1YsEABAQHy8vJSZGSkPvnkk0ade/r0ac2dO1e+vr7q3Lmzxo0bp3379tm5YhjN19dXycnJmj17tkJDQxUcHKzQ0FDNnj27piUn0FaZYtS/erddBy3cLSoqUnR0tObMmaPo6Gjt37+f3voA0AR2nww9e/Zsbdq0SbGxsQoKCtKaNWs0adIk7dixQ6NGjbrseVVVVZo8ebIOHDiguLg49ejRQytXrtSYMWOUkpKifv362bt0GMjX11dr1qwxugzAbtp0hx9/f8nd3SEj/LTbBICWs+sI/969e/X222/rj3/8o1544QXdd9992r59u/r06aO4uLgGz01MTFRycrLWrVunRYsW6cEHH9TOnTvVrl07LV682J5lA4BDtblR/3btpGuusesIf0lJiebNm6eJEyfqpptu0sGDBwn7ANBMdg38iYmJcnd319y5c2uOeXh46N5771VycrJycnIaPNff319Tp06tOebj46Pp06fr/fff14ULF+xZOgA4XJua62/H1py02wSA1mXXwL9v3z4FBwerc+fOtY4PGzZMkvT11183eO6QIUPqHB82bJhKSkp0+PDh1i0WAJyI04/62yHw024TAOzDroE/Ly9PPXv2rHO8+lhubq5dzgUAs3DaUf9W3m2XdpsAYD92DfylpaXy8Ki7C2rHjh1rHr+csrKyZp8LAGbkVKP+gYHS8eNSZWWLLkO7TQCwP7sGfk9PT5WXl9c5XlZWVvO4Pc4FADNzilH/3r2ligqpoKDZl6DdJgA4hl3bcvbs2bPeqTd5eXmS1OAirJacK0mxsbHy9vaudSwmJkYxMTFXrBsA2orqUf9HHnlEn3/+ud544w0tWrRITz75pKZOnaq5c+dq7NixrT8P/uLNt5qxoJZ2mwDQsISEBCUkJNQ6VtzMHc7tGvgHDx6snTt36syZM+rSpUvN8T179kiSBg0adNlzBw0apM8++0xWq7XWL6o9e/aoU6dOCg4ObvB7L1u2rN5FvwBgRg7v639x4I+MbPRpJSUliouL02uvvabx48frrbfe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v/9+o0tECxw/flzPP/+8OnXqxP+7bdxvf/tbDRs2rNaxvn37NupcU/fhP3v2rCoqKtStWzclJiZq+vTp2rlzp2655RajS0MD9u7dq8jISL300kt69NFHJdlG/AcMGCA/Pz998cUXBleIpjp//rxOnz4tPz8/paSkaNiwYVq7dq1mzZpldGlohuTkZA0bNkzu7j+PGWVmZmrgwIGKjo7W+vXrDawOraGqqkrh4eEqKytTenq60eWgBWbOnKmTJ0+qoqJCRUVFOnjwoNEloYl27typcePGKTExUVOnTm3WNUw9padz587q1q2b0WWgiRITE+Xu7q65c+fWHPPw8NC9996r5ORk5eTkGFgdmqNDhw7y8/OTJJl4jMFljBgxolbYl6R+/fopNDRUGRkZBlWF1uTm5qZevXqpuLjY6FLQArt379amTZv05z//WVarlRH+Ns5qterMmTOqqKho8rmmDvxom/bt26fg4GB17ty51vHqj7G+/vprI8oC0ACr1aqCgoImbfUO51JSUqKioiIdOXJEy5Yt04cffqjbbrvN6LLQTJWVlXr44Yd1//33M83OJObMmSNvb295enpq3LhxSklJafS5pp7Dj7YpLy9PPXv2rHO8+lhubq6jSwJwBRs3blRubq6effZZo0tBMz366KNatWqVJNsI/69//Wu9+uqrBleF5vrLX/6i7Oxsbd++3ehS0EIeHh6Kjo7WpEmT5OPjo0OHDumll17S6NGj9Y9//EODBg264jXaTOC3Wq0qLy9v1HM7duxo52pgT6WlpfLw8KhzvPp1LS0tdXRJABqQkZGhhx56SCNHjtQ999xjdDloptjYWE2fPl05OTl65513VFFR0ejfu3AuJ0+e1FNPPaWnnnpKPXr0MLoctNCIESM0YsSImj/ffvvtio6OVlhYmJ544gl98MEHV7xGm5nSs2vXLnl5eTXqdvjwYaPLRQt4enrW+0umrKys5nEAziE/P1+TJ0/WVVddpcTEROYIt2E33HCDxo0bp7vvvltJSUk6e/asoqKijC4LzfD73/9ePj4+evjhh40uBXbSt29f3XHHHdqxY0ej1sa1mRH+kJAQrV27tlHP9ff3t28xsKuePXvWO20nLy9PkhQQEODokgDUo7i4WBMnTtSPP/6ozz77jP97TebXv/61/vM//1PffvutgoKCjC4HjfTtt9/qzTff1J///GcdP3685nhZWZnOnz+v77//Xl27dtVVV11lYJVoDb169dL58+d17ty5OuseL9VmAv/VV19NCz8XMXjwYO3cuVNnzpxRly5dao7v2bNHkho1Vw2AfZWVlSkqKkqZmZn65JNPdOONNxpdElpZ9fRJOvW0LTk5OaqqqtL8+fM1f/78Oo9fd911euSRR/SnP/3JgOrQmr777jt5enpeMexLbSjww3VER0frpZde0qpVq/TYY49JsvXhX7NmjSIjI3XNNdcYXCHg2iorKzVjxgzt2bNH77//voYPH250SWiBwsJC+fr61jp24cIFxcfHy8vLS6GhoQZVhuYYOHCg3nvvvVrT66xWq37/+9/r7NmzWr58eaM3a4JzqO/f6P79+7VlyxZNnjy5UdcwfeCv7hhx6NAhSVJ8fLx2794tyTbHDc4nIiJC06ZN0xNPPKETJ06ob9++WrdunbKzs7VmzRqjy0Mzvfrqqzp9+nTNdK0tW7YoOztbkjR//nx17drVyPLQBI899piSkpIUFRWloqIibdiwodbjd911l0GVoTnmzp2rM2fO6JZbblFAQIDy8/O1ceNGHT58WC+//LK8vLyMLhFN0KNHD91xxx11ji9btkySNGXKFEeXhBaaMWOGvLy8NGLECPn5+SktLU2rVq1S586d9cc//rFR1zD1TruSrbWYxWKp2XCi+se1WCyqrKw0uDpcTnl5uRYtWqQNGzbohx9+0E033aQlS5bol7/8pdGloZmuu+46ff/995JUM/JU/e8yKytLgYGBRpaHJhg7dqx2795d70Ix/m9te95++22tXr1aBw8e1MmTJ9WlSxcNHTpUDz/8sG6//Xajy0MrGTt2rE6ePKkDBw4YXQqaaMWKFdq4caMyMzP1448/ys/PT7fddpsWL16s66+/vlHXMH3gBwAAAFxZm2nLCQAAAKDpCPwAAACAiRH4AQAAABMj8AMAAAAmRuAHAAAATIzADwAAAJgYgR8AAAAwMQI/AAAAYGIEfgAAAMDECPwAAACAiRH4AQAAABMj8AMAAAAm9v8BWaE+8WFgIKoAAAAASUVORK5CYII=",
|
||
"text/plain": [
|
||
"PyPlot.Figure(PyObject <matplotlib.figure.Figure object at 0x7f32fe7874d0>)"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"(-1.0,5.0,-0.2,1.2000000000000002)"
|
||
]
|
||
},
|
||
"execution_count": 111,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
".0\n",
|
||
"i = 2, normal = [0.09142755332923394,0.9958117304451831], tangent = [0.9958117304451831,-0.09142755332923394], dot = 0.0\n",
|
||
"i = 3, normal = [-0.11485575612958872,0.9933821798703159], tangent = [0.9933821798703159,0.11485575612958872], dot = 0.0\n",
|
||
"i = 4, normal = [-0.15895744828402364,0.9872854347325458], tangent = [0.9872854347325458,0.15895744828402364], dot = 0.0\n",
|
||
"i = 5, normal = [0.28734788556634544,0.9578262852211514], tangent = [0.9578262852211514,-0.28734788556634544], dot = 0.0\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"for s in [s1, s2, s3, s4]\n",
|
||
" X1 = s(\"geometry\", [-1.0], 0.0)\n",
|
||
" X2 = s(\"geometry\", [ 1.0], 0.0)\n",
|
||
" plot([X1[1],X2[1]], [X1[2],X2[2]], \"-ko\")\n",
|
||
"end\n",
|
||
"for i=1:5\n",
|
||
" s = 4*(i-1)+1\n",
|
||
" e = s + 1\n",
|
||
" normal = vec(P[2*(i-1)+1, s:e])\n",
|
||
" s = 4*(i-1)+3\n",
|
||
" e = s + 1\n",
|
||
" tangent = vec(P[2*(i-1)+2, s:e])\n",
|
||
" println(\"i = $i, normal = $normal, tangent = $tangent, dot = \", dot(normal, tangent))\n",
|
||
" plot([nodes[i][1], nodes[i][1]+normal[1]*0.5], [nodes[i][2], nodes[i][2]+normal[2]*0.5], \"-r\")\n",
|
||
" plot([nodes[i][1], nodes[i][1]+tangent[1]*0.5], [nodes[i][2], nodes[i][2]+tangent[2]*0.5], \"-b\")\n",
|
||
"end\n",
|
||
"ylim(-0.5, 1.0)\n",
|
||
"xlim(-0.5, 4.5)\n",
|
||
"axis(\"equal\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Julia 0.4.2",
|
||
"language": "julia",
|
||
"name": "julia-0.4"
|
||
},
|
||
"language_info": {
|
||
"file_extension": ".jl",
|
||
"mimetype": "application/julia",
|
||
"name": "julia",
|
||
"version": "0.4.2"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 0
|
||
}
|