diff --git a/Doc/Sd1/Ref/LangFundament/camelCase.svg b/Doc/Sd1/Ref/LangFundament/camelCase.svg new file mode 100644 index 0000000000000000000000000000000000000000..2e5aaaa11ba887a729dfefde957f9069be7995c5 --- /dev/null +++ b/Doc/Sd1/Ref/LangFundament/camelCase.svg @@ -0,0 +1,148 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.46" + width="368.48999" + height="304" + sodipodi:docname="CamelCase.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + version="1.0"> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs5"> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 526.18109 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="744.09448 : 526.18109 : 1" + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" + id="perspective9" /> + <inkscape:perspective + id="perspective2389" + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" + inkscape:vp_z="744.09448 : 526.18109 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 526.18109 : 1" + sodipodi:type="inkscape:persp3d" /> + </defs> + <sodipodi:namedview + inkscape:window-height="751" + inkscape:window-width="1251" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + guidetolerance="10.0" + gridtolerance="10.0" + objecttolerance="10.0" + borderopacity="1.0" + bordercolor="#666666" + pagecolor="#ffffff" + id="base" + showgrid="false" + inkscape:zoom="0.26385019" + inkscape:cx="936.01769" + inkscape:cy="612.46712" + inkscape:window-x="-4" + inkscape:window-y="-4" + inkscape:current-layer="svg2" + showguides="true" + inkscape:guide-bbox="true"> + <sodipodi:guide + orientation="-0.70710678,0.70710678" + position="1190.0692,-121.28094" + id="guide3212" /> + </sodipodi:namedview> + <g + id="g3214" + transform="matrix(0.2047849,0,0,0.2047849,125.22018,19.647619)"> + <path + sodipodi:nodetypes="cccccccccccc" + id="path2399" + d="M -452.55406,904.10982 C -453.13697,904.72037 -456.35991,914.11037 -470.0205,943.49371 C -470.58648,960.37908 -480.06403,1022.0499 -480.90691,1061.0117 C -475.828,1146.1127 -459.86961,1232.9645 -437.24122,1254.6686 C -418.49515,1262.2898 -395.61478,1272.0614 -379.16082,1270.7949 C -361.41052,1269.4287 -354.67584,1304.0083 -358.08847,1304.0083 C -391.37791,1310.9282 -484.80635,1329.5226 -508.04076,1284.7173 C -516.70898,1182.4139 -524.29771,1136.9859 -549.17515,1092.9715 C -562.12345,1026.9272 -573.49078,995.18355 -589.30423,948.75565 C -579.85391,899.34734 -556.06346,908.596 -540.4203,827.99054 C -524.85044,756.89711 -503.43842,552.65091 -498.21716,526.70116 C -473.96608,526.70116 -452.55406,876.26599 -452.55406,904.10982 z" + style="fill:#803300;fill-opacity:1;fill-rule:evenodd;stroke:#2b1100;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cccccccccc" + id="path3172" + d="M 499.91945,766.36363 C 494.14659,792.92394 440.75412,900.92301 427.09353,930.30632 C 426.52755,947.19172 406.6701,1052.1121 388.52738,1084.154 C 393.60629,1169.255 387.07489,1230.157 416.62321,1262.241 C 435.36928,1269.8622 461.70962,1276.1739 478.16358,1274.9074 C 495.91388,1273.5412 504.37854,1308.1208 464.63626,1311.5807 C 415.77696,1318.5006 353.48823,1330.1751 321.6039,1306.1296 C 312.93568,1203.8262 343.40659,1108.2287 318.52915,1064.2143 C 252.40646,861.41947 379.62106,776.92644 485.39606,643.26259 C 509.64714,643.26259 505.1094,724.67993 499.91945,766.36363 z" + style="opacity:1;fill:#803300;fill-opacity:1;fill-rule:evenodd;stroke:#2b1100;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cccccccsccsccccccccccccsccccsccccccccccccsccccccccccccccccccc" + id="path2395" + d="M 149.99405,133.22993 C 179.17222,112.9162 211.35774,95.246565 240.96997,62.477777 C 294.81398,-38.811683 332.87791,-73.449118 372.42687,-54.66818 C 423.2806,-52.700258 448.20161,37.924854 477.09101,160.23801 C 568.73081,218.44382 591.50109,337.64584 685.03035,374.45089 C 701.08245,374.38752 713.67604,281.88653 741.56776,218.31238 C 760.61387,189.49075 796.62626,157.40978 805.40948,158.06553 C 819.17477,160.23689 845.17866,155.05729 865.76276,123.83961 C 898.75273,73.807304 984.58696,59.529123 998.70133,120.72601 C 1016.7221,193.08656 1192.6482,129.09178 1174.902,259.12439 C 1168.8708,281.86281 1107.5122,261.53409 1109.7072,295.3476 C 1110.455,306.86661 1177.311,305.04746 1173.3883,320.75485 C 1167.7054,343.51023 1147.5851,361.99039 1125.1448,363.51525 C 1085.3145,366.22179 1038.175,344.95284 1051.4838,409.2975 C 1045.3265,485.82984 1081.1624,508.99409 1067.335,576.6285 C 1057.6132,639.02698 1004.9382,681.05081 973.16698,711.22294 C 924.02743,792.08876 693.0639,866.57061 600.18652,800.79981 C 585.73124,788.62559 554.59676,754.84961 564.51484,697.67579 C 541.86607,667.74088 521.29872,662.33652 514.3715,668.50069 C 500.28091,669.48866 444.04237,713.86944 438.78983,730.62876 C 418.77047,794.50465 394.95518,870.02977 328.51097,949.62935 C 312.6136,973.39913 307.84627,995.4616 295.07773,1040.8919 C 290.45669,1057.3336 271.5776,1065.5033 264.05907,1089.7981 C 247.10501,1144.582 232.87688,1165.4405 241.73242,1212.7526 C 253.84288,1277.4546 260.01101,1328.3242 286.42513,1332.1526 C 338.92232,1329.8102 349.80846,1379.0233 290.98366,1376.6953 C 270.0944,1377.5286 211.11672,1367.8945 183.47525,1368.3828 C 183.36618,1359.4823 180.09756,1316.2039 170.03943,1272.7238 C 182.51536,1231.1719 186.75825,1177.9889 192.84193,1135.3929 C 199.34429,1089.8654 174.93247,1040.3789 181.41623,998.13699 C 189.57584,954.74316 202.23613,914.33189 210.32458,878.87426 C 193.16799,867.25708 178.30246,799.40338 211.39406,752.35854 C 168.16054,764.26301 -118.37864,890.15532 -285.95563,608.8877 C -298.4697,624.16124 -280.33291,668.77304 -298.62821,715.21086 C -303.23604,741.52474 -314.29819,748.77996 -315.23437,759.08661 C -314.35827,780.8424 -329.94438,801.29383 -341.84786,810.79723 C -338.39734,834.16049 -335.85874,844.21611 -337.1335,872.01809 C -338.41646,899.99906 -351.553,943.32116 -347.20918,972.58416 C -341.10354,998.31448 -337.52758,1030.4674 -336.37028,1058.7577 C -323.36997,1131.1596 -297.53121,1195.5266 -269.75855,1242.4046 C -256.55445,1245.6729 -243.94186,1279.3271 -231.14706,1290.3083 C -216.41412,1302.953 -201.83748,1305.8087 -185.37406,1306.4332 C -171.40737,1306.9631 -175.4788,1321.8596 -175.43399,1329.6067 C -177.69043,1350.9747 -264.20908,1355.8728 -318.17079,1337.8007 C -344.5209,1299.4091 -317.85679,1251.3103 -363.58471,1177.734 C -360.14853,1174.9922 -381.70481,1136.9235 -404.66681,1094.1795 C -412.10375,1091.6286 -425.85794,1077.1186 -432.78998,1052.0425 C -446.21104,1037.4574 -458.0424,1022.3542 -458.62751,1018.0229 C -471.8966,980.5532 -444.13426,941.10823 -454.37044,907.74361 C -476.96494,808.29596 -503.98735,702.78091 -518.72224,575.81673 C -528.28133,529.3648 -529.44289,485.77079 -535.81665,441.81744 C -532.66768,400.66485 -518.31434,388.53311 -511.00236,350.03586 C -513.78217,366.6927 -530.89155,401.87763 -544.91521,447.95607 C -543.87099,520.68792 -558.16682,568.46437 -555.69524,656.23235 C -573.52831,764.83137 -588.71109,749.46731 -595.68849,720.17024 C -605.11759,536.90076 -598.15829,428.54886 -572.56695,367.83517 C -538.7972,292.83416 -506.96841,289.51957 -491.37024,277.12677 C -411.50087,202.66977 -397.7124,224.38985 -348.23914,185.50141 C -274.40646,77.415149 -185.27729,-96.383882 -130.42313,-83.498472 C -85.101719,-87.557707 -23.379542,35.218197 26.068154,109.616 C 70.30675,161.62126 124.7167,136.30696 149.99405,133.22993 z" + style="opacity:1;fill:#a05a2c;fill-opacity:1;fill-rule:evenodd;stroke:#552200;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <path + id="text3151" + d="M -83.410871,119.11759 C -84.78383,135.24805 -90.53243,147.86065 -100.65669,156.95542 C -110.78123,166.22185 -124.25183,170.85505 -141.06853,170.85504 C -161.31743,170.85505 -177.27623,163.47625 -188.94497,148.71862 C -200.61382,133.61785 -206.44822,112.59685 -206.44819,85.655556 C -206.44822,58.886052 -200.69962,38.208253 -189.20237,23.622097 C -177.70523,9.3794549 -161.74643,2.2580552 -141.32593,2.2578766 C -125.53883,2.2580552 -112.66883,6.204855 -102.71589,14.098288 C -92.76323,21.992054 -86.92883,32.888654 -85.212673,46.788119 L -67.966857,46.788119 C -69.168231,28.598654 -76.289631,14.012655 -89.331077,3.0300773 C -102.54443,-7.9521443 -119.87603,-13.443344 -141.32593,-13.443538 C -166.89443,-13.443344 -187.05743,-4.7775444 -201.81498,12.553886 C -216.91582,30.228854 -224.46622,54.681853 -224.46621,85.912956 C -224.46622,117.31585 -217.00162,141.94045 -202.07238,159.78683 C -187.48643,177.63325 -167.40923,186.55645 -141.84073,186.55645 C -119.53283,186.55645 -101.77223,180.55045 -88.558876,168.53843 C -75.345831,156.52645 -67.967031,140.05285 -66.422455,119.11759 L -83.410871,119.11759 z" + style="font-size:263.57785034px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;font-family:Dotum;-inkscape-font-specification:Dotum" /> + <path + id="text3155" + d="M -4.9363098,184.30589 L -4.9363098,185.43089 C -4.9363708,188.8059 -4.0457467,191.38402 -2.2644348,193.16527 C -0.4832503,194.94652 2.188622,195.83714 5.7511902,195.83714 C 6.5011177,195.83714 7.2979919,195.79027 8.1418152,195.69652 C 9.3604899,195.50902 10.626114,195.32152 11.93869,195.13402 L 11.93869,188.66527 L 8.8449402,188.66527 C 6.4073678,188.66527 4.8136194,188.10277 4.0636902,186.97777 C 3.5948706,186.22778 3.3604959,184.54028 3.3605652,181.91527 L 3.3605652,141.13402 C 3.3604959,133.63408 1.0167482,127.96221 -3.6706848,124.11839 C -8.2644925,120.36847 -15.014486,118.49347 -23.920685,118.49339 C -33.014468,118.49347 -40.233211,120.69659 -45.576935,125.10277 C -50.82695,129.41533 -53.498822,135.2747 -53.59256,142.68089 L -45.014435,142.68089 C -44.826956,137.1497 -42.951958,132.97783 -39.389435,130.16527 C -35.826965,127.44659 -30.67072,126.08721 -23.920685,126.08714 C -17.264484,126.08721 -12.483238,127.39971 -9.5769348,130.02464 C -6.764494,132.46221 -5.3582454,136.5872 -5.3581848,142.39964 C -5.3582454,145.86844 -6.6238692,148.30594 -9.1550598,149.71214 C -11.030115,150.83719 -14.123862,151.58719 -18.43631,151.96214 L -22.37381,152.24339 C -27.811348,152.61844 -31.842594,153.04031 -34.46756,153.50902 C -38.686337,154.16531 -42.295708,155.24343 -45.295685,156.74339 C -49.326951,158.43093 -52.326948,160.86843 -54.295685,164.05589 C -56.358194,167.24342 -57.389443,171.04029 -57.389435,175.44652 C -57.389443,181.91528 -55.186321,187.1184 -50.78006,191.05589 C -46.28008,195.08714 -40.233211,197.10277 -32.639435,197.10277 C -27.389473,197.10277 -22.467603,196.02464 -17.87381,193.86839 C -13.280113,191.71215 -8.9676168,188.52465 -4.9363098,184.30589 L -4.9363098,184.30589 z M -5.3581848,155.75902 L -5.3581848,166.30589 C -5.3582454,173.33716 -7.795743,178.96216 -12.670685,183.18089 C -17.451983,187.3059 -23.733227,189.3684 -31.514435,189.36839 C -36.764464,189.3684 -40.936335,188.0559 -44.03006,185.43089 C -47.030079,182.8059 -48.530077,179.38403 -48.53006,175.16527 C -48.530077,171.13404 -47.123829,167.80592 -44.31131,165.18089 C -41.217585,162.27468 -36.858214,160.49343 -31.233185,159.83714 L -22.514435,158.71214 C -18.108233,158.33718 -14.967611,157.96218 -13.09256,157.58714 C -9.9988658,157.11843 -7.4207434,156.50906 -5.3581848,155.75902 L -5.3581848,155.75902 z" + style="font-size:144px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Dotum;-inkscape-font-specification:Dotum" /> + <path + id="text3159" + d="M 25.617111,226.0481 L 34.195236,226.0481 L 34.195236,179.78247 C 34.195216,172.93877 36.210839,167.4544 40.242111,163.32935 C 44.367081,159.11066 49.898325,157.00129 56.835861,157.00122 C 61.242064,157.00129 64.663935,158.54816 67.101486,161.64185 C 69.538931,164.73566 70.757679,169.37628 70.757736,175.56372 L 70.757736,226.0481 L 79.335861,226.0481 L 79.335861,179.21997 C 79.335796,172.56377 81.304544,167.22003 85.242111,163.18872 C 89.367036,159.06379 94.89828,157.00129 101.83586,157.00122 C 106.71077,157.00129 110.27326,158.40754 112.52336,161.21997 C 114.77326,164.03253 115.89826,168.53253 115.89836,174.71997 L 115.89836,226.0481 L 124.47649,226.0481 L 124.47649,173.87622 C 124.47638,165.72003 122.5545,159.57941 118.71086,155.45435 C 114.86701,151.42317 109.33577,149.40755 102.11711,149.40747 C 96.492029,149.40755 91.617034,150.6263 87.492111,153.06372 C 83.367042,155.50129 80.03892,159.15754 77.507736,164.03247 C 76.195174,159.34504 73.804551,155.73567 70.335861,153.20435 C 66.867058,150.67317 62.742062,149.40755 57.960861,149.40747 C 52.523323,149.40755 47.742077,150.6263 43.617111,153.06372 C 39.492086,155.40754 36.163964,158.92316 33.632736,163.6106 L 33.632736,151.2356 L 25.617111,151.2356 L 25.617111,226.0481 z" + style="font-size:144px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Dotum;-inkscape-font-specification:Dotum" /> + <path + id="text3163" + d="M 147.8362,175.91447 C 147.74243,168.22702 150.08618,161.75828 154.86745,156.50822 C 159.08617,151.91454 164.47679,149.61767 171.03932,149.6176 C 177.50802,149.61767 182.75802,151.91454 186.78932,156.50822 C 191.28926,161.75828 193.53926,168.22702 193.53932,175.91447 L 147.8362,175.91447 z M 147.8362,182.8051 L 202.53932,182.8051 L 202.53932,179.9926 C 202.53925,167.99265 199.72675,158.61766 194.10182,151.8676 C 188.47676,145.30517 180.88302,142.02393 171.32057,142.02385 C 161.19554,142.02393 153.27367,145.4458 147.55495,152.28947 C 141.74244,159.32078 138.83619,169.11765 138.8362,181.6801 C 138.83619,193.96137 141.69556,203.57074 147.41432,210.50822 C 153.13305,217.35198 160.96117,220.77385 170.8987,220.77385 C 179.14865,220.77385 186.03927,218.4301 191.57057,213.7426 C 197.1955,209.14886 200.47675,203.10199 201.41432,195.60197 L 192.8362,195.60197 C 191.99239,200.94574 189.60176,205.21136 185.66432,208.39885 C 181.82052,211.49261 177.13303,213.03948 171.60182,213.03947 C 164.47679,213.03948 158.75804,210.36761 154.44557,205.02385 C 150.0393,199.58637 147.83618,192.18013 147.8362,182.8051 L 147.8362,182.8051 z" + style="font-size:144px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Dotum;-inkscape-font-specification:Dotum" /> + <path + id="text3167" + d="M 223.94653,207.64722 L 232.52466,207.64722 L 232.52466,104.00659 L 223.94653,104.00659 L 223.94653,207.64722 z" + style="font-size:144px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Dotum;-inkscape-font-specification:Dotum" /> + <path + id="text3171" + d="M 405.36266,134.6662 C 403.9897,150.79666 398.2411,163.40926 388.11684,172.50404 C 377.9923,181.77046 364.5217,186.40366 347.705,186.40365 C 327.4561,186.40366 311.4973,179.02486 299.82856,164.26723 C 288.1597,149.16646 282.3253,128.14546 282.32534,101.20417 C 282.3253,74.434667 288.0739,53.756868 299.57116,39.170711 C 311.0683,24.928069 327.0271,17.80667 347.4476,17.806491 C 363.2347,17.80667 376.1047,21.75347 386.05764,29.646902 C 396.0103,37.540669 401.8447,48.437268 403.56086,62.336733 L 420.80667,62.336733 C 419.6053,44.147268 412.4839,29.561269 399.44245,18.578692 C 386.2291,7.5964702 368.8975,2.1052705 347.4476,2.1050762 C 321.8791,2.1052705 301.7161,10.77107 286.95855,28.102501 C 271.85771,45.777468 264.30731,70.230467 264.30732,101.46157 C 264.30731,132.86446 271.77191,157.48906 286.70115,175.33544 C 301.2871,193.18186 321.3643,202.10506 346.9328,202.10507 C 369.2407,202.10506 387.0013,196.09906 400.21465,184.08705 C 413.4277,172.07506 420.8065,155.60146 422.35107,134.6662 L 405.36266,134.6662 z" + style="font-size:263.57785034px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;font-family:Dotum;-inkscape-font-specification:Dotum" /> + <path + id="text3175" + d="M 466.88318,240.88641 L 466.88318,242.01141 C 466.88312,245.38642 467.77374,247.96454 469.55505,249.74579 C 471.33624,251.52704 474.00811,252.41766 477.57068,252.41766 C 478.32061,252.41766 479.11748,252.37079 479.9613,252.27704 C 481.17998,252.08954 482.4456,251.90204 483.75818,251.71454 L 483.75818,245.24579 L 480.66443,245.24579 C 478.22686,245.24579 476.63311,244.6833 475.88318,243.55829 C 475.41436,242.8083 475.17998,241.1208 475.18005,238.49579 L 475.18005,197.71454 C 475.17998,190.2146 472.83624,184.54273 468.1488,180.69891 C 463.555,176.94899 456.805,175.07399 447.8988,175.07391 C 438.80502,175.07399 431.58628,177.27711 426.24255,181.68329 C 420.99254,185.99585 418.32067,191.85522 418.22693,199.26141 L 426.80505,199.26141 C 426.99253,193.73022 428.86753,189.55835 432.43005,186.74579 C 435.99252,184.02711 441.14877,182.66773 447.8988,182.66766 C 454.55501,182.66773 459.33625,183.98023 462.24255,186.60516 C 465.05499,189.04273 466.46124,193.16772 466.4613,198.98016 C 466.46124,202.44896 465.19562,204.88646 462.66443,206.29266 C 460.78937,207.41771 457.69563,208.16771 453.38318,208.54266 L 449.44568,208.82391 C 444.00814,209.19896 439.97689,209.62083 437.35193,210.08954 C 433.13315,210.74583 429.52378,211.82395 426.5238,213.32391 C 422.49254,215.01145 419.49254,217.44895 417.5238,220.63641 C 415.46129,223.82394 414.43005,227.62081 414.43005,232.02704 C 414.43005,238.4958 416.63317,243.69892 421.03943,247.63641 C 425.53941,251.66766 431.58628,253.68329 439.18005,253.68329 C 444.43002,253.68329 449.35189,252.60516 453.94568,250.44891 C 458.53938,248.29267 462.85187,245.10517 466.88318,240.88641 L 466.88318,240.88641 z M 466.4613,212.33954 L 466.4613,222.88641 C 466.46124,229.91769 464.02375,235.54268 459.1488,239.76141 C 454.36751,243.88642 448.08626,245.94892 440.30505,245.94891 C 435.05502,245.94892 430.88315,244.63642 427.78943,242.01141 C 424.78941,239.38643 423.28941,235.96455 423.28943,231.74579 C 423.28941,227.71456 424.69566,224.38644 427.50818,221.76141 C 430.6019,218.8552 434.96127,217.07395 440.5863,216.41766 L 449.30505,215.29266 C 453.71126,214.9177 456.85188,214.5427 458.72693,214.16766 C 461.82062,213.69895 464.39875,213.08958 466.4613,212.33954 L 466.4613,212.33954 z" + style="font-size:144px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Dotum;-inkscape-font-specification:Dotum" /> + <path + id="text3179" + d="M 556.41473,345.57504 C 556.32097,337.88759 558.66471,331.41885 563.44598,326.16879 C 567.66471,321.57511 573.05532,319.27824 579.61786,319.27817 C 586.08656,319.27824 591.33656,321.57511 595.36786,326.16879 C 599.8678,331.41885 602.1178,337.88759 602.11786,345.57504 L 556.41473,345.57504 z M 556.41473,352.46567 L 611.11786,352.46567 L 611.11786,349.65317 C 611.11779,337.65322 608.30529,328.27823 602.68036,321.52817 C 597.0553,314.96574 589.46156,311.68449 579.89911,311.68442 C 569.77408,311.68449 561.85221,315.10637 556.13348,321.95004 C 550.32097,328.98135 547.41473,338.77822 547.41473,351.34067 C 547.41473,363.62194 550.2741,373.23131 555.99286,380.16879 C 561.71159,387.01254 569.5397,390.43442 579.47723,390.43442 C 587.72718,390.43442 594.6178,388.09067 600.14911,383.40317 C 605.77404,378.80943 609.05529,372.76256 609.99286,365.26254 L 601.41473,365.26254 C 600.57092,370.60631 598.1803,374.87193 594.24286,378.05942 C 590.39906,381.15317 585.71156,382.70005 580.18036,382.70004 C 573.05532,382.70005 567.33658,380.02818 563.02411,374.68442 C 558.61784,369.24694 556.41472,361.84069 556.41473,352.46567 L 556.41473,352.46567 z" + style="font-size:144px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Dotum;-inkscape-font-specification:Dotum" /> + <path + id="text3183" + d="M 496.97305,290.13226 C 497.16054,297.81978 499.83242,303.9604 504.98868,308.55414 C 510.23866,313.24164 517.22302,315.58539 525.9418,315.58539 C 534.56676,315.58539 541.50425,313.52289 546.7543,309.39789 C 551.91049,305.36665 554.48861,300.25728 554.48868,294.06976 C 554.48861,288.06979 552.66049,283.47604 549.0043,280.28851 C 545.62925,277.3823 539.86363,274.9448 531.70743,272.97601 L 528.33243,272.13226 C 520.36365,270.25731 515.2074,268.66356 512.86368,267.35101 C 509.30116,265.19481 507.51991,261.81981 507.51993,257.22601 C 507.51991,253.38232 508.92616,250.33545 511.73868,248.08539 C 514.8324,245.64796 518.9574,244.42921 524.11368,244.42914 C 529.92614,244.42921 534.56676,245.83546 538.03555,248.64789 C 541.4105,251.5542 543.2855,255.53857 543.66055,260.60101 L 552.51993,260.60101 C 551.95736,253.10107 549.19174,247.28858 544.22305,243.16351 C 539.25425,238.94484 532.59801,236.83546 524.2543,236.83539 C 516.56677,236.83546 510.33241,238.85109 505.55118,242.88226 C 500.86367,246.91358 498.51992,252.1167 498.51993,258.49164 C 498.51992,264.49169 500.76992,269.08543 505.26993,272.27289 C 508.92616,274.89793 515.67615,277.42917 525.51993,279.86664 L 525.9418,279.86664 C 533.53551,281.74167 538.4105,283.33542 540.5668,284.64789 C 543.94175,286.61666 545.62925,289.71041 545.6293,293.92914 C 545.62925,298.05415 543.89487,301.38228 540.42618,303.91351 C 536.76988,306.53852 531.84801,307.85102 525.66055,307.85101 C 519.84802,307.85102 515.11365,306.16352 511.45743,302.78851 C 507.70741,299.50728 505.83241,295.28853 505.83243,290.13226 L 496.97305,290.13226 z" + style="font-size:144px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Dotum;-inkscape-font-specification:Dotum" /> + <path + transform="matrix(2.530012,-0.4377171,0.4377171,2.530012,-1533.4455,102.40959)" + d="M 961.45294,201.00758 A 16.714602,9.0840225 0 1 1 928.02374,201.00758 A 16.714602,9.0840225 0 1 1 961.45294,201.00758 z" + sodipodi:ry="9.0840225" + sodipodi:rx="16.714602" + sodipodi:cy="201.00758" + sodipodi:cx="944.73834" + id="path3176" + style="opacity:1;fill:#803300;fill-opacity:1;fill-rule:evenodd;stroke:#2b1100;stroke-width:1.55787659;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + sodipodi:type="arc" /> + <path + transform="matrix(0.9853616,-0.1704773,0.1704773,0.9853616,-18.984331,160.36522)" + d="M 961.45294,201.00758 A 16.714602,9.0840225 0 1 1 928.02374,201.00758 A 16.714602,9.0840225 0 1 1 961.45294,201.00758 z" + sodipodi:ry="9.0840225" + sodipodi:rx="16.714602" + sodipodi:cy="201.00758" + sodipodi:cx="944.73834" + id="path3174" + style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + sodipodi:type="arc" /> + </g> +</svg> diff --git a/Doc/Sd1/Ref/LangFundament/variableToMemory.svg b/Doc/Sd1/Ref/LangFundament/variableToMemory.svg new file mode 100644 index 0000000000000000000000000000000000000000..b8a05013121f814b0b2d0f7300d54c31dd01e29d --- /dev/null +++ b/Doc/Sd1/Ref/LangFundament/variableToMemory.svg @@ -0,0 +1,2049 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:ns1="http://sozi.baierouge.fr" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + sodipodi:docname="variableToMemory.svg" + inkscape:version="0.92.1 unknown" + version="1.2" + id="svg2" + height="586.66669" + width="821.33331"> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.2077062" + inkscape:cx="377.28334" + inkscape:cy="269.91352" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + inkscape:window-width="1535" + inkscape:window-height="1130" + inkscape:window-x="65" + inkscape:window-y="24" + inkscape:window-maximized="1" + showguides="false" + inkscape:guide-bbox="true"> + <inkscape:grid + type="xygrid" + id="grid1569" /> + </sodipodi:namedview> + <defs + id="defs4"> + <marker + inkscape:isstock="true" + style="overflow:visible;" + id="marker11618" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="Arrow1Mend"> + <path + transform="scale(0.4) rotate(180) translate(10,0)" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + id="path11616" /> + </marker> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0" + refX="0" + id="marker2318" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path2316" + d="M -10.666667,0 -14.933333,4.2666667 0,0 -14.933333,-4.2666667 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.85333335pt;stroke-opacity:1" /> + </marker> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0.0" + refX="0.0" + id="marker4887" + style="overflow:visible;" + inkscape:isstock="true"> + <path + id="path4627" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1" + transform="scale(0.8) rotate(180) translate(12.5,0)" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker6797" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend"> + <path + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.85333335pt;stroke-opacity:1" + d="M -10.666667,0 -14.933333,4.2666667 0,0 -14.933333,-4.2666667 Z" + id="path6799" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker6793" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend"> + <path + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.85333335pt;stroke-opacity:1" + d="M -10.666667,0 -14.933333,4.2666667 0,0 -14.933333,-4.2666667 Z" + id="path6795" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0" + refX="0" + id="marker6778" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path6514" + d="M -10.666667,0 -14.933333,4.2666667 0,0 -14.933333,-4.2666667 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.85333335pt;stroke-opacity:1" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lstart" + orient="auto" + refY="0" + refX="0" + id="Arrow1Lstart" + style="overflow:visible"> + <path + id="path3841" + d="M 10.666667,0 14.933333,-4.2666667 0,0 14.933333,4.2666667 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:0.85333335pt" + inkscape:connector-curvature="0" /> + </marker> + <marker + style="overflow:visible" + id="SquareM" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="SquareM"> + <path + style="fill-rule:evenodd;stroke:#000000;stroke-width:0.42666668pt" + d="M -2.1333333,-2.1333333 V 2.1333333 H 2.1333333 V -2.1333333 Z" + id="path3914" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Lend" + style="overflow:visible"> + <path + id="path3844" + d="M -10.666667,0 -14.933333,4.2666667 0,0 -14.933333,-4.2666667 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:0.85333335pt" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="DiamondM" + orient="auto" + refY="0" + refX="0" + id="DiamondM" + style="overflow:visible"> + <path + id="path3923" + d="M 0,-3.0169928 -3.0169981,0 0,3.0169851 3.0169797,0 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:0.42666668pt" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="DiamondMH" + orient="auto" + refY="0" + refX="0" + id="DiamondMH" + style="overflow:visible"> + <path + id="path4656" + d="M 0,-3.0169928 -3.0169981,0 0,3.0169851 3.0169797,0 Z" + style="fill:#ff0000;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.42666668pt" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1LendB" + orient="auto" + refY="0" + refX="0" + id="Arrow1LendB" + style="overflow:visible"> + <path + id="path4659" + d="M -10.666667,0 -14.933333,4.2666667 0,0 -14.933333,-4.2666667 Z" + style="fill:#ff0000;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.85333335pt" + inkscape:connector-curvature="0" /> + </marker> + <marker + style="overflow:visible" + id="SquareMU" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="SquareMU"> + <path + style="fill:#00ff00;fill-rule:evenodd;stroke:#00ff00;stroke-width:0.42666668pt" + d="M -2.1333333,-2.1333333 V 2.1333333 H 2.1333333 V -2.1333333 Z" + id="path5221" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lend3" + orient="auto" + refY="0" + refX="0" + id="Arrow1Lend3" + style="overflow:visible"> + <path + id="path5224" + d="M -10.666667,0 -14.933333,4.2666667 0,0 -14.933333,-4.2666667 Z" + style="fill:#00ff00;fill-rule:evenodd;stroke:#00ff00;stroke-width:0.85333335pt" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="DiamondMo" + orient="auto" + refY="0" + refX="0" + id="DiamondMo" + style="overflow:visible"> + <path + id="path5799" + d="M 0,-3.0169928 -3.0169981,0 0,3.0169851 3.0169797,0 Z" + style="fill:#00ff00;fill-rule:evenodd;stroke:#00ff00;stroke-width:0.42666668pt" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1LendO" + orient="auto" + refY="0" + refX="0" + id="Arrow1LendO" + style="overflow:visible"> + <path + id="path5802" + d="M -10.666667,0 -14.933333,4.2666667 0,0 -14.933333,-4.2666667 Z" + style="fill:#00ff00;fill-rule:evenodd;stroke:#00ff00;stroke-width:0.85333335pt" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="DiamondM1" + orient="auto" + refY="0" + refX="0" + id="DiamondM1" + style="overflow:visible"> + <path + id="path6393" + d="M 0,-3.0169928 -3.0169981,0 0,3.0169851 3.0169797,0 Z" + style="fill:#00ff00;fill-rule:evenodd;stroke:#00ff00;stroke-width:0.42666668pt" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1LendV" + orient="auto" + refY="0" + refX="0" + id="Arrow1LendV" + style="overflow:visible"> + <path + id="path6396" + d="M -10.666667,0 -14.933333,4.2666667 0,0 -14.933333,-4.2666667 Z" + style="fill:#00ff00;fill-rule:evenodd;stroke:#00ff00;stroke-width:0.85333335pt" + inkscape:connector-curvature="0" /> + </marker> + <marker + style="overflow:visible" + id="SquareMN" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="SquareMN"> + <path + style="fill:#00ff00;fill-rule:evenodd;stroke:#00ff00;stroke-width:0.42666668pt" + d="M -2.1333333,-2.1333333 V 2.1333333 H 2.1333333 V -2.1333333 Z" + id="path7813" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1LstartP" + orient="auto" + refY="0" + refX="0" + id="Arrow1LstartP" + style="overflow:visible"> + <path + id="path7816" + d="M 10.666667,0 14.933333,-4.2666667 0,0 14.933333,4.2666667 Z" + style="fill:#00ff00;fill-rule:evenodd;stroke:#00ff00;stroke-width:0.85333335pt" + inkscape:connector-curvature="0" /> + </marker> + <marker + style="overflow:visible" + id="SquareMb" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="SquareMb"> + <path + style="fill:#00ff00;fill-rule:evenodd;stroke:#00ff00;stroke-width:0.42666668pt" + d="M -2.1333333,-2.1333333 V 2.1333333 H 2.1333333 V -2.1333333 Z" + id="path9491" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1LendX" + orient="auto" + refY="0" + refX="0" + id="Arrow1LendX" + style="overflow:visible"> + <path + id="path9494" + d="M -10.666667,0 -14.933333,4.2666667 0,0 -14.933333,-4.2666667 Z" + style="fill:#00ff00;fill-rule:evenodd;stroke:#00ff00;stroke-width:0.85333335pt" + inkscape:connector-curvature="0" /> + </marker> + <marker + style="overflow:visible" + id="SquareM8" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="SquareM8"> + <path + style="fill:#ff0000;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.42666668pt" + d="M -2.1333333,-2.1333333 V 2.1333333 H 2.1333333 V -2.1333333 Z" + id="path10143" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1LendT" + orient="auto" + refY="0" + refX="0" + id="Arrow1LendT" + style="overflow:visible"> + <path + id="path10146" + d="M -10.666667,0 -14.933333,4.2666667 0,0 -14.933333,-4.2666667 Z" + style="fill:#ff0000;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.85333335pt" + inkscape:connector-curvature="0" /> + </marker> + <marker + style="overflow:visible" + id="SquareMNT" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="SquareMNT"> + <path + style="fill:#ff0000;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.42666668pt" + d="M -2.1333333,-2.1333333 V 2.1333333 H 2.1333333 V -2.1333333 Z" + id="path12195" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1LstartPJ" + orient="auto" + refY="0" + refX="0" + id="Arrow1LstartPJ" + style="overflow:visible"> + <path + id="path12198" + d="M 10.666667,0 14.933333,-4.2666667 0,0 14.933333,4.2666667 Z" + style="fill:#ff0000;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.85333335pt" + inkscape:connector-curvature="0" /> + </marker> + <marker + style="overflow:visible" + id="SquareMNTL" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="SquareMNTL"> + <path + style="fill:#ff0000;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.42666668pt" + d="M -2.1333333,-2.1333333 V 2.1333333 H 2.1333333 V -2.1333333 Z" + id="path12907" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lendx" + orient="auto" + refY="0" + refX="0" + id="Arrow1Lendx" + style="overflow:visible"> + <path + id="path12910" + d="M -10.666667,0 -14.933333,4.2666667 0,0 -14.933333,-4.2666667 Z" + style="fill:#ff0000;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.85333335pt" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="DiamondMoY" + orient="auto" + refY="0" + refX="0" + id="DiamondMoY" + style="overflow:visible"> + <path + id="path13187" + d="M 0,-3.0169928 -3.0169981,0 0,3.0169851 3.0169797,0 Z" + style="fill:#00ff00;fill-rule:evenodd;stroke:#00ff00;stroke-width:0.42666668pt" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1LendOe" + orient="auto" + refY="0" + refX="0" + id="Arrow1LendOe" + style="overflow:visible"> + <path + id="path13190" + d="M -10.666667,0 -14.933333,4.2666667 0,0 -14.933333,-4.2666667 Z" + style="fill:#00ff00;fill-rule:evenodd;stroke:#00ff00;stroke-width:0.85333335pt" + inkscape:connector-curvature="0" /> + </marker> + <linearGradient + id="linearGradient3928-8"> + <stop + offset="0" + style="stop-color:#7c7c7c" + id="stop3930-2" /> + <stop + offset="1" + style="stop-color:#e6e3e3" + id="stop3932-0" /> + </linearGradient> + <linearGradient + id="linearGradient8877"> + <stop + style="stop-color:#cecece;stop-opacity:1;" + offset="0" + id="stop8879" /> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="1" + id="stop8881" /> + </linearGradient> + <linearGradient + id="linearGradient8869"> + <stop + id="stop8871" + offset="0" + style="stop-color:#000000;stop-opacity:1;" /> + <stop + id="stop8873" + offset="1" + style="stop-color:#000000;stop-opacity:1;" /> + </linearGradient> + <linearGradient + id="linearGradient7421"> + <stop + id="stop7423" + offset="0" + style="stop-color:#000000;stop-opacity:1;" /> + <stop + id="stop7425" + offset="1" + style="stop-color:#000000;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient7405"> + <stop + style="stop-color:#9e9e9e;stop-opacity:1;" + offset="0" + id="stop7407" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop7409" /> + </linearGradient> + <linearGradient + id="linearGradient7378"> + <stop + id="stop7380" + offset="0" + style="stop-color:#9e9e9e;stop-opacity:1;" /> + <stop + id="stop7382" + offset="1" + style="stop-color:#ffffff;stop-opacity:1;" /> + </linearGradient> + <inkscape:perspective + id="perspective6864" + inkscape:persp3d-origin="32 : 21.333333 : 1" + inkscape:vp_z="64 : 32 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 32 : 1" + sodipodi:type="inkscape:persp3d" /> + <filter + id="imagebot_16" + color-interpolation-filters="sRGB"> + <feGaussianBlur + id="imagebot_21" + stdDeviation="1.2625" /> + </filter> + <linearGradient + id="imagebot_14" + y2="-235.34228" + xlink:href="#linearGradient3928-8" + x2="33.162107" + y1="-192.16943" + x1="32.287572" + gradientTransform="scale(0.90019155,1.1108747)" + gradientUnits="userSpaceOnUse" /> + <filter + id="imagebot_12" + width="1.0832" + y="-0.1075" + x="-0.04161" + height="1.215" + color-interpolation-filters="sRGB"> + <feGaussianBlur + id="imagebot_18" + stdDeviation="0.5375" /> + </filter> + <linearGradient + id="imagebot_9" + y2="-245.02541" + xlink:href="#linearGradient3928-8" + x2="34.572055" + y1="-254.4969" + x1="43.709675" + gradientUnits="userSpaceOnUse" /> + <filter + id="imagebot_16-6" + color-interpolation-filters="sRGB"> + <feGaussianBlur + id="imagebot_21-1" + stdDeviation="1.2625" /> + </filter> + <linearGradient + id="imagebot_14-8" + y2="-235.34228" + xlink:href="#linearGradient3928-8" + x2="33.162107" + y1="-192.16943" + x1="32.287572" + gradientTransform="scale(0.90019155,1.1108747)" + gradientUnits="userSpaceOnUse" /> + <filter + id="imagebot_12-7" + width="1.0832" + y="-0.1075" + x="-0.04161" + height="1.215" + color-interpolation-filters="sRGB"> + <feGaussianBlur + id="imagebot_18-9" + stdDeviation="0.5375" /> + </filter> + <linearGradient + id="imagebot_9-2" + y2="-245.02541" + xlink:href="#linearGradient3928-8" + x2="34.572055" + y1="-254.4969" + x1="43.709675" + gradientUnits="userSpaceOnUse" /> + <filter + id="imagebot_16-2" + color-interpolation-filters="sRGB"> + <feGaussianBlur + id="imagebot_21-8" + stdDeviation="1.2625" /> + </filter> + <linearGradient + id="imagebot_14-9" + y2="-235.34228" + xlink:href="#linearGradient3928-8" + x2="33.162107" + y1="-192.16943" + x1="32.287572" + gradientTransform="scale(0.90019155,1.1108747)" + gradientUnits="userSpaceOnUse" /> + <filter + id="imagebot_12-73" + width="1.0832" + y="-0.1075" + x="-0.04161" + height="1.215" + color-interpolation-filters="sRGB"> + <feGaussianBlur + id="imagebot_18-6" + stdDeviation="0.5375" /> + </filter> + <linearGradient + id="imagebot_9-1" + y2="-245.02541" + xlink:href="#linearGradient3928-8" + x2="34.572055" + y1="-254.4969" + x1="43.709675" + gradientUnits="userSpaceOnUse" /> + <filter + style="color-interpolation-filters:sRGB" + id="imagebot_16-0"> + <feGaussianBlur + id="imagebot_21-7" + stdDeviation="1.2625" /> + </filter> + <linearGradient + id="imagebot_14-5" + y2="-235.34229" + xlink:href="#linearGradient3928-8" + x2="33.162106" + y1="-192.16943" + x1="32.287571" + gradientTransform="scale(0.90019155,1.1108747)" + gradientUnits="userSpaceOnUse" /> + <filter + style="color-interpolation-filters:sRGB" + id="imagebot_12-0" + width="1.0832" + y="-0.1075" + x="-0.041609999" + height="1.215"> + <feGaussianBlur + id="imagebot_18-4" + stdDeviation="0.5375" /> + </filter> + <linearGradient + id="imagebot_9-8" + y2="-245.02541" + xlink:href="#linearGradient3928-8" + x2="34.572056" + y1="-254.4969" + x1="43.709675" + gradientUnits="userSpaceOnUse" /> + <filter + id="imagebot_16-02" + color-interpolation-filters="sRGB"> + <feGaussianBlur + id="imagebot_21-9" + stdDeviation="1.2625" /> + </filter> + <linearGradient + id="imagebot_14-4" + y2="0.73097428" + xlink:href="#linearGradient3928-8" + x2="36.048217" + y1="43.903821" + x1="35.173682" + gradientTransform="scale(0.90019155,1.1108747)" + gradientUnits="userSpaceOnUse" /> + <filter + id="imagebot_12-3" + width="1.0832" + y="-0.1075" + x="-0.04161" + height="1.215" + color-interpolation-filters="sRGB"> + <feGaussianBlur + id="imagebot_18-5" + stdDeviation="0.5375" /> + </filter> + <linearGradient + id="imagebot_9-17" + y2="-245.02541" + xlink:href="#linearGradient3928-8" + x2="34.572055" + y1="-254.4969" + x1="43.709675" + gradientUnits="userSpaceOnUse" /> + </defs> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-535.85302)"> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:12.80000019px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06666672" + x="104.51711" + y="415.68225" + id="text3004"><tspan + sodipodi:role="line" + id="tspan3006" + x="104.51711" + y="415.68225" + style="font-size:42.66666794px;line-height:1.25;font-family:sans-serif;stroke-width:1.06666672"> </tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffdd55;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4289" + width="226.77165" + height="226.77165" + x="-2.4930778e-06" + y="668.97638" + ry="21.259838" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:Arial;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="29.941807" + y="759.56818" + id="text514"><tspan + sodipodi:role="line" + x="29.941807" + y="759.56818" + style="fill:#0000ff;stroke-width:0.99999994px" + id="tspan518"><tspan + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:'Arial Bold';stroke-width:0.99999994px" + id="tspan1065">int a = 13;</tspan></tspan><tspan + sodipodi:role="line" + x="29.941807" + y="796.23486" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:'Arial Bold';fill:#ff0000;stroke-width:0.99999994px" + id="tspan526">char c = 'B';</tspan><tspan + sodipodi:role="line" + x="29.941807" + y="832.90149" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:'Arial Bold';fill:#008000;stroke-width:0.99999994px" + id="tspan528">byte b = -128;</tspan><tspan + sodipodi:role="line" + x="29.941807" + y="869.56818" + style="stroke-width:0.99999994px" + id="tspan524" /></text> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="36.844261" + y="706.06598" + id="text5913"><tspan + sodipodi:role="line" + id="tspan5911" + x="36.844261" + y="706.06598" + style="stroke-width:0.99999994px">Code</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#f6ffd5;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect5901" + width="302.36221" + height="529.13385" + x="453.54327" + y="555.59058" + ry="1.1568376e-13" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-4" + width="37.795277" + height="37.795277" + x="453.54327" + y="1009.1339" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="464.27502" + y="1038.5731" + id="text2687-80"><tspan + sodipodi:role="line" + id="tspan2685-4" + x="464.27502" + y="1038.5731" + style="fill:#008000;stroke-width:0.99999994px">1</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-4" + width="37.795277" + height="37.795277" + x="566.92902" + y="1009.1339" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="577.66071" + y="1038.3942" + id="text2687-8-2"><tspan + sodipodi:role="line" + id="tspan2685-7-2" + x="577.66071" + y="1038.3942" + style="fill:#008000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-0" + width="37.795277" + height="37.795277" + x="604.72437" + y="1009.1339" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="615.45593" + y="1038.3942" + id="text2687-8-5"><tspan + sodipodi:role="line" + id="tspan2685-7-5" + x="615.45593" + y="1038.3942" + style="fill:#008000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-02" + width="37.795277" + height="37.795277" + x="642.51953" + y="1009.1339" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="653.25134" + y="1038.3942" + id="text2687-8-8"><tspan + sodipodi:role="line" + id="tspan2685-7-3" + x="653.25134" + y="1038.3942" + style="fill:#008000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-04" + width="37.795277" + height="37.795277" + x="680.31482" + y="1009.1339" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="691.04651" + y="1038.3942" + id="text2687-8-0"><tspan + sodipodi:role="line" + id="tspan2685-7-9" + x="691.04651" + y="1038.3942" + style="fill:#008000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-9" + width="37.795277" + height="37.795277" + x="491.33856" + y="1009.1339" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="502.07022" + y="1038.3942" + id="text2687-8-6"><tspan + sodipodi:role="line" + id="tspan2685-7-25" + x="502.07022" + y="1038.3942" + style="fill:#008000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-4-5" + width="37.795277" + height="37.795277" + x="529.13379" + y="1009.1339" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="539.86548" + y="1038.3942" + id="text2687-8-2-1"><tspan + sodipodi:role="line" + id="tspan2685-7-2-1" + x="539.86548" + y="1038.3942" + style="fill:#008000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-04-3" + width="37.795277" + height="37.795277" + x="718.11023" + y="1009.1339" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="728.84192" + y="1038.3942" + id="text2687-8-0-6"><tspan + sodipodi:role="line" + id="tspan2685-7-9-7" + x="728.84192" + y="1038.3942" + style="fill:#008000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-4-3" + width="37.795277" + height="37.795277" + x="491.33856" + y="895.74805" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="502.07031" + y="925.18738" + id="text2687-80-6"><tspan + sodipodi:role="line" + id="tspan2685-4-7" + x="502.07031" + y="925.18738" + style="fill:#ff0000;stroke-width:0.99999994px">1</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-4-5" + width="37.795277" + height="37.795277" + x="680.31494" + y="895.74805" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="691.04669" + y="925.18738" + id="text2687-80-3"><tspan + sodipodi:role="line" + id="tspan2685-4-5" + x="691.04669" + y="925.18738" + style="fill:#ff0000;stroke-width:0.99999994px">1</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-4-6" + width="37.795277" + height="37.795277" + x="604.72437" + y="895.74805" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="615.45605" + y="925.00836" + id="text2687-8-2-2"><tspan + sodipodi:role="line" + id="tspan2685-7-2-9" + x="615.45605" + y="925.00836" + style="fill:#ff0000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-0-1" + width="37.795277" + height="37.795277" + x="642.51965" + y="895.74805" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="653.25128" + y="925.00836" + id="text2687-8-5-2"><tspan + sodipodi:role="line" + id="tspan2685-7-5-7" + x="653.25128" + y="925.00836" + style="fill:#ff0000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-9-0" + width="37.795277" + height="37.795277" + x="529.13391" + y="895.74805" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="539.86554" + y="925.00836" + id="text2687-8-6-9"><tspan + sodipodi:role="line" + id="tspan2685-7-25-3" + x="539.86554" + y="925.00836" + style="fill:#ff0000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-4-5-6" + width="37.795277" + height="37.795277" + x="566.92914" + y="895.74805" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="577.66083" + y="925.00836" + id="text2687-8-2-1-0"><tspan + sodipodi:role="line" + id="tspan2685-7-2-1-6" + x="577.66083" + y="925.00836" + style="fill:#ff0000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-04-3-2" + width="37.795277" + height="37.795277" + x="718.11023" + y="895.74805" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="728.84192" + y="925.00836" + id="text2687-8-0-6-6"><tspan + sodipodi:role="line" + id="tspan2685-7-9-7-1" + x="728.84192" + y="925.00836" + style="fill:#ff0000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-04-3-8" + width="37.795277" + height="37.795277" + x="453.54327" + y="895.74805" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="464.27493" + y="925.00836" + id="text2687-8-0-6-7"><tspan + sodipodi:role="line" + id="tspan2685-7-9-7-9" + x="464.27493" + y="925.00836" + style="fill:#ff0000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-4-3" + width="37.795277" + height="37.795277" + x="566.92914" + y="857.95276" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="577.66083" + y="887.21307" + id="text2687-8-2-7"><tspan + sodipodi:role="line" + id="tspan2685-7-2-5" + x="577.66083" + y="887.21307" + style="fill:#ff0000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-0-9" + width="37.795277" + height="37.795277" + x="604.72449" + y="857.95276" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="615.45612" + y="887.21307" + id="text2687-8-5-22"><tspan + sodipodi:role="line" + id="tspan2685-7-5-8" + x="615.45612" + y="887.21307" + style="fill:#ff0000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-02-9" + width="37.795277" + height="37.795277" + x="642.51959" + y="857.95276" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="653.25146" + y="887.21307" + id="text2687-8-8-7"><tspan + sodipodi:role="line" + id="tspan2685-7-3-3" + x="653.25146" + y="887.21307" + style="fill:#ff0000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-04-6" + width="37.795277" + height="37.795277" + x="680.31494" + y="857.95276" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="691.04663" + y="887.21307" + id="text2687-8-0-1"><tspan + sodipodi:role="line" + id="tspan2685-7-9-2" + x="691.04663" + y="887.21307" + style="fill:#ff0000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-9-9" + width="37.795277" + height="37.795277" + x="491.33868" + y="857.95276" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="502.07031" + y="887.21307" + id="text2687-8-6-3"><tspan + sodipodi:role="line" + id="tspan2685-7-25-1" + x="502.07031" + y="887.21307" + style="fill:#ff0000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-4-5-9" + width="37.795277" + height="37.795277" + x="529.13391" + y="857.95276" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="539.8656" + y="887.21307" + id="text2687-8-2-1-4"><tspan + sodipodi:role="line" + id="tspan2685-7-2-1-7" + x="539.8656" + y="887.21307" + style="fill:#ff0000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-04-3-84" + width="37.795277" + height="37.795277" + x="718.11035" + y="857.95276" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="728.84204" + y="887.21307" + id="text2687-8-0-6-5"><tspan + sodipodi:role="line" + id="tspan2685-7-9-7-0" + x="728.84204" + y="887.21307" + style="fill:#ff0000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-04-3-3" + width="37.795277" + height="37.795277" + x="453.54327" + y="857.95276" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="464.27493" + y="887.21307" + id="text2687-8-0-6-61"><tspan + sodipodi:role="line" + id="tspan2685-7-9-7-06" + x="464.27493" + y="887.21307" + style="fill:#ff0000;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-4-1" + width="37.795277" + height="37.795277" + x="566.92902" + y="631.18115" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="577.66071" + y="660.44141" + id="text2687-8-2-5"><tspan + sodipodi:role="line" + id="tspan2685-7-2-54" + x="577.66071" + y="660.44141" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-0-7" + width="37.795277" + height="37.795277" + x="604.72437" + y="631.18115" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="615.45599" + y="660.44141" + id="text2687-8-5-6"><tspan + sodipodi:role="line" + id="tspan2685-7-5-5" + x="615.45599" + y="660.44141" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-02-6" + width="37.795277" + height="37.795277" + x="642.51947" + y="631.18115" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="653.25128" + y="660.44141" + id="text2687-8-8-9"><tspan + sodipodi:role="line" + id="tspan2685-7-3-37" + x="653.25128" + y="660.44141" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-04-4" + width="37.795277" + height="37.795277" + x="680.31482" + y="631.18115" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="691.04651" + y="660.44141" + id="text2687-8-0-5"><tspan + sodipodi:role="line" + id="tspan2685-7-9-25" + x="691.04651" + y="660.44141" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-9-4" + width="37.795277" + height="37.795277" + x="491.33856" + y="631.18115" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="502.07025" + y="660.44141" + id="text2687-8-6-7"><tspan + sodipodi:role="line" + id="tspan2685-7-25-4" + x="502.07025" + y="660.44141" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-4-5-4" + width="37.795277" + height="37.795277" + x="529.13385" + y="631.18115" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="539.86548" + y="660.44141" + id="text2687-8-2-1-3"><tspan + sodipodi:role="line" + id="tspan2685-7-2-1-0" + x="539.86548" + y="660.44141" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-04-3-7" + width="37.795277" + height="37.795277" + x="718.11023" + y="631.18115" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="728.84192" + y="660.44141" + id="text2687-8-0-6-8"><tspan + sodipodi:role="line" + id="tspan2685-7-9-7-6" + x="728.84192" + y="660.44141" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-9-4-8" + width="37.795277" + height="37.795277" + x="453.54327" + y="631.18115" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="464.27499" + y="660.44141" + id="text2687-8-6-7-8"><tspan + sodipodi:role="line" + id="tspan2685-7-25-4-4" + x="464.27499" + y="660.44141" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-4-1-3" + width="37.795277" + height="37.795277" + x="566.92902" + y="668.97638" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="577.66071" + y="698.23669" + id="text2687-8-2-5-1"><tspan + sodipodi:role="line" + id="tspan2685-7-2-54-4" + x="577.66071" + y="698.23669" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-0-7-9" + width="37.795277" + height="37.795277" + x="604.72437" + y="668.97638" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="615.45599" + y="698.23669" + id="text2687-8-5-6-2"><tspan + sodipodi:role="line" + id="tspan2685-7-5-5-0" + x="615.45599" + y="698.23669" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-02-6-6" + width="37.795277" + height="37.795277" + x="642.51947" + y="668.97638" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="653.25128" + y="698.23669" + id="text2687-8-8-9-8"><tspan + sodipodi:role="line" + id="tspan2685-7-3-37-9" + x="653.25128" + y="698.23669" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-04-4-2" + width="37.795277" + height="37.795277" + x="680.31482" + y="668.97638" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="691.04651" + y="698.23669" + id="text2687-8-0-5-6"><tspan + sodipodi:role="line" + id="tspan2685-7-9-25-6" + x="691.04651" + y="698.23669" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-9-4-4" + width="37.795277" + height="37.795277" + x="491.33856" + y="668.97638" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="502.07025" + y="698.23669" + id="text2687-8-6-7-9"><tspan + sodipodi:role="line" + id="tspan2685-7-25-4-5" + x="502.07025" + y="698.23669" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-4-5-4-0" + width="37.795277" + height="37.795277" + x="529.13385" + y="668.97638" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="539.86548" + y="698.23669" + id="text2687-8-2-1-3-4"><tspan + sodipodi:role="line" + id="tspan2685-7-2-1-0-8" + x="539.86548" + y="698.23669" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-04-3-7-7" + width="37.795277" + height="37.795277" + x="718.11023" + y="668.97638" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="728.84192" + y="698.23669" + id="text2687-8-0-6-8-1"><tspan + sodipodi:role="line" + id="tspan2685-7-9-7-6-7" + x="728.84192" + y="698.23669" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.9993701;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-9-4-8-2" + width="37.795277" + height="37.795277" + x="453.54327" + y="668.97638" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="464.27499" + y="698.23669" + id="text2687-8-6-7-8-7"><tspan + sodipodi:role="line" + id="tspan2685-7-25-4-4-2" + x="464.27499" + y="698.23669" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-4-1-2" + width="37.795277" + height="37.795277" + x="566.92914" + y="706.77167" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="577.66083" + y="736.03198" + id="text2687-8-2-5-6"><tspan + sodipodi:role="line" + id="tspan2685-7-2-54-1" + x="577.66083" + y="736.03198" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-0-7-0" + width="37.795277" + height="37.795277" + x="604.72449" + y="706.77167" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="615.45612" + y="736.03198" + id="text2687-8-5-6-6"><tspan + sodipodi:role="line" + id="tspan2685-7-5-5-1" + x="615.45612" + y="736.03198" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-02-6-5" + width="37.795277" + height="37.795277" + x="642.51953" + y="706.77167" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="653.2514" + y="736.03198" + id="text2687-8-8-9-9"><tspan + sodipodi:role="line" + id="tspan2685-7-3-37-4" + x="653.2514" + y="736.03198" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-04-4-9" + width="37.795277" + height="37.795277" + x="680.31494" + y="706.77167" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="691.04663" + y="736.03198" + id="text2687-8-0-5-0"><tspan + sodipodi:role="line" + id="tspan2685-7-9-25-9" + x="691.04663" + y="736.03198" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-9-4-1" + width="37.795277" + height="37.795277" + x="491.33868" + y="706.77167" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="502.07037" + y="736.03198" + id="text2687-8-6-7-7"><tspan + sodipodi:role="line" + id="tspan2685-7-25-4-7" + x="502.07037" + y="736.03198" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-4-5-4-1" + width="37.795277" + height="37.795277" + x="529.13397" + y="706.77167" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="539.8656" + y="736.03198" + id="text2687-8-2-1-3-1"><tspan + sodipodi:role="line" + id="tspan2685-7-2-1-0-5" + x="539.8656" + y="736.03198" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-04-3-7-9" + width="37.795277" + height="37.795277" + x="718.11035" + y="706.77167" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="728.84204" + y="736.03198" + id="text2687-8-0-6-8-7"><tspan + sodipodi:role="line" + id="tspan2685-7-9-7-6-76" + x="728.84204" + y="736.03198" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-9-4-8-7" + width="37.795277" + height="37.795277" + x="453.5434" + y="706.77167" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="464.27512" + y="736.03198" + id="text2687-8-6-7-8-3"><tspan + sodipodi:role="line" + id="tspan2685-7-25-4-4-6" + x="464.27512" + y="736.03198" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-4-1-5" + width="37.795277" + height="37.795277" + x="566.92914" + y="744.56696" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="577.66083" + y="773.82727" + id="text2687-8-2-5-63"><tspan + sodipodi:role="line" + id="tspan2685-7-2-54-9" + x="577.66083" + y="773.82727" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-04-4-8" + width="37.795277" + height="37.795277" + x="680.31494" + y="744.56696" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="691.04663" + y="773.82727" + id="text2687-8-0-5-8"><tspan + sodipodi:role="line" + id="tspan2685-7-9-25-5" + x="691.04663" + y="773.82727" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-9-4-0" + width="37.795277" + height="37.795277" + x="491.33868" + y="744.56696" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="502.07037" + y="773.82727" + id="text2687-8-6-7-96"><tspan + sodipodi:role="line" + id="tspan2685-7-25-4-3" + x="502.07037" + y="773.82727" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-4-5-4-8" + width="37.795277" + height="37.795277" + x="529.13397" + y="744.56696" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="539.8656" + y="773.82727" + id="text2687-8-2-1-3-5"><tspan + sodipodi:role="line" + id="tspan2685-7-2-1-0-6" + x="539.8656" + y="773.82727" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-5-9-4-8-8" + width="37.795277" + height="37.795277" + x="453.5434" + y="744.56696" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="464.27512" + y="773.82727" + id="text2687-8-6-7-8-4"><tspan + sodipodi:role="line" + id="tspan2685-7-25-4-4-8" + x="464.27512" + y="773.82727" + style="fill:#0000ff;stroke-width:0.99999994px">0</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-4-32" + width="37.795277" + height="37.795277" + x="604.72443" + y="744.56696" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="615.45612" + y="774.00629" + id="text2687-80-0"><tspan + sodipodi:role="line" + id="tspan2685-4-6" + x="615.45612" + y="774.00629" + style="fill:#0000ff;stroke-width:0.99999994px">1</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-4-32-1" + width="37.795277" + height="37.795277" + x="642.51965" + y="744.56696" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="653.2514" + y="774.00629" + id="text2687-80-0-0"><tspan + sodipodi:role="line" + id="tspan2685-4-6-3" + x="653.2514" + y="774.00629" + style="fill:#0000ff;stroke-width:0.99999994px">1</tspan></text> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect1590-0-4-32-0" + width="37.795277" + height="37.795277" + x="718.11023" + y="744.56696" + ry="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="728.84198" + y="774.00629" + id="text2687-80-0-4"><tspan + sodipodi:role="line" + id="tspan2685-4-6-4" + x="728.84198" + y="774.00629" + style="fill:#0000ff;stroke-width:0.99999994px">1</tspan></text> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:Arial;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="593.80292" + y="566.05176" + id="text5905"><tspan + sodipodi:role="line" + id="tspan5903" + x="593.80292" + y="566.05176" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:'Arial Bold';stroke-width:0.99999994px">...</tspan></text> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32.3691597px;line-height:125%;font-family:Arial;-inkscape-font-specification:Arial;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="653.15906" + y="974.15021" + id="text5909" + transform="scale(0.90621245,1.103494)"><tspan + sodipodi:role="line" + id="tspan5907" + x="653.15906" + y="974.15021" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:'Arial Bold';stroke-width:0.99999994px">...</tspan></text> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="461.64209" + y="613.35718" + id="text5917"><tspan + sodipodi:role="line" + id="tspan5915" + x="461.64209" + y="613.35718" + style="stroke-width:0.99999994px">Memory</tspan></text> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 453.54329,593.38586 v 37.79527" + id="path5940" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 755.9055,1046.9292 v 37.7953" + id="path5940-3" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 755.9055,971.33862 v 37.79528" + id="path5940-1" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 755.9055,933.54334 v 37.79528" + id="path5940-7" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 453.54329,1046.9292 v 37.7953" + id="path5940-5" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 453.54329,971.33862 v 37.79528" + id="path5940-9" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 453.54329,933.54334 v 37.79528" + id="path5940-6" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 453.54329,820.15751 v 37.79528" + id="path5940-2" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 453.54329,782.36224 v 37.79527" + id="path5940-17" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 755.9055,593.38586 v 37.79527" + id="path5940-8" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 755.9055,820.15751 v 37.79528" + id="path5940-57" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 755.9055,782.36224 v 37.79527" + id="path5940-4" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 755.9055,555.59058 v 37.79528" + id="path5940-18" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 453.54329,555.59058 v 37.79528" + id="path5940-59" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:Arial;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="590.2442" + y="820.15747" + id="text5905-6"><tspan + sodipodi:role="line" + id="tspan5903-4" + x="590.2442" + y="820.15747" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:'Arial Bold';stroke-width:0.99999994px">...</tspan></text> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:29.33333397px;line-height:125%;font-family:Arial;-inkscape-font-specification:Arial;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="594.04822" + y="975.1427" + id="text5905-3"><tspan + sodipodi:role="line" + id="tspan5903-3" + x="594.04822" + y="975.1427" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:'Arial Bold';stroke-width:0.99999994px">...</tspan></text> + </g> + <script + ns1:version="14.10-05142318" + id="sozi-script">function namespace(b,d,a){var c=b;d.split(".").forEach(function(e){if(typeof c[e]==="undefined"){c[e]={}}c=c[e]});if(a){a(c,b)}return c}namespace(this,"sozi.events",function(b){var a={};b.listen=function(c,d){if(!a.hasOwnProperty(c)){a[c]=[]}a[c].push(d)};b.fire=function(d){var c=Array.prototype.slice.call(arguments,1);if(a.hasOwnProperty(d)){a[d].forEach(function(e){e.apply(null,c)})}}});namespace(this,"sozi.proto",function(a){a.Object={installConstructors:function(){function b(){}b.prototype=this;this.instance=function(){var c=new b();c.construct.apply(c,arguments);return c};this.subtype=function(d){var c=new b();c.augment(d);c.installConstructors();return c}},construct:function(){},augment:function(c){for(var b in c){if(c.hasOwnProperty(b)){this[b]=c[b]}}return this},bind:function(c){var b=this;return function(){return c.apply(b,arguments)}}};a.Object.installConstructors()});namespace(this,"sozi.actions",function(A,g){var u=namespace(g,"sozi.player");var v=namespace(g,"sozi.display");var n=g.document;var o=0;var w=1;var t=1.05;var y=5;var m=5;var r=false;var i=0;var h=0;function a(C,B,D){u.stop();v.viewPorts.player.zoom(C>0?t:1/t,B,D)}function x(B){u.stop();v.viewPorts.player.rotate(B>0?y:-y)}function s(){if(sozi.framelist.isVisible()){sozi.framelist.hide();u.restart()}else{u.stop();sozi.framelist.show()}}function d(B){return v.viewPorts.player.contains(B.clientX,B.clientY)}function f(B){if(!d(B)){return}if(B.button===o){n.documentElement.addEventListener("mousemove",q,false);r=false;i=B.clientX;h=B.clientY}else{if(B.button===w){s()}}B.stopPropagation();B.preventDefault()}function q(B){if(!d(B)){return}u.stop();if(!r&&(Math.abs(B.clientX-i)>m||Math.abs(B.clientY-h)>m)){r=true}if(r){sozi.events.fire("sozi.player.cleanup");v.viewPorts.player.drag(B.clientX-i,B.clientY-h);i=B.clientX;h=B.clientY}B.stopPropagation()}function c(B){if(!d(B)){return}if(B.button===o){n.documentElement.removeEventListener("mousemove",q,false)}B.stopPropagation();B.preventDefault()}function p(B){if(!d(B)){return}u.moveToPrevious();B.stopPropagation();B.preventDefault()}function e(B){if(!d(B)){return}if(!r&&B.button!==w){u.moveToNext()}B.stopPropagation();B.preventDefault()}function j(B){if(!d(B)){return}if(!B){B=g.event}var C=0;if(B.wheelDelta){C=B.wheelDelta}else{if(B.detail){C=-B.detail}}if(C!==0){if(B.shiftKey){x(C)}else{a(C,B.clientX,B.clientY)}}B.stopPropagation();B.preventDefault()}function l(B){if(B.altKey||B.ctrlKey||B.metaKey){return}switch(B.charCode||B.which){case 43:a(1,g.innerWidth/2,g.innerHeight/2);break;case 45:a(-1,g.innerWidth/2,g.innerHeight/2);break;case 61:u.moveToCurrent();break;case 70:case 102:u.showAll();break;case 84:case 116:s();break;case 82:x(-1);break;case 114:x(1);break;default:return}B.stopPropagation();B.preventDefault()}function b(B){if(B.altKey||B.ctrlKey||B.metaKey){return}switch(B.keyCode){case 36:if(B.shiftKey){u.jumpToFirst()}else{u.moveToFirst()}break;case 35:if(B.shiftKey){u.jumpToLast()}else{u.moveToLast()}break;case 38:case 33:case 37:if(B.shiftKey){u.jumpToPrevious()}else{u.moveToPrevious()}break;case 40:case 34:case 39:case 13:case 32:if(B.shiftKey){u.jumpToNext()}else{u.moveToNext()}break;default:return}B.stopPropagation();B.preventDefault()}function z(B){B.stopPropagation()}function k(){var C=n.getElementsByTagName("a");for(var D=0;D<C.length;D+=1){C[D].addEventListener("click",z,false);C[D].addEventListener("contextmenu",z,false)}var B=n.documentElement;B.addEventListener("click",e,false);B.addEventListener("mousedown",f,false);B.addEventListener("mouseup",c,false);B.addEventListener("contextmenu",p,false);B.addEventListener("DOMMouseScroll",j,false);g.onmousewheel=j;B.addEventListener("keypress",l,false);B.addEventListener("keydown",b,false)}sozi.events.listen("sozi.display.ready",k)});namespace(this,"sozi.animation",function(d,g){var h=g.mozRequestAnimationFrame||g.webkitRequestAnimationFrame||g.msRequestAnimationFrame||g.oRequestAnimationFrame;var k=function(){return g.performance&&g.performance.now?g.performance.now():Date.now()};d.setAnimationFrameHandlers=function(l,m){h=l;k=m};var i=40;var c;var j=[];function e(){if(j.length>0){if(h){h(e)}j.forEach(function(l){l.step(k())})}else{if(!h){g.clearInterval(c)}}}function b(){if(h){h(e)}else{c=g.setInterval(function(){e(k())},i)}}function a(l){j.push(l);if(j.length===1){b()}}function f(l){j.splice(j.indexOf(l),1)}d.Animator=sozi.proto.Object.subtype({construct:function(){this.durationMs=0;this.data=null;this.initialTime=0;this.started=false},start:function(l,m){this.durationMs=l;this.data=m;this.initialTime=k();this.onStep(0);if(!this.started){this.started=true;a(this)}},stop:function(){if(this.started){f(this);this.started=false}},step:function(m){var l=m-this.initialTime;if(l>=this.durationMs){this.stop();this.onStep(1);this.onDone()}else{this.onStep(l/this.durationMs)}},onStep:function(l){},onDone:function(){}});d.profiles={linear:function(l){return l},accelerate:function(l){return Math.pow(l,3)},"strong-accelerate":function(l){return Math.pow(l,5)},decelerate:function(l){return 1-Math.pow(1-l,3)},"strong-decelerate":function(l){return 1-Math.pow(1-l,5)},"accelerate-decelerate":function(l){var m=l<=0.5?l:1-l,n=Math.pow(2*m,3)/2;return l<=0.5?n:1-n},"strong-accelerate-decelerate":function(l){var m=l<=0.5?l:1-l,n=Math.pow(2*m,5)/2;return l<=0.5?n:1-n},"decelerate-accelerate":function(l){var m=l<=0.5?l:1-l,n=(1-Math.pow(1-2*m,2))/2;return l<=0.5?n:1-n},"strong-decelerate-accelerate":function(l){var m=l<=0.5?l:1-l,n=(1-Math.pow(1-2*m,3))/2;return l<=0.5?n:1-n},"immediate-beginning":function(l){return 1},"immediate-end":function(l){return l===1?1:0},"immediate-middle":function(l){return l>=0.5?1:0}}});namespace(this,"sozi.display",function(c,g){var f="http://www.w3.org/2000/svg";var b="http://www.w3.org/1999/xlink";var i=g.document;var k;var h;var j;c.viewPorts={};var e;c.CameraState=sozi.proto.Object.subtype({construct:function(){this.cx=this.cy=0;this.width=this.height=1;this.angle=0;this.clipped=true;this.transitionZoomPercent=0;this.transitionProfile=sozi.animation.profiles.linear;this.transitionPath=null},setCenter:function(l,m){this.cx=l;this.cy=m;return this},setSize:function(m,l){this.width=m;this.height=l;return this},setClipped:function(l){this.clipped=l;return this},setAngle:function(l){this.angle=(l+180)%360-180;return this},setRawAngle:function(l){this.angle=l;return this},setTransitionZoomPercent:function(l){this.transitionZoomPercent=l;return this},setTransitionProfile:function(l){this.transitionProfile=l;return this},setTransitionPath:function(l){this.transitionPath=l;return this},setAtElement:function(p){var s,o,t,m;if(p.nodeName==="rect"){s=p.x.baseVal.value;o=p.y.baseVal.value;t=p.width.baseVal.value;m=p.height.baseVal.value}else{var q=p.getBBox();s=q.x;o=q.y;t=q.width;m=q.height}var n=i.documentElement.createSVGPoint();n.x=s+t/2;n.y=o+m/2;var r=p.getCTM();n=n.matrixTransform(r);var l=Math.sqrt(r.a*r.a+r.b*r.b);return this.setCenter(n.x,n.y).setSize(t*l,m*l).setAngle(Math.atan2(r.b,r.a)*180/Math.PI)},setAtState:function(l){return this.setCenter(l.cx,l.cy).setSize(l.width,l.height).setAngle(l.angle).setClipped(l.clipped).setTransitionZoomPercent(l.transitionZoomPercent).setTransitionProfile(l.transitionProfile).setTransitionPath(l.transitionPath)},interpolatableAttributes:["width","height","angle"],interpolate:function(n,o,t,v,r){var p=1-t;for(var q=0;q<this.interpolatableAttributes.length;q+=1){var s=this.interpolatableAttributes[q];this[s]=o[s]*t+n[s]*p}var l=r?n.transitionPath:o.transitionPath;if(v&&l){var x=l.getTotalLength();if(r){var m=l.getPointAtLength(x);var u=l.getPointAtLength(0);var w=l.getPointAtLength(x*p)}else{var m=l.getPointAtLength(0);var u=l.getPointAtLength(x);var w=l.getPointAtLength(x*t)}this.cx=w.x+(o.cx-u.x)*t+(n.cx-m.x)*p;this.cy=w.y+(o.cy-u.y)*t+(n.cy-m.y)*p}else{this.cx=o.cx*t+n.cx*p;this.cy=o.cy*t+n.cy*p}}});c.Camera=c.CameraState.subtype({construct:function(n,o){c.CameraState.construct.call(this);this.viewPort=n;this.svgClipRect=i.createElementNS(f,"rect");var m=i.createElementNS(f,"clipPath");m.setAttribute("id","sozi-clip-path-"+n.id+"-"+o);m.appendChild(this.svgClipRect);n.svgGroup.appendChild(m);var l=i.createElementNS(f,"g");l.setAttribute("clip-path","url(#sozi-clip-path-"+n.id+"-"+o+")");n.svgGroup.appendChild(l);if(n.isPrimary){this.svgLayer=i.createElementNS(f,"g");this.svgLayer.appendChild(i.getElementById(o))}else{this.svgLayer=i.createElementNS(f,"use");this.svgLayer.setAttributeNS(b,"href","#"+o)}l.appendChild(this.svgLayer)},setAtState:function(l){return c.CameraState.setAtState.call(this,l).update()},getScale:function(){return Math.min(this.viewPort.width/this.width,this.viewPort.height/this.height)},rotate:function(l){return this.setAngle(this.angle+l).update()},zoom:function(m,l,n){return this.setSize(this.width/m,this.height/m).drag((1-m)*(l-this.viewPort.width/2),(1-m)*(n-this.viewPort.height/2))},drag:function(m,l){var q=this.getScale();var o=this.angle*Math.PI/180;var n=Math.sin(o);var p=Math.cos(o);return this.setCenter(this.cx-(m*p-l*n)/q,this.cy-(m*n+l*p)/q).setClipped(false).update()},update:function(){var q=this.getScale();var n=this.width*q;var m=this.height*q;var l=(this.viewPort.width-n)/2;var r=(this.viewPort.height-m)/2;this.svgClipRect.setAttribute("x",this.clipped?l:0);this.svgClipRect.setAttribute("y",this.clipped?r:0);this.svgClipRect.setAttribute("width",this.clipped?n:this.viewPort.width);this.svgClipRect.setAttribute("height",this.clipped?m:this.viewPort.height);var p=-this.cx+this.width/2+l/q;var o=-this.cy+this.height/2+r/q;this.svgLayer.setAttribute("transform","scale("+q+")translate("+p+","+o+")rotate("+(-this.angle)+","+this.cx+","+this.cy+")");return this}});c.ViewPort=sozi.proto.Object.subtype({construct:function(n,m,l){this.id=n;c.viewPorts[n]=this;this.isPrimary=!!l;if(this.isPrimary){if(e){throw"Failed to create a primary viewport. A primary viewport already exists."}else{e=this}}this.svgGroup=i.createElementNS(f,"g");this.svgGroup.setAttribute("class","sozi-viewport");this.svgGroup.setAttribute("id","sozi-viewport-"+n);i.documentElement.appendChild(this.svgGroup);this.setLocation(0,0).setSize(g.innerWidth,g.innerHeight);this.cameras={};m.forEach(function(o){this.cameras[o]=c.Camera.instance(this,o)},this)},setSize:function(m,l){this.width=m;this.height=l;return this},setLocation:function(l,m){this.x=l;this.y=m;return this},contains:function(l,m){return l>=this.x&&l<this.x+this.width&&m>=this.y&&m<this.y+this.height},getDocumentState:function(){var m=c.CameraState.instance().setCenter(k.x+k.width/2,k.y+k.height/2).setSize(k.width,k.height).setClipped(false);var l={};for(var n in this.cameras){l[n]=m}return l},update:function(){this.svgGroup.setAttribute("transform","translate("+this.x+","+this.y+")");for(var l in this.cameras){this.cameras[l].update()}return this},showFrame:function(l){for(var m in l.states){this.cameras[m].setAtState(l.states[m])}return this},drag:function(m,l){for(var n in this.cameras){this.cameras[n].drag(m,l)}return this},zoom:function(m,l,o){for(var n in this.cameras){this.cameras[n].zoom(m,l,o)}return this},rotate:function(l){for(var m in this.cameras){this.cameras[m].rotate(l)}return this},onWindowResize:function(m,l){this.setLocation(this.x*m,this.y*l).setSize(this.width*m,this.height*l).update()}});function d(){var l=i.documentElement;k=l.getBBox();h=g.innerWidth;j=g.innerHeight;l.setAttribute("width",h);l.setAttribute("height",j);sozi.events.fire("sozi.display.ready")}function a(){var l=i.documentElement;l.setAttribute("width",g.innerWidth);l.setAttribute("height",g.innerHeight);for(var m in c.viewPorts){c.viewPorts[m].onWindowResize(g.innerWidth/h,g.innerHeight/j)}h=g.innerWidth;j=g.innerHeight}sozi.events.listen("sozi.document.ready",d);g.addEventListener("resize",a,false)});namespace(this,"sozi.document",function(c,e){var g=e.document;var b="http://sozi.baierouge.fr";var d={title:"Untitled",sequence:"0",hide:"true",clip:"true","show-in-frame-list":"true","timeout-enable":"false","timeout-ms":"5000","transition-duration-ms":"1000","transition-zoom-percent":"0","transition-profile":"linear","transition-path-hide":"true"};var h=["g","image","path","rect","circle","ellipse","line","polyline","polygon","text","clippath"];c.frames=[];c.idLayerList=[];function j(l,k){return l.getAttributeNS(b,k)||d[k]}function i(o,p,k){var l=o.states[p]=o.states[p]||sozi.display.CameraState.instance();if(typeof l.transitionZoomPercent==="undefined"||k.hasAttributeNS(b,"transition-zoom-percent")){l.setTransitionZoomPercent(parseInt(j(k,"transition-zoom-percent"),10))}if(typeof l.transitionProfile==="undefined"||k.hasAttributeNS(b,"transition-profile")){l.setTransitionProfile(sozi.animation.profiles[j(k,"transition-profile")])}if(typeof l.transitionPath==="undefined"||k.hasAttributeNS(b,"transition-path")){var n=g.getElementById(k.getAttributeNS(b,"transition-path"));if(n&&n.nodeName==="path"){l.setTransitionPath(n);if(j(k,"transition-path-hide")==="true"){n.style.visibility="hidden"}}}if(k.hasAttributeNS(b,"refid")){var m=g.getElementById(k.getAttributeNS(b,"refid"));if(m){l.setAtElement(m);if(j(k,"hide")==="true"){m.style.visibility="hidden"}}}if(k.hasAttributeNS(b,"clip")){l.setClipped(j(k,"clip")==="true")}}function a(){var l=[];var p=g.getElementsByTagNameNS(b,"layer");for(var n=0;n<p.length;n+=1){var s=p[n].getAttributeNS(b,"group");if(s&&l.indexOf(s)===-1){l.push(s)}}var r=g.documentElement;var o="http://www.w3.org/2000/svg";var q=g.createElementNS(o,"g");var k=Array.prototype.slice.call(r.childNodes);k.forEach(function(u,t){if(!u.getAttribute){r.removeChild(u)}else{if(l.indexOf(u.getAttribute("id"))!==-1){if(q.firstChild){q.setAttribute("id","sozi-wrapper-"+t);c.idLayerList.push("sozi-wrapper-"+t);r.insertBefore(q,u);q=g.createElementNS(o,"g")}c.idLayerList.push(u.getAttribute("id"))}else{if(h.indexOf(u.localName.toLowerCase())!==-1){r.removeChild(u);q.appendChild(u)}}}});if(q.firstChild){q.setAttribute("id","sozi-wrapper-"+k.length);c.idLayerList.push("sozi-wrapper-"+k.length);r.appendChild(q)}var m=Array.prototype.slice.call(g.getElementsByTagNameNS(b,"frame"));m.sort(function(u,t){var w=parseInt(j(u,"sequence"),10);var v=parseInt(j(t,"sequence"),10);return w-v});m.forEach(function(v,u){var x={id:v.getAttribute("id"),title:j(v,"title"),showInFrameList:j(v,"show-in-frame-list")==="true",sequence:parseInt(j(v,"sequence"),10),timeoutEnable:j(v,"timeout-enable")==="true",timeoutMs:parseInt(j(v,"timeout-ms"),10),transitionDurationMs:parseInt(j(v,"transition-duration-ms"),10),states:{}};c.idLayerList.forEach(function(A){if(u===0||A.search("sozi-wrapper-[0-9]+")!==-1){i(x,A,v)}else{var z=x.states[A]=sozi.display.CameraState.instance();var y=c.frames[c.frames.length-1].states[A];z.setAtState(y)}});var t=Array.prototype.slice.call(v.getElementsByTagNameNS(b,"layer"));t.forEach(function(y){var z=y.getAttributeNS(b,"group");if(z&&c.idLayerList.indexOf(z)!==-1){i(x,z,y)}});for(var w in x.states){if(x.states.hasOwnProperty(w)){c.frames.push(x);break}}})}c.getFrameIndexForId=function(l){for(var k=0;k<c.frames.length;k+=1){if(c.frames[k].id===l){return k}}return -1};function f(){g.documentElement.removeAttribute("viewBox");a();sozi.events.fire("sozi.document.ready")}e.addEventListener("load",f,false)});namespace(this,"sozi.framelist",function(u,k){var o=k.document;var c=5;var i;var p;var j=0;var h;var s;var b;var v;var w;var t;var e=300;var f="decelerate";var a="http://www.w3.org/2000/svg";function n(z){var x=z.relatedTarget,y=o.documentElement;while(x&&x!==i&&x!==y){x=x.parentNode}if(x!==i){u.hide();sozi.player.restart();z.stopPropagation()}}function r(y){var x=p.getCTM().f;if(x<=-k.innerHeight/2){x+=k.innerHeight/2}else{if(x<0){x=0}}p.setAttribute("transform","translate(0,"+x+")");y.stopPropagation()}function d(y){var x=p.getCTM().f;if(x+j>=k.innerHeight*3/2){x-=k.innerHeight/2}else{if(x+j>k.innerHeight+2*c){x=k.innerHeight-j-4*c}}p.setAttribute("transform","translate(0,"+x+")");y.stopPropagation()}function g(x){return function(y){sozi.player.previewFrame(x);y.stopPropagation()}}function l(x){x.stopPropagation()}function q(){i=o.createElementNS(a,"g");i.setAttribute("id","sozi-toc");o.documentElement.appendChild(i);p=o.createElementNS(a,"g");i.appendChild(p);var y=o.createElementNS(a,"rect");y.setAttribute("id","sozi-toc-background");y.setAttribute("x",c);y.setAttribute("y",c);y.setAttribute("rx",c);y.setAttribute("ry",c);y.addEventListener("click",l,false);y.addEventListener("mousedown",l,false);y.addEventListener("mouseout",n,false);p.appendChild(y);var A=0;sozi.document.frames.forEach(function(D,E){if(D.showInFrameList){var C=o.createElementNS(a,"text");C.appendChild(o.createTextNode(D.title));C.setAttribute("id","sozi-toc-"+D.id);p.appendChild(C);if(E===sozi.player.currentFrameIndex){C.setAttribute("class","sozi-toc-current")}var B=C.getBBox().width;j+=C.getBBox().height;if(B>A){A=B}C.setAttribute("x",2*c);C.setAttribute("y",j+c);C.addEventListener("click",g(E),false);C.addEventListener("mousedown",l,false)}});var x=o.createElementNS(a,"path");x.setAttribute("class","sozi-toc-arrow");x.setAttribute("d","M"+(A+3*c)+","+(5*c)+" l"+(4*c)+",0 l-"+(2*c)+",-"+(3*c)+" z");x.addEventListener("click",r,false);x.addEventListener("mousedown",l,false);i.appendChild(x);var z=o.createElementNS(a,"path");z.setAttribute("class","sozi-toc-arrow");z.setAttribute("d","M"+(A+3*c)+","+(7*c)+" l"+(4*c)+",0 l-"+(2*c)+","+(3*c)+" z");z.addEventListener("click",d,false);z.addEventListener("mousedown",l,false);i.appendChild(z);y.setAttribute("width",A+7*c);y.setAttribute("height",j+2*c);h=-A-9*c;s=0;w=v=h;i.setAttribute("transform","translate("+h+",0)");t=sozi.animation.Animator.instance().augment({onStep:function(B){var D=sozi.animation.profiles[f](B),C=1-D;w=v*D+b*C;i.setAttribute("transform","translate("+w+",0)")}})}function m(x){var y=Array.prototype.slice.call(o.getElementsByClassName("sozi-toc-current"));y.forEach(function(A){A.removeAttribute("class")});var z=sozi.document.frames[x];if(z.showInFrameList){o.getElementById("sozi-toc-"+z.id).setAttribute("class","sozi-toc-current")}}u.show=function(){o.documentElement.appendChild(i);b=w;v=s;t.start(e)};u.hide=function(){b=w;v=h;t.start(e)};u.isVisible=function(){return v===s};sozi.events.listen("sozi.player.ready",q);sozi.events.listen("sozi.player.cleanup",u.hide);sozi.events.listen("sozi.player.framechange",m)});namespace(this,"sozi.framenumber",function(a,d){var g=d.document;var e;var k,i;var f;var b="http://www.w3.org/2000/svg";function h(){var m=k.getBBox(),n=Math.max(m.width,m.height)*0.75,l=n*1.25;f.setAttribute("r",n);e.setAttribute("transform","translate("+l+","+l+")")}function c(){e=g.createElementNS(b,"g");k=g.createElementNS(b,"text");f=g.createElementNS(b,"circle");e.setAttribute("id","sozi-framenumber");f.setAttribute("cx",0);f.setAttribute("cy",0);e.appendChild(f);i=g.createTextNode(sozi.player.currentFrameIndex+1);k.setAttribute("text-anchor","middle");k.setAttribute("dominant-baseline","central");k.setAttribute("x",0);k.setAttribute("y",0);k.appendChild(i);e.appendChild(k);g.documentElement.appendChild(e);h()}function j(l){i.nodeValue=l+1}sozi.events.listen("sozi.player.ready",c);sozi.events.listen("sozi.player.framechange",j)});namespace(this,"sozi.links",function(c,e){var b="http://www.w3.org/2000/svg";var a="http://www.w3.org/1999/xlink";function f(g){return function(h){sozi.player.moveToFrame(g);h.preventDefault();h.stopPropagation()}}function d(){var h=e.document.getElementsByTagNameNS(b,"a");for(var j=0;j<h.length;j+=1){var g=h[j].getAttributeNS(a,"href");if(g&&g[0]==="#"){h[j].addEventListener("click",f(sozi.location.getFrameIndexForHash(g)),false)}}}sozi.events.listen("sozi.document.ready",d)});namespace(this,"sozi.location",function(a,d){var b=false;a.getFrameIndex=function(){return a.getFrameIndexForHash(d.location.hash)};a.getFrameIndexForHash=function(g){var h=g?g.slice(1):"1";var f;if(/^[0-9]+$/.test(h)){f=parseInt(h,10)-1}else{f=sozi.document.getFrameIndexForId(h)}if(f<0){return 0}else{if(f>=sozi.document.frames.length){return sozi.document.frames.length-1}else{return f}}};function e(){var f=a.getFrameIndex();if(!b){sozi.player.moveToFrame(f)}b=false}function c(f){b=true;d.location.hash="#"+sozi.document.frames[f].id}d.addEventListener("hashchange",e,false);sozi.events.listen("sozi.player.framechange",c)});namespace(this,"sozi.player",function(d,g){var l;var c;var i;var e=500;var n=-10;var j="linear";var f=0;d.currentFrameIndex=0;var k=false;var m=false;function h(){if(sozi.document.frames[d.currentFrameIndex].timeoutEnable){m=true;var o=(d.currentFrameIndex+1)%sozi.document.frames.length;i=g.setTimeout(function(){d.moveToFrame(o)},sozi.document.frames[d.currentFrameIndex].timeoutMs)}}d.startFromIndex=function(o){k=true;m=false;f=o;d.currentFrameIndex=o;l.showFrame(sozi.document.frames[o]);h()};d.restart=function(){d.startFromIndex(d.currentFrameIndex)};d.stop=function(){c.stop();if(m){g.clearTimeout(i);m=false}k=false;f=d.currentFrameIndex};function b(o,y,w){var z={ss:((o<0)?Math.max(y,w):Math.min(y,w))*(100-o)/100,ts:0.5,k:0};if(o!==0){var s=y-w;var r=y-z.ss;var q=w-z.ss;if(s!==0){var p=Math.sqrt(r*q);var x=(r-p)/s;var t=(r+p)/s;z.ts=(x>0&&x<=1)?x:t}z.k=r/z.ts/z.ts}return z}d.jumpToFrame=function(o){d.stop();sozi.events.fire("sozi.player.cleanup");f=o;d.currentFrameIndex=o;l.showFrame(sozi.document.frames[o]);sozi.events.fire("sozi.player.framechange",o)};d.getAnimationData=function(o,q,s,p,v,t){var r={};for(var w in o){r[w]={initialState:sozi.display.CameraState.instance(),finalState:sozi.display.CameraState.instance(),useTransitionPath:v,reverseTransitionPath:t};r[w].profile=p||q[w].transitionProfile;r[w].initialState.setAtState(o[w]);if(q.hasOwnProperty(w)){r[w].finalState.setAtState(q[w])}else{r[w].finalState.setAtState(o[w])}if(r[w].finalState.angle-r[w].initialState.angle>180){r[w].finalState.setRawAngle(r[w].finalState.angle-360)}else{if(r[w].finalState.angle-r[w].initialState.angle<-180){r[w].initialState.setRawAngle(r[w].initialState.angle-360)}}var u=s||q[w].transitionZoomPercent;if(u&&q.hasOwnProperty(w)){r[w].zoomWidth=b(u,o[w].width,q[w].width);r[w].zoomHeight=b(u,o[w].height,q[w].height)}}return r};d.previewFrame=function(o){d.currentFrameIndex=o;c.start(e,d.getAnimationData(l.cameras,sozi.document.frames[o].states,n,sozi.animation.profiles[j]),false,false);sozi.events.fire("sozi.player.framechange",o)};d.moveToFrame=function(r){if(m){g.clearTimeout(i);m=false}var q,t,s,p,o;if(r===(d.currentFrameIndex-1)%sozi.document.frames.length){q=sozi.document.frames[d.currentFrameIndex].transitionDurationMs;t=undefined;s=undefined;p=true;o=true}else{if(r===(d.currentFrameIndex+1)%sozi.document.frames.length){q=sozi.document.frames[r].transitionDurationMs;t=undefined;s=undefined;p=true;o=false}else{q=e;t=n;s=sozi.animation.profiles[j];p=false;o=false}}sozi.events.fire("sozi.player.cleanup");k=true;d.currentFrameIndex=r;c.start(q,d.getAnimationData(l.cameras,sozi.document.frames[r].states,t,s,p,o));sozi.events.fire("sozi.player.framechange",r)};d.jumpToFirst=function(){d.jumpToFrame(0)};d.moveToFirst=function(){d.moveToFrame(0)};d.jumpToPrevious=function(){var o=d.currentFrameIndex;if(!c.started||f<=d.currentFrameIndex){o-=1}if(o>=0){d.jumpToFrame(o)}};d.moveToPrevious=function(){for(var o=d.currentFrameIndex-1;o>=0;o-=1){var p=sozi.document.frames[o];if(!p.timeoutEnable||p.timeoutMs!==0){d.moveToFrame(o);break}}};d.jumpToNext=function(){var o=d.currentFrameIndex;if(!c.started||f>=d.currentFrameIndex){o+=1}if(o<sozi.document.frames.length){d.jumpToFrame(o)}};d.moveToNext=function(){if(d.currentFrameIndex<sozi.document.frames.length-1||sozi.document.frames[d.currentFrameIndex].timeoutEnable){d.moveToFrame((d.currentFrameIndex+1)%sozi.document.frames.length)}};d.jumpToLast=function(){d.jumpToFrame(sozi.document.frames.length-1)};d.moveToLast=function(){d.moveToFrame(sozi.document.frames.length-1)};d.moveToCurrent=function(){d.moveToFrame(d.currentFrameIndex)};d.showAll=function(){d.stop();sozi.events.fire("sozi.player.cleanup");c.start(e,d.getAnimationData(l.cameras,l.getDocumentState(),n,sozi.animation.profiles[j],false,false))};function a(){l=sozi.display.ViewPort.instance("player",sozi.document.idLayerList,true);d.startFromIndex(sozi.location.getFrameIndex());g.setTimeout(l.bind(l.update),1);sozi.events.fire("sozi.player.ready")}d.onAnimationStep=function(o,q){for(var s in q){var p=l.cameras[s];p.interpolate(q[s].initialState,q[s].finalState,q[s].profile(o),q[s].useTransitionPath,q[s].reverseTransitionPath);var r;if(q[s].zoomWidth&&q[s].zoomWidth.k!==0){r=o-q[s].zoomWidth.ts;p.width=q[s].zoomWidth.k*r*r+q[s].zoomWidth.ss}if(q[s].zoomHeight&&q[s].zoomHeight.k!==0){r=o-q[s].zoomHeight.ts;p.height=q[s].zoomHeight.k*r*r+q[s].zoomHeight.ss}p.setClipped(q[s].finalState.clipped)}l.update()};c=sozi.animation.Animator.instance().augment({onStep:function(o){d.onAnimationStep(o,this.data)},onDone:function(){for(var o in this.data){l.cameras[o].setAtState(this.data[o].finalState)}l.update();f=d.currentFrameIndex;if(k){h()}}});sozi.events.listen("sozi.display.ready",a)});</script> + <style + ns1:version="14.10-05142318" + id="sozi-style">#sozi-toc text{fill:#eff;font-family:Verdana,sans-serif;font-size:12pt}#sozi-toc text:hover{fill:#0cf;cursor:pointer}#sozi-toc text.sozi-toc-current{fill:#fa4}#sozi-toc-background{stroke:#222;stroke-opacity:.1;stroke-width:10;fill:#222;fill-opacity:.9}.sozi-toc-arrow{fill:#eff;fill-opacity:.75;stroke:none}.sozi-toc-arrow:hover{fill:#0cf}#sozi-framenumber circle{stroke:#222;stroke-opacity:.1;stroke-width:4;fill:#222;fill-opacity:.9}#sozi-framenumber text{fill:#eff;font-family:Verdana,sans-serif;font-size:12pt}</style> + <ns1:frame + ns1:transition-path-hide="true" + ns1:transition-profile="linear" + ns1:transition-zoom-percent="0.0" + ns1:transition-duration-ms="1000.0" + ns1:timeout-ms="5000.0" + ns1:timeout-enable="false" + ns1:show-in-frame-list="true" + ns1:clip="true" + ns1:hide="true" + ns1:sequence="1" + ns1:title="Gcd implementation" + ns1:refid="rect10351" /> + <ns1:frame + ns1:refid="rect10841" + ns1:title="Gcd maven packaging" + ns1:sequence="2" + ns1:hide="true" + ns1:clip="true" + ns1:show-in-frame-list="true" + ns1:timeout-enable="false" + ns1:timeout-ms="5000.0" + ns1:transition-duration-ms="1000.0" + ns1:transition-zoom-percent="0.0" + ns1:transition-profile="linear" + ns1:transition-path-hide="true" /> + <ns1:frame + ns1:transition-path-hide="true" + ns1:transition-profile="linear" + ns1:transition-zoom-percent="0.0" + ns1:transition-duration-ms="1000.0" + ns1:timeout-ms="5000.0" + ns1:timeout-enable="false" + ns1:show-in-frame-list="true" + ns1:clip="true" + ns1:hide="true" + ns1:sequence="3" + ns1:title="Using Math.getGcd()" + ns1:refid="rect11089" /> + <ns1:frame + ns1:refid="rect11381" + ns1:title="Fraction project" + ns1:sequence="4" + ns1:hide="true" + ns1:clip="true" + ns1:show-in-frame-list="true" + ns1:timeout-enable="false" + ns1:timeout-ms="5000.0" + ns1:transition-duration-ms="1000.0" + ns1:transition-zoom-percent="0.0" + ns1:transition-profile="linear" + ns1:transition-path-hide="true" /> + <ns1:frame + ns1:transition-path-hide="true" + ns1:transition-profile="linear" + ns1:transition-zoom-percent="0.0" + ns1:transition-duration-ms="1000.0" + ns1:timeout-ms="5000.0" + ns1:timeout-enable="false" + ns1:show-in-frame-list="true" + ns1:clip="true" + ns1:hide="true" + ns1:sequence="5" + ns1:title="Maven dependency definition" + ns1:refid="rect11637" /> + <ns1:frame + ns1:refid="rect11895" + ns1:title="Fraction depends on Gcd" + ns1:sequence="6" + ns1:hide="true" + ns1:clip="true" + ns1:show-in-frame-list="true" + ns1:timeout-enable="false" + ns1:timeout-ms="5000" + ns1:transition-duration-ms="1000" + ns1:transition-zoom-percent="0" + ns1:transition-profile="linear" + ns1:transition-path-hide="true" /> +</svg> diff --git a/Doc/Sd1/gettingStarted.xml b/Doc/Sd1/gettingStarted.xml index eabc064c25280747e65bbf84512906e90ce6daa3..d98e2e2bc83a8636701c64cf8e76376da469291e 100644 --- a/Doc/Sd1/gettingStarted.xml +++ b/Doc/Sd1/gettingStarted.xml @@ -128,11 +128,11 @@ program's memory management:</para> <para><link - xlink:href="https://prog.mi.hdm-stuttgart.de/java_visualize">http://prog.mi.hdm-stuttgart.de/java_visualize</link></para> + xlink:href="https://prog.mi.hdm-stuttgart.de/java_visualize/visualize.html">http://prog.mi.hdm-stuttgart.de/java_visualize/visualize.html</link></para> <para>Credits to <link - xlink:href="https://github.com/daveagp/java_visualize/blob/master/README">David - Pritchard</link>.</para> + xlink:href="https://github.com/pgbovine/OnlinePythonTutor/graphs/contributors">David + Pritchard et. alt</link>.</para> </glossdef> </glossentry> diff --git a/Doc/Sd1/languageFundamentals.xml b/Doc/Sd1/languageFundamentals.xml index 081363a136870043c3496701f2a18c4c0737100e..cb30af52efc160ee94f8f9f6065085f9522f124a 100644 --- a/Doc/Sd1/languageFundamentals.xml +++ b/Doc/Sd1/languageFundamentals.xml @@ -2,7 +2,9 @@ <chapter annotations="slide" version="5.0" xml:id="sw1LanguageFundamental" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes" xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:trans="http://docbook.org/ns/transclusion" xmlns:svg="http://www.w3.org/2000/svg" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" @@ -242,6 +244,19 @@ <section xml:id="sd1_sect_variables"> <title>Variables</title> + <para>Variables are convenient handles for accessing memory. We don't need + to mess with memory addresses:</para> + + <figure xml:id="sd1_fig_varMemoryHandle"> + <title>Handle to memory</title> + + <mediaobject> + <imageobject> + <imagedata fileref="Ref/LangFundament/variableToMemory.svg"/> + </imageobject> + </mediaobject> + </figure> + <para>Declaring a variable requires a type name like <code>double</code> and an identifier:</para> @@ -270,7 +285,7 @@ System.out.println(pi * 2.0. * 2.0);</programlisting> <glosslist> <glossentry> - <glossterm>Separating declaration and initialization</glossterm> + <glossterm>Separate declaration and initialization</glossterm> <glossdef> <programlisting language="java">double pi; // Declaration of variable pi @@ -280,7 +295,7 @@ pi = 3.1415926; // Value assignment</programlisting> </glossentry> <glossentry> - <glossterm>Combining declaration and initialization</glossterm> + <glossterm>Combined declaration and initialization</glossterm> <glossdef> <programlisting language="java">double pi = 3.1415926;</programlisting> @@ -289,6 +304,180 @@ pi = 3.1415926; // Value assignment</programlisting> </glosslist> </figure> + <figure xml:id="sd1_fig_varMultiple"> + <title>Multiple variables of same type</title> + + <programlisting language="java">int a; +int b = 22; +int c;</programlisting> + + <para>is equivalent to either of:</para> + + <informaltable border="1"> + <tr> + <th>Compact</th> + + <th>Multiple lines</th> + </tr> + + <tr> + <td valign="top"><programlisting language="java">int a, b = 22, c; </programlisting></td> + + <td valign="top"><programlisting language="java">int a, + b = 22, + c;</programlisting></td> + </tr> + </informaltable> + </figure> + + <figure xml:id="sd1_fig_varNameConventions"> + <title>Variable naming conventions</title> + + <itemizedlist> + <listitem> + <para>Start with a small letter like <code>africa</code> rather than + <code>Africa</code>.</para> + </listitem> + + <listitem> + <para>Use <quote>camel case</quote> e.g. + <code>myFirstCode</code>.</para> + + <mediaobject> + <imageobject> + <imagedata fileref="Ref/LangFundament/camelCase.svg"/> + </imageobject> + </mediaobject> + </listitem> + + <listitem> + <para>Do not start with <code>_</code> or <code>$</code>.</para> + </listitem> + </itemizedlist> + </figure> + + <figure xml:id="sd1_fig_varFinal"> + <title>Constants</title> + + <programlisting language="java">final double pi = 3.1415926; +... +pi = 1.0; // Compile time error: Constant cannot be modified</programlisting> + </figure> + + <figure xml:id="sd1_fig_legalVariableName"> + <title>Variable names</title> + + <para>A variable</para> + + <informaltable border="1"> + <tr> + <td><itemizedlist> + <listitem> + <para>Starts with a letter</para> + </listitem> + + <listitem> + <para>May be followed by letters or digits</para> + </listitem> + + <listitem> + <para>Must not match:</para> + + <itemizedlist> + <listitem> + <para>a <xref linkend="glo_Java"/> keyword</para> + </listitem> + + <listitem> + <para>a boolean literal</para> + </listitem> + + <listitem> + <para>The <code>null</code> literal</para> + </listitem> + </itemizedlist> + </listitem> + </itemizedlist></td> + + <td><glosslist> + <glossentry> + <glossterm>Legal</glossterm> + + <glossdef> + <itemizedlist> + <listitem> + <para>$test</para> + </listitem> + + <listitem> + <para>count</para> + </listitem> + + <listitem> + <para>blue</para> + </listitem> + </itemizedlist> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>Illegal</glossterm> + + <glossdef> + <itemizedlist> + <listitem> + <para>2sad</para> + </listitem> + + <listitem> + <para>switch</para> + </listitem> + + <listitem> + <para>true</para> + </listitem> + </itemizedlist> + </glossdef> + </glossentry> + </glosslist></td> + </tr> + </informaltable> + </figure> + + <figure xml:id="sd1_fig_varCaseSensitive"> + <title>Case sensitivity</title> + + <para>Variable names are case sensitive:</para> + + <programlisting language="java">int count = 32; +int Count = 44; +System.out.println(count + ":" + Count); // This yields "32:44"</programlisting> + </figure> + + <figure xml:id="sd1_fig_varDeclareBeforeUse"> + <title>Declare before use</title> + + <glosslist> + <glossentry> + <glossterm>Correct:</glossterm> + + <glossdef> + <programlisting language="java">double f; +f = -4.55;</programlisting> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>Wrong</glossterm> + + <glossdef> + <programlisting language="java">f = -4.55; +double f;</programlisting> + </glossdef> + </glossentry> + </glosslist> + </figure> + <figure xml:id="sd1_fig_typeSafety"> <title>Type safety</title> @@ -301,6 +490,207 @@ i = b; // Error: int and boolean are incompatible types i = "Hello"; // Even worse: Assigning a String to an int</programlisting> </figure> + <para><xref linkend="glo_Java"/> provides meta information on + types:</para> + + <figure xml:id="sd1_fig_intTypeMaxMin"> + <title>Maximum and minimum values</title> + + <informaltable border="1"> + <tr> + <th>Type</th> + + <th>Bytes</th> + + <th>Min value</th> + + <th>Max value</th> + </tr> + + <tr> + <td>byte</td> + + <td><link + xlink:href="https://docs.oracle.com/javase/8/docs/api/java/lang/Byte.html#BYTES">1</link></td> + + <td><link + xlink:href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Byte.MIN_VALUE"><inlineequation> + <m:math display="inline"> + <m:mrow> + <m:mo>-</m:mo> + + <m:msup> + <m:mi>2</m:mi> + + <m:mi>7</m:mi> + </m:msup> + </m:mrow> + </m:math> + </inlineequation></link></td> + + <td><link + xlink:href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Byte.MAX_VALUE"><inlineequation> + <m:math display="inline"> + <m:mrow> + <m:msup> + <m:mi>2</m:mi> + + <m:mi>7</m:mi> + </m:msup> + + <m:mo>-</m:mo> + + <m:mi>1</m:mi> + </m:mrow> + </m:math> + </inlineequation></link></td> + </tr> + + <tr> + <td>char</td> + + <td><link + xlink:href="https://docs.oracle.com/javase/8/docs/api/java/lang/Byte.html#BYTES">2</link></td> + + <td>0</td> + + <td><link + xlink:href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Character.MAX_VALUE"><inlineequation> + <m:math display="inline"> + <m:mrow> + <m:msup> + <m:mi>2</m:mi> + + <m:mi>16</m:mi> + </m:msup> + + <m:mo>-</m:mo> + + <m:mi>1</m:mi> + </m:mrow> + </m:math> + </inlineequation></link></td> + </tr> + + <tr> + <td>short</td> + + <td><link + xlink:href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Short.BYTES">2</link></td> + + <td><link + xlink:href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Short.MIN_VALUE"><inlineequation> + <m:math display="inline"> + <m:mrow> + <m:mo>-</m:mo> + + <m:msup> + <m:mi>2</m:mi> + + <m:mi>15</m:mi> + </m:msup> + </m:mrow> + </m:math> + </inlineequation></link></td> + + <td><link + xlink:href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Short.MAX_VALUE"><inlineequation> + <m:math display="inline"> + <m:mrow> + <m:msup> + <m:mi>2</m:mi> + + <m:mi>15</m:mi> + </m:msup> + + <m:mo>-</m:mo> + + <m:mi>1</m:mi> + </m:mrow> + </m:math> + </inlineequation></link></td> + </tr> + + <tr> + <td>int</td> + + <td><link + xlink:href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Integer.BYTES">4</link></td> + + <td><link + xlink:href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Integer.MIN_VALUE"><inlineequation> + <m:math display="inline"> + <m:mrow> + <m:mo>-</m:mo> + + <m:msup> + <m:mi>2</m:mi> + + <m:mi>31</m:mi> + </m:msup> + </m:mrow> + </m:math> + </inlineequation></link></td> + + <td><link + xlink:href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Integer.MAX_VALUE"><inlineequation> + <m:math display="inline"> + <m:mrow> + <m:msup> + <m:mi>2</m:mi> + + <m:mi>31</m:mi> + </m:msup> + + <m:mo>-</m:mo> + + <m:mi>1</m:mi> + </m:mrow> + </m:math> + </inlineequation></link></td> + </tr> + + <tr> + <td>long</td> + + <td><link + xlink:href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Long.BYTES">8</link></td> + + <td><link + xlink:href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Long.MIN_VALUE"><inlineequation> + <m:math display="inline"> + <m:mrow> + <m:mo>-</m:mo> + + <m:msup> + <m:mi>2</m:mi> + + <m:mi>63</m:mi> + </m:msup> + </m:mrow> + </m:math> + </inlineequation></link></td> + + <td><link + xlink:href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Long.MAX_VALUE"><inlineequation> + <m:math display="inline"> + <m:mrow> + <m:msup> + <m:mi>2</m:mi> + + <m:mi>63</m:mi> + </m:msup> + + <m:mo>-</m:mo> + + <m:mi>1</m:mi> + </m:mrow> + </m:math> + </inlineequation></link></td> + </tr> + </informaltable> + </figure> + <figure xml:id="sd1_fig_variableCategories"> <title>Two categories of variables</title> @@ -338,6 +728,71 @@ LocalDate birtday = LocalDate.of(1990, Month.JULY, 5);</programlisting> </figure> </section> + <section xml:id="sd1_sect_literals"> + <title>Literals</title> + + <para/> + </section> + + <section xml:id="sd1_sect_arithmeticLimitations"> + <title>Arithmetic limitations</title> + + <para>Expect the unexpected:</para> + + <figure xml:id="sd1_fig_byteLitteralAssign"> + <title>Strange things</title> + + <programlisting language="java">byte count = 91; // o.K. + +byte points = 130; // Compile error: Incompatible types + // Required: byte Found: int</programlisting> + </figure> + + <figure xml:id="sd1_fig_byteOverflow"> + <title>Funny things</title> + + <programlisting language="java">int count = 2147483647; +int points = 2147483647; + +int sum = count + points; +System.out.println("Sum = " + sum);</programlisting> + + <para>Result:</para> + + <informaltable border="1"> + <tr> + <td><programlisting language="none">Sum = -2</programlisting></td> + + <td><programlisting language="none"> 01111111_11111111_11111111_11111111 ++ 01111111_11111111_11111111_11111111 +_____________________________________ + 11111111_11111111_11111111_11111110</programlisting></td> + </tr> + </informaltable> + </figure> + + <para>Why not using float / double in favour of bounded <code>byte</code>, + <code>short</code>, <code>int</code>, <code>long</code> for + arithmetics?</para> + + <figure xml:id="sd1_fig_floatPrecision"> + <title>Limited precision</title> + + <programlisting language="java">float float2Power31 = Integer.MAX_VALUE + 1f; + +float floatDoubleMAX_VALUE = 2 * float2Power31* float2Power31 - 1f; // 2^63 - 1 + +System.out.format( " Float value: %f\n", floatDoubleMAX_VALUE); +System.out.println("Expected value: " + Long.MAX_VALUE);</programlisting> + + <para>Result:</para> + + <programlisting language="none"> Float value: 9223372036854776000.000000 +Expected value: 9223372036854775807 +</programlisting> + </figure> + </section> + <section xml:id="sw1LegalVariableName"> <title>Legal variable names</title> @@ -1694,13 +2149,14 @@ int i = d; // Error: Incompatible types</programlisting> </question> <answer> - <para>When assigning <code>d = i</code> the <xref - linkend="glo_Java"/> compiler will implicitly convert the + <para>The first snippet compiles by using the widening + conversion: When assigning <code>d = i</code> the <xref + linkend="glo_Java"/> compiler implicitly converts the <code>int</code> into a <code>double</code> value.</para> <para>Turning a double into an int is more cumbersome: The - expression <code>i = 3.5</code> could be evaluated by applying - agreeing on a specific rounding prescription. But what about i = + expression <code>i = 3.5</code> could be evaluated by agreeing + on a specific rounding prescription. But what about i = 3457357385783573478955345.45? A <xref linkend="glo_Java"/> <code>int</code>'s maximum value is <inlineequation> <m:math display="inline"> @@ -1738,23 +2194,43 @@ int i = (int) d; // Explicit cast double to int</programlisting> <qandadiv> <qandaentry> <question> - <para>A programmer named Joe intends to map <code>long</code> - values to <code>int</code> values. This requires scaling the - <code>long</code> data type's range <inlineequation> + <para>Joe programmer intends to map positive <code>long</code> + values to <code>int</code> values. This requires scaling down + <quote>half</quote> the <code>long</code> data type's range + <inlineequation> <m:math display="inline"> <m:mrow> <m:mo>[</m:mo> <m:mrow> - <m:mrow> - <m:mo>-</m:mo> + <m:mn>0</m:mn> + + <m:mo>,</m:mo> + <m:mrow> <m:msup> <m:mi>2</m:mi> <m:mi>63</m:mi> </m:msup> + + <m:mo>-</m:mo> + + <m:mi>1</m:mi> </m:mrow> + </m:mrow> + + <m:mo>]</m:mo> + </m:mrow> + </m:math> + </inlineequation> to the <code>int</code>'s range of + <inlineequation> + <m:math display="inline"> + <m:mrow> + <m:mo>[</m:mo> + + <m:mrow> + <m:mn>0</m:mn> <m:mo>,</m:mo> @@ -1762,7 +2238,7 @@ int i = (int) d; // Explicit cast double to int</programlisting> <m:msup> <m:mi>2</m:mi> - <m:mi>63</m:mi> + <m:mi>31</m:mi> </m:msup> <m:mo>-</m:mo> @@ -1774,25 +2250,157 @@ int i = (int) d; // Explicit cast double to int</programlisting> <m:mo>]</m:mo> </m:mrow> </m:math> - </inlineequation> down to an <code>int</code>'s range of - <inlineequation> - <m:math display="inline"> - <m:mrow> - <m:mo>[</m:mo> + </inlineequation>:</para> - <m:mrow> + <informaltable border="1"> + <colgroup width="25%"/> + + <colgroup width="30%"/> + + <colgroup width="15%"/> + + <colgroup width="30%"/> + + <tr> + <th colspan="2">From</th> + + <th colspan="2">To</th> + </tr> + + <tr> + <th><code>long</code></th> + + <th><code>remark</code></th> + + <th><code>int</code></th> + + <th>remark</th> + </tr> + + <tr> + <td align="right">0</td> + + <td align="right"/> + + <td align="right">0</td> + + <td align="right"/> + </tr> + + <tr> + <td align="right">1</td> + + <td align="right"/> + + <td align="right">0</td> + + <td align="right"/> + </tr> + + <tr> + <td align="center" colspan="2">...</td> + + <td align="right">0</td> + + <td align="center">...</td> + </tr> + + <tr> + <td align="right">4294967295</td> + + <td align="right"><inlineequation> + <m:math display="inline"> <m:mrow> + <m:msup> + <m:mi>2</m:mi> + + <m:mi>32</m:mi> + </m:msup> + <m:mo>-</m:mo> + <m:mi>1</m:mi> + </m:mrow> + </m:math> + </inlineequation></td> + + <td align="right">0</td> + + <td align="right"/> + </tr> + + <tr> + <td align="right">4294967296</td> + + <td align="right"><inlineequation> + <m:math display="inline"> + <m:msup> + <m:mi>2</m:mi> + + <m:mi>32</m:mi> + </m:msup> + </m:math> + </inlineequation></td> + + <td align="right">1</td> + + <td align="right"/> + </tr> + + <tr> + <td align="right">4294967297</td> + + <td align="right"><inlineequation> + <m:math display="inline"> + <m:mrow> <m:msup> <m:mi>2</m:mi> - <m:mi>31</m:mi> + <m:mi>32</m:mi> </m:msup> + + <m:mo>+</m:mo> + + <m:mi>1</m:mi> </m:mrow> + </m:math> + </inlineequation></td> - <m:mo>,</m:mo> + <td align="right">1</td> + + <td align="right"/> + </tr> + + <tr> + <td align="center" colspan="4">...</td> + </tr> + <tr> + <td align="right">9223372036854775806</td> + + <td align="right"><inlineequation> + <m:math display="inline"> + <m:mrow> + <m:msup> + <m:mi>2</m:mi> + + <m:mi>63</m:mi> + </m:msup> + + <m:mo>-</m:mo> + + <m:mi>2</m:mi> + </m:mrow> + </m:math> + </inlineequation> or <code + xlink:href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Long.MAX_VALUE"><varname + xlink:href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Long.MAX_VALUE">Long.MAX_VALUE</varname></code> + - 1</td> + + <td align="right">2147483647</td> + + <td align="right"><inlineequation> + <m:math display="inline"> <m:mrow> <m:msup> <m:mi>2</m:mi> @@ -1804,14 +2412,54 @@ int i = (int) d; // Explicit cast double to int</programlisting> <m:mi>1</m:mi> </m:mrow> - </m:mrow> + </m:math> + </inlineequation> or <varname + xlink:href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Integer.MAX_VALUE">Integer.MAX_VALUE</varname></td> + </tr> - <m:mo>]</m:mo> - </m:mrow> - </m:math> - </inlineequation>.</para> + <tr> + <td align="right">9223372036854775807</td> + + <td align="right"><inlineequation> + <m:math display="inline"> + <m:mrow> + <m:msup> + <m:mi>2</m:mi> + + <m:mi>63</m:mi> + </m:msup> + + <m:mo>-</m:mo> + + <m:mi>1</m:mi> + </m:mrow> + </m:math> + </inlineequation> or <varname + xlink:href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Long.MAX_VALUE">Long.MAX_VALUE</varname></td> + + <td align="right">2147483647</td> - <para>Joe thinks of dividing long values by <inlineequation> + <td align="right"><inlineequation> + <m:math display="inline"> + <m:mrow> + <m:msup> + <m:mi>2</m:mi> + + <m:mi>31</m:mi> + </m:msup> + + <m:mo>-</m:mo> + + <m:mi>1</m:mi> + </m:mrow> + </m:math> + </inlineequation> or <varname + xlink:href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Integer.MAX_VALUE">Integer.MAX_VALUE</varname></td> + </tr> + </informaltable> + + <para>Joe's idea is dividing <code>long</code> values by + <inlineequation> <m:math display="inline"> <m:msup> <m:mi>2</m:mi> @@ -1852,46 +2500,153 @@ int i = (int) d; // Explicit cast double to int</programlisting> <m:mi>32</m:mi> </m:msup> </m:math> - </inlineequation> seems to be equal to <code>2 * - (Integer.MAX_VALUE + 1))</code> (why?) Joe's first attempt - reads:</para> + </inlineequation> seems to be equal to <code>2 * (<link + xlink:href="https://docs.oracle.com/javase/8/docs/api/constant-values.html#java.lang.Integer.MAX_VALUE">Integer.MAX_VALUE</link> + + 1))</code> (why?) Joe's first attempt reads:</para> + + <programlisting language="java" linenumbering="numbered" + startinglinenumber="26">final long longValue = 2147483648L; +final int reducedValue = (int) (longValue / (2 * (Integer.MAX_VALUE + 1))); +System.out.println(reducedValue);</programlisting> + + <para>Unfortunately the results are not promising. This code + merely results in a runtime error:</para> - <programlisting language="java">final long longValue = ...; - ... -final int reducedValue = (int) (longValue / (2 * (Integer.MAX_VALUE + 1)));</programlisting> + <programlisting language="none">/usr/lib/jvm/java-8-oracle/bin/java ... +Exception in thread "main" java.lang.ArithmeticException: / by zero + at qq.App.main(App.java:27) + +Process finished with exit code 1</programlisting> + + <para>Explain the underlying problem and correct Joe's + error.</para> - <para>Unfortunately the results are not promising. May you help - Joe correcting his error? Provide an example showing the - problem.</para> + <tip> + <para>It may be helpful thinking of a smaller example before. + Consider hypothetic integer types <quote>TinyLong</quote> and + <quote>TinyInt</quote> requiring 4 and 2 bits respectively. + </para> + </tip> </question> <answer> - <para>We consider:</para> + <para>As a prerequisite we represent the scaling of a hypothetic + integer type <quote>TinyLong</quote> to a smaller type + <quote>TinyInt</quote> of 4 and 2 bits respectively:</para> - <programlisting language="java">final long longValue = Long.MAX_VALUE; - -final int reducedValue = (int) (longValue / (2 * (Integer.MAX_VALUE + 1))); -System.out.println(reducedValue);</programlisting> + <informaltable border="1"> + <colgroup width="20%"/> + + <colgroup width="5%"/> + + <colgroup width="5%"/> + + <colgroup width="5%"/> + + <colgroup width="5%"/> - <para>The intended result should assign Integer.MAX_VALUE to the - variable <code>reducedValue</code>. Actually Joe's attempt - creates a runtime error:</para> + <colgroup width="5%"/> - <programlisting language="none">Exception in thread "main" java.lang.ArithmeticException: / by zero</programlisting> + <colgroup width="5%"/> + + <colgroup width="5%"/> + + <colgroup width="5%"/> + + <colgroup width="5%"/> + + <colgroup width="5%"/> + + <colgroup width="5%"/> + + <colgroup width="5%"/> + + <colgroup width="5%"/> + + <colgroup width="5%"/> + + <colgroup width="5%"/> + + <colgroup width="5%"/> + + <tr> + <td><quote>TinyLong</quote>, n = 4</td> + + <td>-8</td> + + <td>-7</td> + + <td>-6</td> + + <td>-5</td> + + <td>-4</td> + + <td>-3</td> + + <td>-2</td> + + <td>-1</td> + + <td>0</td> + + <td>1</td> + + <td>2</td> + + <td>3</td> + + <td>4</td> + + <td>5</td> + + <td>6</td> + + <td>7</td> + </tr> + + <tr> + <td><quote>TinyInt</quote>, n = 2</td> + + <td colspan="4">-2</td> + + <td colspan="4">-1</td> + + <td colspan="4">0</td> + + <td colspan="4">1</td> + </tr> + </informaltable> + + <para>Joe's assumption for these particular values implies + dividing <quote>TinyLong</quote> values by <inlineequation> + <m:math display="inline"> + <m:msup> + <m:mi>2</m:mi> + + <m:mi>2</m:mi> + </m:msup> + </m:math> + </inlineequation> (truncating). This indeed yields the desired + result for non-negative values. So why does Joe encounter a + division by zero runtime exception when executing + <code>longValue / (2 * (Integer.MAX_VALUE + 1))</code> ?</para> - <para>Unfortunately Joe's assumption is seriously flawed:</para> + <para>Unfortunately Joe's implementation is seriously flawed for + even two reasons:</para> <orderedlist> <listitem> <para>The constant <code>Integer.MAX_VALUE</code> already suggests we will not be able to increase its value while staying as an <code>int</code>. The expression - <code>Integer.MAX_VALUE + 1</code> indeed returns - <code>Integer.MIN_VALUE</code> due to an arithmetic - overflow:</para> + <code>Integer.MAX_VALUE + 1</code> will be evaluated using + <code>int</code> rather than <code>long</code> arithmetic + thus returning <code>Integer.MIN_VALUE</code> (negative!) + due to an arithmetic overflow:</para> <programlisting language="java"> 01111111_11111111_11111111_11111111 -+ 00000000_00000000_00000000_00000000 ++ 00000000_00000000_00000000_00000001 _____________________________________ 10000000_00000000_00000000_00000000</programlisting> @@ -1906,7 +2661,8 @@ _____________________________________ </orderedlist> <para>Both errors combined (surprisingly) result in a value of - <code>0</code>. There are two possible solutions:</para> + <code>0</code> explaining the <quote>division by zero</quote> + error message. There are two possible solutions:</para> <glosslist> <glossentry> @@ -1914,13 +2670,13 @@ _____________________________________ + 1L)))</code></glossterm> <glossdef> - <para>Introducing <code>2L</code> and <code>1L</code> in - favour of simply using 2 and 1 turns both addition and - multiplication into operations involving one long - argument. Thus for both operations the <xref - linkend="glo_Java"/> runtime will use <code>long</code> - arithmetic returning the desired <quote>reducing</quote> - factor of <inlineequation> + <para>Introducing <code>2L</code> or <code>1L</code> (one + is sufficient) in favour of simply using 2 and 1 turns + both addition and multiplication into operations involving + at least one long argument. Thus for both operations the + <xref linkend="glo_Java"/> runtime will use + <code>long</code> arithmetic returning the desired + <quote>reducing</quote> factor of <inlineequation> <m:math display="inline"> <m:msup> <m:mi>2</m:mi> @@ -1928,7 +2684,7 @@ _____________________________________ <m:mi>32</m:mi> </m:msup> </m:math> - </inlineequation>.</para> + </inlineequation> of type <code>long</code>.</para> </glossdef> </glossentry> @@ -1942,10 +2698,13 @@ _____________________________________ <note> <para>This time the expression starts with <code>longValue / 2 ...</code> Since the variable - <code>longValue</code> already is of type - <code>long</code> a division by <code>2</code> rather - than <code>2L</code> is sufficient to enforce - <code>long</code> arithmetic.</para> + <code>longValue</code> is of type <code>long</code> the + expression <code>longValue / 2</code> will be evaluated + by the <xref linkend="glo_Java"/> runtime using + <code>long</code> arithmetics. The result will + subsequently be multiplied with <code>Integer.MAX_VALUE + + 1L</code> again using <code>long</code> + arithmetic.</para> </note> </glossdef> </glossentry>