mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-05-06 15:29:31 +03:00
Merge branch 'dev' into dev-arena
This commit is contained in:
commit
e226ebcc97
20 changed files with 6123 additions and 216 deletions
|
@ -1,5 +1,5 @@
|
|||
set(mi_version_major 1)
|
||||
set(mi_version_minor 4)
|
||||
set(mi_version_minor 5)
|
||||
set(mi_version ${mi_version_major}.${mi_version_minor})
|
||||
|
||||
set(PACKAGE_VERSION ${mi_version})
|
||||
|
|
886
doc/bench-c5-18xlarge-2020-01-20-a.svg
Normal file
886
doc/bench-c5-18xlarge-2020-01-20-a.svg
Normal file
|
@ -0,0 +1,886 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- This file was generated by dvisvgm 2.4.2 -->
|
||||
<svg height='167.731pt' version='1.1' viewBox='52.938 54.996 381.624 167.731' width='381.624pt' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>
|
||||
<defs>
|
||||
<clipPath id='clip1'>
|
||||
<path d='M82.148 206.586H434.164V81.34H82.148Z'/>
|
||||
</clipPath>
|
||||
<use id='g3-40' transform='scale(1.143)' xlink:href='#g0-40'/>
|
||||
<use id='g3-41' transform='scale(1.143)' xlink:href='#g0-41'/>
|
||||
<use id='g3-78' transform='scale(1.143)' xlink:href='#g0-78'/>
|
||||
<use id='g3-97' transform='scale(1.143)' xlink:href='#g0-97'/>
|
||||
<use id='g3-98' transform='scale(1.143)' xlink:href='#g0-98'/>
|
||||
<use id='g3-99' transform='scale(1.143)' xlink:href='#g0-99'/>
|
||||
<use id='g3-100' transform='scale(1.143)' xlink:href='#g0-100'/>
|
||||
<use id='g3-101' transform='scale(1.143)' xlink:href='#g0-101'/>
|
||||
<use id='g3-102' transform='scale(1.143)' xlink:href='#g0-102'/>
|
||||
<use id='g3-105' transform='scale(1.143)' xlink:href='#g0-105'/>
|
||||
<use id='g3-108' transform='scale(1.143)' xlink:href='#g0-108'/>
|
||||
<use id='g3-109' transform='scale(1.143)' xlink:href='#g0-109'/>
|
||||
<use id='g3-110' transform='scale(1.143)' xlink:href='#g0-110'/>
|
||||
<use id='g3-111' transform='scale(1.143)' xlink:href='#g0-111'/>
|
||||
<use id='g3-112' transform='scale(1.143)' xlink:href='#g0-112'/>
|
||||
<use id='g3-114' transform='scale(1.143)' xlink:href='#g0-114'/>
|
||||
<use id='g3-115' transform='scale(1.143)' xlink:href='#g0-115'/>
|
||||
<use id='g3-116' transform='scale(1.143)' xlink:href='#g0-116'/>
|
||||
<use id='g3-119' transform='scale(1.143)' xlink:href='#g0-119'/>
|
||||
<path d='M3.891 -2.914C4.806 -3.165 5.452 -3.811 5.452 -4.546C5.452 -5.469 4.411 -6.223 3.129 -6.223H0.87V0H1.704V-2.824H3.138L4.842 0H5.703L3.891 -2.914ZM1.704 -3.407V-5.694H3.022C4.062 -5.694 4.671 -5.192 4.671 -4.546C4.671 -3.963 4.125 -3.407 3.022 -3.407H1.704Z' id='g1-82'/>
|
||||
<path d='M3.694 -2.591C3.694 -3.479 3.04 -4.133 2.152 -4.133C1.569 -4.133 1.139 -3.981 0.708 -3.739L0.762 -3.102C1.21 -3.434 1.65 -3.569 2.143 -3.569C2.645 -3.569 2.95 -3.165 2.95 -2.582V-2.206C1.408 -2.17 0.395 -1.766 0.395 -1.04C0.395 -0.619 0.672 0.099 1.453 0.099C1.632 0.099 2.412 0.081 2.977 -0.341V0H3.694V-2.591ZM2.95 -1.255C2.95 -1.067 2.95 -0.843 2.627 -0.655C2.403 -0.52 2.107 -0.484 1.928 -0.484C1.47 -0.484 1.085 -0.699 1.085 -1.058C1.085 -1.695 2.833 -1.722 2.95 -1.722V-1.255Z' id='g1-97'/>
|
||||
<path d='M3.829 -1.964C3.829 -2.242 3.82 -2.923 3.47 -3.461C3.093 -4.026 2.52 -4.133 2.179 -4.133C1.139 -4.133 0.314 -3.174 0.314 -2.026C0.314 -0.843 1.193 0.099 2.313 0.099C2.744 0.099 3.264 -0.009 3.784 -0.341L3.73 -0.959C3.165 -0.556 2.636 -0.484 2.322 -0.484C1.578 -0.484 1.004 -1.139 0.977 -1.964H3.829ZM1.031 -2.493C1.175 -3.067 1.614 -3.551 2.179 -3.551C2.511 -3.551 3.12 -3.398 3.291 -2.493H1.031Z' id='g1-101'/>
|
||||
<path d='M1.524 -6.133H0.664V-5.272H1.524V-6.133ZM1.453 -3.981H0.735V0H1.453V-3.981Z' id='g1-105'/>
|
||||
<path d='M1.453 -6.223H0.735V0H1.453V-6.223Z' id='g1-108'/>
|
||||
<path d='M6.581 -2.663C6.581 -3.327 6.402 -4.08 5.317 -4.08C4.564 -4.08 4.142 -3.622 3.927 -3.344C3.865 -3.524 3.676 -4.08 2.762 -4.08C2.053 -4.08 1.623 -3.667 1.417 -3.398V-4.035H0.726V0H1.47V-2.188C1.47 -2.78 1.704 -3.497 2.385 -3.497C3.282 -3.497 3.282 -2.86 3.282 -2.6V0H4.026V-2.188C4.026 -2.78 4.259 -3.497 4.94 -3.497C5.837 -3.497 5.837 -2.86 5.837 -2.6V0H6.581V-2.663Z' id='g1-109'/>
|
||||
<path d='M1.623 -3.425H2.914V-3.981H1.623V-5.12H0.959V-3.981H0.17V-3.425H0.933V-1.13C0.933 -0.601 1.049 0.099 1.704 0.099C2.098 0.099 2.564 0.018 3.067 -0.233L2.914 -0.798C2.681 -0.619 2.367 -0.511 2.089 -0.511C1.739 -0.511 1.623 -0.825 1.623 -1.291V-3.425Z' id='g1-116'/>
|
||||
<path d='M4.116 -3.981H3.407L2.699 -2.161C2.52 -1.695 2.188 -0.825 2.143 -0.493H2.125C2.107 -0.646 2.08 -0.816 1.587 -2.107C1.318 -2.833 0.879 -3.927 0.861 -3.981H0.126L1.704 0H2.537L4.116 -3.981Z' id='g1-118'/>
|
||||
<use id='g2-46' transform='scale(0.714)' xlink:href='#g0-46'/>
|
||||
<use id='g2-48' transform='scale(0.714)' xlink:href='#g0-48'/>
|
||||
<use id='g2-49' transform='scale(0.714)' xlink:href='#g0-49'/>
|
||||
<use id='g2-50' transform='scale(0.714)' xlink:href='#g0-50'/>
|
||||
<use id='g2-51' transform='scale(0.714)' xlink:href='#g0-51'/>
|
||||
<use id='g2-52' transform='scale(0.714)' xlink:href='#g0-52'/>
|
||||
<use id='g2-53' transform='scale(0.714)' xlink:href='#g0-53'/>
|
||||
<use id='g2-54' transform='scale(0.714)' xlink:href='#g0-54'/>
|
||||
<use id='g2-55' transform='scale(0.714)' xlink:href='#g0-55'/>
|
||||
<use id='g2-56' transform='scale(0.714)' xlink:href='#g0-56'/>
|
||||
<use id='g2-57' transform='scale(0.714)' xlink:href='#g0-57'/>
|
||||
<use id='g2-120' transform='scale(0.714)' xlink:href='#g0-120'/>
|
||||
<path d='M1.445 -1.245C1.445 -1.41 1.305 -1.549 1.141 -1.549S0.837 -1.41 0.837 -1.245S0.976 -0.941 1.141 -0.941S1.445 -1.081 1.445 -1.245Z' id='g4-1'/>
|
||||
<path d='M2.127 -5.23C2.008 -5.23 1.995 -5.23 1.911 -5.154C1.032 -4.387 0.586 -3.145 0.586 -1.743C0.586 -0.425 0.983 0.844 1.904 1.653C1.995 1.743 2.008 1.743 2.127 1.743H2.462C2.441 1.73 1.764 1.151 1.444 0.063C1.276 -0.481 1.193 -1.053 1.193 -1.743C1.193 -4.156 2.322 -5.112 2.462 -5.23H2.127Z' id='g0-40'/>
|
||||
<path d='M0.746 1.743C0.865 1.743 0.879 1.743 0.962 1.667C1.841 0.9 2.287 -0.342 2.287 -1.743C2.287 -3.062 1.89 -4.331 0.969 -5.14C0.879 -5.23 0.865 -5.23 0.746 -5.23H0.411C0.432 -5.216 1.109 -4.638 1.43 -3.55C1.597 -3.006 1.681 -2.434 1.681 -1.743C1.681 0.669 0.551 1.625 0.411 1.743H0.746Z' id='g0-41'/>
|
||||
<path d='M1.339 -0.628H0.711V0H1.339V-0.628Z' id='g0-46'/>
|
||||
<path d='M3.403 -2.267C3.403 -2.601 3.403 -3.417 3.075 -3.989C2.72 -4.617 2.183 -4.721 1.848 -4.721C1.534 -4.721 0.99 -4.624 0.642 -4.024C0.307 -3.466 0.293 -2.706 0.293 -2.267C0.293 -1.75 0.321 -1.116 0.614 -0.586C0.921 -0.021 1.437 0.146 1.848 0.146C2.545 0.146 2.929 -0.258 3.138 -0.697C3.382 -1.193 3.403 -1.834 3.403 -2.267ZM1.848 -0.314C1.555 -0.314 1.22 -0.481 1.046 -0.983C0.907 -1.409 0.9 -1.848 0.9 -2.357C0.9 -2.999 0.9 -4.261 1.848 -4.261S2.797 -2.999 2.797 -2.357C2.797 -1.897 2.797 -1.374 2.629 -0.928C2.434 -0.425 2.078 -0.314 1.848 -0.314Z' id='g0-48'/>
|
||||
<path d='M2.239 -4.721H2.085C1.632 -4.303 1.06 -4.275 0.642 -4.261V-3.822C0.914 -3.829 1.262 -3.843 1.611 -3.982V-0.439H0.683V0H3.166V-0.439H2.239V-4.721Z' id='g0-49'/>
|
||||
<path d='M1.974 -0.537C1.89 -0.537 1.806 -0.53 1.723 -0.53H0.928L2.008 -1.485C2.134 -1.597 2.476 -1.855 2.608 -1.967C2.915 -2.246 3.327 -2.608 3.327 -3.215C3.327 -4.003 2.741 -4.721 1.743 -4.721C1.004 -4.721 0.544 -4.324 0.307 -3.612L0.635 -3.201C0.795 -3.787 1.039 -4.24 1.646 -4.24C2.232 -4.24 2.678 -3.829 2.678 -3.201C2.678 -2.622 2.336 -2.294 1.918 -1.897C1.778 -1.757 1.402 -1.444 1.255 -1.304C1.053 -1.123 0.572 -0.656 0.37 -0.481V0H3.327V-0.537H1.974Z' id='g0-50'/>
|
||||
<path d='M0.697 -3.578C0.983 -4.135 1.485 -4.289 1.82 -4.289C2.232 -4.289 2.538 -4.052 2.538 -3.654C2.538 -3.285 2.287 -2.831 1.757 -2.741C1.723 -2.734 1.695 -2.734 1.234 -2.699V-2.239H1.778C2.441 -2.239 2.685 -1.716 2.685 -1.276C2.685 -0.732 2.35 -0.314 1.806 -0.314C1.311 -0.314 0.746 -0.551 0.398 -0.997L0.307 -0.544C0.711 -0.091 1.276 0.146 1.82 0.146C2.734 0.146 3.389 -0.537 3.389 -1.269C3.389 -1.841 2.929 -2.301 2.378 -2.462C2.908 -2.734 3.18 -3.201 3.18 -3.654C3.18 -4.247 2.573 -4.721 1.827 -4.721C1.213 -4.721 0.704 -4.4 0.411 -3.982L0.697 -3.578Z' id='g0-51'/>
|
||||
<path d='M2.762 -1.165H3.487V-1.625H2.762V-4.575H2.071L0.209 -1.625V-1.165H2.162V0H2.762V-1.165ZM0.802 -1.625C1.011 -1.953 2.211 -3.815 2.211 -4.233V-1.625H0.802Z' id='g0-52'/>
|
||||
<path d='M1.144 -4.094H3.075V-4.575H0.586V-1.967H1.095C1.262 -2.343 1.59 -2.511 1.904 -2.511C2.19 -2.511 2.622 -2.315 2.622 -1.43C2.622 -0.516 2.043 -0.314 1.688 -0.314C1.227 -0.314 0.781 -0.558 0.544 -0.955L0.279 -0.537C0.621 -0.112 1.137 0.146 1.688 0.146C2.608 0.146 3.327 -0.565 3.327 -1.416C3.327 -2.28 2.685 -2.971 1.918 -2.971C1.618 -2.971 1.353 -2.866 1.144 -2.692V-4.094Z' id='g0-53'/>
|
||||
<path d='M3.062 -4.582C2.685 -4.721 2.42 -4.721 2.287 -4.721C1.227 -4.721 0.307 -3.724 0.307 -2.253C0.307 -0.363 1.158 0.146 1.862 0.146C2.427 0.146 2.72 -0.119 2.936 -0.342C3.382 -0.816 3.389 -1.311 3.389 -1.555C3.389 -2.469 2.894 -3.229 2.218 -3.229C1.534 -3.229 1.165 -2.873 0.962 -2.671C1.053 -3.626 1.541 -4.289 2.294 -4.289C2.434 -4.289 2.713 -4.275 3.062 -4.142V-4.582ZM0.969 -1.534C0.969 -1.576 0.969 -1.681 0.976 -1.716C0.976 -2.19 1.276 -2.769 1.897 -2.769C2.748 -2.769 2.748 -1.792 2.748 -1.555C2.748 -1.29 2.748 -0.997 2.559 -0.704C2.392 -0.453 2.183 -0.314 1.862 -0.314C1.123 -0.314 1.004 -1.227 0.969 -1.534Z' id='g0-54'/>
|
||||
<path d='M1.723 -4.038C1.806 -4.038 1.89 -4.045 1.974 -4.045H2.852C1.792 -3.006 1.116 -1.548 1.116 0.07H1.771C1.771 -1.967 2.762 -3.431 3.389 -4.087V-4.575H0.307V-4.038H1.723Z' id='g0-55'/>
|
||||
<path d='M2.385 -2.469C2.845 -2.615 3.285 -2.985 3.285 -3.501C3.285 -4.135 2.678 -4.721 1.848 -4.721S0.411 -4.135 0.411 -3.501C0.411 -2.978 0.865 -2.608 1.311 -2.469C0.697 -2.28 0.307 -1.806 0.307 -1.269C0.307 -0.523 0.969 0.146 1.848 0.146S3.389 -0.523 3.389 -1.269C3.389 -1.806 2.992 -2.28 2.385 -2.469ZM1.848 -2.699C1.353 -2.699 0.948 -2.985 0.948 -3.494C0.948 -3.94 1.262 -4.289 1.848 -4.289C2.427 -4.289 2.748 -3.94 2.748 -3.494C2.748 -2.999 2.357 -2.699 1.848 -2.699ZM1.848 -0.314C1.367 -0.314 0.941 -0.621 0.941 -1.276C0.941 -1.904 1.346 -2.239 1.848 -2.239S2.755 -1.897 2.755 -1.276C2.755 -0.621 2.322 -0.314 1.848 -0.314Z' id='g0-56'/>
|
||||
<path d='M0.537 -0.174C0.879 0.077 1.193 0.146 1.52 0.146C2.497 0.146 3.389 -0.837 3.389 -2.336C3.389 -4.24 2.545 -4.721 1.876 -4.721C1.255 -4.721 0.969 -4.428 0.767 -4.226C0.321 -3.773 0.307 -3.292 0.307 -3.02C0.307 -2.12 0.795 -1.346 1.478 -1.346C2.267 -1.346 2.699 -1.869 2.734 -1.911C2.636 -0.802 2.092 -0.314 1.52 -0.314C1.158 -0.314 0.934 -0.446 0.774 -0.579L0.537 -0.174ZM2.713 -3.027C2.72 -2.985 2.72 -2.915 2.72 -2.873C2.72 -2.357 2.406 -1.806 1.799 -1.806C1.534 -1.806 1.325 -1.883 1.144 -2.169C0.962 -2.441 0.948 -2.706 0.948 -3.02C0.948 -3.292 0.948 -3.605 1.165 -3.912C1.311 -4.122 1.52 -4.289 1.869 -4.289C2.545 -4.289 2.692 -3.473 2.713 -3.027Z' id='g0-57'/>
|
||||
<path d='M1.646 -4.84H0.697V0H1.283V-4.289H1.29L3.578 0H4.526V-4.84H3.94V-0.551H3.933L1.646 -4.84Z' id='g0-78'/>
|
||||
<path d='M2.971 -2.008C2.971 -2.72 2.427 -3.201 1.736 -3.201C1.297 -3.201 0.962 -3.11 0.572 -2.901L0.614 -2.392C0.844 -2.545 1.186 -2.755 1.736 -2.755C2.043 -2.755 2.364 -2.525 2.364 -2.001V-1.723C1.332 -1.688 0.314 -1.471 0.314 -0.823C0.314 -0.474 0.551 0.07 1.165 0.07C1.465 0.07 2.015 0.007 2.385 -0.265V0H2.971V-2.008ZM2.364 -0.99C2.364 -0.851 2.364 -0.669 2.12 -0.523C1.897 -0.398 1.625 -0.391 1.548 -0.391C1.165 -0.391 0.872 -0.565 0.872 -0.83C0.872 -1.276 2.05 -1.318 2.364 -1.332V-0.99Z' id='g0-97'/>
|
||||
<path d='M1.179 -4.84H0.593V0H1.2V-0.328C1.353 -0.195 1.688 0.07 2.197 0.07C2.957 0.07 3.571 -0.642 3.571 -1.555C3.571 -2.399 3.089 -3.166 2.392 -3.166C1.953 -3.166 1.527 -3.027 1.179 -2.769V-4.84ZM1.2 -2.197C1.2 -2.308 1.2 -2.392 1.444 -2.552C1.548 -2.615 1.736 -2.706 1.974 -2.706C2.441 -2.706 2.964 -2.392 2.964 -1.555C2.964 -0.704 2.385 -0.391 1.897 -0.391C1.639 -0.391 1.395 -0.509 1.2 -0.823V-2.197Z' id='g0-98'/>
|
||||
<path d='M3.034 -0.76C2.685 -0.537 2.308 -0.411 1.876 -0.411C1.234 -0.411 0.858 -0.928 0.858 -1.555C0.858 -2.092 1.137 -2.72 1.897 -2.72C2.371 -2.72 2.594 -2.622 2.95 -2.399L3.041 -2.901C2.622 -3.11 2.441 -3.201 1.897 -3.201C0.851 -3.201 0.251 -2.357 0.251 -1.548C0.251 -0.697 0.921 0.07 1.869 0.07C2.357 0.07 2.776 -0.077 3.075 -0.251L3.034 -0.76Z' id='g0-99'/>
|
||||
<path d='M3.229 -4.84H2.643V-2.797C2.197 -3.124 1.743 -3.166 1.541 -3.166C0.809 -3.166 0.251 -2.434 0.251 -1.548S0.802 0.07 1.52 0.07C1.953 0.07 2.357 -0.126 2.622 -0.363V0H3.229V-4.84ZM2.622 -0.865C2.448 -0.579 2.183 -0.391 1.848 -0.391C1.36 -0.391 0.858 -0.732 0.858 -1.541C0.858 -2.413 1.451 -2.706 1.925 -2.706C2.204 -2.706 2.441 -2.587 2.622 -2.35V-0.865Z' id='g0-100'/>
|
||||
<path d='M2.999 -0.76C2.608 -0.481 2.169 -0.391 1.869 -0.391C1.262 -0.391 0.802 -0.886 0.781 -1.527H3.068C3.068 -1.848 3.034 -2.315 2.762 -2.713C2.511 -3.068 2.092 -3.201 1.75 -3.201C0.9 -3.201 0.244 -2.455 0.244 -1.569C0.244 -0.676 0.941 0.07 1.862 0.07C2.267 0.07 2.685 -0.049 3.041 -0.265L2.999 -0.76ZM0.83 -1.946C0.99 -2.504 1.402 -2.741 1.75 -2.741C2.057 -2.741 2.511 -2.594 2.643 -1.946H0.83Z' id='g0-101'/>
|
||||
<path d='M1.325 -2.657H2.12V-3.096H1.304V-3.898C1.304 -4.38 1.743 -4.449 1.974 -4.449C2.12 -4.449 2.308 -4.428 2.566 -4.331V-4.84C2.385 -4.882 2.169 -4.91 1.981 -4.91C1.262 -4.91 0.739 -4.394 0.739 -3.703V-3.096H0.202V-2.657H0.739V0H1.325V-2.657Z' id='g0-102'/>
|
||||
<path d='M1.227 -4.784H0.523V-4.08H1.227V-4.784ZM1.172 -3.096H0.586V0H1.172V-3.096Z' id='g0-105'/>
|
||||
<path d='M1.172 -4.84H0.586V0H1.172V-4.84Z' id='g0-108'/>
|
||||
<path d='M5.3 -2.064C5.3 -2.608 5.14 -3.166 4.282 -3.166C3.696 -3.166 3.333 -2.824 3.166 -2.601C3.096 -2.79 2.922 -3.166 2.225 -3.166C1.827 -3.166 1.444 -3.006 1.137 -2.636V-3.145H0.579V0H1.186V-1.695C1.186 -2.155 1.381 -2.706 1.918 -2.706C2.636 -2.706 2.636 -2.218 2.636 -2.015V0H3.243V-1.695C3.243 -2.155 3.438 -2.706 3.975 -2.706C4.693 -2.706 4.693 -2.218 4.693 -2.015V0H5.3V-2.064Z' id='g0-109'/>
|
||||
<path d='M3.243 -2.064C3.243 -2.608 3.082 -3.166 2.225 -3.166C1.827 -3.166 1.444 -3.006 1.137 -2.636V-3.145H0.579V0H1.186V-1.695C1.186 -2.155 1.381 -2.706 1.918 -2.706C2.636 -2.706 2.636 -2.218 2.636 -2.015V0H3.243V-2.064Z' id='g0-110'/>
|
||||
<path d='M3.487 -1.527C3.487 -2.448 2.755 -3.201 1.848 -3.201S0.209 -2.441 0.209 -1.527C0.209 -0.642 0.948 0.07 1.848 0.07C2.755 0.07 3.487 -0.642 3.487 -1.527ZM1.848 -0.411C1.297 -0.411 0.816 -0.816 0.816 -1.604S1.332 -2.741 1.848 -2.741C2.371 -2.741 2.88 -2.378 2.88 -1.604C2.88 -0.809 2.385 -0.411 1.848 -0.411Z' id='g0-111'/>
|
||||
<path d='M1.2 -0.328C1.569 0.007 1.967 0.07 2.204 0.07C2.943 0.07 3.571 -0.635 3.571 -1.555C3.571 -2.392 3.11 -3.166 2.42 -3.166C2.106 -3.166 1.583 -3.075 1.179 -2.762V-3.096H0.593V1.353H1.2V-0.328ZM1.2 -2.315C1.36 -2.511 1.632 -2.685 1.967 -2.685C2.525 -2.685 2.964 -2.169 2.964 -1.555C2.964 -0.865 2.441 -0.391 1.897 -0.391C1.792 -0.391 1.618 -0.404 1.437 -0.551C1.227 -0.711 1.2 -0.816 1.2 -0.948V-2.315Z' id='g0-112'/>
|
||||
<path d='M1.179 -1.485C1.179 -2.239 1.806 -2.643 2.42 -2.65V-3.166C1.834 -3.159 1.409 -2.873 1.13 -2.504V-3.145H0.593V0H1.179V-1.485Z' id='g0-114'/>
|
||||
<path d='M2.545 -2.985C2.071 -3.18 1.723 -3.201 1.471 -3.201C1.297 -3.201 0.244 -3.201 0.244 -2.273C0.244 -1.946 0.425 -1.764 0.516 -1.681C0.76 -1.437 1.053 -1.381 1.423 -1.311C1.75 -1.248 2.127 -1.179 2.127 -0.844C2.127 -0.404 1.548 -0.404 1.451 -0.404C1.004 -0.404 0.586 -0.565 0.307 -0.76L0.209 -0.237C0.446 -0.119 0.872 0.07 1.451 0.07C1.764 0.07 2.071 0.021 2.329 -0.167C2.587 -0.363 2.671 -0.669 2.671 -0.907C2.671 -1.032 2.657 -1.304 2.364 -1.569C2.106 -1.799 1.855 -1.848 1.52 -1.911C1.109 -1.988 0.788 -2.05 0.788 -2.357C0.788 -2.755 1.297 -2.755 1.402 -2.755C1.799 -2.755 2.106 -2.671 2.455 -2.49L2.545 -2.985Z' id='g0-115'/>
|
||||
<path d='M1.311 -2.657H2.343V-3.096H1.311V-3.982H0.774V-3.096H0.139V-2.657H0.753V-0.893C0.753 -0.425 0.872 0.07 1.374 0.07S2.26 -0.091 2.469 -0.188L2.35 -0.635C2.12 -0.467 1.876 -0.411 1.681 -0.411C1.388 -0.411 1.311 -0.697 1.311 -1.018V-2.657Z' id='g0-116'/>
|
||||
<path d='M4.951 -3.096H4.407C4.345 -2.901 3.954 -1.723 3.738 -0.997C3.682 -0.795 3.612 -0.572 3.592 -0.411H3.585C3.543 -0.697 3.299 -1.451 3.285 -1.499L2.769 -3.096H2.239C2.036 -2.497 1.513 -0.934 1.458 -0.425H1.451C1.395 -0.921 0.879 -2.462 0.767 -2.797C0.711 -2.964 0.711 -2.978 0.676 -3.096H0.105L1.123 0H1.709C1.716 -0.028 1.904 -0.579 2.148 -1.353C2.253 -1.695 2.462 -2.364 2.497 -2.671L2.504 -2.678C2.518 -2.532 2.559 -2.378 2.608 -2.204S2.706 -1.841 2.755 -1.681L3.292 0H3.933L4.951 -3.096Z' id='g0-119'/>
|
||||
<path d='M1.932 -1.597L3.285 -3.096H2.671L1.681 -1.953L0.669 -3.096H0.042L1.437 -1.597L0 0H0.621L1.681 -1.311L2.783 0H3.41L1.932 -1.597Z' id='g0-120'/>
|
||||
</defs>
|
||||
<g id='page1'>
|
||||
<path d='M140.82 215.441V206.586M199.488 215.441V206.586M258.156 215.441V206.586M316.824 215.441V206.586M375.496 215.441V206.586M140.82 72.48V81.34M199.488 72.48V81.34M258.156 72.48V81.34M316.824 72.48V81.34M375.496 72.48V81.34' fill='none' stroke='#808080' stroke-miterlimit='10' stroke-width='0.199'/>
|
||||
<path d='M111.484 210.836V206.586M170.152 210.836V206.586M228.824 210.836V206.586M287.492 210.836V206.586M346.16 210.836V206.586M404.828 210.836V206.586M111.484 77.086V81.34M170.152 77.086V81.34M228.824 77.086V81.34M287.492 77.086V81.34M346.16 77.086V81.34M404.828 77.086V81.34' fill='none' stroke='#808080' stroke-miterlimit='10' stroke-width='0.199'/>
|
||||
<path d='M82.148 206.586H86.402M82.148 175.273H86.402M82.148 143.961H86.402M82.148 112.648H86.402M82.148 81.34H86.402M434.164 206.586H429.91M434.164 175.273H429.91M434.164 143.961H429.91M434.164 112.648H429.91M434.164 81.34H429.91' fill='none' stroke='#808080' stroke-miterlimit='10' stroke-width='0.199'/>
|
||||
<path d='M82.148 206.586V81.34H434.164V206.586H82.148Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<g transform='matrix(1 0 0 1 -11.54 34.954)'>
|
||||
<use x='114.487' xlink:href='#g3-99' y='186.027'/>
|
||||
<use x='118.25' xlink:href='#g3-102' y='186.027'/>
|
||||
<use x='120.838' xlink:href='#g3-114' y='186.027'/>
|
||||
<use x='123.73' xlink:href='#g3-97' y='186.027'/>
|
||||
<use x='127.798' xlink:href='#g3-99' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 45.565 34.954)'>
|
||||
<use x='114.487' xlink:href='#g3-108' y='186.027'/>
|
||||
<use x='116.507' xlink:href='#g3-101' y='186.027'/>
|
||||
<use x='120.271' xlink:href='#g3-97' y='186.027'/>
|
||||
<use x='124.339' xlink:href='#g3-110' y='186.027'/>
|
||||
<use x='128.711' xlink:href='#g3-78' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 106.188 34.954)'>
|
||||
<use x='114.487' xlink:href='#g3-114' y='186.027'/>
|
||||
<use x='117.379' xlink:href='#g3-101' y='186.027'/>
|
||||
<use x='121.142' xlink:href='#g3-100' y='186.027'/>
|
||||
<use x='125.515' xlink:href='#g3-105' y='186.027'/>
|
||||
<use x='127.535' xlink:href='#g3-115' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 159.716 34.954)'>
|
||||
<use x='114.487' xlink:href='#g3-108' y='186.027'/>
|
||||
<use x='116.507' xlink:href='#g3-97' y='186.027'/>
|
||||
<use x='120.34' xlink:href='#g3-114' y='186.027'/>
|
||||
<use x='123.232' xlink:href='#g3-115' y='186.027'/>
|
||||
<use x='126.478' xlink:href='#g3-111' y='186.027'/>
|
||||
<use x='130.712' xlink:href='#g3-110' y='186.027'/>
|
||||
<use x='135.085' xlink:href='#g3-78' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 215.596 34.954)'>
|
||||
<use x='114.487' xlink:href='#g3-109' y='186.027'/>
|
||||
<use x='121.211' xlink:href='#g3-115' y='186.027'/>
|
||||
<use x='124.458' xlink:href='#g3-116' y='186.027'/>
|
||||
<use x='127.516' xlink:href='#g3-114' y='186.027'/>
|
||||
<use x='130.408' xlink:href='#g3-101' y='186.027'/>
|
||||
<use x='134.171' xlink:href='#g3-115' y='186.027'/>
|
||||
<use x='137.418' xlink:href='#g3-115' y='186.027'/>
|
||||
<use x='140.664' xlink:href='#g3-78' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 277.158 34.954)'>
|
||||
<use x='114.487' xlink:href='#g3-114' y='186.027'/>
|
||||
<use x='117.379' xlink:href='#g3-112' y='186.027'/>
|
||||
<use x='121.751' xlink:href='#g3-116' y='186.027'/>
|
||||
<use x='124.809' xlink:href='#g3-101' y='186.027'/>
|
||||
<use x='128.573' xlink:href='#g3-115' y='186.027'/>
|
||||
<use x='131.819' xlink:href='#g3-116' y='186.027'/>
|
||||
<use x='134.877' xlink:href='#g3-78' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 -40.942 22.192)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-120' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 -45.059 -9.12)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-53' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-120' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 -45.059 -40.431)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-120' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 -45.059 -71.743)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-53' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-120' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 -45.059 -103.054)'>
|
||||
<use x='114.487' xlink:href='#g2-50' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-120' y='186.027'/>
|
||||
</g>
|
||||
<path clip-path='url(#clip1)' d='M82.148 143.961H434.164' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M88.945 206.586H92.18V143.961H88.945ZM147.613 206.586H150.852V143.961H147.613ZM206.281 206.586H209.52V143.961H206.281ZM264.949 206.586H268.188V143.961H264.949ZM323.621 206.586H326.859V143.961H323.621ZM382.289 206.586H385.527V143.961H382.289Z' fill='#993333'/>
|
||||
<path clip-path='url(#clip1)' d='M88.945 206.586H92.18V143.961H88.945ZM147.613 206.586H150.852V143.961H147.613ZM206.281 206.586H209.52V143.961H206.281ZM264.949 206.586H268.188V143.961H264.949ZM323.621 206.586H326.859V143.961H323.621ZM382.289 206.586H385.527V143.961H382.289Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M90.563 143.961V143.898' fill='#993333'/>
|
||||
<path clip-path='url(#clip1)' d='M90.563 143.961V143.898' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M88.57 143.898H92.555' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M90.563 143.961V144.023' fill='#993333'/>
|
||||
<path clip-path='url(#clip1)' d='M90.563 143.961V144.023' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M92.555 144.024H88.57' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M149.231 143.961V143.523' fill='#993333'/>
|
||||
<path clip-path='url(#clip1)' d='M149.231 143.961V143.523' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M147.238 143.524H151.226' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M149.231 143.961V144.398' fill='#993333'/>
|
||||
<path clip-path='url(#clip1)' d='M149.231 143.961V144.398' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M151.223 144.398H147.238' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M207.902 143.961V142.207' fill='#993333'/>
|
||||
<path clip-path='url(#clip1)' d='M207.902 143.961V142.207' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M205.91 142.207H209.894' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M207.902 143.961V145.715' fill='#993333'/>
|
||||
<path clip-path='url(#clip1)' d='M207.902 143.961V145.715' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M209.891 145.715H205.906' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M266.57 143.961V143.336' fill='#993333'/>
|
||||
<path clip-path='url(#clip1)' d='M266.57 143.961V143.336' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M264.578 143.336H268.562' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M266.57 143.961V144.586' fill='#993333'/>
|
||||
<path clip-path='url(#clip1)' d='M266.57 143.961V144.586' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M268.563 144.586H264.578' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M325.238 143.961V143.586' fill='#993333'/>
|
||||
<path clip-path='url(#clip1)' d='M325.238 143.961V143.586' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M323.246 143.586H327.23' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M325.238 143.961V144.336' fill='#993333'/>
|
||||
<path clip-path='url(#clip1)' d='M325.238 143.961V144.336' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M327.231 144.336H323.246' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M383.906 143.961V143.523' fill='#993333'/>
|
||||
<path clip-path='url(#clip1)' d='M383.906 143.961V143.523' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M381.914 143.524H385.902' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M383.906 143.961V144.398' fill='#993333'/>
|
||||
<path clip-path='url(#clip1)' d='M383.906 143.961V144.398' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M385.898 144.398H381.914' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M94.176 206.586H97.41V142.519H94.176ZM152.844 206.586H156.082V140.203H152.844ZM211.512 206.586H214.75V148.344H211.512ZM270.18 206.586H273.418V121.418H270.18ZM328.852 206.586H332.09V135.07H328.852ZM387.52 206.586H390.758V81.34H387.52Z' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip1)' d='M94.176 206.586H97.41V142.519H94.176ZM152.844 206.586H156.082V140.203H152.844ZM211.512 206.586H214.75V148.344H211.512ZM270.18 206.586H273.418V121.418H270.18ZM328.852 206.586H332.09V135.07H328.852ZM387.52 206.586H390.758V81.34H387.52Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M95.793 142.519V142.519' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip1)' d='M93.801 142.52H97.785' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M95.793 142.519V142.519' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip1)' d='M93.801 142.52H97.785' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M154.461 140.203V139.203' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip1)' d='M154.461 140.203V139.203' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M152.469 139.203H156.457' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M154.461 140.203V141.207' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip1)' d='M154.461 140.203V141.207' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M156.453 141.207H152.468' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M213.133 148.344V148.031' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip1)' d='M213.133 148.344V148.031' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M211.141 148.032H215.125' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M213.133 148.344V148.656' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip1)' d='M213.133 148.344V148.656' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M215.121 148.656H211.136' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M271.801 121.418V121.23' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip1)' d='M271.801 121.418V121.23' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M269.809 121.23H273.793' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M271.801 121.418V121.605' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip1)' d='M271.801 121.418V121.605' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M273.793 121.606H269.808' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M330.469 135.07V134.254' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip1)' d='M330.469 135.07V134.254' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M328.477 134.254H332.461' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M330.469 135.07V135.883' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip1)' d='M330.469 135.07V135.883' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M332.461 135.883H328.476' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M389.137 81.34V81.34' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip1)' d='M387.145 81.34H391.133' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M389.137 81.34V81.34' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip1)' d='M387.145 81.34H391.133' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M99.406 206.586H102.641V140.266H99.406ZM158.074 206.586H161.313V142.898H158.074ZM216.742 206.586H219.981V134.754H216.742ZM275.41 206.586H278.649V99.25H275.41ZM334.082 206.586H337.32V81.34H334.082ZM392.75 206.586H395.988V81.34H392.75Z' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip1)' d='M99.406 206.586H102.641V140.266H99.406ZM158.074 206.586H161.313V142.898H158.074ZM216.742 206.586H219.981V134.754H216.742ZM275.41 206.586H278.649V99.25H275.41ZM334.082 206.586H337.32V81.34H334.082ZM392.75 206.586H395.988V81.34H392.75Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M101.024 140.266V140.203' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip1)' d='M101.024 140.266V140.203' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M99.031 140.203H103.016' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M101.024 140.266V140.328' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip1)' d='M101.024 140.266V140.328' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M103.016 140.328H99.031' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M159.691 142.898V142.269' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip1)' d='M159.691 142.898V142.269' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M157.699 142.269H161.687' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M159.691 142.898V143.523' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip1)' d='M159.691 142.898V143.523' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M161.684 143.524H157.699' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M218.363 134.754V134.066' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip1)' d='M218.363 134.754V134.066' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M216.371 134.067H220.355' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M218.363 134.754V135.445' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip1)' d='M218.363 134.754V135.445' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M220.352 135.445H216.367' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M277.031 99.25V91.168' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip1)' d='M277.031 99.25V91.168' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M275.039 91.172H279.023' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M277.031 99.25V107.328' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip1)' d='M277.031 99.25V107.328' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M279.024 107.328H275.039' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M335.699 81.34V81.34' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip1)' d='M333.707 81.34H337.691' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M335.699 81.34V81.34' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip1)' d='M333.707 81.34H337.691' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M394.367 81.34V81.34' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip1)' d='M392.375 81.34H396.363' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M394.367 81.34V81.34' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip1)' d='M392.375 81.34H396.363' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M104.637 206.586H107.871V124.859H104.637ZM163.305 206.586H166.543V141.207H163.305ZM221.973 206.586H225.211V118.035H221.973ZM280.641 206.586H283.879V121.043H280.641ZM339.313 206.586H342.551V133.066H339.313ZM397.981 206.586H401.219V89.039H397.981Z' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip1)' d='M104.637 206.586H107.871V124.859H104.637ZM163.305 206.586H166.543V141.207H163.305ZM221.973 206.586H225.211V118.035H221.973ZM280.641 206.586H283.879V121.043H280.641ZM339.313 206.586H342.551V133.066H339.313ZM397.981 206.586H401.219V89.039H397.981Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M106.254 124.859V124.797' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip1)' d='M106.254 124.859V124.797' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M104.261 124.796H108.246' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M106.254 124.859V124.922' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip1)' d='M106.254 124.859V124.922' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M108.246 124.922H104.261' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M164.922 141.207V140.894' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip1)' d='M164.922 141.207V140.894' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M162.929 140.895H166.917' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M164.922 141.207V141.519' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip1)' d='M164.922 141.207V141.519' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M166.914 141.52H162.929' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M223.594 118.035V117.973' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip1)' d='M223.594 118.035V117.973' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M221.601 117.973H225.585' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M223.594 118.035V118.098' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip1)' d='M223.594 118.035V118.098' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M225.582 118.098H221.597' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M282.262 121.043V120.539' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip1)' d='M282.262 121.043V120.539' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M280.269 120.539H284.253' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M282.262 121.043V121.543' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip1)' d='M282.262 121.043V121.543' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M284.254 121.543H280.269' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M340.93 133.066V132.812' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip1)' d='M340.93 133.066V132.812' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M338.937 132.812H342.921' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M340.93 133.066V133.316' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip1)' d='M340.93 133.066V133.316' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M342.922 133.316H338.937' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M399.598 89.039V88.539' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip1)' d='M399.598 89.039V88.539' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M397.605 88.539H401.593' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M399.598 89.039V89.543' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip1)' d='M399.598 89.039V89.543' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M401.59 89.543H397.605' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M109.867 206.586H113.102V142.332H109.867ZM168.535 206.586H171.774V143.086H168.535ZM227.203 206.586H230.442V132.125H227.203ZM285.871 206.586H289.109V139.641H285.871ZM344.543 206.586H347.781V81.34H344.543ZM403.211 206.586H406.449V100.187H403.211Z' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip1)' d='M109.867 206.586H113.102V142.332H109.867ZM168.535 206.586H171.774V143.086H168.535ZM227.203 206.586H230.442V132.125H227.203ZM285.871 206.586H289.109V139.641H285.871ZM344.543 206.586H347.781V81.34H344.543ZM403.211 206.586H406.449V100.187H403.211Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M111.484 142.332V142.269' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip1)' d='M111.484 142.332V142.269' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M109.492 142.269H113.477' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M111.484 142.332V142.394' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip1)' d='M111.484 142.332V142.394' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M113.477 142.395H109.492' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M170.152 143.086V142.644' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip1)' d='M170.152 143.086V142.644' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M168.16 142.644H172.145' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M170.152 143.086V143.523' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip1)' d='M170.152 143.086V143.523' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M172.145 143.524H168.16' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M228.824 132.125V131.312' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip1)' d='M228.824 132.125V131.312' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M226.832 131.312H230.816' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M228.824 132.125V132.941' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip1)' d='M228.824 132.125V132.941' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M230.813 132.941H226.828' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M287.492 139.641V138.387' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip1)' d='M287.492 139.641V138.387' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M285.5 138.387H289.484' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M287.492 139.641V140.894' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip1)' d='M287.492 139.641V140.894' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M289.485 140.895H285.5' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M346.16 81.34V81.34' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip1)' d='M344.168 81.34H348.152' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M346.16 81.34V81.34' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip1)' d='M344.168 81.34H348.152' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M404.828 100.187V99.562' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip1)' d='M404.828 100.187V99.562' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M402.836 99.562H406.824' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M404.828 100.187V100.812' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip1)' d='M404.828 100.187V100.812' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M406.821 100.813H402.836' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M115.098 206.586H118.332V135.57H115.098ZM173.766 206.586H177.004V136.07H173.766ZM232.434 206.586H235.672V114.965H232.434ZM291.102 206.586H294.34V113.84H291.102ZM349.774 206.586H353.012V81.34H349.774ZM408.442 206.586H411.68V81.34H408.442Z' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip1)' d='M115.098 206.586H118.332V135.57H115.098ZM173.766 206.586H177.004V136.07H173.766ZM232.434 206.586H235.672V114.965H232.434ZM291.102 206.586H294.34V113.84H291.102ZM349.774 206.586H353.012V81.34H349.774ZM408.442 206.586H411.68V81.34H408.442Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M116.715 135.57V135.508' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip1)' d='M116.715 135.57V135.508' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M114.722 135.508H118.707' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M116.715 135.57V135.633' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip1)' d='M116.715 135.57V135.633' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M118.707 135.633H114.722' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M175.383 136.07V135.258' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip1)' d='M175.383 136.07V135.258' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M173.39 135.258H177.375' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M175.383 136.07V136.883' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip1)' d='M175.383 136.07V136.883' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M177.375 136.883H173.39' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M234.055 114.965V114.09' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip1)' d='M234.055 114.965V114.09' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M232.062 114.09H236.046' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M234.055 114.965V115.844' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip1)' d='M234.055 114.965V115.844' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M236.043 115.843H232.058' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M292.723 113.84V113.215' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip1)' d='M292.723 113.84V113.215' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M290.73 113.215H294.714' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M292.723 113.84V114.465' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip1)' d='M292.723 113.84V114.465' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M294.715 114.465H290.73' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M351.391 81.34V81.34' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip1)' d='M349.398 81.34H353.382' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M351.391 81.34V81.34' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip1)' d='M349.398 81.34H353.382' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M410.059 81.34V81.34' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip1)' d='M408.066 81.34H412.054' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M410.059 81.34V81.34' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip1)' d='M408.066 81.34H412.054' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M120.328 206.586H123.563V135.633H120.328ZM178.996 206.586H182.234V81.34H178.996ZM237.664 206.586H240.902V138.387H237.664ZM296.332 206.586H299.57V81.34H296.332ZM355.004 206.586H358.238V81.34H355.004ZM413.672 206.586H416.91V81.34H413.672Z' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip1)' d='M120.328 206.586H123.563V135.633H120.328ZM178.996 206.586H182.234V81.34H178.996ZM237.664 206.586H240.902V138.387H237.664ZM296.332 206.586H299.57V81.34H296.332ZM355.004 206.586H358.238V81.34H355.004ZM413.672 206.586H416.91V81.34H413.672Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M121.945 135.633V135.57' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip1)' d='M121.945 135.633V135.57' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M119.953 135.571H123.938' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M121.945 135.633V135.695' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip1)' d='M121.945 135.633V135.695' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M123.938 135.695H119.953' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M180.613 81.34V81.34' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip1)' d='M178.621 81.34H182.606' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M180.613 81.34V81.34' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip1)' d='M178.621 81.34H182.606' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M239.285 138.387V136.195' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip1)' d='M239.285 138.387V136.195' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M237.293 136.195H241.278' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M239.285 138.387V140.578' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip1)' d='M239.285 138.387V140.578' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M241.274 140.578H237.289' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M297.953 81.34V81.34' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip1)' d='M295.961 81.34H299.945' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M297.953 81.34V81.34' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip1)' d='M295.961 81.34H299.945' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M356.621 81.34V81.34' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip1)' d='M354.629 81.34H358.613' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M356.621 81.34V81.34' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip1)' d='M354.629 81.34H358.613' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M415.289 81.34V81.34' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip1)' d='M413.297 81.34H417.285' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M415.289 81.34V81.34' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip1)' d='M413.297 81.34H417.285' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M125.559 206.586H128.793V139.266H125.559ZM184.227 206.586H187.465V135.695H184.227ZM242.895 206.586H246.133V137.824H242.895ZM301.563 206.586H304.801V97.433H301.563ZM360.234 206.586H363.469V81.34H360.234ZM418.902 206.586H422.141V81.34H418.902Z' fill='#339999'/>
|
||||
<path clip-path='url(#clip1)' d='M125.559 206.586H128.793V139.266H125.559ZM184.227 206.586H187.465V135.695H184.227ZM242.895 206.586H246.133V137.824H242.895ZM301.563 206.586H304.801V97.433H301.563ZM360.234 206.586H363.469V81.34H360.234ZM418.902 206.586H422.141V81.34H418.902Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M127.176 139.266V139.203' fill='#339999'/>
|
||||
<path clip-path='url(#clip1)' d='M127.176 139.266V139.203' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M125.183 139.203H129.168' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M127.176 139.266V139.328' fill='#339999'/>
|
||||
<path clip-path='url(#clip1)' d='M127.176 139.266V139.328' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M129.168 139.328H125.183' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M185.844 135.695V135.258' fill='#339999'/>
|
||||
<path clip-path='url(#clip1)' d='M185.844 135.695V135.258' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M183.851 135.258H187.836' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M185.844 135.695V136.133' fill='#339999'/>
|
||||
<path clip-path='url(#clip1)' d='M185.844 135.695V136.133' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M187.836 136.133H183.851' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M244.516 137.824V137.012' fill='#339999'/>
|
||||
<path clip-path='url(#clip1)' d='M244.516 137.824V137.012' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M242.523 137.012H246.508' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M244.516 137.824V138.637' fill='#339999'/>
|
||||
<path clip-path='url(#clip1)' d='M244.516 137.824V138.637' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M246.504 138.637H242.519' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M303.184 97.433V95.617' fill='#339999'/>
|
||||
<path clip-path='url(#clip1)' d='M303.184 97.433V95.617' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M301.191 95.617H305.175' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M303.184 97.433V99.25' fill='#339999'/>
|
||||
<path clip-path='url(#clip1)' d='M303.184 97.433V99.25' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M305.176 99.25H301.191' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M361.852 81.34V81.34' fill='#339999'/>
|
||||
<path clip-path='url(#clip1)' d='M359.859 81.34H363.844' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M361.852 81.34V81.34' fill='#339999'/>
|
||||
<path clip-path='url(#clip1)' d='M359.859 81.34H363.844' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M420.52 81.34V81.34' fill='#339999'/>
|
||||
<path clip-path='url(#clip1)' d='M418.527 81.34H422.515' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M420.52 81.34V81.34' fill='#339999'/>
|
||||
<path clip-path='url(#clip1)' d='M418.527 81.34H422.515' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M130.789 206.586H134.024V136.508H130.789ZM189.457 206.586H192.695V143.023H189.457ZM248.125 206.586H251.363V139.391H248.125ZM306.793 206.586H310.031V134.191H306.793ZM365.465 206.586H368.699V81.34H365.465ZM424.133 206.586H427.371V85.348H424.133Z' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip1)' d='M130.789 206.586H134.024V136.508H130.789ZM189.457 206.586H192.695V143.023H189.457ZM248.125 206.586H251.363V139.391H248.125ZM306.793 206.586H310.031V134.191H306.793ZM365.465 206.586H368.699V81.34H365.465ZM424.133 206.586H427.371V85.348H424.133Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M132.406 136.508V136.445' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip1)' d='M132.406 136.508V136.445' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M130.414 136.445H134.399' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M132.406 136.508V136.57' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip1)' d='M132.406 136.508V136.57' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M134.399 136.571H130.414' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M191.074 143.023V142.582' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip1)' d='M191.074 143.023V142.582' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M189.082 142.582H193.067' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M191.074 143.023V143.461' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip1)' d='M191.074 143.023V143.461' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M193.067 143.461H189.082' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M249.746 139.391V136.383' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip1)' d='M249.746 139.391V136.383' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M247.754 136.383H251.739' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M249.746 139.391V142.394' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip1)' d='M249.746 139.391V142.394' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M251.735 142.395H247.75' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M308.414 134.191V131.875' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip1)' d='M308.414 134.191V131.875' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M306.422 131.875H310.406' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M308.414 134.191V136.508' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip1)' d='M308.414 134.191V136.508' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M310.407 136.508H306.422' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M367.082 81.34V81.34' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip1)' d='M365.09 81.34H369.075' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M367.082 81.34V81.34' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip1)' d='M365.09 81.34H369.075' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M425.75 85.348V72.633' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip1)' d='M425.75 85.348V72.633' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M423.758 72.633H427.746' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M425.75 85.348V98.058' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip1)' d='M425.75 85.348V98.058' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip1)' d='M427.743 98.059H423.758' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<g transform='matrix(0 -1 1 0 -93.83 252.423)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -35.161 252.423)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 23.508 252.423)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 82.177 252.423)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 140.846 252.423)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 199.515 252.423)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -88.6 250.983)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-50' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -29.93 248.666)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-54' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 28.739 256.807)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-57' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-51' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 87.408 229.879)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-51' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-54' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 146.077 243.531)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-52' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 204.746 189.8)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='120.114' xlink:href='#g2-53' y='186.027'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='124.23' xlink:href='#g2-56' y='186.027'/>
|
||||
<use x='126.877' xlink:href='#g2-50' y='186.027'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -83.369 248.729)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-54' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -24.7 251.359)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-50' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 33.969 243.218)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-53' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 92.638 207.711)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-55' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 151.307 189.8)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='120.114' xlink:href='#g2-50' y='186.027'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='124.23' xlink:href='#g2-51' y='186.027'/>
|
||||
<use x='126.877' xlink:href='#g2-54' y='186.027'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 209.976 189.8)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='120.114' xlink:href='#g2-50' y='186.027'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='124.23' xlink:href='#g2-57' y='186.027'/>
|
||||
<use x='126.877' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -78.139 233.323)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-51' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -19.47 249.668)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-52' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 39.199 226.497)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-52' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 97.868 229.503)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-51' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-55' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 156.537 241.527)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-55' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 215.206 197.503)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-56' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-56' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -72.908 250.795)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-51' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -14.239 251.547)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 44.43 240.588)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-57' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 103.099 248.102)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-55' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 161.768 189.8)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='120.114' xlink:href='#g2-50' y='186.027'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='124.23' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='126.877' xlink:href='#g2-54' y='186.027'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 220.437 208.65)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-55' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -67.678 244.032)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-51' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -9.009 244.533)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-51' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 49.66 223.429)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-52' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-54' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 108.329 222.302)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-52' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-56' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 166.998 189.8)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='120.114' xlink:href='#g2-56' y='186.027'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='124.23' xlink:href='#g2-52' y='186.027'/>
|
||||
<use x='126.877' xlink:href='#g2-50' y='186.027'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 225.667 189.8)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='120.114' xlink:href='#g2-57' y='186.027'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='124.23' xlink:href='#g2-57' y='186.027'/>
|
||||
<use x='126.877' xlink:href='#g2-51' y='186.027'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -62.447 244.095)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-51' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -3.778 189.8)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='120.114' xlink:href='#g2-51' y='186.027'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='124.23' xlink:href='#g2-54' y='186.027'/>
|
||||
<use x='126.877' xlink:href='#g2-51' y='186.027'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 54.891 246.85)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-57' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 113.56 189.8)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='120.114' xlink:href='#g2-50' y='186.027'/>
|
||||
<use x='122.76' xlink:href='#g2-51' y='186.027'/>
|
||||
<use x='125.406' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='126.877' xlink:href='#g2-57' y='186.027'/>
|
||||
<use x='129.523' xlink:href='#g2-57' y='186.027'/>
|
||||
<use x='132.169' xlink:href='#g2-120' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 172.229 189.8)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='120.114' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='122.76' xlink:href='#g2-56' y='186.027'/>
|
||||
<use x='125.406' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='126.877' xlink:href='#g2-53' y='186.027'/>
|
||||
<use x='129.523' xlink:href='#g2-52' y='186.027'/>
|
||||
<use x='132.169' xlink:href='#g2-120' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 230.898 189.8)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='120.114' xlink:href='#g2-51' y='186.027'/>
|
||||
<use x='122.76' xlink:href='#g2-52' y='186.027'/>
|
||||
<use x='125.406' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='126.877' xlink:href='#g2-52' y='186.027'/>
|
||||
<use x='129.523' xlink:href='#g2-53' y='186.027'/>
|
||||
<use x='132.169' xlink:href='#g2-120' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -57.217 247.727)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-56' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 1.452 244.157)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-51' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 60.121 246.286)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 118.79 205.895)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-55' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-52' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 177.459 189.8)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='120.114' xlink:href='#g2-52' y='186.027'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='124.23' xlink:href='#g2-51' y='186.027'/>
|
||||
<use x='126.877' xlink:href='#g2-51' y='186.027'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 236.128 189.8)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='120.114' xlink:href='#g2-50' y='186.027'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='124.23' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='126.877' xlink:href='#g2-50' y='186.027'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -51.986 244.971)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-50' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 6.683 251.484)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-50' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 65.352 247.852)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-55' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 124.021 242.654)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-54' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 182.69 189.8)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='186.027'/>
|
||||
<use x='120.114' xlink:href='#g2-50' y='186.027'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='124.23' xlink:href='#g2-50' y='186.027'/>
|
||||
<use x='126.877' xlink:href='#g2-55' y='186.027'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 241.359 193.808)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='186.027'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='186.027'/>
|
||||
<use x='118.603' xlink:href='#g2-57' y='186.027'/>
|
||||
<use x='121.25' xlink:href='#g2-52' y='186.027'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -126.667 313.708)'>
|
||||
<use x='114.487' xlink:href='#g1-82' y='186.027'/>
|
||||
<use x='120.457' xlink:href='#g1-101' y='186.027'/>
|
||||
<use x='124.553' xlink:href='#g1-108' y='186.027'/>
|
||||
<use x='126.753' xlink:href='#g1-97' y='186.027'/>
|
||||
<use x='131.181' xlink:href='#g1-116' y='186.027'/>
|
||||
<use x='134.509' xlink:href='#g1-105' y='186.027'/>
|
||||
<use x='136.709' xlink:href='#g1-118' y='186.027'/>
|
||||
<use x='140.957' xlink:href='#g1-101' y='186.027'/>
|
||||
<use x='148.124' xlink:href='#g1-116' y='186.027'/>
|
||||
<use x='151.452' xlink:href='#g1-105' y='186.027'/>
|
||||
<use x='153.652' xlink:href='#g1-109' y='186.027'/>
|
||||
<use x='160.972' xlink:href='#g1-101' y='186.027'/>
|
||||
<use x='168.139' xlink:href='#g3-40' y='186.027'/>
|
||||
<use x='171.432' xlink:href='#g3-108' y='186.027'/>
|
||||
<use x='173.453' xlink:href='#g3-111' y='186.027'/>
|
||||
<use x='177.452' xlink:href='#g3-119' y='186.027'/>
|
||||
<use x='183' xlink:href='#g3-101' y='186.027'/>
|
||||
<use x='186.764' xlink:href='#g3-114' y='186.027'/>
|
||||
<use x='192.479' xlink:href='#g3-105' y='186.027'/>
|
||||
<use x='194.499' xlink:href='#g3-115' y='186.027'/>
|
||||
<use x='200.568' xlink:href='#g3-98' y='186.027'/>
|
||||
<use x='205.176' xlink:href='#g3-101' y='186.027'/>
|
||||
<use x='208.94' xlink:href='#g3-116' y='186.027'/>
|
||||
<use x='211.998' xlink:href='#g3-116' y='186.027'/>
|
||||
<use x='215.056' xlink:href='#g3-101' y='186.027'/>
|
||||
<use x='218.819' xlink:href='#g3-114' y='186.027'/>
|
||||
<use x='221.711' xlink:href='#g3-41' y='186.027'/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 75 KiB |
1184
doc/bench-c5-18xlarge-2020-01-20-b.svg
Normal file
1184
doc/bench-c5-18xlarge-2020-01-20-b.svg
Normal file
File diff suppressed because it is too large
Load diff
After Width: | Height: | Size: 93 KiB |
756
doc/bench-c5-18xlarge-2020-01-20-rss-a.svg
Normal file
756
doc/bench-c5-18xlarge-2020-01-20-rss-a.svg
Normal file
|
@ -0,0 +1,756 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- This file was generated by dvisvgm 2.4.2 -->
|
||||
<svg height='193.064pt' version='1.1' viewBox='52.938 51.67 381.624 193.064' width='381.624pt' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>
|
||||
<defs>
|
||||
<clipPath id='clip7'>
|
||||
<path d='M82.148 228.594H434.164V60.828H82.148Z'/>
|
||||
</clipPath>
|
||||
<use id='g3-40' transform='scale(1.143)' xlink:href='#g0-40'/>
|
||||
<use id='g3-41' transform='scale(1.143)' xlink:href='#g0-41'/>
|
||||
<use id='g3-78' transform='scale(1.143)' xlink:href='#g0-78'/>
|
||||
<use id='g3-97' transform='scale(1.143)' xlink:href='#g0-97'/>
|
||||
<use id='g3-98' transform='scale(1.143)' xlink:href='#g0-98'/>
|
||||
<use id='g3-99' transform='scale(1.143)' xlink:href='#g0-99'/>
|
||||
<use id='g3-100' transform='scale(1.143)' xlink:href='#g0-100'/>
|
||||
<use id='g3-101' transform='scale(1.143)' xlink:href='#g0-101'/>
|
||||
<use id='g3-102' transform='scale(1.143)' xlink:href='#g0-102'/>
|
||||
<use id='g3-105' transform='scale(1.143)' xlink:href='#g0-105'/>
|
||||
<use id='g3-108' transform='scale(1.143)' xlink:href='#g0-108'/>
|
||||
<use id='g3-109' transform='scale(1.143)' xlink:href='#g0-109'/>
|
||||
<use id='g3-110' transform='scale(1.143)' xlink:href='#g0-110'/>
|
||||
<use id='g3-111' transform='scale(1.143)' xlink:href='#g0-111'/>
|
||||
<use id='g3-112' transform='scale(1.143)' xlink:href='#g0-112'/>
|
||||
<use id='g3-114' transform='scale(1.143)' xlink:href='#g0-114'/>
|
||||
<use id='g3-115' transform='scale(1.143)' xlink:href='#g0-115'/>
|
||||
<use id='g3-116' transform='scale(1.143)' xlink:href='#g0-116'/>
|
||||
<use id='g3-119' transform='scale(1.143)' xlink:href='#g0-119'/>
|
||||
<path d='M3.891 -2.914C4.806 -3.165 5.452 -3.811 5.452 -4.546C5.452 -5.469 4.411 -6.223 3.129 -6.223H0.87V0H1.704V-2.824H3.138L4.842 0H5.703L3.891 -2.914ZM1.704 -3.407V-5.694H3.022C4.062 -5.694 4.671 -5.192 4.671 -4.546C4.671 -3.963 4.125 -3.407 3.022 -3.407H1.704Z' id='g1-82'/>
|
||||
<path d='M3.694 -2.591C3.694 -3.479 3.04 -4.133 2.152 -4.133C1.569 -4.133 1.139 -3.981 0.708 -3.739L0.762 -3.102C1.21 -3.434 1.65 -3.569 2.143 -3.569C2.645 -3.569 2.95 -3.165 2.95 -2.582V-2.206C1.408 -2.17 0.395 -1.766 0.395 -1.04C0.395 -0.619 0.672 0.099 1.453 0.099C1.632 0.099 2.412 0.081 2.977 -0.341V0H3.694V-2.591ZM2.95 -1.255C2.95 -1.067 2.95 -0.843 2.627 -0.655C2.403 -0.52 2.107 -0.484 1.928 -0.484C1.47 -0.484 1.085 -0.699 1.085 -1.058C1.085 -1.695 2.833 -1.722 2.95 -1.722V-1.255Z' id='g1-97'/>
|
||||
<path d='M3.829 -1.964C3.829 -2.242 3.82 -2.923 3.47 -3.461C3.093 -4.026 2.52 -4.133 2.179 -4.133C1.139 -4.133 0.314 -3.174 0.314 -2.026C0.314 -0.843 1.193 0.099 2.313 0.099C2.744 0.099 3.264 -0.009 3.784 -0.341L3.73 -0.959C3.165 -0.556 2.636 -0.484 2.322 -0.484C1.578 -0.484 1.004 -1.139 0.977 -1.964H3.829ZM1.031 -2.493C1.175 -3.067 1.614 -3.551 2.179 -3.551C2.511 -3.551 3.12 -3.398 3.291 -2.493H1.031Z' id='g1-101'/>
|
||||
<path d='M1.524 -6.133H0.664V-5.272H1.524V-6.133ZM1.453 -3.981H0.735V0H1.453V-3.981Z' id='g1-105'/>
|
||||
<path d='M1.453 -6.223H0.735V0H1.453V-6.223Z' id='g1-108'/>
|
||||
<path d='M1.462 -1.91C1.462 -2.851 2.197 -3.425 3.013 -3.434V-4.08C2.367 -4.071 1.775 -3.748 1.408 -3.219V-4.035H0.744V0H1.462V-1.91Z' id='g1-114'/>
|
||||
<path d='M3.165 -3.847C2.609 -4.098 2.197 -4.133 1.829 -4.133C1.623 -4.133 0.305 -4.133 0.305 -2.95C0.305 -2.52 0.565 -2.251 0.664 -2.152C1.004 -1.856 1.237 -1.811 1.847 -1.695C2.134 -1.641 2.645 -1.542 2.645 -1.085C2.645 -0.502 1.919 -0.502 1.802 -0.502C1.273 -0.502 0.762 -0.681 0.377 -0.95L0.26 -0.296C0.798 -0.009 1.345 0.099 1.802 0.099C2.385 0.099 3.318 -0.09 3.318 -1.157C3.318 -1.47 3.192 -1.784 2.878 -2.053C2.573 -2.313 2.304 -2.367 1.748 -2.475C1.426 -2.537 0.977 -2.618 0.977 -3.04C0.977 -3.569 1.614 -3.569 1.748 -3.569C2.403 -3.569 2.789 -3.362 3.049 -3.219L3.165 -3.847Z' id='g1-115'/>
|
||||
<path d='M1.623 -3.425H2.914V-3.981H1.623V-5.12H0.959V-3.981H0.17V-3.425H0.933V-1.13C0.933 -0.601 1.049 0.099 1.704 0.099C2.098 0.099 2.564 0.018 3.067 -0.233L2.914 -0.798C2.681 -0.619 2.367 -0.511 2.089 -0.511C1.739 -0.511 1.623 -0.825 1.623 -1.291V-3.425Z' id='g1-116'/>
|
||||
<path d='M4.116 -3.981H3.407L2.699 -2.161C2.52 -1.695 2.188 -0.825 2.143 -0.493H2.125C2.107 -0.646 2.08 -0.816 1.587 -2.107C1.318 -2.833 0.879 -3.927 0.861 -3.981H0.126L1.704 0H2.537L4.116 -3.981Z' id='g1-118'/>
|
||||
<use id='g2-46' transform='scale(0.714)' xlink:href='#g0-46'/>
|
||||
<use id='g2-48' transform='scale(0.714)' xlink:href='#g0-48'/>
|
||||
<use id='g2-49' transform='scale(0.714)' xlink:href='#g0-49'/>
|
||||
<use id='g2-50' transform='scale(0.714)' xlink:href='#g0-50'/>
|
||||
<use id='g2-51' transform='scale(0.714)' xlink:href='#g0-51'/>
|
||||
<use id='g2-52' transform='scale(0.714)' xlink:href='#g0-52'/>
|
||||
<use id='g2-53' transform='scale(0.714)' xlink:href='#g0-53'/>
|
||||
<use id='g2-54' transform='scale(0.714)' xlink:href='#g0-54'/>
|
||||
<use id='g2-55' transform='scale(0.714)' xlink:href='#g0-55'/>
|
||||
<use id='g2-56' transform='scale(0.714)' xlink:href='#g0-56'/>
|
||||
<use id='g2-57' transform='scale(0.714)' xlink:href='#g0-57'/>
|
||||
<use id='g2-120' transform='scale(0.714)' xlink:href='#g0-120'/>
|
||||
<path d='M2.127 -5.23C2.008 -5.23 1.995 -5.23 1.911 -5.154C1.032 -4.387 0.586 -3.145 0.586 -1.743C0.586 -0.425 0.983 0.844 1.904 1.653C1.995 1.743 2.008 1.743 2.127 1.743H2.462C2.441 1.73 1.764 1.151 1.444 0.063C1.276 -0.481 1.193 -1.053 1.193 -1.743C1.193 -4.156 2.322 -5.112 2.462 -5.23H2.127Z' id='g0-40'/>
|
||||
<path d='M0.746 1.743C0.865 1.743 0.879 1.743 0.962 1.667C1.841 0.9 2.287 -0.342 2.287 -1.743C2.287 -3.062 1.89 -4.331 0.969 -5.14C0.879 -5.23 0.865 -5.23 0.746 -5.23H0.411C0.432 -5.216 1.109 -4.638 1.43 -3.55C1.597 -3.006 1.681 -2.434 1.681 -1.743C1.681 0.669 0.551 1.625 0.411 1.743H0.746Z' id='g0-41'/>
|
||||
<path d='M1.339 -0.628H0.711V0H1.339V-0.628Z' id='g0-46'/>
|
||||
<path d='M3.403 -2.267C3.403 -2.601 3.403 -3.417 3.075 -3.989C2.72 -4.617 2.183 -4.721 1.848 -4.721C1.534 -4.721 0.99 -4.624 0.642 -4.024C0.307 -3.466 0.293 -2.706 0.293 -2.267C0.293 -1.75 0.321 -1.116 0.614 -0.586C0.921 -0.021 1.437 0.146 1.848 0.146C2.545 0.146 2.929 -0.258 3.138 -0.697C3.382 -1.193 3.403 -1.834 3.403 -2.267ZM1.848 -0.314C1.555 -0.314 1.22 -0.481 1.046 -0.983C0.907 -1.409 0.9 -1.848 0.9 -2.357C0.9 -2.999 0.9 -4.261 1.848 -4.261S2.797 -2.999 2.797 -2.357C2.797 -1.897 2.797 -1.374 2.629 -0.928C2.434 -0.425 2.078 -0.314 1.848 -0.314Z' id='g0-48'/>
|
||||
<path d='M2.239 -4.721H2.085C1.632 -4.303 1.06 -4.275 0.642 -4.261V-3.822C0.914 -3.829 1.262 -3.843 1.611 -3.982V-0.439H0.683V0H3.166V-0.439H2.239V-4.721Z' id='g0-49'/>
|
||||
<path d='M1.974 -0.537C1.89 -0.537 1.806 -0.53 1.723 -0.53H0.928L2.008 -1.485C2.134 -1.597 2.476 -1.855 2.608 -1.967C2.915 -2.246 3.327 -2.608 3.327 -3.215C3.327 -4.003 2.741 -4.721 1.743 -4.721C1.004 -4.721 0.544 -4.324 0.307 -3.612L0.635 -3.201C0.795 -3.787 1.039 -4.24 1.646 -4.24C2.232 -4.24 2.678 -3.829 2.678 -3.201C2.678 -2.622 2.336 -2.294 1.918 -1.897C1.778 -1.757 1.402 -1.444 1.255 -1.304C1.053 -1.123 0.572 -0.656 0.37 -0.481V0H3.327V-0.537H1.974Z' id='g0-50'/>
|
||||
<path d='M0.697 -3.578C0.983 -4.135 1.485 -4.289 1.82 -4.289C2.232 -4.289 2.538 -4.052 2.538 -3.654C2.538 -3.285 2.287 -2.831 1.757 -2.741C1.723 -2.734 1.695 -2.734 1.234 -2.699V-2.239H1.778C2.441 -2.239 2.685 -1.716 2.685 -1.276C2.685 -0.732 2.35 -0.314 1.806 -0.314C1.311 -0.314 0.746 -0.551 0.398 -0.997L0.307 -0.544C0.711 -0.091 1.276 0.146 1.82 0.146C2.734 0.146 3.389 -0.537 3.389 -1.269C3.389 -1.841 2.929 -2.301 2.378 -2.462C2.908 -2.734 3.18 -3.201 3.18 -3.654C3.18 -4.247 2.573 -4.721 1.827 -4.721C1.213 -4.721 0.704 -4.4 0.411 -3.982L0.697 -3.578Z' id='g0-51'/>
|
||||
<path d='M2.762 -1.165H3.487V-1.625H2.762V-4.575H2.071L0.209 -1.625V-1.165H2.162V0H2.762V-1.165ZM0.802 -1.625C1.011 -1.953 2.211 -3.815 2.211 -4.233V-1.625H0.802Z' id='g0-52'/>
|
||||
<path d='M1.144 -4.094H3.075V-4.575H0.586V-1.967H1.095C1.262 -2.343 1.59 -2.511 1.904 -2.511C2.19 -2.511 2.622 -2.315 2.622 -1.43C2.622 -0.516 2.043 -0.314 1.688 -0.314C1.227 -0.314 0.781 -0.558 0.544 -0.955L0.279 -0.537C0.621 -0.112 1.137 0.146 1.688 0.146C2.608 0.146 3.327 -0.565 3.327 -1.416C3.327 -2.28 2.685 -2.971 1.918 -2.971C1.618 -2.971 1.353 -2.866 1.144 -2.692V-4.094Z' id='g0-53'/>
|
||||
<path d='M3.062 -4.582C2.685 -4.721 2.42 -4.721 2.287 -4.721C1.227 -4.721 0.307 -3.724 0.307 -2.253C0.307 -0.363 1.158 0.146 1.862 0.146C2.427 0.146 2.72 -0.119 2.936 -0.342C3.382 -0.816 3.389 -1.311 3.389 -1.555C3.389 -2.469 2.894 -3.229 2.218 -3.229C1.534 -3.229 1.165 -2.873 0.962 -2.671C1.053 -3.626 1.541 -4.289 2.294 -4.289C2.434 -4.289 2.713 -4.275 3.062 -4.142V-4.582ZM0.969 -1.534C0.969 -1.576 0.969 -1.681 0.976 -1.716C0.976 -2.19 1.276 -2.769 1.897 -2.769C2.748 -2.769 2.748 -1.792 2.748 -1.555C2.748 -1.29 2.748 -0.997 2.559 -0.704C2.392 -0.453 2.183 -0.314 1.862 -0.314C1.123 -0.314 1.004 -1.227 0.969 -1.534Z' id='g0-54'/>
|
||||
<path d='M1.723 -4.038C1.806 -4.038 1.89 -4.045 1.974 -4.045H2.852C1.792 -3.006 1.116 -1.548 1.116 0.07H1.771C1.771 -1.967 2.762 -3.431 3.389 -4.087V-4.575H0.307V-4.038H1.723Z' id='g0-55'/>
|
||||
<path d='M2.385 -2.469C2.845 -2.615 3.285 -2.985 3.285 -3.501C3.285 -4.135 2.678 -4.721 1.848 -4.721S0.411 -4.135 0.411 -3.501C0.411 -2.978 0.865 -2.608 1.311 -2.469C0.697 -2.28 0.307 -1.806 0.307 -1.269C0.307 -0.523 0.969 0.146 1.848 0.146S3.389 -0.523 3.389 -1.269C3.389 -1.806 2.992 -2.28 2.385 -2.469ZM1.848 -2.699C1.353 -2.699 0.948 -2.985 0.948 -3.494C0.948 -3.94 1.262 -4.289 1.848 -4.289C2.427 -4.289 2.748 -3.94 2.748 -3.494C2.748 -2.999 2.357 -2.699 1.848 -2.699ZM1.848 -0.314C1.367 -0.314 0.941 -0.621 0.941 -1.276C0.941 -1.904 1.346 -2.239 1.848 -2.239S2.755 -1.897 2.755 -1.276C2.755 -0.621 2.322 -0.314 1.848 -0.314Z' id='g0-56'/>
|
||||
<path d='M0.537 -0.174C0.879 0.077 1.193 0.146 1.52 0.146C2.497 0.146 3.389 -0.837 3.389 -2.336C3.389 -4.24 2.545 -4.721 1.876 -4.721C1.255 -4.721 0.969 -4.428 0.767 -4.226C0.321 -3.773 0.307 -3.292 0.307 -3.02C0.307 -2.12 0.795 -1.346 1.478 -1.346C2.267 -1.346 2.699 -1.869 2.734 -1.911C2.636 -0.802 2.092 -0.314 1.52 -0.314C1.158 -0.314 0.934 -0.446 0.774 -0.579L0.537 -0.174ZM2.713 -3.027C2.72 -2.985 2.72 -2.915 2.72 -2.873C2.72 -2.357 2.406 -1.806 1.799 -1.806C1.534 -1.806 1.325 -1.883 1.144 -2.169C0.962 -2.441 0.948 -2.706 0.948 -3.02C0.948 -3.292 0.948 -3.605 1.165 -3.912C1.311 -4.122 1.52 -4.289 1.869 -4.289C2.545 -4.289 2.692 -3.473 2.713 -3.027Z' id='g0-57'/>
|
||||
<path d='M1.646 -4.84H0.697V0H1.283V-4.289H1.29L3.578 0H4.526V-4.84H3.94V-0.551H3.933L1.646 -4.84Z' id='g0-78'/>
|
||||
<path d='M2.971 -2.008C2.971 -2.72 2.427 -3.201 1.736 -3.201C1.297 -3.201 0.962 -3.11 0.572 -2.901L0.614 -2.392C0.844 -2.545 1.186 -2.755 1.736 -2.755C2.043 -2.755 2.364 -2.525 2.364 -2.001V-1.723C1.332 -1.688 0.314 -1.471 0.314 -0.823C0.314 -0.474 0.551 0.07 1.165 0.07C1.465 0.07 2.015 0.007 2.385 -0.265V0H2.971V-2.008ZM2.364 -0.99C2.364 -0.851 2.364 -0.669 2.12 -0.523C1.897 -0.398 1.625 -0.391 1.548 -0.391C1.165 -0.391 0.872 -0.565 0.872 -0.83C0.872 -1.276 2.05 -1.318 2.364 -1.332V-0.99Z' id='g0-97'/>
|
||||
<path d='M1.179 -4.84H0.593V0H1.2V-0.328C1.353 -0.195 1.688 0.07 2.197 0.07C2.957 0.07 3.571 -0.642 3.571 -1.555C3.571 -2.399 3.089 -3.166 2.392 -3.166C1.953 -3.166 1.527 -3.027 1.179 -2.769V-4.84ZM1.2 -2.197C1.2 -2.308 1.2 -2.392 1.444 -2.552C1.548 -2.615 1.736 -2.706 1.974 -2.706C2.441 -2.706 2.964 -2.392 2.964 -1.555C2.964 -0.704 2.385 -0.391 1.897 -0.391C1.639 -0.391 1.395 -0.509 1.2 -0.823V-2.197Z' id='g0-98'/>
|
||||
<path d='M3.034 -0.76C2.685 -0.537 2.308 -0.411 1.876 -0.411C1.234 -0.411 0.858 -0.928 0.858 -1.555C0.858 -2.092 1.137 -2.72 1.897 -2.72C2.371 -2.72 2.594 -2.622 2.95 -2.399L3.041 -2.901C2.622 -3.11 2.441 -3.201 1.897 -3.201C0.851 -3.201 0.251 -2.357 0.251 -1.548C0.251 -0.697 0.921 0.07 1.869 0.07C2.357 0.07 2.776 -0.077 3.075 -0.251L3.034 -0.76Z' id='g0-99'/>
|
||||
<path d='M3.229 -4.84H2.643V-2.797C2.197 -3.124 1.743 -3.166 1.541 -3.166C0.809 -3.166 0.251 -2.434 0.251 -1.548S0.802 0.07 1.52 0.07C1.953 0.07 2.357 -0.126 2.622 -0.363V0H3.229V-4.84ZM2.622 -0.865C2.448 -0.579 2.183 -0.391 1.848 -0.391C1.36 -0.391 0.858 -0.732 0.858 -1.541C0.858 -2.413 1.451 -2.706 1.925 -2.706C2.204 -2.706 2.441 -2.587 2.622 -2.35V-0.865Z' id='g0-100'/>
|
||||
<path d='M2.999 -0.76C2.608 -0.481 2.169 -0.391 1.869 -0.391C1.262 -0.391 0.802 -0.886 0.781 -1.527H3.068C3.068 -1.848 3.034 -2.315 2.762 -2.713C2.511 -3.068 2.092 -3.201 1.75 -3.201C0.9 -3.201 0.244 -2.455 0.244 -1.569C0.244 -0.676 0.941 0.07 1.862 0.07C2.267 0.07 2.685 -0.049 3.041 -0.265L2.999 -0.76ZM0.83 -1.946C0.99 -2.504 1.402 -2.741 1.75 -2.741C2.057 -2.741 2.511 -2.594 2.643 -1.946H0.83Z' id='g0-101'/>
|
||||
<path d='M1.325 -2.657H2.12V-3.096H1.304V-3.898C1.304 -4.38 1.743 -4.449 1.974 -4.449C2.12 -4.449 2.308 -4.428 2.566 -4.331V-4.84C2.385 -4.882 2.169 -4.91 1.981 -4.91C1.262 -4.91 0.739 -4.394 0.739 -3.703V-3.096H0.202V-2.657H0.739V0H1.325V-2.657Z' id='g0-102'/>
|
||||
<path d='M1.227 -4.784H0.523V-4.08H1.227V-4.784ZM1.172 -3.096H0.586V0H1.172V-3.096Z' id='g0-105'/>
|
||||
<path d='M1.172 -4.84H0.586V0H1.172V-4.84Z' id='g0-108'/>
|
||||
<path d='M5.3 -2.064C5.3 -2.608 5.14 -3.166 4.282 -3.166C3.696 -3.166 3.333 -2.824 3.166 -2.601C3.096 -2.79 2.922 -3.166 2.225 -3.166C1.827 -3.166 1.444 -3.006 1.137 -2.636V-3.145H0.579V0H1.186V-1.695C1.186 -2.155 1.381 -2.706 1.918 -2.706C2.636 -2.706 2.636 -2.218 2.636 -2.015V0H3.243V-1.695C3.243 -2.155 3.438 -2.706 3.975 -2.706C4.693 -2.706 4.693 -2.218 4.693 -2.015V0H5.3V-2.064Z' id='g0-109'/>
|
||||
<path d='M3.243 -2.064C3.243 -2.608 3.082 -3.166 2.225 -3.166C1.827 -3.166 1.444 -3.006 1.137 -2.636V-3.145H0.579V0H1.186V-1.695C1.186 -2.155 1.381 -2.706 1.918 -2.706C2.636 -2.706 2.636 -2.218 2.636 -2.015V0H3.243V-2.064Z' id='g0-110'/>
|
||||
<path d='M3.487 -1.527C3.487 -2.448 2.755 -3.201 1.848 -3.201S0.209 -2.441 0.209 -1.527C0.209 -0.642 0.948 0.07 1.848 0.07C2.755 0.07 3.487 -0.642 3.487 -1.527ZM1.848 -0.411C1.297 -0.411 0.816 -0.816 0.816 -1.604S1.332 -2.741 1.848 -2.741C2.371 -2.741 2.88 -2.378 2.88 -1.604C2.88 -0.809 2.385 -0.411 1.848 -0.411Z' id='g0-111'/>
|
||||
<path d='M1.2 -0.328C1.569 0.007 1.967 0.07 2.204 0.07C2.943 0.07 3.571 -0.635 3.571 -1.555C3.571 -2.392 3.11 -3.166 2.42 -3.166C2.106 -3.166 1.583 -3.075 1.179 -2.762V-3.096H0.593V1.353H1.2V-0.328ZM1.2 -2.315C1.36 -2.511 1.632 -2.685 1.967 -2.685C2.525 -2.685 2.964 -2.169 2.964 -1.555C2.964 -0.865 2.441 -0.391 1.897 -0.391C1.792 -0.391 1.618 -0.404 1.437 -0.551C1.227 -0.711 1.2 -0.816 1.2 -0.948V-2.315Z' id='g0-112'/>
|
||||
<path d='M1.179 -1.485C1.179 -2.239 1.806 -2.643 2.42 -2.65V-3.166C1.834 -3.159 1.409 -2.873 1.13 -2.504V-3.145H0.593V0H1.179V-1.485Z' id='g0-114'/>
|
||||
<path d='M2.545 -2.985C2.071 -3.18 1.723 -3.201 1.471 -3.201C1.297 -3.201 0.244 -3.201 0.244 -2.273C0.244 -1.946 0.425 -1.764 0.516 -1.681C0.76 -1.437 1.053 -1.381 1.423 -1.311C1.75 -1.248 2.127 -1.179 2.127 -0.844C2.127 -0.404 1.548 -0.404 1.451 -0.404C1.004 -0.404 0.586 -0.565 0.307 -0.76L0.209 -0.237C0.446 -0.119 0.872 0.07 1.451 0.07C1.764 0.07 2.071 0.021 2.329 -0.167C2.587 -0.363 2.671 -0.669 2.671 -0.907C2.671 -1.032 2.657 -1.304 2.364 -1.569C2.106 -1.799 1.855 -1.848 1.52 -1.911C1.109 -1.988 0.788 -2.05 0.788 -2.357C0.788 -2.755 1.297 -2.755 1.402 -2.755C1.799 -2.755 2.106 -2.671 2.455 -2.49L2.545 -2.985Z' id='g0-115'/>
|
||||
<path d='M1.311 -2.657H2.343V-3.096H1.311V-3.982H0.774V-3.096H0.139V-2.657H0.753V-0.893C0.753 -0.425 0.872 0.07 1.374 0.07S2.26 -0.091 2.469 -0.188L2.35 -0.635C2.12 -0.467 1.876 -0.411 1.681 -0.411C1.388 -0.411 1.311 -0.697 1.311 -1.018V-2.657Z' id='g0-116'/>
|
||||
<path d='M4.951 -3.096H4.407C4.345 -2.901 3.954 -1.723 3.738 -0.997C3.682 -0.795 3.612 -0.572 3.592 -0.411H3.585C3.543 -0.697 3.299 -1.451 3.285 -1.499L2.769 -3.096H2.239C2.036 -2.497 1.513 -0.934 1.458 -0.425H1.451C1.395 -0.921 0.879 -2.462 0.767 -2.797C0.711 -2.964 0.711 -2.978 0.676 -3.096H0.105L1.123 0H1.709C1.716 -0.028 1.904 -0.579 2.148 -1.353C2.253 -1.695 2.462 -2.364 2.497 -2.671L2.504 -2.678C2.518 -2.532 2.559 -2.378 2.608 -2.204S2.706 -1.841 2.755 -1.681L3.292 0H3.933L4.951 -3.096Z' id='g0-119'/>
|
||||
<path d='M1.932 -1.597L3.285 -3.096H2.671L1.681 -1.953L0.669 -3.096H0.042L1.437 -1.597L0 0H0.621L1.681 -1.311L2.783 0H3.41L1.932 -1.597Z' id='g0-120'/>
|
||||
</defs>
|
||||
<g id='page7'>
|
||||
<path d='M140.82 237.449V228.594M199.488 237.449V228.594M258.156 237.449V228.594M316.824 237.449V228.594M375.496 237.449V228.594M140.82 51.969V60.828M199.488 51.969V60.828M258.156 51.969V60.828M316.824 51.969V60.828M375.496 51.969V60.828' fill='none' stroke='#808080' stroke-miterlimit='10' stroke-width='0.199'/>
|
||||
<path d='M111.484 232.844V228.594M170.152 232.844V228.594M228.824 232.844V228.594M287.492 232.844V228.594M346.16 232.844V228.594M404.828 232.844V228.594M111.484 56.574V60.828M170.152 56.574V60.828M228.824 56.574V60.828M287.492 56.574V60.828M346.16 56.574V60.828M404.828 56.574V60.828' fill='none' stroke='#808080' stroke-miterlimit='10' stroke-width='0.199'/>
|
||||
<path d='M82.148 228.594H86.402M82.148 195.039H86.402M82.148 161.484H86.402M82.148 127.934H86.402M82.148 94.379H86.402M82.148 60.828H86.402M434.164 228.594H429.91M434.164 195.039H429.91M434.164 161.484H429.91M434.164 127.934H429.91M434.164 94.379H429.91M434.164 60.828H429.91' fill='none' stroke='#808080' stroke-miterlimit='10' stroke-width='0.199'/>
|
||||
<path d='M82.148 228.594V60.828H434.164V228.594H82.148Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<g transform='matrix(1 0 0 1 -11.54 34.954)'>
|
||||
<use x='114.487' xlink:href='#g3-99' y='208.035'/>
|
||||
<use x='118.25' xlink:href='#g3-102' y='208.035'/>
|
||||
<use x='120.838' xlink:href='#g3-114' y='208.035'/>
|
||||
<use x='123.73' xlink:href='#g3-97' y='208.035'/>
|
||||
<use x='127.798' xlink:href='#g3-99' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 45.565 34.954)'>
|
||||
<use x='114.487' xlink:href='#g3-108' y='208.035'/>
|
||||
<use x='116.507' xlink:href='#g3-101' y='208.035'/>
|
||||
<use x='120.271' xlink:href='#g3-97' y='208.035'/>
|
||||
<use x='124.339' xlink:href='#g3-110' y='208.035'/>
|
||||
<use x='128.711' xlink:href='#g3-78' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 106.188 34.954)'>
|
||||
<use x='114.487' xlink:href='#g3-114' y='208.035'/>
|
||||
<use x='117.379' xlink:href='#g3-101' y='208.035'/>
|
||||
<use x='121.142' xlink:href='#g3-100' y='208.035'/>
|
||||
<use x='125.515' xlink:href='#g3-105' y='208.035'/>
|
||||
<use x='127.535' xlink:href='#g3-115' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 159.716 34.954)'>
|
||||
<use x='114.487' xlink:href='#g3-108' y='208.035'/>
|
||||
<use x='116.507' xlink:href='#g3-97' y='208.035'/>
|
||||
<use x='120.34' xlink:href='#g3-114' y='208.035'/>
|
||||
<use x='123.232' xlink:href='#g3-115' y='208.035'/>
|
||||
<use x='126.478' xlink:href='#g3-111' y='208.035'/>
|
||||
<use x='130.712' xlink:href='#g3-110' y='208.035'/>
|
||||
<use x='135.085' xlink:href='#g3-78' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 215.596 34.954)'>
|
||||
<use x='114.487' xlink:href='#g3-109' y='208.035'/>
|
||||
<use x='121.211' xlink:href='#g3-115' y='208.035'/>
|
||||
<use x='124.458' xlink:href='#g3-116' y='208.035'/>
|
||||
<use x='127.516' xlink:href='#g3-114' y='208.035'/>
|
||||
<use x='130.408' xlink:href='#g3-101' y='208.035'/>
|
||||
<use x='134.171' xlink:href='#g3-115' y='208.035'/>
|
||||
<use x='137.418' xlink:href='#g3-115' y='208.035'/>
|
||||
<use x='140.664' xlink:href='#g3-78' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 277.158 34.954)'>
|
||||
<use x='114.487' xlink:href='#g3-114' y='208.035'/>
|
||||
<use x='117.379' xlink:href='#g3-112' y='208.035'/>
|
||||
<use x='121.751' xlink:href='#g3-116' y='208.035'/>
|
||||
<use x='124.809' xlink:href='#g3-101' y='208.035'/>
|
||||
<use x='128.573' xlink:href='#g3-115' y='208.035'/>
|
||||
<use x='131.819' xlink:href='#g3-116' y='208.035'/>
|
||||
<use x='134.877' xlink:href='#g3-78' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 -40.942 22.192)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-120' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 -45.059 -11.361)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-53' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-120' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 -45.059 -44.915)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-120' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 -45.059 -78.468)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-53' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-120' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 -45.059 -112.021)'>
|
||||
<use x='114.487' xlink:href='#g2-50' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-120' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 -45.059 -145.574)'>
|
||||
<use x='114.487' xlink:href='#g2-50' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-53' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-120' y='208.035'/>
|
||||
</g>
|
||||
<path clip-path='url(#clip7)' d='M82.148 161.484H434.164' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M88.945 228.594H92.18V161.484H88.945ZM147.613 228.594H150.852V161.484H147.613ZM206.281 228.594H209.52V161.484H206.281ZM264.949 228.594H268.188V161.484H264.949ZM323.621 228.594H326.859V161.484H323.621ZM382.289 228.594H385.527V161.484H382.289Z' fill='#ffffff'/>
|
||||
<path clip-path='url(#clip7)' d='M88.945 228.594H92.18V161.484H88.945ZM147.613 228.594H150.852V161.484H147.613ZM206.281 228.594H209.52V161.484H206.281ZM264.949 228.594H268.188V161.484H264.949ZM323.621 228.594H326.859V161.484H323.621ZM382.289 228.594H385.527V161.484H382.289Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M90.563 161.484V161.484' fill='#ffffff'/>
|
||||
<path clip-path='url(#clip7)' d='M88.57 161.484H92.555' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M90.563 161.484V161.484' fill='#ffffff'/>
|
||||
<path clip-path='url(#clip7)' d='M88.57 161.484H92.555' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M149.231 161.484V161.484' fill='#ffffff'/>
|
||||
<path clip-path='url(#clip7)' d='M147.238 161.484H151.223' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M149.231 161.484V161.484' fill='#ffffff'/>
|
||||
<path clip-path='url(#clip7)' d='M147.238 161.484H151.223' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M207.902 161.484V161.484' fill='#ffffff'/>
|
||||
<path clip-path='url(#clip7)' d='M205.906 161.484H209.894' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M207.902 161.484V161.484' fill='#ffffff'/>
|
||||
<path clip-path='url(#clip7)' d='M205.906 161.484H209.894' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M266.57 161.484V161.484' fill='#ffffff'/>
|
||||
<path clip-path='url(#clip7)' d='M264.578 161.484H268.562' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M266.57 161.484V161.484' fill='#ffffff'/>
|
||||
<path clip-path='url(#clip7)' d='M264.578 161.484H268.562' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M325.238 161.484V161.484' fill='#ffffff'/>
|
||||
<path clip-path='url(#clip7)' d='M323.246 161.484H327.23' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M325.238 161.484V161.484' fill='#ffffff'/>
|
||||
<path clip-path='url(#clip7)' d='M323.246 161.484H327.23' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M383.906 161.484V161.484' fill='#ffffff'/>
|
||||
<path clip-path='url(#clip7)' d='M381.914 161.484H385.898' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M383.906 161.484V161.484' fill='#ffffff'/>
|
||||
<path clip-path='url(#clip7)' d='M381.914 161.484H385.898' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M94.176 228.594H97.41V74.719H94.176ZM152.844 228.594H156.082V172.559H152.844ZM211.512 228.594H214.75V145.852H211.512ZM270.18 228.594H273.418V154.773H270.18ZM328.852 228.594H332.09V193.43H328.852ZM387.52 228.594H390.758V191.148H387.52Z' fill='#f0e0f0'/>
|
||||
<path clip-path='url(#clip7)' d='M94.176 228.594H97.41V74.719H94.176ZM152.844 228.594H156.082V172.559H152.844ZM211.512 228.594H214.75V145.852H211.512ZM270.18 228.594H273.418V154.773H270.18ZM328.852 228.594H332.09V193.43H328.852ZM387.52 228.594H390.758V191.148H387.52Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M95.793 74.719V74.719' fill='#f0e0f0'/>
|
||||
<path clip-path='url(#clip7)' d='M93.801 74.719H97.785' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M95.793 74.719V74.719' fill='#f0e0f0'/>
|
||||
<path clip-path='url(#clip7)' d='M93.801 74.719H97.785' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M154.461 172.559V172.559' fill='#f0e0f0'/>
|
||||
<path clip-path='url(#clip7)' d='M152.469 172.558H156.454' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M154.461 172.559V172.559' fill='#f0e0f0'/>
|
||||
<path clip-path='url(#clip7)' d='M152.469 172.558H156.454' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M213.133 145.852V145.852' fill='#f0e0f0'/>
|
||||
<path clip-path='url(#clip7)' d='M211.137 145.851H215.125' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M213.133 145.852V145.852' fill='#f0e0f0'/>
|
||||
<path clip-path='url(#clip7)' d='M211.137 145.851H215.125' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M271.801 154.773V154.773' fill='#f0e0f0'/>
|
||||
<path clip-path='url(#clip7)' d='M269.809 154.773H273.793' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M271.801 154.773V154.773' fill='#f0e0f0'/>
|
||||
<path clip-path='url(#clip7)' d='M269.809 154.773H273.793' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M330.469 193.43V193.43' fill='#f0e0f0'/>
|
||||
<path clip-path='url(#clip7)' d='M328.477 193.429H332.461' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M330.469 193.43V193.43' fill='#f0e0f0'/>
|
||||
<path clip-path='url(#clip7)' d='M328.477 193.429H332.461' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M389.137 191.148V191.148' fill='#f0e0f0'/>
|
||||
<path clip-path='url(#clip7)' d='M387.145 191.149H391.129' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M389.137 191.148V191.148' fill='#f0e0f0'/>
|
||||
<path clip-path='url(#clip7)' d='M387.145 191.149H391.129' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M99.406 228.594H102.641V138.133H99.406ZM158.074 228.594H161.313V162.961H158.074ZM216.742 228.594H219.981V157.797H216.742ZM275.41 228.594H278.649V141.02H275.41ZM334.082 228.594H337.32V191.816H334.082ZM392.75 228.594H395.988V179.871H392.75Z' fill='#e1c2e1'/>
|
||||
<path clip-path='url(#clip7)' d='M99.406 228.594H102.641V138.133H99.406ZM158.074 228.594H161.313V162.961H158.074ZM216.742 228.594H219.981V157.797H216.742ZM275.41 228.594H278.649V141.02H275.41ZM334.082 228.594H337.32V191.816H334.082ZM392.75 228.594H395.988V179.871H392.75Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M101.024 138.133V138.133' fill='#e1c2e1'/>
|
||||
<path clip-path='url(#clip7)' d='M99.031 138.133H103.016' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M101.024 138.133V138.133' fill='#e1c2e1'/>
|
||||
<path clip-path='url(#clip7)' d='M99.031 138.133H103.016' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M159.691 162.961V162.961' fill='#e1c2e1'/>
|
||||
<path clip-path='url(#clip7)' d='M157.699 162.961H161.684' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M159.691 162.961V162.961' fill='#e1c2e1'/>
|
||||
<path clip-path='url(#clip7)' d='M157.699 162.961H161.684' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M218.363 157.797V157.797' fill='#e1c2e1'/>
|
||||
<path clip-path='url(#clip7)' d='M216.367 157.797H220.355' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M218.363 157.797V157.797' fill='#e1c2e1'/>
|
||||
<path clip-path='url(#clip7)' d='M216.367 157.797H220.355' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M277.031 141.02V141.02' fill='#e1c2e1'/>
|
||||
<path clip-path='url(#clip7)' d='M275.039 141.02H279.023' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M277.031 141.02V141.02' fill='#e1c2e1'/>
|
||||
<path clip-path='url(#clip7)' d='M275.039 141.02H279.023' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M335.699 191.816V191.816' fill='#e1c2e1'/>
|
||||
<path clip-path='url(#clip7)' d='M333.707 191.816H337.691' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M335.699 191.816V191.816' fill='#e1c2e1'/>
|
||||
<path clip-path='url(#clip7)' d='M333.707 191.816H337.691' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M394.367 179.871V179.871' fill='#e1c2e1'/>
|
||||
<path clip-path='url(#clip7)' d='M392.375 179.871H396.359' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M394.367 179.871V179.871' fill='#e1c2e1'/>
|
||||
<path clip-path='url(#clip7)' d='M392.375 179.871H396.359' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M104.637 228.594H107.871V140.883H104.637ZM163.305 228.594H166.543V152.695H163.305ZM221.973 228.594H225.211V115.184H221.973ZM280.641 228.594H283.879V167.793H280.641ZM339.313 228.594H342.551V189.738H339.313ZM397.981 228.594H401.219V194.367H397.981Z' fill='#d1a3d1'/>
|
||||
<path clip-path='url(#clip7)' d='M104.637 228.594H107.871V140.883H104.637ZM163.305 228.594H166.543V152.695H163.305ZM221.973 228.594H225.211V115.184H221.973ZM280.641 228.594H283.879V167.793H280.641ZM339.313 228.594H342.551V189.738H339.313ZM397.981 228.594H401.219V194.367H397.981Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M106.254 140.883V140.883' fill='#d1a3d1'/>
|
||||
<path clip-path='url(#clip7)' d='M104.261 140.882H108.246' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M106.254 140.883V140.883' fill='#d1a3d1'/>
|
||||
<path clip-path='url(#clip7)' d='M104.261 140.882H108.246' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M164.922 152.695V152.695' fill='#d1a3d1'/>
|
||||
<path clip-path='url(#clip7)' d='M162.929 152.695H166.914' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M164.922 152.695V152.695' fill='#d1a3d1'/>
|
||||
<path clip-path='url(#clip7)' d='M162.929 152.695H166.914' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M223.594 115.184V115.184' fill='#d1a3d1'/>
|
||||
<path clip-path='url(#clip7)' d='M221.597 115.184H225.585' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M223.594 115.184V115.184' fill='#d1a3d1'/>
|
||||
<path clip-path='url(#clip7)' d='M221.597 115.184H225.585' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M282.262 167.793V167.793' fill='#d1a3d1'/>
|
||||
<path clip-path='url(#clip7)' d='M280.269 167.793H284.253' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M282.262 167.793V167.793' fill='#d1a3d1'/>
|
||||
<path clip-path='url(#clip7)' d='M280.269 167.793H284.253' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M340.93 189.738V189.738' fill='#d1a3d1'/>
|
||||
<path clip-path='url(#clip7)' d='M338.937 189.739H342.921' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M340.93 189.738V189.738' fill='#d1a3d1'/>
|
||||
<path clip-path='url(#clip7)' d='M338.937 189.739H342.921' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M399.598 194.367V194.367' fill='#d1a3d1'/>
|
||||
<path clip-path='url(#clip7)' d='M397.605 194.367H401.589' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M399.598 194.367V194.367' fill='#d1a3d1'/>
|
||||
<path clip-path='url(#clip7)' d='M397.605 194.367H401.589' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M109.867 228.594H113.102V163.031H109.867ZM168.535 228.594H171.774V157.191H168.535ZM227.203 228.594H230.442V142.094H227.203ZM285.871 228.594H289.109V150.414H285.871ZM344.543 228.594H347.781V150.949H344.543ZM403.211 228.594H406.449V103.105H403.211Z' fill='#c285c2'/>
|
||||
<path clip-path='url(#clip7)' d='M109.867 228.594H113.102V163.031H109.867ZM168.535 228.594H171.774V157.191H168.535ZM227.203 228.594H230.442V142.094H227.203ZM285.871 228.594H289.109V150.414H285.871ZM344.543 228.594H347.781V150.949H344.543ZM403.211 228.594H406.449V103.105H403.211Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M111.484 163.031V163.031' fill='#c285c2'/>
|
||||
<path clip-path='url(#clip7)' d='M109.492 163.031H113.477' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M111.484 163.031V163.031' fill='#c285c2'/>
|
||||
<path clip-path='url(#clip7)' d='M109.492 163.031H113.477' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M170.152 157.191V157.191' fill='#c285c2'/>
|
||||
<path clip-path='url(#clip7)' d='M168.16 157.191H172.145' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M170.152 157.191V157.191' fill='#c285c2'/>
|
||||
<path clip-path='url(#clip7)' d='M168.16 157.191H172.145' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M228.824 142.094V142.094' fill='#c285c2'/>
|
||||
<path clip-path='url(#clip7)' d='M226.828 142.093H230.816' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M228.824 142.094V142.094' fill='#c285c2'/>
|
||||
<path clip-path='url(#clip7)' d='M226.828 142.093H230.816' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M287.492 150.414V150.414' fill='#c285c2'/>
|
||||
<path clip-path='url(#clip7)' d='M285.5 150.414H289.484' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M287.492 150.414V150.414' fill='#c285c2'/>
|
||||
<path clip-path='url(#clip7)' d='M285.5 150.414H289.484' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M346.16 150.949V150.949' fill='#c285c2'/>
|
||||
<path clip-path='url(#clip7)' d='M344.168 150.949H348.152' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M346.16 150.949V150.949' fill='#c285c2'/>
|
||||
<path clip-path='url(#clip7)' d='M344.168 150.949H348.152' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M404.828 103.105V103.105' fill='#c285c2'/>
|
||||
<path clip-path='url(#clip7)' d='M402.836 103.106H406.82' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M404.828 103.105V103.105' fill='#c285c2'/>
|
||||
<path clip-path='url(#clip7)' d='M402.836 103.106H406.82' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M115.098 228.594H118.332V133.906H115.098ZM173.766 228.594H177.004V148.133H173.766ZM232.434 228.594H235.672V144.91H232.434ZM291.102 228.594H294.34V160.48H291.102ZM349.774 228.594H353.012V168.801H349.774ZM408.442 228.594H411.68V181.484H408.442Z' fill='#b366b3'/>
|
||||
<path clip-path='url(#clip7)' d='M115.098 228.594H118.332V133.906H115.098ZM173.766 228.594H177.004V148.133H173.766ZM232.434 228.594H235.672V144.91H232.434ZM291.102 228.594H294.34V160.48H291.102ZM349.774 228.594H353.012V168.801H349.774ZM408.442 228.594H411.68V181.484H408.442Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M116.715 133.906V133.906' fill='#b366b3'/>
|
||||
<path clip-path='url(#clip7)' d='M114.722 133.906H118.707' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M116.715 133.906V133.906' fill='#b366b3'/>
|
||||
<path clip-path='url(#clip7)' d='M114.722 133.906H118.707' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M175.383 148.133V148.133' fill='#b366b3'/>
|
||||
<path clip-path='url(#clip7)' d='M173.39 148.133H177.375' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M175.383 148.133V148.133' fill='#b366b3'/>
|
||||
<path clip-path='url(#clip7)' d='M173.39 148.133H177.375' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M234.055 144.91V144.91' fill='#b366b3'/>
|
||||
<path clip-path='url(#clip7)' d='M232.058 144.91H236.046' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M234.055 144.91V144.91' fill='#b366b3'/>
|
||||
<path clip-path='url(#clip7)' d='M232.058 144.91H236.046' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M292.723 160.48V160.48' fill='#b366b3'/>
|
||||
<path clip-path='url(#clip7)' d='M290.73 160.48H294.714' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M292.723 160.48V160.48' fill='#b366b3'/>
|
||||
<path clip-path='url(#clip7)' d='M290.73 160.48H294.714' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M351.391 168.801V168.801' fill='#b366b3'/>
|
||||
<path clip-path='url(#clip7)' d='M349.398 168.801H353.382' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M351.391 168.801V168.801' fill='#b366b3'/>
|
||||
<path clip-path='url(#clip7)' d='M349.398 168.801H353.382' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M410.059 181.484V181.484' fill='#b366b3'/>
|
||||
<path clip-path='url(#clip7)' d='M408.066 181.485H412.05' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M410.059 181.484V181.484' fill='#b366b3'/>
|
||||
<path clip-path='url(#clip7)' d='M408.066 181.485H412.05' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M120.328 228.594H123.563V140.48H120.328ZM178.996 228.594H182.234V159.473H178.996ZM237.664 228.594H240.902V159.406H237.664ZM296.332 228.594H299.57V157.797H296.332ZM355.004 228.594H358.238V172.355H355.004ZM413.672 228.594H416.91V184.637H413.672Z' fill='#a447a4'/>
|
||||
<path clip-path='url(#clip7)' d='M120.328 228.594H123.563V140.48H120.328ZM178.996 228.594H182.234V159.473H178.996ZM237.664 228.594H240.902V159.406H237.664ZM296.332 228.594H299.57V157.797H296.332ZM355.004 228.594H358.238V172.355H355.004ZM413.672 228.594H416.91V184.637H413.672Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M121.945 140.48V140.48' fill='#a447a4'/>
|
||||
<path clip-path='url(#clip7)' d='M119.953 140.481H123.938' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M121.945 140.48V140.48' fill='#a447a4'/>
|
||||
<path clip-path='url(#clip7)' d='M119.953 140.481H123.938' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M180.613 159.473V159.473' fill='#a447a4'/>
|
||||
<path clip-path='url(#clip7)' d='M178.621 159.473H182.606' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M180.613 159.473V159.473' fill='#a447a4'/>
|
||||
<path clip-path='url(#clip7)' d='M178.621 159.473H182.606' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M239.285 159.406V159.406' fill='#a447a4'/>
|
||||
<path clip-path='url(#clip7)' d='M237.289 159.407H241.274' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M239.285 159.406V159.406' fill='#a447a4'/>
|
||||
<path clip-path='url(#clip7)' d='M237.289 159.407H241.274' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M297.953 157.797V157.797' fill='#a447a4'/>
|
||||
<path clip-path='url(#clip7)' d='M295.961 157.797H299.945' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M297.953 157.797V157.797' fill='#a447a4'/>
|
||||
<path clip-path='url(#clip7)' d='M295.961 157.797H299.945' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M356.621 172.355V172.355' fill='#a447a4'/>
|
||||
<path clip-path='url(#clip7)' d='M354.629 172.355H358.613' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M356.621 172.355V172.355' fill='#a447a4'/>
|
||||
<path clip-path='url(#clip7)' d='M354.629 172.355H358.613' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M415.289 184.637V184.637' fill='#a447a4'/>
|
||||
<path clip-path='url(#clip7)' d='M413.297 184.637H417.281' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M415.289 184.637V184.637' fill='#a447a4'/>
|
||||
<path clip-path='url(#clip7)' d='M413.297 184.637H417.281' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M125.559 228.594H128.793V163.098H125.559ZM184.227 228.594H187.465V151.824H184.227ZM242.895 228.594H246.133V161.082H242.895ZM301.563 228.594H304.801V167.457H301.563ZM360.234 228.594H363.469V168.195H360.234ZM418.902 228.594H422.141V199.332H418.902Z' fill='#942994'/>
|
||||
<path clip-path='url(#clip7)' d='M125.559 228.594H128.793V163.098H125.559ZM184.227 228.594H187.465V151.824H184.227ZM242.895 228.594H246.133V161.082H242.895ZM301.563 228.594H304.801V167.457H301.563ZM360.234 228.594H363.469V168.195H360.234ZM418.902 228.594H422.141V199.332H418.902Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M127.176 163.098V163.098' fill='#942994'/>
|
||||
<path clip-path='url(#clip7)' d='M125.183 163.097H129.168' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M127.176 163.098V163.098' fill='#942994'/>
|
||||
<path clip-path='url(#clip7)' d='M125.183 163.097H129.168' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M185.844 151.824V151.824' fill='#942994'/>
|
||||
<path clip-path='url(#clip7)' d='M183.851 151.825H187.836' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M185.844 151.824V151.824' fill='#942994'/>
|
||||
<path clip-path='url(#clip7)' d='M183.851 151.825H187.836' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M244.516 161.082V161.082' fill='#942994'/>
|
||||
<path clip-path='url(#clip7)' d='M242.519 161.082H246.504' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M244.516 161.082V161.082' fill='#942994'/>
|
||||
<path clip-path='url(#clip7)' d='M242.519 161.082H246.504' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M303.184 167.457V167.457' fill='#942994'/>
|
||||
<path clip-path='url(#clip7)' d='M301.191 167.457H305.175' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M303.184 167.457V167.457' fill='#942994'/>
|
||||
<path clip-path='url(#clip7)' d='M301.191 167.457H305.175' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M361.852 168.195V168.195' fill='#942994'/>
|
||||
<path clip-path='url(#clip7)' d='M359.859 168.196H363.843' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M361.852 168.195V168.195' fill='#942994'/>
|
||||
<path clip-path='url(#clip7)' d='M359.859 168.196H363.843' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M420.52 199.332V199.332' fill='#942994'/>
|
||||
<path clip-path='url(#clip7)' d='M418.527 199.332H422.511' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M420.52 199.332V199.332' fill='#942994'/>
|
||||
<path clip-path='url(#clip7)' d='M418.527 199.332H422.511' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M130.789 228.594H134.024V157.996H130.789ZM189.457 228.594H192.695V153.969H189.457ZM248.125 228.594H251.363V154.305H248.125ZM306.793 228.594H310.031V122.633H306.793ZM365.465 228.594H368.699V165.98H365.465ZM424.133 228.594H427.371V150.211H424.133Z' fill='#850a85'/>
|
||||
<path clip-path='url(#clip7)' d='M130.789 228.594H134.024V157.996H130.789ZM189.457 228.594H192.695V153.969H189.457ZM248.125 228.594H251.363V154.305H248.125ZM306.793 228.594H310.031V122.633H306.793ZM365.465 228.594H368.699V165.98H365.465ZM424.133 228.594H427.371V150.211H424.133Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M132.406 157.996V157.996' fill='#850a85'/>
|
||||
<path clip-path='url(#clip7)' d='M130.414 157.996H134.399' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M132.406 157.996V157.996' fill='#850a85'/>
|
||||
<path clip-path='url(#clip7)' d='M130.414 157.996H134.399' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M191.074 153.969V153.969' fill='#850a85'/>
|
||||
<path clip-path='url(#clip7)' d='M189.082 153.969H193.067' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M191.074 153.969V153.969' fill='#850a85'/>
|
||||
<path clip-path='url(#clip7)' d='M189.082 153.969H193.067' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M249.746 154.305V154.305' fill='#850a85'/>
|
||||
<path clip-path='url(#clip7)' d='M247.75 154.305H251.735' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M249.746 154.305V154.305' fill='#850a85'/>
|
||||
<path clip-path='url(#clip7)' d='M247.75 154.305H251.735' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M308.414 122.633V122.633' fill='#850a85'/>
|
||||
<path clip-path='url(#clip7)' d='M306.422 122.633H310.407' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M308.414 122.633V122.633' fill='#850a85'/>
|
||||
<path clip-path='url(#clip7)' d='M306.422 122.633H310.407' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M367.082 165.98V165.98' fill='#850a85'/>
|
||||
<path clip-path='url(#clip7)' d='M365.09 165.98H369.074' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M367.082 165.98V165.98' fill='#850a85'/>
|
||||
<path clip-path='url(#clip7)' d='M365.09 165.98H369.074' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M425.75 150.211V150.211' fill='#850a85'/>
|
||||
<path clip-path='url(#clip7)' d='M423.758 150.211H427.742' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip7)' d='M425.75 150.211V150.211' fill='#850a85'/>
|
||||
<path clip-path='url(#clip7)' d='M423.758 150.211H427.742' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<g transform='matrix(0 -1 1 0 -115.838 269.769)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -57.169 269.769)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 1.5 269.769)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 60.169 269.769)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 118.838 269.769)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 177.507 269.769)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -110.608 183.001)'>
|
||||
<use x='114.487' xlink:href='#g2-50' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-50' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-57' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -51.938 280.841)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-56' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-52' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 6.731 254.133)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-50' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-51' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 65.4 263.058)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 124.069 301.711)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-53' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-50' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 182.738 299.43)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-53' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-54' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -105.377 246.416)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-51' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-53' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -46.708 271.245)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-57' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-56' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 11.961 266.078)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-53' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 70.63 249.302)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-51' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 129.299 300.101)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-53' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-53' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 187.968 288.156)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-55' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-51' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -100.147 249.167)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-51' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -41.478 260.978)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-51' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 17.191 223.466)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-54' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-57' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 75.86 276.077)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-57' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 134.529 298.021)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-53' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-56' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 193.198 302.651)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-53' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -94.916 271.312)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-57' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-56' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -36.247 265.474)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-54' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 22.422 250.375)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-50' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-57' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 81.091 258.696)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-54' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 139.76 259.233)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-54' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 198.429 211.387)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-56' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-55' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -89.686 242.188)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-52' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -31.017 256.415)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-50' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 27.652 253.194)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-50' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-53' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 86.321 268.762)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-50' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 144.99 277.083)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-56' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-57' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 203.659 289.767)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-55' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -84.455 248.765)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-51' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -25.786 267.756)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-51' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 32.883 267.689)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-51' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 91.552 266.078)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-53' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 150.221 280.64)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-56' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-52' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 208.89 292.921)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-54' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-54' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -79.225 271.379)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-57' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-56' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -20.556 260.106)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-52' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 38.113 269.366)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 96.782 275.741)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-57' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 155.451 276.48)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-57' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 214.12 307.617)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-52' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-52' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -73.994 266.279)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-53' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -15.325 262.253)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 43.344 262.589)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 102.013 230.914)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-53' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-56' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 160.682 274.265)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-57' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-51' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 219.351 258.495)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='208.035'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='208.035'/>
|
||||
<use x='121.25' xlink:href='#g2-55' y='208.035'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -148.675 311.091)'>
|
||||
<use x='114.487' xlink:href='#g1-82' y='208.035'/>
|
||||
<use x='120.457' xlink:href='#g1-101' y='208.035'/>
|
||||
<use x='124.553' xlink:href='#g1-108' y='208.035'/>
|
||||
<use x='126.753' xlink:href='#g1-97' y='208.035'/>
|
||||
<use x='131.181' xlink:href='#g1-116' y='208.035'/>
|
||||
<use x='134.509' xlink:href='#g1-105' y='208.035'/>
|
||||
<use x='136.709' xlink:href='#g1-118' y='208.035'/>
|
||||
<use x='140.957' xlink:href='#g1-101' y='208.035'/>
|
||||
<use x='148.124' xlink:href='#g1-114' y='208.035'/>
|
||||
<use x='151.272' xlink:href='#g1-115' y='208.035'/>
|
||||
<use x='154.805' xlink:href='#g1-115' y='208.035'/>
|
||||
<use x='161.409' xlink:href='#g3-40' y='208.035'/>
|
||||
<use x='164.702' xlink:href='#g3-108' y='208.035'/>
|
||||
<use x='166.722' xlink:href='#g3-111' y='208.035'/>
|
||||
<use x='170.721' xlink:href='#g3-119' y='208.035'/>
|
||||
<use x='176.27' xlink:href='#g3-101' y='208.035'/>
|
||||
<use x='180.034' xlink:href='#g3-114' y='208.035'/>
|
||||
<use x='185.749' xlink:href='#g3-105' y='208.035'/>
|
||||
<use x='187.769' xlink:href='#g3-115' y='208.035'/>
|
||||
<use x='193.838' xlink:href='#g3-98' y='208.035'/>
|
||||
<use x='198.446' xlink:href='#g3-101' y='208.035'/>
|
||||
<use x='202.209' xlink:href='#g3-116' y='208.035'/>
|
||||
<use x='205.267' xlink:href='#g3-116' y='208.035'/>
|
||||
<use x='208.325' xlink:href='#g3-101' y='208.035'/>
|
||||
<use x='212.089' xlink:href='#g3-114' y='208.035'/>
|
||||
<use x='214.981' xlink:href='#g3-41' y='208.035'/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 63 KiB |
1027
doc/bench-c5-18xlarge-2020-01-20-rss-b.svg
Normal file
1027
doc/bench-c5-18xlarge-2020-01-20-rss-b.svg
Normal file
File diff suppressed because it is too large
Load diff
After Width: | Height: | Size: 81 KiB |
867
doc/bench-r5a-12xlarge-2020-01-16-a.svg
Normal file
867
doc/bench-r5a-12xlarge-2020-01-16-a.svg
Normal file
|
@ -0,0 +1,867 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- This file was generated by dvisvgm 2.4.2 -->
|
||||
<svg height='165.084pt' version='1.1' viewBox='52.938 54.996 381.624 165.084' width='381.624pt' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>
|
||||
<defs>
|
||||
<clipPath id='clip5'>
|
||||
<path d='M82.148 203.937H434.164V78.691H82.148Z'/>
|
||||
</clipPath>
|
||||
<use id='g3-40' transform='scale(1.143)' xlink:href='#g0-40'/>
|
||||
<use id='g3-41' transform='scale(1.143)' xlink:href='#g0-41'/>
|
||||
<use id='g3-78' transform='scale(1.143)' xlink:href='#g0-78'/>
|
||||
<use id='g3-97' transform='scale(1.143)' xlink:href='#g0-97'/>
|
||||
<use id='g3-98' transform='scale(1.143)' xlink:href='#g0-98'/>
|
||||
<use id='g3-99' transform='scale(1.143)' xlink:href='#g0-99'/>
|
||||
<use id='g3-100' transform='scale(1.143)' xlink:href='#g0-100'/>
|
||||
<use id='g3-101' transform='scale(1.143)' xlink:href='#g0-101'/>
|
||||
<use id='g3-102' transform='scale(1.143)' xlink:href='#g0-102'/>
|
||||
<use id='g3-105' transform='scale(1.143)' xlink:href='#g0-105'/>
|
||||
<use id='g3-108' transform='scale(1.143)' xlink:href='#g0-108'/>
|
||||
<use id='g3-109' transform='scale(1.143)' xlink:href='#g0-109'/>
|
||||
<use id='g3-110' transform='scale(1.143)' xlink:href='#g0-110'/>
|
||||
<use id='g3-111' transform='scale(1.143)' xlink:href='#g0-111'/>
|
||||
<use id='g3-112' transform='scale(1.143)' xlink:href='#g0-112'/>
|
||||
<use id='g3-114' transform='scale(1.143)' xlink:href='#g0-114'/>
|
||||
<use id='g3-115' transform='scale(1.143)' xlink:href='#g0-115'/>
|
||||
<use id='g3-116' transform='scale(1.143)' xlink:href='#g0-116'/>
|
||||
<use id='g3-119' transform='scale(1.143)' xlink:href='#g0-119'/>
|
||||
<path d='M3.891 -2.914C4.806 -3.165 5.452 -3.811 5.452 -4.546C5.452 -5.469 4.411 -6.223 3.129 -6.223H0.87V0H1.704V-2.824H3.138L4.842 0H5.703L3.891 -2.914ZM1.704 -3.407V-5.694H3.022C4.062 -5.694 4.671 -5.192 4.671 -4.546C4.671 -3.963 4.125 -3.407 3.022 -3.407H1.704Z' id='g1-82'/>
|
||||
<path d='M3.694 -2.591C3.694 -3.479 3.04 -4.133 2.152 -4.133C1.569 -4.133 1.139 -3.981 0.708 -3.739L0.762 -3.102C1.21 -3.434 1.65 -3.569 2.143 -3.569C2.645 -3.569 2.95 -3.165 2.95 -2.582V-2.206C1.408 -2.17 0.395 -1.766 0.395 -1.04C0.395 -0.619 0.672 0.099 1.453 0.099C1.632 0.099 2.412 0.081 2.977 -0.341V0H3.694V-2.591ZM2.95 -1.255C2.95 -1.067 2.95 -0.843 2.627 -0.655C2.403 -0.52 2.107 -0.484 1.928 -0.484C1.47 -0.484 1.085 -0.699 1.085 -1.058C1.085 -1.695 2.833 -1.722 2.95 -1.722V-1.255Z' id='g1-97'/>
|
||||
<path d='M3.829 -1.964C3.829 -2.242 3.82 -2.923 3.47 -3.461C3.093 -4.026 2.52 -4.133 2.179 -4.133C1.139 -4.133 0.314 -3.174 0.314 -2.026C0.314 -0.843 1.193 0.099 2.313 0.099C2.744 0.099 3.264 -0.009 3.784 -0.341L3.73 -0.959C3.165 -0.556 2.636 -0.484 2.322 -0.484C1.578 -0.484 1.004 -1.139 0.977 -1.964H3.829ZM1.031 -2.493C1.175 -3.067 1.614 -3.551 2.179 -3.551C2.511 -3.551 3.12 -3.398 3.291 -2.493H1.031Z' id='g1-101'/>
|
||||
<path d='M1.524 -6.133H0.664V-5.272H1.524V-6.133ZM1.453 -3.981H0.735V0H1.453V-3.981Z' id='g1-105'/>
|
||||
<path d='M1.453 -6.223H0.735V0H1.453V-6.223Z' id='g1-108'/>
|
||||
<path d='M6.581 -2.663C6.581 -3.327 6.402 -4.08 5.317 -4.08C4.564 -4.08 4.142 -3.622 3.927 -3.344C3.865 -3.524 3.676 -4.08 2.762 -4.08C2.053 -4.08 1.623 -3.667 1.417 -3.398V-4.035H0.726V0H1.47V-2.188C1.47 -2.78 1.704 -3.497 2.385 -3.497C3.282 -3.497 3.282 -2.86 3.282 -2.6V0H4.026V-2.188C4.026 -2.78 4.259 -3.497 4.94 -3.497C5.837 -3.497 5.837 -2.86 5.837 -2.6V0H6.581V-2.663Z' id='g1-109'/>
|
||||
<path d='M1.623 -3.425H2.914V-3.981H1.623V-5.12H0.959V-3.981H0.17V-3.425H0.933V-1.13C0.933 -0.601 1.049 0.099 1.704 0.099C2.098 0.099 2.564 0.018 3.067 -0.233L2.914 -0.798C2.681 -0.619 2.367 -0.511 2.089 -0.511C1.739 -0.511 1.623 -0.825 1.623 -1.291V-3.425Z' id='g1-116'/>
|
||||
<path d='M4.116 -3.981H3.407L2.699 -2.161C2.52 -1.695 2.188 -0.825 2.143 -0.493H2.125C2.107 -0.646 2.08 -0.816 1.587 -2.107C1.318 -2.833 0.879 -3.927 0.861 -3.981H0.126L1.704 0H2.537L4.116 -3.981Z' id='g1-118'/>
|
||||
<use id='g2-46' transform='scale(0.714)' xlink:href='#g0-46'/>
|
||||
<use id='g2-48' transform='scale(0.714)' xlink:href='#g0-48'/>
|
||||
<use id='g2-49' transform='scale(0.714)' xlink:href='#g0-49'/>
|
||||
<use id='g2-50' transform='scale(0.714)' xlink:href='#g0-50'/>
|
||||
<use id='g2-51' transform='scale(0.714)' xlink:href='#g0-51'/>
|
||||
<use id='g2-52' transform='scale(0.714)' xlink:href='#g0-52'/>
|
||||
<use id='g2-53' transform='scale(0.714)' xlink:href='#g0-53'/>
|
||||
<use id='g2-54' transform='scale(0.714)' xlink:href='#g0-54'/>
|
||||
<use id='g2-55' transform='scale(0.714)' xlink:href='#g0-55'/>
|
||||
<use id='g2-56' transform='scale(0.714)' xlink:href='#g0-56'/>
|
||||
<use id='g2-57' transform='scale(0.714)' xlink:href='#g0-57'/>
|
||||
<use id='g2-120' transform='scale(0.714)' xlink:href='#g0-120'/>
|
||||
<path d='M1.445 -1.245C1.445 -1.41 1.305 -1.549 1.141 -1.549S0.837 -1.41 0.837 -1.245S0.976 -0.941 1.141 -0.941S1.445 -1.081 1.445 -1.245Z' id='g4-1'/>
|
||||
<path d='M2.127 -5.23C2.008 -5.23 1.995 -5.23 1.911 -5.154C1.032 -4.387 0.586 -3.145 0.586 -1.743C0.586 -0.425 0.983 0.844 1.904 1.653C1.995 1.743 2.008 1.743 2.127 1.743H2.462C2.441 1.73 1.764 1.151 1.444 0.063C1.276 -0.481 1.193 -1.053 1.193 -1.743C1.193 -4.156 2.322 -5.112 2.462 -5.23H2.127Z' id='g0-40'/>
|
||||
<path d='M0.746 1.743C0.865 1.743 0.879 1.743 0.962 1.667C1.841 0.9 2.287 -0.342 2.287 -1.743C2.287 -3.062 1.89 -4.331 0.969 -5.14C0.879 -5.23 0.865 -5.23 0.746 -5.23H0.411C0.432 -5.216 1.109 -4.638 1.43 -3.55C1.597 -3.006 1.681 -2.434 1.681 -1.743C1.681 0.669 0.551 1.625 0.411 1.743H0.746Z' id='g0-41'/>
|
||||
<path d='M1.339 -0.628H0.711V0H1.339V-0.628Z' id='g0-46'/>
|
||||
<path d='M3.403 -2.267C3.403 -2.601 3.403 -3.417 3.075 -3.989C2.72 -4.617 2.183 -4.721 1.848 -4.721C1.534 -4.721 0.99 -4.624 0.642 -4.024C0.307 -3.466 0.293 -2.706 0.293 -2.267C0.293 -1.75 0.321 -1.116 0.614 -0.586C0.921 -0.021 1.437 0.146 1.848 0.146C2.545 0.146 2.929 -0.258 3.138 -0.697C3.382 -1.193 3.403 -1.834 3.403 -2.267ZM1.848 -0.314C1.555 -0.314 1.22 -0.481 1.046 -0.983C0.907 -1.409 0.9 -1.848 0.9 -2.357C0.9 -2.999 0.9 -4.261 1.848 -4.261S2.797 -2.999 2.797 -2.357C2.797 -1.897 2.797 -1.374 2.629 -0.928C2.434 -0.425 2.078 -0.314 1.848 -0.314Z' id='g0-48'/>
|
||||
<path d='M2.239 -4.721H2.085C1.632 -4.303 1.06 -4.275 0.642 -4.261V-3.822C0.914 -3.829 1.262 -3.843 1.611 -3.982V-0.439H0.683V0H3.166V-0.439H2.239V-4.721Z' id='g0-49'/>
|
||||
<path d='M1.974 -0.537C1.89 -0.537 1.806 -0.53 1.723 -0.53H0.928L2.008 -1.485C2.134 -1.597 2.476 -1.855 2.608 -1.967C2.915 -2.246 3.327 -2.608 3.327 -3.215C3.327 -4.003 2.741 -4.721 1.743 -4.721C1.004 -4.721 0.544 -4.324 0.307 -3.612L0.635 -3.201C0.795 -3.787 1.039 -4.24 1.646 -4.24C2.232 -4.24 2.678 -3.829 2.678 -3.201C2.678 -2.622 2.336 -2.294 1.918 -1.897C1.778 -1.757 1.402 -1.444 1.255 -1.304C1.053 -1.123 0.572 -0.656 0.37 -0.481V0H3.327V-0.537H1.974Z' id='g0-50'/>
|
||||
<path d='M0.697 -3.578C0.983 -4.135 1.485 -4.289 1.82 -4.289C2.232 -4.289 2.538 -4.052 2.538 -3.654C2.538 -3.285 2.287 -2.831 1.757 -2.741C1.723 -2.734 1.695 -2.734 1.234 -2.699V-2.239H1.778C2.441 -2.239 2.685 -1.716 2.685 -1.276C2.685 -0.732 2.35 -0.314 1.806 -0.314C1.311 -0.314 0.746 -0.551 0.398 -0.997L0.307 -0.544C0.711 -0.091 1.276 0.146 1.82 0.146C2.734 0.146 3.389 -0.537 3.389 -1.269C3.389 -1.841 2.929 -2.301 2.378 -2.462C2.908 -2.734 3.18 -3.201 3.18 -3.654C3.18 -4.247 2.573 -4.721 1.827 -4.721C1.213 -4.721 0.704 -4.4 0.411 -3.982L0.697 -3.578Z' id='g0-51'/>
|
||||
<path d='M2.762 -1.165H3.487V-1.625H2.762V-4.575H2.071L0.209 -1.625V-1.165H2.162V0H2.762V-1.165ZM0.802 -1.625C1.011 -1.953 2.211 -3.815 2.211 -4.233V-1.625H0.802Z' id='g0-52'/>
|
||||
<path d='M1.144 -4.094H3.075V-4.575H0.586V-1.967H1.095C1.262 -2.343 1.59 -2.511 1.904 -2.511C2.19 -2.511 2.622 -2.315 2.622 -1.43C2.622 -0.516 2.043 -0.314 1.688 -0.314C1.227 -0.314 0.781 -0.558 0.544 -0.955L0.279 -0.537C0.621 -0.112 1.137 0.146 1.688 0.146C2.608 0.146 3.327 -0.565 3.327 -1.416C3.327 -2.28 2.685 -2.971 1.918 -2.971C1.618 -2.971 1.353 -2.866 1.144 -2.692V-4.094Z' id='g0-53'/>
|
||||
<path d='M3.062 -4.582C2.685 -4.721 2.42 -4.721 2.287 -4.721C1.227 -4.721 0.307 -3.724 0.307 -2.253C0.307 -0.363 1.158 0.146 1.862 0.146C2.427 0.146 2.72 -0.119 2.936 -0.342C3.382 -0.816 3.389 -1.311 3.389 -1.555C3.389 -2.469 2.894 -3.229 2.218 -3.229C1.534 -3.229 1.165 -2.873 0.962 -2.671C1.053 -3.626 1.541 -4.289 2.294 -4.289C2.434 -4.289 2.713 -4.275 3.062 -4.142V-4.582ZM0.969 -1.534C0.969 -1.576 0.969 -1.681 0.976 -1.716C0.976 -2.19 1.276 -2.769 1.897 -2.769C2.748 -2.769 2.748 -1.792 2.748 -1.555C2.748 -1.29 2.748 -0.997 2.559 -0.704C2.392 -0.453 2.183 -0.314 1.862 -0.314C1.123 -0.314 1.004 -1.227 0.969 -1.534Z' id='g0-54'/>
|
||||
<path d='M1.723 -4.038C1.806 -4.038 1.89 -4.045 1.974 -4.045H2.852C1.792 -3.006 1.116 -1.548 1.116 0.07H1.771C1.771 -1.967 2.762 -3.431 3.389 -4.087V-4.575H0.307V-4.038H1.723Z' id='g0-55'/>
|
||||
<path d='M2.385 -2.469C2.845 -2.615 3.285 -2.985 3.285 -3.501C3.285 -4.135 2.678 -4.721 1.848 -4.721S0.411 -4.135 0.411 -3.501C0.411 -2.978 0.865 -2.608 1.311 -2.469C0.697 -2.28 0.307 -1.806 0.307 -1.269C0.307 -0.523 0.969 0.146 1.848 0.146S3.389 -0.523 3.389 -1.269C3.389 -1.806 2.992 -2.28 2.385 -2.469ZM1.848 -2.699C1.353 -2.699 0.948 -2.985 0.948 -3.494C0.948 -3.94 1.262 -4.289 1.848 -4.289C2.427 -4.289 2.748 -3.94 2.748 -3.494C2.748 -2.999 2.357 -2.699 1.848 -2.699ZM1.848 -0.314C1.367 -0.314 0.941 -0.621 0.941 -1.276C0.941 -1.904 1.346 -2.239 1.848 -2.239S2.755 -1.897 2.755 -1.276C2.755 -0.621 2.322 -0.314 1.848 -0.314Z' id='g0-56'/>
|
||||
<path d='M0.537 -0.174C0.879 0.077 1.193 0.146 1.52 0.146C2.497 0.146 3.389 -0.837 3.389 -2.336C3.389 -4.24 2.545 -4.721 1.876 -4.721C1.255 -4.721 0.969 -4.428 0.767 -4.226C0.321 -3.773 0.307 -3.292 0.307 -3.02C0.307 -2.12 0.795 -1.346 1.478 -1.346C2.267 -1.346 2.699 -1.869 2.734 -1.911C2.636 -0.802 2.092 -0.314 1.52 -0.314C1.158 -0.314 0.934 -0.446 0.774 -0.579L0.537 -0.174ZM2.713 -3.027C2.72 -2.985 2.72 -2.915 2.72 -2.873C2.72 -2.357 2.406 -1.806 1.799 -1.806C1.534 -1.806 1.325 -1.883 1.144 -2.169C0.962 -2.441 0.948 -2.706 0.948 -3.02C0.948 -3.292 0.948 -3.605 1.165 -3.912C1.311 -4.122 1.52 -4.289 1.869 -4.289C2.545 -4.289 2.692 -3.473 2.713 -3.027Z' id='g0-57'/>
|
||||
<path d='M1.646 -4.84H0.697V0H1.283V-4.289H1.29L3.578 0H4.526V-4.84H3.94V-0.551H3.933L1.646 -4.84Z' id='g0-78'/>
|
||||
<path d='M2.971 -2.008C2.971 -2.72 2.427 -3.201 1.736 -3.201C1.297 -3.201 0.962 -3.11 0.572 -2.901L0.614 -2.392C0.844 -2.545 1.186 -2.755 1.736 -2.755C2.043 -2.755 2.364 -2.525 2.364 -2.001V-1.723C1.332 -1.688 0.314 -1.471 0.314 -0.823C0.314 -0.474 0.551 0.07 1.165 0.07C1.465 0.07 2.015 0.007 2.385 -0.265V0H2.971V-2.008ZM2.364 -0.99C2.364 -0.851 2.364 -0.669 2.12 -0.523C1.897 -0.398 1.625 -0.391 1.548 -0.391C1.165 -0.391 0.872 -0.565 0.872 -0.83C0.872 -1.276 2.05 -1.318 2.364 -1.332V-0.99Z' id='g0-97'/>
|
||||
<path d='M1.179 -4.84H0.593V0H1.2V-0.328C1.353 -0.195 1.688 0.07 2.197 0.07C2.957 0.07 3.571 -0.642 3.571 -1.555C3.571 -2.399 3.089 -3.166 2.392 -3.166C1.953 -3.166 1.527 -3.027 1.179 -2.769V-4.84ZM1.2 -2.197C1.2 -2.308 1.2 -2.392 1.444 -2.552C1.548 -2.615 1.736 -2.706 1.974 -2.706C2.441 -2.706 2.964 -2.392 2.964 -1.555C2.964 -0.704 2.385 -0.391 1.897 -0.391C1.639 -0.391 1.395 -0.509 1.2 -0.823V-2.197Z' id='g0-98'/>
|
||||
<path d='M3.034 -0.76C2.685 -0.537 2.308 -0.411 1.876 -0.411C1.234 -0.411 0.858 -0.928 0.858 -1.555C0.858 -2.092 1.137 -2.72 1.897 -2.72C2.371 -2.72 2.594 -2.622 2.95 -2.399L3.041 -2.901C2.622 -3.11 2.441 -3.201 1.897 -3.201C0.851 -3.201 0.251 -2.357 0.251 -1.548C0.251 -0.697 0.921 0.07 1.869 0.07C2.357 0.07 2.776 -0.077 3.075 -0.251L3.034 -0.76Z' id='g0-99'/>
|
||||
<path d='M3.229 -4.84H2.643V-2.797C2.197 -3.124 1.743 -3.166 1.541 -3.166C0.809 -3.166 0.251 -2.434 0.251 -1.548S0.802 0.07 1.52 0.07C1.953 0.07 2.357 -0.126 2.622 -0.363V0H3.229V-4.84ZM2.622 -0.865C2.448 -0.579 2.183 -0.391 1.848 -0.391C1.36 -0.391 0.858 -0.732 0.858 -1.541C0.858 -2.413 1.451 -2.706 1.925 -2.706C2.204 -2.706 2.441 -2.587 2.622 -2.35V-0.865Z' id='g0-100'/>
|
||||
<path d='M2.999 -0.76C2.608 -0.481 2.169 -0.391 1.869 -0.391C1.262 -0.391 0.802 -0.886 0.781 -1.527H3.068C3.068 -1.848 3.034 -2.315 2.762 -2.713C2.511 -3.068 2.092 -3.201 1.75 -3.201C0.9 -3.201 0.244 -2.455 0.244 -1.569C0.244 -0.676 0.941 0.07 1.862 0.07C2.267 0.07 2.685 -0.049 3.041 -0.265L2.999 -0.76ZM0.83 -1.946C0.99 -2.504 1.402 -2.741 1.75 -2.741C2.057 -2.741 2.511 -2.594 2.643 -1.946H0.83Z' id='g0-101'/>
|
||||
<path d='M1.325 -2.657H2.12V-3.096H1.304V-3.898C1.304 -4.38 1.743 -4.449 1.974 -4.449C2.12 -4.449 2.308 -4.428 2.566 -4.331V-4.84C2.385 -4.882 2.169 -4.91 1.981 -4.91C1.262 -4.91 0.739 -4.394 0.739 -3.703V-3.096H0.202V-2.657H0.739V0H1.325V-2.657Z' id='g0-102'/>
|
||||
<path d='M1.227 -4.784H0.523V-4.08H1.227V-4.784ZM1.172 -3.096H0.586V0H1.172V-3.096Z' id='g0-105'/>
|
||||
<path d='M1.172 -4.84H0.586V0H1.172V-4.84Z' id='g0-108'/>
|
||||
<path d='M5.3 -2.064C5.3 -2.608 5.14 -3.166 4.282 -3.166C3.696 -3.166 3.333 -2.824 3.166 -2.601C3.096 -2.79 2.922 -3.166 2.225 -3.166C1.827 -3.166 1.444 -3.006 1.137 -2.636V-3.145H0.579V0H1.186V-1.695C1.186 -2.155 1.381 -2.706 1.918 -2.706C2.636 -2.706 2.636 -2.218 2.636 -2.015V0H3.243V-1.695C3.243 -2.155 3.438 -2.706 3.975 -2.706C4.693 -2.706 4.693 -2.218 4.693 -2.015V0H5.3V-2.064Z' id='g0-109'/>
|
||||
<path d='M3.243 -2.064C3.243 -2.608 3.082 -3.166 2.225 -3.166C1.827 -3.166 1.444 -3.006 1.137 -2.636V-3.145H0.579V0H1.186V-1.695C1.186 -2.155 1.381 -2.706 1.918 -2.706C2.636 -2.706 2.636 -2.218 2.636 -2.015V0H3.243V-2.064Z' id='g0-110'/>
|
||||
<path d='M3.487 -1.527C3.487 -2.448 2.755 -3.201 1.848 -3.201S0.209 -2.441 0.209 -1.527C0.209 -0.642 0.948 0.07 1.848 0.07C2.755 0.07 3.487 -0.642 3.487 -1.527ZM1.848 -0.411C1.297 -0.411 0.816 -0.816 0.816 -1.604S1.332 -2.741 1.848 -2.741C2.371 -2.741 2.88 -2.378 2.88 -1.604C2.88 -0.809 2.385 -0.411 1.848 -0.411Z' id='g0-111'/>
|
||||
<path d='M1.2 -0.328C1.569 0.007 1.967 0.07 2.204 0.07C2.943 0.07 3.571 -0.635 3.571 -1.555C3.571 -2.392 3.11 -3.166 2.42 -3.166C2.106 -3.166 1.583 -3.075 1.179 -2.762V-3.096H0.593V1.353H1.2V-0.328ZM1.2 -2.315C1.36 -2.511 1.632 -2.685 1.967 -2.685C2.525 -2.685 2.964 -2.169 2.964 -1.555C2.964 -0.865 2.441 -0.391 1.897 -0.391C1.792 -0.391 1.618 -0.404 1.437 -0.551C1.227 -0.711 1.2 -0.816 1.2 -0.948V-2.315Z' id='g0-112'/>
|
||||
<path d='M1.179 -1.485C1.179 -2.239 1.806 -2.643 2.42 -2.65V-3.166C1.834 -3.159 1.409 -2.873 1.13 -2.504V-3.145H0.593V0H1.179V-1.485Z' id='g0-114'/>
|
||||
<path d='M2.545 -2.985C2.071 -3.18 1.723 -3.201 1.471 -3.201C1.297 -3.201 0.244 -3.201 0.244 -2.273C0.244 -1.946 0.425 -1.764 0.516 -1.681C0.76 -1.437 1.053 -1.381 1.423 -1.311C1.75 -1.248 2.127 -1.179 2.127 -0.844C2.127 -0.404 1.548 -0.404 1.451 -0.404C1.004 -0.404 0.586 -0.565 0.307 -0.76L0.209 -0.237C0.446 -0.119 0.872 0.07 1.451 0.07C1.764 0.07 2.071 0.021 2.329 -0.167C2.587 -0.363 2.671 -0.669 2.671 -0.907C2.671 -1.032 2.657 -1.304 2.364 -1.569C2.106 -1.799 1.855 -1.848 1.52 -1.911C1.109 -1.988 0.788 -2.05 0.788 -2.357C0.788 -2.755 1.297 -2.755 1.402 -2.755C1.799 -2.755 2.106 -2.671 2.455 -2.49L2.545 -2.985Z' id='g0-115'/>
|
||||
<path d='M1.311 -2.657H2.343V-3.096H1.311V-3.982H0.774V-3.096H0.139V-2.657H0.753V-0.893C0.753 -0.425 0.872 0.07 1.374 0.07S2.26 -0.091 2.469 -0.188L2.35 -0.635C2.12 -0.467 1.876 -0.411 1.681 -0.411C1.388 -0.411 1.311 -0.697 1.311 -1.018V-2.657Z' id='g0-116'/>
|
||||
<path d='M4.951 -3.096H4.407C4.345 -2.901 3.954 -1.723 3.738 -0.997C3.682 -0.795 3.612 -0.572 3.592 -0.411H3.585C3.543 -0.697 3.299 -1.451 3.285 -1.499L2.769 -3.096H2.239C2.036 -2.497 1.513 -0.934 1.458 -0.425H1.451C1.395 -0.921 0.879 -2.462 0.767 -2.797C0.711 -2.964 0.711 -2.978 0.676 -3.096H0.105L1.123 0H1.709C1.716 -0.028 1.904 -0.579 2.148 -1.353C2.253 -1.695 2.462 -2.364 2.497 -2.671L2.504 -2.678C2.518 -2.532 2.559 -2.378 2.608 -2.204S2.706 -1.841 2.755 -1.681L3.292 0H3.933L4.951 -3.096Z' id='g0-119'/>
|
||||
<path d='M1.932 -1.597L3.285 -3.096H2.671L1.681 -1.953L0.669 -3.096H0.042L1.437 -1.597L0 0H0.621L1.681 -1.311L2.783 0H3.41L1.932 -1.597Z' id='g0-120'/>
|
||||
</defs>
|
||||
<g id='page5'>
|
||||
<path d='M140.82 212.793V203.937M199.488 212.793V203.937M258.156 212.793V203.937M316.824 212.793V203.937M375.496 212.793V203.937M140.82 69.836V78.691M199.488 69.836V78.691M258.156 69.836V78.691M316.824 69.836V78.691M375.496 69.836V78.691' fill='none' stroke='#808080' stroke-miterlimit='10' stroke-width='0.199'/>
|
||||
<path d='M111.484 208.191V203.937M170.152 208.191V203.937M228.824 208.191V203.937M287.492 208.191V203.937M346.16 208.191V203.937M404.828 208.191V203.937M111.484 74.441V78.691M170.152 74.441V78.691M228.824 74.441V78.691M287.492 74.441V78.691M346.16 74.441V78.691M404.828 74.441V78.691' fill='none' stroke='#808080' stroke-miterlimit='10' stroke-width='0.199'/>
|
||||
<path d='M82.148 203.937H86.402M82.148 172.625H86.402M82.148 141.316H86.402M82.148 110.004H86.402M82.148 78.691H86.402M434.164 203.937H429.91M434.164 172.625H429.91M434.164 141.316H429.91M434.164 110.004H429.91M434.164 78.691H429.91' fill='none' stroke='#808080' stroke-miterlimit='10' stroke-width='0.199'/>
|
||||
<path d='M82.148 203.937V78.691H434.164V203.937H82.148Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<g transform='matrix(1 0 0 1 -11.54 34.954)'>
|
||||
<use x='114.487' xlink:href='#g3-99' y='183.381'/>
|
||||
<use x='118.25' xlink:href='#g3-102' y='183.381'/>
|
||||
<use x='120.838' xlink:href='#g3-114' y='183.381'/>
|
||||
<use x='123.73' xlink:href='#g3-97' y='183.381'/>
|
||||
<use x='127.798' xlink:href='#g3-99' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 45.565 34.954)'>
|
||||
<use x='114.487' xlink:href='#g3-108' y='183.381'/>
|
||||
<use x='116.507' xlink:href='#g3-101' y='183.381'/>
|
||||
<use x='120.271' xlink:href='#g3-97' y='183.381'/>
|
||||
<use x='124.339' xlink:href='#g3-110' y='183.381'/>
|
||||
<use x='128.711' xlink:href='#g3-78' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 106.188 34.954)'>
|
||||
<use x='114.487' xlink:href='#g3-114' y='183.381'/>
|
||||
<use x='117.379' xlink:href='#g3-101' y='183.381'/>
|
||||
<use x='121.142' xlink:href='#g3-100' y='183.381'/>
|
||||
<use x='125.515' xlink:href='#g3-105' y='183.381'/>
|
||||
<use x='127.535' xlink:href='#g3-115' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 159.716 34.954)'>
|
||||
<use x='114.487' xlink:href='#g3-108' y='183.381'/>
|
||||
<use x='116.507' xlink:href='#g3-97' y='183.381'/>
|
||||
<use x='120.34' xlink:href='#g3-114' y='183.381'/>
|
||||
<use x='123.232' xlink:href='#g3-115' y='183.381'/>
|
||||
<use x='126.478' xlink:href='#g3-111' y='183.381'/>
|
||||
<use x='130.712' xlink:href='#g3-110' y='183.381'/>
|
||||
<use x='135.085' xlink:href='#g3-78' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 215.596 34.954)'>
|
||||
<use x='114.487' xlink:href='#g3-109' y='183.381'/>
|
||||
<use x='121.211' xlink:href='#g3-115' y='183.381'/>
|
||||
<use x='124.458' xlink:href='#g3-116' y='183.381'/>
|
||||
<use x='127.516' xlink:href='#g3-114' y='183.381'/>
|
||||
<use x='130.408' xlink:href='#g3-101' y='183.381'/>
|
||||
<use x='134.171' xlink:href='#g3-115' y='183.381'/>
|
||||
<use x='137.418' xlink:href='#g3-115' y='183.381'/>
|
||||
<use x='140.664' xlink:href='#g3-78' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 277.158 34.954)'>
|
||||
<use x='114.487' xlink:href='#g3-114' y='183.381'/>
|
||||
<use x='117.379' xlink:href='#g3-112' y='183.381'/>
|
||||
<use x='121.751' xlink:href='#g3-116' y='183.381'/>
|
||||
<use x='124.809' xlink:href='#g3-101' y='183.381'/>
|
||||
<use x='128.573' xlink:href='#g3-115' y='183.381'/>
|
||||
<use x='131.819' xlink:href='#g3-116' y='183.381'/>
|
||||
<use x='134.877' xlink:href='#g3-78' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 -40.942 22.192)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-120' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 -45.059 -9.12)'>
|
||||
<use x='114.487' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-53' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-120' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 -45.059 -40.431)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-120' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 -45.059 -71.743)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-53' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-120' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(1 0 0 1 -45.059 -103.054)'>
|
||||
<use x='114.487' xlink:href='#g2-50' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-120' y='183.381'/>
|
||||
</g>
|
||||
<path clip-path='url(#clip5)' d='M82.148 141.316H434.164' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M88.945 203.937H92.18V141.316H88.945ZM147.613 203.937H150.852V141.316H147.613ZM206.281 203.937H209.52V141.316H206.281ZM264.949 203.937H268.188V141.316H264.949ZM323.621 203.937H326.859V141.316H323.621ZM382.289 203.937H385.527V141.316H382.289Z' fill='#993333'/>
|
||||
<path clip-path='url(#clip5)' d='M88.945 203.937H92.18V141.316H88.945ZM147.613 203.937H150.852V141.316H147.613ZM206.281 203.937H209.52V141.316H206.281ZM264.949 203.937H268.188V141.316H264.949ZM323.621 203.937H326.859V141.316H323.621ZM382.289 203.937H385.527V141.316H382.289Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M90.563 141.316V141.129' fill='#993333'/>
|
||||
<path clip-path='url(#clip5)' d='M90.563 141.316V141.129' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M88.57 141.129H92.555' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M90.563 141.316V141.504' fill='#993333'/>
|
||||
<path clip-path='url(#clip5)' d='M90.563 141.316V141.504' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M92.555 141.504H88.57' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M149.231 141.316V140.937' fill='#993333'/>
|
||||
<path clip-path='url(#clip5)' d='M149.231 141.316V140.937' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M147.238 140.937H151.223' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M149.231 141.316V141.691' fill='#993333'/>
|
||||
<path clip-path='url(#clip5)' d='M149.231 141.316V141.691' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M151.223 141.692H147.238' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M207.902 141.316V139.562' fill='#993333'/>
|
||||
<path clip-path='url(#clip5)' d='M207.902 141.316V139.562' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M205.906 139.563H209.894' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M207.902 141.316V143.07' fill='#993333'/>
|
||||
<path clip-path='url(#clip5)' d='M207.902 141.316V143.07' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M209.895 143.071H205.91' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M266.57 141.316V140.25' fill='#993333'/>
|
||||
<path clip-path='url(#clip5)' d='M266.57 141.316V140.25' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M264.578 140.25H268.562' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M266.57 141.316V142.379' fill='#993333'/>
|
||||
<path clip-path='url(#clip5)' d='M266.57 141.316V142.379' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M268.562 142.379H264.578' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M325.238 141.316V139.312' fill='#993333'/>
|
||||
<path clip-path='url(#clip5)' d='M325.238 141.316V139.312' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M323.246 139.312H327.23' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M325.238 141.316V143.32' fill='#993333'/>
|
||||
<path clip-path='url(#clip5)' d='M325.238 141.316V143.32' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M327.231 143.32H323.246' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M383.906 141.316V139.875' fill='#993333'/>
|
||||
<path clip-path='url(#clip5)' d='M383.906 141.316V139.875' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M381.914 139.875H385.898' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M383.906 141.316V142.754' fill='#993333'/>
|
||||
<path clip-path='url(#clip5)' d='M383.906 141.316V142.754' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M385.902 142.753H381.914' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M94.176 203.937H97.41V140.875H94.176ZM152.844 203.937H156.082V135.617H152.844ZM211.512 203.937H214.75V136.805H211.512ZM270.18 203.937H273.418V78.691H270.18ZM328.852 203.937H332.09V139.625H328.852ZM387.52 203.937H390.758V105.746H387.52Z' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip5)' d='M94.176 203.937H97.41V140.875H94.176ZM152.844 203.937H156.082V135.617H152.844ZM211.512 203.937H214.75V136.805H211.512ZM270.18 203.937H273.418V78.691H270.18ZM328.852 203.937H332.09V139.625H328.852ZM387.52 203.937H390.758V105.746H387.52Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M95.793 140.875V140.625' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip5)' d='M95.793 140.875V140.625' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M93.801 140.625H97.785' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M95.793 140.875V141.129' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip5)' d='M95.793 140.875V141.129' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M97.785 141.129H93.801' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M154.461 135.617V135.242' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip5)' d='M154.461 135.617V135.242' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M152.469 135.242H156.454' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M154.461 135.617V135.992' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip5)' d='M154.461 135.617V135.992' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M156.453 135.992H152.468' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M213.133 136.805V135.68' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip5)' d='M213.133 136.805V135.68' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M211.137 135.68H215.125' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M213.133 136.805V137.934' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip5)' d='M213.133 136.805V137.934' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M215.125 137.934H211.14' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M271.801 78.691V78.691' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip5)' d='M269.809 78.691H273.793' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M271.801 78.691V78.691' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip5)' d='M269.809 78.691H273.793' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M330.469 139.625V139.312' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip5)' d='M330.469 139.625V139.312' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M328.477 139.312H332.461' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M330.469 139.625V139.937' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip5)' d='M330.469 139.625V139.937' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M332.461 139.937H328.476' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M389.137 105.746V99.609' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip5)' d='M389.137 105.746V99.609' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M387.145 99.609H391.129' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M389.137 105.746V111.883' fill='#8080bf'/>
|
||||
<path clip-path='url(#clip5)' d='M389.137 105.746V111.883' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M391.132 111.883H387.144' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M99.406 203.937H102.641V139.437H99.406ZM158.074 203.937H161.313V140.437H158.074ZM216.742 203.937H219.981V132.922H216.742ZM275.41 203.937H278.649V78.691H275.41ZM334.082 203.937H337.32V106.996H334.082ZM392.75 203.937H395.988V78.691H392.75Z' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip5)' d='M99.406 203.937H102.641V139.437H99.406ZM158.074 203.937H161.313V140.437H158.074ZM216.742 203.937H219.981V132.922H216.742ZM275.41 203.937H278.649V78.691H275.41ZM334.082 203.937H337.32V106.996H334.082ZM392.75 203.937H395.988V78.691H392.75Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M101.024 139.437V139.25' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip5)' d='M101.024 139.437V139.25' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M99.031 139.25H103.016' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M101.024 139.437V139.625' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip5)' d='M101.024 139.437V139.625' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M103.016 139.625H99.031' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M159.691 140.437V140.062' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip5)' d='M159.691 140.437V140.062' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M157.699 140.063H161.684' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M159.691 140.437V140.812' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip5)' d='M159.691 140.437V140.812' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M161.684 140.812H157.699' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M218.363 132.922V131.547' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip5)' d='M218.363 132.922V131.547' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M216.367 131.547H220.355' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M218.363 132.922V134.301' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip5)' d='M218.363 132.922V134.301' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M220.356 134.3H216.371' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M277.031 78.691V78.691' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip5)' d='M275.039 78.691H279.023' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M277.031 78.691V78.691' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip5)' d='M275.039 78.691H279.023' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M335.699 106.996V105.621' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip5)' d='M335.699 106.996V105.621' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M333.707 105.621H337.691' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M335.699 106.996V108.375' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip5)' d='M335.699 106.996V108.375' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M337.692 108.375H333.707' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M394.367 78.691V78.691' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip5)' d='M392.375 78.691H396.359' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M394.367 78.691V78.691' fill='#ffb733'/>
|
||||
<path clip-path='url(#clip5)' d='M392.375 78.691H396.359' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M104.637 203.937H107.871V124.344H104.637ZM163.305 203.937H166.543V135.742H163.305ZM221.973 203.937H225.211V105.996H221.973ZM280.641 203.937H283.879V98.168H280.641ZM339.313 203.937H342.551V122.715H339.313ZM397.981 203.937H401.219V120.336H397.981Z' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip5)' d='M104.637 203.937H107.871V124.344H104.637ZM163.305 203.937H166.543V135.742H163.305ZM221.973 203.937H225.211V105.996H221.973ZM280.641 203.937H283.879V98.168H280.641ZM339.313 203.937H342.551V122.715H339.313ZM397.981 203.937H401.219V120.336H397.981Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M106.254 124.344V124.031' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip5)' d='M106.254 124.344V124.031' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M104.261 124.031H108.246' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M106.254 124.344V124.656' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip5)' d='M106.254 124.344V124.656' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M108.246 124.656H104.261' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M164.922 135.742V135.555' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip5)' d='M164.922 135.742V135.555' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M162.929 135.555H166.914' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M164.922 135.742V135.93' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip5)' d='M164.922 135.742V135.93' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M166.914 135.93H162.929' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M223.594 105.996V104.805' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip5)' d='M223.594 105.996V104.805' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M221.597 104.805H225.585' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M223.594 105.996V107.187' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip5)' d='M223.594 105.996V107.187' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M225.586 107.188H221.601' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M282.262 98.168V96.289' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip5)' d='M282.262 98.168V96.289' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M280.269 96.289H284.253' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M282.262 98.168V100.047' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip5)' d='M282.262 98.168V100.047' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M284.254 100.047H280.269' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M340.93 122.715V121.527' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip5)' d='M340.93 122.715V121.527' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M338.937 121.527H342.921' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M340.93 122.715V123.906' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip5)' d='M340.93 122.715V123.906' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M342.922 123.906H338.937' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M399.598 120.336V114.137' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip5)' d='M399.598 120.336V114.137' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M397.605 114.137H401.589' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M399.598 120.336V126.535' fill='#bf80bf'/>
|
||||
<path clip-path='url(#clip5)' d='M399.598 120.336V126.535' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M401.593 126.535H397.605' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M109.867 203.937H113.102V140.687H109.867ZM168.535 203.937H171.774V141.316H168.535ZM227.203 203.937H230.442V140.625H227.203ZM285.871 203.937H289.109V136.555H285.871ZM344.543 203.937H347.781V115.453H344.543ZM403.211 203.937H406.449V135.242H403.211Z' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip5)' d='M109.867 203.937H113.102V140.687H109.867ZM168.535 203.937H171.774V141.316H168.535ZM227.203 203.937H230.442V140.625H227.203ZM285.871 203.937H289.109V136.555H285.871ZM344.543 203.937H347.781V115.453H344.543ZM403.211 203.937H406.449V135.242H403.211Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M111.484 140.687V140.562' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip5)' d='M111.484 140.687V140.562' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M109.492 140.563H113.477' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M111.484 140.687V140.812' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip5)' d='M111.484 140.687V140.812' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M113.477 140.812H109.492' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M170.152 141.316V140.937' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip5)' d='M170.152 141.316V140.937' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M168.16 140.937H172.145' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M170.152 141.316V141.691' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip5)' d='M170.152 141.316V141.691' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M172.145 141.692H168.16' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M228.824 140.625V139.25' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip5)' d='M228.824 140.625V139.25' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M226.828 139.25H230.816' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M228.824 140.625V142.004' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip5)' d='M228.824 140.625V142.004' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M230.817 142.004H226.832' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M287.492 136.555V134.801' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip5)' d='M287.492 136.555V134.801' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M285.5 134.8H289.484' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M287.492 136.555V138.309' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip5)' d='M287.492 136.555V138.309' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M289.485 138.308H285.5' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M346.16 115.453V114.074' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip5)' d='M346.16 115.453V114.074' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M344.168 114.074H348.152' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M346.16 115.453V116.828' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip5)' d='M346.16 115.453V116.828' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M348.153 116.829H344.168' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M404.828 135.242V128.539' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip5)' d='M404.828 135.242V128.539' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M402.836 128.539H406.82' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M404.828 135.242V141.941' fill='#dfbf9f'/>
|
||||
<path clip-path='url(#clip5)' d='M404.828 135.242V141.941' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M406.824 141.941H402.836' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M115.098 203.937H118.332V136.055H115.098ZM173.766 203.937H177.004V128.539H173.766ZM232.434 203.937H235.672V116.016H232.434ZM291.102 203.937H294.34V78.691H291.102ZM349.774 203.937H353.012V78.691H349.774ZM408.442 203.937H411.68V78.691H408.442Z' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip5)' d='M115.098 203.937H118.332V136.055H115.098ZM173.766 203.937H177.004V128.539H173.766ZM232.434 203.937H235.672V116.016H232.434ZM291.102 203.937H294.34V78.691H291.102ZM349.774 203.937H353.012V78.691H349.774ZM408.442 203.937H411.68V78.691H408.442Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M116.715 136.055V135.93' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip5)' d='M116.715 136.055V135.93' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M114.722 135.93H118.707' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M116.715 136.055V136.18' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip5)' d='M116.715 136.055V136.18' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M118.707 136.18H114.722' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M175.383 128.539V126.723' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip5)' d='M175.383 128.539V126.723' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M173.39 126.723H177.375' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M175.383 128.539V130.355' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip5)' d='M175.383 128.539V130.355' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M177.375 130.355H173.39' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M234.055 116.016V114.449' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip5)' d='M234.055 116.016V114.449' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M232.058 114.449H236.046' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M234.055 116.016V117.582' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip5)' d='M234.055 116.016V117.582' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M236.047 117.582H232.062' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M292.723 78.691V78.691' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip5)' d='M290.73 78.691H294.714' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M292.723 78.691V78.691' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip5)' d='M290.73 78.691H294.714' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M351.391 78.691V78.691' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip5)' d='M349.398 78.691H353.382' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M351.391 78.691V78.691' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip5)' d='M349.398 78.691H353.382' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M410.059 78.691V78.691' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip5)' d='M408.066 78.691H412.05' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M410.059 78.691V78.691' fill='#80bf80'/>
|
||||
<path clip-path='url(#clip5)' d='M408.066 78.691H412.05' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M120.328 203.937H123.563V137.621H120.328ZM178.996 203.937H182.234V197.676H178.996ZM237.664 203.937H240.902V136.43H237.664ZM296.332 203.937H299.57V116.953H296.332ZM355.004 203.937H358.238V197.676H355.004ZM413.672 203.937H416.91V78.691H413.672Z' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip5)' d='M120.328 203.937H123.563V137.621H120.328ZM178.996 203.937H182.234V197.676H178.996ZM237.664 203.937H240.902V136.43H237.664ZM296.332 203.937H299.57V116.953H296.332ZM355.004 203.937H358.238V197.676H355.004ZM413.672 203.937H416.91V78.691H413.672Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M121.945 137.621V137.371' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip5)' d='M121.945 137.621V137.371' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M119.953 137.371H123.938' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M121.945 137.621V137.871' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip5)' d='M121.945 137.621V137.871' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M123.938 137.871H119.953' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M180.613 197.676V197.676' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip5)' d='M178.621 197.676H182.606' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M180.613 197.676V197.676' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip5)' d='M178.621 197.676H182.606' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M239.285 136.43V134.988' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip5)' d='M239.285 136.43V134.988' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M237.289 134.988H241.274' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M239.285 136.43V137.871' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip5)' d='M239.285 136.43V137.871' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M241.278 137.871H237.293' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M297.953 116.953V115.391' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip5)' d='M297.953 116.953V115.391' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M295.961 115.39H299.945' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M297.953 116.953V118.519' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip5)' d='M297.953 116.953V118.519' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M299.946 118.519H295.961' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M356.621 197.676V197.676' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip5)' d='M354.629 197.676H358.613' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M356.621 197.676V197.676' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip5)' d='M354.629 197.676H358.613' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M415.289 78.691V78.691' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip5)' d='M413.297 78.691H417.281' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M415.289 78.691V78.691' fill='#bfbf80'/>
|
||||
<path clip-path='url(#clip5)' d='M413.297 78.691H417.281' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M125.559 203.937H128.793V138.121H125.559ZM184.227 203.937H187.465V132.047H184.227ZM242.895 203.937H246.133V134.426H242.895ZM301.563 203.937H304.801V78.691H301.563ZM360.234 203.937H363.469V78.691H360.234ZM418.902 203.937H422.141V109.254H418.902Z' fill='#339999'/>
|
||||
<path clip-path='url(#clip5)' d='M125.559 203.937H128.793V138.121H125.559ZM184.227 203.937H187.465V132.047H184.227ZM242.895 203.937H246.133V134.426H242.895ZM301.563 203.937H304.801V78.691H301.563ZM360.234 203.937H363.469V78.691H360.234ZM418.902 203.937H422.141V109.254H418.902Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M127.176 138.121V137.934' fill='#339999'/>
|
||||
<path clip-path='url(#clip5)' d='M127.176 138.121V137.934' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M125.183 137.934H129.168' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M127.176 138.121V138.309' fill='#339999'/>
|
||||
<path clip-path='url(#clip5)' d='M127.176 138.121V138.309' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M129.168 138.308H125.183' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M185.844 132.047V131.672' fill='#339999'/>
|
||||
<path clip-path='url(#clip5)' d='M185.844 132.047V131.672' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M183.851 131.672H187.836' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M185.844 132.047V132.422' fill='#339999'/>
|
||||
<path clip-path='url(#clip5)' d='M185.844 132.047V132.422' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M187.836 132.422H183.851' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M244.516 134.426V133.488' fill='#339999'/>
|
||||
<path clip-path='url(#clip5)' d='M244.516 134.426V133.488' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M242.519 133.488H246.504' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M244.516 134.426V135.367' fill='#339999'/>
|
||||
<path clip-path='url(#clip5)' d='M244.516 134.426V135.367' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M246.508 135.367H242.523' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M303.184 78.691V78.691' fill='#339999'/>
|
||||
<path clip-path='url(#clip5)' d='M301.191 78.691H305.175' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M303.184 78.691V78.691' fill='#339999'/>
|
||||
<path clip-path='url(#clip5)' d='M301.191 78.691H305.175' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M361.852 78.691V78.691' fill='#339999'/>
|
||||
<path clip-path='url(#clip5)' d='M359.859 78.691H363.843' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M361.852 78.691V78.691' fill='#339999'/>
|
||||
<path clip-path='url(#clip5)' d='M359.859 78.691H363.843' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M420.52 109.254V107.25' fill='#339999'/>
|
||||
<path clip-path='url(#clip5)' d='M420.52 109.254V107.25' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M418.527 107.25H422.511' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M420.52 109.254V111.258' fill='#339999'/>
|
||||
<path clip-path='url(#clip5)' d='M420.52 109.254V111.258' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M422.512 111.258H418.527' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M130.789 203.937H134.024V139.187H130.789ZM189.457 203.937H192.695V139.312H189.457ZM248.125 203.937H251.363V140.062H248.125ZM306.793 203.937H310.031V126.035H306.793ZM365.465 203.937H368.699V103.176H365.465ZM424.133 203.937H427.371V113.762H424.133Z' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip5)' d='M130.789 203.937H134.024V139.187H130.789ZM189.457 203.937H192.695V139.312H189.457ZM248.125 203.937H251.363V140.062H248.125ZM306.793 203.937H310.031V126.035H306.793ZM365.465 203.937H368.699V103.176H365.465ZM424.133 203.937H427.371V113.762H424.133Z' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M132.406 139.187V138.934' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip5)' d='M132.406 139.187V138.934' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M130.414 138.933H134.399' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M132.406 139.187V139.437' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip5)' d='M132.406 139.187V139.437' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M134.399 139.437H130.414' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M191.074 139.312V139.062' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip5)' d='M191.074 139.312V139.062' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M189.082 139.063H193.067' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M191.074 139.312V139.562' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip5)' d='M191.074 139.312V139.562' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M193.067 139.563H189.082' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M249.746 140.062V138.871' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip5)' d='M249.746 140.062V138.871' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M247.75 138.871H251.735' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M249.746 140.062V141.254' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip5)' d='M249.746 140.062V141.254' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M251.739 141.254H247.754' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M308.414 126.035V125.031' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip5)' d='M308.414 126.035V125.031' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M306.422 125.031H310.407' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M308.414 126.035V127.035' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip5)' d='M308.414 126.035V127.035' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M310.407 127.035H306.422' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M367.082 103.176V101.613' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip5)' d='M367.082 103.176V101.613' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M365.09 101.613H369.074' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M367.082 103.176V104.742' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip5)' d='M367.082 103.176V104.742' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M369.075 104.742H365.09' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M425.75 113.762V105.184' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip5)' d='M425.75 113.762V105.184' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M423.758 105.184H427.742' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M425.75 113.762V122.34' fill='#bf8080'/>
|
||||
<path clip-path='url(#clip5)' d='M425.75 113.762V122.34' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<path clip-path='url(#clip5)' d='M427.743 122.34H423.758' fill='none' stroke='#000000' stroke-miterlimit='10' stroke-width='0.399'/>
|
||||
<g transform='matrix(0 -1 1 0 -91.184 249.777)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -32.515 249.777)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 26.154 249.777)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 84.823 249.777)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 143.492 249.777)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 202.161 249.777)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -85.954 249.339)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -27.284 244.079)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-57' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 31.385 245.269)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-55' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 90.054 187.154)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='120.114' xlink:href='#g2-52' y='183.381'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='124.23' xlink:href='#g2-57' y='183.381'/>
|
||||
<use x='126.877' xlink:href='#g2-52' y='183.381'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 148.723 248.087)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-51' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 207.392 214.208)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-53' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-55' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -80.723 247.899)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-51' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -22.054 248.901)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 36.615 241.386)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-51' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 95.284 187.154)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='120.114' xlink:href='#g2-53' y='183.381'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='124.23' xlink:href='#g2-50' y='183.381'/>
|
||||
<use x='126.877' xlink:href='#g2-50' y='183.381'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 153.953 215.46)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-53' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-53' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 212.622 187.154)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='120.114' xlink:href='#g2-51' y='183.381'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='124.23' xlink:href='#g2-55' y='183.381'/>
|
||||
<use x='126.877' xlink:href='#g2-56' y='183.381'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -75.493 232.807)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-50' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-55' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -16.824 244.204)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-57' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 41.845 214.458)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-53' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-54' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 100.514 206.63)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-54' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-57' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 159.183 231.178)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-51' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 217.852 228.799)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-51' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-52' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -70.262 249.151)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -11.593 249.777)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 47.076 249.089)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 105.745 245.018)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-56' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 164.414 223.914)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-52' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 223.083 243.703)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -65.032 244.517)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-56' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -6.363 237.002)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-50' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 52.306 224.478)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-52' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-48' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 110.975 187.154)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='120.114' xlink:href='#g2-51' y='183.381'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='124.23' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='126.877' xlink:href='#g2-50' y='183.381'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 169.644 187.154)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='120.114' xlink:href='#g2-50' y='183.381'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='124.23' xlink:href='#g2-51' y='183.381'/>
|
||||
<use x='126.877' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 228.313 187.154)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='120.114' xlink:href='#g2-52' y='183.381'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='124.23' xlink:href='#g2-54' y='183.381'/>
|
||||
<use x='126.877' xlink:href='#g2-51' y='183.381'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -59.801 246.083)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-54' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -1.66 306.138)'>
|
||||
<use x='114.487' xlink:href='#g2-120' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 57.537 244.893)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-56' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 116.206 225.417)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-51' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-57' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 174.347 306.138)'>
|
||||
<use x='114.487' xlink:href='#g2-120' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 233.544 187.154)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='120.114' xlink:href='#g2-51' y='183.381'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='124.23' xlink:href='#g2-56' y='183.381'/>
|
||||
<use x='126.877' xlink:href='#g2-53' y='183.381'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -54.571 246.584)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-53' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 4.098 240.509)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-53' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 62.767 242.889)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 121.436 187.154)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='120.114' xlink:href='#g2-51' y='183.381'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='124.23' xlink:href='#g2-50' y='183.381'/>
|
||||
<use x='126.877' xlink:href='#g2-50' y='183.381'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 180.105 187.154)'>
|
||||
<use x='109.598' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='113.103' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='116.608' xlink:href='#g4-1' y='183.381'/>
|
||||
<use x='120.114' xlink:href='#g2-50' y='183.381'/>
|
||||
<use x='122.76' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='124.23' xlink:href='#g2-56' y='183.381'/>
|
||||
<use x='126.877' xlink:href='#g2-56' y='183.381'/>
|
||||
<use x='129.523' xlink:href='#g2-120' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 238.774 217.714)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-53' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -49.34 247.648)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-51' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 9.329 247.773)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-51' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 67.998 248.525)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-48' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-50' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 126.667 234.497)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-50' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-52' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 185.336 211.64)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-54' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-49' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 244.005 222.223)'>
|
||||
<use x='114.487' xlink:href='#g2-49' y='183.381'/>
|
||||
<use x='117.133' xlink:href='#g2-46' y='183.381'/>
|
||||
<use x='118.603' xlink:href='#g2-52' y='183.381'/>
|
||||
<use x='121.25' xlink:href='#g2-52' y='183.381'/>
|
||||
</g>
|
||||
<g transform='matrix(0 -1 1 0 -124.021 311.062)'>
|
||||
<use x='114.487' xlink:href='#g1-82' y='183.381'/>
|
||||
<use x='120.457' xlink:href='#g1-101' y='183.381'/>
|
||||
<use x='124.553' xlink:href='#g1-108' y='183.381'/>
|
||||
<use x='126.753' xlink:href='#g1-97' y='183.381'/>
|
||||
<use x='131.181' xlink:href='#g1-116' y='183.381'/>
|
||||
<use x='134.509' xlink:href='#g1-105' y='183.381'/>
|
||||
<use x='136.709' xlink:href='#g1-118' y='183.381'/>
|
||||
<use x='140.957' xlink:href='#g1-101' y='183.381'/>
|
||||
<use x='148.124' xlink:href='#g1-116' y='183.381'/>
|
||||
<use x='151.452' xlink:href='#g1-105' y='183.381'/>
|
||||
<use x='153.652' xlink:href='#g1-109' y='183.381'/>
|
||||
<use x='160.972' xlink:href='#g1-101' y='183.381'/>
|
||||
<use x='168.139' xlink:href='#g3-40' y='183.381'/>
|
||||
<use x='171.432' xlink:href='#g3-108' y='183.381'/>
|
||||
<use x='173.453' xlink:href='#g3-111' y='183.381'/>
|
||||
<use x='177.452' xlink:href='#g3-119' y='183.381'/>
|
||||
<use x='183' xlink:href='#g3-101' y='183.381'/>
|
||||
<use x='186.764' xlink:href='#g3-114' y='183.381'/>
|
||||
<use x='192.479' xlink:href='#g3-105' y='183.381'/>
|
||||
<use x='194.499' xlink:href='#g3-115' y='183.381'/>
|
||||
<use x='200.568' xlink:href='#g3-98' y='183.381'/>
|
||||
<use x='205.176' xlink:href='#g3-101' y='183.381'/>
|
||||
<use x='208.94' xlink:href='#g3-116' y='183.381'/>
|
||||
<use x='211.998' xlink:href='#g3-116' y='183.381'/>
|
||||
<use x='215.056' xlink:href='#g3-101' y='183.381'/>
|
||||
<use x='218.819' xlink:href='#g3-114' y='183.381'/>
|
||||
<use x='221.711' xlink:href='#g3-41' y='183.381'/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 75 KiB |
1156
doc/bench-r5a-12xlarge-2020-01-16-b.svg
Normal file
1156
doc/bench-r5a-12xlarge-2020-01-16-b.svg
Normal file
File diff suppressed because it is too large
Load diff
After Width: | Height: | Size: 93 KiB |
|
@ -23,18 +23,16 @@ terms of the MIT license. A copy of the license can be found in the file
|
|||
#include <stdatomic.h>
|
||||
#endif
|
||||
|
||||
#define mi_atomic_cast(tp,x) (volatile _Atomic(tp)*)(x)
|
||||
|
||||
// ------------------------------------------------------
|
||||
// Atomic operations specialized for mimalloc
|
||||
// ------------------------------------------------------
|
||||
|
||||
// Atomically add a 64-bit value; returns the previous value.
|
||||
// Note: not using _Atomic(int64_t) as it is only used for statistics.
|
||||
static inline void mi_atomic_add64(volatile int64_t* p, int64_t add);
|
||||
static inline void mi_atomic_addi64(volatile int64_t* p, int64_t add);
|
||||
|
||||
// Atomically add a value; returns the previous value. Memory ordering is relaxed.
|
||||
static inline intptr_t mi_atomic_add(volatile _Atomic(intptr_t)* p, intptr_t add);
|
||||
static inline uintptr_t mi_atomic_add(volatile _Atomic(uintptr_t)* p, uintptr_t add);
|
||||
|
||||
// Atomically "and" a value; returns the previous value. Memory ordering is relaxed.
|
||||
static inline uintptr_t mi_atomic_and(volatile _Atomic(uintptr_t)* p, uintptr_t x);
|
||||
|
@ -42,7 +40,6 @@ static inline uintptr_t mi_atomic_and(volatile _Atomic(uintptr_t)* p, uintptr_t
|
|||
// Atomically "or" a value; returns the previous value. Memory ordering is relaxed.
|
||||
static inline uintptr_t mi_atomic_or(volatile _Atomic(uintptr_t)* p, uintptr_t x);
|
||||
|
||||
|
||||
// Atomically compare and exchange a value; returns `true` if successful.
|
||||
// May fail spuriously. Memory ordering as release on success, and relaxed on failure.
|
||||
// (Note: expected and desired are in opposite order from atomic_compare_exchange)
|
||||
|
@ -69,57 +66,57 @@ static inline void mi_atomic_write(volatile _Atomic(uintptr_t)* p, uintptr_t x);
|
|||
static inline void mi_atomic_yield(void);
|
||||
|
||||
|
||||
|
||||
// Atomically add a value; returns the previous value.
|
||||
static inline uintptr_t mi_atomic_addu(volatile _Atomic(uintptr_t)* p, uintptr_t add) {
|
||||
return (uintptr_t)mi_atomic_add((volatile _Atomic(intptr_t)*)p, (intptr_t)add);
|
||||
}
|
||||
// Atomically subtract a value; returns the previous value.
|
||||
static inline uintptr_t mi_atomic_subu(volatile _Atomic(uintptr_t)* p, uintptr_t sub) {
|
||||
return (uintptr_t)mi_atomic_add((volatile _Atomic(intptr_t)*)p, -((intptr_t)sub));
|
||||
static inline uintptr_t mi_atomic_sub(volatile _Atomic(uintptr_t)* p, uintptr_t sub) {
|
||||
return mi_atomic_add(p, (uintptr_t)(-((intptr_t)sub)));
|
||||
}
|
||||
|
||||
// Atomically increment a value; returns the incremented result.
|
||||
static inline uintptr_t mi_atomic_increment(volatile _Atomic(uintptr_t)* p) {
|
||||
return mi_atomic_addu(p, 1);
|
||||
return mi_atomic_add(p, 1);
|
||||
}
|
||||
|
||||
// Atomically decrement a value; returns the decremented result.
|
||||
static inline uintptr_t mi_atomic_decrement(volatile _Atomic(uintptr_t)* p) {
|
||||
return mi_atomic_subu(p, 1);
|
||||
return mi_atomic_sub(p, 1);
|
||||
}
|
||||
|
||||
// Atomically read a pointer; Memory order is relaxed.
|
||||
static inline void* mi_atomic_read_ptr_relaxed(volatile _Atomic(void*) const * p) {
|
||||
return (void*)mi_atomic_read_relaxed((const volatile _Atomic(uintptr_t)*)p);
|
||||
// Atomically add a signed value; returns the previous value.
|
||||
static inline intptr_t mi_atomic_addi(volatile _Atomic(intptr_t)* p, intptr_t add) {
|
||||
return (intptr_t)mi_atomic_add((volatile _Atomic(uintptr_t)*)p, (uintptr_t)add);
|
||||
}
|
||||
|
||||
// Atomically subtract a signed value; returns the previous value.
|
||||
static inline intptr_t mi_atomic_subi(volatile _Atomic(intptr_t)* p, intptr_t sub) {
|
||||
return (intptr_t)mi_atomic_addi(p,-sub);
|
||||
}
|
||||
|
||||
// Atomically read a pointer; Memory order is relaxed (i.e. no fence, only atomic).
|
||||
#define mi_atomic_read_ptr_relaxed(T,p) \
|
||||
(T*)(mi_atomic_read_relaxed((const volatile _Atomic(uintptr_t)*)(p)))
|
||||
|
||||
// Atomically read a pointer; Memory order is acquire.
|
||||
static inline void* mi_atomic_read_ptr(volatile _Atomic(void*) const * p) {
|
||||
return (void*)mi_atomic_read((const volatile _Atomic(uintptr_t)*)p);
|
||||
}
|
||||
#define mi_atomic_read_ptr(T,p) \
|
||||
(T*)(mi_atomic_read((const volatile _Atomic(uintptr_t)*)(p)))
|
||||
|
||||
// Atomically write a pointer
|
||||
static inline void mi_atomic_write_ptr(volatile _Atomic(void*)* p, void* x) {
|
||||
mi_atomic_write((volatile _Atomic(uintptr_t)*)p, (uintptr_t)x );
|
||||
}
|
||||
// Atomically write a pointer; Memory order is acquire.
|
||||
#define mi_atomic_write_ptr(T,p,x) \
|
||||
mi_atomic_write((volatile _Atomic(uintptr_t)*)(p), (uintptr_t)((T*)x))
|
||||
|
||||
// Atomically compare and exchange a pointer; returns `true` if successful. May fail spuriously.
|
||||
// Memory order is release. (like a write)
|
||||
// (Note: expected and desired are in opposite order from atomic_compare_exchange)
|
||||
static inline bool mi_atomic_cas_ptr_weak(volatile _Atomic(void*)* p, void* desired, void* expected) {
|
||||
return mi_atomic_cas_weak((volatile _Atomic(uintptr_t)*)p, (uintptr_t)desired, (uintptr_t)expected);
|
||||
}
|
||||
#define mi_atomic_cas_ptr_weak(T,p,desired,expected) \
|
||||
mi_atomic_cas_weak((volatile _Atomic(uintptr_t)*)(p), (uintptr_t)((T*)(desired)), (uintptr_t)((T*)(expected)))
|
||||
|
||||
// Atomically compare and exchange a pointer; returns `true` if successful.
|
||||
// Atomically compare and exchange a pointer; returns `true` if successful. Memory order is acquire_release.
|
||||
// (Note: expected and desired are in opposite order from atomic_compare_exchange)
|
||||
static inline bool mi_atomic_cas_ptr_strong(volatile _Atomic(void*)* p, void* desired, void* expected) {
|
||||
return mi_atomic_cas_strong((volatile _Atomic(uintptr_t)*)p, (uintptr_t)desired, (uintptr_t)expected);
|
||||
}
|
||||
#define mi_atomic_cas_ptr_strong(T,p,desired,expected) \
|
||||
mi_atomic_cas_strong((volatile _Atomic(uintptr_t)*)(p),(uintptr_t)((T*)(desired)), (uintptr_t)((T*)(expected)))
|
||||
|
||||
// Atomically exchange a pointer value.
|
||||
static inline void* mi_atomic_exchange_ptr(volatile _Atomic(void*)* p, void* exchange) {
|
||||
return (void*)mi_atomic_exchange((volatile _Atomic(uintptr_t)*)p, (uintptr_t)exchange);
|
||||
}
|
||||
#define mi_atomic_exchange_ptr(T,p,exchange) \
|
||||
(T*)mi_atomic_exchange((volatile _Atomic(uintptr_t)*)(p), (uintptr_t)((T*)exchange))
|
||||
|
||||
|
||||
#ifdef _MSC_VER
|
||||
|
@ -133,8 +130,8 @@ typedef LONG64 msc_intptr_t;
|
|||
typedef LONG msc_intptr_t;
|
||||
#define MI_64(f) f
|
||||
#endif
|
||||
static inline intptr_t mi_atomic_add(volatile _Atomic(intptr_t)* p, intptr_t add) {
|
||||
return (intptr_t)MI_64(_InterlockedExchangeAdd)((volatile msc_intptr_t*)p, (msc_intptr_t)add);
|
||||
static inline uintptr_t mi_atomic_add(volatile _Atomic(uintptr_t)* p, uintptr_t add) {
|
||||
return (uintptr_t)MI_64(_InterlockedExchangeAdd)((volatile msc_intptr_t*)p, (msc_intptr_t)add);
|
||||
}
|
||||
static inline uintptr_t mi_atomic_and(volatile _Atomic(uintptr_t)* p, uintptr_t x) {
|
||||
return (uintptr_t)MI_64(_InterlockedAnd)((volatile msc_intptr_t*)p, (msc_intptr_t)x);
|
||||
|
@ -155,17 +152,21 @@ static inline uintptr_t mi_atomic_read(volatile _Atomic(uintptr_t) const* p) {
|
|||
return *p;
|
||||
}
|
||||
static inline uintptr_t mi_atomic_read_relaxed(volatile _Atomic(uintptr_t) const* p) {
|
||||
return mi_atomic_read(p);
|
||||
return *p;
|
||||
}
|
||||
static inline void mi_atomic_write(volatile _Atomic(uintptr_t)* p, uintptr_t x) {
|
||||
#if defined(_M_IX86) || defined(_M_X64)
|
||||
*p = x;
|
||||
#else
|
||||
mi_atomic_exchange(p,x);
|
||||
#endif
|
||||
}
|
||||
static inline void mi_atomic_yield(void) {
|
||||
YieldProcessor();
|
||||
}
|
||||
static inline void mi_atomic_add64(volatile _Atomic(int64_t)* p, int64_t add) {
|
||||
static inline void mi_atomic_addi64(volatile _Atomic(int64_t)* p, int64_t add) {
|
||||
#ifdef _WIN64
|
||||
mi_atomic_add(p,add);
|
||||
mi_atomic_addi(p,add);
|
||||
#else
|
||||
int64_t current;
|
||||
int64_t sum;
|
||||
|
@ -182,11 +183,11 @@ static inline void mi_atomic_add64(volatile _Atomic(int64_t)* p, int64_t add) {
|
|||
#else
|
||||
#define MI_USING_STD
|
||||
#endif
|
||||
static inline void mi_atomic_add64(volatile int64_t* p, int64_t add) {
|
||||
static inline void mi_atomic_addi64(volatile int64_t* p, int64_t add) {
|
||||
MI_USING_STD
|
||||
atomic_fetch_add_explicit((volatile _Atomic(int64_t)*)p, add, memory_order_relaxed);
|
||||
}
|
||||
static inline intptr_t mi_atomic_add(volatile _Atomic(intptr_t)* p, intptr_t add) {
|
||||
static inline uintptr_t mi_atomic_add(volatile _Atomic(uintptr_t)* p, uintptr_t add) {
|
||||
MI_USING_STD
|
||||
return atomic_fetch_add_explicit(p, add, memory_order_relaxed);
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ terms of the MIT license. A copy of the license can be found in the file
|
|||
#ifndef MIMALLOC_H
|
||||
#define MIMALLOC_H
|
||||
|
||||
#define MI_MALLOC_VERSION 140 // major + 2 digits minor
|
||||
#define MI_MALLOC_VERSION 150 // major + 2 digits minor
|
||||
|
||||
// ------------------------------------------------------
|
||||
// Compiler specific attributes
|
||||
|
|
246
readme.md
246
readme.md
|
@ -11,14 +11,14 @@ mimalloc (pronounced "me-malloc")
|
|||
is a general purpose allocator with excellent [performance](#performance) characteristics.
|
||||
Initially developed by Daan Leijen for the run-time systems of the
|
||||
[Koka](https://github.com/koka-lang/koka) and [Lean](https://github.com/leanprover/lean) languages.
|
||||
Latest release:`v1.4.0` (2020-01-22).
|
||||
|
||||
It is a drop-in replacement for `malloc` and can be used in other programs
|
||||
without code changes, for example, on dynamically linked ELF-based systems (Linux, BSD, etc.) you can use it as:
|
||||
```
|
||||
> LD_PRELOAD=/usr/bin/libmimalloc.so myprogram
|
||||
```
|
||||
|
||||
Notable aspects of the design include:
|
||||
It also has an easy way to override the allocator in [Windows](#override_on_windows). Notable aspects of the design include:
|
||||
|
||||
- __small and consistent__: the library is about 6k LOC using simple and
|
||||
consistent data structures. This makes it very suitable
|
||||
|
@ -45,9 +45,10 @@ Notable aspects of the design include:
|
|||
times (_wcat_), bounded space overhead (~0.2% meta-data, with at most 12.5% waste in allocation sizes),
|
||||
and has no internal points of contention using only atomic operations.
|
||||
- __fast__: In our benchmarks (see [below](#performance)),
|
||||
_mimalloc_ always outperforms all other leading allocators (_jemalloc_, _tcmalloc_, _Hoard_, etc),
|
||||
_mimalloc_ outperforms other leading allocators (_jemalloc_, _tcmalloc_, _Hoard_, etc),
|
||||
and usually uses less memory (up to 25% more in the worst case). A nice property
|
||||
is that it does consistently well over a wide range of benchmarks.
|
||||
is that it does consistently well over a wide range of benchmarks. There is also good huge OS page
|
||||
support for larger server programs.
|
||||
|
||||
The [documentation](https://microsoft.github.io/mimalloc) gives a full overview of the API.
|
||||
You can read more on the design of _mimalloc_ in the [technical report](https://www.microsoft.com/en-us/research/publication/mimalloc-free-list-sharding-in-action) which also has detailed benchmark results.
|
||||
|
@ -56,8 +57,8 @@ Enjoy!
|
|||
|
||||
### Releases
|
||||
|
||||
* 2020-01-XX, `v1.4.0`: stable release 1.4: delayed OS page reset for (much) better performance
|
||||
with page reset enabled, more eager concurrent free, addition of STL allocator.
|
||||
* 2020-01-22, `v1.4.0`: stable release 1.4: improved performance for delayed OS page reset,
|
||||
more eager concurrent free, addition of STL allocator, fixed potential memory leak.
|
||||
* 2020-01-15, `v1.3.0`: stable release 1.3: bug fixes, improved randomness and [stronger
|
||||
free list encoding](https://github.com/microsoft/mimalloc/blob/783e3377f79ee82af43a0793910a9f2d01ac7863/include/mimalloc-internal.h#L396) in secure mode.
|
||||
* 2019-12-22, `v1.2.2`: stable release 1.2: minor updates.
|
||||
|
@ -189,7 +190,7 @@ malloc requested: 32.8 mb
|
|||
The above model of using the `mi_` prefixed API is not always possible
|
||||
though in existing programs that already use the standard malloc interface,
|
||||
and another option is to override the standard malloc interface
|
||||
completely and redirect all calls to the _mimalloc_ library instead.
|
||||
completely and redirect all calls to the _mimalloc_ library instead .
|
||||
|
||||
## Environment Options
|
||||
|
||||
|
@ -208,14 +209,17 @@ or via environment variables.
|
|||
to explicitly allow large OS pages (as on [Windows][windows-huge] and [Linux][linux-huge]). However, sometimes
|
||||
the OS is very slow to reserve contiguous physical memory for large OS pages so use with care on systems that
|
||||
can have fragmented memory (for that reason, we generally recommend to use `MIMALLOC_RESERVE_HUGE_OS_PAGES` instead when possible).
|
||||
- `MIMALLOC_EAGER_REGION_COMMIT=1`: on Windows, commit large (256MiB) regions eagerly. On Windows, these regions
|
||||
<!--
|
||||
- `MIMALLOC_EAGER_REGION_COMMIT=1`: on Windows, commit large (256MiB) regions eagerly. On Windows, these regions
|
||||
show in the working set even though usually just a small part is committed to physical memory. This is why it
|
||||
turned off by default on Windows as it looks not good in the task manager. However, in reality it is always better
|
||||
to turn it on as it improves performance and has no other drawbacks.
|
||||
turned off by default on Windows as it looks not good in the task manager. However, turning it on has no
|
||||
real drawbacks and may improve performance by a little.
|
||||
-->
|
||||
- `MIMALLOC_RESERVE_HUGE_OS_PAGES=N`: where N is the number of 1GiB huge OS pages. This reserves the huge pages at
|
||||
startup and can give quite a performance improvement on long running workloads. Usually it is better to not use
|
||||
startup and can give quite a (latency) performance improvement on long running workloads. Usually it is better to not use
|
||||
`MIMALLOC_LARGE_OS_PAGES` in combination with this setting. Just like large OS pages, use with care as reserving
|
||||
contiguous physical memory can take a long time when memory is fragmented.
|
||||
contiguous physical memory can take a long time when memory is fragmented (but reserving the huge pages is done at
|
||||
startup only once).
|
||||
Note that we usually need to explicitly enable huge OS pages (as on [Windows][windows-huge] and [Linux][linux-huge])). With huge OS pages, it may be beneficial to set the setting
|
||||
`MIMALLOC_EAGER_COMMIT_DELAY=N` (with usually `N` as 1) to delay the initial `N` segments
|
||||
of a thread to not allocate in the huge OS pages; this prevents threads that are short lived
|
||||
|
@ -233,7 +237,7 @@ Overriding the standard `malloc` can be done either _dynamically_ or _statically
|
|||
|
||||
This is the recommended way to override the standard malloc interface.
|
||||
|
||||
### Linux, BSD
|
||||
### Override on Linux, BSD
|
||||
|
||||
On these ELF-based systems we preload the mimalloc shared
|
||||
library so all calls to the standard `malloc` interface are
|
||||
|
@ -252,7 +256,7 @@ or run with the debug version to get detailed statistics:
|
|||
> env MIMALLOC_SHOW_STATS=1 LD_PRELOAD=/usr/lib/libmimalloc-debug.so myprogram
|
||||
```
|
||||
|
||||
### MacOS
|
||||
### Override on MacOS
|
||||
|
||||
On macOS we can also preload the mimalloc shared
|
||||
library so all calls to the standard `malloc` interface are
|
||||
|
@ -267,9 +271,9 @@ the [shell](https://stackoverflow.com/questions/43941322/dyld-insert-libraries-i
|
|||
Note: unfortunately, at this time, dynamic overriding on macOS seems broken but it is
|
||||
actively worked on to fix this (see issue [`#50`](https://github.com/microsoft/mimalloc/issues/50)).
|
||||
|
||||
### Windows
|
||||
### Override on Windows
|
||||
|
||||
Overriding on Windows is robust but requires that you link your program explicitly with
|
||||
<span id="override_on_windows">Overriding on Windows</span> is robust but requires that you link your program explicitly with
|
||||
the mimalloc DLL and use the C-runtime library as a DLL (using the `/MD` or `/MDd` switch).
|
||||
Moreover, you need to ensure the `mimalloc-redirect.dll` (or `mimalloc-redirect32.dll`) is available
|
||||
in the same folder as the main `mimalloc-override.dll` at runtime (as it is a dependency).
|
||||
|
@ -280,7 +284,7 @@ To ensure the mimalloc DLL is loaded at run-time it is easiest to insert some
|
|||
call to the mimalloc API in the `main` function, like `mi_version()`
|
||||
(or use the `/INCLUDE:mi_version` switch on the linker). See the `mimalloc-override-test` project
|
||||
for an example on how to use this. For best performance on Windows with C++, it
|
||||
is highly recommended to also override the `new`/`delete` operations (by including
|
||||
is also recommended to also override the `new`/`delete` operations (by including
|
||||
[`mimalloc-new-delete.h`](https://github.com/microsoft/mimalloc/blob/master/include/mimalloc-new-delete.h) a single(!) source file in your project).
|
||||
|
||||
The environment variable `MIMALLOC_DISABLE_REDIRECT=1` can be used to disable dynamic
|
||||
|
@ -313,68 +317,71 @@ under your control or otherwise mixing of pointers from different heaps may occu
|
|||
|
||||
# Performance
|
||||
|
||||
Last update: 2020-01-20
|
||||
|
||||
We tested _mimalloc_ against many other top allocators over a wide
|
||||
range of benchmarks, ranging from various real world programs to
|
||||
synthetic benchmarks that see how the allocator behaves under more
|
||||
extreme circumstances.
|
||||
extreme circumstances. In our benchmark suite, _mimalloc_ outperforms other leading
|
||||
allocators (_jemalloc_, _tcmalloc_, _Hoard_, etc), and has a similar memory footprint. A nice property is that it
|
||||
does consistently well over the wide range of benchmarks.
|
||||
|
||||
In our benchmarks, _mimalloc_ always outperforms all other leading
|
||||
allocators (_jemalloc_, _tcmalloc_, _Hoard_, etc), and usually uses less
|
||||
memory (up to 25% more in the worst case). A nice property is that it
|
||||
does *consistently* well over the wide range of benchmarks.
|
||||
|
||||
Allocators are interesting as there exists no algorithm that is generally
|
||||
General memory allocators are interesting as there exists no algorithm that is
|
||||
optimal -- for a given allocator one can usually construct a workload
|
||||
where it does not do so well. The goal is thus to find an allocation
|
||||
strategy that performs well over a wide range of benchmarks without
|
||||
suffering from underperformance in less common situations (which is what
|
||||
the second half of our benchmark set tests for).
|
||||
suffering from (too much) underperformance in less common situations.
|
||||
|
||||
We show here only the results on an AMD EPYC system (Apr 2019) -- for
|
||||
specific details and further benchmarks we refer to the [technical report](https://www.microsoft.com/en-us/research/publication/mimalloc-free-list-sharding-in-action).
|
||||
As always, interpret these results with care since some benchmarks test synthetic
|
||||
or uncommon situations that may never apply to your workloads. For example, most
|
||||
allocators do not do well on `xmalloc-testN` but that includes the best
|
||||
industrial allocators like _jemalloc_ and _tcmalloc_ that are used in some of
|
||||
the world's largest systems (like Chrome or FreeBSD).
|
||||
|
||||
The benchmark suite is scripted and available separately
|
||||
We show here only an overview -- for
|
||||
more specific details and further benchmarks we refer to the
|
||||
[technical report](https://www.microsoft.com/en-us/research/publication/mimalloc-free-list-sharding-in-action).
|
||||
The benchmark suite is automated and available separately
|
||||
as [mimalloc-bench](https://github.com/daanx/mimalloc-bench).
|
||||
|
||||
|
||||
## Benchmark Results
|
||||
## Benchmark Results on 36-core Intel
|
||||
|
||||
Testing on a big Amazon EC2 instance ([r5a.4xlarge](https://aws.amazon.com/ec2/instance-types/))
|
||||
consisting of a 16-core AMD EPYC 7000 at 2.5GHz
|
||||
with 128GB ECC memory, running Ubuntu 18.04.1 with LibC 2.27 and GCC 7.3.0.
|
||||
The measured allocators are _mimalloc_ (mi),
|
||||
Google's [_tcmalloc_](https://github.com/gperftools/gperftools) (tc) used in Chrome,
|
||||
[_jemalloc_](https://github.com/jemalloc/jemalloc) (je) by Jason Evans used in Firefox and FreeBSD,
|
||||
[_snmalloc_](https://github.com/microsoft/snmalloc) (sn) by Liétar et al. \[8], [_rpmalloc_](https://github.com/rampantpixels/rpmalloc) (rp) by Mattias Jansson at Rampant Pixels,
|
||||
[_Hoard_](https://github.com/emeryberger/Hoard) by Emery Berger \[1],
|
||||
the system allocator (glibc) (based on _PtMalloc2_), and the Intel thread
|
||||
building blocks [allocator](https://github.com/intel/tbb) (tbb).
|
||||
Testing on a big Amazon EC2 compute instance
|
||||
([c5.18xlarge](https://aws.amazon.com/ec2/instance-types/#Compute_Optimized))
|
||||
consisting of a 72 processor Intel Xeon at 3GHz
|
||||
with 144GiB ECC memory, running Ubuntu 18.04.1 with LibC 2.27 and GCC 7.4.0.
|
||||
The measured allocators are _mimalloc_ (xmi, tag:v1.4.0, page reset enabled)
|
||||
and its secure build as _smi_,
|
||||
Google's [_tcmalloc_](https://github.com/gperftools/gperftools) (tc, tag:gperftools-2.7) used in Chrome,
|
||||
Facebook's [_jemalloc_](https://github.com/jemalloc/jemalloc) (je, tag:5.2.1) by Jason Evans used in Firefox and FreeBSD,
|
||||
the Intel thread building blocks [allocator](https://github.com/intel/tbb) (tbb, tag:2020),
|
||||
[rpmalloc](https://github.com/mjansson/rpmalloc) (rp,tag:1.4.0) by Mattias Jansson,
|
||||
the original scalable [_Hoard_](https://github.com/emeryberger/Hoard) (tag:3.13) allocator by Emery Berger \[1],
|
||||
the memory compacting [_Mesh_](https://github.com/plasma-umass/Mesh) (git:51222e7) allocator by
|
||||
Bobby Powers _et al_ \[8],
|
||||
and finally the default system allocator (glibc, 2.7.0) (based on _PtMalloc2_).
|
||||
|
||||

|
||||

|
||||
<img width="90%" src="doc/bench-c5-18xlarge-2020-01-20-a.svg"/>
|
||||
<img width="90%" src="doc/bench-c5-18xlarge-2020-01-20-b.svg"/>
|
||||
|
||||
Memory usage:
|
||||
Any benchmarks ending in `N` run on all processors in parallel.
|
||||
Results are averaged over 10 runs and reported relative
|
||||
to mimalloc (where 1.2 means it took 1.2× longer to run).
|
||||
The legend also contains the _overall relative score_ between the
|
||||
allocators where 100 points is the maximum if an allocator is fastest on
|
||||
all benchmarks.
|
||||
|
||||

|
||||

|
||||
The single threaded _cfrac_ benchmark by Dave Barrett is an implementation of
|
||||
continued fraction factorization which uses many small short-lived allocations.
|
||||
All allocators do well on such common usage, where _mimalloc_ is just a tad
|
||||
faster than _tcmalloc_ and
|
||||
_jemalloc_.
|
||||
|
||||
(note: the _xmalloc-testN_ memory usage should be disregarded as it
|
||||
allocates more the faster the program runs).
|
||||
|
||||
In the first five benchmarks we can see _mimalloc_ outperforms the other
|
||||
allocators moderately, but we also see that all these modern allocators
|
||||
perform well -- the times of large performance differences in regular
|
||||
workloads are over :-).
|
||||
In _cfrac_ and _espresso_, _mimalloc_ is a tad faster than _tcmalloc_ and
|
||||
_jemalloc_, but a solid 10\% faster than all other allocators on
|
||||
_espresso_. The _tbb_ allocator does not do so well here and lags more than
|
||||
20\% behind _mimalloc_. The _cfrac_ and _espresso_ programs do not use much
|
||||
memory (~1.5MB) so it does not matter too much, but still _mimalloc_ uses
|
||||
about half the resident memory of _tcmalloc_.
|
||||
|
||||
The _leanN_ program is most interesting as a large realistic and
|
||||
concurrent workload of the [Lean](https://github.com/leanprover/lean) theorem prover
|
||||
compiling its own standard library, and there is a 8% speedup over _tcmalloc_. This is
|
||||
The _leanN_ program is interesting as a large realistic and
|
||||
concurrent workload of the [Lean](https://github.com/leanprover/lean)
|
||||
theorem prover compiling its own standard library, and there is a 7%
|
||||
speedup over _tcmalloc_. This is
|
||||
quite significant: if Lean spends 20% of its time in the
|
||||
allocator that means that _mimalloc_ is 1.3× faster than _tcmalloc_
|
||||
here. (This is surprising as that is not measured in a pure
|
||||
|
@ -383,19 +390,23 @@ outsized improvement here because _mimalloc_ has better locality in
|
|||
the allocation which improves performance for the *other* computations
|
||||
in a program as well).
|
||||
|
||||
The _redis_ benchmark shows more differences between the allocators where
|
||||
_mimalloc_ is 14\% faster than _jemalloc_. On this benchmark _tbb_ (and _Hoard_) do
|
||||
not do well and are over 40\% slower.
|
||||
The single threaded _redis_ benchmark again show that most allocators do well on such workloads where _tcmalloc_
|
||||
did best this time.
|
||||
|
||||
The _larson_ server workload allocates and frees objects between
|
||||
many threads. Larson and Krishnan \[2] observe this
|
||||
behavior (which they call _bleeding_) in actual server applications, and the
|
||||
benchmark simulates this.
|
||||
Here, _mimalloc_ is more than 2.5× faster than _tcmalloc_ and _jemalloc_
|
||||
due to the object migration between different threads. This is a difficult
|
||||
benchmark for other allocators too where _mimalloc_ is still 48% faster than the next
|
||||
fastest (_snmalloc_).
|
||||
The _larsonN_ server benchmark by Larson and Krishnan \[2] allocates and frees between threads. They observed this
|
||||
behavior (which they call _bleeding_) in actual server applications, and the benchmark simulates this.
|
||||
Here, _mimalloc_ is quite a bit faster than _tcmalloc_ and _jemalloc_ probably due to the object migration between different threads.
|
||||
|
||||
The _mstressN_ workload performs many allocations and re-allocations,
|
||||
and migrates objects between threads (as in _larsonN_). However, it also
|
||||
creates and destroys the _N_ worker threads a few times keeping some objects
|
||||
alive beyond the life time of the allocating thread. We observed this
|
||||
behavior in many larger server applications.
|
||||
|
||||
The [_rptestN_](https://github.com/mjansson/rpmalloc-benchmark) benchmark
|
||||
by Mattias Jansson is a allocator test originally designed
|
||||
for _rpmalloc_, and tries to simulate realistic allocation patterns over
|
||||
multiple threads. Here the differences between allocators become more apparent.
|
||||
|
||||
The second benchmark set tests specific aspects of the allocators and
|
||||
shows even more extreme differences between them.
|
||||
|
@ -404,46 +415,62 @@ The _alloc-test_, by
|
|||
[OLogN Technologies AG](http://ithare.com/testing-memory-allocators-ptmalloc2-tcmalloc-hoard-jemalloc-while-trying-to-simulate-real-world-loads/), is a very allocation intensive benchmark doing millions of
|
||||
allocations in various size classes. The test is scaled such that when an
|
||||
allocator performs almost identically on _alloc-test1_ as _alloc-testN_ it
|
||||
means that it scales linearly. Here, _tcmalloc_, _snmalloc_, and
|
||||
_Hoard_ seem to scale less well and do more than 10% worse on the
|
||||
multi-core version. Even the best allocators (_tcmalloc_ and _jemalloc_) are
|
||||
more than 10% slower as _mimalloc_ here.
|
||||
means that it scales linearly. Here, _tcmalloc_, and
|
||||
_Hoard_ seem to scale less well and do more than 10% worse on the multi-core version. Even the best industrial
|
||||
allocators (_tcmalloc_, _jemalloc_, and _tbb_) are more than 10% slower as _mimalloc_ here.
|
||||
|
||||
The _sh6bench_ and _sh8bench_ benchmarks are
|
||||
developed by [MicroQuill](http://www.microquill.com/) as part of SmartHeap.
|
||||
In _sh6bench_ _mimalloc_ does much
|
||||
better than the others (more than 2× faster than _jemalloc_).
|
||||
better than the others (more than 1.5× faster than _jemalloc_).
|
||||
We cannot explain this well but believe it is
|
||||
caused in part by the "reverse" free-ing pattern in _sh6bench_.
|
||||
Again in _sh8bench_ the _mimalloc_ allocator handles object migration
|
||||
between threads much better and is over 36% faster than the next best
|
||||
allocator, _snmalloc_. Whereas _tcmalloc_ did well on _sh6bench_, the
|
||||
addition of object migration caused it to be almost 3 times slower
|
||||
than before.
|
||||
The _sh8bench_ is a variation with object migration
|
||||
between threads; whereas _tcmalloc_ did well on _sh6bench_, the addition of object migration causes it to be 10× slower than before.
|
||||
|
||||
The _xmalloc-testN_ benchmark by Lever and Boreham \[5] and Christian Eder,
|
||||
simulates an asymmetric workload where
|
||||
some threads only allocate, and others only free. The _snmalloc_
|
||||
allocator was especially developed to handle this case well as it
|
||||
often occurs in concurrent message passing systems (like the [Pony] language
|
||||
for which _snmalloc_ was initially developed). Here we see that
|
||||
The _xmalloc-testN_ benchmark by Lever and Boreham \[5] and Christian Eder, simulates an asymmetric workload where
|
||||
some threads only allocate, and others only free -- they observed this pattern in
|
||||
larger server applications. Here we see that
|
||||
the _mimalloc_ technique of having non-contended sharded thread free
|
||||
lists pays off as it even outperforms _snmalloc_ here.
|
||||
Only _jemalloc_ also handles this reasonably well, while the
|
||||
others underperform by a large margin.
|
||||
lists pays off as it outperforms others by a very large margin. Only _rpmalloc_ and _tbb_ also scale well on this benchmark.
|
||||
|
||||
The _cache-scratch_ benchmark by Emery Berger \[1], and introduced with the Hoard
|
||||
allocator to test for _passive-false_ sharing of cache lines. With a single thread they all
|
||||
The _cache-scratch_ benchmark by Emery Berger \[1], and introduced with
|
||||
the Hoard allocator to test for _passive-false_ sharing of cache lines.
|
||||
With a single thread they all
|
||||
perform the same, but when running with multiple threads the potential allocator
|
||||
induced false sharing of the cache lines causes large run-time
|
||||
differences, where _mimalloc_ is more than 18× faster than _jemalloc_ and
|
||||
_tcmalloc_! Crundal \[6] describes in detail why the false cache line
|
||||
sharing occurs in the _tcmalloc_ design, and also discusses how this
|
||||
induced false sharing of the cache lines can cause large run-time differences.
|
||||
Crundal \[6] describes in detail why the false cache line sharing occurs in the _tcmalloc_ design, and also discusses how this
|
||||
can be avoided with some small implementation changes.
|
||||
Only _snmalloc_ and _tbb_ also avoid the
|
||||
cache line sharing like _mimalloc_. Kukanov and Voss \[7] describe in detail
|
||||
Only the _tbb_, _rpmalloc_ and _mesh_ allocators also avoid the
|
||||
cache line sharing completely, while _Hoard_ and _glibc_ seem to mitigate
|
||||
the effects. Kukanov and Voss \[7] describe in detail
|
||||
how the design of _tbb_ avoids the false cache line sharing.
|
||||
|
||||
## On 24-core AMD Epyc
|
||||
|
||||
For completeness, here are the results on a
|
||||
[r5a.12xlarge](https://aws.amazon.com/ec2/instance-types/#Memory_Optimized) instance
|
||||
having a 48 processor AMD Epyc 7000 at 2.5GHz with 384GiB of memory.
|
||||
The results are similar to the Intel results but it is interesting to
|
||||
see the differences in the _larsonN_, _mstressN_, and _xmalloc-testN_ benchmarks.
|
||||
|
||||
<img width="90%" src="doc/bench-r5a-12xlarge-2020-01-16-a.svg"/>
|
||||
<img width="90%" src="doc/bench-r5a-12xlarge-2020-01-16-b.svg"/>
|
||||
|
||||
|
||||
## Peak Working Set
|
||||
|
||||
The following figure shows the peak working set (rss) of the allocators
|
||||
on the benchmarks (on the c5.18xlarge instance).
|
||||
|
||||
<img width="90%" src="doc/bench-c5-18xlarge-2020-01-20-rss-a.svg"/>
|
||||
<img width="90%" src="doc/bench-c5-18xlarge-2020-01-20-rss-b.svg"/>
|
||||
|
||||
Note that the _xmalloc-testN_ memory usage should be disregarded as it
|
||||
allocates more the faster the program runs. Similarly, memory usage of
|
||||
_mstressN_, _rptestN_ and _sh8bench_ can vary depending on scheduling and
|
||||
speed. Nevertheless, even though _mimalloc_ is fast on these benchmarks we
|
||||
believe the memory usage is too high and hope to improve.
|
||||
|
||||
|
||||
# References
|
||||
|
@ -453,14 +480,12 @@ how the design of _tbb_ avoids the false cache line sharing.
|
|||
the Ninth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-IX). Cambridge, MA, November 2000.
|
||||
[pdf](http://www.cs.utexas.edu/users/mckinley/papers/asplos-2000.pdf)
|
||||
|
||||
|
||||
- \[2] P. Larson and M. Krishnan. _Memory allocation for long-running server applications_. In ISMM, Vancouver, B.C., Canada, 1998.
|
||||
[pdf](http://citeseer.ist.psu.edu/viewdoc/download;jsessionid=5F0BFB4F57832AEB6C11BF8257271088?doi=10.1.1.45.1947&rep=rep1&type=pdf)
|
||||
- \[2] P. Larson and M. Krishnan. _Memory allocation for long-running server applications_.
|
||||
In ISMM, Vancouver, B.C., Canada, 1998. [pdf](http://citeseer.ist.psu.edu/viewdoc/download?doi=10.1.1.45.1947&rep=rep1&type=pdf)
|
||||
|
||||
- \[3] D. Grunwald, B. Zorn, and R. Henderson.
|
||||
_Improving the cache locality of memory allocation_. In R. Cartwright, editor,
|
||||
Proceedings of the Conference on Programming Language Design and Implementation, pages 177–186, New York, NY, USA, June 1993.
|
||||
[pdf](http://citeseer.ist.psu.edu/viewdoc/download?doi=10.1.1.43.6621&rep=rep1&type=pdf)
|
||||
Proceedings of the Conference on Programming Language Design and Implementation, pages 177–186, New York, NY, USA, June 1993. [pdf](http://citeseer.ist.psu.edu/viewdoc/download?doi=10.1.1.43.6621&rep=rep1&type=pdf)
|
||||
|
||||
- \[4] J. Barnes and P. Hut. _A hierarchical O(n*log(n)) force-calculation algorithm_. Nature, 324:446-449, 1986.
|
||||
|
||||
|
@ -468,17 +493,22 @@ how the design of _tbb_ avoids the false cache line sharing.
|
|||
In USENIX Annual Technical Conference, Freenix Session. San Diego, CA. Jun. 2000.
|
||||
Available at <https://github.com/kuszmaul/SuperMalloc/tree/master/tests>
|
||||
|
||||
- \[6] Timothy Crundal. _Reducing Active-False Sharing in TCMalloc._
|
||||
2016. <http://courses.cecs.anu.edu.au/courses/CSPROJECTS/16S1/Reports/Timothy_Crundal_Report.pdf>. CS16S1 project at the Australian National University.
|
||||
- \[6] Timothy Crundal. _Reducing Active-False Sharing in TCMalloc_. 2016. CS16S1 project at the Australian National University. [pdf](http://courses.cecs.anu.edu.au/courses/CSPROJECTS/16S1/Reports/Timothy_Crundal_Report.pdf)
|
||||
|
||||
- \[7] Alexey Kukanov, and Michael J Voss.
|
||||
_The Foundations for Scalable Multi-Core Software in Intel Threading Building Blocks._
|
||||
Intel Technology Journal 11 (4). 2007
|
||||
|
||||
- \[8] Paul Liétar, Theodore Butler, Sylvan Clebsch, Sophia Drossopoulou, Juliana Franco, Matthew J Parkinson,
|
||||
- \[8] Bobby Powers, David Tench, Emery D. Berger, and Andrew McGregor.
|
||||
_Mesh: Compacting Memory Management for C/C++_
|
||||
In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'19), June 2019, pages 333-–346.
|
||||
|
||||
<!--
|
||||
- \[9] Paul Liétar, Theodore Butler, Sylvan Clebsch, Sophia Drossopoulou, Juliana Franco, Matthew J Parkinson,
|
||||
Alex Shamis, Christoph M Wintersteiger, and David Chisnall.
|
||||
_Snmalloc: A Message Passing Allocator._
|
||||
In Proceedings of the 2019 ACM SIGPLAN International Symposium on Memory Management, 122–135. ACM. 2019.
|
||||
-->
|
||||
|
||||
|
||||
# Contributing
|
||||
|
|
|
@ -240,9 +240,9 @@ static mi_decl_noinline void _mi_free_block_mt(mi_page_t* page, mi_block_t* bloc
|
|||
// add to the delayed free list of this heap. (do this atomically as the lock only protects heap memory validity)
|
||||
mi_block_t* dfree;
|
||||
do {
|
||||
dfree = (mi_block_t*)heap->thread_delayed_free;
|
||||
dfree = mi_atomic_read_ptr_relaxed(mi_block_t,&heap->thread_delayed_free);
|
||||
mi_block_set_nextx(heap,block,dfree, heap->key[0], heap->key[1]);
|
||||
} while (!mi_atomic_cas_ptr_weak(mi_atomic_cast(void*,&heap->thread_delayed_free), block, dfree));
|
||||
} while (!mi_atomic_cas_ptr_weak(mi_block_t,&heap->thread_delayed_free, block, dfree));
|
||||
}
|
||||
|
||||
// and reset the MI_DELAYED_FREEING flag
|
||||
|
|
18
src/arena.c
18
src/arena.c
|
@ -62,7 +62,7 @@ typedef uintptr_t mi_block_info_t;
|
|||
|
||||
// A memory arena descriptor
|
||||
typedef struct mi_arena_s {
|
||||
uint8_t* start; // the start of the memory area
|
||||
_Atomic(uint8_t*) start; // the start of the memory area
|
||||
size_t block_count; // size of the area in arena blocks (of `MI_ARENA_BLOCK_SIZE`)
|
||||
size_t field_count; // number of bitmap fields (where `field_count * MI_BITMAP_FIELD_BITS >= block_count`)
|
||||
int numa_node; // associated NUMA node
|
||||
|
@ -327,7 +327,7 @@ void* _mi_arena_alloc_aligned(size_t size, size_t alignment,
|
|||
mi_assert_internal(size <= bcount*MI_ARENA_BLOCK_SIZE);
|
||||
// try numa affine allocation
|
||||
for (size_t i = 0; i < MI_MAX_ARENAS; i++) {
|
||||
mi_arena_t* arena = (mi_arena_t*)mi_atomic_read_ptr_relaxed(mi_atomic_cast(void*, &mi_arenas[i]));
|
||||
mi_arena_t* arena = mi_atomic_read_ptr_relaxed(mi_arena_t, &mi_arenas[i]);
|
||||
if (arena==NULL) break; // end reached
|
||||
if ((arena->numa_node<0 || arena->numa_node==numa_node) && // numa local?
|
||||
(*large || !arena->is_large)) // large OS pages allowed, or arena is not large OS pages
|
||||
|
@ -339,7 +339,7 @@ void* _mi_arena_alloc_aligned(size_t size, size_t alignment,
|
|||
}
|
||||
// try from another numa node instead..
|
||||
for (size_t i = 0; i < MI_MAX_ARENAS; i++) {
|
||||
mi_arena_t* arena = (mi_arena_t*)mi_atomic_read_ptr_relaxed(mi_atomic_cast(void*, &mi_arenas[i]));
|
||||
mi_arena_t* arena = mi_atomic_read_ptr_relaxed(mi_arena_t, &mi_arenas[i]);
|
||||
if (arena==NULL) break; // end reached
|
||||
if ((arena->numa_node>=0 && arena->numa_node!=numa_node) && // not numa local!
|
||||
(*large || !arena->is_large)) // large OS pages allowed, or arena is not large OS pages
|
||||
|
@ -388,7 +388,7 @@ void _mi_arena_free(void* p, size_t size, size_t memid, bool is_committed, bool
|
|||
size_t bitmap_idx;
|
||||
mi_arena_id_indices(memid, &arena_idx, &bitmap_idx);
|
||||
mi_assert_internal(arena_idx < MI_MAX_ARENAS);
|
||||
mi_arena_t* arena = (mi_arena_t*)mi_atomic_read_ptr_relaxed(mi_atomic_cast(void*, &mi_arenas[arena_idx]));
|
||||
mi_arena_t* arena = mi_atomic_read_ptr_relaxed(mi_arena_t,&mi_arenas[arena_idx]);
|
||||
mi_assert_internal(arena != NULL);
|
||||
if (arena == NULL) {
|
||||
_mi_error_message(EINVAL, "trying to free from non-existent arena: %p, size %zu, memid: 0x%zx\n", p, size, memid);
|
||||
|
@ -414,15 +414,15 @@ void _mi_arena_free(void* p, size_t size, size_t memid, bool is_committed, bool
|
|||
|
||||
static bool mi_arena_add(mi_arena_t* arena) {
|
||||
mi_assert_internal(arena != NULL);
|
||||
mi_assert_internal((uintptr_t)arena->start % MI_SEGMENT_ALIGN == 0);
|
||||
mi_assert_internal((uintptr_t)mi_atomic_read_ptr_relaxed(uint8_t,&arena->start) % MI_SEGMENT_ALIGN == 0);
|
||||
mi_assert_internal(arena->block_count > 0);
|
||||
|
||||
uintptr_t i = mi_atomic_addu(&mi_arena_count,1);
|
||||
uintptr_t i = mi_atomic_increment(&mi_arena_count);
|
||||
if (i >= MI_MAX_ARENAS) {
|
||||
mi_atomic_subu(&mi_arena_count, 1);
|
||||
mi_atomic_decrement(&mi_arena_count);
|
||||
return false;
|
||||
}
|
||||
mi_atomic_write_ptr(mi_atomic_cast(void*,&mi_arenas[i]), arena);
|
||||
mi_atomic_write_ptr(mi_arena_t,&mi_arenas[i], arena);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -444,7 +444,7 @@ int mi_reserve_huge_os_pages_at(size_t pages, int numa_node, size_t timeout_msec
|
|||
_mi_warning_message("failed to reserve %zu gb huge pages\n", pages);
|
||||
return ENOMEM;
|
||||
}
|
||||
_mi_verbose_message("reserved %zu gb huge pages (of the %zu gb requested)\n", pages_reserved, pages);
|
||||
_mi_verbose_message("reserved %zu gb huge pages on numa node %i (of the %zu gb requested)\n", pages_reserved, numa_node, pages);
|
||||
|
||||
size_t bcount = mi_block_count_of_size(hsize);
|
||||
size_t fields = _mi_divide_up(bcount, MI_BITMAP_FIELD_BITS);
|
||||
|
|
|
@ -147,7 +147,7 @@ static void mi_heap_collect_ex(mi_heap_t* heap, mi_collect_t collect)
|
|||
|
||||
// collect all pages owned by this thread
|
||||
mi_heap_visit_pages(heap, &mi_heap_page_collect, &collect, NULL);
|
||||
mi_assert_internal( collect != ABANDON || heap->thread_delayed_free == NULL );
|
||||
mi_assert_internal( collect != ABANDON || mi_atomic_read_ptr(mi_block_t,&heap->thread_delayed_free) == NULL );
|
||||
|
||||
// collect segment caches
|
||||
if (collect >= FORCE) {
|
||||
|
|
14
src/memory.c
14
src/memory.c
|
@ -125,7 +125,7 @@ bool mi_is_in_heap_region(const void* p) mi_attr_noexcept {
|
|||
if (p==NULL) return false;
|
||||
size_t count = mi_atomic_read_relaxed(®ions_count);
|
||||
for (size_t i = 0; i < count; i++) {
|
||||
uint8_t* start = (uint8_t*)mi_atomic_read_ptr_relaxed(®ions[i].start);
|
||||
uint8_t* start = mi_atomic_read_ptr_relaxed(uint8_t,®ions[i].start);
|
||||
if (start != NULL && (uint8_t*)p >= start && (uint8_t*)p < start + MI_REGION_SIZE) return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -133,9 +133,9 @@ bool mi_is_in_heap_region(const void* p) mi_attr_noexcept {
|
|||
|
||||
|
||||
static void* mi_region_blocks_start(const mem_region_t* region, mi_bitmap_index_t bit_idx) {
|
||||
void* start = mi_atomic_read_ptr(®ion->start);
|
||||
uint8_t* start = mi_atomic_read_ptr(uint8_t,®ion->start);
|
||||
mi_assert_internal(start != NULL);
|
||||
return ((uint8_t*)start + (bit_idx * MI_SEGMENT_SIZE));
|
||||
return (start + (bit_idx * MI_SEGMENT_SIZE));
|
||||
}
|
||||
|
||||
static size_t mi_memid_create(mem_region_t* region, mi_bitmap_index_t bit_idx) {
|
||||
|
@ -200,7 +200,7 @@ static bool mi_region_try_alloc_os(size_t blocks, bool commit, bool allow_large,
|
|||
mi_atomic_write(&r->reset, 0);
|
||||
*bit_idx = 0;
|
||||
mi_bitmap_claim(&r->in_use, 1, blocks, *bit_idx, NULL);
|
||||
mi_atomic_write_ptr(&r->start, start);
|
||||
mi_atomic_write_ptr(uint8_t*,&r->start, start);
|
||||
|
||||
// and share it
|
||||
mi_region_info_t info;
|
||||
|
@ -277,14 +277,14 @@ static void* mi_region_try_alloc(size_t blocks, bool* commit, bool* is_large, bo
|
|||
|
||||
mi_region_info_t info;
|
||||
info.value = mi_atomic_read(®ion->info);
|
||||
void* start = mi_atomic_read_ptr(®ion->start);
|
||||
uint8_t* start = mi_atomic_read_ptr(uint8_t,®ion->start);
|
||||
mi_assert_internal(!(info.x.is_large && !*is_large));
|
||||
mi_assert_internal(start != NULL);
|
||||
|
||||
*is_zero = mi_bitmap_unclaim(®ion->dirty, 1, blocks, bit_idx);
|
||||
*is_large = info.x.is_large;
|
||||
*memid = mi_memid_create(region, bit_idx);
|
||||
void* p = (uint8_t*)start + (mi_bitmap_index_bit_in_field(bit_idx) * MI_SEGMENT_SIZE);
|
||||
void* p = start + (mi_bitmap_index_bit_in_field(bit_idx) * MI_SEGMENT_SIZE);
|
||||
|
||||
// commit
|
||||
if (*commit) {
|
||||
|
@ -446,7 +446,7 @@ void _mi_mem_collect(mi_os_tld_t* tld) {
|
|||
} while(m == 0 && !mi_atomic_cas_weak(®ion->in_use, MI_BITMAP_FIELD_FULL, 0 ));
|
||||
if (m == 0) {
|
||||
// on success, free the whole region
|
||||
void* start = mi_atomic_read_ptr(®ions[i].start);
|
||||
uint8_t* start = mi_atomic_read_ptr(uint8_t,®ions[i].start);
|
||||
size_t arena_memid = mi_atomic_read_relaxed(®ions[i].arena_memid);
|
||||
memset(®ions[i], 0, sizeof(mem_region_t));
|
||||
// and release the whole region
|
||||
|
|
|
@ -171,7 +171,7 @@ static void mi_out_buf(const char* msg, void* arg) {
|
|||
size_t n = strlen(msg);
|
||||
if (n==0) return;
|
||||
// claim space
|
||||
uintptr_t start = mi_atomic_addu(&out_len, n);
|
||||
uintptr_t start = mi_atomic_add(&out_len, n);
|
||||
if (start >= MI_MAX_DELAY_OUTPUT) return;
|
||||
// check bound
|
||||
if (start+n >= MI_MAX_DELAY_OUTPUT) {
|
||||
|
@ -183,7 +183,7 @@ static void mi_out_buf(const char* msg, void* arg) {
|
|||
static void mi_out_buf_flush(mi_output_fun* out, bool no_more_buf, void* arg) {
|
||||
if (out==NULL) return;
|
||||
// claim (if `no_more_buf == true`, no more output will be added after this point)
|
||||
size_t count = mi_atomic_addu(&out_len, (no_more_buf ? MI_MAX_DELAY_OUTPUT : 1));
|
||||
size_t count = mi_atomic_add(&out_len, (no_more_buf ? MI_MAX_DELAY_OUTPUT : 1));
|
||||
// and output the current contents
|
||||
if (count>MI_MAX_DELAY_OUTPUT) count = MI_MAX_DELAY_OUTPUT;
|
||||
out_buf[count] = 0;
|
||||
|
@ -214,14 +214,14 @@ static mi_output_fun* volatile mi_out_default; // = NULL
|
|||
static volatile _Atomic(void*) mi_out_arg; // = NULL
|
||||
|
||||
static mi_output_fun* mi_out_get_default(void** parg) {
|
||||
if (parg != NULL) { *parg = mi_atomic_read_ptr(&mi_out_arg); }
|
||||
if (parg != NULL) { *parg = mi_atomic_read_ptr(void,&mi_out_arg); }
|
||||
mi_output_fun* out = mi_out_default;
|
||||
return (out == NULL ? &mi_out_buf : out);
|
||||
}
|
||||
|
||||
void mi_register_output(mi_output_fun* out, void* arg) mi_attr_noexcept {
|
||||
mi_out_default = (out == NULL ? &mi_out_stderr : out); // stop using the delayed output buffer
|
||||
mi_atomic_write_ptr(&mi_out_arg, arg);
|
||||
mi_atomic_write_ptr(void,&mi_out_arg, arg);
|
||||
if (out!=NULL) mi_out_buf_flush(out,true,arg); // output all the delayed output now
|
||||
}
|
||||
|
||||
|
@ -330,7 +330,7 @@ static void mi_error_default(int err) {
|
|||
|
||||
void mi_register_error(mi_error_fun* fun, void* arg) {
|
||||
mi_error_handler = fun; // can be NULL
|
||||
mi_atomic_write_ptr(&mi_error_arg, arg);
|
||||
mi_atomic_write_ptr(void,&mi_error_arg, arg);
|
||||
}
|
||||
|
||||
void _mi_error_message(int err, const char* fmt, ...) {
|
||||
|
@ -341,7 +341,7 @@ void _mi_error_message(int err, const char* fmt, ...) {
|
|||
va_end(args);
|
||||
// and call the error handler which may abort (or return normally)
|
||||
if (mi_error_handler != NULL) {
|
||||
mi_error_handler(err, mi_atomic_read_ptr(&mi_error_arg));
|
||||
mi_error_handler(err, mi_atomic_read_ptr(void,&mi_error_arg));
|
||||
}
|
||||
else {
|
||||
mi_error_default(err);
|
||||
|
|
8
src/os.c
8
src/os.c
|
@ -396,20 +396,20 @@ static void* mi_unix_mmap(void* addr, size_t size, size_t try_alignment, int pro
|
|||
// On 64-bit systems, we can do efficient aligned allocation by using
|
||||
// the 4TiB to 30TiB area to allocate them.
|
||||
#if (MI_INTPTR_SIZE >= 8) && (defined(_WIN32) || (defined(MI_OS_USE_MMAP) && !defined(MAP_ALIGNED)))
|
||||
static volatile _Atomic(intptr_t) aligned_base;
|
||||
static volatile _Atomic(uintptr_t) aligned_base;
|
||||
|
||||
// Return a 4MiB aligned address that is probably available
|
||||
static void* mi_os_get_aligned_hint(size_t try_alignment, size_t size) {
|
||||
if (try_alignment == 0 || try_alignment > MI_SEGMENT_SIZE) return NULL;
|
||||
if ((size%MI_SEGMENT_SIZE) != 0) return NULL;
|
||||
intptr_t hint = mi_atomic_add(&aligned_base, size);
|
||||
uintptr_t hint = mi_atomic_add(&aligned_base, size);
|
||||
if (hint == 0 || hint > ((intptr_t)30<<40)) { // try to wrap around after 30TiB (area after 32TiB is used for huge OS pages)
|
||||
intptr_t init = ((intptr_t)4 << 40); // start at 4TiB area
|
||||
uintptr_t init = ((uintptr_t)4 << 40); // start at 4TiB area
|
||||
#if (MI_SECURE>0 || MI_DEBUG==0) // security: randomize start of aligned allocations unless in debug mode
|
||||
uintptr_t r = _mi_heap_random_next(mi_get_default_heap());
|
||||
init = init + (MI_SEGMENT_SIZE * ((r>>17) & 0xFFFFF)); // (randomly 20 bits)*4MiB == 0 to 4TiB
|
||||
#endif
|
||||
mi_atomic_cas_strong(mi_atomic_cast(uintptr_t, &aligned_base), init, hint + size);
|
||||
mi_atomic_cas_strong(&aligned_base, init, hint + size);
|
||||
hint = mi_atomic_add(&aligned_base, size); // this may still give 0 or > 30TiB but that is ok, it is a hint after all
|
||||
}
|
||||
if (hint%try_alignment != 0) return NULL;
|
||||
|
|
16
src/page.c
16
src/page.c
|
@ -131,7 +131,7 @@ void _mi_page_use_delayed_free(mi_page_t* page, mi_delayed_t delay, bool overrid
|
|||
tfreex = mi_tf_set_delayed(tfree, delay);
|
||||
old_delay = mi_tf_delayed(tfree);
|
||||
if (mi_unlikely(old_delay == MI_DELAYED_FREEING)) {
|
||||
// mi_atomic_yield(); // delay until outstanding MI_DELAYED_FREEING are done.
|
||||
mi_atomic_yield(); // delay until outstanding MI_DELAYED_FREEING are done.
|
||||
tfree = mi_tf_set_delayed(tfree, MI_NO_DELAYED_FREE); // will cause CAS to busy fail
|
||||
}
|
||||
else if (delay == old_delay) {
|
||||
|
@ -281,11 +281,11 @@ static mi_page_t* mi_page_fresh(mi_heap_t* heap, mi_page_queue_t* pq) {
|
|||
(put there by other threads if they deallocated in a full page)
|
||||
----------------------------------------------------------- */
|
||||
void _mi_heap_delayed_free(mi_heap_t* heap) {
|
||||
// take over the list
|
||||
// take over the list (note: no atomic exchange is it is often NULL)
|
||||
mi_block_t* block;
|
||||
do {
|
||||
block = (mi_block_t*)heap->thread_delayed_free;
|
||||
} while (block != NULL && !mi_atomic_cas_ptr_weak(mi_atomic_cast(void*,&heap->thread_delayed_free), NULL, block));
|
||||
block = mi_atomic_read_ptr_relaxed(mi_block_t,&heap->thread_delayed_free);
|
||||
} while (block != NULL && !mi_atomic_cas_ptr_weak(mi_block_t,&heap->thread_delayed_free, NULL, block));
|
||||
|
||||
// and free them all
|
||||
while(block != NULL) {
|
||||
|
@ -296,9 +296,9 @@ void _mi_heap_delayed_free(mi_heap_t* heap) {
|
|||
// reset the delayed_freeing flag; in that case delay it further by reinserting.
|
||||
mi_block_t* dfree;
|
||||
do {
|
||||
dfree = (mi_block_t*)heap->thread_delayed_free;
|
||||
dfree = mi_atomic_read_ptr_relaxed(mi_block_t,&heap->thread_delayed_free);
|
||||
mi_block_set_nextx(heap, block, dfree, heap->key[0], heap->key[1]);
|
||||
} while (!mi_atomic_cas_ptr_weak(mi_atomic_cast(void*,&heap->thread_delayed_free), block, dfree));
|
||||
} while (!mi_atomic_cas_ptr_weak(mi_block_t,&heap->thread_delayed_free, block, dfree));
|
||||
}
|
||||
block = next;
|
||||
}
|
||||
|
@ -740,14 +740,14 @@ void _mi_deferred_free(mi_heap_t* heap, bool force) {
|
|||
heap->tld->heartbeat++;
|
||||
if (deferred_free != NULL && !heap->tld->recurse) {
|
||||
heap->tld->recurse = true;
|
||||
deferred_free(force, heap->tld->heartbeat, mi_atomic_read_ptr_relaxed(&deferred_arg));
|
||||
deferred_free(force, heap->tld->heartbeat, mi_atomic_read_ptr_relaxed(void,&deferred_arg));
|
||||
heap->tld->recurse = false;
|
||||
}
|
||||
}
|
||||
|
||||
void mi_register_deferred_free(mi_deferred_free_fun* fn, void* arg) mi_attr_noexcept {
|
||||
deferred_free = fn;
|
||||
mi_atomic_write_ptr(&deferred_arg, arg);
|
||||
mi_atomic_write_ptr(void,&deferred_arg, arg);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -853,7 +853,7 @@ static void mi_segments_prepend_abandoned(mi_segment_t* first) {
|
|||
if (first == NULL) return;
|
||||
|
||||
// first try if the abandoned list happens to be NULL
|
||||
if (mi_atomic_cas_ptr_weak(mi_atomic_cast(void*, &abandoned), first, NULL)) return;
|
||||
if (mi_atomic_cas_ptr_weak(mi_segment_t, &abandoned, first, NULL)) return;
|
||||
|
||||
// if not, find the end of the list
|
||||
mi_segment_t* last = first;
|
||||
|
@ -864,9 +864,9 @@ static void mi_segments_prepend_abandoned(mi_segment_t* first) {
|
|||
// and atomically prepend
|
||||
mi_segment_t* next;
|
||||
do {
|
||||
next = (mi_segment_t*)mi_atomic_read_ptr_relaxed(mi_atomic_cast(void*, &abandoned));
|
||||
next = mi_atomic_read_ptr_relaxed(mi_segment_t,&abandoned);
|
||||
last->abandoned_next = next;
|
||||
} while (!mi_atomic_cas_ptr_weak(mi_atomic_cast(void*, &abandoned), first, next));
|
||||
} while (!mi_atomic_cas_ptr_weak(mi_segment_t, &abandoned, first, next));
|
||||
}
|
||||
|
||||
static void mi_segment_abandon(mi_segment_t* segment, mi_segments_tld_t* tld) {
|
||||
|
@ -918,9 +918,9 @@ void _mi_segment_page_abandon(mi_page_t* page, mi_segments_tld_t* tld) {
|
|||
|
||||
bool _mi_segment_try_reclaim_abandoned( mi_heap_t* heap, bool try_all, mi_segments_tld_t* tld) {
|
||||
// To avoid the A-B-A problem, grab the entire list atomically
|
||||
mi_segment_t* segment = (mi_segment_t*)mi_atomic_read_ptr_relaxed(mi_atomic_cast(void*, &abandoned)); // pre-read to avoid expensive atomic operations
|
||||
mi_segment_t* segment = mi_atomic_read_ptr_relaxed(mi_segment_t,&abandoned); // pre-read to avoid expensive atomic operations
|
||||
if (segment == NULL) return false;
|
||||
segment = (mi_segment_t*)mi_atomic_exchange_ptr(mi_atomic_cast(void*, &abandoned), NULL);
|
||||
segment = mi_atomic_exchange_ptr(mi_segment_t, &abandoned, NULL);
|
||||
if (segment == NULL) return false;
|
||||
|
||||
// we got a non-empty list
|
||||
|
|
22
src/stats.c
22
src/stats.c
|
@ -26,13 +26,13 @@ static void mi_stat_update(mi_stat_count_t* stat, int64_t amount) {
|
|||
if (mi_is_in_main(stat))
|
||||
{
|
||||
// add atomically (for abandoned pages)
|
||||
mi_atomic_add64(&stat->current,amount);
|
||||
mi_atomic_addi64(&stat->current,amount);
|
||||
if (stat->current > stat->peak) stat->peak = stat->current; // racing.. it's ok
|
||||
if (amount > 0) {
|
||||
mi_atomic_add64(&stat->allocated,amount);
|
||||
mi_atomic_addi64(&stat->allocated,amount);
|
||||
}
|
||||
else {
|
||||
mi_atomic_add64(&stat->freed, -amount);
|
||||
mi_atomic_addi64(&stat->freed, -amount);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
@ -50,8 +50,8 @@ static void mi_stat_update(mi_stat_count_t* stat, int64_t amount) {
|
|||
|
||||
void _mi_stat_counter_increase(mi_stat_counter_t* stat, size_t amount) {
|
||||
if (mi_is_in_main(stat)) {
|
||||
mi_atomic_add64( &stat->count, 1 );
|
||||
mi_atomic_add64( &stat->total, (int64_t)amount );
|
||||
mi_atomic_addi64( &stat->count, 1 );
|
||||
mi_atomic_addi64( &stat->total, (int64_t)amount );
|
||||
}
|
||||
else {
|
||||
stat->count++;
|
||||
|
@ -70,17 +70,17 @@ void _mi_stat_decrease(mi_stat_count_t* stat, size_t amount) {
|
|||
// must be thread safe as it is called from stats_merge
|
||||
static void mi_stat_add(mi_stat_count_t* stat, const mi_stat_count_t* src, int64_t unit) {
|
||||
if (stat==src) return;
|
||||
mi_atomic_add64( &stat->allocated, src->allocated * unit);
|
||||
mi_atomic_add64( &stat->current, src->current * unit);
|
||||
mi_atomic_add64( &stat->freed, src->freed * unit);
|
||||
mi_atomic_addi64( &stat->allocated, src->allocated * unit);
|
||||
mi_atomic_addi64( &stat->current, src->current * unit);
|
||||
mi_atomic_addi64( &stat->freed, src->freed * unit);
|
||||
// peak scores do not work across threads..
|
||||
mi_atomic_add64( &stat->peak, src->peak * unit);
|
||||
mi_atomic_addi64( &stat->peak, src->peak * unit);
|
||||
}
|
||||
|
||||
static void mi_stat_counter_add(mi_stat_counter_t* stat, const mi_stat_counter_t* src, int64_t unit) {
|
||||
if (stat==src) return;
|
||||
mi_atomic_add64( &stat->total, src->total * unit);
|
||||
mi_atomic_add64( &stat->count, src->count * unit);
|
||||
mi_atomic_addi64( &stat->total, src->total * unit);
|
||||
mi_atomic_addi64( &stat->count, src->count * unit);
|
||||
}
|
||||
|
||||
// must be thread safe as it is called from stats_merge
|
||||
|
|
|
@ -13,7 +13,7 @@ if (NOT CMAKE_BUILD_TYPE)
|
|||
endif()
|
||||
|
||||
# Import mimalloc (if installed)
|
||||
find_package(mimalloc 1.4 REQUIRED NO_SYSTEM_ENVIRONMENT_PATH)
|
||||
find_package(mimalloc 1.5 REQUIRED NO_SYSTEM_ENVIRONMENT_PATH)
|
||||
message(STATUS "Found mimalloc installed at: ${MIMALLOC_TARGET_DIR}")
|
||||
|
||||
# overriding with a dynamic library
|
||||
|
|
Loading…
Add table
Reference in a new issue