Re-organize subsections

This commit is contained in:
Thomas Dehaeze 2020-12-01 18:49:40 +01:00
parent 7a1817c20d
commit 21c874f66a
15 changed files with 1369 additions and 869 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 45 KiB

View File

@ -56,8 +56,37 @@
</clipPath> </clipPath>
</defs> </defs>
<g id="surface1"> <g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 0.996094 117.195312 L 170.832031 117.195312 L 170.832031 1.140625 L 0.996094 1.140625 Z M 0.996094 117.195312 "/>
<g clip-path="url(#clip1)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -14.173475 -76.535669 L 155.906532 -76.535669 L 155.906532 39.6858 L -14.173475 39.6858 Z M -14.173475 -76.535669 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="82.577329" y="15.863267"/> <use xlink:href="#glyph0-1" x="82.577329" y="11.255888"/>
</g>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 182.15625 117.195312 L 351.992188 117.195312 L 351.992188 1.140625 L 182.15625 1.140625 Z M 182.15625 117.195312 "/>
<g clip-path="url(#clip2)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M 167.247025 -76.535669 L 337.327032 -76.535669 L 337.327032 39.6858 L 167.247025 39.6858 Z M 167.247025 -76.535669 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="259.822611" y="11.255888"/>
<use xlink:href="#glyph0-1" x="267.644962" y="11.255888"/>
</g>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 0.996094 241.742188 L 170.832031 241.742188 L 170.832031 125.6875 L 0.996094 125.6875 Z M 0.996094 241.742188 "/>
<g clip-path="url(#clip3)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -14.173475 -201.261529 L 155.906532 -201.261529 L 155.906532 -85.04006 L -14.173475 -85.04006 Z M -14.173475 -201.261529 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="77.996911" y="135.800906"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="87.162283" y="135.800906"/>
</g>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 182.15625 241.742188 L 351.992188 241.742188 L 351.992188 125.6875 L 182.15625 125.6875 Z M 182.15625 241.742188 "/>
<g clip-path="url(#clip4)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M 167.247025 -201.261529 L 337.327032 -201.261529 L 337.327032 -85.04006 L 167.247025 -85.04006 Z M 167.247025 -201.261529 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-4" x="263.473365" y="135.800906"/>
</g> </g>
<path style="fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -5.669083 -70.867378 L -5.669083 14.172625 L 39.685064 14.172625 L 39.685064 -70.867378 Z M -5.669083 -70.867378 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/> <path style="fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -5.669083 -70.867378 L -5.669083 14.172625 L 39.685064 14.172625 L 39.685064 -70.867378 Z M -5.669083 -70.867378 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
@ -83,13 +112,7 @@
<path style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 75.118725 4.252139 C 75.118725 6.599257 73.213647 8.504335 70.866529 8.504335 C 68.519411 8.504335 66.614333 6.599257 66.614333 4.252139 C 66.614333 1.905021 68.519411 -0.0000566533 70.866529 -0.0000566533 C 73.213647 -0.0000566533 75.118725 1.905021 75.118725 4.252139 Z M 75.118725 4.252139 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/> <path style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 75.118725 4.252139 C 75.118725 6.599257 73.213647 8.504335 70.866529 8.504335 C 68.519411 8.504335 66.614333 6.599257 66.614333 4.252139 C 66.614333 1.905021 68.519411 -0.0000566533 70.866529 -0.0000566533 C 73.213647 -0.0000566533 75.118725 1.905021 75.118725 4.252139 Z M 75.118725 4.252139 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -11.337374 -0.0000566533 L 153.074343 -0.0000566533 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -11.337374 -0.0000566533 L 153.074343 -0.0000566533 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.000792824 -56.694696 C 22.199033 -34.49487 34.494021 -22.195971 56.693847 -0.0000566533 C 61.258992 4.565088 64.411954 8.504335 70.866529 8.504335 C 82.41435 8.504335 87.664071 -0.0000566533 99.211893 -0.0000566533 C 115.794283 -0.0000566533 125.15146 -0.0000566533 141.73385 -0.0000566533 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.000792824 -56.694696 C 22.199033 -34.49487 34.494021 -22.195971 56.693847 -0.0000566533 C 61.258992 4.565088 64.411954 8.504335 70.866529 8.504335 C 82.41435 8.504335 87.664071 -0.0000566533 99.211893 -0.0000566533 C 115.794283 -0.0000566533 125.15146 -0.0000566533 141.73385 -0.0000566533 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
<g clip-path="url(#clip1)" clip-rule="nonzero"> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -0.000792824 -0.0000566533 Z M -0.000792824 -0.0000566533 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -14.173475 -76.535669 L -14.173475 39.6858 L 155.906532 39.6858 L 155.906532 -76.535669 Z M -14.173475 -76.535669 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="259.822611" y="15.863267"/>
<use xlink:href="#glyph0-1" x="267.644962" y="15.863267"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 175.751417 -70.867378 L 175.751417 14.172625 L 221.105564 14.172625 L 221.105564 -70.867378 Z M 175.751417 -70.867378 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/> <path style="fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 175.751417 -70.867378 L 175.751417 14.172625 L 221.105564 14.172625 L 221.105564 -70.867378 Z M 175.751417 -70.867378 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="198.118286" y="58.971317"/> <use xlink:href="#glyph1-1" x="198.118286" y="58.971317"/>
@ -112,15 +135,6 @@
</g> </g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M 170.079214 -0.0000566533 L 334.490931 -0.0000566533 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M 170.079214 -0.0000566533 L 334.490931 -0.0000566533 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 181.419707 -56.694696 C 192.517664 -45.596739 198.667114 -39.44729 209.765071 -28.345421 C 223.100614 -15.013789 233.431846 -5.668347 252.287029 -5.668347 C 271.142211 -5.668347 281.473443 -15.013789 294.805074 -28.345421 C 305.906943 -39.44729 312.056393 -45.596739 323.15435 -56.694696 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 181.419707 -56.694696 C 192.517664 -45.596739 198.667114 -39.44729 209.765071 -28.345421 C 223.100614 -15.013789 233.431846 -5.668347 252.287029 -5.668347 C 271.142211 -5.668347 281.473443 -15.013789 294.805074 -28.345421 C 305.906943 -39.44729 312.056393 -45.596739 323.15435 -56.694696 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
<g clip-path="url(#clip2)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M 167.247025 -76.535669 L 167.247025 39.6858 L 337.327032 39.6858 L 337.327032 -76.535669 Z M 167.247025 -76.535669 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="77.996911" y="140.408285"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="87.162283" y="140.408285"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -5.669083 -195.593238 L -5.669083 -110.553235 L 39.685064 -110.553235 L 39.685064 -195.593238 Z M -5.669083 -195.593238 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/> <path style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -5.669083 -195.593238 L -5.669083 -110.553235 L 39.685064 -110.553235 L 39.685064 -195.593238 Z M -5.669083 -195.593238 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="17.631662" y="220.314452"/> <use xlink:href="#glyph1-1" x="17.631662" y="220.314452"/>
@ -143,12 +157,6 @@
</g> </g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -11.337374 -124.725917 L 153.074343 -124.725917 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -11.337374 -124.725917 L 153.074343 -124.725917 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.000792824 -167.247874 C 11.097164 -156.146006 17.246614 -149.996556 28.348483 -138.898599 C 41.680114 -125.566967 52.011346 -116.221525 70.866529 -116.221525 C 89.721712 -116.221525 100.052943 -125.566967 113.388486 -138.898599 C 124.486444 -149.996556 130.635893 -156.146006 141.73385 -167.247874 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.000792824 -167.247874 C 11.097164 -156.146006 17.246614 -149.996556 28.348483 -138.898599 C 41.680114 -125.566967 52.011346 -116.221525 70.866529 -116.221525 C 89.721712 -116.221525 100.052943 -125.566967 113.388486 -138.898599 C 124.486444 -149.996556 130.635893 -156.146006 141.73385 -167.247874 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
<g clip-path="url(#clip3)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -14.173475 -201.261529 L -14.173475 -85.04006 L 155.906532 -85.04006 L 155.906532 -201.261529 Z M -14.173475 -201.261529 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-4" x="263.473365" y="140.408285"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 175.751417 -195.593238 L 175.751417 -110.553235 L 221.105564 -110.553235 L 221.105564 -195.593238 Z M 175.751417 -195.593238 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/> <path style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 175.751417 -195.593238 L 175.751417 -110.553235 L 221.105564 -110.553235 L 221.105564 -195.593238 Z M 175.751417 -195.593238 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="205.552602" y="182.60065"/> <use xlink:href="#glyph1-1" x="205.552602" y="182.60065"/>
@ -167,8 +175,5 @@
<path style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 256.539224 -120.473721 C 256.539224 -118.126603 254.634147 -116.221525 252.287029 -116.221525 C 249.93991 -116.221525 248.034833 -118.126603 248.034833 -120.473721 C 248.034833 -122.820839 249.93991 -124.725917 252.287029 -124.725917 C 254.634147 -124.725917 256.539224 -122.820839 256.539224 -120.473721 Z M 256.539224 -120.473721 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/> <path style="fill-rule:nonzero;fill:rgb(100%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 256.539224 -120.473721 C 256.539224 -118.126603 254.634147 -116.221525 252.287029 -116.221525 C 249.93991 -116.221525 248.034833 -118.126603 248.034833 -120.473721 C 248.034833 -122.820839 249.93991 -124.725917 252.287029 -124.725917 C 254.634147 -124.725917 256.539224 -122.820839 256.539224 -120.473721 Z M 256.539224 -120.473721 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M 170.079214 -124.725917 L 334.490931 -124.725917 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M 170.079214 -124.725917 L 334.490931 -124.725917 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 181.419707 -124.725917 C 198.002097 -124.725917 207.359275 -124.725917 223.937753 -124.725917 C 235.489486 -124.725917 240.739207 -116.221525 252.287029 -116.221525 C 258.741604 -116.221525 271.024855 -129.291062 266.459711 -124.725917 C 288.655625 -146.921831 300.954524 -159.22073 323.15435 -181.420556 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 181.419707 -124.725917 C 198.002097 -124.725917 207.359275 -124.725917 223.937753 -124.725917 C 235.489486 -124.725917 240.739207 -116.221525 252.287029 -116.221525 C 258.741604 -116.221525 271.024855 -129.291062 266.459711 -124.725917 C 288.655625 -146.921831 300.954524 -159.22073 323.15435 -181.420556 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
<g clip-path="url(#clip4)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M 167.247025 -201.261529 L 167.247025 -85.04006 L 337.327032 -85.04006 L 337.327032 -201.261529 Z M 167.247025 -201.261529 " transform="matrix(0.998565,0,0,-0.998565,15.149229,40.769475)"/>
</g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="206.943pt" height="156.445pt" viewBox="0 0 206.943 156.445" version="1.2"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="214.977pt" height="156.445pt" viewBox="0 0 214.977 156.445" version="1.2">
<defs> <defs>
<g> <g>
<symbol overflow="visible" id="glyph0-0"> <symbol overflow="visible" id="glyph0-0">
@ -81,15 +81,18 @@
<path style="stroke:none;" d="M 3.546875 -0.390625 C 3.546875 -0.421875 3.546875 -0.53125 3.453125 -0.53125 C 3.453125 -0.53125 3.40625 -0.53125 3.328125 -0.46875 C 3.015625 -0.28125 2.65625 -0.109375 2.28125 -0.109375 C 1.703125 -0.109375 1.203125 -0.53125 1.203125 -1.40625 C 1.203125 -1.75 1.296875 -2.125 1.3125 -2.25 L 2.953125 -2.25 C 3.109375 -2.25 3.296875 -2.25 3.296875 -2.40625 C 3.296875 -2.546875 3.171875 -2.546875 3 -2.546875 L 1.40625 -2.546875 C 1.640625 -3.390625 2.1875 -3.96875 3.09375 -3.96875 L 3.40625 -3.96875 C 3.578125 -3.96875 3.734375 -3.96875 3.734375 -4.140625 C 3.734375 -4.28125 3.609375 -4.28125 3.4375 -4.28125 L 3.078125 -4.28125 C 1.796875 -4.28125 0.46875 -3.28125 0.46875 -1.765625 C 0.46875 -0.671875 1.203125 0.109375 2.265625 0.109375 C 2.90625 0.109375 3.546875 -0.28125 3.546875 -0.390625 Z M 3.546875 -0.390625 "/> <path style="stroke:none;" d="M 3.546875 -0.390625 C 3.546875 -0.421875 3.546875 -0.53125 3.453125 -0.53125 C 3.453125 -0.53125 3.40625 -0.53125 3.328125 -0.46875 C 3.015625 -0.28125 2.65625 -0.109375 2.28125 -0.109375 C 1.703125 -0.109375 1.203125 -0.53125 1.203125 -1.40625 C 1.203125 -1.75 1.296875 -2.125 1.3125 -2.25 L 2.953125 -2.25 C 3.109375 -2.25 3.296875 -2.25 3.296875 -2.40625 C 3.296875 -2.546875 3.171875 -2.546875 3 -2.546875 L 1.40625 -2.546875 C 1.640625 -3.390625 2.1875 -3.96875 3.09375 -3.96875 L 3.40625 -3.96875 C 3.578125 -3.96875 3.734375 -3.96875 3.734375 -4.140625 C 3.734375 -4.28125 3.609375 -4.28125 3.4375 -4.28125 L 3.078125 -4.28125 C 1.796875 -4.28125 0.46875 -3.28125 0.46875 -1.765625 C 0.46875 -0.671875 1.203125 0.109375 2.265625 0.109375 C 2.90625 0.109375 3.546875 -0.28125 3.546875 -0.390625 Z M 3.546875 -0.390625 "/>
</symbol> </symbol>
<symbol overflow="visible" id="glyph1-7"> <symbol overflow="visible" id="glyph1-7">
<path style="stroke:none;" d="M 4.640625 -3.6875 C 4.640625 -4.234375 4.390625 -4.390625 4.203125 -4.390625 C 3.953125 -4.390625 3.71875 -4.125 3.71875 -3.90625 C 3.71875 -3.78125 3.765625 -3.71875 3.875 -3.609375 C 4.09375 -3.40625 4.21875 -3.15625 4.21875 -2.796875 C 4.21875 -2.375 3.609375 -0.109375 2.453125 -0.109375 C 1.9375 -0.109375 1.71875 -0.453125 1.71875 -0.96875 C 1.71875 -1.53125 1.984375 -2.25 2.296875 -3.078125 C 2.359375 -3.25 2.40625 -3.390625 2.40625 -3.578125 C 2.40625 -4.015625 2.09375 -4.390625 1.59375 -4.390625 C 0.671875 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.859375 -3.9375 1.28125 -4.171875 1.5625 -4.171875 C 1.640625 -4.171875 1.8125 -4.171875 1.8125 -3.84375 C 1.8125 -3.609375 1.71875 -3.328125 1.640625 -3.15625 C 1.203125 -2 1.078125 -1.546875 1.078125 -1.125 C 1.078125 -0.046875 1.953125 0.109375 2.40625 0.109375 C 4.078125 0.109375 4.640625 -3.171875 4.640625 -3.6875 Z M 4.640625 -3.6875 "/> <path style="stroke:none;" d="M 4.3125 -1.421875 C 4.3125 -1.46875 4.28125 -1.515625 4.203125 -1.515625 C 4.109375 -1.515625 4.09375 -1.453125 4.0625 -1.390625 C 3.828125 -0.75 3.1875 -0.5625 2.875 -0.5625 C 2.671875 -0.5625 2.484375 -0.609375 2.28125 -0.6875 C 1.9375 -0.8125 1.796875 -0.859375 1.59375 -0.859375 C 1.59375 -0.859375 1.40625 -0.859375 1.3125 -0.828125 C 1.859375 -1.40625 2.140625 -1.640625 2.5 -1.953125 C 2.5 -1.953125 3.109375 -2.484375 3.46875 -2.84375 C 4.421875 -3.765625 4.640625 -4.25 4.640625 -4.28125 C 4.640625 -4.390625 4.53125 -4.390625 4.53125 -4.390625 C 4.453125 -4.390625 4.421875 -4.359375 4.375 -4.28125 C 4.078125 -3.796875 3.875 -3.640625 3.625 -3.640625 C 3.390625 -3.640625 3.28125 -3.796875 3.125 -3.953125 C 2.9375 -4.1875 2.765625 -4.390625 2.4375 -4.390625 C 1.703125 -4.390625 1.234375 -3.46875 1.234375 -3.25 C 1.234375 -3.203125 1.265625 -3.140625 1.359375 -3.140625 C 1.453125 -3.140625 1.46875 -3.1875 1.484375 -3.25 C 1.671875 -3.703125 2.25 -3.71875 2.328125 -3.71875 C 2.546875 -3.71875 2.734375 -3.65625 2.953125 -3.578125 C 3.359375 -3.421875 3.46875 -3.421875 3.71875 -3.421875 C 3.359375 -3 2.53125 -2.28125 2.34375 -2.125 L 1.453125 -1.296875 C 0.78125 -0.625 0.421875 -0.0625 0.421875 0.015625 C 0.421875 0.109375 0.546875 0.109375 0.546875 0.109375 C 0.625 0.109375 0.640625 0.09375 0.703125 -0.015625 C 0.9375 -0.359375 1.234375 -0.640625 1.546875 -0.640625 C 1.78125 -0.640625 1.875 -0.546875 2.125 -0.265625 C 2.296875 -0.046875 2.46875 0.109375 2.765625 0.109375 C 3.734375 0.109375 4.3125 -1.15625 4.3125 -1.421875 Z M 4.3125 -1.421875 "/>
</symbol> </symbol>
<symbol overflow="visible" id="glyph1-8"> <symbol overflow="visible" id="glyph1-8">
<path style="stroke:none;" d="M 5.390625 -1.421875 C 5.390625 -1.515625 5.296875 -1.515625 5.265625 -1.515625 C 5.171875 -1.515625 5.15625 -1.484375 5.125 -1.34375 C 4.984375 -0.78125 4.796875 -0.109375 4.390625 -0.109375 C 4.171875 -0.109375 4.078125 -0.234375 4.078125 -0.5625 C 4.078125 -0.78125 4.203125 -1.25 4.28125 -1.59375 L 4.546875 -2.671875 C 4.578125 -2.8125 4.6875 -3.1875 4.71875 -3.34375 C 4.765625 -3.578125 4.875 -3.953125 4.875 -4.015625 C 4.875 -4.1875 4.734375 -4.28125 4.578125 -4.28125 C 4.53125 -4.28125 4.28125 -4.265625 4.203125 -3.921875 L 3.453125 -0.9375 C 3.4375 -0.90625 3.046875 -0.109375 2.328125 -0.109375 C 1.8125 -0.109375 1.703125 -0.5625 1.703125 -0.921875 C 1.703125 -1.484375 1.984375 -2.265625 2.25 -2.953125 C 2.359375 -3.25 2.40625 -3.390625 2.40625 -3.578125 C 2.40625 -4.015625 2.09375 -4.390625 1.59375 -4.390625 C 0.65625 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.8125 -3.796875 1.1875 -4.171875 1.5625 -4.171875 C 1.65625 -4.171875 1.8125 -4.15625 1.8125 -3.84375 C 1.8125 -3.609375 1.703125 -3.3125 1.640625 -3.171875 C 1.28125 -2.1875 1.078125 -1.5625 1.078125 -1.078125 C 1.078125 -0.140625 1.75 0.109375 2.296875 0.109375 C 2.953125 0.109375 3.296875 -0.34375 3.46875 -0.5625 C 3.578125 -0.15625 3.921875 0.109375 4.359375 0.109375 C 4.703125 0.109375 4.9375 -0.125 5.09375 -0.4375 C 5.265625 -0.796875 5.390625 -1.421875 5.390625 -1.421875 Z M 5.390625 -1.421875 "/> <path style="stroke:none;" d="M 4.640625 -3.6875 C 4.640625 -4.234375 4.390625 -4.390625 4.203125 -4.390625 C 3.953125 -4.390625 3.71875 -4.125 3.71875 -3.90625 C 3.71875 -3.78125 3.765625 -3.71875 3.875 -3.609375 C 4.09375 -3.40625 4.21875 -3.15625 4.21875 -2.796875 C 4.21875 -2.375 3.609375 -0.109375 2.453125 -0.109375 C 1.9375 -0.109375 1.71875 -0.453125 1.71875 -0.96875 C 1.71875 -1.53125 1.984375 -2.25 2.296875 -3.078125 C 2.359375 -3.25 2.40625 -3.390625 2.40625 -3.578125 C 2.40625 -4.015625 2.09375 -4.390625 1.59375 -4.390625 C 0.671875 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.859375 -3.9375 1.28125 -4.171875 1.5625 -4.171875 C 1.640625 -4.171875 1.8125 -4.171875 1.8125 -3.84375 C 1.8125 -3.609375 1.71875 -3.328125 1.640625 -3.15625 C 1.203125 -2 1.078125 -1.546875 1.078125 -1.125 C 1.078125 -0.046875 1.953125 0.109375 2.40625 0.109375 C 4.078125 0.109375 4.640625 -3.171875 4.640625 -3.6875 Z M 4.640625 -3.6875 "/>
</symbol> </symbol>
<symbol overflow="visible" id="glyph1-9"> <symbol overflow="visible" id="glyph1-9">
<path style="stroke:none;" d="M 6.859375 -3.6875 C 6.859375 -4.234375 6.59375 -4.390625 6.421875 -4.390625 C 6.171875 -4.390625 5.921875 -4.125 5.921875 -3.90625 C 5.921875 -3.78125 5.984375 -3.71875 6.078125 -3.640625 C 6.1875 -3.53125 6.421875 -3.28125 6.421875 -2.796875 C 6.421875 -2.453125 6.140625 -1.484375 5.890625 -0.984375 C 5.625 -0.453125 5.28125 -0.109375 4.796875 -0.109375 C 4.328125 -0.109375 4.0625 -0.40625 4.0625 -0.96875 C 4.0625 -1.25 4.125 -1.5625 4.171875 -1.703125 L 4.578125 -3.359375 C 4.640625 -3.578125 4.734375 -3.953125 4.734375 -4.015625 C 4.734375 -4.1875 4.59375 -4.28125 4.4375 -4.28125 C 4.328125 -4.28125 4.140625 -4.203125 4.078125 -4 C 4.046875 -3.921875 3.578125 -2.03125 3.515625 -1.78125 C 3.4375 -1.484375 3.421875 -1.296875 3.421875 -1.125 C 3.421875 -1.015625 3.421875 -0.984375 3.4375 -0.9375 C 3.203125 -0.421875 2.90625 -0.109375 2.515625 -0.109375 C 1.71875 -0.109375 1.71875 -0.84375 1.71875 -1.015625 C 1.71875 -1.328125 1.78125 -1.71875 2.25 -2.9375 C 2.34375 -3.234375 2.40625 -3.375 2.40625 -3.578125 C 2.40625 -4.015625 2.078125 -4.390625 1.59375 -4.390625 C 0.65625 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.828125 -3.859375 1.21875 -4.171875 1.5625 -4.171875 C 1.65625 -4.171875 1.8125 -4.15625 1.8125 -3.84375 C 1.8125 -3.59375 1.703125 -3.3125 1.640625 -3.140625 C 1.203125 -1.96875 1.078125 -1.515625 1.078125 -1.140625 C 1.078125 -0.234375 1.75 0.109375 2.484375 0.109375 C 2.65625 0.109375 3.125 0.109375 3.515625 -0.578125 C 3.78125 0.046875 4.46875 0.109375 4.765625 0.109375 C 5.5 0.109375 5.9375 -0.515625 6.203125 -1.109375 C 6.53125 -1.890625 6.859375 -3.21875 6.859375 -3.6875 Z M 6.859375 -3.6875 "/> <path style="stroke:none;" d="M 5.390625 -1.421875 C 5.390625 -1.515625 5.296875 -1.515625 5.265625 -1.515625 C 5.171875 -1.515625 5.15625 -1.484375 5.125 -1.34375 C 4.984375 -0.78125 4.796875 -0.109375 4.390625 -0.109375 C 4.171875 -0.109375 4.078125 -0.234375 4.078125 -0.5625 C 4.078125 -0.78125 4.203125 -1.25 4.28125 -1.59375 L 4.546875 -2.671875 C 4.578125 -2.8125 4.6875 -3.1875 4.71875 -3.34375 C 4.765625 -3.578125 4.875 -3.953125 4.875 -4.015625 C 4.875 -4.1875 4.734375 -4.28125 4.578125 -4.28125 C 4.53125 -4.28125 4.28125 -4.265625 4.203125 -3.921875 L 3.453125 -0.9375 C 3.4375 -0.90625 3.046875 -0.109375 2.328125 -0.109375 C 1.8125 -0.109375 1.703125 -0.5625 1.703125 -0.921875 C 1.703125 -1.484375 1.984375 -2.265625 2.25 -2.953125 C 2.359375 -3.25 2.40625 -3.390625 2.40625 -3.578125 C 2.40625 -4.015625 2.09375 -4.390625 1.59375 -4.390625 C 0.65625 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.8125 -3.796875 1.1875 -4.171875 1.5625 -4.171875 C 1.65625 -4.171875 1.8125 -4.15625 1.8125 -3.84375 C 1.8125 -3.609375 1.703125 -3.3125 1.640625 -3.171875 C 1.28125 -2.1875 1.078125 -1.5625 1.078125 -1.078125 C 1.078125 -0.140625 1.75 0.109375 2.296875 0.109375 C 2.953125 0.109375 3.296875 -0.34375 3.46875 -0.5625 C 3.578125 -0.15625 3.921875 0.109375 4.359375 0.109375 C 4.703125 0.109375 4.9375 -0.125 5.09375 -0.4375 C 5.265625 -0.796875 5.390625 -1.421875 5.390625 -1.421875 Z M 5.390625 -1.421875 "/>
</symbol> </symbol>
<symbol overflow="visible" id="glyph1-10"> <symbol overflow="visible" id="glyph1-10">
<path style="stroke:none;" d="M 6.859375 -3.6875 C 6.859375 -4.234375 6.59375 -4.390625 6.421875 -4.390625 C 6.171875 -4.390625 5.921875 -4.125 5.921875 -3.90625 C 5.921875 -3.78125 5.984375 -3.71875 6.078125 -3.640625 C 6.1875 -3.53125 6.421875 -3.28125 6.421875 -2.796875 C 6.421875 -2.453125 6.140625 -1.484375 5.890625 -0.984375 C 5.625 -0.453125 5.28125 -0.109375 4.796875 -0.109375 C 4.328125 -0.109375 4.0625 -0.40625 4.0625 -0.96875 C 4.0625 -1.25 4.125 -1.5625 4.171875 -1.703125 L 4.578125 -3.359375 C 4.640625 -3.578125 4.734375 -3.953125 4.734375 -4.015625 C 4.734375 -4.1875 4.59375 -4.28125 4.4375 -4.28125 C 4.328125 -4.28125 4.140625 -4.203125 4.078125 -4 C 4.046875 -3.921875 3.578125 -2.03125 3.515625 -1.78125 C 3.4375 -1.484375 3.421875 -1.296875 3.421875 -1.125 C 3.421875 -1.015625 3.421875 -0.984375 3.4375 -0.9375 C 3.203125 -0.421875 2.90625 -0.109375 2.515625 -0.109375 C 1.71875 -0.109375 1.71875 -0.84375 1.71875 -1.015625 C 1.71875 -1.328125 1.78125 -1.71875 2.25 -2.9375 C 2.34375 -3.234375 2.40625 -3.375 2.40625 -3.578125 C 2.40625 -4.015625 2.078125 -4.390625 1.59375 -4.390625 C 0.65625 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.828125 -3.859375 1.21875 -4.171875 1.5625 -4.171875 C 1.65625 -4.171875 1.8125 -4.15625 1.8125 -3.84375 C 1.8125 -3.59375 1.703125 -3.3125 1.640625 -3.140625 C 1.203125 -1.96875 1.078125 -1.515625 1.078125 -1.140625 C 1.078125 -0.234375 1.75 0.109375 2.484375 0.109375 C 2.65625 0.109375 3.125 0.109375 3.515625 -0.578125 C 3.78125 0.046875 4.46875 0.109375 4.765625 0.109375 C 5.5 0.109375 5.9375 -0.515625 6.203125 -1.109375 C 6.53125 -1.890625 6.859375 -3.21875 6.859375 -3.6875 Z M 6.859375 -3.6875 "/>
</symbol>
<symbol overflow="visible" id="glyph1-11">
<path style="stroke:none;" d="M 4.328125 -3.734375 C 4.328125 -4.09375 4.015625 -4.390625 3.5 -4.390625 C 2.859375 -4.390625 2.421875 -3.90625 2.234375 -3.625 C 2.15625 -4.0625 1.796875 -4.390625 1.328125 -4.390625 C 0.875 -4.390625 0.6875 -4 0.59375 -3.8125 C 0.421875 -3.484375 0.28125 -2.890625 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.765625 0.578125 -2.984375 C 0.75 -3.6875 0.9375 -4.171875 1.296875 -4.171875 C 1.46875 -4.171875 1.609375 -4.09375 1.609375 -3.703125 C 1.609375 -3.5 1.578125 -3.390625 1.453125 -2.875 L 0.875 -0.578125 C 0.84375 -0.4375 0.78125 -0.203125 0.78125 -0.15625 C 0.78125 0.015625 0.921875 0.109375 1.078125 0.109375 C 1.1875 0.109375 1.375 0.03125 1.4375 -0.171875 C 1.453125 -0.203125 1.796875 -1.5625 1.828125 -1.734375 L 2.15625 -3.03125 C 2.1875 -3.15625 2.46875 -3.625 2.703125 -3.84375 C 2.78125 -3.90625 3.078125 -4.171875 3.5 -4.171875 C 3.765625 -4.171875 3.921875 -4.046875 3.921875 -4.046875 C 3.625 -4 3.40625 -3.765625 3.40625 -3.5 C 3.40625 -3.34375 3.515625 -3.15625 3.78125 -3.15625 C 4.046875 -3.15625 4.328125 -3.390625 4.328125 -3.734375 Z M 4.328125 -3.734375 "/> <path style="stroke:none;" d="M 4.328125 -3.734375 C 4.328125 -4.09375 4.015625 -4.390625 3.5 -4.390625 C 2.859375 -4.390625 2.421875 -3.90625 2.234375 -3.625 C 2.15625 -4.0625 1.796875 -4.390625 1.328125 -4.390625 C 0.875 -4.390625 0.6875 -4 0.59375 -3.8125 C 0.421875 -3.484375 0.28125 -2.890625 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.765625 0.578125 -2.984375 C 0.75 -3.6875 0.9375 -4.171875 1.296875 -4.171875 C 1.46875 -4.171875 1.609375 -4.09375 1.609375 -3.703125 C 1.609375 -3.5 1.578125 -3.390625 1.453125 -2.875 L 0.875 -0.578125 C 0.84375 -0.4375 0.78125 -0.203125 0.78125 -0.15625 C 0.78125 0.015625 0.921875 0.109375 1.078125 0.109375 C 1.1875 0.109375 1.375 0.03125 1.4375 -0.171875 C 1.453125 -0.203125 1.796875 -1.5625 1.828125 -1.734375 L 2.15625 -3.03125 C 2.1875 -3.15625 2.46875 -3.625 2.703125 -3.84375 C 2.78125 -3.90625 3.078125 -4.171875 3.5 -4.171875 C 3.765625 -4.171875 3.921875 -4.046875 3.921875 -4.046875 C 3.625 -4 3.40625 -3.765625 3.40625 -3.5 C 3.40625 -3.34375 3.515625 -3.15625 3.78125 -3.15625 C 4.046875 -3.15625 4.328125 -3.390625 4.328125 -3.734375 Z M 4.328125 -3.734375 "/>
</symbol> </symbol>
<symbol overflow="visible" id="glyph2-0"> <symbol overflow="visible" id="glyph2-0">
@ -115,159 +118,159 @@
<path d="M 93 126 L 129 126 L 129 155.890625 L 93 155.890625 Z M 93 126 "/> <path d="M 93 126 L 129 126 L 129 155.890625 L 93 155.890625 Z M 93 126 "/>
</clipPath> </clipPath>
<clipPath id="clip2"> <clipPath id="clip2">
<path d="M 179 26 L 206.546875 26 L 206.546875 58 L 179 58 Z M 179 26 "/>
</clipPath>
<clipPath id="clip3">
<path d="M 115 125 L 149 125 L 149 155.890625 L 115 155.890625 Z M 115 125 "/> <path d="M 115 125 L 149 125 L 149 155.890625 L 115 155.890625 Z M 115 125 "/>
</clipPath> </clipPath>
</defs> </defs>
<g id="surface1"> <g id="surface1">
<path style="fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -25.475029 -22.641073 L 122.850086 -22.641073 L 122.850086 72.703786 L -25.475029 72.703786 Z M -25.475029 -22.641073 " transform="matrix(0.996465,0,0,-0.996465,62.517786,91.798339)"/> <path style="fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -25.474919 -22.641073 L 122.850197 -22.641073 L 122.850197 72.703786 L -25.474919 72.703786 Z M -25.474919 -22.641073 " transform="matrix(0.996465,0,0,-0.996465,62.548926,91.798339)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="38.528889" y="12.568413"/> <use xlink:href="#glyph0-1" x="38.560029" y="12.568413"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="47.908279" y="12.568413"/> <use xlink:href="#glyph0-2" x="47.939419" y="12.568413"/>
<use xlink:href="#glyph0-3" x="52.321" y="12.568413"/> <use xlink:href="#glyph0-3" x="52.35214" y="12.568413"/>
<use xlink:href="#glyph0-4" x="55.078827" y="12.568413"/> <use xlink:href="#glyph0-4" x="55.109967" y="12.568413"/>
<use xlink:href="#glyph0-5" x="60.042518" y="12.568413"/> <use xlink:href="#glyph0-5" x="60.073658" y="12.568413"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-6" x="65.280205" y="12.568413"/> <use xlink:href="#glyph0-6" x="65.311345" y="12.568413"/>
<use xlink:href="#glyph0-2" x="69.140963" y="12.568413"/> <use xlink:href="#glyph0-2" x="69.172104" y="12.568413"/>
<use xlink:href="#glyph0-7" x="73.553685" y="12.568413"/> <use xlink:href="#glyph0-7" x="73.584825" y="12.568413"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-8" x="82.375156" y="12.568413"/> <use xlink:href="#glyph0-8" x="82.406296" y="12.568413"/>
<use xlink:href="#glyph0-2" x="90.165173" y="12.568413"/> <use xlink:href="#glyph0-2" x="90.196313" y="12.568413"/>
<use xlink:href="#glyph0-9" x="94.577894" y="12.568413"/> <use xlink:href="#glyph0-9" x="94.609034" y="12.568413"/>
<use xlink:href="#glyph0-2" x="100.093547" y="12.568413"/> <use xlink:href="#glyph0-2" x="100.124688" y="12.568413"/>
<use xlink:href="#glyph0-10" x="104.506269" y="12.568413"/> <use xlink:href="#glyph0-10" x="104.537409" y="12.568413"/>
<use xlink:href="#glyph0-11" x="108.394824" y="12.568413"/> <use xlink:href="#glyph0-11" x="108.425964" y="12.568413"/>
<use xlink:href="#glyph0-12" x="113.358515" y="12.568413"/> <use xlink:href="#glyph0-12" x="113.389655" y="12.568413"/>
<use xlink:href="#glyph0-3" x="116.116342" y="12.568413"/> <use xlink:href="#glyph0-3" x="116.147482" y="12.568413"/>
<use xlink:href="#glyph0-13" x="118.874168" y="12.568413"/> <use xlink:href="#glyph0-13" x="118.905309" y="12.568413"/>
<use xlink:href="#glyph0-2" x="123.28689" y="12.568413"/> <use xlink:href="#glyph0-2" x="123.31803" y="12.568413"/>
<use xlink:href="#glyph0-7" x="127.699611" y="12.568413"/> <use xlink:href="#glyph0-7" x="127.730751" y="12.568413"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-14" x="136.521083" y="12.568413"/> <use xlink:href="#glyph0-14" x="136.552223" y="12.568413"/>
<use xlink:href="#glyph0-12" x="143.277659" y="12.568413"/> <use xlink:href="#glyph0-12" x="143.308799" y="12.568413"/>
<use xlink:href="#glyph0-11" x="146.035485" y="12.568413"/> <use xlink:href="#glyph0-11" x="146.066625" y="12.568413"/>
<use xlink:href="#glyph0-9" x="150.999176" y="12.568413"/> <use xlink:href="#glyph0-9" x="151.030316" y="12.568413"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-6" x="156.236863" y="12.568413"/> <use xlink:href="#glyph0-6" x="156.268003" y="12.568413"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-15" x="165.629988" y="10.059314"/> <use xlink:href="#glyph0-15" x="165.661128" y="10.059314"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="163.407871" y="12.568413"/> <use xlink:href="#glyph1-1" x="163.439011" y="12.568413"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-16" x="171.160369" y="12.568413"/> <use xlink:href="#glyph0-16" x="171.191509" y="12.568413"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="175.020674" y="12.568413"/> <use xlink:href="#glyph1-2" x="175.051814" y="12.568413"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-17" x="179.674166" y="12.568413"/> <use xlink:href="#glyph0-17" x="179.705306" y="12.568413"/>
</g> </g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -17.007596 -14.173641 L 17.007178 -14.173641 L 17.007178 14.172658 L -17.007596 14.172658 Z M -17.007596 -14.173641 " transform="matrix(0.996465,0,0,-0.996465,62.517786,91.798339)"/> <path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -17.007486 -14.173641 L 17.007289 -14.173641 L 17.007289 14.172658 L -17.007486 14.172658 Z M -17.007486 -14.173641 " transform="matrix(0.996465,0,0,-0.996465,62.548926,91.798339)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-3" x="52.427582" y="94.280533"/> <use xlink:href="#glyph1-3" x="52.458722" y="94.280533"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-16" x="60.232892" y="94.280533"/> <use xlink:href="#glyph0-16" x="60.264032" y="94.280533"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="64.093197" y="94.280533"/> <use xlink:href="#glyph1-2" x="64.124338" y="94.280533"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-17" x="68.746689" y="94.280533"/> <use xlink:href="#glyph0-17" x="68.777829" y="94.280533"/>
</g> </g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 54.440287 0.00146892 C 54.440287 5.50138 49.979204 9.962463 44.475373 9.962463 C 38.975462 9.962463 34.514379 5.50138 34.514379 0.00146892 C 34.514379 -5.502362 38.975462 -9.963445 44.475373 -9.963445 C 49.979204 -9.963445 54.440287 -5.502362 54.440287 0.00146892 Z M 54.440287 0.00146892 " transform="matrix(0.996465,0,0,-0.996465,62.517786,91.798339)"/> <path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 54.440397 0.00146892 C 54.440397 5.50138 49.979315 9.962463 44.475483 9.962463 C 38.975572 9.962463 34.51449 5.50138 34.51449 0.00146892 C 34.51449 -5.502362 38.975572 -9.963445 44.475483 -9.963445 C 49.979315 -9.963445 54.440397 -5.502362 54.440397 0.00146892 Z M 54.440397 0.00146892 " transform="matrix(0.996465,0,0,-0.996465,62.548926,91.798339)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="100.662465" y="95.949612"/> <use xlink:href="#glyph2-1" x="100.693605" y="95.949612"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="87.202216" y="88.986315"/> <use xlink:href="#glyph3-1" x="87.233357" y="88.986315"/>
</g> </g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 80.367879 35.890055 L 114.382654 35.890055 L 114.382654 64.236354 L 80.367879 64.236354 Z M 80.367879 35.890055 " transform="matrix(0.996465,0,0,-0.996465,62.517786,91.798339)"/> <path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 80.36799 35.890055 L 114.382764 35.890055 L 114.382764 64.236354 L 80.36799 64.236354 Z M 80.36799 35.890055 " transform="matrix(0.996465,0,0,-0.996465,62.548926,91.798339)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-4" x="146.549677" y="44.395504"/> <use xlink:href="#glyph1-4" x="146.580817" y="44.395504"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph4-1" x="155.925416" y="45.884222"/> <use xlink:href="#glyph4-1" x="155.956556" y="45.884222"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-16" x="160.16936" y="44.395504"/> <use xlink:href="#glyph0-16" x="160.2005" y="44.395504"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="164.029666" y="44.395504"/> <use xlink:href="#glyph1-2" x="164.060806" y="44.395504"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-17" x="168.683157" y="44.395504"/> <use xlink:href="#glyph0-17" x="168.714297" y="44.395504"/>
</g> </g>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 94.085938 154.898438 L 127.980469 154.898438 L 127.980469 126.652344 L 94.085938 126.652344 Z M 94.085938 154.898438 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 94.117188 154.898438 L 128.011719 154.898438 L 128.011719 126.652344 L 94.117188 126.652344 Z M 94.117188 154.898438 "/>
<g clip-path="url(#clip1)" clip-rule="nonzero"> <g clip-path="url(#clip1)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 31.680142 -63.323951 L 65.694916 -63.323951 L 65.694916 -34.977652 L 31.680142 -34.977652 Z M 31.680142 -63.323951 " transform="matrix(0.996465,0,0,-0.996465,62.517786,91.798339)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 31.680252 -63.323951 L 65.695026 -63.323951 L 65.695026 -34.977652 L 31.680252 -34.977652 Z M 31.680252 -63.323951 " transform="matrix(0.996465,0,0,-0.996465,62.548926,91.798339)"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-5" x="100.273844" y="143.25579"/> <use xlink:href="#glyph1-5" x="100.304984" y="143.25579"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-16" x="109.415414" y="143.25579"/> <use xlink:href="#glyph0-16" x="109.446554" y="143.25579"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="113.276715" y="143.25579"/> <use xlink:href="#glyph1-2" x="113.307855" y="143.25579"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-17" x="117.930207" y="143.25579"/> <use xlink:href="#glyph0-17" x="117.961347" y="143.25579"/>
</g> </g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 17.505032 0.00146892 L 29.880812 0.00146892 " transform="matrix(0.996465,0,0,-0.996465,62.517786,91.798339)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 17.505142 0.00146892 L 29.880922 0.00146892 " transform="matrix(0.996465,0,0,-0.996465,62.548926,91.798339)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.05294 0.00146892 L 1.607538 1.683195 L 3.089339 0.00146892 L 1.607538 -1.684177 Z M 6.05294 0.00146892 " transform="matrix(0.996465,0,0,-0.996465,89.464551,91.798339)"/> <path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053051 0.00146892 L 1.607649 1.683195 L 3.089449 0.00146892 L 1.607649 -1.684177 Z M 6.053051 0.00146892 " transform="matrix(0.996465,0,0,-0.996465,89.495691,91.798339)"/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 65.777238 0.00146892 L 65.777238 50.061244 L 75.236458 50.061244 " transform="matrix(0.996465,0,0,-0.996465,62.517786,91.798339)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 65.777349 0.00146892 L 65.777349 50.061244 L 75.236569 50.061244 " transform="matrix(0.996465,0,0,-0.996465,62.548926,91.798339)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.054267 -0.00183568 L 1.608864 1.683811 L 3.086745 -0.00183568 L 1.608864 -1.683562 Z M 6.054267 -0.00183568 " transform="matrix(0.996465,0,0,-0.996465,134.658542,41.912233)"/> <path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.054377 -0.00183568 L 1.608975 1.683811 L 3.086855 -0.00183568 L 1.608975 -1.683562 Z M 6.054377 -0.00183568 " transform="matrix(0.996465,0,0,-0.996465,134.689682,41.912233)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 130.050781 91.796875 C 130.050781 90.703125 129.160156 89.8125 128.0625 89.8125 C 126.96875 89.8125 126.078125 90.703125 126.078125 91.796875 C 126.078125 92.894531 126.96875 93.785156 128.0625 93.785156 C 129.160156 93.785156 130.050781 92.894531 130.050781 91.796875 Z M 130.050781 91.796875 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 130.082031 91.796875 C 130.082031 90.703125 129.191406 89.8125 128.09375 89.8125 C 127 89.8125 126.109375 90.703125 126.109375 91.796875 C 126.109375 92.894531 127 93.785156 128.09375 93.785156 C 129.191406 93.785156 130.082031 92.894531 130.082031 91.796875 Z M 130.082031 91.796875 "/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-6" x="134.268246" y="38.10781"/> <use xlink:href="#glyph1-6" x="134.299386" y="38.10781"/>
</g> </g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 114.880507 50.061244 L 132.924763 50.061244 " transform="matrix(0.996465,0,0,-0.996465,62.517786,91.798339)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 114.880618 50.061244 L 132.924874 50.061244 " transform="matrix(0.996465,0,0,-0.996465,62.548926,91.798339)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 198.175781 41.914062 L 193.746094 40.234375 L 195.222656 41.914062 L 193.746094 43.589844 Z M 198.175781 41.914062 "/> <path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052782 -0.00183568 L 1.60738 1.683811 L 3.08918 -0.00183568 L 1.60738 -1.683562 Z M 6.052782 -0.00183568 " transform="matrix(0.996465,0,0,-0.996465,192.175646,41.912233)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-7" x="188.45925" y="38.10781"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-18" x="196.270539" y="38.10781"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-15" x="206.831288" y="38.10781"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-6" x="206.749365" y="38.10781"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 54.440397 0.00146892 L 137.558441 0.00146892 L 137.558441 -49.148841 L 70.826447 -49.148841 " transform="matrix(0.996465,0,0,-0.996465,62.548926,91.798339)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 129.921875 140.773438 L 134.351562 142.453125 L 132.878906 140.773438 L 134.351562 139.097656 Z M 129.921875 140.773438 "/>
<g clip-path="url(#clip2)" clip-rule="nonzero"> <g clip-path="url(#clip2)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052672 -0.00183568 L 1.607269 1.683811 L 3.08907 -0.00183568 L 1.607269 -1.683562 Z M 6.052672 -0.00183568 " transform="matrix(0.996465,0,0,-0.996465,192.144506,41.912233)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053771 -0.00111851 L 1.608369 1.684528 L 3.086249 -0.00111851 L 1.608369 -1.682845 Z M 6.053771 -0.00111851 " transform="matrix(-0.996465,0,0,0.996465,135.954246,140.774552)"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-15" x="191.838013" y="38.10781"/> <use xlink:href="#glyph1-8" x="203.424161" y="118.423883"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 31.182398 -49.148841 L -40.183163 -49.148841 L -40.183163 0.00146892 L -22.138907 0.00146892 " transform="matrix(0.996465,0,0,-0.996465,62.548926,91.798339)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053841 0.00146892 L 1.608439 1.683195 L 3.08632 0.00146892 L 1.608439 -1.684177 Z M 6.053841 0.00146892 " transform="matrix(0.996465,0,0,-0.996465,37.658965,91.798339)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-9" x="13.019635" y="118.423883"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -45.851638 50.061244 L 44.475483 50.061244 L 44.475483 14.59603 " transform="matrix(0.996465,0,0,-0.996465,62.548926,91.798339)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053298 -0.00171665 L 1.607896 1.68393 L 3.085777 -0.00171665 L 1.607896 -1.683443 Z M 6.053298 -0.00171665 " transform="matrix(0,0.996465,0.996465,0,106.868898,74.425131)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-10" x="4.176009" y="38.10781"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-6" x="191.753314" y="38.10781"/> <use xlink:href="#glyph0-18" x="14.307068" y="38.10781"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 54.440287 0.00146892 L 131.71737 0.00146892 L 131.71737 -49.148841 L 70.826337 -49.148841 " transform="matrix(0.996465,0,0,-0.996465,62.517786,91.798339)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 129.890625 140.773438 L 134.320312 142.453125 L 132.847656 140.773438 L 134.320312 139.097656 Z M 129.890625 140.773438 "/>
<g clip-path="url(#clip3)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053881 -0.00111851 L 1.608479 1.684528 L 3.08636 -0.00111851 L 1.608479 -1.682845 Z M 6.053881 -0.00111851 " transform="matrix(-0.996465,0,0,0.996465,135.923106,140.774552)"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-7" x="197.573666" y="118.423883"/> <use xlink:href="#glyph1-11" x="24.78689" y="38.10781"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 31.182288 -49.148841 L -34.514797 -49.148841 L -34.514797 0.00146892 L -22.139017 0.00146892 " transform="matrix(0.996465,0,0,-0.996465,62.517786,91.798339)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053731 0.00146892 L 1.608329 1.683195 L 3.08621 0.00146892 L 1.608329 -1.684177 Z M 6.053731 0.00146892 " transform="matrix(0.996465,0,0,-0.996465,37.627825,91.798339)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-8" x="18.637455" y="118.423883"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -45.851749 50.061244 L 44.475373 50.061244 L 44.475373 14.59603 " transform="matrix(0.996465,0,0,-0.996465,62.517786,91.798339)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053298 -0.00182691 L 1.607896 1.683819 L 3.085777 -0.00182691 L 1.607896 -1.683553 Z M 6.053298 -0.00182691 " transform="matrix(0,0.996465,0.996465,0,106.837758,74.425131)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-9" x="4.144868" y="38.10781"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-18" x="14.275928" y="38.10781"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-10" x="24.75575" y="38.10781"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="160.592pt" height="119.836pt" viewBox="0 0 160.592 119.836" version="1.2"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="168.627pt" height="119.836pt" viewBox="0 0 168.627 119.836" version="1.2">
<defs> <defs>
<g> <g>
<symbol overflow="visible" id="glyph0-0"> <symbol overflow="visible" id="glyph0-0">
@ -63,18 +63,21 @@
<path style="stroke:none;" d="M 7.359375 -0.203125 C 7.359375 -0.3125 7.25 -0.3125 7.15625 -0.3125 C 6.75 -0.3125 6.625 -0.40625 6.46875 -0.75 L 5.0625 -4.015625 C 5.046875 -4.046875 5.015625 -4.125 5.015625 -4.15625 C 5.015625 -4.15625 5.1875 -4.296875 5.296875 -4.375 L 7.03125 -5.71875 C 7.96875 -6.40625 8.359375 -6.453125 8.65625 -6.484375 C 8.734375 -6.484375 8.828125 -6.5 8.828125 -6.671875 C 8.828125 -6.71875 8.796875 -6.78125 8.71875 -6.78125 C 8.5 -6.78125 8.265625 -6.75 8.015625 -6.75 C 7.65625 -6.75 7.28125 -6.78125 6.921875 -6.78125 C 6.84375 -6.78125 6.734375 -6.78125 6.734375 -6.59375 C 6.734375 -6.515625 6.78125 -6.484375 6.84375 -6.484375 C 7.0625 -6.453125 7.15625 -6.40625 7.15625 -6.265625 C 7.15625 -6.09375 6.859375 -5.859375 6.796875 -5.8125 L 2.921875 -2.828125 L 3.71875 -6.015625 C 3.8125 -6.375 3.828125 -6.484375 4.546875 -6.484375 C 4.796875 -6.484375 4.890625 -6.484375 4.890625 -6.671875 C 4.890625 -6.765625 4.8125 -6.78125 4.75 -6.78125 L 3.484375 -6.75 L 2.203125 -6.78125 C 2.125 -6.78125 2 -6.78125 2 -6.59375 C 2 -6.484375 2.09375 -6.484375 2.28125 -6.484375 C 2.421875 -6.484375 2.59375 -6.46875 2.71875 -6.453125 C 2.875 -6.4375 2.9375 -6.40625 2.9375 -6.296875 C 2.9375 -6.265625 2.921875 -6.234375 2.890625 -6.109375 L 1.5625 -0.78125 C 1.453125 -0.390625 1.4375 -0.3125 0.65625 -0.3125 C 0.484375 -0.3125 0.375 -0.3125 0.375 -0.125 C 0.375 0 0.5 0 0.53125 0 L 1.78125 -0.03125 L 2.421875 -0.015625 C 2.640625 -0.015625 2.859375 0 3.078125 0 C 3.140625 0 3.265625 0 3.265625 -0.203125 C 3.265625 -0.3125 3.1875 -0.3125 2.984375 -0.3125 C 2.625 -0.3125 2.34375 -0.3125 2.34375 -0.484375 C 2.34375 -0.5625 2.40625 -0.78125 2.4375 -0.921875 L 2.828125 -2.484375 L 4.3125 -3.640625 L 5.46875 -0.96875 C 5.578125 -0.703125 5.578125 -0.671875 5.578125 -0.609375 C 5.578125 -0.3125 5.15625 -0.3125 5.0625 -0.3125 C 4.953125 -0.3125 4.84375 -0.3125 4.84375 -0.109375 C 4.84375 0 4.984375 0 4.984375 0 C 5.390625 0 5.796875 -0.03125 6.203125 -0.03125 C 6.421875 -0.03125 6.953125 0 7.171875 0 C 7.21875 0 7.359375 0 7.359375 -0.203125 Z M 7.359375 -0.203125 "/> <path style="stroke:none;" d="M 7.359375 -0.203125 C 7.359375 -0.3125 7.25 -0.3125 7.15625 -0.3125 C 6.75 -0.3125 6.625 -0.40625 6.46875 -0.75 L 5.0625 -4.015625 C 5.046875 -4.046875 5.015625 -4.125 5.015625 -4.15625 C 5.015625 -4.15625 5.1875 -4.296875 5.296875 -4.375 L 7.03125 -5.71875 C 7.96875 -6.40625 8.359375 -6.453125 8.65625 -6.484375 C 8.734375 -6.484375 8.828125 -6.5 8.828125 -6.671875 C 8.828125 -6.71875 8.796875 -6.78125 8.71875 -6.78125 C 8.5 -6.78125 8.265625 -6.75 8.015625 -6.75 C 7.65625 -6.75 7.28125 -6.78125 6.921875 -6.78125 C 6.84375 -6.78125 6.734375 -6.78125 6.734375 -6.59375 C 6.734375 -6.515625 6.78125 -6.484375 6.84375 -6.484375 C 7.0625 -6.453125 7.15625 -6.40625 7.15625 -6.265625 C 7.15625 -6.09375 6.859375 -5.859375 6.796875 -5.8125 L 2.921875 -2.828125 L 3.71875 -6.015625 C 3.8125 -6.375 3.828125 -6.484375 4.546875 -6.484375 C 4.796875 -6.484375 4.890625 -6.484375 4.890625 -6.671875 C 4.890625 -6.765625 4.8125 -6.78125 4.75 -6.78125 L 3.484375 -6.75 L 2.203125 -6.78125 C 2.125 -6.78125 2 -6.78125 2 -6.59375 C 2 -6.484375 2.09375 -6.484375 2.28125 -6.484375 C 2.421875 -6.484375 2.59375 -6.46875 2.71875 -6.453125 C 2.875 -6.4375 2.9375 -6.40625 2.9375 -6.296875 C 2.9375 -6.265625 2.921875 -6.234375 2.890625 -6.109375 L 1.5625 -0.78125 C 1.453125 -0.390625 1.4375 -0.3125 0.65625 -0.3125 C 0.484375 -0.3125 0.375 -0.3125 0.375 -0.125 C 0.375 0 0.5 0 0.53125 0 L 1.78125 -0.03125 L 2.421875 -0.015625 C 2.640625 -0.015625 2.859375 0 3.078125 0 C 3.140625 0 3.265625 0 3.265625 -0.203125 C 3.265625 -0.3125 3.1875 -0.3125 2.984375 -0.3125 C 2.625 -0.3125 2.34375 -0.3125 2.34375 -0.484375 C 2.34375 -0.5625 2.40625 -0.78125 2.4375 -0.921875 L 2.828125 -2.484375 L 4.3125 -3.640625 L 5.46875 -0.96875 C 5.578125 -0.703125 5.578125 -0.671875 5.578125 -0.609375 C 5.578125 -0.3125 5.15625 -0.3125 5.0625 -0.3125 C 4.953125 -0.3125 4.84375 -0.3125 4.84375 -0.109375 C 4.84375 0 4.984375 0 4.984375 0 C 5.390625 0 5.796875 -0.03125 6.203125 -0.03125 C 6.421875 -0.03125 6.953125 0 7.171875 0 C 7.21875 0 7.359375 0 7.359375 -0.203125 Z M 7.359375 -0.203125 "/>
</symbol> </symbol>
<symbol overflow="visible" id="glyph1-5"> <symbol overflow="visible" id="glyph1-5">
<path style="stroke:none;" d="M 3.5625 -0.390625 C 3.5625 -0.421875 3.546875 -0.53125 3.453125 -0.53125 C 3.453125 -0.53125 3.421875 -0.53125 3.328125 -0.484375 C 3.015625 -0.28125 2.65625 -0.109375 2.28125 -0.109375 C 1.703125 -0.109375 1.21875 -0.53125 1.21875 -1.40625 C 1.21875 -1.75 1.296875 -2.125 1.328125 -2.25 L 2.96875 -2.25 C 3.125 -2.25 3.296875 -2.25 3.296875 -2.421875 C 3.296875 -2.546875 3.1875 -2.546875 3.015625 -2.546875 L 1.40625 -2.546875 C 1.640625 -3.40625 2.203125 -3.96875 3.09375 -3.96875 L 3.40625 -3.96875 C 3.578125 -3.96875 3.734375 -3.96875 3.734375 -4.140625 C 3.734375 -4.28125 3.609375 -4.28125 3.4375 -4.28125 L 3.09375 -4.28125 C 1.796875 -4.28125 0.46875 -3.296875 0.46875 -1.765625 C 0.46875 -0.671875 1.21875 0.109375 2.265625 0.109375 C 2.90625 0.109375 3.5625 -0.28125 3.5625 -0.390625 Z M 3.5625 -0.390625 "/> <path style="stroke:none;" d="M 4.328125 -1.421875 C 4.328125 -1.46875 4.28125 -1.515625 4.203125 -1.515625 C 4.109375 -1.515625 4.09375 -1.453125 4.0625 -1.390625 C 3.828125 -0.75 3.203125 -0.5625 2.875 -0.5625 C 2.671875 -0.5625 2.5 -0.609375 2.28125 -0.6875 C 1.953125 -0.8125 1.796875 -0.859375 1.59375 -0.859375 C 1.59375 -0.859375 1.40625 -0.859375 1.328125 -0.828125 C 1.859375 -1.40625 2.140625 -1.65625 2.5 -1.953125 C 2.5 -1.953125 3.125 -2.5 3.484375 -2.859375 C 4.421875 -3.78125 4.640625 -4.25 4.640625 -4.296875 C 4.640625 -4.390625 4.53125 -4.390625 4.53125 -4.390625 C 4.46875 -4.390625 4.4375 -4.375 4.375 -4.28125 C 4.078125 -3.8125 3.875 -3.640625 3.640625 -3.640625 C 3.40625 -3.640625 3.28125 -3.796875 3.125 -3.96875 C 2.9375 -4.1875 2.765625 -4.390625 2.4375 -4.390625 C 1.703125 -4.390625 1.25 -3.46875 1.25 -3.265625 C 1.25 -3.203125 1.265625 -3.15625 1.359375 -3.15625 C 1.453125 -3.15625 1.46875 -3.203125 1.484375 -3.265625 C 1.671875 -3.71875 2.25 -3.734375 2.328125 -3.734375 C 2.546875 -3.734375 2.734375 -3.65625 2.96875 -3.578125 C 3.359375 -3.421875 3.46875 -3.421875 3.734375 -3.421875 C 3.375 -3 2.53125 -2.28125 2.34375 -2.125 L 1.453125 -1.296875 C 0.78125 -0.625 0.421875 -0.0625 0.421875 0.015625 C 0.421875 0.109375 0.546875 0.109375 0.546875 0.109375 C 0.625 0.109375 0.640625 0.09375 0.703125 -0.015625 C 0.9375 -0.375 1.234375 -0.640625 1.546875 -0.640625 C 1.78125 -0.640625 1.875 -0.546875 2.125 -0.265625 C 2.296875 -0.046875 2.46875 0.109375 2.765625 0.109375 C 3.75 0.109375 4.328125 -1.15625 4.328125 -1.421875 Z M 4.328125 -1.421875 "/>
</symbol> </symbol>
<symbol overflow="visible" id="glyph1-6"> <symbol overflow="visible" id="glyph1-6">
<path style="stroke:none;" d="M 4.65625 -3.703125 C 4.65625 -4.234375 4.390625 -4.390625 4.21875 -4.390625 C 3.96875 -4.390625 3.734375 -4.140625 3.734375 -3.921875 C 3.734375 -3.78125 3.78125 -3.734375 3.890625 -3.625 C 4.09375 -3.421875 4.21875 -3.15625 4.21875 -2.796875 C 4.21875 -2.390625 3.625 -0.109375 2.453125 -0.109375 C 1.953125 -0.109375 1.71875 -0.453125 1.71875 -0.96875 C 1.71875 -1.53125 1.984375 -2.25 2.296875 -3.078125 C 2.359375 -3.25 2.421875 -3.390625 2.421875 -3.578125 C 2.421875 -4.03125 2.09375 -4.390625 1.59375 -4.390625 C 0.671875 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.859375 -3.9375 1.28125 -4.171875 1.5625 -4.171875 C 1.65625 -4.171875 1.8125 -4.171875 1.8125 -3.859375 C 1.8125 -3.609375 1.71875 -3.34375 1.65625 -3.15625 C 1.21875 -2 1.078125 -1.546875 1.078125 -1.125 C 1.078125 -0.046875 1.953125 0.109375 2.421875 0.109375 C 4.078125 0.109375 4.65625 -3.1875 4.65625 -3.703125 Z M 4.65625 -3.703125 "/> <path style="stroke:none;" d="M 3.5625 -0.390625 C 3.5625 -0.421875 3.546875 -0.53125 3.453125 -0.53125 C 3.453125 -0.53125 3.421875 -0.53125 3.328125 -0.484375 C 3.015625 -0.28125 2.65625 -0.109375 2.28125 -0.109375 C 1.703125 -0.109375 1.21875 -0.53125 1.21875 -1.40625 C 1.21875 -1.75 1.296875 -2.125 1.328125 -2.25 L 2.96875 -2.25 C 3.125 -2.25 3.296875 -2.25 3.296875 -2.421875 C 3.296875 -2.546875 3.1875 -2.546875 3.015625 -2.546875 L 1.40625 -2.546875 C 1.640625 -3.40625 2.203125 -3.96875 3.09375 -3.96875 L 3.40625 -3.96875 C 3.578125 -3.96875 3.734375 -3.96875 3.734375 -4.140625 C 3.734375 -4.28125 3.609375 -4.28125 3.4375 -4.28125 L 3.09375 -4.28125 C 1.796875 -4.28125 0.46875 -3.296875 0.46875 -1.765625 C 0.46875 -0.671875 1.21875 0.109375 2.265625 0.109375 C 2.90625 0.109375 3.5625 -0.28125 3.5625 -0.390625 Z M 3.5625 -0.390625 "/>
</symbol> </symbol>
<symbol overflow="visible" id="glyph1-7"> <symbol overflow="visible" id="glyph1-7">
<path style="stroke:none;" d="M 5.390625 -1.421875 C 5.390625 -1.515625 5.3125 -1.515625 5.28125 -1.515625 C 5.171875 -1.515625 5.171875 -1.484375 5.140625 -1.34375 C 5 -0.78125 4.8125 -0.109375 4.390625 -0.109375 C 4.1875 -0.109375 4.078125 -0.234375 4.078125 -0.5625 C 4.078125 -0.78125 4.203125 -1.25 4.28125 -1.59375 L 4.5625 -2.671875 C 4.59375 -2.828125 4.6875 -3.203125 4.734375 -3.34375 C 4.78125 -3.578125 4.875 -3.953125 4.875 -4.015625 C 4.875 -4.1875 4.734375 -4.28125 4.59375 -4.28125 C 4.546875 -4.28125 4.28125 -4.265625 4.203125 -3.9375 L 3.453125 -0.9375 C 3.453125 -0.90625 3.046875 -0.109375 2.328125 -0.109375 C 1.8125 -0.109375 1.703125 -0.5625 1.703125 -0.921875 C 1.703125 -1.484375 1.984375 -2.265625 2.25 -2.953125 C 2.359375 -3.25 2.421875 -3.390625 2.421875 -3.578125 C 2.421875 -4.03125 2.09375 -4.390625 1.59375 -4.390625 C 0.65625 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.8125 -3.8125 1.1875 -4.171875 1.5625 -4.171875 C 1.65625 -4.171875 1.8125 -4.15625 1.8125 -3.84375 C 1.8125 -3.609375 1.703125 -3.3125 1.65625 -3.171875 C 1.28125 -2.1875 1.078125 -1.5625 1.078125 -1.078125 C 1.078125 -0.140625 1.765625 0.109375 2.296875 0.109375 C 2.953125 0.109375 3.3125 -0.34375 3.484375 -0.5625 C 3.59375 -0.15625 3.9375 0.109375 4.359375 0.109375 C 4.703125 0.109375 4.9375 -0.125 5.09375 -0.4375 C 5.265625 -0.796875 5.390625 -1.421875 5.390625 -1.421875 Z M 5.390625 -1.421875 "/> <path style="stroke:none;" d="M 4.65625 -3.703125 C 4.65625 -4.234375 4.390625 -4.390625 4.21875 -4.390625 C 3.96875 -4.390625 3.734375 -4.140625 3.734375 -3.921875 C 3.734375 -3.78125 3.78125 -3.734375 3.890625 -3.625 C 4.09375 -3.421875 4.21875 -3.15625 4.21875 -2.796875 C 4.21875 -2.390625 3.625 -0.109375 2.453125 -0.109375 C 1.953125 -0.109375 1.71875 -0.453125 1.71875 -0.96875 C 1.71875 -1.53125 1.984375 -2.25 2.296875 -3.078125 C 2.359375 -3.25 2.421875 -3.390625 2.421875 -3.578125 C 2.421875 -4.03125 2.09375 -4.390625 1.59375 -4.390625 C 0.671875 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.859375 -3.9375 1.28125 -4.171875 1.5625 -4.171875 C 1.65625 -4.171875 1.8125 -4.171875 1.8125 -3.859375 C 1.8125 -3.609375 1.71875 -3.34375 1.65625 -3.15625 C 1.21875 -2 1.078125 -1.546875 1.078125 -1.125 C 1.078125 -0.046875 1.953125 0.109375 2.421875 0.109375 C 4.078125 0.109375 4.65625 -3.1875 4.65625 -3.703125 Z M 4.65625 -3.703125 "/>
</symbol> </symbol>
<symbol overflow="visible" id="glyph1-8"> <symbol overflow="visible" id="glyph1-8">
<path style="stroke:none;" d="M 6.859375 -3.703125 C 6.859375 -4.25 6.59375 -4.390625 6.421875 -4.390625 C 6.1875 -4.390625 5.9375 -4.140625 5.9375 -3.921875 C 5.9375 -3.78125 6 -3.734375 6.078125 -3.640625 C 6.1875 -3.53125 6.4375 -3.28125 6.4375 -2.796875 C 6.4375 -2.46875 6.15625 -1.484375 5.890625 -0.984375 C 5.640625 -0.453125 5.28125 -0.109375 4.796875 -0.109375 C 4.328125 -0.109375 4.0625 -0.40625 4.0625 -0.96875 C 4.0625 -1.25 4.140625 -1.5625 4.171875 -1.703125 L 4.59375 -3.375 C 4.640625 -3.59375 4.734375 -3.953125 4.734375 -4.015625 C 4.734375 -4.1875 4.59375 -4.28125 4.453125 -4.28125 C 4.328125 -4.28125 4.15625 -4.203125 4.078125 -4 C 4.046875 -3.9375 3.59375 -2.03125 3.515625 -1.78125 C 3.453125 -1.484375 3.421875 -1.296875 3.421875 -1.125 C 3.421875 -1.015625 3.421875 -1 3.4375 -0.9375 C 3.203125 -0.421875 2.90625 -0.109375 2.53125 -0.109375 C 1.734375 -0.109375 1.734375 -0.84375 1.734375 -1.015625 C 1.734375 -1.328125 1.78125 -1.71875 2.25 -2.9375 C 2.359375 -3.234375 2.421875 -3.375 2.421875 -3.578125 C 2.421875 -4.03125 2.09375 -4.390625 1.59375 -4.390625 C 0.65625 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.828125 -3.859375 1.21875 -4.171875 1.5625 -4.171875 C 1.65625 -4.171875 1.8125 -4.15625 1.8125 -3.84375 C 1.8125 -3.59375 1.703125 -3.3125 1.640625 -3.15625 C 1.203125 -1.984375 1.078125 -1.515625 1.078125 -1.140625 C 1.078125 -0.234375 1.75 0.109375 2.5 0.109375 C 2.65625 0.109375 3.125 0.109375 3.53125 -0.59375 C 3.78125 0.046875 4.46875 0.109375 4.765625 0.109375 C 5.515625 0.109375 5.953125 -0.515625 6.21875 -1.109375 C 6.546875 -1.890625 6.859375 -3.21875 6.859375 -3.703125 Z M 6.859375 -3.703125 "/> <path style="stroke:none;" d="M 5.390625 -1.421875 C 5.390625 -1.515625 5.3125 -1.515625 5.28125 -1.515625 C 5.171875 -1.515625 5.171875 -1.484375 5.140625 -1.34375 C 5 -0.78125 4.8125 -0.109375 4.390625 -0.109375 C 4.1875 -0.109375 4.078125 -0.234375 4.078125 -0.5625 C 4.078125 -0.78125 4.203125 -1.25 4.28125 -1.59375 L 4.5625 -2.671875 C 4.59375 -2.828125 4.6875 -3.203125 4.734375 -3.34375 C 4.78125 -3.578125 4.875 -3.953125 4.875 -4.015625 C 4.875 -4.1875 4.734375 -4.28125 4.59375 -4.28125 C 4.546875 -4.28125 4.28125 -4.265625 4.203125 -3.9375 L 3.453125 -0.9375 C 3.453125 -0.90625 3.046875 -0.109375 2.328125 -0.109375 C 1.8125 -0.109375 1.703125 -0.5625 1.703125 -0.921875 C 1.703125 -1.484375 1.984375 -2.265625 2.25 -2.953125 C 2.359375 -3.25 2.421875 -3.390625 2.421875 -3.578125 C 2.421875 -4.03125 2.09375 -4.390625 1.59375 -4.390625 C 0.65625 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.8125 -3.8125 1.1875 -4.171875 1.5625 -4.171875 C 1.65625 -4.171875 1.8125 -4.15625 1.8125 -3.84375 C 1.8125 -3.609375 1.703125 -3.3125 1.65625 -3.171875 C 1.28125 -2.1875 1.078125 -1.5625 1.078125 -1.078125 C 1.078125 -0.140625 1.765625 0.109375 2.296875 0.109375 C 2.953125 0.109375 3.3125 -0.34375 3.484375 -0.5625 C 3.59375 -0.15625 3.9375 0.109375 4.359375 0.109375 C 4.703125 0.109375 4.9375 -0.125 5.09375 -0.4375 C 5.265625 -0.796875 5.390625 -1.421875 5.390625 -1.421875 Z M 5.390625 -1.421875 "/>
</symbol> </symbol>
<symbol overflow="visible" id="glyph1-9"> <symbol overflow="visible" id="glyph1-9">
<path style="stroke:none;" d="M 6.859375 -3.703125 C 6.859375 -4.25 6.59375 -4.390625 6.421875 -4.390625 C 6.1875 -4.390625 5.9375 -4.140625 5.9375 -3.921875 C 5.9375 -3.78125 6 -3.734375 6.078125 -3.640625 C 6.1875 -3.53125 6.4375 -3.28125 6.4375 -2.796875 C 6.4375 -2.46875 6.15625 -1.484375 5.890625 -0.984375 C 5.640625 -0.453125 5.28125 -0.109375 4.796875 -0.109375 C 4.328125 -0.109375 4.0625 -0.40625 4.0625 -0.96875 C 4.0625 -1.25 4.140625 -1.5625 4.171875 -1.703125 L 4.59375 -3.375 C 4.640625 -3.59375 4.734375 -3.953125 4.734375 -4.015625 C 4.734375 -4.1875 4.59375 -4.28125 4.453125 -4.28125 C 4.328125 -4.28125 4.15625 -4.203125 4.078125 -4 C 4.046875 -3.9375 3.59375 -2.03125 3.515625 -1.78125 C 3.453125 -1.484375 3.421875 -1.296875 3.421875 -1.125 C 3.421875 -1.015625 3.421875 -1 3.4375 -0.9375 C 3.203125 -0.421875 2.90625 -0.109375 2.53125 -0.109375 C 1.734375 -0.109375 1.734375 -0.84375 1.734375 -1.015625 C 1.734375 -1.328125 1.78125 -1.71875 2.25 -2.9375 C 2.359375 -3.234375 2.421875 -3.375 2.421875 -3.578125 C 2.421875 -4.03125 2.09375 -4.390625 1.59375 -4.390625 C 0.65625 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.828125 -3.859375 1.21875 -4.171875 1.5625 -4.171875 C 1.65625 -4.171875 1.8125 -4.15625 1.8125 -3.84375 C 1.8125 -3.59375 1.703125 -3.3125 1.640625 -3.15625 C 1.203125 -1.984375 1.078125 -1.515625 1.078125 -1.140625 C 1.078125 -0.234375 1.75 0.109375 2.5 0.109375 C 2.65625 0.109375 3.125 0.109375 3.53125 -0.59375 C 3.78125 0.046875 4.46875 0.109375 4.765625 0.109375 C 5.515625 0.109375 5.953125 -0.515625 6.21875 -1.109375 C 6.546875 -1.890625 6.859375 -3.21875 6.859375 -3.703125 Z M 6.859375 -3.703125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-10">
<path style="stroke:none;" d="M 4.328125 -3.75 C 4.328125 -4.09375 4.015625 -4.390625 3.515625 -4.390625 C 2.859375 -4.390625 2.421875 -3.90625 2.234375 -3.625 C 2.15625 -4.078125 1.796875 -4.390625 1.328125 -4.390625 C 0.875 -4.390625 0.6875 -4 0.59375 -3.828125 C 0.421875 -3.484375 0.28125 -2.890625 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.765625 0.578125 -2.984375 C 0.75 -3.703125 0.9375 -4.171875 1.296875 -4.171875 C 1.46875 -4.171875 1.609375 -4.09375 1.609375 -3.71875 C 1.609375 -3.515625 1.578125 -3.40625 1.453125 -2.875 L 0.875 -0.59375 C 0.84375 -0.4375 0.78125 -0.203125 0.78125 -0.15625 C 0.78125 0.015625 0.921875 0.109375 1.078125 0.109375 C 1.1875 0.109375 1.375 0.03125 1.4375 -0.171875 C 1.453125 -0.203125 1.796875 -1.5625 1.84375 -1.734375 L 2.15625 -3.03125 C 2.203125 -3.15625 2.46875 -3.625 2.71875 -3.84375 C 2.796875 -3.921875 3.078125 -4.171875 3.515625 -4.171875 C 3.765625 -4.171875 3.921875 -4.046875 3.921875 -4.046875 C 3.625 -4 3.40625 -3.765625 3.40625 -3.515625 C 3.40625 -3.34375 3.515625 -3.15625 3.78125 -3.15625 C 4.046875 -3.15625 4.328125 -3.390625 4.328125 -3.75 Z M 4.328125 -3.75 "/> <path style="stroke:none;" d="M 4.328125 -3.75 C 4.328125 -4.09375 4.015625 -4.390625 3.515625 -4.390625 C 2.859375 -4.390625 2.421875 -3.90625 2.234375 -3.625 C 2.15625 -4.078125 1.796875 -4.390625 1.328125 -4.390625 C 0.875 -4.390625 0.6875 -4 0.59375 -3.828125 C 0.421875 -3.484375 0.28125 -2.890625 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.765625 0.578125 -2.984375 C 0.75 -3.703125 0.9375 -4.171875 1.296875 -4.171875 C 1.46875 -4.171875 1.609375 -4.09375 1.609375 -3.71875 C 1.609375 -3.515625 1.578125 -3.40625 1.453125 -2.875 L 0.875 -0.59375 C 0.84375 -0.4375 0.78125 -0.203125 0.78125 -0.15625 C 0.78125 0.015625 0.921875 0.109375 1.078125 0.109375 C 1.1875 0.109375 1.375 0.03125 1.4375 -0.171875 C 1.453125 -0.203125 1.796875 -1.5625 1.84375 -1.734375 L 2.15625 -3.03125 C 2.203125 -3.15625 2.46875 -3.625 2.71875 -3.84375 C 2.796875 -3.921875 3.078125 -4.171875 3.515625 -4.171875 C 3.765625 -4.171875 3.921875 -4.046875 3.921875 -4.046875 C 3.625 -4 3.40625 -3.765625 3.40625 -3.515625 C 3.40625 -3.34375 3.515625 -3.15625 3.78125 -3.15625 C 4.046875 -3.15625 4.328125 -3.390625 4.328125 -3.75 Z M 4.328125 -3.75 "/>
</symbol> </symbol>
<symbol overflow="visible" id="glyph2-0"> <symbol overflow="visible" id="glyph2-0">
@ -91,127 +94,127 @@
</symbol> </symbol>
</g> </g>
<clipPath id="clip1"> <clipPath id="clip1">
<path d="M 32 0.0703125 L 143 0.0703125 L 143 88 L 32 88 Z M 32 0.0703125 "/> <path d="M 32 0.0507812 L 140 0.0507812 L 140 88 L 32 88 Z M 32 0.0507812 "/>
</clipPath> </clipPath>
<clipPath id="clip2"> <clipPath id="clip2">
<path d="M 64 89 L 100 89 L 100 119.601562 L 64 119.601562 Z M 64 89 "/> <path d="M 64 89 L 100 89 L 100 119.621094 L 64 119.621094 Z M 64 89 "/>
</clipPath> </clipPath>
<clipPath id="clip3"> <clipPath id="clip3">
<path d="M 133 9 L 160.183594 9 L 160.183594 41 L 133 41 Z M 133 9 "/> <path d="M 86 88 L 120 88 L 120 119.621094 L 86 119.621094 Z M 86 88 "/>
</clipPath>
<clipPath id="clip4">
<path d="M 86 88 L 120 88 L 120 119.601562 L 86 119.601562 Z M 86 88 "/>
</clipPath> </clipPath>
</defs> </defs>
<g id="surface1"> <g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 32.855469 86.746094 L 142.183594 86.746094 L 142.183594 1.066406 L 32.855469 1.066406 Z M 32.855469 86.746094 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 32.867188 86.757812 L 138.898438 86.757812 L 138.898438 1.046875 L 32.867188 1.046875 Z M 32.867188 86.757812 "/>
<g clip-path="url(#clip1)" clip-rule="nonzero"> <g clip-path="url(#clip1)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -29.462059 -26.625253 L 80.143825 -26.625253 L 80.143825 59.272112 L -29.462059 59.272112 Z M -29.462059 -26.625253 " transform="matrix(0.997466,0,0,-0.997466,62.242866,60.188313)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -29.461111 -26.628182 L 76.804678 -26.628182 L 76.804678 59.272347 L -29.461111 59.272347 Z M -29.461111 -26.628182 " transform="matrix(0.997793,0,0,-0.997793,62.263275,60.188402)"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="36.888282" y="11.831169"/> <use xlink:href="#glyph0-1" x="35.235061" y="11.815402"/>
<use xlink:href="#glyph0-2" x="44.686123" y="11.831169"/> <use xlink:href="#glyph0-2" x="43.035459" y="11.815402"/>
<use xlink:href="#glyph0-3" x="49.103276" y="11.831169"/> <use xlink:href="#glyph0-3" x="47.45406" y="11.815402"/>
<use xlink:href="#glyph0-2" x="54.62447" y="11.831169"/> <use xlink:href="#glyph0-2" x="52.977064" y="11.815402"/>
<use xlink:href="#glyph0-4" x="59.041623" y="11.831169"/> <use xlink:href="#glyph0-4" x="57.395666" y="11.815402"/>
<use xlink:href="#glyph0-5" x="62.934084" y="11.831169"/> <use xlink:href="#glyph0-5" x="61.289404" y="11.815402"/>
<use xlink:href="#glyph0-6" x="67.902761" y="11.831169"/> <use xlink:href="#glyph0-6" x="66.259709" y="11.815402"/>
<use xlink:href="#glyph0-7" x="70.663358" y="11.831169"/> <use xlink:href="#glyph0-7" x="69.021211" y="11.815402"/>
<use xlink:href="#glyph0-8" x="73.423954" y="11.831169"/> <use xlink:href="#glyph0-8" x="71.782713" y="11.815402"/>
<use xlink:href="#glyph0-2" x="77.841108" y="11.831169"/> <use xlink:href="#glyph0-2" x="76.201315" y="11.815402"/>
<use xlink:href="#glyph0-9" x="82.258261" y="11.831169"/> <use xlink:href="#glyph0-9" x="80.619917" y="11.815402"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-10" x="91.088593" y="11.831169"/> <use xlink:href="#glyph0-10" x="89.453144" y="11.815402"/>
<use xlink:href="#glyph0-6" x="97.851956" y="11.831169"/> <use xlink:href="#glyph0-6" x="96.218724" y="11.815402"/>
<use xlink:href="#glyph0-5" x="100.612553" y="11.831169"/> <use xlink:href="#glyph0-5" x="98.980226" y="11.815402"/>
<use xlink:href="#glyph0-3" x="105.581229" y="11.831169"/> <use xlink:href="#glyph0-3" x="103.950532" y="11.815402"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-11" x="110.824177" y="11.831169"/> <use xlink:href="#glyph0-11" x="109.195199" y="11.815402"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="118.002204" y="11.831169"/> <use xlink:href="#glyph1-1" x="116.375579" y="11.815402"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-12" x="125.76149" y="11.831169"/> <use xlink:href="#glyph0-12" x="124.138408" y="11.815402"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="129.626671" y="11.831169"/> <use xlink:href="#glyph1-2" x="128.003858" y="11.815402"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-13" x="134.284836" y="11.831169"/> <use xlink:href="#glyph0-13" x="132.663551" y="11.815402"/>
</g> </g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -17.008625 -14.171819 L 17.007265 -14.171819 L 17.007265 14.17345 L -17.008625 14.17345 Z M -17.008625 -14.171819 " transform="matrix(0.997466,0,0,-0.997466,62.242866,60.188313)"/> <path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -17.007844 -14.174915 L 17.00864 -14.174915 L 17.00864 14.172808 L -17.007844 14.172808 Z M -17.007844 -14.174915 " transform="matrix(0.997793,0,0,-0.997793,62.263275,60.188402)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-3" x="52.142527" y="62.673001"/> <use xlink:href="#glyph1-3" x="52.159624" y="62.673904"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-12" x="59.955677" y="62.673001"/> <use xlink:href="#glyph0-12" x="59.975336" y="62.673904"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="63.819859" y="62.673001"/> <use xlink:href="#glyph1-2" x="63.840785" y="62.673904"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-13" x="68.478025" y="62.673001"/> <use xlink:href="#glyph0-13" x="68.500478" y="62.673904"/>
</g> </g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 54.438058 0.000815308 C 54.438058 5.50304 49.981452 9.963563 44.475311 9.963563 C 38.973086 9.963563 34.512563 5.50304 34.512563 0.000815308 C 34.512563 -5.501409 38.973086 -9.961932 44.475311 -9.961932 C 49.981452 -9.961932 54.438058 -5.501409 54.438058 0.000815308 Z M 54.438058 0.000815308 " transform="matrix(0.997466,0,0,-0.997466,62.242866,60.188313)"/> <path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 54.438909 0.000903871 C 54.438909 5.501325 49.979848 9.9643 44.475512 9.9643 C 38.975091 9.9643 34.516031 5.501325 34.516031 0.000903871 C 34.516031 -5.503432 38.975091 -9.962493 44.475512 -9.962493 C 49.979848 -9.962493 54.438909 -5.503432 54.438909 0.000903871 Z M 54.438909 0.000903871 " transform="matrix(0.997793,0,0,-0.997793,62.263275,60.188402)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="100.425858" y="64.344753"/> <use xlink:href="#glyph2-1" x="100.458787" y="64.346205"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="86.95209" y="57.373465"/> <use xlink:href="#glyph3-1" x="86.9806" y="57.37263"/>
</g> </g>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 65.152344 118.605469 L 99.082031 118.605469 L 99.082031 90.332031 L 65.152344 90.332031 Z M 65.152344 118.605469 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 65.175781 118.625 L 99.117188 118.625 L 99.117188 90.34375 L 65.175781 90.34375 Z M 65.175781 118.625 "/>
<g clip-path="url(#clip2)" clip-rule="nonzero"> <g clip-path="url(#clip2)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2.91687 -58.56557 L 36.932759 -58.56557 L 36.932759 -30.220301 L 2.91687 -30.220301 Z M 2.91687 -58.56557 " transform="matrix(0.997466,0,0,-0.997466,62.242866,60.188313)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2.918949 -58.565859 L 36.935433 -58.565859 L 36.935433 -30.222051 L 2.918949 -30.222051 Z M 2.918949 -58.565859 " transform="matrix(0.997793,0,0,-0.997793,62.263275,60.188402)"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-4" x="71.348731" y="106.953502"/> <use xlink:href="#glyph1-4" x="71.372126" y="106.968924"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-12" x="80.499483" y="106.953502"/> <use xlink:href="#glyph0-12" x="80.525878" y="106.968924"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="84.364663" y="106.953502"/> <use xlink:href="#glyph1-2" x="84.392326" y="106.968924"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-13" x="89.022829" y="106.953502"/> <use xlink:href="#glyph0-13" x="89.052018" y="106.968924"/>
</g> </g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 17.504619 0.000815308 L 29.879729 0.000815308 " transform="matrix(0.997466,0,0,-0.997466,62.242866,60.188313)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 17.505831 0.000903871 L 29.8808 0.000903871 " transform="matrix(0.997793,0,0,-0.997793,62.263275,60.188402)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052548 0.000815308 L 1.607691 1.68477 L 3.088004 0.000815308 L 1.607691 -1.68314 Z M 6.052548 0.000815308 " transform="matrix(0.997466,0,0,-0.997466,89.216696,60.188313)"/> <path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052565 0.000903871 L 1.609165 1.684307 L 3.088993 0.000903871 L 1.609165 -1.682499 Z M 6.052565 0.000903871 " transform="matrix(0.997793,0,0,-0.997793,89.24595,60.188402)"/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 65.779298 0.000815308 L 65.779298 35.391282 L 86.574183 35.391282 " transform="matrix(0.997466,0,0,-0.997466,62.242866,60.188313)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 65.780347 0.000903871 L 65.780347 35.391515 L 86.57233 35.391515 " transform="matrix(0.997793,0,0,-0.997793,62.263275,60.188402)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 151.804688 24.886719 L 147.371094 23.207031 L 148.84375 24.886719 L 147.371094 26.566406 Z M 151.804688 24.886719 "/> <path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.05514 -0.0000454916 L 1.607825 1.683357 L 3.087653 -0.0000454916 L 1.607825 -1.683448 Z M 6.05514 -0.0000454916 " transform="matrix(0.997793,0,0,-0.997793,145.813693,24.874955)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 129.886719 60.1875 C 129.886719 59.089844 128.996094 58.199219 127.898438 58.199219 C 126.796875 58.199219 125.910156 59.089844 125.910156 60.1875 C 125.910156 61.285156 126.796875 62.175781 127.898438 62.175781 C 128.996094 62.175781 129.886719 61.285156 129.886719 60.1875 Z M 129.886719 60.1875 "/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-5" x="142.092693" y="21.06594"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-14" x="149.914392" y="21.06594"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-6" x="160.407182" y="21.06594"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 54.438909 0.000903871 L 91.207561 0.000903871 L 91.207561 -44.393955 L 42.067855 -44.393955 " transform="matrix(0.997793,0,0,-0.997793,62.263275,60.188402)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 101.027344 104.484375 L 105.464844 106.164062 L 103.988281 104.484375 L 105.464844 102.804688 Z M 101.027344 104.484375 "/>
<g clip-path="url(#clip3)" clip-rule="nonzero"> <g clip-path="url(#clip3)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.054132 -0.000278285 L 1.609275 1.683677 L 3.085672 -0.000278285 L 1.609275 -1.684233 Z M 6.054132 -0.000278285 " transform="matrix(0.997466,0,0,-0.997466,145.765897,24.886441)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.054716 0.000155049 L 1.6074 1.683558 L 3.087228 0.000155049 L 1.6074 -1.683248 Z M 6.054716 0.000155049 " transform="matrix(-0.997793,0,0,0.997793,107.068696,104.48422)"/>
</g>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 129.84375 60.1875 C 129.84375 59.089844 128.953125 58.199219 127.855469 58.199219 C 126.757812 58.199219 125.867188 59.089844 125.867188 60.1875 C 125.867188 61.285156 126.757812 62.175781 127.855469 62.175781 C 128.953125 62.175781 129.84375 61.285156 129.84375 60.1875 Z M 129.84375 60.1875 "/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-5" x="145.374661" y="21.078675"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 54.438058 0.000815308 L 85.368002 0.000815308 L 85.368002 -44.392936 L 42.066863 -44.392936 " transform="matrix(0.997466,0,0,-0.997466,62.242866,60.188313)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 100.996094 104.46875 L 105.429688 106.148438 L 103.953125 104.46875 L 105.429688 102.789062 Z M 100.996094 104.46875 "/>
<g clip-path="url(#clip4)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052846 -0.000864374 L 1.607988 1.683091 L 3.088302 -0.000864374 L 1.607988 -1.684819 Z M 6.052846 -0.000864374 " transform="matrix(-0.997466,0,0,0.997466,107.0336,104.469612)"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-6" x="151.200859" y="84.468627"/> <use xlink:href="#glyph1-7" x="157.078545" y="84.476677"/>
</g> </g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2.419516 -44.392936 L -34.513923 -44.392936 L -34.513923 0.000815308 L -22.138813 0.000815308 " transform="matrix(0.997466,0,0,-0.997466,62.242866,60.188313)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 2.421758 -44.393955 L -43.018377 -44.393955 L -43.018377 0.000903871 L -22.140266 0.000903871 " transform="matrix(0.997793,0,0,-0.997793,62.263275,60.188402)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.054626 0.000815308 L 1.609768 1.68477 L 3.086166 0.000815308 L 1.609768 -1.68314 Z M 6.054626 0.000815308 " transform="matrix(0.997466,0,0,-0.997466,37.327905,60.188313)"/> <path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.05212 0.000903871 L 1.608719 1.684307 L 3.088547 0.000903871 L 1.608719 -1.682499 Z M 6.05212 0.000903871 " transform="matrix(0.997793,0,0,-0.997793,37.340144,60.188402)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-7" x="18.31846" y="84.468627"/> <use xlink:href="#glyph1-8" x="9.839236" y="84.476677"/>
</g> </g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -45.851248 35.391282 L 44.475311 35.391282 L 44.475311 14.596397 " transform="matrix(0.997466,0,0,-0.997466,62.242866,60.188313)"/> <path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -45.852758 35.391515 L 44.475512 35.391515 L 44.475512 14.595616 " transform="matrix(0.997793,0,0,-0.997793,62.263275,60.188402)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053622 -0.00188942 L 1.608765 1.682065 L 3.089079 -0.00188942 L 1.608765 -1.681928 Z M 6.053622 -0.00188942 " transform="matrix(0,0.997466,0.997466,0,106.607353,42.797656)"/> <path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053349 -0.00168779 L 1.609948 1.681715 L 3.085862 -0.00168779 L 1.609948 -1.681176 Z M 6.053349 -0.00168779 " transform="matrix(0,0.997793,0.997793,0,106.642309,42.792042)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-8" x="3.811317" y="21.078675"/> <use xlink:href="#glyph1-9" x="3.812567" y="21.06594"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-14" x="13.952552" y="21.078675"/> <use xlink:href="#glyph0-14" x="13.957127" y="21.06594"/>
</g> </g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-9" x="24.4429" y="21.078675"/> <use xlink:href="#glyph1-10" x="24.450915" y="21.06594"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 73 KiB

1353
index.html

File diff suppressed because it is too large Load Diff

502
index.org
View File

@ -67,6 +67,12 @@ This document is structured as follows:
* Introduction to Model Based Control * Introduction to Model Based Control
<<sec:model_based_control>> <<sec:model_based_control>>
** Introduction :ignore:
- Section [[sec:model_based_control_methodology]]
- Section [[sec:comp_classical_modern_robust_control]]
- Section [[sec:example_system]]
** Model Based Control - Methodology ** Model Based Control - Methodology
<<sec:model_based_control_methodology>> <<sec:model_based_control_methodology>>
@ -396,6 +402,8 @@ And now the system dynamics $G(s)$ and $G_d(s)$ (their bode plots are shown in F
freqs = logspace(0, 3, 1000); freqs = logspace(0, 3, 1000);
figure; figure;
tiledlayout(1, 1, 'TileSpacing', 'None', 'Padding', 'None');
nexttile;
hold on; hold on;
plot(freqs, abs(squeeze(freqresp(Gd, freqs, 'Hz')))); plot(freqs, abs(squeeze(freqresp(Gd, freqs, 'Hz'))));
hold off; hold off;
@ -417,6 +425,13 @@ And now the system dynamics $G(s)$ and $G_d(s)$ (their bode plots are shown in F
* Classical Open Loop Shaping * Classical Open Loop Shaping
<<sec:open_loop_shaping>> <<sec:open_loop_shaping>>
** Introduction :ignore:
- Section [[sec:open_loop_shaping_introduction]]
- Section [[sec:loop_shaping_example]]
- Section [[sec:h_infinity_open_loop_shaping]]
- Section [[sec:h_infinity_open_loop_shaping_example]]
** Introduction to Loop Shaping ** Introduction to Loop Shaping
<<sec:open_loop_shaping_introduction>> <<sec:open_loop_shaping_introduction>>
@ -631,15 +646,13 @@ The $\mathcal{H}_\infty$ optimal open loop shaping synthesis is performed using
[K, ~, GAM] = loopsyn(G, Lw); [K, ~, GAM] = loopsyn(G, Lw);
#+end_src #+end_src
The Bode plot of the obtained controller is shown in Figure [[fig:open_loop_shaping_hinf_K]].
#+begin_important #+begin_important
It is always important to analyze the controller after the synthesis is performed. It is always important to analyze the controller after the synthesis is performed.
In the end, a synthesize controller is just a combination of low pass filters, high pass filters, notches, leads, etc. In the end, a synthesize controller is just a combination of low pass filters, high pass filters, notches, leads, etc.
#+end_important #+end_important
Let's briefly analyze this controller: Let's briefly analyze the obtained controller which bode plot is shown in Figure [[fig:open_loop_shaping_hinf_K]]:
- two integrators are used at low frequency to have the wanted low frequency high gain - two integrators are used at low frequency to have the wanted low frequency high gain
- a lead is added centered with the crossover frequency to increase the phase margin - a lead is added centered with the crossover frequency to increase the phase margin
- a notch is added at the resonance of the plant to increase the gain margin (this is very typical of $\mathcal{H}_\infty$ controllers, and can be an issue, more info on that latter) - a notch is added at the resonance of the plant to increase the gain margin (this is very typical of $\mathcal{H}_\infty$ controllers, and can be an issue, more info on that latter)
@ -675,7 +688,7 @@ Let's briefly analyze this controller:
#+RESULTS: #+RESULTS:
[[file:figs/open_loop_shaping_hinf_K.png]] [[file:figs/open_loop_shaping_hinf_K.png]]
The obtained Loop Gain is shown in Figure [[fig:open_loop_shaping_hinf_L]]. The obtained Loop Gain is shown in Figure [[fig:open_loop_shaping_hinf_L]] and matches the specified one by a factor $\gamma$.
#+begin_src matlab :exports none #+begin_src matlab :exports none
freqs = logspace(0, 3, 1000); freqs = logspace(0, 3, 1000);
@ -736,9 +749,17 @@ Let's now compare the obtained stability margins of the $\mathcal{H}_\infty$ con
| Phase Margin $> 30$ [deg] | 35.4 | 54.7 | | Phase Margin $> 30$ [deg] | 35.4 | 54.7 |
| Crossover $\approx 10$ [Hz] | 10.1 | 9.9 | | Crossover $\approx 10$ [Hz] | 10.1 | 9.9 |
* First Steps in the $\mathcal{H}_\infty$ world * A first Step into the $\mathcal{H}_\infty$ world
<<sec:h_infinity_introduction>> <<sec:h_infinity_introduction>>
** Introduction :ignore:
- Section [[sec:h_infinity_norm]]
- Section [[sec:h_infinity_synthesis]]
- Section [[sec:generalized_plant]]
- Section [[sec:h_infinity_general_synthesis]]
- Section [[sec:generalized_plant_derivation]]
** The $\mathcal{H}_\infty$ Norm ** The $\mathcal{H}_\infty$ Norm
<<sec:h_infinity_norm>> <<sec:h_infinity_norm>>
@ -810,7 +831,7 @@ Note that there are many ways to use the $\mathcal{H}_\infty$ Synthesis:
- Open Loop Shaping $\mathcal{H}_\infty$ Synthesis (=loopsyn= [[https://www.mathworks.com/help/robust/ref/loopsyn.html][doc]]) - Open Loop Shaping $\mathcal{H}_\infty$ Synthesis (=loopsyn= [[https://www.mathworks.com/help/robust/ref/loopsyn.html][doc]])
- Mixed Sensitivity Loop Shaping (=mixsyn= [[https://www.mathworks.com/help/robust/ref/lti.mixsyn.html][doc]]) - Mixed Sensitivity Loop Shaping (=mixsyn= [[https://www.mathworks.com/help/robust/ref/lti.mixsyn.html][doc]])
- Fixed-Structure $\mathcal{H}_\infty$ Synthesis (=hinfstruct= [[https://www.mathworks.com/help/robust/ref/lti.hinfstruct.html][doc]]) - Fixed-Structure $\mathcal{H}_\infty$ Synthesis (=hinfstruct= [[https://www.mathworks.com/help/robust/ref/lti.hinfstruct.html][doc]])
- Signal Based $\mathcal{H}_\infty$ Synthesis - Signal Based $\mathcal{H}_\infty$ Synthesis, and many more...
** The Generalized Plant ** The Generalized Plant
<<sec:generalized_plant>> <<sec:generalized_plant>>
@ -1007,18 +1028,21 @@ Using Matlab, the generalized plant can be defined as follows:
P.OutputName = {'e', 'u', 'v'}; P.OutputName = {'e', 'u', 'v'};
#+end_src #+end_src
* Modern Interpretation of the Control Specifications * Modern Interpretation of Control Specifications
<<sec:modern_interpretation_specification>> <<sec:modern_interpretation_specification>>
** Introduction ** Introduction :ignore:
As shown in Section [[sec:open_loop_shaping]], the loop gain $L(s) = G(s) K(s)$ is a useful and easy tool for the manual design of controllers. - Section [[sec:closed_loop_tf]]
- Section [[sec:sensitivity_transfer_functions]]
- Section [[sec:module_margin]]
- Section [[sec:other_requirements]]
$L(s)$ is very easy to shape as it depends linearly on $K(s)$. As shown in Section [[sec:open_loop_shaping]], the loop gain $L(s) = G(s) K(s)$ is a useful and easy tool when manually designing controllers.
This is mainly due to the fact that $L(s)$ is very easy to shape as it depends /linearly/ on $K(s)$.
Moreover, important quantities such as the stability margins and the control bandwidth can be estimated from the shape/phase of $L(s)$. Moreover, important quantities such as the stability margins and the control bandwidth can be estimated from the shape/phase of $L(s)$.
However, the loop gain $L(s)$ does *not* directly give the performances of the closed-loop system. However, the loop gain $L(s)$ does *not* directly give the performances of the closed-loop system, which are determined by the *closed-loop* transfer functions.
The closed loop system behavior is indeed determined by the *closed-loop* transfer functions.
If we consider the feedback system shown in Figure [[fig:gang_of_four_feedback]], we can link to the following specifications to closed-loop transfer functions. If we consider the feedback system shown in Figure [[fig:gang_of_four_feedback]], we can link to the following specifications to closed-loop transfer functions.
This is summarized in Table [[tab:spec_closed_loop_tf]]. This is summarized in Table [[tab:spec_closed_loop_tf]].
@ -1082,7 +1106,7 @@ Isolate $y$ at the right hand side, and finally obtain:
Do the same procedure for $u$ and $\epsilon$ Do the same procedure for $u$ and $\epsilon$
#+HTML: </details> #+HTML: </details>
#+HTML: <details><summary>Anwser</summary> #+HTML: <details><summary>Answer</summary>
The following equations should be obtained: The following equations should be obtained:
\begin{align} \begin{align}
y &= \frac{GK}{1 + GK} r + \frac{G}{1 + GK} d - \frac{GK}{1 + GK} n \\ y &= \frac{GK}{1 + GK} r + \frac{G}{1 + GK} d - \frac{GK}{1 + GK} n \\
@ -1115,12 +1139,16 @@ And we have:
u &= KS r - S d - KS n u &= KS r - S d - KS n
\end{align} \end{align}
Thus, for reference tracking, we want to shape the /closed-loop/ transfer function from $r$ to $\epsilon$, that is the sensitivity function $S(s)$. Thus, for reference tracking, we have to shape the /closed-loop/ transfer function from $r$ to $\epsilon$, that is the sensitivity function $S(s)$.
Similarly, to reduce the effect of measurement noise $n$ on the output $y$, we want to act on the complementary sensitivity function $T(s)$. Similarly, to reduce the effect of measurement noise $n$ on the output $y$, we have to act on the complementary sensitivity function $T(s)$.
** Sensitivity Function ** Sensitivity Function
<<sec:sensitivity_transfer_functions>> <<sec:sensitivity_transfer_functions>>
The sensitivity function is indisputably the most important closed-loop transfer function of a feedback system.
In this section, we will see how the shape of the sensitivity function will impact the performances of the closed-loop system.
Suppose we have developed a "/reference/" controller $K_r(s)$ and made three small changes to obtained three controllers $K_1(s)$, $K_2(s)$ and $K_3(s)$. Suppose we have developed a "/reference/" controller $K_r(s)$ and made three small changes to obtained three controllers $K_1(s)$, $K_2(s)$ and $K_3(s)$.
The obtained sensitivity functions are shown in Figure [[fig:sensitivity_shape_effect]] and the corresponding step responses are shown in Figure [[fig:sensitivity_shape_effect_step]]. The obtained sensitivity functions are shown in Figure [[fig:sensitivity_shape_effect]] and the corresponding step responses are shown in Figure [[fig:sensitivity_shape_effect_step]].
@ -1342,6 +1370,9 @@ This might indicate very good robustness properties of the closed-loop system.
Now let's suppose the "real" plant $G_r(s)$ as a slightly lower damping factor: Now let's suppose the "real" plant $G_r(s)$ as a slightly lower damping factor:
#+begin_src matlab #+begin_src matlab
xi = 0.03; xi = 0.03;
#+end_src
#+begin_src matlab :exports none
Gr = 1/k*(s/w0/4 + 1)/(s^2/w0^2 + 2*xi*s/w0 + 1); Gr = 1/k*(s/w0/4 + 1)/(s^2/w0^2 + 2*xi*s/w0 + 1);
#+end_src #+end_src
@ -1350,7 +1381,7 @@ At a frequency little bit above 100Hz, the phase of the loop gain reaches -180 d
It is confirmed by checking the stability of the closed loop system: It is confirmed by checking the stability of the closed loop system:
#+begin_src matlab :results value replace #+begin_src matlab :results value replace
isstable(feedback(Gp,K)) isstable(feedback(Gr,K))
#+end_src #+end_src
#+RESULTS: #+RESULTS:
@ -1413,23 +1444,18 @@ Let's now determine a new robustness indicator based on the Nyquist Stability Cr
For more information about the /general/ Nyquist Stability Criteria, you may want to look at [[https://www.youtube.com/watch?v=sof3meN96MA][this]] video. For more information about the /general/ Nyquist Stability Criteria, you may want to look at [[https://www.youtube.com/watch?v=sof3meN96MA][this]] video.
#+end_seealso #+end_seealso
From the Nyquist stability criteria, it is clear that we want $L(j\omega)$ to be as far away from the $-1$ point (called the /unstable point/) in the complex plane. From the Nyquist stability criteria, it is clear that we want $L(j\omega)$ to be as far as possible from the $-1$ point (called the /unstable point/) in the complex plane.
From this, we define the *module margin*. This minimum distance is called the *module margin*.
#+begin_definition #+begin_definition
- Module Margin :: - Module Margin ::
The Module Margin $\Delta M$ is defined as the *minimum distance* between the point $-1$ and the loop gain $L(j\omega)$ in the complex plane. The Module Margin $\Delta M$ is defined as the *minimum distance* between the point $-1$ and the loop gain $L(j\omega)$ in the complex plane.
#+end_definition #+end_definition
#+begin_exampl
A typical Nyquist plot is shown in Figure [[fig:module_margin_example]]. A typical Nyquist plot is shown in Figure [[fig:module_margin_example]].
The gain, phase and module margins are graphically shown to have an idea of what they represent. The gain, phase and module margins are graphically shown to have an idea of what they represent.
As expected from Figure [[fig:module_margin_example]], there is a close relationship between the module margin and the gain and phase margins.
We can indeed show that for a given value of the module margin $\Delta M$, we have:
\begin{equation}
\Delta G \ge \frac{\Delta M}{\Delta M - 1}; \quad \Delta \phi \ge \frac{1}{\Delta M}
\end{equation}
#+begin_src matlab :exports none #+begin_src matlab :exports none
% Example Plant % Example Plant
k = 1e6; % Stiffness [N/m] k = 1e6; % Stiffness [N/m]
@ -1485,6 +1511,14 @@ We can indeed show that for a given value of the module margin $\Delta M$, we ha
#+caption: Nyquist plot with visual indication of the Gain margin $\Delta G$, Phase margin $\Delta \phi$ and Module margin $\Delta M$ #+caption: Nyquist plot with visual indication of the Gain margin $\Delta G$, Phase margin $\Delta \phi$ and Module margin $\Delta M$
#+RESULTS: #+RESULTS:
[[file:figs/module_margin_example.png]] [[file:figs/module_margin_example.png]]
#+end_exampl
As expected from Figure [[fig:module_margin_example]], there is a close relationship between the module margin and the gain and phase margins.
We can indeed show that for a given value of the module margin $\Delta M$, we have:
\begin{equation}
\Delta G \ge \frac{\Delta M}{\Delta M - 1}; \quad \Delta \phi \ge \frac{1}{\Delta M}
\end{equation}
Let's now try to express the Module margin $\Delta M$ as an $\mathcal{H}_\infty$ norm of a closed-loop transfer function: Let's now try to express the Module margin $\Delta M$ as an $\mathcal{H}_\infty$ norm of a closed-loop transfer function:
\begin{align*} \begin{align*}
@ -1506,6 +1540,7 @@ The wanted robustness of the closed-loop system can be specified by setting a ma
#+end_important #+end_important
Note that this is why large peak value of $|S(j\omega)|$ usually indicate robustness problems. Note that this is why large peak value of $|S(j\omega)|$ usually indicate robustness problems.
And we know understand why setting an upper bound on the magnitude of $S$ is generally a good idea.
#+begin_exampl #+begin_exampl
Typical, we require $\|S\|_\infty < 2 (6dB)$ which implies $\Delta G \ge 2$ and $\Delta \phi \ge 29^o$ Typical, we require $\|S\|_\infty < 2 (6dB)$ which implies $\Delta G \ge 2$ and $\Delta \phi \ge 29^o$
@ -1515,12 +1550,59 @@ Note that this is why large peak value of $|S(j\omega)|$ usually indicate robust
To learn more about module/disk margin, you can check out [[https://www.youtube.com/watch?v=XazdN6eZF80][this]] video. To learn more about module/disk margin, you can check out [[https://www.youtube.com/watch?v=XazdN6eZF80][this]] video.
#+end_seealso #+end_seealso
** How to *Shape* transfer function? Using of Weighting Functions! ** TODO Other Requirements
<<sec:other_requirements>>
Interpretation of the $\mathcal{H}_\infty$ norm of systems:
- frequency by frequency attenuation / amplification
Let's note $G_t(s)$ the closed-loop transfer function from $w$ to $z$.
Consider an input sinusoidal signal $w(t) = \sin\left( \omega_0 t \right)$, then the output signal $z(t)$ will be equal to:
\[ z(t) = A \sin\left( \omega_0 t + \phi \right) \]
with:
- $A = |G_t(j\omega_0)|$ is the magnitude of $G_t(s)$ at $\omega_0$
- $\phi = \angle G_t(j\omega_0)$ is the phase of $G_t(s)$ at $\omega_0$
Noise Attenuation: typical wanted shape for $T$
#+name: tab:specification_modern
#+caption: Typical Specifications and corresponding wanted norms of open and closed loop tansfer functions
| | Open-Loop Shaping | Closed-Loop Shaping |
|-----------------------------+--------------------+--------------------------------------------|
| Reference Tracking | $L$ large | $S$ small |
| Disturbance Rejection | $L$ large | $GS$ small |
| Measurement Noise Filtering | $L$ small | $T$ small |
| Small Command Amplitude | $K$ and $L$ small | $KS$ small |
| Robustness | Phase/Gain margins | Module margin: $\Vert S\Vert_\infty$ small |
* $\mathcal{H}_\infty$ Shaping of closed-loop transfer functions
<<sec:closed-loop-shaping>>
** Introduction :ignore:
In the previous sections, we have seen that the performances of the system depends on the *shape* of the closed-loop transfer function.
Therefore, the synthesis problem is to design $K(s)$ such that closed-loop system is stable and such that various closed-loop transfer functions such as $S$, $KS$ and $T$ are shaped as wanted.
This is clearly not simple as these closed-loop transfer functions does not depend linearly on $K$.
But don't worry, the $\mathcal{H}_\infty$ synthesis will do this job for us!
This
Section [[sec:weighting_functions]]
Section [[sec:weighting_functions_design]]
Section [[sec:sensitivity_shaping_example]]
Section [[sec:shaping_multiple_tf]]
** How to Shape closed-loop transfer function? Using Weighting Functions!
<<sec:weighting_functions>> <<sec:weighting_functions>>
- [ ] Maybe put this section in Previous chapter If the $\mathcal{H}_\infty$ synthesis is applied on the generalized plant $P(s)$ shown in Figure [[fig:loop_shaping_S_without_W]], it will generate a controller $K(s)$ such that the $\mathcal{H}_\infty$ norm of closed-loop transfer function from $r$ to $\epsilon$ is minimized.
This closed-loop transfer function actually correspond to the sensitivity function.
Therefore, it will minimize the the $\mathcal{H}_\infty$ norm of the sensitivity function: $\|S\|_\infty$.
Let's say we want to shape the sensitivity transfer function corresponding to the transfer function from $r$ to $\epsilon$ of the control architecture shown in Figure [[fig:loop_shaping_S_without_W]]. However, as the $\mathcal{H}_\infty$ norm is the maximum peak value of the transfer function's magnitude, this synthesis is quite useless and clearly does not allow to *shape* the norm of $S(j\omega)$ over all frequencies.
#+begin_src latex :file loop_shaping_S_without_W.pdf #+begin_src latex :file loop_shaping_S_without_W.pdf
\begin{tikzpicture} \begin{tikzpicture}
@ -1534,10 +1616,10 @@ Let's say we want to shape the sensitivity transfer function corresponding to th
% Connections % Connections
\draw[->] (G.east) -- (addw.west); \draw[->] (G.east) -- (addw.west);
\draw[->] ($(addw.east)+(0.4, 0)$)node[branch]{} |- (epsilon) node[above left](z1){$\epsilon$}; \draw[->] ($(addw.east)+(0.4, 0)$)node[branch]{} |- (epsilon) node[above](z1){$z = \epsilon$};
\draw[->] (addw.east) -- (addw-|z1) |- node[near start, right]{$v$} (K.east); \draw[->] (addw.east) -- (addw-|z1) |- node[near start, right]{$v$} (K.east);
\draw[->] (K.west) -| node[near end, left]{$u$} ($(G-|w)+(0.4, 0)$) -- (G.west); \draw[->] (K.west) -| node[near end, left]{$u$} ($(G-|w)+(0.1, 0)$) -- (G.west);
\draw[->] (w) node[above]{$w = r$} -| (addw.north); \draw[->] (w) node[above]{$w = r$} -| (addw.north);
@ -1553,25 +1635,24 @@ Let's say we want to shape the sensitivity transfer function corresponding to th
#+RESULTS: #+RESULTS:
[[file:figs/loop_shaping_S_without_W.png]] [[file:figs/loop_shaping_S_without_W.png]]
If the $\mathcal{H}_\infty$ synthesis is directly applied on the generalized plant $P(s)$ shown in Figure [[fig:loop_shaping_S_without_W]], if will minimize the $\mathcal{H}_\infty$ norm of transfer function from $r$ to $\epsilon$ (the sensitivity transfer function).
However, as the $\mathcal{H}_\infty$ norm is the maximum peak value of the transfer function's magnitude, it does not allow to *shape* the norm over all frequencies. #+begin_important
The /trick/ is to include a *weighting function* $W_S(s)$ in the generalized plant as shown in Figure [[fig:loop_shaping_S_with_W]].
Now, the closed-loop transfer function from $w$ to $z$ is equal to $W_s(s)S(s)$ and applying the $\mathcal{H}_\infty$ synthesis to the /weighted/ generalized plant $\tilde{P}(s)$ will generate a controller $K(s)$ such that $\|W_s(s)S(s)\|_\infty$ is minimized.
#+end_important
Let's now show how this is equivalent as *shaping* the sensitivity function:
A /trick/ is to include a *weighting function* in the generalized plant as shown in Figure [[fig:loop_shaping_S_with_W]].
Applying the $\mathcal{H}_\infty$ synthesis to the /weighted/ generalized plant $\tilde{P}(s)$ (Figure [[fig:loop_shaping_S_with_W]]) will generate a controller $K(s)$ that minimizes the $\mathcal{H}_\infty$ norm between $r$ and $\tilde{\epsilon}$:
\begin{align} \begin{align}
& \left\| \frac{\tilde{\epsilon}}{r} \right\|_\infty < \gamma (=1)\nonumber \\ & \left\| W_s(s) S(s) \right\|_\infty < 1\nonumber \\
\Leftrightarrow & \left\| W_s(s) S(s) \right\|_\infty < 1\nonumber \\
\Leftrightarrow & \left| W_s(j\omega) S(j\omega) \right| < 1 \quad \forall \omega\nonumber \\ \Leftrightarrow & \left| W_s(j\omega) S(j\omega) \right| < 1 \quad \forall \omega\nonumber \\
\Leftrightarrow & \left| S(j\omega) \right| < \frac{1}{\left| W_s(j\omega) \right|} \quad \forall \omega \label{eq:sensitivity_shaping} \Leftrightarrow & \left| S(j\omega) \right| < \frac{1}{\left| W_s(j\omega) \right|} \quad \forall \omega \label{eq:sensitivity_shaping}
\end{align} \end{align}
#+begin_important #+begin_important
As shown in Equation eqref:eq:sensitivity_shaping, the $\mathcal{H}_\infty$ synthesis allows to *shape* the magnitude of the sensitivity transfer function. As shown in Equation eqref:eq:sensitivity_shaping, the $\mathcal{H}_\infty$ synthesis applying on the /weighted/ generalized plant allows to *shape* the magnitude of the sensitivity transfer function.
Therefore, the choice of the weighting function $W_s(s)$ is very important.
Its inverse magnitude will define the frequency dependent upper bound of the sensitivity transfer function magnitude. Therefore, the choice of the weighting function $W_s(s)$ is very important: its inverse magnitude will define the wanted *upper bound* of the sensitivity function magnitude.
#+end_important #+end_important
#+begin_src latex :file loop_shaping_S_with_W.pdf #+begin_src latex :file loop_shaping_S_with_W.pdf
@ -1593,10 +1674,10 @@ Applying the $\mathcal{H}_\infty$ synthesis to the /weighted/ generalized plant
% Connections % Connections
\draw[->] (G.east) -- (addw.west); \draw[->] (G.east) -- (addw.west);
\draw[->] ($(addw.east)+(0.4, 0)$)node[branch]{} |- (Ws.west)node[above left]{$\epsilon$}; \draw[->] ($(addw.east)+(0.4, 0)$)node[branch]{} |- (Ws.west)node[above left]{$\epsilon$};
\draw[->] (Ws.east) -- (epsilon) node[above left](z1){$\tilde{\epsilon}$}; \draw[->] (Ws.east) -- (epsilon) node[above](z1){$z = \tilde{\epsilon}$};
\draw[->] (addw.east) -- (addw-|z1) |- node[near start, right]{$v$} (K.east); \draw[->] (addw.east) -- (addw-|z1) |- node[near start, right]{$v$} (K.east);
\draw[->] (K.west) -| node[near end, left]{$u$} ($(G-|w)+(0.4, 0)$) -- (G.west); \draw[->] (K.west) -| node[near end, left]{$u$} ($(G-|w)+(0.2, 0)$) -- (G.west);
\draw[->] (w) node[above]{$w = r$} -| (addw.north); \draw[->] (w) node[above]{$w = r$} -| (addw.north);
\end{tikzpicture} \end{tikzpicture}
@ -1607,41 +1688,59 @@ Applying the $\mathcal{H}_\infty$ synthesis to the /weighted/ generalized plant
#+RESULTS: #+RESULTS:
[[file:figs/loop_shaping_S_with_W.png]] [[file:figs/loop_shaping_S_with_W.png]]
Once the weighting function is designed, it should be added to the generalized plant as shown in Figure [[fig:loop_shaping_S_with_W]]. #+begin_exercice
Using matlab, compute the weighted generalized plant shown in Figure [[fig:first_order_weight]] as a function of $G(s)$ and $W_S(s)$.
The weighted generalized plant can be defined in Matlab by either re-defining all the inputs or by pre-multiplying the (non-weighted) generalized plant by a block-diagonal MIMO transfer function containing the weights for the outputs $z$ and =1= for the outputs $v$. #+HTML: <details><summary>Hint</summary>
The weighted generalized plant can be defined in Matlab using two techniques:
- by writing manually the 4 transfer functions from $[w, u]$ to $[\tilde{\epsilon}, v]$
- by pre-multiplying the (non-weighted) generalized plant by a block-diagonal transfer function matrix containing the weights for the outputs $z$ and =1= for the outputs $v$
#+HTML: </details>
#+HTML: <details><summary>Answer</summary>
The two solutions below can be used.
#+begin_src matlab :tangle no :eval no #+begin_src matlab :tangle no :eval no
Pw = [Ws -Ws*G; Pw = [Ws -Ws*G;
1 -G] 1 -G];
#+end_src
% Alternative #+begin_src matlab :tangle no :eval no
Pw = blkdiag(Ws, 1)*P; Pw = blkdiag(Ws, 1)*P;
#+end_src #+end_src
The second solution is however more general, and can also be used when weights are added at the inputs by post-multiplying instead of pre-multiplying.
#+HTML: </details>
#+end_exercice
** Design of Weighting Functions ** Design of Weighting Functions
<<sec:weighting_functions_design>> <<sec:weighting_functions_design>>
Weighting function used must be *proper*, *stable* and *minimum phase* transfer functions. Weighting function included in the generalized plant must be *proper*, *stable* and *minimum phase* transfer functions.
#+begin_definition
- proper :: - proper ::
more poles than zeros, this implies $\lim_{\omega \to \infty} |W(j\omega)| < \infty$ more poles than zeros, this implies $\lim_{\omega \to \infty} |W(j\omega)| < \infty$
- stable :: - stable ::
no poles in the right half plane no poles in the right half plane
- minimum phase :: - minimum phase ::
no zeros in the right half plane no zeros in the right half plane
#+end_definition
Matlab is providing the =makeweight= function that creates a first-order weights by specifying the low frequency gain, high frequency gain, and a gain at a specific frequency: Matlab is providing the =makeweight= function that allows to design first-order weights by specifying the low frequency gain, high frequency gain, and the gain at a specific frequency:
#+begin_src matlab :tangle no :eval no #+begin_src matlab :tangle no :eval no
W = makeweight(dcgain,[freq,mag],hfgain) W = makeweight(dcgain,[freq,mag],hfgain)
#+end_src #+end_src
with: with:
- =dcgain= - =dcgain=: low frequency gain
- =freq= - =[freq,mag]=: frequency =freq= at which the gain is =mag=
- =mag= - =hfgain=: high frequency gain
- =hfgain=
#+begin_exampl #+begin_exampl
The Matlab code below produces a weighting function with a magnitude shape shown in Figure [[fig:first_order_weight]]. The Matlab code below produces a weighting function with the following characteristics (Figure [[fig:first_order_weight]]):
- Low frequency gain of 100
- Gain of 1 at 10Hz
- High frequency gain of 0.5
#+begin_src matlab #+begin_src matlab
Ws = makeweight(1e2, [2*pi*10, 1], 1/2); Ws = makeweight(1e2, [2*pi*10, 1], 1/2);
@ -1672,7 +1771,7 @@ The Matlab code below produces a weighting function with a magnitude shape shown
#+begin_seealso #+begin_seealso
Quite often, higher orders weights are required. Quite often, higher orders weights are required.
In such case, the following formula can be used the design of these weights: In such case, the following formula can be used:
\begin{equation} \begin{equation}
W(s) = \left( \frac{ W(s) = \left( \frac{
@ -1752,52 +1851,103 @@ The obtained shapes are shown in Figure [[fig:high_order_weight]].
[[file:figs/high_order_weight.png]] [[file:figs/high_order_weight.png]]
#+end_seealso #+end_seealso
** Sensitivity Function Shaping - Example ** Shaping the Sensitivity Function
<<sec:sensitivity_shaping_example>> <<sec:sensitivity_shaping_example>>
Let's design a controller using the $\mathcal{H}_\infty$ synthesis that fulfils the following requirements:
1. Bandwidth of at least 10Hz
2. Small static errors for step responses
3. Robustness: Large module margin $\Delta M > 0.5$ ($\Rightarrow \Delta G > 2$ and $\Delta \phi > 29^o$)
- Robustness: Module margin > 2 ($\Rightarrow \text{GM} > 2 \text{ and } \text{PM} > 29^o$) As usual, the plant used is the one presented in Section [[sec:example_system]].
- Bandwidth:
- Slope of -2
First, the weighting functions is generated. #+begin_exercice
#+begin_src matlab Translate the requirements as upper bounds on the Sensitivity function and design the corresponding Weight using Matlab.
Ws = generateWeight('G0', 1e3, 'G1', 1/2, 'Gc', 1, 'wc', 2*pi*10, 'n', 2);
#+HTML: <details><summary>Hint</summary>
The typical wanted upper bound of the sensitivity function is shown in Figure [[fig:h-infinity-spec-S-bis]].
More precisely:
1. Recall that the closed-loop bandwidth is defined as the frequency $|S(j\omega)|$ first crosses $1/\sqrt{2} = -3dB$ from below
2. For the small static error, -60dB is usually enough as other factors (measurement noise, disturbances) will anyhow limit the performances
3. Recall that the module margin is equal to the inverse of the $\mathcal{H}_\infty$ norm of the sensitivity function:
\[ \Delta M = \frac{1}{\|S\|_\infty} \]
Remember that the wanted upper bound of the sensitivity function is defined by the *inverse* magnitude of the weight.
#+name: fig:h-infinity-spec-S-bis
#+caption: Typical wanted shape of the Sensitivity transfer function
[[file:figs/h-infinity-spec-S.png]]
#+HTML: </details>
#+HTML: <details><summary>Answer</summary>
1. $|W_s(j \cdot 2 \pi 10)| = \sqrt{2}$
2. $|W_s(j \cdot 0)| = 10^3$
3. $\|W_s\|_\infty = 0.5$
Using Matlab, such weighting function can be generated using the =makeweight= function as shown below:
#+begin_src matlab :eval no :tangle no
Ws = makeweight(1e3, [2*pi*10, sqrt(2)], 1/2);
#+end_src #+end_src
It is then added to the generalized plant. Or using the =generateWeight= function:
#+begin_src matlab :eval no :tangle no
Ws = generateWeight('G0', 1e3, ...
'G1', 1/2, ...
'Gc', sqrt(2), 'wc', 2*pi*10, ...
'n', 2);
#+end_src
#+HTML: </details>
#+end_exercice
Let's say we came up with the following weighting function:
#+begin_src matlab #+begin_src matlab
Ws = generateWeight('G0', 1e3, ...
'G1', 1/2, ...
'Gc', sqrt(2), 'wc', 2*pi*10, ...
'n', 2);
#+end_src
The weighting function is then added to the generalized plant.
#+begin_src matlab
P = [1 -G;
1 -G];
Pw = blkdiag(Ws, 1)*P; Pw = blkdiag(Ws, 1)*P;
#+end_src #+end_src
And the $\mathcal{H}_\infty$ synthesis is performed. And the $\mathcal{H}_\infty$ synthesis is performed on the /weighted/ generalized plant.
#+begin_src matlab :results output replace #+begin_src matlab :results output replace
K = hinfsyn(Pw, 1, 1, 'Display', 'on'); K = hinfsyn(Pw, 1, 1, 'Display', 'on');
#+end_src #+end_src
#+RESULTS: #+RESULTS:
#+begin_example #+begin_example
K = hinfsyn(Pw, 1, 1, 'Display', 'on');
Test bounds: 0.5 <= gamma <= 0.51 Test bounds: 0.5 <= gamma <= 0.51
gamma X>=0 Y>=0 rho(XY)<1 p/f gamma X>=0 Y>=0 rho(XY)<1 p/f
5.05e-01 0.0e+00 0.0e+00 4.497e-28 p 5.05e-01 0.0e+00 0.0e+00 3.000e-16 p
Limiting gains... Limiting gains...
5.05e-01 0.0e+00 0.0e+00 0.000e+00 p 5.05e-01 0.0e+00 0.0e+00 3.461e-16 p
5.05e-01 -1.8e+01 # -2.9e-15 1.514e-15 f 5.05e-01 -3.5e+01 # -4.9e-14 1.732e-26 f
Best performance (actual): 0.504 Best performance (actual): 0.503
#+end_example #+end_example
The obtained $\gamma \approx 0.5$ means that it found a controller $K(s)$ that stabilize the closed-loop system, and such that: $\gamma \approx 0.5$ means that the $\mathcal{H}_\infty$ synthesis generated a controller $K(s)$ that stabilizes the closed-loop system, and such that:
\begin{aligned} \begin{aligned}
& \| W_s(s) S(s) \|_\infty < 0.5 \\ & \| W_s(s) S(s) \|_\infty \approx 0.5 \\
& \Leftrightarrow |S(j\omega)| < \frac{0.5}{|W_s(j\omega)|} \quad \forall \omega & \Leftrightarrow |S(j\omega)| < \frac{0.5}{|W_s(j\omega)|} \quad \forall \omega
\end{aligned} \end{aligned}
This is indeed what we can see by comparing $|S|$ and $|W_S|$ in Figure [[fig:results_sensitivity_hinf]]. This is indeed what we can see by comparing $|S|$ and $|W_S|$ in Figure [[fig:results_sensitivity_hinf]].
#+begin_important
Having $\gamma < 1$ means that the $\mathcal{H}_\infty$ synthesis found a controller such that the specified closed-loop transfer functions are bellow the specified upper bounds.
Having $\gamma$ slightly above one does not necessary means the obtained controller is not "good".
It just means that at some frequency, one of the closed-loop transfer functions is above the specified upper bound by a factor $\gamma$.
#+end_important
#+begin_src matlab :exports none #+begin_src matlab :exports none
figure; figure;
hold on; hold on;
@ -1817,89 +1967,18 @@ This is indeed what we can see by comparing $|S|$ and $|W_S|$ in Figure [[fig:re
#+RESULTS: #+RESULTS:
[[file:figs/results_sensitivity_hinf.png]] [[file:figs/results_sensitivity_hinf.png]]
** Complementary Sensitivity Function ** Shaping multiple closed-loop transfer functions
<<sec:shaping_multiple_tf>>
As was shown in Section [[sec:modern_interpretation_specification]], depending on the specifications, up to four closed-loop transfer function may be shaped (the Gang of four).
This was summarized in Table [[tab:specification_modern]].
** Summary For instance to limit the control input $u$, $KS$ should be shaped while to filter measurement noise, $T$ should be shaped.
#+name: tab:specification_modern When multiple closed-loop transfer function are shaped at the same time, it is refereed to as "Mixed-Sensitivity $\mathcal{H}_\infty$ Control" and is the subject of Section [[sec:h_infinity_mixed_sensitivity]].
#+caption: Table caption
| | Open-Loop Shaping | Closed-Loop Shaping |
|-----------------------------+--------------------+--------------------------------------------|
| Reference Tracking | $L$ large | $S$ small |
| Disturbance Rejection | $L$ large | $GS$ small |
| Measurement Noise Filtering | $L$ small | $T$ small |
| Small Command Amplitude | $K$ and $L$ small | $KS$ small |
| Robustness | Phase/Gain margins | Module margin: $\Vert S\Vert_\infty$ small |
#+begin_src latex :file h-infinity-4-blocs-constrains.pdf Depending on the closed-loop transfer function being shaped, different general control configuration are used and are described below.
\begin{tikzpicture}
\begin{scope}[shift={(0, 0)}]
\draw[] (2.5, 1.0) node[]{$S$};
\draw[fill=blue!20] (-0.2, -2.5) rectangle (1.4, 0.5);
\draw[] (0.6, -0.5) node[]{$\sim GK^{-1}$};
\draw[fill=red!20] (3.6, -2.5) rectangle (5.2, 0.5);
\draw[] (4.5, -0.5) node[]{$\sim 1$};
\draw[fill=red!20] (2.5, 0.15) circle (0.15);
\draw[dashed] (-0.4, 0) -- (5.4, 0);
\draw [] (0,-2) to[out=45,in=180+45] (2,0) to[out=45,in=180] (2.5,0.3) to[out=0,in=180] (3.5,0) to[out=0,in=180] (5, 0);
\draw[dashed] (-0.5, -2.7) rectangle (5.5, 1.4);
\end{scope}
\begin{scope}[shift={(6.4, 0)}]
\draw[] (2.5, 1.0) node[]{$GS$};
\draw[fill=blue!20] (-0.2, -2.5) rectangle (1.4, 0.5);
\draw[] (0.6, -0.5) node[]{$\sim K^{-1}$};
\draw[fill=red!20] (3.6, -2.5) rectangle (5.2, 0.5);
\draw[] (4.5, -0.5) node[]{$\sim G$};
\draw[dashed] (-0.4, 0) -- (5.4, 0);
\draw [] (0,-2) to[out=45,in=180+45] (1, -1) to[out=45, in=180] (2.5,-0.2) to[out=0,in=180-45] (4,-1) to[out=-45,in=180-45] (5, -2);
\draw[dashed] (-0.5, -2.7) rectangle (5.5, 1.4);
\end{scope}
\begin{scope}[shift={(0, -4.4)}]
\draw[] (2.5, 1.0) node[]{$KS$};
\draw[fill=red!20] (-0.2, -2.5) rectangle (1.4, 0.5);
\draw[] (0.6, -1.8) node[]{$\sim G^{-1}$};
\draw[fill=blue!20] (3.6, -2.5) rectangle (5.2, 0.5);
\draw[] (4.5, -0.3) node[]{$\sim K$};
\draw[dashed] (-0.4, 0) -- (5.4, 0);
\draw [] (0,-1.5) to[out=45,in=180+45] (1, -0.5) to[out=45, in=180] (2.5,0.3) to[out=0,in=180-45] (4,-0.5) to[out=-45,in=180-45] (5, -1.5);
\draw[dashed] (-0.5, -2.7) rectangle (5.5, 1.4);
\end{scope}
\begin{scope}[shift={(6.4, -4.4)}]
\draw[] (2.5, 1.0) node[]{$T$};
\draw[fill=red!20] (-0.2, -2.5) rectangle (1.4, 0.5);
\draw[] (0.6, -0.5) node[]{$\sim 1$};
\draw[fill=blue!20] (3.6, -2.5) rectangle (5.2, 0.5);
\draw[] (4.5, -0.5) node[]{$\sim GK$};
\draw[fill=red!20] (2.5, 0.15) circle (0.15);
\draw[dashed] (-0.4, 0) -- (5.4, 0);
\draw [] (0,0) to[out=0,in=180] (1.5,0) to[out=0,in=180] (2.5,0.3) to[out=0,in=-45] (3,0) to[out=-45,in=180-45] (5, -2);
\draw[dashed] (-0.5, -2.7) rectangle (5.5, 1.4);
\end{scope}
\end{tikzpicture}
#+end_src
#+name: fig:h-infinity-4-blocs-constrains
#+caption: Shaping the Gang of Four: Limitations
#+RESULTS:
[[file:figs/h-infinity-4-blocs-constrains.png]]
* $\mathcal{H}_\infty$ Mixed-Sensitivity Synthesis
<<sec:h_infinity_mixed_sensitivity>>
** Problem
** Typical Procedure
** Step 1 - Shaping of the Sensitivity Function
** Step 2 - Shaping of
** General Configuration for various shaping
*** S KS :ignore: *** S KS :ignore:
#+HTML: <details><summary>Shaping of S and KS</summary> #+HTML: <details><summary>Shaping of S and KS</summary>
#+begin_src latex :file general_conf_shaping_S_KS.pdf #+begin_src latex :file general_conf_shaping_S_KS.pdf
@ -2132,15 +2211,63 @@ This is indeed what we can see by comparing $|S|$ and $|W_S|$ in Figure [[fig:re
- $W_2W_3$ is used to shape $T$ - $W_2W_3$ is used to shape $T$
#+HTML: </details> #+HTML: </details>
* Conclusion
<<sec:conclusion>>
* Things to add :noexport:
** 2 blocs criterion - constrains *** Limitation :ignore:
#+begin_src latex :file h-infinity-2-blocs-constrains.pdf
When shaping multiple closed-loop transfer functions, one should be verify careful about the three following points that are further discussed:
- The shaped closed-loop transfer functions are linked by mathematical relations and cannot be shaped
- Closed-loop transfer function can only be shaped in certain frequency range.
- The size of the obtained controller may be very large and not implementable in practice
#+begin_warning
Mathematical relations are linking the closed-loop transfer functions.
For instance, the sensitivity function $S(s)$ and the complementary sensitivity function $T(s)$ as link by the following well known relation:
\begin{equation}
S(s) + T(s) = 1
\end{equation}
This means that $|S(j\omega)|$ and $|T(j\omega)|$ cannot be made small at the same time!
It is therefore *not* possible to shape the four closed-loop transfer functions independently.
The weighting function should be carefully design such as these fundamental relations are not violated.
#+end_warning
The control bandwidth is clearly limited by physical constrains such as sampling frequency, electronics bandwidth,
\begin{align*}
&|G(j\omega) K(j\omega)| \ll 1 \Longrightarrow |S(j\omega)| = \frac{1}{1 + |G(j\omega)K(j\omega)|} \approx 1 \\
&|G(j\omega) K(j\omega)| \gg 1 \Longrightarrow |S(j\omega)| = \frac{1}{1 + |G(j\omega)K(j\omega)|} \approx \frac{1}{|G(j\omega)K(j\omega)|}
\end{align*}
Similar relationship can be found for $T$, $KS$ and $GS$.
#+begin_exercice
Determine the approximate norms of $T$, $KS$ and $GS$ for large loop gains ($|G(j\omega) K(j\omega)| \gg 1$) and small loop gains ($|G(j\omega) K(j\omega)| \ll 1$).
#+HTML: <details><summary>Hint</summary>
You can follows this procedure for $T$, $KS$ and $GS$:
1. Write the closed-loop transfer function $T(s)$ as a function of $K(s)$ and $G(s)$
2. Take $|K(j\omega)G(j\omega)| \gg 1$ and conclude on $|T(j\omega)|$
3. Take $|K(j\omega)G(j\omega)| \ll 1$ and conclude on $|T(j\omega)|$
#+HTML: </details>
#+HTML: <details><summary>Answer</summary>
The obtained constrains are shown in Figure [[fig:h-infinity-4-blocs-constrains]].
#+HTML: </details>
#+end_exercice
Depending on the frequency band, the norms of the closed-loop transfer functions depend on the controller $K$ and therefore can be shaped.
However, in some frequency bands, the norms do not depend on the controller and therefore *cannot* be shaped.
Therefore the weighting functions should only focus on certainty frequency range depending on the transfer function being shaped.
These regions are summarized in Figure [[fig:h-infinity-4-blocs-constrains]].
#+begin_src latex :file h-infinity-4-blocs-constrains.pdf
\begin{tikzpicture} \begin{tikzpicture}
\begin{scope}[shift={(0, 0)}] \begin{scope}[shift={(0, 0)}]
\draw[] (2.5, 1.0) node[]{$S$};
\draw[fill=blue!20] (-0.2, -2.5) rectangle (1.4, 0.5); \draw[fill=blue!20] (-0.2, -2.5) rectangle (1.4, 0.5);
\draw[] (0.6, -0.5) node[]{$\sim GK^{-1}$}; \draw[] (0.6, -0.5) node[]{$\sim GK^{-1}$};
\draw[fill=red!20] (3.6, -2.5) rectangle (5.2, 0.5); \draw[fill=red!20] (3.6, -2.5) rectangle (5.2, 0.5);
@ -2148,11 +2275,40 @@ This is indeed what we can see by comparing $|S|$ and $|W_S|$ in Figure [[fig:re
\draw[fill=red!20] (2.5, 0.15) circle (0.15); \draw[fill=red!20] (2.5, 0.15) circle (0.15);
\draw[dashed] (-0.4, 0) -- (5.4, 0); \draw[dashed] (-0.4, 0) -- (5.4, 0);
\draw [] (0,-2) to[out=45,in=180+45] (2,0) to[out=45,in=180] (2.5,0.3) to[out=0,in=180] (3.5,0) to[out=0,in=180] (5, 0); \draw [] (0,-2) to[out=45,in=180+45] (2,0) to[out=45,in=180] (2.5,0.3) to[out=0,in=180] (3.5,0) to[out=0,in=180] (5, 0);
\draw[dashed] (-0.5, -2.7) rectangle (5.5, 1.4); \draw[dashed] rectangle ;
\begin{scope}[on background layer]
\node[fit={(-0.5, -2.7) (5.5, 1.4)}, inner sep=0pt, draw, dashed, fill=black!20!white] (S) {};
\node[below] at (S.north) {$S$};
\end{scope}
\end{scope} \end{scope}
\begin{scope}[shift={(6.4, 0)}] \begin{scope}[shift={(6.4, 0)}]
\draw[] (2.5, 1.0) node[]{$T$}; \draw[fill=blue!20] (-0.2, -2.5) rectangle (1.4, 0.5);
\draw[] (0.6, -0.5) node[]{$\sim K^{-1}$};
\draw[fill=red!20] (3.6, -2.5) rectangle (5.2, 0.5);
\draw[] (4.5, -0.5) node[]{$\sim G$};
\draw[dashed] (-0.4, 0) -- (5.4, 0);
\draw [] (0,-2) to[out=45,in=180+45] (1, -1) to[out=45, in=180] (2.5,-0.2) to[out=0,in=180-45] (4,-1) to[out=-45,in=180-45] (5, -2);
\begin{scope}[on background layer]
\node[fit={(-0.5, -2.7) (5.5, 1.4)}, inner sep=0pt, draw, dashed, fill=black!20!white] (GS) {};
\node[below] at (GS.north) {$GS$};
\end{scope}
\end{scope}
\begin{scope}[shift={(0, -4.4)}]
\draw[fill=red!20] (-0.2, -2.5) rectangle (1.4, 0.5);
\draw[] (0.6, -1.8) node[]{$\sim G^{-1}$};
\draw[fill=blue!20] (3.6, -2.5) rectangle (5.2, 0.5);
\draw[] (4.5, -0.3) node[]{$\sim K$};
\draw[dashed] (-0.4, 0) -- (5.4, 0);
\draw [] (0,-1.5) to[out=45,in=180+45] (1, -0.5) to[out=45, in=180] (2.5,0.3) to[out=0,in=180-45] (4,-0.5) to[out=-45,in=180-45] (5, -1.5);
\begin{scope}[on background layer]
\node[fit={(-0.5, -2.7) (5.5, 1.4)}, inner sep=0pt, draw, dashed, fill=black!20!white] (KS) {};
\node[below] at (KS.north) {$KS$};
\end{scope}
\end{scope}
\begin{scope}[shift={(6.4, -4.4)}]
\draw[fill=red!20] (-0.2, -2.5) rectangle (1.4, 0.5); \draw[fill=red!20] (-0.2, -2.5) rectangle (1.4, 0.5);
\draw[] (0.6, -0.5) node[]{$\sim 1$}; \draw[] (0.6, -0.5) node[]{$\sim 1$};
\draw[fill=blue!20] (3.6, -2.5) rectangle (5.2, 0.5); \draw[fill=blue!20] (3.6, -2.5) rectangle (5.2, 0.5);
@ -2160,16 +2316,46 @@ This is indeed what we can see by comparing $|S|$ and $|W_S|$ in Figure [[fig:re
\draw[fill=red!20] (2.5, 0.15) circle (0.15); \draw[fill=red!20] (2.5, 0.15) circle (0.15);
\draw[dashed] (-0.4, 0) -- (5.4, 0); \draw[dashed] (-0.4, 0) -- (5.4, 0);
\draw [] (0,0) to[out=0,in=180] (1.5,0) to[out=0,in=180] (2.5,0.3) to[out=0,in=-45] (3,0) to[out=-45,in=180-45] (5, -2); \draw [] (0,0) to[out=0,in=180] (1.5,0) to[out=0,in=180] (2.5,0.3) to[out=0,in=-45] (3,0) to[out=-45,in=180-45] (5, -2);
\draw[dashed] (-0.5, -2.7) rectangle (5.5, 1.4); \begin{scope}[on background layer]
\node[fit={(-0.5, -2.7) (5.5, 1.4)}, inner sep=0pt, draw, dashed, fill=black!20!white] (T) {};
\node[below] at (T.north) {$T$};
\end{scope}
\end{scope} \end{scope}
\end{tikzpicture} \end{tikzpicture}
#+end_src #+end_src
#+name: fig:h-infinity-4-blocs-constrains
#+caption: Shaping the Gang of Four: Limitations
#+RESULTS: #+RESULTS:
[[file:figs/h-infinity-2-blocs-constrains.png]] [[file:figs/h-infinity-4-blocs-constrains.png]]
#+begin_warning
The order (resp. number of state) of the controller given by the $\mathcal{H}_\infty$ synthesis is equal to the order (resp. number of state) of the weighted generalized plant.
It is thus equal to the *sum* of the number of state of the non-weighted generalized plant and the number of state of all the weighting functions.
Two approaches can be used to obtain controllers with reasonable order:
1. use simple weights (usually first order)
2. perform a model reduction on the obtained high order controller
#+end_warning
* Mixed-Sensitivity $\mathcal{H}_\infty$ Control - Example
<<sec:h_infinity_mixed_sensitivity>>
** Problem
** Typical Procedure
** Step 1 - Shaping of the Sensitivity Function
** Step 2 - Shaping of
* Conclusion
<<sec:conclusion>>
* Resources * Resources
:PROPERTIES:
:UNNUMBERED: notoc
:END:
yt:?listType=playlist&list=PLn8PRpmsu08qFLMfgTEzR8DxOPE7fBiin yt:?listType=playlist&list=PLn8PRpmsu08qFLMfgTEzR8DxOPE7fBiin