You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Projet_JAVA_P2P_STRI2A/doc/Class Diagram.svg

7039 lines
594 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN'
'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
<svg fill-opacity="0" xmlns:xlink="http://www.w3.org/1999/xlink" color-rendering="auto" color-interpolation="auto" text-rendering="auto" stroke="rgb(0,0,0)" stroke-linecap="square" width="4808" stroke-miterlimit="10" shape-rendering="auto" stroke-opacity="0" fill="rgb(0,0,0)" stroke-dasharray="none" font-weight="normal" stroke-width="1" height="3727" xmlns="http://www.w3.org/2000/svg" font-family="'Dialog'" font-style="normal" stroke-linejoin="miter" font-size="12px" stroke-dashoffset="0" image-rendering="auto"
><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs"
/><g
><defs id="defs1"
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath1"
><path d="M-7 -7 L1106 -7 L1106 678 L-7 678 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath2"
><path d="M0 0 L0 647 L1095 647 L1095 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath3"
><path d="M-7 -7 L2222 -7 L2222 659 L-7 659 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath4"
><path d="M0 0 L0 628 L2211 628 L2211 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath5"
><path d="M-7 -7 L2566 -7 L2566 1233 L-7 1233 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath6"
><path d="M0 0 L0 1202 L2555 1202 L2555 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath7"
><path d="M-7 -7 L411 -7 L411 643 L-7 643 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath8"
><path d="M0 0 L0 612 L400 612 L400 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath9"
><path d="M-7 -7 L2211 -7 L2211 1708 L-7 1708 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath10"
><path d="M0 0 L0 1677 L2200 1677 L2200 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath11"
><path d="M-7 -7 L256 -7 L256 438 L-7 438 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath12"
><path d="M0 0 L0 407 L245 407 L245 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath13"
><path d="M-7 -7 L1381 -7 L1381 1058 L-7 1058 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath14"
><path d="M0 0 L0 1027 L1370 1027 L1370 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath15"
><path d="M-7 -7 L473 -7 L473 173 L-7 173 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath16"
><path d="M0 0 L0 142 L462 142 L462 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath17"
><path d="M-7 -7 L3371 -7 L3371 1278 L-7 1278 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath18"
><path d="M0 0 L0 1247 L3360 1247 L3360 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath19"
><path d="M-7 -7 L335 -7 L335 158 L-7 158 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath20"
><path d="M0 0 L0 132 L324 132 L324 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath21"
><path d="M0 0 L0 15 L325 15 L325 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath22"
><path d="M-7 -7 L179 -7 L179 98 L-7 98 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath23"
><path d="M0 0 L0 72 L168 72 L168 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath24"
><path d="M0 0 L0 15 L168 15 L168 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath25"
><path d="M-7 -7 L311 -7 L311 383 L-7 383 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath26"
><path d="M0 0 L0 357 L300 357 L300 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath27"
><path d="M0 0 L0 15 L300 15 L300 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath28"
><path d="M-7 -7 L314 -7 L314 128 L-7 128 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath29"
><path d="M0 0 L0 102 L303 102 L303 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath30"
><path d="M0 0 L0 15 L303 15 L303 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath31"
><path d="M-7 -7 L122 -7 L122 51 L-7 51 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath32"
><path d="M0 0 L0 25 L111 25 L111 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath33"
><path d="M0 0 L0 15 L110 15 L110 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath34"
><path d="M-7 -7 L117 -7 L117 51 L-7 51 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath35"
><path d="M0 0 L0 25 L106 25 L106 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath36"
><path d="M0 0 L0 15 L105 15 L105 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath37"
><path d="M-7 -7 L334 -7 L334 169 L-7 169 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath38"
><path d="M0 0 L0 143 L323 143 L323 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath39"
><path d="M0 0 L0 15 L323 15 L323 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath40"
><path d="M-7 -7 L359 -7 L359 64 L-7 64 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath41"
><path d="M0 0 L0 38 L348 38 L348 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath42"
><path d="M0 0 L0 15 L348 15 L348 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath43"
><path d="M-7 -7 L353 -7 L353 143 L-7 143 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath44"
><path d="M0 0 L0 117 L342 117 L342 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath45"
><path d="M0 0 L0 15 L343 15 L343 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath46"
><path d="M-7 -7 L108 -7 L108 139 L-7 139 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath47"
><path d="M0 0 L0 98 L97 98 L97 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath48"
><path d="M0 0 L0 30 L98 30 L98 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath49"
><path d="M-7 -7 L272 -7 L272 173 L-7 173 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath50"
><path d="M0 0 L0 147 L261 147 L261 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath51"
><path d="M0 0 L0 15 L262 15 L262 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath52"
><path d="M-7 -7 L210 -7 L210 278 L-7 278 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath53"
><path d="M0 0 L0 252 L199 252 L199 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath54"
><path d="M0 0 L0 15 L200 15 L200 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath55"
><path d="M-7 -7 L365 -7 L365 158 L-7 158 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath56"
><path d="M0 0 L0 132 L354 132 L354 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath57"
><path d="M0 0 L0 15 L355 15 L355 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath58"
><path d="M-7 -7 L421 -7 L421 259 L-7 259 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath59"
><path d="M0 0 L0 233 L410 233 L410 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath60"
><path d="M0 0 L0 15 L410 15 L410 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath61"
><path d="M-7 -7 L608 -7 L608 158 L-7 158 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath62"
><path d="M0 0 L0 132 L597 132 L597 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath63"
><path d="M0 0 L0 15 L598 15 L598 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath64"
><path d="M-7 -7 L520 -7 L520 158 L-7 158 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath65"
><path d="M0 0 L0 132 L509 132 L509 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath66"
><path d="M0 0 L0 15 L510 15 L510 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath67"
><path d="M0 0 L0 15 L169 15 L169 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath68"
><path d="M-7 -7 L519 -7 L519 158 L-7 158 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath69"
><path d="M0 0 L0 132 L508 132 L508 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath70"
><path d="M0 0 L0 15 L509 15 L509 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath71"
><path d="M-7 -7 L497 -7 L497 323 L-7 323 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath72"
><path d="M0 0 L0 297 L486 297 L486 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath73"
><path d="M0 0 L0 15 L486 15 L486 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath74"
><path d="M-7 -7 L349 -7 L349 124 L-7 124 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath75"
><path d="M0 0 L0 98 L338 98 L338 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath76"
><path d="M0 0 L0 15 L338 15 L338 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath77"
><path d="M-7 -7 L348 -7 L348 124 L-7 124 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath78"
><path d="M0 0 L0 98 L337 98 L337 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath79"
><path d="M-7 -7 L394 -7 L394 323 L-7 323 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath80"
><path d="M0 0 L0 297 L383 297 L383 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath81"
><path d="M0 0 L0 15 L383 15 L383 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath82"
><path d="M-7 -7 L543 -7 L543 94 L-7 94 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath83"
><path d="M0 0 L0 68 L532 68 L532 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath84"
><path d="M0 0 L0 15 L533 15 L533 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath85"
><path d="M-7 -7 L542 -7 L542 94 L-7 94 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath86"
><path d="M0 0 L0 68 L531 68 L531 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath87"
><path d="M0 0 L0 15 L532 15 L532 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath88"
><path d="M-7 -7 L520 -7 L520 338 L-7 338 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath89"
><path d="M0 0 L0 312 L509 312 L509 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath90"
><path d="M-7 -7 L165 -7 L165 51 L-7 51 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath91"
><path d="M0 0 L0 25 L154 25 L154 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath92"
><path d="M0 0 L0 15 L155 15 L155 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath93"
><path d="M-7 -7 L433 -7 L433 188 L-7 188 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath94"
><path d="M0 0 L0 162 L422 162 L422 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath95"
><path d="M0 0 L0 15 L422 15 L422 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath96"
><path d="M-7 -7 L390 -7 L390 113 L-7 113 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath97"
><path d="M0 0 L0 87 L379 87 L379 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath98"
><path d="M0 0 L0 15 L379 15 L379 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath99"
><path d="M-7 -7 L332 -7 L332 143 L-7 143 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath100"
><path d="M0 0 L0 117 L321 117 L321 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath101"
><path d="M0 0 L0 15 L322 15 L322 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath102"
><path d="M-7 -7 L174 -7 L174 98 L-7 98 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath103"
><path d="M0 0 L0 72 L163 72 L163 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath104"
><path d="M0 0 L0 15 L163 15 L163 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath105"
><path d="M-7 -7 L366 -7 L366 507 L-7 507 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath106"
><path d="M0 0 L0 466 L355 466 L355 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath107"
><path d="M0 0 L0 30 L355 30 L355 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath108"
><path d="M-7 -7 L409 -7 L409 188 L-7 188 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath109"
><path d="M0 0 L0 162 L398 162 L398 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath110"
><path d="M0 0 L0 15 L398 15 L398 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath111"
><path d="M-7 -21 L384 -21 L384 338 L-7 338 L-7 -21 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath112"
><path d="M0 0 L0 312 L370 312 L370 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath113"
><path d="M0 0 L0 15 L370 15 L370 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath114"
><path d="M-7 -21 L336 -21 L336 233 L-7 233 L-7 -21 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath115"
><path d="M0 0 L0 207 L322 207 L322 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath116"
><path d="M-7 -19 L244 -19 L244 218 L-7 218 L-7 -19 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath117"
><path d="M0 0 L0 192 L229 192 L229 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath118"
><path d="M0 0 L0 15 L229 15 L229 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath119"
><path d="M-7 -7 L310 -7 L310 173 L-7 173 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath120"
><path d="M0 0 L0 147 L299 147 L299 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath121"
><path d="M-7 -7 L489 -7 L489 203 L-7 203 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath122"
><path d="M0 0 L0 177 L478 177 L478 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath123"
><path d="M0 0 L0 15 L478 15 L478 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath124"
><path d="M-7 -7 L377 -7 L377 158 L-7 158 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath125"
><path d="M0 0 L0 132 L366 132 L366 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath126"
><path d="M0 0 L0 15 L365 15 L365 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath127"
><path d="M-7 -7 L352 -7 L352 143 L-7 143 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath128"
><path d="M0 0 L0 117 L341 117 L341 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath129"
><path d="M0 0 L0 15 L340 15 L340 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath130"
><path d="M-7 -7 L328 -7 L328 162 L-7 162 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath131"
><path d="M0 0 L0 121 L317 121 L317 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath132"
><path d="M0 0 L0 30 L318 30 L318 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath133"
><path d="M-7 -7 L332 -7 L332 233 L-7 233 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath134"
><path d="M0 0 L0 207 L321 207 L321 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath135"
><path d="M0 0 L0 15 L320 15 L320 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath136"
><path d="M-7 -7 L142 -7 L142 98 L-7 98 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath137"
><path d="M0 0 L0 72 L131 72 L131 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath138"
><path d="M0 0 L0 15 L130 15 L130 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath139"
><path d="M-7 -7 L352 -7 L352 158 L-7 158 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath140"
><path d="M0 0 L0 132 L341 132 L341 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath141"
><path d="M0 0 L0 15 L342 15 L342 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath142"
><path d="M-7 -7 L195 -7 L195 98 L-7 98 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath143"
><path d="M0 0 L0 72 L184 72 L184 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath144"
><path d="M0 0 L0 15 L184 15 L184 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath145"
><path d="M-7 -7 L310 -7 L310 143 L-7 143 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath146"
><path d="M0 0 L0 117 L299 117 L299 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath147"
><path d="M-7 -7 L130 -7 L130 109 L-7 109 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath148"
><path d="M0 0 L0 68 L119 68 L119 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath149"
><path d="M0 0 L0 30 L120 30 L120 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath150"
><path d="M-7 -7 L165 -7 L165 68 L-7 68 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath151"
><path d="M0 0 L0 42 L154 42 L154 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath152"
><path d="M-7 -7 L150 -7 L150 51 L-7 51 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath153"
><path d="M0 0 L0 25 L139 25 L139 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath154"
><path d="M0 0 L0 15 L140 15 L140 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath155"
><path d="M-7 -7 L297 -7 L297 143 L-7 143 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath156"
><path d="M0 0 L0 117 L286 117 L286 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath157"
><path d="M0 0 L0 15 L285 15 L285 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath158"
><path d="M-7 -7 L898 -7 L898 263 L-7 263 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath159"
><path d="M0 0 L0 237 L887 237 L887 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath160"
><path d="M0 0 L0 15 L888 15 L888 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath161"
><path d="M-7 -7 L841 -7 L841 158 L-7 158 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath162"
><path d="M0 0 L0 132 L830 132 L830 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath163"
><path d="M0 0 L0 15 L830 15 L830 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath164"
><path d="M-7 -7 L614 -7 L614 278 L-7 278 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath165"
><path d="M0 0 L0 252 L603 252 L603 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath166"
><path d="M0 0 L0 15 L603 15 L603 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath167"
><path d="M-7 -7 L725 -7 L725 128 L-7 128 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath168"
><path d="M0 0 L0 102 L714 102 L714 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath169"
><path d="M0 0 L0 15 L715 15 L715 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath170"
><path d="M-7 -7 L277 -7 L277 308 L-7 308 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath171"
><path d="M0 0 L0 282 L266 282 L266 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath172"
><path d="M0 0 L0 15 L265 15 L265 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath173"
><path d="M-7 -7 L490 -7 L490 233 L-7 233 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath174"
><path d="M0 0 L0 207 L479 207 L479 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath175"
><path d="M0 0 L0 15 L480 15 L480 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath176"
><path d="M-7 -7 L611 -7 L611 169 L-7 169 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath177"
><path d="M0 0 L0 143 L600 143 L600 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath178"
><path d="M0 0 L0 15 L600 15 L600 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath179"
><path d="M-7 -7 L610 -7 L610 169 L-7 169 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath180"
><path d="M0 0 L0 143 L599 143 L599 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath181"
><path d="M0 0 L0 15 L599 15 L599 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath182"
><path d="M-7 -7 L588 -7 L588 323 L-7 323 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath183"
><path d="M0 0 L0 297 L577 297 L577 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath184"
><path d="M0 0 L0 15 L578 15 L578 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath185"
><path d="M-7 -7 L487 -7 L487 128 L-7 128 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath186"
><path d="M0 0 L0 102 L476 102 L476 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath187"
><path d="M0 0 L0 15 L475 15 L475 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath188"
><path d="M-7 -7 L374 -7 L374 113 L-7 113 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath189"
><path d="M0 0 L0 87 L363 87 L363 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath190"
><path d="M0 0 L0 15 L363 15 L363 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath191"
><path d="M-7 -7 L792 -7 L792 139 L-7 139 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath192"
><path d="M0 0 L0 113 L781 113 L781 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath193"
><path d="M0 0 L0 15 L780 15 L780 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath194"
><path d="M-7 -7 L790 -7 L790 139 L-7 139 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath195"
><path d="M0 0 L0 113 L779 113 L779 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath196"
><path d="M-7 -7 L852 -7 L852 143 L-7 143 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath197"
><path d="M0 0 L0 117 L841 117 L841 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath198"
><path d="M0 0 L0 15 L840 15 L840 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath199"
><path d="M-7 -7 L802 -7 L802 143 L-7 143 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath200"
><path d="M0 0 L0 117 L791 117 L791 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath201"
><path d="M0 0 L0 15 L790 15 L790 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath202"
><path d="M-7 -7 L699 -7 L699 458 L-7 458 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath203"
><path d="M0 0 L0 432 L688 432 L688 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath204"
><path d="M0 0 L0 15 L688 15 L688 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath205"
><path d="M-7 -7 L768 -7 L768 608 L-7 608 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath206"
><path d="M0 0 L0 582 L757 582 L757 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath207"
><path d="M0 0 L0 15 L758 15 L758 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath208"
><path d="M-7 -7 L74 -7 L74 34 L-7 34 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath209"
><path d="M0 0 L0 23 L63 23 L63 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath210"
><path d="M-7 -7 L75 -7 L75 35 L-7 35 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath211"
><path d="M-7 -7 L67 -7 L67 67 L-7 67 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath212"
><path d="M0 0 L0 57 L57 57 L57 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath213"
><path d="M-7 -7 L51 -7 L51 51 L-7 51 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath214"
><path d="M0 0 L0 40 L40 40 L40 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath215"
><path d="M-7 -7 L81 -7 L81 81 L-7 81 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath216"
><path d="M0 0 L0 70 L70 70 L70 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath217"
><path d="M-7 -7 L77 -7 L77 77 L-7 77 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath218"
><path d="M0 0 L0 67 L67 67 L67 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath219"
><path d="M-7 -7 L95 -7 L95 95 L-7 95 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath220"
><path d="M0 0 L0 83 L83 83 L83 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath221"
><path d="M-7 -7 L69 -7 L69 69 L-7 69 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath222"
><path d="M-7 -7 L57 -7 L57 57 L-7 57 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath223"
><path d="M0 0 L0 47 L47 47 L47 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath224"
><path d="M-7 -7 L73 -7 L73 73 L-7 73 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath225"
><path d="M0 0 L0 63 L63 63 L63 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath226"
><path d="M-7 -7 L61 -7 L61 61 L-7 61 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath227"
><path d="M0 0 L0 50 L50 50 L50 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath228"
><path d="M-7 -7 L71 -7 L71 71 L-7 71 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath229"
><path d="M0 0 L0 60 L60 60 L60 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath230"
><path d="M-7 -7 L129 -7 L129 129 L-7 129 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath231"
><path d="M0 0 L0 117 L117 117 L117 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath232"
><path d="M-7 -7 L99 -7 L99 99 L-7 99 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath233"
><path d="M0 0 L0 87 L87 87 L87 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath234"
><path d="M-7 -7 L101 -7 L101 101 L-7 101 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath235"
><path d="M0 0 L0 90 L90 90 L90 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath236"
><path d="M-7 -7 L63 -7 L63 63 L-7 63 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath237"
><path d="M0 0 L0 53 L53 53 L53 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath238"
><path d="M-7 -7 L87 -7 L87 87 L-7 87 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath239"
><path d="M0 0 L0 77 L77 77 L77 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath240"
><path d="M-7 -7 L65 -7 L65 65 L-7 65 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath241"
><path d="M-7 -7 L125 -7 L125 125 L-7 125 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath242"
><path d="M0 0 L0 113 L113 113 L113 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath243"
><path d="M-7 -7 L111 -7 L111 111 L-7 111 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath244"
><path d="M0 0 L0 100 L100 100 L100 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath245"
><path d="M-7 -7 L151 -7 L151 151 L-7 151 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath246"
><path d="M0 0 L0 140 L140 140 L140 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath247"
><path d="M-7 -7 L93 -7 L93 93 L-7 93 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath248"
><path d="M0 0 L414 0 L414 254 L0 254 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath249"
><path d="M0 0 L0 254 L414 254 L414 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath250"
><path d="M0 0 L1440 0 L1440 450 L0 450 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath251"
><path d="M0 0 L0 450 L1440 450 L1440 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath252"
><path d="M0 0 L252 0 L252 160 L0 160 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath253"
><path d="M0 0 L0 160 L252 160 L252 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath254"
><path d="M0 0 L254 0 L254 311 L0 311 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath255"
><path d="M0 0 L0 311 L254 311 L254 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath256"
><path d="M0 0 L385 0 L385 494 L0 494 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath257"
><path d="M0 0 L0 494 L385 494 L385 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath258"
><path d="M0 0 L104 0 L104 181 L0 181 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath259"
><path d="M0 0 L0 181 L104 181 L104 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath260"
><path d="M0 0 L854 0 L854 557 L0 557 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath261"
><path d="M0 0 L0 557 L854 557 L854 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath262"
><path d="M0 0 L489 0 L489 254 L0 254 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath263"
><path d="M0 0 L0 254 L489 254 L489 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath264"
><path d="M0 0 L1807 0 L1807 694 L0 694 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath265"
><path d="M0 0 L0 694 L1807 694 L1807 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath266"
><path d="M0 0 L1420 0 L1420 960 L0 960 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath267"
><path d="M0 0 L0 960 L1420 960 L1420 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath268"
><path d="M0 0 L236 0 L236 284 L0 284 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath269"
><path d="M0 0 L0 284 L236 284 L236 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath270"
><path d="M0 0 L254 0 L254 374 L0 374 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath271"
><path d="M0 0 L0 374 L254 374 L254 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath272"
><path d="M0 0 L391 0 L391 268 L0 268 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath273"
><path d="M0 0 L0 268 L391 268 L391 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath274"
><path d="M0 0 L342 0 L342 189 L0 189 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath275"
><path d="M0 0 L0 189 L342 189 L342 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath276"
><path d="M0 0 L303 0 L303 152 L0 152 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath277"
><path d="M0 0 L0 152 L303 152 L303 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath278"
><path d="M0 0 L369 0 L369 134 L0 134 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath279"
><path d="M0 0 L0 134 L369 134 L369 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath280"
><path d="M0 0 L391 0 L391 173 L0 173 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath281"
><path d="M0 0 L0 173 L391 173 L391 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath282"
><path d="M0 0 L415 0 L415 233 L0 233 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath283"
><path d="M0 0 L0 233 L415 233 L415 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath284"
><path d="M0 0 L500 0 L500 368 L0 368 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath285"
><path d="M0 0 L0 368 L500 368 L500 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath286"
><path d="M0 0 L474 0 L474 319 L0 319 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath287"
><path d="M0 0 L0 319 L474 319 L474 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath288"
><path d="M0 0 L458 0 L458 248 L0 248 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath289"
><path d="M0 0 L0 248 L458 248 L458 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath290"
><path d="M0 0 L439 0 L439 177 L0 177 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath291"
><path d="M0 0 L0 177 L439 177 L439 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath292"
><path d="M0 0 L411 0 L411 122 L0 122 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath293"
><path d="M0 0 L0 122 L411 122 L411 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath294"
><path d="M0 0 L396 0 L396 137 L0 137 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath295"
><path d="M0 0 L0 137 L396 137 L396 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath296"
><path d="M0 0 L420 0 L420 217 L0 217 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath297"
><path d="M0 0 L0 217 L420 217 L420 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath298"
><path d="M0 0 L447 0 L447 300 L0 300 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath299"
><path d="M0 0 L0 300 L447 300 L447 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath300"
><path d="M0 0 L361 0 L361 254 L0 254 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath301"
><path d="M0 0 L0 254 L361 254 L361 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath302"
><path d="M0 0 L146 0 L146 179 L0 179 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath303"
><path d="M0 0 L0 179 L146 179 L146 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath304"
><path d="M0 0 L104 0 L104 856 L0 856 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath305"
><path d="M0 0 L0 856 L104 856 L104 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath306"
><path d="M0 0 L592 0 L592 195 L0 195 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath307"
><path d="M0 0 L0 195 L592 195 L592 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath308"
><path d="M0 0 L104 0 L104 614 L0 614 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath309"
><path d="M0 0 L0 614 L104 614 L104 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath310"
><path d="M0 0 L533 0 L533 202 L0 202 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath311"
><path d="M0 0 L0 202 L533 202 L533 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath312"
><path d="M0 0 L615 0 L615 104 L0 104 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath313"
><path d="M0 0 L0 104 L615 104 L615 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath314"
><path d="M0 0 L530 0 L530 827 L0 827 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath315"
><path d="M0 0 L0 827 L530 827 L530 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath316"
><path d="M0 0 L122 0 L122 506 L0 506 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath317"
><path d="M0 0 L0 506 L122 506 L122 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath318"
><path d="M0 0 L585 0 L585 336 L0 336 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath319"
><path d="M0 0 L0 336 L585 336 L585 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath320"
><path d="M0 0 L104 0 L104 291 L0 291 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath321"
><path d="M0 0 L0 291 L104 291 L104 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath322"
><path d="M0 0 L104 0 L104 383 L0 383 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath323"
><path d="M0 0 L0 383 L104 383 L104 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath324"
><path d="M0 0 L556 0 L556 146 L0 146 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath325"
><path d="M0 0 L0 146 L556 146 L556 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath326"
><path d="M0 0 L513 0 L513 104 L0 104 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath327"
><path d="M0 0 L0 104 L513 104 L513 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath328"
><path d="M0 0 L104 0 L104 210 L0 210 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath329"
><path d="M0 0 L0 210 L104 210 L104 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath330"
><path d="M0 0 L422 0 L422 331 L0 331 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath331"
><path d="M0 0 L0 331 L422 331 L422 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath332"
><path d="M0 0 L522 0 L522 430 L0 430 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath333"
><path d="M0 0 L0 430 L522 430 L522 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath334"
><path d="M0 0 L510 0 L510 308 L0 308 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath335"
><path d="M0 0 L0 308 L510 308 L510 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath336"
><path d="M0 0 L248 0 L248 146 L0 146 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath337"
><path d="M0 0 L0 146 L248 146 L248 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath338"
><path d="M0 0 L934 0 L934 441 L0 441 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath339"
><path d="M0 0 L0 441 L934 441 L934 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath340"
><path d="M0 0 L316 0 L316 104 L0 104 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath341"
><path d="M0 0 L0 104 L316 104 L316 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath342"
><path d="M0 0 L785 0 L785 526 L0 526 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath343"
><path d="M0 0 L0 526 L785 526 L785 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath344"
><path d="M0 0 L894 0 L894 146 L0 146 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath345"
><path d="M0 0 L0 146 L894 146 L894 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath346"
><path d="M0 0 L238 0 L238 146 L0 146 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath347"
><path d="M0 0 L0 146 L238 146 L238 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath348"
><path d="M0 0 L146 0 L146 364 L0 364 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath349"
><path d="M0 0 L0 364 L146 364 L146 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath350"
><path d="M0 0 L146 0 L146 181 L0 181 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath351"
><path d="M0 0 L0 181 L146 181 L146 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath352"
><path d="M0 0 L212 0 L212 146 L0 146 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath353"
><path d="M0 0 L0 146 L212 146 L212 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath354"
><path d="M0 0 L211 0 L211 146 L0 146 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath355"
><path d="M0 0 L0 146 L211 146 L211 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath356"
><path d="M0 0 L337 0 L337 1417 L0 1417 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath357"
><path d="M0 0 L0 1417 L337 1417 L337 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath358"
><path d="M0 0 L337 0 L337 1227 L0 1227 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath359"
><path d="M0 0 L0 1227 L337 1227 L337 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath360"
><path d="M0 0 L337 0 L337 934 L0 934 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath361"
><path d="M0 0 L0 934 L337 934 L337 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath362"
><path d="M0 0 L337 0 L337 1250 L0 1250 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath363"
><path d="M0 0 L0 1250 L337 1250 L337 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath364"
><path d="M0 0 L337 0 L337 1060 L0 1060 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath365"
><path d="M0 0 L0 1060 L337 1060 L337 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath366"
><path d="M0 0 L146 0 L146 576 L0 576 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath367"
><path d="M0 0 L0 576 L146 576 L146 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath368"
><path d="M0 0 L837 0 L837 577 L0 577 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath369"
><path d="M0 0 L0 577 L837 577 L837 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath370"
><path d="M0 0 L737 0 L737 674 L0 674 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath371"
><path d="M0 0 L0 674 L737 674 L737 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath372"
><path d="M0 0 L146 0 L146 731 L0 731 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath373"
><path d="M0 0 L0 731 L146 731 L146 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath374"
><path d="M0 0 L1926 0 L1926 555 L0 555 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath375"
><path d="M0 0 L0 555 L1926 555 L1926 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath376"
><path d="M0 0 L1517 0 L1517 626 L0 626 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath377"
><path d="M0 0 L0 626 L1517 626 L1517 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath378"
><path d="M0 0 L2044 0 L2044 860 L0 860 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath379"
><path d="M0 0 L0 860 L2044 860 L2044 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath380"
><path d="M0 0 L1853 0 L1853 626 L0 626 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath381"
><path d="M0 0 L0 626 L1853 626 L1853 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath382"
><path d="M0 0 L801 0 L801 603 L0 603 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath383"
><path d="M0 0 L0 603 L801 603 L801 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath384"
><path d="M0 0 L934 0 L934 820 L0 820 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath385"
><path d="M0 0 L0 820 L934 820 L934 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath386"
><path d="M0 0 L146 0 L146 642 L0 642 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath387"
><path d="M0 0 L0 642 L146 642 L146 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath388"
><path d="M0 0 L146 0 L146 355 L0 355 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath389"
><path d="M0 0 L0 355 L146 355 L146 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath390"
><path d="M0 0 L1454 0 L1454 797 L0 797 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath391"
><path d="M0 0 L0 797 L1454 797 L1454 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath392"
><path d="M0 0 L1434 0 L1434 744 L0 744 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath393"
><path d="M0 0 L0 744 L1434 744 L1434 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath394"
><path d="M0 0 L415 0 L415 1197 L0 1197 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath395"
><path d="M0 0 L0 1197 L415 1197 L415 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath396"
><path d="M0 0 L1175 0 L1175 580 L0 580 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath397"
><path d="M0 0 L0 580 L1175 580 L1175 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath398"
><path d="M0 0 L427 0 L427 1526 L0 1526 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath399"
><path d="M0 0 L0 1526 L427 1526 L427 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath400"
><path d="M0 0 L991 0 L991 562 L0 562 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath401"
><path d="M0 0 L0 562 L991 562 L991 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath402"
><path d="M0 0 L570 0 L570 1030 L0 1030 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath403"
><path d="M0 0 L0 1030 L570 1030 L570 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath404"
><path d="M0 0 L607 0 L607 1257 L0 1257 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath405"
><path d="M0 0 L0 1257 L607 1257 L607 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath406"
><path d="M0 0 L407 0 L407 1361 L0 1361 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath407"
><path d="M0 0 L0 1361 L407 1361 L407 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath408"
><path d="M0 0 L524 0 L524 947 L0 947 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath409"
><path d="M0 0 L0 947 L524 947 L524 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath410"
><path d="M0 0 L273 0 L273 561 L0 561 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath411"
><path d="M0 0 L0 561 L273 561 L273 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath412"
><path d="M0 0 L266 0 L266 1107 L0 1107 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath413"
><path d="M0 0 L0 1107 L266 1107 L266 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath414"
><path d="M0 0 L359 0 L359 1078 L0 1078 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath415"
><path d="M0 0 L0 1078 L359 1078 L359 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath416"
><path d="M0 0 L739 0 L739 628 L0 628 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath417"
><path d="M0 0 L0 628 L739 628 L739 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath418"
><path d="M0 0 L1432 0 L1432 602 L0 602 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath419"
><path d="M0 0 L0 602 L1432 602 L1432 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath420"
><path d="M0 0 L1466 0 L1466 619 L0 619 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath421"
><path d="M0 0 L0 619 L1466 619 L1466 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath422"
><path d="M0 0 L1657 0 L1657 1117 L0 1117 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath423"
><path d="M0 0 L0 1117 L1657 1117 L1657 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath424"
><path d="M0 0 L104 0 L104 567 L0 567 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath425"
><path d="M0 0 L0 567 L104 567 L104 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath426"
><path d="M0 0 L242 0 L242 584 L0 584 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath427"
><path d="M0 0 L0 584 L242 584 L242 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath428"
><path d="M0 0 L1393 0 L1393 396 L0 396 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath429"
><path d="M0 0 L0 396 L1393 396 L1393 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath430"
><path d="M0 0 L1994 0 L1994 146 L0 146 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath431"
><path d="M0 0 L0 146 L1994 146 L1994 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath432"
><path d="M0 0 L1610 0 L1610 440 L0 440 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath433"
><path d="M0 0 L0 440 L1610 440 L1610 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath434"
><path d="M0 0 L1805 0 L1805 651 L0 651 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath435"
><path d="M0 0 L0 651 L1805 651 L1805 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath436"
><path d="M0 0 L1207 0 L1207 820 L0 820 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath437"
><path d="M0 0 L0 820 L1207 820 L1207 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath438"
><path d="M0 0 L337 0 L337 794 L0 794 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath439"
><path d="M0 0 L0 794 L337 794 L337 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath440"
><path d="M0 0 L484 0 L484 910 L0 910 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath441"
><path d="M0 0 L0 910 L484 910 L484 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath442"
><path d="M0 0 L233 0 L233 311 L0 311 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath443"
><path d="M0 0 L0 311 L233 311 L233 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath444"
><path d="M0 0 L550 0 L550 547 L0 547 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath445"
><path d="M0 0 L0 547 L550 547 L550 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath446"
><path d="M0 0 L1087 0 L1087 547 L0 547 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath447"
><path d="M0 0 L0 547 L1087 547 L1087 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath448"
><path d="M0 0 L1164 0 L1164 704 L0 704 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath449"
><path d="M0 0 L0 704 L1164 704 L1164 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath450"
><path d="M0 0 L1217 0 L1217 770 L0 770 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath451"
><path d="M0 0 L0 770 L1217 770 L1217 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath452"
><path d="M0 0 L1087 0 L1087 434 L0 434 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath453"
><path d="M0 0 L0 434 L1087 434 L1087 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath454"
><path d="M0 0 L914 0 L914 146 L0 146 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath455"
><path d="M0 0 L0 146 L914 146 L914 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath456"
><path d="M0 0 L104 0 L104 1148 L0 1148 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath457"
><path d="M0 0 L0 1148 L104 1148 L104 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath458"
><path d="M0 0 L580 0 L580 904 L0 904 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath459"
><path d="M0 0 L0 904 L580 904 L580 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath460"
><path d="M0 0 L1507 0 L1507 907 L0 907 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath461"
><path d="M0 0 L0 907 L1507 907 L1507 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath462"
><path d="M0 0 L149 0 L149 672 L0 672 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath463"
><path d="M0 0 L0 672 L149 672 L149 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath464"
><path d="M0 0 L1596 0 L1596 523 L0 523 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath465"
><path d="M0 0 L0 523 L1596 523 L1596 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath466"
><path d="M0 0 L2261 0 L2261 146 L0 146 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath467"
><path d="M0 0 L0 146 L2261 146 L2261 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath468"
><path d="M0 0 L304 0 L304 254 L0 254 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath469"
><path d="M0 0 L0 254 L304 254 L304 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath470"
><path d="M0 0 L289 0 L289 254 L0 254 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath471"
><path d="M0 0 L0 254 L289 254 L289 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath472"
><path d="M0 0 L1520 0 L1520 854 L0 854 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath473"
><path d="M0 0 L0 854 L1520 854 L1520 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath474"
><path d="M0 0 L354 0 L354 579 L0 579 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath475"
><path d="M0 0 L0 579 L354 579 L354 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath476"
><path d="M0 0 L146 0 L146 635 L0 635 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath477"
><path d="M0 0 L0 635 L146 635 L146 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath478"
><path d="M0 0 L2177 0 L2177 920 L0 920 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath479"
><path d="M0 0 L0 920 L2177 920 L2177 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath480"
><path d="M0 0 L1619 0 L1619 146 L0 146 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath481"
><path d="M0 0 L0 146 L1619 146 L1619 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath482"
><path d="M0 0 L315 0 L315 254 L0 254 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath483"
><path d="M0 0 L0 254 L315 254 L315 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath484"
><path d="M0 0 L309 0 L309 254 L0 254 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath485"
><path d="M0 0 L0 254 L309 254 L309 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath486"
><path d="M0 0 L295 0 L295 254 L0 254 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath487"
><path d="M0 0 L0 254 L295 254 L295 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath488"
><path d="M0 0 L146 0 L146 231 L0 231 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath489"
><path d="M0 0 L0 231 L146 231 L146 0 Z"
/></clipPath
></defs
><g fill="white" text-rendering="geometricPrecision" fill-opacity="1" stroke-opacity="1" stroke="white"
><rect x="0" width="4808" height="3727" y="0" stroke="none"
/></g
><g font-size="11px" transform="translate(2,1303)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" stroke-opacity="1"
><rect x="0" width="218" height="20" y="0" clip-path="url(#clipPath1)" stroke="none"
/><rect x="0" width="1094" height="646" y="20" clip-path="url(#clipPath1)" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2,1303)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><path fill="none" d="M0 20 L1094 20 L1094 666 L0 666 L0 0 L218 0 L218 20" clip-path="url(#clipPath1)"
/></g
><g font-size="11px" transform="translate(2,1323)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="530" xml:space="preserve" y="12" clip-path="url(#clipPath2)" stroke="none"
>tracker</text
></g
><g font-size="11px" transform="translate(1151,1322)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" stroke-opacity="1"
><rect x="0" width="442" height="20" y="0" clip-path="url(#clipPath3)" stroke="none"
/><rect x="0" width="2210" height="627" y="20" clip-path="url(#clipPath3)" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1151,1322)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><path fill="none" d="M0 20 L2210 20 L2210 647 L0 647 L0 0 L442 0 L442 20" clip-path="url(#clipPath3)"
/></g
><g font-size="11px" transform="translate(1151,1342)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="1093" xml:space="preserve" y="12" clip-path="url(#clipPath4)" stroke="none"
>tools</text
></g
><g font-size="11px" transform="translate(2248,2049)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" stroke-opacity="1"
><rect x="0" width="510" height="20" y="0" clip-path="url(#clipPath5)" stroke="none"
/><rect x="0" width="2554" height="1201" y="20" clip-path="url(#clipPath5)" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2248,2049)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><path fill="none" d="M0 20 L2554 20 L2554 1221 L0 1221 L0 0 L510 0 L510 20" clip-path="url(#clipPath5)"
/></g
><g font-size="11px" transform="translate(2248,2069)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="1251" xml:space="preserve" y="12" clip-path="url(#clipPath6)" stroke="none"
>serverP2P</text
></g
><g font-size="11px" transform="translate(4404,2)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" stroke-opacity="1"
><rect x="0" width="79" height="20" y="0" clip-path="url(#clipPath7)" stroke="none"
/><rect x="0" width="399" height="611" y="20" clip-path="url(#clipPath7)" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(4404,2)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><path fill="none" d="M0 20 L399 20 L399 631 L0 631 L0 0 L79 0 L79 20" clip-path="url(#clipPath7)"
/></g
><g font-size="11px" transform="translate(4404,22)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="158" xml:space="preserve" y="12" clip-path="url(#clipPath8)" stroke="none"
>remoteException</text
></g
><g font-size="11px" transform="translate(2,2026)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" stroke-opacity="1"
><rect x="0" width="439" height="20" y="0" clip-path="url(#clipPath9)" stroke="none"
/><rect x="0" width="2199" height="1676" y="20" clip-path="url(#clipPath9)" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2,2026)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><path fill="none" d="M0 20 L2199 20 L2199 1696 L0 1696 L0 0 L439 0 L439 20" clip-path="url(#clipPath9)"
/></g
><g font-size="11px" transform="translate(2,2046)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="1070" xml:space="preserve" y="12" clip-path="url(#clipPath10)" stroke="none"
>protocolP2P</text
></g
><g font-size="11px" transform="translate(3514,166)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" stroke-opacity="1"
><rect x="0" width="48" height="20" y="0" clip-path="url(#clipPath11)" stroke="none"
/><rect x="0" width="244" height="406" y="20" clip-path="url(#clipPath11)" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(3514,166)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><path fill="none" d="M0 20 L244 20 L244 426 L0 426 L0 0 L48 0 L48 20" clip-path="url(#clipPath11)"
/></g
><g font-size="11px" transform="translate(3514,186)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="87" xml:space="preserve" y="12" clip-path="url(#clipPath12)" stroke="none"
>localException</text
></g
><g font-size="11px" transform="translate(3434,689)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" stroke-opacity="1"
><rect x="0" width="273" height="20" y="0" clip-path="url(#clipPath13)" stroke="none"
/><rect x="0" width="1369" height="1026" y="20" clip-path="url(#clipPath13)" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(3434,689)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><path fill="none" d="M0 20 L1369 20 L1369 1046 L0 1046 L0 0 L273 0 L273 20" clip-path="url(#clipPath13)"
/></g
><g font-size="11px" transform="translate(3434,709)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="677" xml:space="preserve" y="12" clip-path="url(#clipPath14)" stroke="none"
>gui</text
></g
><g font-size="11px" transform="translate(3858,276)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" stroke-opacity="1"
><rect x="0" width="92" height="20" y="0" clip-path="url(#clipPath15)" stroke="none"
/><rect x="0" width="461" height="141" y="20" clip-path="url(#clipPath15)" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(3858,276)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><path fill="none" d="M0 20 L461 20 L461 161 L0 161 L0 0 L92 0 L92 20" clip-path="url(#clipPath15)"
/></g
><g font-size="11px" transform="translate(3858,296)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="206" xml:space="preserve" y="12" clip-path="url(#clipPath16)" stroke="none"
>exception</text
></g
><g font-size="11px" transform="translate(2,2)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" stroke-opacity="1"
><rect x="0" width="671" height="20" y="0" clip-path="url(#clipPath17)" stroke="none"
/><rect x="0" width="3359" height="1246" y="20" clip-path="url(#clipPath17)" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2,2)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><path fill="none" d="M0 20 L3359 20 L3359 1266 L0 1266 L0 0 L671 0 L671 20" clip-path="url(#clipPath17)"
/></g
><g font-size="11px" transform="translate(2,22)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="1656" xml:space="preserve" y="12" clip-path="url(#clipPath18)" stroke="none"
>clientP2P</text
></g
><g font-size="11px" transform="translate(397,1353)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="324" height="147" y="0" clip-path="url(#clipPath19)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(397,1353)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="324" height="147" y="0" clip-path="url(#clipPath19)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath19)" x2="324" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,397,1368)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath20)" stroke="none"
>-socket : DatagramSocket</text
></g
><g stroke-linecap="butt" font-size="11px" transform="matrix(1,0,0,1,397,1368)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="bevel" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><line y2="19" fill="none" x1="0" clip-path="url(#clipPath20)" x2="324" y1="19"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,397,1368)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="33" clip-path="url(#clipPath20)" stroke="none"
>+TrackerManagementUDP(tracker : HostItem, logger : Logger)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,397,1368)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath20)" stroke="none"
>+run() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,397,1368)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath20)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,397,1368)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath20)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,397,1368)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath20)" stroke="none"
>#createProtocolP2PPacket(payload : T) : ProtocolP2PPacket&lt;T&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,397,1368)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath20)" stroke="none"
>#getHostItemSocket(hostItem : HostItem) : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,397,1368)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath20)" stroke="none"
>#closeHostItemSocket(hostItem : HostItem) : void</text
></g
><g font-size="11px" transform="translate(397,1353)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="96" xml:space="preserve" y="12" clip-path="url(#clipPath21)" stroke="none"
>TrackerManagementUDP</text
></g
><g font-size="11px" transform="translate(772,1698)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="168" height="87" y="0" clip-path="url(#clipPath22)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(772,1698)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="168" height="87" y="0" clip-path="url(#clipPath22)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath22)" x2="168" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,772,1713)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath23)" stroke="none"
>-addr : HostItem</text
></g
><g stroke-linecap="butt" font-size="11px" transform="matrix(1,0,0,1,772,1713)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="bevel" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><line y2="19" fill="none" x1="0" clip-path="url(#clipPath23)" x2="168" y1="19"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,772,1713)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="33" clip-path="url(#clipPath23)" stroke="none"
>+ClientHandler(s : Socket)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,772,1713)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath23)" stroke="none"
>+run() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,772,1713)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath23)" stroke="none"
>-handleClientRequest() : boolean</text
></g
><g font-size="11px" transform="translate(772,1698)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="48" xml:space="preserve" y="12" clip-path="url(#clipPath24)" stroke="none"
>ClientHandler</text
></g
><g font-size="11px" transform="translate(404,1670)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="324" height="147" y="0" clip-path="url(#clipPath19)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(404,1670)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="324" height="147" y="0" clip-path="url(#clipPath19)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath19)" x2="324" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,404,1685)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath20)" stroke="none"
>-socket : ServerSocket</text
></g
><g stroke-linecap="butt" font-size="11px" transform="matrix(1,0,0,1,404,1685)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="bevel" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><line y2="19" fill="none" x1="0" clip-path="url(#clipPath20)" x2="324" y1="19"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,404,1685)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="33" clip-path="url(#clipPath20)" stroke="none"
>+TrackerManagementTCP(tracker : HostItem, logger : Logger)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,404,1685)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath20)" stroke="none"
>+run() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,404,1685)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath20)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,404,1685)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath20)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,404,1685)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath20)" stroke="none"
>#createProtocolP2PPacket(payload : T) : ProtocolP2PPacket&lt;T&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,404,1685)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath20)" stroke="none"
>#getHostItemSocket(hostItem : HostItem) : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,404,1685)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath20)" stroke="none"
>#closeHostItemSocket(hostItem : HostItem) : void</text
></g
><g font-size="11px" transform="translate(404,1670)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="98" xml:space="preserve" y="12" clip-path="url(#clipPath21)" stroke="none"
>TrackerManagementTCP</text
></g
><g font-size="11px" transform="translate(42,1345)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="300" height="372" y="0" clip-path="url(#clipPath25)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(42,1345)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="300" height="372" y="0" clip-path="url(#clipPath25)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath25)" x2="300" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath26)" stroke="none"
>#tracker : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath26)" stroke="none"
>#logger : Logger</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath26)" stroke="none"
>#hostList : HostItem = new ArrayList&lt;&gt;()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath26)" stroke="none"
>#ratioUp : Map&lt;HostItem, Long&gt; = new HashMap&lt;&gt;()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath26)" stroke="none"
>#ratioDown : Map&lt;HostItem, Long&gt; = new HashMap&lt;&gt;()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath26)" stroke="none"
>#fileList : Map&lt;String, List&lt;HostItem&gt;&gt; = new HashMap&lt;&gt;()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath26)" stroke="none"
>#fileSize : Map&lt;String, Long&gt; = new HashMap&lt;&gt;()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="119" clip-path="url(#clipPath26)" stroke="none"
>#stop : boolean</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="134" clip-path="url(#clipPath26)" stroke="none"
>#writeLock : AtomicBoolean</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="149" clip-path="url(#clipPath26)" stroke="none"
>#readLock : AtomicInteger</text
><line stroke-linecap="butt" clip-path="url(#clipPath26)" fill="none" x1="0" x2="300" y1="154" y2="154" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="168" clip-path="url(#clipPath26)" stroke="none"
>+TrackerManagement(tracker : HostItem, logger : Logger)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="183" clip-path="url(#clipPath26)" stroke="none"
>#handleDiscover(pd : T) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="198" clip-path="url(#clipPath26)" stroke="none"
>#handleRatio(pd : T) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="213" clip-path="url(#clipPath26)" stroke="none"
>#handleListResponse(pd : T, host : HostItem) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="228" clip-path="url(#clipPath26)" stroke="none"
>#handleUnregister(pd : T) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="243" clip-path="url(#clipPath26)" stroke="none"
>#getHostItemSocket(hostItem : HostItem) : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="258" clip-path="url(#clipPath26)" stroke="none"
>#closeHostItemSocket(hostItem : HostItem) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="273" clip-path="url(#clipPath26)" stroke="none"
>#handleUpdateRatio(pd : T) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="288" clip-path="url(#clipPath26)" stroke="none"
>#handleRegister(pd : T) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="303" clip-path="url(#clipPath26)" stroke="none"
>#handleListRequest(pd : T) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="318" clip-path="url(#clipPath26)" stroke="none"
>#handleSizeRequest(pd : T) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="333" clip-path="url(#clipPath26)" stroke="none"
>#handleRequest(pd : T) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,42,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="348" clip-path="url(#clipPath26)" stroke="none"
>+setStop() : void</text
></g
><g font-size="11px" transform="translate(42,1345)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="96" xml:space="preserve" y="12" clip-path="url(#clipPath27)" stroke="none"
>TrackerManagement</text
></g
><g font-size="11px" transform="translate(754,1803)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="303" height="117" y="0" clip-path="url(#clipPath28)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(754,1803)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="303" height="117" y="0" clip-path="url(#clipPath28)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath28)" x2="303" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,754,1818)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath29)" stroke="none"
>-tracker : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,754,1818)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath29)" stroke="none"
>-directories : Directories</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,754,1818)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath29)" stroke="none"
>-logger : Logger</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,754,1818)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath29)" stroke="none"
>~DEBUG : boolean = true</text
><line y2="61" fill="none" x1="2" clip-path="url(#clipPath29)" x2="127" y1="61"
/><line stroke-linecap="butt" clip-path="url(#clipPath29)" fill="none" x1="0" x2="303" y1="64" y2="64" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,754,1818)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath29)" stroke="none"
>+Tracker(hostname : String, port : int, isInteractive : boolean)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,754,1818)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath29)" stroke="none"
>+main(args : String[]) : void</text
><line y2="95" fill="none" x1="2" clip-path="url(#clipPath29)" x2="134" y1="95"
/></g
><g font-size="11px" transform="translate(754,1803)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="131" xml:space="preserve" y="12" clip-path="url(#clipPath30)" stroke="none"
>Tracker</text
></g
><g font-size="11px" transform="translate(1653,1360)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="111" height="40" y="0" clip-path="url(#clipPath31)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1653,1360)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="111" height="40" y="0" clip-path="url(#clipPath31)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath31)" x2="111" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1653,1375)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath32)" stroke="none"
>+TrackerPortRange()</text
></g
><g font-size="11px" transform="translate(1653,1360)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="6" xml:space="preserve" y="12" clip-path="url(#clipPath33)" stroke="none"
>TrackerPortRange</text
></g
><g font-size="11px" transform="translate(1668,1442)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="106" height="40" y="0" clip-path="url(#clipPath34)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1668,1442)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="106" height="40" y="0" clip-path="url(#clipPath34)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath34)" x2="106" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1668,1457)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath35)" stroke="none"
>+ServerPortRange()</text
></g
><g font-size="11px" transform="translate(1668,1442)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="7" xml:space="preserve" y="12" clip-path="url(#clipPath36)" stroke="none"
>ServerPortRange</text
></g
><g font-size="11px" transform="translate(1815,1353)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="323" height="158" y="0" clip-path="url(#clipPath37)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1815,1353)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="323" height="158" y="0" clip-path="url(#clipPath37)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath37)" x2="323" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1815,1368)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath38)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1815,1368)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath38)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1815,1368)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath38)" stroke="none"
>#createProtocolP2PPacket(payload : T) : ProtocolP2PPacket&lt;?&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1815,1368)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath38)" stroke="none"
>#sendNotATracker(pd : T) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1815,1368)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath38)" stroke="none"
>#sendInternalError(pd : T) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1815,1368)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath38)" stroke="none"
>#sendNotFound(pd : T) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1815,1368)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath38)" stroke="none"
>#sendEmptyDirectory(pd : T) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1815,1368)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="119" clip-path="url(#clipPath38)" stroke="none"
>#sendEmptyFile(pd : T) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1815,1368)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="134" clip-path="url(#clipPath38)" stroke="none"
>#sendUnknownHost(pd : T) : void</text
></g
><g font-size="11px" transform="translate(1815,1353)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="130" xml:space="preserve" y="12" clip-path="url(#clipPath39)" stroke="none"
>ServeErrors</text
></g
><g font-size="11px" transform="translate(1248,1532)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="348" height="53" y="0" clip-path="url(#clipPath40)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1248,1532)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="348" height="53" y="0" clip-path="url(#clipPath40)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath40)" x2="348" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1248,1547)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath41)" stroke="none"
>+searchByName(filesArray : String[], searchInput : String) : String[]</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1248,1547)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath41)" stroke="none"
>+searchByExtention(filesArray : String[], searchInput : String) : String[]</text
></g
><g font-size="11px" transform="translate(1248,1532)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="146" xml:space="preserve" y="12" clip-path="url(#clipPath42)" stroke="none"
>SearchFile</text
></g
><g font-size="11px" transform="translate(1276,1352)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="342" height="132" y="0" clip-path="url(#clipPath43)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1276,1352)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="342" height="132" y="0" clip-path="url(#clipPath43)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath43)" x2="342" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1276,1367)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath44)" stroke="none"
>#portMax : int</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1276,1367)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath44)" stroke="none"
>#portMin : int</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1276,1367)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath44)" stroke="none"
>#defaultPort : int</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1276,1367)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath44)" stroke="none"
>#type : String</text
><line stroke-linecap="butt" clip-path="url(#clipPath44)" fill="none" x1="0" x2="342" y1="64" y2="64" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1276,1367)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath44)" stroke="none"
>+PortRange(portMin : int, portMax : int, defaultPort : int, type : String)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1276,1367)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath44)" stroke="none"
>+isPortInRange(port : int) : boolean</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1276,1367)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath44)" stroke="none"
>+toString() : String</text
></g
><g font-size="11px" transform="translate(1276,1352)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="143" xml:space="preserve" y="12" clip-path="url(#clipPath45)" stroke="none"
>PortRange</text
></g
><g font-size="11px" transform="translate(1151,1340)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="97" height="128" y="0" clip-path="url(#clipPath46)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1151,1340)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="97" height="128" y="0" clip-path="url(#clipPath46)"
/><line y2="30" fill="none" x1="0" clip-path="url(#clipPath46)" x2="97" y1="30"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1151,1370)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath47)" stroke="none"
>Error</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1151,1370)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath47)" stroke="none"
>Info</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1151,1370)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath47)" stroke="none"
>Warning</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1151,1370)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath47)" stroke="none"
>Action</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1151,1370)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath47)" stroke="none"
>Debug</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1151,1370)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath47)" stroke="none"
>Progression</text
></g
><g font-size="11px" transform="translate(1151,1340)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="5" xml:space="preserve" y="12" clip-path="url(#clipPath48)" stroke="none"
>&lt;&lt;enumeration&gt;&gt;</text
><text x="23" xml:space="preserve" y="27" clip-path="url(#clipPath48)" font-weight="bold" stroke="none"
>LogLevel</text
></g
><g font-size="11px" transform="translate(2457,1361)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="261" height="162" y="0" clip-path="url(#clipPath49)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(2457,1361)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="261" height="162" y="0" clip-path="url(#clipPath49)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath49)" x2="261" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2457,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath50)" stroke="none"
>-logFile : Path</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2457,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath50)" stroke="none"
>-debugMode : boolean</text
><line stroke-linecap="butt" clip-path="url(#clipPath50)" fill="none" x1="0" x2="261" y1="34" y2="34" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2457,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath50)" stroke="none"
>+Logger(logFile : String, debugMode : boolean)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2457,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath50)" stroke="none"
>+write(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2457,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath50)" stroke="none"
>+write(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2457,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath50)" stroke="none"
>+writeTCP(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2457,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath50)" stroke="none"
>+writeTCP(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2457,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath50)" stroke="none"
>+writeUDP(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2457,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="138" clip-path="url(#clipPath50)" stroke="none"
>+writeUDP(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="translate(2457,1361)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="111" xml:space="preserve" y="12" clip-path="url(#clipPath51)" stroke="none"
>Logger</text
></g
><g font-size="11px" transform="translate(2189,1361)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="199" height="267" y="0" clip-path="url(#clipPath52)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(2189,1361)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="199" height="267" y="0" clip-path="url(#clipPath52)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath52)" x2="199" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2189,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath53)" stroke="none"
>-hostname : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2189,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath53)" stroke="none"
>-port : int</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2189,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath53)" stroke="none"
>-tcpSocket : Socket</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2189,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath53)" stroke="none"
>-udpSocket : DatagramSocket</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2189,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath53)" stroke="none"
>-inetAddress : InetAddress</text
><line stroke-linecap="butt" clip-path="url(#clipPath53)" fill="none" x1="0" x2="199" y1="79" y2="79" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2189,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath53)" stroke="none"
>+HostItem(hostname : String, port : int)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2189,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath53)" stroke="none"
>+getTCPSocket() : Socket</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2189,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath53)" stroke="none"
>+tryGetTCPSocket() : Socket</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2189,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="138" clip-path="url(#clipPath53)" stroke="none"
>+closeTCPSocket() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2189,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="153" clip-path="url(#clipPath53)" stroke="none"
>+getUDPSocket() : DatagramSocket</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2189,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="168" clip-path="url(#clipPath53)" stroke="none"
>+tryGetUDPSocket() : DatagramSocket</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2189,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="183" clip-path="url(#clipPath53)" stroke="none"
>+closeUDPSocket() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2189,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="198" clip-path="url(#clipPath53)" stroke="none"
>+toString() : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2189,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="213" clip-path="url(#clipPath53)" stroke="none"
>+equals(other : Object) : boolean</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2189,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="228" clip-path="url(#clipPath53)" stroke="none"
>+hashCode() : int</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2189,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="243" clip-path="url(#clipPath53)" stroke="none"
>+HostItem(s : Socket)</text
></g
><g font-size="11px" transform="translate(2189,1361)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="75" xml:space="preserve" y="12" clip-path="url(#clipPath54)" stroke="none"
>HostItem</text
></g
><g font-size="11px" transform="translate(2785,1361)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="354" height="147" y="0" clip-path="url(#clipPath55)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(2785,1361)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="354" height="147" y="0" clip-path="url(#clipPath55)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath55)" x2="354" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2785,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath56)" stroke="none"
>-projectName : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2785,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath56)" stroke="none"
>-dataHomeDirectory : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2785,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath56)" stroke="none"
>-os : String</text
><line stroke-linecap="butt" clip-path="url(#clipPath56)" fill="none" x1="0" x2="354" y1="49" y2="49" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2785,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath56)" stroke="none"
>+Directories(projectName : String)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2785,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath56)" stroke="none"
>-setDataHomeDirectory() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2785,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath56)" stroke="none"
>+createSubdir(subdir : String) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2785,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath56)" stroke="none"
>-openDataHomeDirectory(subdir : String) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2785,1376)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath56)" stroke="none"
>+askOpenDataHomeDirectory(subdir : String, scanner : Scanner) : void</text
></g
><g font-size="11px" transform="translate(2785,1361)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="148" xml:space="preserve" y="12" clip-path="url(#clipPath57)" stroke="none"
>Directories</text
></g
><g font-size="11px" transform="translate(2874,1556)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="410" height="248" y="0" clip-path="url(#clipPath58)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(2874,1556)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="410" height="248" y="0" clip-path="url(#clipPath58)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath58)" x2="410" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2874,1571)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath59)" stroke="none"
>+write(array : byte[], start : int, value : int) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2874,1571)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath59)" x2="231" y1="16"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2874,1571)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath59)" stroke="none"
>+write16Bits(array : byte[], start : int, value : int) : void</text
><line y2="31" fill="none" x1="2" clip-path="url(#clipPath59)" x2="262" y1="31"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2874,1571)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath59)" stroke="none"
>+write(array : byte[], start : int, value : long) : void</text
><line y2="46" fill="none" x1="2" clip-path="url(#clipPath59)" x2="240" y1="46"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2874,1571)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath59)" stroke="none"
>+readInt(array : byte[], start : int) : int</text
><line y2="61" fill="none" x1="2" clip-path="url(#clipPath59)" x2="180" y1="61"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2874,1571)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath59)" stroke="none"
>+readInt16Bits(array : byte[], start : int) : int</text
><line y2="76" fill="none" x1="2" clip-path="url(#clipPath59)" x2="211" y1="76"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2874,1571)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath59)" stroke="none"
>+readLong(array : byte[], start : int) : long</text
><line y2="91" fill="none" x1="2" clip-path="url(#clipPath59)" x2="202" y1="91"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2874,1571)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath59)" stroke="none"
>+cleanStrings(str : String) : String</text
><line y2="106" fill="none" x1="2" clip-path="url(#clipPath59)" x2="164" y1="106"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2874,1571)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="119" clip-path="url(#clipPath59)" stroke="none"
>+write(byteArray : byte[], strArray : String[], start : int, separator : String) : void</text
><line y2="121" fill="none" x1="2" clip-path="url(#clipPath59)" x2="379" y1="121"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2874,1571)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="134" clip-path="url(#clipPath59)" stroke="none"
>+readStringArray(byteArray : byte[], start : int, size : int, separator : String) : String[]</text
><line y2="136" fill="none" x1="2" clip-path="url(#clipPath59)" x2="405" y1="136"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2874,1571)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="149" clip-path="url(#clipPath59)" stroke="none"
>+computeStringArraySize(strArray : String[], separator : String) : int</text
><line y2="151" fill="none" x1="2" clip-path="url(#clipPath59)" x2="328" y1="151"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2874,1571)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="164" clip-path="url(#clipPath59)" stroke="none"
>+write(array : byte[], str : String, start : int) : void</text
><line y2="166" fill="none" x1="2" clip-path="url(#clipPath59)" x2="234" y1="166"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2874,1571)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="179" clip-path="url(#clipPath59)" stroke="none"
>+readString(array : byte[], start : int, size : int) : String</text
><line y2="181" fill="none" x1="2" clip-path="url(#clipPath59)" x2="260" y1="181"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2874,1571)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="194" clip-path="url(#clipPath59)" stroke="none"
>+readString(array : byte[], start : int, endStr : String) : String</text
><line y2="196" fill="none" x1="2" clip-path="url(#clipPath59)" x2="290" y1="196"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2874,1571)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="209" clip-path="url(#clipPath59)" stroke="none"
>+write(dst : byte[], src : byte[], start : int) : void</text
><line y2="211" fill="none" x1="2" clip-path="url(#clipPath59)" x2="224" y1="211"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2874,1571)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="224" clip-path="url(#clipPath59)" stroke="none"
>+readByteArray(src : byte[], start : int, end : int) : byte[]</text
><line y2="226" fill="none" x1="2" clip-path="url(#clipPath59)" x2="266" y1="226"
/></g
><g font-size="11px" transform="translate(2874,1556)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="160" xml:space="preserve" y="12" clip-path="url(#clipPath60)" stroke="none"
>BytesArrayTools</text
></g
><g font-size="11px" transform="translate(2278,2092)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="597" height="147" y="0" clip-path="url(#clipPath61)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(2278,2092)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="597" height="147" y="0" clip-path="url(#clipPath61)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath61)" x2="597" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2278,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath62)" stroke="none"
>-directories : Directories</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2278,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath62)" stroke="none"
>-subdir : String = "seeded/"</text
><line y2="31" fill="none" x1="2" clip-path="url(#clipPath62)" x2="133" y1="31"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2278,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath62)" stroke="none"
>-logger : Logger</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2278,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath62)" stroke="none"
>-tracker : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2278,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath62)" stroke="none"
>-server : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2278,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath62)" stroke="none"
>~DEBUG : boolean = true</text
><line y2="91" fill="none" x1="2" clip-path="url(#clipPath62)" x2="127" y1="91"
/><line stroke-linecap="butt" clip-path="url(#clipPath62)" fill="none" x1="0" x2="597" y1="94" y2="94" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2278,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath62)" stroke="none"
>+ServerP2P(hostnameServer : String, portServer : int, hostnameTracker : String, portTracker : int, isInteractive : boolean)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2278,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath62)" stroke="none"
>+main(args : String[]) : void</text
><line y2="125" fill="none" x1="2" clip-path="url(#clipPath62)" x2="134" y1="125"
/></g
><g font-size="11px" transform="translate(2278,2092)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="270" xml:space="preserve" y="12" clip-path="url(#clipPath63)" stroke="none"
>ServerP2P</text
></g
><g font-size="11px" transform="translate(3941,2093)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="509" height="147" y="0" clip-path="url(#clipPath64)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3941,2093)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="509" height="147" y="0" clip-path="url(#clipPath64)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath64)" x2="509" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3941,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath65)" stroke="none"
>-socket : DatagramSocket</text
></g
><g stroke-linecap="butt" font-size="11px" transform="matrix(1,0,0,1,3941,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="bevel" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><line y2="19" fill="none" x1="0" clip-path="url(#clipPath65)" x2="509" y1="19"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3941,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="33" clip-path="url(#clipPath65)" stroke="none"
>+ServerManagementUDP(baseDirectory : String, server : HostItem, tracker : HostItem, logger : Logger)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3941,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath65)" stroke="none"
>+run() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3941,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath65)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3941,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath65)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3941,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath65)" stroke="none"
>#createProtocolP2PPacket(payload : T) : ProtocolP2PPacket&lt;T&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3941,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath65)" stroke="none"
>#getTrackerSocket() : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3941,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath65)" stroke="none"
>#closeSocket() : void</text
></g
><g font-size="11px" transform="translate(3941,2093)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="192" xml:space="preserve" y="12" clip-path="url(#clipPath66)" stroke="none"
>ServerManagementUDP</text
></g
><g font-size="11px" transform="translate(3942,2493)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="168" height="87" y="0" clip-path="url(#clipPath22)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3942,2493)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="168" height="87" y="0" clip-path="url(#clipPath22)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath22)" x2="168" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3942,2508)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath23)" stroke="none"
>-addr : HostItem</text
></g
><g stroke-linecap="butt" font-size="11px" transform="matrix(1,0,0,1,3942,2508)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="bevel" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><line y2="19" fill="none" x1="0" clip-path="url(#clipPath23)" x2="168" y1="19"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3942,2508)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="33" clip-path="url(#clipPath23)" stroke="none"
>+ClientHandler(s : Socket)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3942,2508)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath23)" stroke="none"
>+run() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3942,2508)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath23)" stroke="none"
>-handleClientRequest() : boolean</text
></g
><g font-size="11px" transform="translate(3942,2493)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="48" xml:space="preserve" y="12" clip-path="url(#clipPath67)" stroke="none"
>ClientHandler</text
></g
><g font-size="11px" transform="translate(3942,2262)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="508" height="147" y="0" clip-path="url(#clipPath68)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3942,2262)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="508" height="147" y="0" clip-path="url(#clipPath68)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath68)" x2="508" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3942,2277)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath69)" stroke="none"
>-socket : ServerSocket</text
></g
><g stroke-linecap="butt" font-size="11px" transform="matrix(1,0,0,1,3942,2277)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="bevel" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><line y2="19" fill="none" x1="0" clip-path="url(#clipPath69)" x2="508" y1="19"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3942,2277)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="33" clip-path="url(#clipPath69)" stroke="none"
>+ServerManagementTCP(baseDirectory : String, server : HostItem, tracker : HostItem, logger : Logger)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3942,2277)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath69)" stroke="none"
>+run() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3942,2277)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath69)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3942,2277)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath69)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3942,2277)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath69)" stroke="none"
>#createProtocolP2PPacket(payload : T) : ProtocolP2PPacket&lt;T&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3942,2277)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath69)" stroke="none"
>#getTrackerSocket() : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3942,2277)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath69)" stroke="none"
>#closeSocket() : void</text
></g
><g font-size="11px" transform="translate(3942,2262)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="192" xml:space="preserve" y="12" clip-path="url(#clipPath70)" stroke="none"
>ServerManagementTCP</text
></g
><g font-size="11px" transform="translate(3391,2093)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="486" height="312" y="0" clip-path="url(#clipPath71)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3391,2093)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="486" height="312" y="0" clip-path="url(#clipPath71)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath71)" x2="486" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath72)" stroke="none"
>#stop : boolean</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath72)" stroke="none"
>#fileListWatcher : FileWatcher</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath72)" stroke="none"
>#logger : Logger</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath72)" stroke="none"
>#baseDirectory : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath72)" stroke="none"
>#server : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath72)" stroke="none"
>#tracker : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath72)" stroke="none"
>#punisher : Random = new Random()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="119" clip-path="url(#clipPath72)" stroke="none"
>#ratioWatcher : RatioWatcher</text
><line stroke-linecap="butt" clip-path="url(#clipPath72)" fill="none" x1="0" x2="486" y1="124" y2="124" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="138" clip-path="url(#clipPath72)" stroke="none"
>+ServerManagement(baseDirectory : String, server : HostItem, tracker : HostItem, logger : Logger)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="153" clip-path="url(#clipPath72)" stroke="none"
>+setStop() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="168" clip-path="url(#clipPath72)" stroke="none"
>#closeSocket() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="183" clip-path="url(#clipPath72)" stroke="none"
>+updateFileList() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="198" clip-path="url(#clipPath72)" stroke="none"
>#sendListResponse(pd : T) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="213" clip-path="url(#clipPath72)" stroke="none"
>#sendHashResponse(pd : T) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="228" clip-path="url(#clipPath72)" stroke="none"
>#sendLoadResponse(pd : T) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="243" clip-path="url(#clipPath72)" stroke="none"
>#sendSizeResponse(pd : T) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="258" clip-path="url(#clipPath72)" stroke="none"
>#getTrackerSocket() : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="273" clip-path="url(#clipPath72)" stroke="none"
>#sendUnregisterRequest() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3391,2108)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="288" clip-path="url(#clipPath72)" stroke="none"
>#handleRequest(pd : T) : void</text
></g
><g font-size="11px" transform="translate(3391,2093)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="191" xml:space="preserve" y="12" clip-path="url(#clipPath73)" stroke="none"
>ServerManagement</text
></g
><g font-size="11px" transform="translate(3068,2439)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="338" height="113" y="0" clip-path="url(#clipPath74)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3068,2439)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="338" height="113" y="0" clip-path="url(#clipPath74)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath74)" x2="338" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3068,2454)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath75)" stroke="none"
>+RatioWatcherUDP(logger : Logger, millis : long, tracker : HostItem)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3068,2454)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath75)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3068,2454)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath75)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3068,2454)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath75)" stroke="none"
>#createProtocolP2PPacket(payload : T) : ProtocolP2PPacket&lt;T&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3068,2454)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath75)" stroke="none"
>#getTrackerSocket() : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3068,2454)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath75)" stroke="none"
>#closeTrackerSocket() : void</text
></g
><g font-size="11px" transform="translate(3068,2439)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="121" xml:space="preserve" y="12" clip-path="url(#clipPath76)" stroke="none"
>RatioWatcherUDP</text
></g
><g font-size="11px" transform="translate(3025,2622)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="337" height="113" y="0" clip-path="url(#clipPath77)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3025,2622)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="337" height="113" y="0" clip-path="url(#clipPath77)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath77)" x2="337" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3025,2637)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath78)" stroke="none"
>+RatioWatcherTCP(logger : Logger, millis : long, tracker : HostItem)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3025,2637)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath78)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3025,2637)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath78)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3025,2637)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath78)" stroke="none"
>#createProtocolP2PPacket(payload : T) : ProtocolP2PPacket&lt;T&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3025,2637)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath78)" stroke="none"
>#getTrackerSocket() : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3025,2637)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath78)" stroke="none"
>#closeTrackerSocket() : void</text
></g
><g font-size="11px" transform="translate(3025,2622)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="122" xml:space="preserve" y="12" clip-path="url(#clipPath76)" stroke="none"
>RatioWatcherTCP</text
></g
><g font-size="11px" transform="translate(2917,2092)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="383" height="312" y="0" clip-path="url(#clipPath79)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(2917,2092)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="383" height="312" y="0" clip-path="url(#clipPath79)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath79)" x2="383" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath80)" stroke="none"
>~punishmentFactor : double = 1.2</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath80)" x2="166" y1="16"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath80)" stroke="none"
>#logger : Logger</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath80)" stroke="none"
>#stop : boolean</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath80)" stroke="none"
>#time : long</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath80)" stroke="none"
>#force : boolean</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath80)" stroke="none"
>#tracker : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath80)" stroke="none"
>#thread : Thread</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="119" clip-path="url(#clipPath80)" stroke="none"
>#cachePunishmentProbability : Map&lt;HostItem, Double&gt; = new HashMap&lt;&gt;()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="134" clip-path="url(#clipPath80)" stroke="none"
>#lock : boolean</text
><line stroke-linecap="butt" clip-path="url(#clipPath80)" fill="none" x1="0" x2="383" y1="139" y2="139" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="153" clip-path="url(#clipPath80)" stroke="none"
>+RatioWatcher(logger : Logger, millis : long, tracker : HostItem)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="168" clip-path="url(#clipPath80)" stroke="none"
>+run() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="183" clip-path="url(#clipPath80)" stroke="none"
>#clean() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="198" clip-path="url(#clipPath80)" stroke="none"
>#getPunishmentProbability(application : HostItem) : double</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="213" clip-path="url(#clipPath80)" stroke="none"
>+setStop() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="228" clip-path="url(#clipPath80)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="243" clip-path="url(#clipPath80)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="258" clip-path="url(#clipPath80)" stroke="none"
>#createProtocolP2PPacket(payload : T) : ProtocolP2PPacket&lt;?&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="273" clip-path="url(#clipPath80)" stroke="none"
>#getTrackerSocket() : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2917,2107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="288" clip-path="url(#clipPath80)" stroke="none"
>#closeTrackerSocket() : void</text
></g
><g font-size="11px" transform="translate(2917,2092)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="156" xml:space="preserve" y="12" clip-path="url(#clipPath81)" stroke="none"
>RatioWatcher</text
></g
><g font-size="11px" transform="translate(3578,2879)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="532" height="83" y="0" clip-path="url(#clipPath82)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3578,2879)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="532" height="83" y="0" clip-path="url(#clipPath82)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath82)" x2="532" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3578,2894)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath83)" stroke="none"
>+FileWatcherUDP(logger : Logger, millis : long, server : HostItem, tracker : HostItem, baseDirectory : String)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3578,2894)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath83)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3578,2894)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath83)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3578,2894)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath83)" stroke="none"
>#registerTracker() : void</text
></g
><g font-size="11px" transform="translate(3578,2879)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="223" xml:space="preserve" y="12" clip-path="url(#clipPath84)" stroke="none"
>FileWatcherUDP</text
></g
><g font-size="11px" transform="translate(3578,2796)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="531" height="83" y="0" clip-path="url(#clipPath85)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3578,2796)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="531" height="83" y="0" clip-path="url(#clipPath85)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath85)" x2="531" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3578,2811)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath86)" stroke="none"
>+FileWatcherTCP(logger : Logger, millis : long, server : HostItem, tracker : HostItem, baseDirectory : String)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3578,2811)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath86)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3578,2811)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath86)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3578,2811)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath86)" stroke="none"
>#registerTracker() : void</text
></g
><g font-size="11px" transform="translate(3578,2796)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="223" xml:space="preserve" y="12" clip-path="url(#clipPath87)" stroke="none"
>FileWatcherTCP</text
></g
><g font-size="11px" transform="translate(2322,2568)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="509" height="327" y="0" clip-path="url(#clipPath88)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(2322,2568)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="509" height="327" y="0" clip-path="url(#clipPath88)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath88)" x2="509" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath89)" stroke="none"
>#fileList : String[] = new String[0]</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath89)" stroke="none"
>#logger : Logger</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath89)" stroke="none"
>#stop : boolean</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath89)" stroke="none"
>#time : long</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath89)" stroke="none"
>#force : boolean</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath89)" stroke="none"
>#server : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath89)" stroke="none"
>#tracker : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="119" clip-path="url(#clipPath89)" stroke="none"
>#baseDirectory : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="134" clip-path="url(#clipPath89)" stroke="none"
>#sha512 : Map&lt;String, byte[]&gt; = new HashMap&lt;&gt;()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="149" clip-path="url(#clipPath89)" stroke="none"
>#thread : Thread</text
><line stroke-linecap="butt" clip-path="url(#clipPath89)" fill="none" x1="0" x2="509" y1="154" y2="154" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="168" clip-path="url(#clipPath89)" stroke="none"
>+FileWatcher(logger : Logger, millis : long, server : HostItem, tracker : HostItem, baseDirectory : String)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="183" clip-path="url(#clipPath89)" stroke="none"
>+getSha512Map() : Map&lt;String, byte[]&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="198" clip-path="url(#clipPath89)" stroke="none"
>+trigger() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="213" clip-path="url(#clipPath89)" stroke="none"
>+run() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="228" clip-path="url(#clipPath89)" stroke="none"
>#registerTracker() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="243" clip-path="url(#clipPath89)" stroke="none"
>#updateFileList() : boolean</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="258" clip-path="url(#clipPath89)" stroke="none"
>+setStop() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="273" clip-path="url(#clipPath89)" stroke="none"
>#initSha512() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="288" clip-path="url(#clipPath89)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2322,2583)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="303" clip-path="url(#clipPath89)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="translate(2322,2568)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="222" xml:space="preserve" y="12" clip-path="url(#clipPath70)" stroke="none"
>FileWatcher</text
></g
><g font-size="11px" transform="translate(4527,562)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(4527,562)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath90)" x2="154" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,4527,577)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath91)" stroke="none"
>-serialVersionUID : long = 12L</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4527,577)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath91)" x2="149" y1="16"
/></g
><g font-size="11px" transform="translate(4527,562)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="23" xml:space="preserve" y="12" clip-path="url(#clipPath92)" stroke="none"
>VersionRemoteError</text
></g
><g font-size="11px" transform="translate(4526,492)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(4526,492)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath90)" x2="154" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,4526,507)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath91)" stroke="none"
>-serialVersionUID : long = 12L</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4526,507)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath91)" x2="149" y1="16"
/></g
><g font-size="11px" transform="translate(4526,492)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="40" xml:space="preserve" y="12" clip-path="url(#clipPath92)" stroke="none"
>UnknownHost</text
></g
><g font-size="11px" transform="translate(4526,412)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(4526,412)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath90)" x2="154" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,4526,427)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath91)" stroke="none"
>-serialVersionUID : long = 12L</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4526,427)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath91)" x2="149" y1="16"
/></g
><g font-size="11px" transform="translate(4526,412)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="21" xml:space="preserve" y="12" clip-path="url(#clipPath92)" stroke="none"
>ProtocolRemoteError</text
></g
><g font-size="11px" transform="translate(4526,332)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(4526,332)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath90)" x2="154" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,4526,347)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath91)" stroke="none"
>-serialVersionUID : long = 12L</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4526,347)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath91)" x2="149" y1="16"
/></g
><g font-size="11px" transform="translate(4526,332)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="51" xml:space="preserve" y="12" clip-path="url(#clipPath92)" stroke="none"
>NotFound</text
></g
><g font-size="11px" transform="translate(4526,272)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(4526,272)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath90)" x2="154" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,4526,287)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath91)" stroke="none"
>-serialVersionUID : long = 12L</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4526,287)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath91)" x2="149" y1="16"
/></g
><g font-size="11px" transform="translate(4526,272)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="43" xml:space="preserve" y="12" clip-path="url(#clipPath92)" stroke="none"
>NotATracker</text
></g
><g font-size="11px" transform="translate(4526,205)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(4526,205)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath90)" x2="154" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,4526,220)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath91)" stroke="none"
>-serialVersionUID : long = 12L</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4526,220)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath91)" x2="149" y1="16"
/></g
><g font-size="11px" transform="translate(4526,205)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="24" xml:space="preserve" y="12" clip-path="url(#clipPath92)" stroke="none"
>InternalRemoteError</text
></g
><g font-size="11px" transform="translate(4526,132)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(4526,132)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath90)" x2="154" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,4526,147)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath91)" stroke="none"
>-serialVersionUID : long = 12L</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4526,147)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath91)" x2="149" y1="16"
/></g
><g font-size="11px" transform="translate(4526,132)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="51" xml:space="preserve" y="12" clip-path="url(#clipPath92)" stroke="none"
>EmptyFile</text
></g
><g font-size="11px" transform="translate(4526,60)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(4526,60)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath90)" x2="154" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,4526,75)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath91)" stroke="none"
>-serialVersionUID : long = 12L</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4526,75)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath91)" x2="149" y1="16"
/></g
><g font-size="11px" transform="translate(4526,60)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="36" xml:space="preserve" y="12" clip-path="url(#clipPath92)" stroke="none"
>EmptyDirectory</text
></g
><g font-size="11px" transform="translate(1615,2086)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="422" height="177" y="0" clip-path="url(#clipPath93)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1615,2086)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="422" height="177" y="0" clip-path="url(#clipPath93)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath93)" x2="422" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1615,2101)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath94)" stroke="none"
>-client : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1615,2101)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath94)" stroke="none"
>-server : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1615,2101)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath94)" stroke="none"
>-dataSize : long</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1615,2101)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath94)" stroke="none"
>-DATA_SIZE_POSITION : int = PAYLOAD_START_POSITION</text
><line y2="61" fill="none" x1="2" clip-path="url(#clipPath94)" x2="310" y1="61"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1615,2101)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath94)" stroke="none"
>-SERVER_PORT_START_POSITION : int = DATA_SIZE_POSITION + 8</text
><line y2="76" fill="none" x1="2" clip-path="url(#clipPath94)" x2="359" y1="76"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1615,2101)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath94)" stroke="none"
>-CLIENT_PORT_START_POSITION : int = SERVER_PORT_START_POSITION + 2</text
><line y2="91" fill="none" x1="2" clip-path="url(#clipPath94)" x2="417" y1="91"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1615,2101)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath94)" stroke="none"
>-HOSTNAMES_START_POSITION : int = CLIENT_PORT_START_POSITION + 2</text
><line y2="106" fill="none" x1="2" clip-path="url(#clipPath94)" x2="405" y1="106"
/><line stroke-linecap="butt" clip-path="url(#clipPath94)" fill="none" x1="0" x2="422" y1="109" y2="109" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1615,2101)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath94)" stroke="none"
>+UpdateRatio(client : HostItem, server : HostItem, dataSize : long)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1615,2101)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="138" clip-path="url(#clipPath94)" stroke="none"
>#UpdateRatio(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1615,2101)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="153" clip-path="url(#clipPath94)" stroke="none"
>#toPacket() : byte[]</text
></g
><g font-size="11px" transform="translate(1615,2086)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="178" xml:space="preserve" y="12" clip-path="url(#clipPath95)" stroke="none"
>UpdateRatio</text
></g
><g font-size="11px" transform="translate(1635,2871)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="379" height="102" y="0" clip-path="url(#clipPath96)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1635,2871)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="379" height="102" y="0" clip-path="url(#clipPath96)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath96)" x2="379" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1635,2886)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath97)" stroke="none"
>-hostItem : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1635,2886)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath97)" stroke="none"
>-HOSTNAME_START_POSITION : int = PAYLOAD_START_POSITION + 2</text
><line y2="31" fill="none" x1="2" clip-path="url(#clipPath97)" x2="374" y1="31"
/><line stroke-linecap="butt" clip-path="url(#clipPath97)" fill="none" x1="0" x2="379" y1="34" y2="34" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1635,2886)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath97)" stroke="none"
>+Unregister(hostItem : HostItem)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1635,2886)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath97)" stroke="none"
>#Unregister(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1635,2886)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath97)" stroke="none"
>#toPacket() : byte[]</text
></g
><g font-size="11px" transform="translate(1635,2871)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="161" xml:space="preserve" y="12" clip-path="url(#clipPath98)" stroke="none"
>Unregister</text
></g
><g font-size="11px" transform="translate(1242,2848)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="321" height="132" y="0" clip-path="url(#clipPath99)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1242,2848)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="321" height="132" y="0" clip-path="url(#clipPath99)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath99)" x2="321" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1242,2863)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath100)" stroke="none"
>-filename : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1242,2863)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath100)" stroke="none"
>-totalSize : long</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1242,2863)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath100)" stroke="none"
>-TOTAL_SIZE_POSITION : int = PAYLOAD_START_POSITION</text
><line y2="46" fill="none" x1="2" clip-path="url(#clipPath100)" x2="316" y1="46"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1242,2863)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath100)" stroke="none"
>-FILENAME_POSITION : int = TOTAL_SIZE_POSITION + 8</text
><line y2="61" fill="none" x1="2" clip-path="url(#clipPath100)" x2="296" y1="61"
/><line stroke-linecap="butt" clip-path="url(#clipPath100)" fill="none" x1="0" x2="321" y1="64" y2="64" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1242,2863)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath100)" stroke="none"
>+SizeResponse(filename : String, totalSize : long)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1242,2863)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath100)" stroke="none"
>#SizeResponse(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1242,2863)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath100)" stroke="none"
>#toPacket() : byte[]</text
></g
><g font-size="11px" transform="translate(1242,2848)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="123" xml:space="preserve" y="12" clip-path="url(#clipPath101)" stroke="none"
>SizeResponse</text
></g
><g font-size="11px" transform="translate(1043,2738)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="163" height="87" y="0" clip-path="url(#clipPath102)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1043,2738)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="163" height="87" y="0" clip-path="url(#clipPath102)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath102)" x2="163" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1043,2753)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath103)" stroke="none"
>-filename : String</text
></g
><g stroke-linecap="butt" font-size="11px" transform="matrix(1,0,0,1,1043,2753)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="bevel" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><line y2="19" fill="none" x1="0" clip-path="url(#clipPath103)" x2="163" y1="19"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1043,2753)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="33" clip-path="url(#clipPath103)" stroke="none"
>+SizeRequest(filename : String)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1043,2753)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath103)" stroke="none"
>#SizeRequest(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1043,2753)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath103)" stroke="none"
>#toPacket() : byte[]</text
></g
><g font-size="11px" transform="translate(1043,2738)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="48" xml:space="preserve" y="12" clip-path="url(#clipPath104)" stroke="none"
>SizeRequest</text
></g
><g font-size="11px" transform="translate(349,2558)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="355" height="496" y="0" clip-path="url(#clipPath105)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(349,2558)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="355" height="496" y="0" clip-path="url(#clipPath105)"
/><line y2="30" fill="none" x1="0" clip-path="url(#clipPath105)" x2="355" y1="30"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath106)" stroke="none"
>+codeType : CodeType</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath106)" stroke="none"
>+codeValue : byte</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath106)" stroke="none"
>#RRCODE_POSITION : int = 1</text
><line y2="46" fill="none" x1="2" clip-path="url(#clipPath106)" x2="154" y1="46"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath106)" stroke="none"
>-BY_CODE : Map&lt;Byte, RequestResponseCode&gt; = new HashMap&lt;&gt;()</text
><line y2="61" fill="none" x1="2" clip-path="url(#clipPath106)" x2="350" y1="61"
/><line stroke-linecap="butt" clip-path="url(#clipPath106)" fill="none" x1="0" x2="355" y1="64" y2="64" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath106)" stroke="none"
>-RequestResponseCode(codeType : CodeType, codeValue : byte)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath106)" stroke="none"
>#fromCode(code : byte) : RequestResponseCode</text
><line y2="95" fill="none" x1="2" clip-path="url(#clipPath106)" x2="244" y1="95"
/><line stroke-linecap="butt" clip-path="url(#clipPath106)" fill="none" x1="0" x2="355" y1="98" y2="98" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="112" clip-path="url(#clipPath106)" stroke="none"
>LIST_REQUEST</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="127" clip-path="url(#clipPath106)" stroke="none"
>LOAD_REQUEST</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="142" clip-path="url(#clipPath106)" stroke="none"
>HASH_REQUEST</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="157" clip-path="url(#clipPath106)" stroke="none"
>DISCOVER_REQUEST</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="172" clip-path="url(#clipPath106)" stroke="none"
>REGISTER</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="187" clip-path="url(#clipPath106)" stroke="none"
>UNREGISTER</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="202" clip-path="url(#clipPath106)" stroke="none"
>RATIO_REQUEST</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="217" clip-path="url(#clipPath106)" stroke="none"
>UPDATE_RATIO</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="232" clip-path="url(#clipPath106)" stroke="none"
>SIZE_REQUEST</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="247" clip-path="url(#clipPath106)" stroke="none"
>LIST_RESPONSE</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="262" clip-path="url(#clipPath106)" stroke="none"
>LOAD_RESPONSE</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="277" clip-path="url(#clipPath106)" stroke="none"
>HASH_RESPONSE</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="292" clip-path="url(#clipPath106)" stroke="none"
>DISCOVER_RESPONSE</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="307" clip-path="url(#clipPath106)" stroke="none"
>RATIO_RESPONSE</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="322" clip-path="url(#clipPath106)" stroke="none"
>DENIED</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="337" clip-path="url(#clipPath106)" stroke="none"
>SIZE_RESPONSE</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="352" clip-path="url(#clipPath106)" stroke="none"
>VERSION_ERROR</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="367" clip-path="url(#clipPath106)" stroke="none"
>PROTOCOL_ERROR</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="382" clip-path="url(#clipPath106)" stroke="none"
>INTERNAL_ERROR</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="397" clip-path="url(#clipPath106)" stroke="none"
>EMPTY_DIRECTORY</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="412" clip-path="url(#clipPath106)" stroke="none"
>NOT_FOUND</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="427" clip-path="url(#clipPath106)" stroke="none"
>EMPTY_FILE</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="442" clip-path="url(#clipPath106)" stroke="none"
>NOT_A_TRACKER</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,349,2588)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="457" clip-path="url(#clipPath106)" stroke="none"
>UNKNOWN_HOST</text
></g
><g font-size="11px" transform="translate(349,2558)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="134" xml:space="preserve" y="12" clip-path="url(#clipPath107)" stroke="none"
>&lt;&lt;enumeration&gt;&gt;</text
><text x="115" xml:space="preserve" y="27" clip-path="url(#clipPath107)" font-weight="bold" stroke="none"
>RequestResponseCode</text
></g
><g font-size="11px" transform="translate(1627,2531)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="379" height="102" y="0" clip-path="url(#clipPath96)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1627,2531)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="379" height="102" y="0" clip-path="url(#clipPath96)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath96)" x2="379" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1627,2546)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath97)" stroke="none"
>-hostItem : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1627,2546)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath97)" stroke="none"
>-HOSTNAME_START_POSITION : int = PAYLOAD_START_POSITION + 2</text
><line y2="31" fill="none" x1="2" clip-path="url(#clipPath97)" x2="374" y1="31"
/><line stroke-linecap="butt" clip-path="url(#clipPath97)" fill="none" x1="0" x2="379" y1="34" y2="34" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1627,2546)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath97)" stroke="none"
>+Register(hostItem : HostItem)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1627,2546)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath97)" stroke="none"
>#Register(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1627,2546)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath97)" stroke="none"
>#toPacket() : byte[]</text
></g
><g font-size="11px" transform="translate(1627,2531)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="166" xml:space="preserve" y="12" clip-path="url(#clipPath98)" stroke="none"
>Register</text
></g
><g font-size="11px" transform="translate(1627,2308)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="398" height="177" y="0" clip-path="url(#clipPath108)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1627,2308)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="398" height="177" y="0" clip-path="url(#clipPath108)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath108)" x2="398" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1627,2323)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath109)" stroke="none"
>-hostItem : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1627,2323)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath109)" stroke="none"
>-totalUp : long</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1627,2323)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath109)" stroke="none"
>-totalDown : long</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1627,2323)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath109)" stroke="none"
>-TOTAL_UP_START_POSITION : int = PAYLOAD_START_POSITION</text
><line y2="61" fill="none" x1="2" clip-path="url(#clipPath109)" x2="350" y1="61"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1627,2323)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath109)" stroke="none"
>-TOTAL_DOWN_START_POSITION : int = TOTAL_UP_START_POSITION + 8</text
><line y2="76" fill="none" x1="2" clip-path="url(#clipPath109)" x2="393" y1="76"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1627,2323)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath109)" stroke="none"
>-PORT_START_POSITION : int = TOTAL_DOWN_START_POSITION + 8</text
><line y2="91" fill="none" x1="2" clip-path="url(#clipPath109)" x2="366" y1="91"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1627,2323)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath109)" stroke="none"
>-HOSTNAME_START_POSITION : int = PORT_START_POSITION + 2</text
><line y2="106" fill="none" x1="2" clip-path="url(#clipPath109)" x2="352" y1="106"
/><line stroke-linecap="butt" clip-path="url(#clipPath109)" fill="none" x1="0" x2="398" y1="109" y2="109" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1627,2323)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath109)" stroke="none"
>+RatioResponse(hostItem : HostItem, totalUp : long, totalDown : long)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1627,2323)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="138" clip-path="url(#clipPath109)" stroke="none"
>#RatioResponse(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1627,2323)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="153" clip-path="url(#clipPath109)" stroke="none"
>#toPacket() : byte[]</text
></g
><g font-size="11px" transform="translate(1627,2308)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="158" xml:space="preserve" y="12" clip-path="url(#clipPath110)" stroke="none"
>RatioResponse</text
></g
><g font-size="11px" transform="translate(1169,2086)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="379" height="102" y="0" clip-path="url(#clipPath96)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1169,2086)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="379" height="102" y="0" clip-path="url(#clipPath96)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath96)" x2="379" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1169,2101)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath97)" stroke="none"
>-hostItem : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1169,2101)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath97)" stroke="none"
>-HOSTNAME_START_POSITION : int = PAYLOAD_START_POSITION + 2</text
><line y2="31" fill="none" x1="2" clip-path="url(#clipPath97)" x2="374" y1="31"
/><line stroke-linecap="butt" clip-path="url(#clipPath97)" fill="none" x1="0" x2="379" y1="34" y2="34" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1169,2101)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath97)" stroke="none"
>+RatioRequest(hostItem : HostItem)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1169,2101)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath97)" stroke="none"
>#RatioRequest(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1169,2101)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath97)" stroke="none"
>#toPacket() : byte[]</text
></g
><g font-size="11px" transform="translate(1169,2086)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="154" xml:space="preserve" y="12" clip-path="url(#clipPath98)" stroke="none"
>RatioRequest</text
></g
><g font-size="11px" transform="translate(1637,3022)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="370" height="327" y="0" clip-path="url(#clipPath111)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1637,3022)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="370" height="327" y="0" clip-path="url(#clipPath111)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath111)" x2="370" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath112)" stroke="none"
>-CHECKSUM_POSITION : int = 2</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath112)" x2="167" y1="16"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath112)" stroke="none"
>-remoteHost : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath112)" stroke="none"
>-responseSocketAddress : SocketAddress</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath112)" stroke="none"
>-responseSocket : DatagramSocket</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath112)" stroke="none"
>-requestSocket : DatagramSocket</text
><line stroke-linecap="butt" clip-path="url(#clipPath112)" fill="none" x1="0" x2="370" y1="79" y2="79" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath112)" stroke="none"
>+ProtocolP2PPacketUDP(payload : T)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath112)" stroke="none"
>#send(socket : DatagramSocket) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath112)" stroke="none"
>#send(socket : DatagramSocket, addr : SocketAddress) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="138" clip-path="url(#clipPath112)" stroke="none"
>+sendRequest(socket : Object) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="153" clip-path="url(#clipPath112)" stroke="none"
>+ProtocolP2PPacketUDP(socket : Object)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="168" clip-path="url(#clipPath112)" stroke="none"
>+sendResponse(response : U) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="183" clip-path="url(#clipPath112)" stroke="none"
>+receiveResponse() : ProtocolP2PPacket&lt;?&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="198" clip-path="url(#clipPath112)" stroke="none"
>-ProtocolP2PPacketUDP(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="213" clip-path="url(#clipPath112)" stroke="none"
>-constructPacket(packet : byte[]) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="228" clip-path="url(#clipPath112)" stroke="none"
>-constructPacket(packet : byte[], responseSocket : DatagramSocket) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="243" clip-path="url(#clipPath112)" stroke="none"
>#toPacket() : byte[]</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="258" clip-path="url(#clipPath112)" stroke="none"
>-computeCheckSum(packet : byte[]) : int</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="273" clip-path="url(#clipPath112)" stroke="none"
>-setCheckSum(packet : byte[]) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="288" clip-path="url(#clipPath112)" stroke="none"
>-checkCheckSum(packet : byte[]) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1637,3037)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="303" clip-path="url(#clipPath112)" stroke="none"
>+getHostItem() : HostItem</text
></g
><g font-size="11px" transform="translate(1637,3022)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="122" xml:space="preserve" y="12" clip-path="url(#clipPath113)" stroke="none"
>ProtocolP2PPacketUDP</text
></g
><g font-size="11px" transform="translate(1145,3402)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="322" height="222" y="0" clip-path="url(#clipPath114)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1145,3402)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="322" height="222" y="0" clip-path="url(#clipPath114)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath114)" x2="322" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1145,3417)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath115)" stroke="none"
>-responseSocket : Socket</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1145,3417)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath115)" stroke="none"
>-requestSocket : Socket</text
><line stroke-linecap="butt" clip-path="url(#clipPath115)" fill="none" x1="0" x2="322" y1="34" y2="34" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1145,3417)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath115)" stroke="none"
>+ProtocolP2PPacketTCP(payload : T)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1145,3417)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath115)" stroke="none"
>#send(socket : Socket) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1145,3417)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath115)" stroke="none"
>+sendRequest(socket : Object) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1145,3417)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath115)" stroke="none"
>+ProtocolP2PPacketTCP(socket : Object)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1145,3417)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath115)" stroke="none"
>+sendResponse(response : U) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1145,3417)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath115)" stroke="none"
>+receiveResponse() : ProtocolP2PPacket&lt;?&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1145,3417)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="138" clip-path="url(#clipPath115)" stroke="none"
>-ProtocolP2PPacketTCP(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1145,3417)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="153" clip-path="url(#clipPath115)" stroke="none"
>-constructPacket(packet : byte[]) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1145,3417)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="168" clip-path="url(#clipPath115)" stroke="none"
>-constructPacket(packet : byte[], responseSocket : Socket) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1145,3417)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="183" clip-path="url(#clipPath115)" stroke="none"
>#toPacket() : byte[]</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1145,3417)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="198" clip-path="url(#clipPath115)" stroke="none"
>+getHostItem() : HostItem</text
></g
><g font-size="11px" transform="translate(1145,3402)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="99" xml:space="preserve" y="12" clip-path="url(#clipPath101)" stroke="none"
>ProtocolP2PPacketTCP</text
></g
><g font-size="11px" transform="translate(814,3383)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="229" height="207" y="0" clip-path="url(#clipPath116)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(814,3383)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="229" height="207" y="0" clip-path="url(#clipPath116)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath116)" x2="229" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,814,3398)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath117)" stroke="none"
>-PROTOCOL_VERSION : byte = 0x12</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,814,3398)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath117)" x2="189" y1="16"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,814,3398)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath117)" stroke="none"
>#VERSION_POSITION : int = 0</text
><line y2="31" fill="none" x1="2" clip-path="url(#clipPath117)" x2="156" y1="31"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,814,3398)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath117)" stroke="none"
>#version : byte</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,814,3398)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath117)" stroke="none"
>#payload : Payload</text
><line stroke-linecap="butt" clip-path="url(#clipPath117)" fill="none" x1="0" x2="229" y1="64" y2="64" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,814,3398)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath117)" stroke="none"
>+ProtocolP2PPacket(payload : T)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,814,3398)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath117)" stroke="none"
>+sendRequest(socket : Object) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,814,3398)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath117)" stroke="none"
>+sendResponse(response : U) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,814,3398)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath117)" stroke="none"
>+getHostItem() : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,814,3398)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="138" clip-path="url(#clipPath117)" stroke="none"
>+receiveResponse() : ProtocolP2PPacket&lt;?&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,814,3398)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="153" clip-path="url(#clipPath117)" stroke="none"
>#ProtocolP2PPacket(socket : Object)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,814,3398)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="168" clip-path="url(#clipPath117)" stroke="none"
>#ProtocolP2PPacket(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,814,3398)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="183" clip-path="url(#clipPath117)" stroke="none"
>#checkProtocolVersion() : void</text
></g
><g font-size="11px" transform="translate(814,3383)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="64" xml:space="preserve" y="12" clip-path="url(#clipPath118)" stroke="none"
>ProtocolP2PPacket</text
></g
><g font-size="11px" transform="translate(917,2468)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="299" height="162" y="0" clip-path="url(#clipPath119)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(917,2468)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="299" height="162" y="0" clip-path="url(#clipPath119)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath119)" x2="299" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,917,2483)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath120)" stroke="none"
>#requestResponseCode : RequestResponseCode</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,917,2483)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath120)" stroke="none"
>#PAYLOAD_SIZE_POSITION : int = 4</text
><line y2="31" fill="none" x1="2" clip-path="url(#clipPath120)" x2="189" y1="31"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,917,2483)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath120)" stroke="none"
>#PAYLOAD_START_POSITION : int = 8</text
><line y2="46" fill="none" x1="2" clip-path="url(#clipPath120)" x2="200" y1="46"
/><line stroke-linecap="butt" clip-path="url(#clipPath120)" fill="none" x1="0" x2="299" y1="49" y2="49" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,917,2483)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath120)" stroke="none"
>+Payload(requestResponseCode : RequestResponseCode)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,917,2483)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath120)" stroke="none"
>#Payload(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,917,2483)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath120)" stroke="none"
>-checkRequestResponseCode() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,917,2483)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath120)" stroke="none"
>#toPacket() : byte[]</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,917,2483)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath120)" stroke="none"
>#setPayloadSize(size : int, packet : byte[]) : void</text
><line y2="125" fill="none" x1="2" clip-path="url(#clipPath120)" x2="236" y1="125"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,917,2483)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="138" clip-path="url(#clipPath120)" stroke="none"
>#getPayloadSize(packet : byte[]) : int</text
><line y2="140" fill="none" x1="2" clip-path="url(#clipPath120)" x2="181" y1="140"
/></g
><g font-size="11px" transform="translate(917,2468)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="128" xml:space="preserve" y="12" clip-path="url(#clipPath27)" stroke="none"
>Payload</text
></g
><g font-size="11px" transform="translate(667,2088)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="478" height="192" y="0" clip-path="url(#clipPath121)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(667,2088)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="478" height="192" y="0" clip-path="url(#clipPath121)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath121)" x2="478" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,667,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath122)" stroke="none"
>-filename : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,667,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath122)" stroke="none"
>-maxSizePartialContent : long</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,667,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath122)" stroke="none"
>-offset : long</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,667,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath122)" stroke="none"
>-hostItem : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,667,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath122)" stroke="none"
>-OFFSET_POSITION : int = PAYLOAD_START_POSITION</text
><line y2="76" fill="none" x1="2" clip-path="url(#clipPath122)" x2="294" y1="76"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,667,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath122)" stroke="none"
>-MAX_SIZE_PARTIAL_CONTENT_POSITION : int = OFFSET_POSITION + 8</text
><line y2="91" fill="none" x1="2" clip-path="url(#clipPath122)" x2="384" y1="91"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,667,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath122)" stroke="none"
>-FILENAME_SIZE_POSITION : int = MAX_SIZE_PARTIAL_CONTENT_POSITION + 8</text
><line y2="106" fill="none" x1="2" clip-path="url(#clipPath122)" x2="426" y1="106"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,667,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="119" clip-path="url(#clipPath122)" stroke="none"
>-FILENAME_POSITION : int = FILENAME_SIZE_POSITION + 4</text
><line y2="121" fill="none" x1="2" clip-path="url(#clipPath122)" x2="316" y1="121"
/><line stroke-linecap="butt" clip-path="url(#clipPath122)" fill="none" x1="0" x2="478" y1="124" y2="124" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,667,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="138" clip-path="url(#clipPath122)" stroke="none"
>+LoadRequest(filename : String, offset : long, maxSizePartialContent : long, hostItem : HostItem)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,667,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="153" clip-path="url(#clipPath122)" stroke="none"
>#LoadRequest(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,667,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="168" clip-path="url(#clipPath122)" stroke="none"
>#toPacket() : byte[]</text
></g
><g font-size="11px" transform="translate(667,2088)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="204" xml:space="preserve" y="12" clip-path="url(#clipPath123)" stroke="none"
>LoadRequest</text
></g
><g font-size="11px" transform="translate(189,2088)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="366" height="147" y="0" clip-path="url(#clipPath124)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(189,2088)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="366" height="147" y="0" clip-path="url(#clipPath124)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath124)" x2="366" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,189,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath125)" stroke="none"
>-filename : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,189,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath125)" stroke="none"
>-hashes : Map&lt;HashAlgorithm, byte[]&gt; = new HashMap&lt;&gt;()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,189,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath125)" stroke="none"
>-FILENAME_SIZE_POSITION : int = PAYLOAD_START_POSITION</text
><line y2="46" fill="none" x1="2" clip-path="url(#clipPath125)" x2="336" y1="46"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,189,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath125)" stroke="none"
>-FILENAME_POSITION : int = FILENAME_SIZE_POSITION + 4</text
><line y2="61" fill="none" x1="2" clip-path="url(#clipPath125)" x2="316" y1="61"
/><line stroke-linecap="butt" clip-path="url(#clipPath125)" fill="none" x1="0" x2="366" y1="64" y2="64" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,189,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath125)" stroke="none"
>+HashResponse(filename : String, hashes : Map&lt;HashAlgorithm, byte[]&gt;)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,189,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath125)" stroke="none"
>#HashResponse(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,189,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath125)" stroke="none"
>#toPacket() : byte[]</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,189,2103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath125)" stroke="none"
>+getHash(hashAlgo : HashAlgorithm) : byte[]</text
></g
><g font-size="11px" transform="translate(189,2088)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="142" xml:space="preserve" y="12" clip-path="url(#clipPath126)" stroke="none"
>HashResponse</text
></g
><g font-size="11px" transform="translate(1222,3033)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="341" height="132" y="0" clip-path="url(#clipPath127)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1222,3033)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="341" height="132" y="0" clip-path="url(#clipPath127)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath127)" x2="341" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1222,3048)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath128)" stroke="none"
>-filename : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1222,3048)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath128)" stroke="none"
>-algoList : HashAlgorithm[]</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1222,3048)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath128)" stroke="none"
>-FILENAME_SIZE_POSITION : int = PAYLOAD_START_POSITION</text
><line y2="46" fill="none" x1="2" clip-path="url(#clipPath128)" x2="336" y1="46"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1222,3048)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath128)" stroke="none"
>-FILENAME_POSITION : int = FILENAME_SIZE_POSITION + 4</text
><line y2="61" fill="none" x1="2" clip-path="url(#clipPath128)" x2="316" y1="61"
/><line stroke-linecap="butt" clip-path="url(#clipPath128)" fill="none" x1="0" x2="341" y1="64" y2="64" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1222,3048)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath128)" stroke="none"
>+HashRequest(filename : String, algoList : HashAlgorithm[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1222,3048)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath128)" stroke="none"
>#HashRequest(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1222,3048)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath128)" stroke="none"
>#toPacket() : byte[]</text
></g
><g font-size="11px" transform="translate(1222,3033)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="134" xml:space="preserve" y="12" clip-path="url(#clipPath129)" stroke="none"
>HashRequest</text
></g
><g font-size="11px" transform="translate(1169,3199)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="317" height="151" y="0" clip-path="url(#clipPath130)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1169,3199)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="317" height="151" y="0" clip-path="url(#clipPath130)"
/><line y2="30" fill="none" x1="0" clip-path="url(#clipPath130)" x2="317" y1="30"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1169,3229)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath131)" stroke="none"
>-name : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1169,3229)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath131)" stroke="none"
>-BY_NAME : Map&lt;String, HashAlgorithm&gt; = new HashMap&lt;&gt;()</text
><line y2="31" fill="none" x1="2" clip-path="url(#clipPath131)" x2="312" y1="31"
/><line stroke-linecap="butt" clip-path="url(#clipPath131)" fill="none" x1="0" x2="317" y1="34" y2="34" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1169,3229)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath131)" stroke="none"
>-HashAlgorithm(name : String)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1169,3229)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath131)" stroke="none"
>+getName() : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1169,3229)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath131)" stroke="none"
>#fromName(name : String) : HashAlgorithm</text
><line y2="80" fill="none" x1="2" clip-path="url(#clipPath131)" x2="214" y1="80"
/><line stroke-linecap="butt" clip-path="url(#clipPath131)" fill="none" x1="0" x2="317" y1="83" y2="83" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1169,3229)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="97" clip-path="url(#clipPath131)" stroke="none"
>SHA512</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1169,3229)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="112" clip-path="url(#clipPath131)" stroke="none"
>MD5</text
></g
><g font-size="11px" transform="translate(1169,3199)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="115" xml:space="preserve" y="12" clip-path="url(#clipPath132)" stroke="none"
>&lt;&lt;enumeration&gt;&gt;</text
><text x="119" xml:space="preserve" y="27" clip-path="url(#clipPath132)" font-weight="bold" stroke="none"
>HashAlgorithm</text
></g
><g font-size="11px" transform="translate(402,3113)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="321" height="222" y="0" clip-path="url(#clipPath133)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(402,3113)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="321" height="222" y="0" clip-path="url(#clipPath133)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath133)" x2="321" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,402,3128)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath134)" stroke="none"
>-filename : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,402,3128)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath134)" stroke="none"
>-offset : long</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,402,3128)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath134)" stroke="none"
>-partialContent : byte[]</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,402,3128)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath134)" stroke="none"
>-OFFSET_POSITION : int = PAYLOAD_START_POSITION</text
><line y2="61" fill="none" x1="2" clip-path="url(#clipPath134)" x2="294" y1="61"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,402,3128)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath134)" stroke="none"
>-FILENAME_SIZE_POSITION : int = OFFSET_POSITION + 8</text
><line y2="76" fill="none" x1="2" clip-path="url(#clipPath134)" x2="304" y1="76"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,402,3128)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath134)" stroke="none"
>-FILENAME_POSITION : int = FILENAME_SIZE_POSITION + 4</text
><line y2="91" fill="none" x1="2" clip-path="url(#clipPath134)" x2="316" y1="91"
/><line stroke-linecap="butt" clip-path="url(#clipPath134)" fill="none" x1="0" x2="321" y1="94" y2="94" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,402,3128)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath134)" stroke="none"
>+FilePart(filename : String, offset : long, partialContent : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,402,3128)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath134)" stroke="none"
>#FilePart(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,402,3128)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="138" clip-path="url(#clipPath134)" stroke="none"
>#toPacket() : byte[]</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,402,3128)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="153" clip-path="url(#clipPath134)" stroke="none"
>-setOffset(packet : byte[]) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,402,3128)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="168" clip-path="url(#clipPath134)" stroke="none"
>-getFilenameSize(packet : byte[]) : int</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,402,3128)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="183" clip-path="url(#clipPath134)" stroke="none"
>-setFilename(packet : byte[]) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,402,3128)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="198" clip-path="url(#clipPath134)" stroke="none"
>-setPartialContent(packet : byte[]) : void</text
></g
><g font-size="11px" transform="translate(402,3113)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="139" xml:space="preserve" y="12" clip-path="url(#clipPath135)" stroke="none"
>FilePart</text
></g
><g font-size="11px" transform="translate(274,2428)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="131" height="87" y="0" clip-path="url(#clipPath136)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(274,2428)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="131" height="87" y="0" clip-path="url(#clipPath136)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath136)" x2="131" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,274,2443)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath137)" stroke="none"
>-fileList : String[]</text
></g
><g stroke-linecap="butt" font-size="11px" transform="matrix(1,0,0,1,274,2443)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="bevel" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><line y2="19" fill="none" x1="0" clip-path="url(#clipPath137)" x2="131" y1="19"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,274,2443)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="33" clip-path="url(#clipPath137)" stroke="none"
>+FileList(fileList : String[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,274,2443)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath137)" stroke="none"
>#FileList(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,274,2443)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath137)" stroke="none"
>#toPacket() : byte[]</text
></g
><g font-size="11px" transform="translate(274,2428)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="45" xml:space="preserve" y="12" clip-path="url(#clipPath138)" stroke="none"
>FileList</text
></g
><g font-size="11px" transform="translate(1647,2678)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="341" height="147" y="0" clip-path="url(#clipPath139)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1647,2678)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="341" height="147" y="0" clip-path="url(#clipPath139)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath139)" x2="341" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1647,2693)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath140)" stroke="none"
>-hostList : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1647,2693)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath140)" stroke="none"
>-filename : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1647,2693)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath140)" stroke="none"
>-FILENAME_SIZE_POSITION : int = PAYLOAD_START_POSITION</text
><line y2="46" fill="none" x1="2" clip-path="url(#clipPath140)" x2="336" y1="46"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1647,2693)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath140)" stroke="none"
>-FILENAME_POSITION : int = FILENAME_SIZE_POSITION + 4</text
><line y2="61" fill="none" x1="2" clip-path="url(#clipPath140)" x2="316" y1="61"
/><line stroke-linecap="butt" clip-path="url(#clipPath140)" fill="none" x1="0" x2="341" y1="64" y2="64" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1647,2693)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath140)" stroke="none"
>+DiscoverResponse(filename : String, hostList : List&lt;HostItem&gt;)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1647,2693)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath140)" stroke="none"
>#DiscoverResponse(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1647,2693)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath140)" stroke="none"
>#toPacket() : byte[]</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1647,2693)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath140)" stroke="none"
>+getHostList() : List&lt;HostItem&gt;</text
></g
><g font-size="11px" transform="translate(1647,2678)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="120" xml:space="preserve" y="12" clip-path="url(#clipPath141)" stroke="none"
>DiscoverResponse</text
></g
><g font-size="11px" transform="translate(809,3142)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="184" height="87" y="0" clip-path="url(#clipPath142)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(809,3142)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="184" height="87" y="0" clip-path="url(#clipPath142)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath142)" x2="184" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,809,3157)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath143)" stroke="none"
>-filename : String</text
></g
><g stroke-linecap="butt" font-size="11px" transform="matrix(1,0,0,1,809,3157)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="bevel" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><line y2="19" fill="none" x1="0" clip-path="url(#clipPath143)" x2="184" y1="19"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,809,3157)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="33" clip-path="url(#clipPath143)" stroke="none"
>+DiscoverRequest(filename : String)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,809,3157)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath143)" stroke="none"
>#DiscoverRequest(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,809,3157)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath143)" stroke="none"
>#toPacket() : byte[]</text
></g
><g font-size="11px" transform="translate(809,3142)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="47" xml:space="preserve" y="12" clip-path="url(#clipPath144)" stroke="none"
>DiscoverRequest</text
></g
><g font-size="11px" transform="translate(189,2283)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="299" height="132" y="0" clip-path="url(#clipPath145)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(189,2283)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="299" height="132" y="0" clip-path="url(#clipPath145)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath145)" x2="299" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,189,2298)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath146)" stroke="none"
>-filename : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,189,2298)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath146)" stroke="none"
>-offset : long</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,189,2298)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath146)" stroke="none"
>-OFFSET_POSITION : int = PAYLOAD_START_POSITION</text
><line y2="46" fill="none" x1="2" clip-path="url(#clipPath146)" x2="294" y1="46"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,189,2298)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath146)" stroke="none"
>-FILENAME_POSITION : int = OFFSET_POSITION + 8</text
><line y2="61" fill="none" x1="2" clip-path="url(#clipPath146)" x2="273" y1="61"
/><line stroke-linecap="butt" clip-path="url(#clipPath146)" fill="none" x1="0" x2="299" y1="64" y2="64" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,189,2298)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath146)" stroke="none"
>+Denied(filename : String, offset : long)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,189,2298)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath146)" stroke="none"
>#Denied(packet : byte[])</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,189,2298)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath146)" stroke="none"
>#toPacket() : byte[]</text
></g
><g font-size="11px" transform="translate(189,2283)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="131" xml:space="preserve" y="12" clip-path="url(#clipPath27)" stroke="none"
>Denied</text
></g
><g font-size="11px" transform="translate(122,2918)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="119" height="98" y="0" clip-path="url(#clipPath147)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(122,2918)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="119" height="98" y="0" clip-path="url(#clipPath147)"
/><line y2="30" fill="none" x1="0" clip-path="url(#clipPath147)" x2="119" y1="30"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,122,2948)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath148)" stroke="none"
>REQUEST</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,122,2948)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath148)" stroke="none"
>REQUEST_TRACKER</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,122,2948)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath148)" stroke="none"
>RESPONSE</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,122,2948)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath148)" stroke="none"
>ERROR</text
></g
><g font-size="11px" transform="translate(122,2918)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="12" clip-path="url(#clipPath149)" stroke="none"
>&lt;&lt;enumeration&gt;&gt;</text
><text x="32" xml:space="preserve" y="27" clip-path="url(#clipPath149)" font-weight="bold" stroke="none"
>CodeType</text
></g
><g font-size="11px" transform="translate(3561,208)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3561,208)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath90)" x2="154" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3561,223)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath91)" stroke="none"
>-serialVersionUID : long = 12L</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3561,223)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath91)" x2="149" y1="16"
/></g
><g font-size="11px" transform="translate(3561,208)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="43" xml:space="preserve" y="12" clip-path="url(#clipPath92)" stroke="none"
>VersionError</text
></g
><g font-size="11px" transform="translate(3561,268)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3561,268)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath90)" x2="154" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3561,283)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath91)" stroke="none"
>-serialVersionUID : long = 12L</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3561,283)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath91)" x2="149" y1="16"
/></g
><g font-size="11px" transform="translate(3561,268)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="27" xml:space="preserve" y="12" clip-path="url(#clipPath92)" stroke="none"
>TransmissionError</text
></g
><g font-size="11px" transform="translate(3561,336)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3561,336)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath90)" x2="154" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3561,351)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath91)" stroke="none"
>-serialVersionUID : long = 12L</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3561,351)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath91)" x2="149" y1="16"
/></g
><g font-size="11px" transform="translate(3561,336)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="41" xml:space="preserve" y="12" clip-path="url(#clipPath92)" stroke="none"
>SocketClosed</text
></g
><g font-size="11px" transform="translate(3561,396)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3561,396)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath90)" x2="154" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3561,411)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath91)" stroke="none"
>-serialVersionUID : long = 12L</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3561,411)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath91)" x2="149" y1="16"
/></g
><g font-size="11px" transform="translate(3561,396)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="53" xml:space="preserve" y="12" clip-path="url(#clipPath92)" stroke="none"
>SizeError</text
></g
><g font-size="11px" transform="translate(3561,463)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3561,463)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath90)" x2="154" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3561,478)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath91)" stroke="none"
>-serialVersionUID : long = 12L</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3561,478)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath91)" x2="149" y1="16"
/></g
><g font-size="11px" transform="translate(3561,463)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="41" xml:space="preserve" y="12" clip-path="url(#clipPath92)" stroke="none"
>ProtocolError</text
></g
><g font-size="11px" transform="translate(3561,531)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3561,531)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath90)" x2="154" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3561,546)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath91)" stroke="none"
>-serialVersionUID : long = 12L</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3561,546)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath91)" x2="149" y1="16"
/></g
><g font-size="11px" transform="translate(3561,531)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="44" xml:space="preserve" y="12" clip-path="url(#clipPath92)" stroke="none"
>InternalError</text
></g
><g font-size="11px" transform="translate(4439,1267)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="154" height="57" y="0" clip-path="url(#clipPath150)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(4439,1267)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="154" height="57" y="0" clip-path="url(#clipPath150)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath150)" x2="154" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,4439,1282)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath151)" stroke="none"
>-serialVersionUID : long = 13L</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4439,1282)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath151)" x2="149" y1="16"
/><line stroke-linecap="butt" clip-path="url(#clipPath151)" fill="none" x1="0" x2="154" y1="19" y2="19" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,4439,1282)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="33" clip-path="url(#clipPath151)" stroke="none"
>+MainWindow()</text
></g
><g font-size="11px" transform="translate(4439,1267)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="43" xml:space="preserve" y="12" clip-path="url(#clipPath92)" stroke="none"
>MainWindow</text
></g
><g font-size="11px" transform="translate(4446,1369)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="139" height="40" y="0" clip-path="url(#clipPath152)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(4446,1369)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="139" height="40" y="0" clip-path="url(#clipPath152)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath152)" x2="139" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,4446,1384)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath153)" stroke="none"
>+main(args : String[]) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4446,1384)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath153)" x2="134" y1="16"
/></g
><g font-size="11px" transform="translate(4446,1369)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="60" xml:space="preserve" y="12" clip-path="url(#clipPath154)" stroke="none"
>Gui</text
></g
><g font-size="11px" transform="translate(4374,1109)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="286" height="132" y="0" clip-path="url(#clipPath155)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(4374,1109)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="286" height="132" y="0" clip-path="url(#clipPath155)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath155)" x2="286" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,4374,1124)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath156)" stroke="none"
>-jLabel1 : JLabel</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4374,1124)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath156)" stroke="none"
>-jToggleButton1 : JToggleButton</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4374,1124)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath156)" stroke="none"
>-message : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4374,1124)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath156)" stroke="none"
>-serialVersionUID : long = 13L</text
><line y2="61" fill="none" x1="2" clip-path="url(#clipPath156)" x2="149" y1="61"
/><line stroke-linecap="butt" clip-path="url(#clipPath156)" fill="none" x1="0" x2="286" y1="64" y2="64" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,4374,1124)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath156)" stroke="none"
>+ErrorFrame(message : String)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4374,1124)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath156)" stroke="none"
>-initComponents() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4374,1124)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath156)" stroke="none"
>-jToggleButton1ActionPerformed(evt : ActionEvent) : void</text
></g
><g font-size="11px" transform="translate(4374,1109)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="112" xml:space="preserve" y="12" clip-path="url(#clipPath157)" stroke="none"
>ErrorFrame</text
></g
><g font-size="11px" transform="translate(3486,1412)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="887" height="252" y="0" clip-path="url(#clipPath158)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3486,1412)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="887" height="252" y="0" clip-path="url(#clipPath158)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath158)" x2="887" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3486,1427)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath159)" stroke="none"
>-jButton1 : JButton</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3486,1427)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath159)" stroke="none"
>-jButton2 : JButton</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3486,1427)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath159)" stroke="none"
>-jLabel1 : JLabel</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3486,1427)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath159)" stroke="none"
>-jList1 : JList&lt;String&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3486,1427)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath159)" stroke="none"
>-jScrollPane1 : JScrollPane</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3486,1427)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath159)" stroke="none"
>-serialVersionUID : long = 13L</text
><line y2="91" fill="none" x1="2" clip-path="url(#clipPath159)" x2="149" y1="91"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3486,1427)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath159)" stroke="none"
>-listFilesToDownload : String[]</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3486,1427)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="119" clip-path="url(#clipPath159)" stroke="none"
>-clientManagement : ClientManagement</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3486,1427)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="134" clip-path="url(#clipPath159)" stroke="none"
>-logger : Logger</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3486,1427)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="149" clip-path="url(#clipPath159)" stroke="none"
>-smtcp : ServerManagementTCP</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3486,1427)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="164" clip-path="url(#clipPath159)" stroke="none"
>-smudp : ServerManagementUDP</text
><line stroke-linecap="butt" clip-path="url(#clipPath159)" fill="none" x1="0" x2="887" y1="169" y2="169" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3486,1427)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="183" clip-path="url(#clipPath159)" stroke="none"
>+DownloadSelectionGen(listFilesToDownload : String[], clientManagement : ClientManagement, logger : Logger, smtcp : ServerManagementTCP, smudp : ServerManagementUDP)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3486,1427)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="198" clip-path="url(#clipPath159)" stroke="none"
>-initComponents() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3486,1427)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="213" clip-path="url(#clipPath159)" stroke="none"
>-jButton1ActionPerformed(evt : ActionEvent) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3486,1427)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="228" clip-path="url(#clipPath159)" stroke="none"
>-jButton2ActionPerformed(evt : ActionEvent) : void</text
></g
><g font-size="11px" transform="translate(3486,1412)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="382" xml:space="preserve" y="12" clip-path="url(#clipPath160)" stroke="none"
>DownloadSelectionGen</text
></g
><g font-size="11px" transform="translate(3466,1222)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="830" height="147" y="0" clip-path="url(#clipPath161)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3466,1222)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="830" height="147" y="0" clip-path="url(#clipPath161)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath161)" x2="830" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,1237)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath162)" stroke="none"
>-serialVersionUID : long = 13L</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,1237)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath162)" x2="149" y1="16"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,1237)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath162)" stroke="none"
>-fileToDownload : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,1237)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath162)" stroke="none"
>-clientManagement : ClientManagement</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,1237)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath162)" stroke="none"
>-logger : Logger</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,1237)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath162)" stroke="none"
>-smtcp : ServerManagementTCP</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,1237)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath162)" stroke="none"
>-smudp : ServerManagementUDP</text
><line stroke-linecap="butt" clip-path="url(#clipPath162)" fill="none" x1="0" x2="830" y1="94" y2="94" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,1237)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath162)" stroke="none"
>+DownloadFileGUI(fileToDownload : String, clientManagement : ClientManagement, logger : Logger, smtcp : ServerManagementTCP, smudp : ServerManagementUDP)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,1237)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath162)" stroke="none"
>+download() : void</text
></g
><g font-size="11px" transform="translate(3466,1222)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="368" xml:space="preserve" y="12" clip-path="url(#clipPath163)" stroke="none"
>DownloadFileGUI</text
></g
><g font-size="11px" transform="translate(3466,757)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="603" height="267" y="0" clip-path="url(#clipPath164)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3466,757)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="603" height="267" y="0" clip-path="url(#clipPath164)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath164)" x2="603" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,772)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath165)" stroke="none"
>-logDir : String = "logs/"</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,772)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath165)" stroke="none"
>-partsDir : String = ".parts/"</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,772)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath165)" stroke="none"
>-loggerServer : Logger</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,772)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath165)" stroke="none"
>-loggerClient : Logger</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,772)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath165)" stroke="none"
>-directories : Directories</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,772)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath165)" stroke="none"
>-tracker : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,772)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath165)" stroke="none"
>-server : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,772)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="119" clip-path="url(#clipPath165)" stroke="none"
>~DEBUG : boolean = false</text
><line y2="121" fill="none" x1="2" clip-path="url(#clipPath165)" x2="132" y1="121"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,772)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="134" clip-path="url(#clipPath165)" stroke="none"
>-hostnameServer : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,772)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="149" clip-path="url(#clipPath165)" stroke="none"
>-hostnameTracker : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,772)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="164" clip-path="url(#clipPath165)" stroke="none"
>-portServer : int</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,772)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="179" clip-path="url(#clipPath165)" stroke="none"
>-portTracker : int</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,772)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="194" clip-path="url(#clipPath165)" stroke="none"
>-protocolP2P : String</text
><line stroke-linecap="butt" clip-path="url(#clipPath165)" fill="none" x1="0" x2="603" y1="199" y2="199" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,772)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="213" clip-path="url(#clipPath165)" stroke="none"
>+initDirectoriesAndLoggers() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,772)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="228" clip-path="url(#clipPath165)" stroke="none"
>+ClientP2PGUI(hostnameServer : String, portServer : int, hostnameTracker : String, portTracker : int, protocolP2P : String)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,772)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="243" clip-path="url(#clipPath165)" stroke="none"
>+connect() : void</text
></g
><g font-size="11px" transform="translate(3466,757)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="266" xml:space="preserve" y="12" clip-path="url(#clipPath166)" stroke="none"
>ClientP2PGUI</text
></g
><g font-size="11px" transform="translate(3466,1062)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="714" height="117" y="0" clip-path="url(#clipPath167)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3466,1062)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="714" height="117" y="0" clip-path="url(#clipPath167)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath167)" x2="714" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,1077)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath168)" stroke="none"
>~loggerC : Logger</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,1077)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath168)" stroke="none"
>-smtcp : ServerManagementTCP</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,1077)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath168)" stroke="none"
>-smudp : ServerManagementUDP</text
><line stroke-linecap="butt" clip-path="url(#clipPath168)" fill="none" x1="0" x2="714" y1="49" y2="49" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,1077)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath168)" stroke="none"
>+ClientInterfaceGUI(clientManagement : ClientManagement, logger : Logger, smtcp : ServerManagementTCP, smudp : ServerManagementUDP)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,1077)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath168)" stroke="none"
>+run() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3466,1077)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath168)" stroke="none"
>-initHostList() : boolean</text
></g
><g font-size="11px" transform="translate(3466,1062)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="309" xml:space="preserve" y="12" clip-path="url(#clipPath169)" stroke="none"
>ClientInterfaceGUI</text
></g
><g font-size="11px" transform="translate(4384,764)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="266" height="297" y="0" clip-path="url(#clipPath170)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(4384,764)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="266" height="297" y="0" clip-path="url(#clipPath170)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath170)" x2="266" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,4384,779)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath171)" stroke="none"
>-jButton1 : JButton</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4384,779)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath171)" stroke="none"
>-jComboBox1 : JComboBox&lt;String&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4384,779)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath171)" stroke="none"
>-jLabel1 : JLabel</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4384,779)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath171)" stroke="none"
>-jLabel2 : JLabel</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4384,779)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath171)" stroke="none"
>-jLabel3 : JLabel</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4384,779)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath171)" stroke="none"
>-jLabel4 : JLabel</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4384,779)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath171)" stroke="none"
>-jLabel5 : JLabel</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4384,779)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="119" clip-path="url(#clipPath171)" stroke="none"
>-jLabel6 : JLabel</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4384,779)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="134" clip-path="url(#clipPath171)" stroke="none"
>-jTextField1 : JTextField</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4384,779)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="149" clip-path="url(#clipPath171)" stroke="none"
>-jTextField2 : JTextField</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4384,779)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="164" clip-path="url(#clipPath171)" stroke="none"
>-jTextField3 : JTextField</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4384,779)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="179" clip-path="url(#clipPath171)" stroke="none"
>-jTextField4 : JTextField</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4384,779)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="194" clip-path="url(#clipPath171)" stroke="none"
>-serialVersionUID : long = 13L</text
><line y2="196" fill="none" x1="2" clip-path="url(#clipPath171)" x2="149" y1="196"
/><line stroke-linecap="butt" clip-path="url(#clipPath171)" fill="none" x1="0" x2="266" y1="199" y2="199" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,4384,779)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="213" clip-path="url(#clipPath171)" stroke="none"
>+ArgumentsGen()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4384,779)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="228" clip-path="url(#clipPath171)" stroke="none"
>-initComponents() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4384,779)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="243" clip-path="url(#clipPath171)" stroke="none"
>-jTextField1ActionPerformed(evt : ActionEvent) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4384,779)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="258" clip-path="url(#clipPath171)" stroke="none"
>-jTextField2ActionPerformed(evt : ActionEvent) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4384,779)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="273" clip-path="url(#clipPath171)" stroke="none"
>-jButton1ActionPerformed(evt : ActionEvent) : void</text
></g
><g font-size="11px" transform="translate(4384,764)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="92" xml:space="preserve" y="12" clip-path="url(#clipPath172)" stroke="none"
>ArgumentsGen</text
></g
><g font-size="11px" transform="translate(4095,358)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(4095,358)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath90)" x2="154" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,4095,373)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath91)" stroke="none"
>-serialVersionUID : long = 12L</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,4095,373)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath91)" x2="149" y1="16"
/></g
><g font-size="11px" transform="translate(4095,358)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="31" xml:space="preserve" y="12" clip-path="url(#clipPath92)" stroke="none"
>RemoteException</text
></g
><g font-size="11px" transform="translate(3915,358)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(3915,358)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="154" height="40" y="0" clip-path="url(#clipPath90)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath90)" x2="154" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,3915,373)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath91)" stroke="none"
>-serialVersionUID : long = 13L</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,3915,373)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath91)" x2="149" y1="16"
/></g
><g font-size="11px" transform="translate(3915,358)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="36" xml:space="preserve" y="12" clip-path="url(#clipPath92)" stroke="none"
>LocalException</text
></g
><g font-size="11px" transform="translate(1894,930)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="479" height="222" y="0" clip-path="url(#clipPath173)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1894,930)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="479" height="222" y="0" clip-path="url(#clipPath173)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath173)" x2="479" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1894,945)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath174)" stroke="none"
>-logDir : String = "logs/"</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1894,945)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath174)" stroke="none"
>-partsDir : String = ".parts/"</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1894,945)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath174)" stroke="none"
>-loggerServer : Logger</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1894,945)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath174)" stroke="none"
>-loggerClient : Logger</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1894,945)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath174)" stroke="none"
>-directories : Directories</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1894,945)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath174)" stroke="none"
>-tracker : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1894,945)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath174)" stroke="none"
>-server : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1894,945)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="119" clip-path="url(#clipPath174)" stroke="none"
>-scanner : Scanner</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1894,945)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="134" clip-path="url(#clipPath174)" stroke="none"
>~DEBUG : boolean = false</text
><line y2="136" fill="none" x1="2" clip-path="url(#clipPath174)" x2="132" y1="136"
/><line stroke-linecap="butt" clip-path="url(#clipPath174)" fill="none" x1="0" x2="479" y1="139" y2="139" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1894,945)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="153" clip-path="url(#clipPath174)" stroke="none"
>+initDirectoriesAndLoggers() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1894,945)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="168" clip-path="url(#clipPath174)" stroke="none"
>+ClientP2P(hostnameServer : String, portServer : int, hostnameTracker : String, portTracker : int)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1894,945)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="183" clip-path="url(#clipPath174)" stroke="none"
>-printUsage(serverPortRange : ServerPortRange, trackerPortRange : TrackerPortRange) : void</text
><line y2="185" fill="none" x1="2" clip-path="url(#clipPath174)" x2="464" y1="185"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1894,945)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="198" clip-path="url(#clipPath174)" stroke="none"
>+main(args : String[]) : void</text
><line y2="200" fill="none" x1="2" clip-path="url(#clipPath174)" x2="134" y1="200"
/></g
><g font-size="11px" transform="translate(1894,930)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="213" xml:space="preserve" y="12" clip-path="url(#clipPath175)" stroke="none"
>ClientP2P</text
></g
><g font-size="11px" transform="translate(1834,275)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="600" height="158" y="0" clip-path="url(#clipPath176)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1834,275)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="600" height="158" y="0" clip-path="url(#clipPath176)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath176)" x2="600" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1834,290)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath177)" stroke="none"
>+ClientManagementUDP(baseDirectory : String, tracker : HostItem, partsSubdir : String, logger : Logger, client : HostItem)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1834,290)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath177)" stroke="none"
>#initDownloader(filename : String) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1834,290)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath177)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1834,290)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath177)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1834,290)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath177)" stroke="none"
>#createProtocolP2PPacket(payload : T) : ProtocolP2PPacket&lt;T&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1834,290)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath177)" stroke="none"
>#getTrackerSocket() : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1834,290)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath177)" stroke="none"
>#closeTrackerSocket() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1834,290)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="119" clip-path="url(#clipPath177)" stroke="none"
>#getHostItemSocket(hostItem : HostItem) : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1834,290)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="134" clip-path="url(#clipPath177)" stroke="none"
>#closeHostItemSocket(hostItem : HostItem) : void</text
></g
><g font-size="11px" transform="translate(1834,275)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="238" xml:space="preserve" y="12" clip-path="url(#clipPath178)" stroke="none"
>ClientManagementUDP</text
></g
><g font-size="11px" transform="translate(2510,277)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="599" height="158" y="0" clip-path="url(#clipPath179)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(2510,277)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="599" height="158" y="0" clip-path="url(#clipPath179)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath179)" x2="599" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2510,292)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath180)" stroke="none"
>+ClientManagementTCP(baseDirectory : String, tracker : HostItem, partsSubdir : String, logger : Logger, client : HostItem)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2510,292)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath180)" stroke="none"
>#initDownloader(filename : String) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2510,292)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath180)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2510,292)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath180)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2510,292)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath180)" stroke="none"
>#createProtocolP2PPacket(payload : T) : ProtocolP2PPacket&lt;T&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2510,292)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath180)" stroke="none"
>#getTrackerSocket() : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2510,292)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath180)" stroke="none"
>#closeTrackerSocket() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2510,292)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="119" clip-path="url(#clipPath180)" stroke="none"
>#getHostItemSocket(hostItem : HostItem) : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2510,292)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="134" clip-path="url(#clipPath180)" stroke="none"
>#closeHostItemSocket(hostItem : HostItem) : void</text
></g
><g font-size="11px" transform="translate(2510,277)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="239" xml:space="preserve" y="12" clip-path="url(#clipPath181)" stroke="none"
>ClientManagementTCP</text
></g
><g font-size="11px" transform="translate(1827,552)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="577" height="312" y="0" clip-path="url(#clipPath182)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1827,552)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="577" height="312" y="0" clip-path="url(#clipPath182)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath182)" x2="577" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath183)" stroke="none"
>#baseDirectory : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath183)" stroke="none"
>#partsSubdir : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath183)" stroke="none"
>#hostList : HostItem = new ArrayList&lt;&gt;()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath183)" stroke="none"
>#tracker : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath183)" stroke="none"
>#client : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath183)" stroke="none"
>#logger : Logger</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath183)" stroke="none"
>#downLoader : ClientDownload</text
><line stroke-linecap="butt" clip-path="url(#clipPath183)" fill="none" x1="0" x2="577" y1="109" y2="109" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath183)" stroke="none"
>+ClientManagement(baseDirectory : String, tracker : HostItem, partsSubdir : String, logger : Logger, client : HostItem)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="138" clip-path="url(#clipPath183)" stroke="none"
>#getTrackerSocket() : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="153" clip-path="url(#clipPath183)" stroke="none"
>#closeTrackerSocket() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="168" clip-path="url(#clipPath183)" stroke="none"
>+initHostList() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="183" clip-path="url(#clipPath183)" stroke="none"
>-computeHashsum(filename : String, h : HashAlgorithm) : byte[]</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="198" clip-path="url(#clipPath183)" stroke="none"
>#getHostItemSocket(hostItem : HostItem) : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="213" clip-path="url(#clipPath183)" stroke="none"
>#closeHostItemSocket(hostItem : HostItem) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="228" clip-path="url(#clipPath183)" stroke="none"
>+listDirectory() : String[]</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="243" clip-path="url(#clipPath183)" stroke="none"
>#initDownloader(filename : String) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="258" clip-path="url(#clipPath183)" stroke="none"
>+download(filename : String) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="273" clip-path="url(#clipPath183)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1827,567)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="288" clip-path="url(#clipPath183)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="translate(1827,552)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="240" xml:space="preserve" y="12" clip-path="url(#clipPath184)" stroke="none"
>ClientManagement</text
></g
><g font-size="11px" transform="translate(2609,605)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="476" height="117" y="0" clip-path="url(#clipPath185)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(2609,605)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="476" height="117" y="0" clip-path="url(#clipPath185)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath185)" x2="476" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2609,620)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath186)" stroke="none"
>-scanner : Scanner</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2609,620)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath186)" stroke="none"
>-list : String[]</text
><line stroke-linecap="butt" clip-path="url(#clipPath186)" fill="none" x1="0" x2="476" y1="34" y2="34" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2609,620)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath186)" stroke="none"
>+ClientInterfaceCLI(clientManagement : ClientManagement, logger : Logger, scanner : Scanner)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2609,620)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath186)" stroke="none"
>+run() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2609,620)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath186)" stroke="none"
>-initHostList() : boolean</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2609,620)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath186)" stroke="none"
>-initFileList() : boolean</text
></g
><g font-size="11px" transform="translate(2609,605)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="189" xml:space="preserve" y="12" clip-path="url(#clipPath187)" stroke="none"
>ClientInterfaceCLI</text
></g
><g font-size="11px" transform="translate(2639,800)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="363" height="102" y="0" clip-path="url(#clipPath188)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(2639,800)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="363" height="102" y="0" clip-path="url(#clipPath188)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath188)" x2="363" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2639,815)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath189)" stroke="none"
>#clientManagement : ClientManagement</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2639,815)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath189)" stroke="none"
>-logger : Logger</text
><line stroke-linecap="butt" clip-path="url(#clipPath189)" fill="none" x1="0" x2="363" y1="34" y2="34" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,2639,815)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath189)" stroke="none"
>+ClientInterface(clientManagement : ClientManagement, logger : Logger)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2639,815)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath189)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,2639,815)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath189)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="translate(2639,800)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="142" xml:space="preserve" y="12" clip-path="url(#clipPath190)" stroke="none"
>ClientInterface</text
></g
><g font-size="11px" transform="translate(49,55)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="781" height="128" y="0" clip-path="url(#clipPath191)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(49,55)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="781" height="128" y="0" clip-path="url(#clipPath191)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath191)" x2="781" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,49,70)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath192)" stroke="none"
>+ClientDownloadUDP(filename : String, hostList : List&lt;HostItem&gt;, partsSubdir : String, dirStorage : String, logger : Logger, client : HostItem, tracker : HostItem)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,70)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath192)" stroke="none"
>#createDownloadPart(hostItem : HostItem) : ClientDownloadPart</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,70)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath192)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,70)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath192)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,70)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath192)" stroke="none"
>#createProtocolP2PPacket(payload : T) : ProtocolP2PPacket&lt;T&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,70)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath192)" stroke="none"
>#getHostItemSocket(hostItem : HostItem) : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,70)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath192)" stroke="none"
>#closeHostItemSocket(hostItem : HostItem) : void</text
></g
><g font-size="11px" transform="translate(49,55)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="336" xml:space="preserve" y="12" clip-path="url(#clipPath193)" stroke="none"
>ClientDownloadUDP</text
></g
><g font-size="11px" transform="translate(889,55)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="779" height="128" y="0" clip-path="url(#clipPath194)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(889,55)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="779" height="128" y="0" clip-path="url(#clipPath194)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath194)" x2="779" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,889,70)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath195)" stroke="none"
>+ClientDownloadTCP(filename : String, hostList : List&lt;HostItem&gt;, partsSubdir : String, dirStorage : String, logger : Logger, client : HostItem, tracker : HostItem)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,889,70)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath195)" stroke="none"
>#createDownloadPart(hostItem : HostItem) : ClientDownloadPart</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,889,70)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath195)" stroke="none"
>#closeHostItemSocket(hostItem : HostItem) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,889,70)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath195)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,889,70)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath195)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,889,70)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath195)" stroke="none"
>#createProtocolP2PPacket(payload : T) : ProtocolP2PPacket&lt;T&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,889,70)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath195)" stroke="none"
>#getHostItemSocket(hostItem : HostItem) : Object</text
></g
><g font-size="11px" transform="translate(889,55)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="336" xml:space="preserve" y="12" clip-path="url(#clipPath193)" stroke="none"
>ClientDownloadTCP</text
></g
><g font-size="11px" transform="translate(889,240)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="841" height="132" y="0" clip-path="url(#clipPath196)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(889,240)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="841" height="132" y="0" clip-path="url(#clipPath196)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath196)" x2="841" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,889,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath197)" stroke="none"
>-socket : DatagramSocket</text
></g
><g stroke-linecap="butt" font-size="11px" transform="matrix(1,0,0,1,889,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="bevel" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><line y2="19" fill="none" x1="0" clip-path="url(#clipPath197)" x2="841" y1="19"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,889,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="33" clip-path="url(#clipPath197)" stroke="none"
>+ClientDownloadPartUDP(manager : ClientDownload, filename : String, socket : DatagramSocket, partsSubdir : String, logger : Logger, client : HostItem, server : HostItem)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,889,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath197)" stroke="none"
>#getSocket() : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,889,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath197)" stroke="none"
>#closeSocket() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,889,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath197)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,889,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath197)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,889,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath197)" stroke="none"
>#createProtocolP2PPacket(payload : T) : ProtocolP2PPacket&lt;T&gt;</text
></g
><g font-size="11px" transform="translate(889,240)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="356" xml:space="preserve" y="12" clip-path="url(#clipPath198)" stroke="none"
>ClientDownloadPartUDP</text
></g
><g font-size="11px" transform="translate(1739,57)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="791" height="132" y="0" clip-path="url(#clipPath199)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1739,57)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="791" height="132" y="0" clip-path="url(#clipPath199)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath199)" x2="791" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1739,72)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath200)" stroke="none"
>-socket : Socket</text
></g
><g stroke-linecap="butt" font-size="11px" transform="matrix(1,0,0,1,1739,72)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="bevel" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><line y2="19" fill="none" x1="0" clip-path="url(#clipPath200)" x2="791" y1="19"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,1739,72)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="33" clip-path="url(#clipPath200)" stroke="none"
>+ClientDownloadPartTCP(manager : ClientDownload, filename : String, socket : Socket, partsSubdir : String, logger : Logger, client : HostItem, server : HostItem)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1739,72)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath200)" stroke="none"
>#getSocket() : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1739,72)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath200)" stroke="none"
>#closeSocket() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1739,72)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath200)" stroke="none"
>#writeLog(text : String, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1739,72)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath200)" stroke="none"
>#writeLog(e : Exception, logLevel : LogLevel) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,1739,72)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath200)" stroke="none"
>#createProtocolP2PPacket(payload : T) : ProtocolP2PPacket&lt;T&gt;</text
></g
><g font-size="11px" transform="translate(1739,57)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="331" xml:space="preserve" y="12" clip-path="url(#clipPath201)" stroke="none"
>ClientDownloadPartTCP</text
></g
><g font-size="11px" transform="translate(967,430)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="688" height="447" y="0" clip-path="url(#clipPath202)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(967,430)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="688" height="447" y="0" clip-path="url(#clipPath202)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath202)" x2="688" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath203)" stroke="none"
>#receivedBytesCount : long</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath203)" stroke="none"
>#toDoTasks : List&lt;Long&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath203)" stroke="none"
>#pendingTasks : List&lt;Long&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath203)" stroke="none"
>#tasksDone : List&lt;Long&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath203)" stroke="none"
>#tasksListsLock : boolean</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath203)" stroke="none"
>#stop : boolean</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath203)" stroke="none"
>#failed : boolean</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="119" clip-path="url(#clipPath203)" stroke="none"
>#filename : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="134" clip-path="url(#clipPath203)" stroke="none"
>#noTask : boolean</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="149" clip-path="url(#clipPath203)" stroke="none"
>#partsSubdir : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="164" clip-path="url(#clipPath203)" stroke="none"
>#MAX_PARTIAL_SIZE : long = 4096</text
><line y2="166" fill="none" x1="2" clip-path="url(#clipPath203)" x2="181" y1="166"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="179" clip-path="url(#clipPath203)" stroke="none"
>#manager : ClientDownload</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="194" clip-path="url(#clipPath203)" stroke="none"
>#logger : Logger</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="209" clip-path="url(#clipPath203)" stroke="none"
>#client : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="224" clip-path="url(#clipPath203)" stroke="none"
>-server : HostItem</text
><line stroke-linecap="butt" clip-path="url(#clipPath203)" fill="none" x1="0" x2="688" y1="229" y2="229" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="243" clip-path="url(#clipPath203)" stroke="none"
>+ClientDownloadPart(manager : ClientDownload, filename : String, partsSubdir : String, logger : Logger, client : HostItem, server : HostItem)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="258" clip-path="url(#clipPath203)" stroke="none"
>+getReceivedBytesCount() : Long</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="273" clip-path="url(#clipPath203)" stroke="none"
>+hasFailed() : boolean</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="288" clip-path="url(#clipPath203)" stroke="none"
>+setStop() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="303" clip-path="url(#clipPath203)" stroke="none"
>+run() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="318" clip-path="url(#clipPath203)" stroke="none"
>#closeSocket() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="333" clip-path="url(#clipPath203)" stroke="none"
>+getFailed() : List&lt;Long&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="348" clip-path="url(#clipPath203)" stroke="none"
>+getDone() : List&lt;Long&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="363" clip-path="url(#clipPath203)" stroke="none"
>+assignTask(task : Long) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="378" clip-path="url(#clipPath203)" stroke="none"
>+doTasks() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="393" clip-path="url(#clipPath203)" stroke="none"
>#reqPart(offset : Long) : ProtocolP2PPacket&lt;?&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="408" clip-path="url(#clipPath203)" stroke="none"
>#getSocket() : Object</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,967,445)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="423" clip-path="url(#clipPath203)" stroke="none"
>+downloadPart(d : T) : boolean</text
></g
><g font-size="11px" transform="translate(967,430)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="291" xml:space="preserve" y="12" clip-path="url(#clipPath204)" stroke="none"
>ClientDownloadPart</text
></g
><g font-size="11px" transform="translate(49,240)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(122,207,245)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="757" height="597" y="0" clip-path="url(#clipPath205)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(49,240)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="757" height="597" y="0" clip-path="url(#clipPath205)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath205)" x2="757" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath206)" stroke="none"
>#hostList : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath206)" stroke="none"
>#filename : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath206)" stroke="none"
>#hash512 : byte[]</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath206)" stroke="none"
>#sockList : ClientDownloadPart = new ArrayList&lt;ClientDownloadPart&gt;()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath206)" stroke="none"
>#ratioUpdater : Map&lt;HostItem, Long&gt; = new HashMap&lt;&gt;()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath206)" stroke="none"
>#offsetsToAsk : List&lt;Long&gt; = new ArrayList&lt;Long&gt;()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath206)" stroke="none"
>#offsetsPending : List&lt;Long&gt; = new ArrayList&lt;Long&gt;()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="119" clip-path="url(#clipPath206)" stroke="none"
>#stop : boolean</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="134" clip-path="url(#clipPath206)" stroke="none"
>#size : long</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="149" clip-path="url(#clipPath206)" stroke="none"
>#MAX_PARTIAL_SIZE : long = 4096</text
><line y2="151" fill="none" x1="2" clip-path="url(#clipPath206)" x2="181" y1="151"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="164" clip-path="url(#clipPath206)" stroke="none"
>#partsSubdir : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="179" clip-path="url(#clipPath206)" stroke="none"
>#dirStorage : String</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="194" clip-path="url(#clipPath206)" stroke="none"
>#success : boolean = false</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="209" clip-path="url(#clipPath206)" stroke="none"
>#logger : Logger</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="224" clip-path="url(#clipPath206)" stroke="none"
>#client : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="239" clip-path="url(#clipPath206)" stroke="none"
>#tracker : HostItem</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="254" clip-path="url(#clipPath206)" stroke="none"
>#lastPercentProgress : int</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="269" clip-path="url(#clipPath206)" stroke="none"
>#lastTimeProgress : Instant</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="284" clip-path="url(#clipPath206)" stroke="none"
>~DIFF_TIME_PROGRESS_MILLIS : int = 2000</text
><line y2="286" fill="none" x1="2" clip-path="url(#clipPath206)" x2="232" y1="286"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="299" clip-path="url(#clipPath206)" stroke="none"
>~DIFF_PERCENT_PROGRESS : int = 5</text
><line y2="301" fill="none" x1="2" clip-path="url(#clipPath206)" x2="199" y1="301"
/><line stroke-linecap="butt" clip-path="url(#clipPath206)" fill="none" x1="0" x2="757" y1="304" y2="304" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="318" clip-path="url(#clipPath206)" stroke="none"
>+ClientDownload(filename : String, hostList : List&lt;HostItem&gt;, partsSubdir : String, dirStorage : String, logger : Logger, client : HostItem, tracker : HostItem)</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="333" clip-path="url(#clipPath206)" stroke="none"
>+getHashSum512() : byte[]</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="348" clip-path="url(#clipPath206)" stroke="none"
>#stopTasks() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="363" clip-path="url(#clipPath206)" stroke="none"
>+setStop() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="378" clip-path="url(#clipPath206)" stroke="none"
>#assignTasks() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="393" clip-path="url(#clipPath206)" stroke="none"
>#createDownloadPart(hostItem : HostItem) : ClientDownloadPart</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="408" clip-path="url(#clipPath206)" stroke="none"
>#initThreads() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="423" clip-path="url(#clipPath206)" stroke="none"
>#checkTasksStatus() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="438" clip-path="url(#clipPath206)" stroke="none"
>+sendRatioUpdate() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="453" clip-path="url(#clipPath206)" stroke="none"
>#getHashSum512(hostItem : HostItem) : byte[]</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="468" clip-path="url(#clipPath206)" stroke="none"
>#purgeList() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="483" clip-path="url(#clipPath206)" stroke="none"
>#reassembleFile() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="498" clip-path="url(#clipPath206)" stroke="none"
>#setSize() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="513" clip-path="url(#clipPath206)" stroke="none"
>#closeHostItemSocket(hostItem : HostItem) : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="528" clip-path="url(#clipPath206)" stroke="none"
>+run() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="543" clip-path="url(#clipPath206)" stroke="none"
>#printProgression() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="558" clip-path="url(#clipPath206)" stroke="none"
>#init() : void</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,49,255)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="573" clip-path="url(#clipPath206)" stroke="none"
>#getHostItemSocket(hostItem : HostItem) : Object</text
></g
><g font-size="11px" transform="translate(49,240)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" font-style="italic" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="336" xml:space="preserve" y="12" clip-path="url(#clipPath207)" stroke="none"
>ClientDownload</text
></g
><g font-size="11px" transform="translate(1954,3001)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1"
><rect x="0" width="62" height="22" y="0" clip-path="url(#clipPath208)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1954,3001)" stroke-miterlimit="0" stroke-opacity="1" fill="black" stroke-dasharray="8,3" font-family="sans-serif" stroke-linejoin="bevel" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="62" height="22" y="0" clip-path="url(#clipPath208)"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1954,3001)" stroke-miterlimit="0" stroke-opacity="1" fill="black" stroke-dasharray="8,3" font-family="sans-serif" stroke-linejoin="bevel" font-size="11px" image-rendering="optimizeQuality"
><text x="3" xml:space="preserve" y="16" clip-path="url(#clipPath209)" stroke="none"
>T : Payload</text
></g
><g font-size="11px" transform="translate(1414,3381)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1"
><rect x="0" width="62" height="22" y="0" clip-path="url(#clipPath208)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1414,3381)" stroke-miterlimit="0" stroke-opacity="1" fill="black" stroke-dasharray="8,3" font-family="sans-serif" stroke-linejoin="bevel" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="62" height="22" y="0" clip-path="url(#clipPath208)"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(1414,3381)" stroke-miterlimit="0" stroke-opacity="1" fill="black" stroke-dasharray="8,3" font-family="sans-serif" stroke-linejoin="bevel" font-size="11px" image-rendering="optimizeQuality"
><text x="3" xml:space="preserve" y="16" clip-path="url(#clipPath209)" stroke="none"
>T : Payload</text
></g
><g font-size="11px" transform="translate(990,3364)" fill-opacity="1" fill="white" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="white" stroke-opacity="1"
><rect x="0" width="63" height="23" y="0" clip-path="url(#clipPath210)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(990,3364)" stroke-miterlimit="0" stroke-opacity="1" fill="black" stroke-dasharray="8,3" font-family="sans-serif" stroke-linejoin="bevel" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="63" height="23" y="0" clip-path="url(#clipPath210)"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(990,3364)" stroke-miterlimit="0" stroke-opacity="1" fill="black" stroke-dasharray="8,3" font-family="sans-serif" stroke-linejoin="bevel" font-size="11px" image-rendering="optimizeQuality"
><text x="3" xml:space="preserve" y="16" clip-path="url(#clipPath209)" stroke="none"
>T : Payload</text
></g
><g font-size="11px" transform="translate(2723,1324)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>-logger</text
></g
><g font-size="11px" transform="translate(2680,1344)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(812,562)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="39" clip-path="url(#clipPath216)" stroke="none"
>#manager</text
></g
><g font-size="11px" transform="translate(807,577)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2152,1514)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="38" clip-path="url(#clipPath218)" stroke="none"
>-hostItem</text
></g
><g font-size="11px" transform="translate(2169,1598)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2530,1294)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="46" clip-path="url(#clipPath220)" stroke="none"
>-loggerClient</text
></g
><g font-size="11px" transform="translate(2523,1331)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2427,1441)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>#logger</text
></g
><g font-size="11px" transform="translate(2431,1515)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2290,1568)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>#server</text
></g
><g font-size="11px" transform="translate(2446,1556)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2342,1527)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="28" clip-path="url(#clipPath223)" stroke="none"
>-addr</text
></g
><g font-size="11px" transform="translate(2388,1487)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2547,1287)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="46" clip-path="url(#clipPath220)" stroke="none"
>-loggerClient</text
></g
><g font-size="11px" transform="translate(2517,1321)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2282,1311)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="38" clip-path="url(#clipPath218)" stroke="none"
>#hostList</text
></g
><g font-size="11px" transform="translate(2262,1331)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="17" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>*</text
></g
><g font-size="11px" transform="translate(1395,3155)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="36" clip-path="url(#clipPath225)" stroke="none"
>-algoList</text
></g
><g font-size="11px" transform="translate(1351,3165)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="17" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>*</text
></g
><g font-size="11px" transform="translate(2270,1324)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="9" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>-tracker</text
></g
><g font-size="11px" transform="translate(2280,1331)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2147,1617)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="29" clip-path="url(#clipPath227)" stroke="none"
>-client</text
></g
><g font-size="11px" transform="translate(2180,1601)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2170,1507)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="28" clip-path="url(#clipPath223)" stroke="none"
>-addr</text
></g
><g font-size="11px" transform="translate(2153,1587)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2226,1300)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="34" clip-path="url(#clipPath229)" stroke="none"
>#tracker</text
></g
><g font-size="11px" transform="translate(2192,1320)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2638,1507)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>#logger</text
></g
><g font-size="11px" transform="translate(2717,1480)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2670,1314)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>-logger</text
></g
><g font-size="11px" transform="translate(2610,1319)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2412,807)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="63" clip-path="url(#clipPath231)" stroke="none"
>#clientManagement</text
></g
><g font-size="11px" transform="translate(2384,827)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2415,1280)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="48" clip-path="url(#clipPath233)" stroke="none"
>-loggerServer</text
></g
><g font-size="11px" transform="translate(2390,1322)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2721,1506)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>-logger</text
></g
><g font-size="11px" transform="translate(2678,1473)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2537,1324)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>#logger</text
></g
><g font-size="11px" transform="translate(2500,1331)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2472,1298)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>#logger</text
></g
><g font-size="11px" transform="translate(2458,1325)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(3305,2348)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="49" clip-path="url(#clipPath235)" stroke="none"
>#ratioWatcher</text
></g
><g font-size="11px" transform="translate(3298,2362)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2593,1307)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="48" clip-path="url(#clipPath233)" stroke="none"
>-loggerServer</text
></g
><g font-size="11px" transform="translate(2573,1331)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2483,1291)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>#logger</text
></g
><g font-size="11px" transform="translate(2480,1321)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2650,1484)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>#logger</text
></g
><g font-size="11px" transform="translate(2640,1491)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2292,1323)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="31" clip-path="url(#clipPath237)" stroke="none"
>#client</text
></g
><g font-size="11px" transform="translate(2262,1331)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2309,1548)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="34" clip-path="url(#clipPath229)" stroke="none"
>#tracker</text
></g
><g font-size="11px" transform="translate(2389,1521)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(4327,2086)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>-smudp</text
></g
><g font-size="11px" transform="translate(4329,2061)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2335,1548)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="34" clip-path="url(#clipPath229)" stroke="none"
>#tracker</text
></g
><g font-size="11px" transform="translate(2389,1517)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2284,1312)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="34" clip-path="url(#clipPath229)" stroke="none"
>#tracker</text
></g
><g font-size="11px" transform="translate(2262,1331)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2240,1311)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="31" clip-path="url(#clipPath237)" stroke="none"
>#client</text
></g
><g font-size="11px" transform="translate(2200,1327)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2703,1471)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="43" clip-path="url(#clipPath239)" stroke="none"
>-directories</text
></g
><g font-size="11px" transform="translate(2746,1485)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(4063,2207)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="31" clip-path="url(#clipPath237)" stroke="none"
>-smtcp</text
></g
><g font-size="11px" transform="translate(4037,2234)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(3037,1337)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="43" clip-path="url(#clipPath239)" stroke="none"
>-directories</text
></g
><g font-size="11px" transform="translate(3010,1331)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2152,1473)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="34" clip-path="url(#clipPath229)" stroke="none"
>#tracker</text
></g
><g font-size="11px" transform="translate(2165,1543)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2345,1574)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="34" clip-path="url(#clipPath229)" stroke="none"
>#tracker</text
></g
><g font-size="11px" transform="translate(2362,1594)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2381,1612)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>#server</text
></g
><g font-size="11px" transform="translate(2367,1603)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(4010,2217)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="31" clip-path="url(#clipPath237)" stroke="none"
>-smtcp</text
></g
><g font-size="11px" transform="translate(3980,2227)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2230,1612)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="9" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>-tracker</text
></g
><g font-size="11px" transform="translate(2333,1622)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(4080,2224)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="31" clip-path="url(#clipPath237)" stroke="none"
>-smtcp</text
></g
><g font-size="11px" transform="translate(4073,2229)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2857,1287)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="43" clip-path="url(#clipPath239)" stroke="none"
>-directories</text
></g
><g font-size="11px" transform="translate(2827,1321)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2670,1317)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="34" clip-path="url(#clipPath229)" stroke="none"
>loggerC</text
></g
><g font-size="11px" transform="translate(2653,1331)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2119,1524)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="38" clip-path="url(#clipPath218)" stroke="none"
>-hostItem</text
></g
><g font-size="11px" transform="translate(2166,1621)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2270,821)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="9" xml:space="preserve" y="61" clip-path="url(#clipPath242)" stroke="none"
>-clientManagement</text
></g
><g font-size="11px" transform="translate(2383,841)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2200,1307)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>-server</text
></g
><g font-size="11px" transform="translate(2160,1331)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(4190,2034)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>-smudp</text
></g
><g font-size="11px" transform="translate(4203,2059)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2215,1311)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="9" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>-tracker</text
></g
><g font-size="11px" transform="translate(2205,1336)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2390,847)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="9" xml:space="preserve" y="61" clip-path="url(#clipPath242)" stroke="none"
>-clientManagement</text
></g
><g font-size="11px" transform="translate(2403,794)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(217,3023)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="43" clip-path="url(#clipPath239)" stroke="none"
>+codeType</text
></g
><g font-size="11px" transform="translate(242,2971)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2334,1586)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="9" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>-tracker</text
></g
><g font-size="11px" transform="translate(2366,1621)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2396,1492)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>-logger</text
></g
><g font-size="11px" transform="translate(2490,1516)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2160,1611)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="38" clip-path="url(#clipPath218)" stroke="none"
>-hostItem</text
></g
><g font-size="11px" transform="translate(2250,1604)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(897,585)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="38" clip-path="url(#clipPath218)" stroke="none"
>#sockList</text
></g
><g font-size="11px" transform="translate(929,647)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="17" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>*</text
></g
><g font-size="11px" transform="translate(2133,1342)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="31" clip-path="url(#clipPath237)" stroke="none"
>#client</text
></g
><g font-size="11px" transform="translate(2152,1400)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2290,1327)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>-server</text
></g
><g font-size="11px" transform="translate(2303,1331)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2155,1471)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="38" clip-path="url(#clipPath218)" stroke="none"
>#hostList</text
></g
><g font-size="11px" transform="translate(2165,1543)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="17" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>*</text
></g
><g font-size="11px" transform="translate(2231,1608)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="38" clip-path="url(#clipPath218)" stroke="none"
>-hostItem</text
></g
><g font-size="11px" transform="translate(2257,1621)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2114,1601)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>-server</text
></g
><g font-size="11px" transform="translate(2162,1599)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2180,1607)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="38" clip-path="url(#clipPath218)" stroke="none"
>-hostItem</text
></g
><g font-size="11px" transform="translate(2250,1607)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2560,1511)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>#logger</text
></g
><g font-size="11px" transform="translate(2590,1484)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2719,1510)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>-logger</text
></g
><g font-size="11px" transform="translate(2701,1497)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2835,2788)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="54" clip-path="url(#clipPath244)" stroke="none"
>#fileListWatcher</text
></g
><g font-size="11px" transform="translate(2805,2759)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(710,2566)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="74" clip-path="url(#clipPath246)" stroke="none"
>#requestResponseCode</text
></g
><g font-size="11px" transform="translate(704,2548)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2222,1306)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>-server</text
></g
><g font-size="11px" transform="translate(2205,1336)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2221,1600)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="46" clip-path="url(#clipPath220)" stroke="none"
>-remoteHost</text
></g
><g font-size="11px" transform="translate(2302,1596)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(663,807)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="48" clip-path="url(#clipPath233)" stroke="none"
>#downLoader</text
></g
><g font-size="11px" transform="translate(730,857)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2357,1584)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>-server</text
></g
><g font-size="11px" transform="translate(2388,1566)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2174,1297)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="38" clip-path="url(#clipPath218)" stroke="none"
>#hostList</text
></g
><g font-size="11px" transform="translate(2135,1327)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="17" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>*</text
></g
><g font-size="11px" transform="translate(2781,1471)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="43" clip-path="url(#clipPath239)" stroke="none"
>-directories</text
></g
><g font-size="11px" transform="translate(2857,1488)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(2215,1610)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="36" clip-path="url(#clipPath225)" stroke="none"
>-hostList</text
></g
><g font-size="11px" transform="translate(2282,1605)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="17" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>*</text
></g
><g font-size="11px" transform="translate(4133,2034)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="33" clip-path="url(#clipPath212)" stroke="none"
>-smudp</text
></g
><g font-size="11px" transform="translate(4123,2061)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(930,2611)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="11" xml:space="preserve" y="38" clip-path="url(#clipPath218)" stroke="none"
>#payload</text
></g
><g font-size="11px" transform="translate(1010,2624)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="16" xml:space="preserve" y="24" clip-path="url(#clipPath214)" stroke="none"
>1</text
></g
><g stroke-linecap="butt" font-size="11px" transform="translate(682,520)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="125" fill="none" x1="285" clip-path="url(#clipPath249)" x2="131" y1="125"
/><line y2="131" fill="none" x1="280" clip-path="url(#clipPath249)" x2="271" y1="119"
/><line y2="119" fill="none" x1="280" clip-path="url(#clipPath249)" x2="271" y1="131"
/><line y2="131" fill="none" x1="131" clip-path="url(#clipPath249)" x2="143" y1="125"
/><line y2="119" fill="none" x1="131" clip-path="url(#clipPath249)" x2="143" y1="125"
/><circle r="3.2" clip-path="url(#clipPath249)" cx="128.2" cy="125" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(557,671)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="280" fill="none" x1="1270" clip-path="url(#clipPath251)" x2="1270" y1="193"
/><line y2="280" fill="none" x1="1270" clip-path="url(#clipPath251)" x2="167" y1="280"
/><line y2="173" fill="none" x1="167" clip-path="url(#clipPath251)" x2="167" y1="280"
/><line y2="206" fill="none" x1="1264" clip-path="url(#clipPath251)" x2="1276" y1="197"
/><line y2="206" fill="none" x1="1276" clip-path="url(#clipPath251)" x2="1264" y1="197"
/><line y2="185" fill="none" x1="167" clip-path="url(#clipPath251)" x2="161" y1="173"
/><line y2="185" fill="none" x1="167" clip-path="url(#clipPath251)" x2="173" y1="173"
/><circle r="3.2" clip-path="url(#clipPath251)" cx="167" cy="170.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(727,134)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="77" fill="none" x1="50" clip-path="url(#clipPath253)" x2="50" y1="106"
/><line y2="77" fill="none" x1="50" clip-path="url(#clipPath253)" x2="198" y1="77"
/><line y2="50" fill="none" x1="198" clip-path="url(#clipPath253)" x2="198" y1="77"
/><polygon fill="white" clip-path="url(#clipPath253)" points=" 50 106 56 94 44 94" stroke="none"
/><polygon fill="none" points=" 50 106 56 94 44 94" clip-path="url(#clipPath253)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(569,57)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="125" fill="none" x1="125" clip-path="url(#clipPath255)" x2="125" y1="183"
/><polygon fill="white" clip-path="url(#clipPath255)" points=" 125 183 131 171 119 171" stroke="none"
/><polygon fill="none" points=" 125 183 131 171 119 171" clip-path="url(#clipPath255)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(682,520)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="125" fill="none" x1="125" clip-path="url(#clipPath249)" x2="279" y1="125"
/><line y2="119" fill="none" x1="129" clip-path="url(#clipPath249)" x2="138" y1="131"
/><line y2="131" fill="none" x1="129" clip-path="url(#clipPath249)" x2="138" y1="119"
/><line y2="119" fill="none" x1="279" clip-path="url(#clipPath249)" x2="267" y1="125"
/><line y2="131" fill="none" x1="279" clip-path="url(#clipPath249)" x2="267" y1="125"
/><circle r="3.2" clip-path="url(#clipPath249)" cx="281.8" cy="125" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1529,65)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="365" fill="none" x1="125" clip-path="url(#clipPath257)" x2="258" y1="365"
/><line y2="125" fill="none" x1="258" clip-path="url(#clipPath257)" x2="258" y1="365"
/><polygon fill="white" clip-path="url(#clipPath257)" points=" 125 365 137 371 137 359" stroke="none"
/><polygon fill="none" points=" 125 365 137 371 137 359" clip-path="url(#clipPath257)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1432,247)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="125" fill="none" x1="125" clip-path="url(#clipPath255)" x2="125" y1="183"
/><polygon fill="white" clip-path="url(#clipPath255)" points=" 125 183 131 171 119 171" stroke="none"
/><polygon fill="none" points=" 125 183 131 171 119 171" clip-path="url(#clipPath255)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2842,673)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="50" clip-path="url(#clipPath259)" x2="50" y1="127"
/><polygon fill="white" clip-path="url(#clipPath259)" points=" 50 127 56 115 44 115" stroke="none"
/><polygon fill="none" points=" 50 127 56 115 44 115" clip-path="url(#clipPath259)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2783,734)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="387" fill="none" x1="167" clip-path="url(#clipPath261)" x2="167" y1="167"
/><line y2="387" fill="none" x1="167" clip-path="url(#clipPath261)" x2="683" y1="387"
/><polygon fill="white" clip-path="url(#clipPath261)" points=" 167 167 161 179 173 179" stroke="none"
/><polygon fill="none" points=" 167 167 161 179 173 179" clip-path="url(#clipPath261)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2279,740)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="125" fill="none" x1="360" clip-path="url(#clipPath263)" x2="131" y1="125"
/><line y2="131" fill="none" x1="355" clip-path="url(#clipPath263)" x2="346" y1="119"
/><line y2="119" fill="none" x1="355" clip-path="url(#clipPath263)" x2="346" y1="131"
/><line y2="131" fill="none" x1="131" clip-path="url(#clipPath263)" x2="143" y1="125"
/><line y2="119" fill="none" x1="131" clip-path="url(#clipPath263)" x2="143" y1="125"
/><circle r="3.2" clip-path="url(#clipPath263)" cx="128.2" cy="125" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2220,697)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="523" fill="none" x1="1637" clip-path="url(#clipPath265)" x2="563" y1="523"
/><line y2="323" fill="none" x1="563" clip-path="url(#clipPath265)" x2="567" y1="523"
/><line y2="323" fill="none" x1="567" clip-path="url(#clipPath265)" x2="167" y1="323"
/><line y2="173" fill="none" x1="167" clip-path="url(#clipPath265)" x2="167" y1="323"
/><line y2="529" fill="none" x1="1632" clip-path="url(#clipPath265)" x2="1623" y1="517"
/><line y2="517" fill="none" x1="1632" clip-path="url(#clipPath265)" x2="1623" y1="529"
/><line y2="185" fill="none" x1="167" clip-path="url(#clipPath265)" x2="161" y1="173"
/><line y2="185" fill="none" x1="167" clip-path="url(#clipPath265)" x2="173" y1="173"
/><circle r="3.2" clip-path="url(#clipPath265)" cx="167" cy="170.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2237,671)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="790" fill="none" x1="1250" clip-path="url(#clipPath267)" x2="1156" y1="790"
/><line y2="480" fill="none" x1="1156" clip-path="url(#clipPath267)" x2="1156" y1="790"
/><line y2="383" fill="none" x1="1156" clip-path="url(#clipPath267)" x2="1153" y1="480"
/><line y2="383" fill="none" x1="1153" clip-path="url(#clipPath267)" x2="223" y1="383"
/><line y2="166" fill="none" x1="223" clip-path="url(#clipPath267)" x2="223" y1="383"
/><line y2="166" fill="none" x1="223" clip-path="url(#clipPath267)" x2="172" y1="166"
/><line y2="796" fill="none" x1="1245" clip-path="url(#clipPath267)" x2="1236" y1="784"
/><line y2="784" fill="none" x1="1245" clip-path="url(#clipPath267)" x2="1236" y1="796"
/><line y2="172" fill="none" x1="172" clip-path="url(#clipPath267)" x2="184" y1="166"
/><line y2="160" fill="none" x1="172" clip-path="url(#clipPath267)" x2="184" y1="166"
/><circle r="3.2" clip-path="url(#clipPath267)" cx="169.2" cy="166" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2355,386)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="230" fill="none" x1="50" clip-path="url(#clipPath269)" x2="182" y1="230"
/><line y2="50" fill="none" x1="182" clip-path="url(#clipPath269)" x2="182" y1="230"
/><polygon fill="white" clip-path="url(#clipPath269)" points=" 50 230 62 236 62 224" stroke="none"
/><polygon fill="none" points=" 50 230 62 236 62 224" clip-path="url(#clipPath269)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2279,307)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="125" fill="none" x1="125" clip-path="url(#clipPath271)" x2="125" y1="245"
/><polygon fill="white" clip-path="url(#clipPath271)" points=" 125 245 131 233 119 233" stroke="none"
/><polygon fill="none" points=" 125 245 131 233 119 233" clip-path="url(#clipPath271)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(3666,349)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="214" fill="none" x1="337" clip-path="url(#clipPath273)" x2="337" y1="50"
/><line y2="214" fill="none" x1="337" clip-path="url(#clipPath273)" x2="50" y1="214"
/><polygon fill="white" clip-path="url(#clipPath273)" points=" 337 50 331 62 343 62" stroke="none"
/><polygon fill="none" points=" 337 50 331 62 343 62" clip-path="url(#clipPath273)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(3666,349)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="135" fill="none" x1="288" clip-path="url(#clipPath275)" x2="288" y1="50"
/><line y2="135" fill="none" x1="288" clip-path="url(#clipPath275)" x2="50" y1="135"
/><polygon fill="white" clip-path="url(#clipPath275)" points=" 288 50 282 62 294 62" stroke="none"
/><polygon fill="none" points=" 288 50 282 62 294 62" clip-path="url(#clipPath275)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(3666,319)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="249" clip-path="url(#clipPath277)" x2="128" y1="50"
/><line y2="98" fill="none" x1="128" clip-path="url(#clipPath277)" x2="128" y1="50"
/><line y2="98" fill="none" x1="128" clip-path="url(#clipPath277)" x2="50" y1="98"
/><polygon fill="white" clip-path="url(#clipPath277)" points=" 249 50 237 44 237 56" stroke="none"
/><polygon fill="none" points=" 249 50 237 44 237 56" clip-path="url(#clipPath277)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(3666,279)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="315" clip-path="url(#clipPath279)" x2="315" y1="79"
/><line y2="50" fill="none" x1="315" clip-path="url(#clipPath279)" x2="117" y1="50"
/><line y2="80" fill="none" x1="117" clip-path="url(#clipPath279)" x2="117" y1="50"
/><line y2="80" fill="none" x1="117" clip-path="url(#clipPath279)" x2="50" y1="80"
/><polygon fill="white" clip-path="url(#clipPath279)" points=" 315 79 321 67 309 67" stroke="none"
/><polygon fill="none" points=" 315 79 321 67 309 67" clip-path="url(#clipPath279)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(3666,239)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="70" fill="none" x1="337" clip-path="url(#clipPath281)" x2="337" y1="119"
/><line y2="70" fill="none" x1="337" clip-path="url(#clipPath281)" x2="117" y1="70"
/><line y2="50" fill="none" x1="117" clip-path="url(#clipPath281)" x2="117" y1="70"
/><line y2="50" fill="none" x1="117" clip-path="url(#clipPath281)" x2="50" y1="50"
/><polygon fill="white" clip-path="url(#clipPath281)" points=" 337 119 343 107 331 107" stroke="none"
/><polygon fill="none" points=" 337 119 343 107 331 107" clip-path="url(#clipPath281)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(3666,179)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="361" clip-path="url(#clipPath283)" x2="361" y1="179"
/><line y2="50" fill="none" x1="361" clip-path="url(#clipPath283)" x2="50" y1="50"
/><polygon fill="white" clip-path="url(#clipPath283)" points=" 361 179 367 167 355 167" stroke="none"
/><polygon fill="none" points=" 361 179 367 167 355 167" clip-path="url(#clipPath283)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(4080,44)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="50" clip-path="url(#clipPath285)" x2="50" y1="314"
/><line y2="50" fill="none" x1="50" clip-path="url(#clipPath285)" x2="446" y1="50"
/><polygon fill="white" clip-path="url(#clipPath285)" points=" 50 314 56 302 44 302" stroke="none"
/><polygon fill="none" points=" 50 314 56 302 44 302" clip-path="url(#clipPath285)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(4106,93)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="50" clip-path="url(#clipPath287)" x2="50" y1="265"
/><line y2="50" fill="none" x1="50" clip-path="url(#clipPath287)" x2="420" y1="50"
/><polygon fill="white" clip-path="url(#clipPath287)" points=" 50 265 56 253 44 253" stroke="none"
/><polygon fill="none" points=" 50 265 56 253 44 253" clip-path="url(#clipPath287)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(4122,164)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="50" clip-path="url(#clipPath289)" x2="50" y1="194"
/><line y2="50" fill="none" x1="50" clip-path="url(#clipPath289)" x2="404" y1="50"
/><polygon fill="white" clip-path="url(#clipPath289)" points=" 50 194 56 182 44 182" stroke="none"
/><polygon fill="none" points=" 50 194 56 182 44 182" clip-path="url(#clipPath289)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(4141,235)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="50" clip-path="url(#clipPath291)" x2="50" y1="123"
/><line y2="50" fill="none" x1="50" clip-path="url(#clipPath291)" x2="385" y1="50"
/><polygon fill="white" clip-path="url(#clipPath291)" points=" 50 123 56 111 44 111" stroke="none"
/><polygon fill="none" points=" 50 123 56 111 44 111" clip-path="url(#clipPath291)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(4169,290)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="50" clip-path="url(#clipPath293)" x2="50" y1="68"
/><line y2="50" fill="none" x1="50" clip-path="url(#clipPath293)" x2="197" y1="50"
/><line y2="68" fill="none" x1="197" clip-path="url(#clipPath293)" x2="197" y1="50"
/><line y2="68" fill="none" x1="197" clip-path="url(#clipPath293)" x2="357" y1="68"
/><polygon fill="white" clip-path="url(#clipPath293)" points=" 50 68 56 56 44 56" stroke="none"
/><polygon fill="none" points=" 50 68 56 56 44 56" clip-path="url(#clipPath293)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(4184,349)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="83" fill="none" x1="50" clip-path="url(#clipPath295)" x2="50" y1="50"
/><line y2="83" fill="none" x1="50" clip-path="url(#clipPath295)" x2="342" y1="83"
/><polygon fill="white" clip-path="url(#clipPath295)" points=" 50 50 44 62 56 62" stroke="none"
/><polygon fill="none" points=" 50 50 44 62 56 62" clip-path="url(#clipPath295)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(4160,349)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="163" fill="none" x1="50" clip-path="url(#clipPath297)" x2="50" y1="50"
/><line y2="163" fill="none" x1="50" clip-path="url(#clipPath297)" x2="366" y1="163"
/><polygon fill="white" clip-path="url(#clipPath297)" points=" 50 50 44 62 56 62" stroke="none"
/><polygon fill="none" points=" 50 50 44 62 56 62" clip-path="url(#clipPath297)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(4134,349)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="246" fill="none" x1="50" clip-path="url(#clipPath299)" x2="50" y1="50"
/><line y2="246" fill="none" x1="50" clip-path="url(#clipPath299)" x2="393" y1="246"
/><polygon fill="white" clip-path="url(#clipPath299)" points=" 50 50 44 62 56 62" stroke="none"
/><polygon fill="none" points=" 50 50 44 62 56 62" clip-path="url(#clipPath299)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(117,2891)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="125" fill="none" x1="233" clip-path="url(#clipPath301)" x2="131" y1="125"
/><line y2="131" fill="none" x1="228" clip-path="url(#clipPath301)" x2="219" y1="119"
/><line y2="119" fill="none" x1="228" clip-path="url(#clipPath301)" x2="219" y1="131"
/><line y2="131" fill="none" x1="131" clip-path="url(#clipPath301)" x2="143" y1="125"
/><line y2="119" fill="none" x1="131" clip-path="url(#clipPath301)" x2="143" y1="125"
/><circle r="3.2" clip-path="url(#clipPath301)" cx="128.2" cy="125" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1318,3095)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="98" fill="none" x1="71" clip-path="url(#clipPath303)" x2="71" y1="71"
/><line y2="84" fill="none" x1="65" clip-path="url(#clipPath303)" x2="77" y1="75"
/><line y2="84" fill="none" x1="77" clip-path="url(#clipPath303)" x2="65" y1="75"
/><line y2="86" fill="none" x1="71" clip-path="url(#clipPath303)" x2="77" y1="98"
/><line y2="86" fill="none" x1="71" clip-path="url(#clipPath303)" x2="65" y1="98"
/><circle r="3.2" clip-path="url(#clipPath303)" cx="71" cy="100.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(976,2581)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="56" fill="none" x1="50" clip-path="url(#clipPath305)" x2="50" y1="802"
/><line y2="788" fill="none" x1="56" clip-path="url(#clipPath305)" x2="44" y1="797"
/><line y2="788" fill="none" x1="44" clip-path="url(#clipPath305)" x2="56" y1="797"
/><line y2="68" fill="none" x1="50" clip-path="url(#clipPath305)" x2="44" y1="56"
/><line y2="68" fill="none" x1="50" clip-path="url(#clipPath305)" x2="56" y1="56"
/><circle r="3.2" clip-path="url(#clipPath305)" cx="50" cy="53.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(439,2327)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="538" clip-path="url(#clipPath307)" x2="538" y1="141"
/><line y2="50" fill="none" x1="538" clip-path="url(#clipPath307)" x2="50" y1="50"
/><polygon fill="white" clip-path="url(#clipPath307)" points=" 538 141 544 129 532 129" stroke="none"
/><polygon fill="none" points=" 538 141 544 129 532 129" clip-path="url(#clipPath307)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(934,2581)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="560" fill="none" x1="50" clip-path="url(#clipPath309)" x2="50" y1="50"
/><polygon fill="white" clip-path="url(#clipPath309)" points=" 50 50 44 62 56 62" stroke="none"
/><polygon fill="none" points=" 50 50 44 62 56 62" clip-path="url(#clipPath309)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1167,2531)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="50" clip-path="url(#clipPath311)" x2="445" y1="50"
/><line y2="148" fill="none" x1="445" clip-path="url(#clipPath311)" x2="445" y1="50"
/><line y2="148" fill="none" x1="445" clip-path="url(#clipPath311)" x2="479" y1="148"
/><polygon fill="white" clip-path="url(#clipPath311)" points=" 50 50 62 56 62 44" stroke="none"
/><polygon fill="none" points=" 50 50 62 56 62 44" clip-path="url(#clipPath311)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(356,2443)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="561" clip-path="url(#clipPath313)" x2="50" y1="50"
/><polygon fill="white" clip-path="url(#clipPath313)" points=" 561 50 549 44 549 56" stroke="none"
/><polygon fill="none" points=" 561 50 549 44 549 56" clip-path="url(#clipPath313)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(557,2464)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="656" fill="none" x1="360" clip-path="url(#clipPath315)" x2="360" y1="166"
/><line y2="656" fill="none" x1="360" clip-path="url(#clipPath315)" x2="166" y1="656"
/><polygon fill="white" clip-path="url(#clipPath315)" points=" 360 166 354 178 366 178" stroke="none"
/><polygon fill="none" points=" 360 166 354 178 366 178" clip-path="url(#clipPath315)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1167,2581)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="372" fill="none" x1="50" clip-path="url(#clipPath317)" x2="50" y1="50"
/><line y2="372" fill="none" x1="50" clip-path="url(#clipPath317)" x2="68" y1="372"
/><line y2="452" fill="none" x1="68" clip-path="url(#clipPath317)" x2="68" y1="372"
/><polygon fill="white" clip-path="url(#clipPath317)" points=" 50 50 44 62 56 62" stroke="none"
/><polygon fill="none" points=" 50 50 44 62 56 62" clip-path="url(#clipPath317)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(483,2186)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="158" fill="none" x1="531" clip-path="url(#clipPath319)" x2="531" y1="282"
/><line y2="158" fill="none" x1="531" clip-path="url(#clipPath319)" x2="50" y1="158"
/><line y2="50" fill="none" x1="50" clip-path="url(#clipPath319)" x2="50" y1="158"
/><polygon fill="white" clip-path="url(#clipPath319)" points=" 531 282 537 270 525 270" stroke="none"
/><polygon fill="none" points=" 531 282 537 270 525 270" clip-path="url(#clipPath319)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1026,2231)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="50" clip-path="url(#clipPath321)" x2="50" y1="237"
/><polygon fill="white" clip-path="url(#clipPath321)" points=" 50 237 56 225 44 225" stroke="none"
/><polygon fill="none" points=" 50 237 56 225 44 225" clip-path="url(#clipPath321)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1139,2139)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="50" clip-path="url(#clipPath323)" x2="50" y1="329"
/><polygon fill="white" clip-path="url(#clipPath323)" points=" 50 329 56 317 44 317" stroke="none"
/><polygon fill="none" points=" 50 329 56 317 44 317" clip-path="url(#clipPath323)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1145,2396)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="71" fill="none" x1="71" clip-path="url(#clipPath325)" x2="481" y1="71"
/><polygon fill="white" clip-path="url(#clipPath325)" points=" 71 71 83 77 83 65" stroke="none"
/><polygon fill="none" points=" 71 71 83 77 83 65" clip-path="url(#clipPath325)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1167,2517)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="50" clip-path="url(#clipPath327)" x2="459" y1="50"
/><polygon fill="white" clip-path="url(#clipPath327)" points=" 50 50 62 56 62 44" stroke="none"
/><polygon fill="none" points=" 50 50 62 56 62 44" clip-path="url(#clipPath327)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1045,2581)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="156" fill="none" x1="50" clip-path="url(#clipPath329)" x2="50" y1="50"
/><polygon fill="white" clip-path="url(#clipPath329)" points=" 50 50 44 62 56 62" stroke="none"
/><polygon fill="none" points=" 50 50 44 62 56 62" clip-path="url(#clipPath329)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1167,2571)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="50" clip-path="url(#clipPath331)" x2="368" y1="50"
/><line y2="277" fill="none" x1="368" clip-path="url(#clipPath331)" x2="368" y1="50"
/><polygon fill="white" clip-path="url(#clipPath331)" points=" 50 50 62 56 62 44" stroke="none"
/><polygon fill="none" points=" 50 50 62 56 62 44" clip-path="url(#clipPath331)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1167,2552)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="50" clip-path="url(#clipPath333)" x2="424" y1="50"
/><line y2="376" fill="none" x1="424" clip-path="url(#clipPath333)" x2="424" y1="50"
/><line y2="376" fill="none" x1="424" clip-path="url(#clipPath333)" x2="468" y1="376"
/><polygon fill="white" clip-path="url(#clipPath333)" points=" 50 50 62 56 62 44" stroke="none"
/><polygon fill="none" points=" 50 50 62 56 62 44" clip-path="url(#clipPath333)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1159,2214)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="50" clip-path="url(#clipPath335)" x2="50" y1="254"
/><line y2="50" fill="none" x1="50" clip-path="url(#clipPath335)" x2="456" y1="50"
/><polygon fill="white" clip-path="url(#clipPath335)" points=" 50 254 56 242 44 242" stroke="none"
/><polygon fill="none" points=" 50 254 56 242 44 242" clip-path="url(#clipPath335)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(972,3519)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="71" fill="none" x1="71" clip-path="url(#clipPath337)" x2="173" y1="71"
/><polygon fill="white" clip-path="url(#clipPath337)" points=" 71 71 83 77 83 65" stroke="none"
/><polygon fill="none" points=" 71 71 83 77 83 65" clip-path="url(#clipPath337)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(902,3300)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="387" fill="none" x1="50" clip-path="url(#clipPath339)" x2="50" y1="291"
/><line y2="387" fill="none" x1="50" clip-path="url(#clipPath339)" x2="880" y1="387"
/><line y2="50" fill="none" x1="880" clip-path="url(#clipPath339)" x2="880" y1="387"
/><polygon fill="white" clip-path="url(#clipPath339)" points=" 50 291 44 303 56 303" stroke="none"
/><polygon fill="none" points=" 50 291 44 303 56 303" clip-path="url(#clipPath339)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(655,2552)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="262" clip-path="url(#clipPath341)" x2="56" y1="50"
/><line y2="56" fill="none" x1="257" clip-path="url(#clipPath341)" x2="248" y1="44"
/><line y2="44" fill="none" x1="257" clip-path="url(#clipPath341)" x2="248" y1="56"
/><line y2="56" fill="none" x1="56" clip-path="url(#clipPath341)" x2="68" y1="50"
/><line y2="44" fill="none" x1="56" clip-path="url(#clipPath341)" x2="68" y1="50"
/><circle r="3.2" clip-path="url(#clipPath341)" cx="53.2" cy="50" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2759,2333)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="452" fill="none" x1="710" clip-path="url(#clipPath343)" x2="710" y1="72"
/><line y2="452" fill="none" x1="710" clip-path="url(#clipPath343)" x2="78" y1="452"
/><line y2="85" fill="none" x1="704" clip-path="url(#clipPath343)" x2="716" y1="76"
/><line y2="85" fill="none" x1="716" clip-path="url(#clipPath343)" x2="704" y1="76"
/><line y2="458" fill="none" x1="78" clip-path="url(#clipPath343)" x2="90" y1="452"
/><line y2="446" fill="none" x1="78" clip-path="url(#clipPath343)" x2="90" y1="452"
/><circle r="3.2" clip-path="url(#clipPath343)" cx="75.2" cy="452" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2759,2758)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="71" fill="none" x1="72" clip-path="url(#clipPath345)" x2="819" y1="71"
/><polygon fill="white" clip-path="url(#clipPath345)" points=" 72 71 84 77 84 65" stroke="none"
/><polygon fill="none" points=" 72 71 84 77 84 65" clip-path="url(#clipPath345)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2759,2823)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="72" fill="none" x1="72" clip-path="url(#clipPath345)" x2="819" y1="72"
/><polygon fill="white" clip-path="url(#clipPath345)" points=" 72 72 84 78 84 66" stroke="none"
/><polygon fill="none" points=" 72 72 84 78 84 66" clip-path="url(#clipPath345)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(3228,2333)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="72" fill="none" x1="163" clip-path="url(#clipPath347)" x2="77" y1="72"
/><line y2="78" fill="none" x1="158" clip-path="url(#clipPath347)" x2="149" y1="66"
/><line y2="66" fill="none" x1="158" clip-path="url(#clipPath347)" x2="149" y1="78"
/><line y2="78" fill="none" x1="77" clip-path="url(#clipPath347)" x2="89" y1="72"
/><line y2="66" fill="none" x1="77" clip-path="url(#clipPath347)" x2="89" y1="72"
/><circle r="3.2" clip-path="url(#clipPath347)" cx="74.2" cy="72" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2954,2333)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="289" fill="none" x1="71" clip-path="url(#clipPath349)" x2="71" y1="72"
/><polygon fill="white" clip-path="url(#clipPath349)" points=" 71 72 65 84 77 84" stroke="none"
/><polygon fill="none" points=" 71 72 65 84 77 84" clip-path="url(#clipPath349)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2997,2333)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="106" fill="none" x1="71" clip-path="url(#clipPath351)" x2="71" y1="72"
/><polygon fill="white" clip-path="url(#clipPath351)" points=" 71 72 65 84 77 84" stroke="none"
/><polygon fill="none" points=" 71 72 65 84 77 84" clip-path="url(#clipPath351)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(3805,2219)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="72" fill="none" x1="72" clip-path="url(#clipPath353)" x2="137" y1="72"
/><polygon fill="white" clip-path="url(#clipPath353)" points=" 72 72 84 78 84 66" stroke="none"
/><polygon fill="none" points=" 72 72 84 78 84 66" clip-path="url(#clipPath353)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(3805,2105)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="71" fill="none" x1="72" clip-path="url(#clipPath355)" x2="136" y1="71"
/><polygon fill="white" clip-path="url(#clipPath355)" points=" 72 71 84 77 84 65" stroke="none"
/><polygon fill="none" points=" 72 71 84 77 84 65" clip-path="url(#clipPath355)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(3873,1014)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="1240" fill="none" x1="167" clip-path="url(#clipPath357)" x2="167" y1="166"
/><line y2="179" fill="none" x1="161" clip-path="url(#clipPath357)" x2="173" y1="170"
/><line y2="179" fill="none" x1="173" clip-path="url(#clipPath357)" x2="161" y1="170"
/><line y2="1228" fill="none" x1="167" clip-path="url(#clipPath357)" x2="173" y1="1240"
/><line y2="1228" fill="none" x1="167" clip-path="url(#clipPath357)" x2="161" y1="1240"
/><circle r="3.2" clip-path="url(#clipPath357)" cx="167" cy="1242.8001" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(3923,1204)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="1051" fill="none" x1="167" clip-path="url(#clipPath359)" x2="167" y1="167"
/><line y2="180" fill="none" x1="161" clip-path="url(#clipPath359)" x2="173" y1="171"
/><line y2="180" fill="none" x1="173" clip-path="url(#clipPath359)" x2="161" y1="171"
/><line y2="1039" fill="none" x1="167" clip-path="url(#clipPath359)" x2="173" y1="1051"
/><line y2="1039" fill="none" x1="167" clip-path="url(#clipPath359)" x2="161" y1="1051"
/><circle r="3.2" clip-path="url(#clipPath359)" cx="167" cy="1053.8001" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(3957,1497)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="757" fill="none" x1="166" clip-path="url(#clipPath361)" x2="166" y1="167"
/><line y2="180" fill="none" x1="160" clip-path="url(#clipPath361)" x2="172" y1="171"
/><line y2="180" fill="none" x1="172" clip-path="url(#clipPath361)" x2="160" y1="171"
/><line y2="745" fill="none" x1="166" clip-path="url(#clipPath361)" x2="172" y1="757"
/><line y2="745" fill="none" x1="166" clip-path="url(#clipPath361)" x2="160" y1="757"
/><circle r="3.2" clip-path="url(#clipPath361)" cx="166" cy="759.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(4010,1014)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="1074" fill="none" x1="166" clip-path="url(#clipPath363)" x2="166" y1="166"
/><line y2="179" fill="none" x1="160" clip-path="url(#clipPath363)" x2="172" y1="170"
/><line y2="179" fill="none" x1="172" clip-path="url(#clipPath363)" x2="160" y1="170"
/><line y2="1062" fill="none" x1="166" clip-path="url(#clipPath363)" x2="172" y1="1074"
/><line y2="1062" fill="none" x1="166" clip-path="url(#clipPath363)" x2="160" y1="1074"
/><circle r="3.2" clip-path="url(#clipPath363)" cx="166" cy="1076.8001" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(4087,1204)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="884" fill="none" x1="166" clip-path="url(#clipPath365)" x2="166" y1="167"
/><line y2="180" fill="none" x1="160" clip-path="url(#clipPath365)" x2="172" y1="171"
/><line y2="180" fill="none" x1="172" clip-path="url(#clipPath365)" x2="160" y1="171"
/><line y2="872" fill="none" x1="166" clip-path="url(#clipPath365)" x2="172" y1="884"
/><line y2="872" fill="none" x1="166" clip-path="url(#clipPath365)" x2="160" y1="884"
/><circle r="3.2" clip-path="url(#clipPath365)" cx="166" cy="886.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(4301,1592)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="495" fill="none" x1="71" clip-path="url(#clipPath367)" x2="71" y1="71"
/><line y2="84" fill="none" x1="65" clip-path="url(#clipPath367)" x2="77" y1="75"
/><line y2="84" fill="none" x1="77" clip-path="url(#clipPath367)" x2="65" y1="75"
/><line y2="483" fill="none" x1="71" clip-path="url(#clipPath367)" x2="77" y1="495"
/><line y2="483" fill="none" x1="71" clip-path="url(#clipPath367)" x2="65" y1="495"
/><circle r="3.2" clip-path="url(#clipPath367)" cx="71" cy="497.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2207,954)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="166" fill="none" x1="166" clip-path="url(#clipPath369)" x2="666" y1="166"
/><line y2="400" fill="none" x1="666" clip-path="url(#clipPath369)" x2="666" y1="166"
/><line y2="160" fill="none" x1="170" clip-path="url(#clipPath369)" x2="179" y1="172"
/><line y2="172" fill="none" x1="170" clip-path="url(#clipPath369)" x2="179" y1="160"
/><line y2="388" fill="none" x1="666" clip-path="url(#clipPath369)" x2="672" y1="400"
/><line y2="388" fill="none" x1="666" clip-path="url(#clipPath369)" x2="660" y1="400"
/><circle r="3.2" clip-path="url(#clipPath369)" cx="666" cy="402.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2900,857)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="167" fill="none" x1="566" clip-path="url(#clipPath371)" x2="166" y1="167"
/><line y2="498" fill="none" x1="166" clip-path="url(#clipPath371)" x2="166" y1="167"
/><line y2="173" fill="none" x1="561" clip-path="url(#clipPath371)" x2="552" y1="161"
/><line y2="161" fill="none" x1="561" clip-path="url(#clipPath371)" x2="552" y1="173"
/><line y2="486" fill="none" x1="166" clip-path="url(#clipPath371)" x2="172" y1="498"
/><line y2="486" fill="none" x1="166" clip-path="url(#clipPath371)" x2="160" y1="498"
/><circle r="3.2" clip-path="url(#clipPath371)" cx="166" cy="500.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2804,1436)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="78" fill="none" x1="71" clip-path="url(#clipPath373)" x2="71" y1="656"
/><line y2="642" fill="none" x1="77" clip-path="url(#clipPath373)" x2="65" y1="651"
/><line y2="642" fill="none" x1="65" clip-path="url(#clipPath373)" x2="77" y1="651"
/><line y2="90" fill="none" x1="71" clip-path="url(#clipPath373)" x2="65" y1="78"
/><line y2="90" fill="none" x1="71" clip-path="url(#clipPath373)" x2="77" y1="78"
/><circle r="3.2" clip-path="url(#clipPath373)" cx="71" cy="75.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(926,1459)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="501" fill="none" x1="50" clip-path="url(#clipPath375)" x2="50" y1="462"
/><line y2="501" fill="none" x1="50" clip-path="url(#clipPath375)" x2="1872" y1="501"
/><line y2="56" fill="none" x1="1872" clip-path="url(#clipPath375)" x2="1872" y1="501"
/><line y2="475" fill="none" x1="44" clip-path="url(#clipPath375)" x2="56" y1="466"
/><line y2="475" fill="none" x1="56" clip-path="url(#clipPath375)" x2="44" y1="466"
/><line y2="68" fill="none" x1="1872" clip-path="url(#clipPath375)" x2="1866" y1="56"
/><line y2="68" fill="none" x1="1872" clip-path="url(#clipPath375)" x2="1878" y1="56"
/><circle r="3.2" clip-path="url(#clipPath375)" cx="1872" cy="53.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(727,788)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="463" fill="none" x1="50" clip-path="url(#clipPath377)" x2="50" y1="50"
/><line y2="463" fill="none" x1="50" clip-path="url(#clipPath377)" x2="1463" y1="463"
/><line y2="566" fill="none" x1="1463" clip-path="url(#clipPath377)" x2="1463" y1="463"
/><line y2="63" fill="none" x1="44" clip-path="url(#clipPath377)" x2="56" y1="54"
/><line y2="63" fill="none" x1="56" clip-path="url(#clipPath377)" x2="44" y1="54"
/><line y2="554" fill="none" x1="1463" clip-path="url(#clipPath377)" x2="1469" y1="566"
/><line y2="554" fill="none" x1="1463" clip-path="url(#clipPath377)" x2="1457" y1="566"
/><circle r="3.2" clip-path="url(#clipPath377)" cx="1463" cy="568.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(383,671)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="550" fill="none" x1="167" clip-path="url(#clipPath379)" x2="167" y1="167"
/><line y2="550" fill="none" x1="167" clip-path="url(#clipPath379)" x2="1873" y1="550"
/><line y2="684" fill="none" x1="1873" clip-path="url(#clipPath379)" x2="1873" y1="550"
/><line y2="180" fill="none" x1="161" clip-path="url(#clipPath379)" x2="173" y1="171"
/><line y2="180" fill="none" x1="173" clip-path="url(#clipPath379)" x2="161" y1="171"
/><line y2="672" fill="none" x1="1873" clip-path="url(#clipPath379)" x2="1879" y1="684"
/><line y2="672" fill="none" x1="1873" clip-path="url(#clipPath379)" x2="1867" y1="684"
/><circle r="3.2" clip-path="url(#clipPath379)" cx="1873" cy="686.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(447,788)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="453" fill="none" x1="50" clip-path="url(#clipPath381)" x2="50" y1="50"
/><line y2="453" fill="none" x1="50" clip-path="url(#clipPath381)" x2="1799" y1="453"
/><line y2="566" fill="none" x1="1799" clip-path="url(#clipPath381)" x2="1799" y1="453"
/><line y2="63" fill="none" x1="44" clip-path="url(#clipPath381)" x2="56" y1="54"
/><line y2="63" fill="none" x1="56" clip-path="url(#clipPath381)" x2="44" y1="54"
/><line y2="554" fill="none" x1="1799" clip-path="url(#clipPath381)" x2="1805" y1="566"
/><line y2="554" fill="none" x1="1799" clip-path="url(#clipPath381)" x2="1793" y1="566"
/><circle r="3.2" clip-path="url(#clipPath381)" cx="1799" cy="568.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1442,828)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="463" fill="none" x1="50" clip-path="url(#clipPath383)" x2="50" y1="50"
/><line y2="463" fill="none" x1="50" clip-path="url(#clipPath383)" x2="724" y1="463"
/><line y2="549" fill="none" x1="724" clip-path="url(#clipPath383)" x2="724" y1="463"
/><line y2="549" fill="none" x1="724" clip-path="url(#clipPath383)" x2="741" y1="549"
/><line y2="63" fill="none" x1="44" clip-path="url(#clipPath383)" x2="56" y1="54"
/><line y2="63" fill="none" x1="56" clip-path="url(#clipPath383)" x2="44" y1="54"
/><line y2="543" fill="none" x1="741" clip-path="url(#clipPath383)" x2="729" y1="549"
/><line y2="555" fill="none" x1="741" clip-path="url(#clipPath383)" x2="729" y1="549"
/><circle r="3.2" clip-path="url(#clipPath383)" cx="743.8" cy="549" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1460,711)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="490" fill="none" x1="167" clip-path="url(#clipPath385)" x2="167" y1="166"
/><line y2="490" fill="none" x1="167" clip-path="url(#clipPath385)" x2="763" y1="490"
/><line y2="644" fill="none" x1="763" clip-path="url(#clipPath385)" x2="763" y1="490"
/><line y2="179" fill="none" x1="161" clip-path="url(#clipPath385)" x2="173" y1="170"
/><line y2="179" fill="none" x1="173" clip-path="url(#clipPath385)" x2="161" y1="170"
/><line y2="632" fill="none" x1="763" clip-path="url(#clipPath385)" x2="769" y1="644"
/><line y2="632" fill="none" x1="763" clip-path="url(#clipPath385)" x2="757" y1="644"
/><circle r="3.2" clip-path="url(#clipPath385)" cx="763" cy="646.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2238,793)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="561" fill="none" x1="71" clip-path="url(#clipPath387)" x2="71" y1="71"
/><line y2="84" fill="none" x1="65" clip-path="url(#clipPath387)" x2="77" y1="75"
/><line y2="84" fill="none" x1="77" clip-path="url(#clipPath387)" x2="65" y1="75"
/><line y2="549" fill="none" x1="71" clip-path="url(#clipPath387)" x2="77" y1="561"
/><line y2="549" fill="none" x1="71" clip-path="url(#clipPath387)" x2="65" y1="561"
/><circle r="3.2" clip-path="url(#clipPath387)" cx="71" cy="563.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2238,793)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="561" fill="none" x1="71" clip-path="url(#clipPath387)" x2="71" y1="71"
/><line y2="84" fill="none" x1="65" clip-path="url(#clipPath387)" x2="77" y1="75"
/><line y2="84" fill="none" x1="77" clip-path="url(#clipPath387)" x2="65" y1="75"
/><line y2="549" fill="none" x1="71" clip-path="url(#clipPath387)" x2="77" y1="561"
/><line y2="549" fill="none" x1="71" clip-path="url(#clipPath387)" x2="65" y1="561"
/><circle r="3.2" clip-path="url(#clipPath387)" cx="71" cy="563.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2238,793)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="561" fill="none" x1="71" clip-path="url(#clipPath387)" x2="71" y1="71"
/><line y2="84" fill="none" x1="65" clip-path="url(#clipPath387)" x2="77" y1="75"
/><line y2="84" fill="none" x1="77" clip-path="url(#clipPath387)" x2="65" y1="75"
/><line y2="549" fill="none" x1="71" clip-path="url(#clipPath387)" x2="77" y1="561"
/><line y2="549" fill="none" x1="71" clip-path="url(#clipPath387)" x2="65" y1="561"
/><circle r="3.2" clip-path="url(#clipPath387)" cx="71" cy="563.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2207,1081)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="274" fill="none" x1="71" clip-path="url(#clipPath389)" x2="71" y1="71"
/><line y2="84" fill="none" x1="65" clip-path="url(#clipPath389)" x2="77" y1="75"
/><line y2="84" fill="none" x1="77" clip-path="url(#clipPath389)" x2="65" y1="75"
/><line y2="262" fill="none" x1="71" clip-path="url(#clipPath389)" x2="77" y1="274"
/><line y2="262" fill="none" x1="71" clip-path="url(#clipPath389)" x2="65" y1="274"
/><circle r="3.2" clip-path="url(#clipPath389)" cx="71" cy="276.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2207,1081)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="274" fill="none" x1="71" clip-path="url(#clipPath389)" x2="71" y1="71"
/><line y2="84" fill="none" x1="65" clip-path="url(#clipPath389)" x2="77" y1="75"
/><line y2="84" fill="none" x1="77" clip-path="url(#clipPath389)" x2="65" y1="75"
/><line y2="262" fill="none" x1="71" clip-path="url(#clipPath389)" x2="77" y1="274"
/><line y2="262" fill="none" x1="71" clip-path="url(#clipPath389)" x2="65" y1="274"
/><circle r="3.2" clip-path="url(#clipPath389)" cx="71" cy="276.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2183,734)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="166" fill="none" x1="1284" clip-path="url(#clipPath391)" x2="250" y1="166"
/><line y2="466" fill="none" x1="250" clip-path="url(#clipPath391)" x2="250" y1="166"
/><line y2="466" fill="none" x1="250" clip-path="url(#clipPath391)" x2="167" y1="466"
/><line y2="621" fill="none" x1="167" clip-path="url(#clipPath391)" x2="167" y1="466"
/><line y2="172" fill="none" x1="1279" clip-path="url(#clipPath391)" x2="1270" y1="160"
/><line y2="160" fill="none" x1="1279" clip-path="url(#clipPath391)" x2="1270" y1="172"
/><line y2="609" fill="none" x1="167" clip-path="url(#clipPath391)" x2="173" y1="621"
/><line y2="609" fill="none" x1="167" clip-path="url(#clipPath391)" x2="161" y1="621"
/><circle r="3.2" clip-path="url(#clipPath391)" cx="167" cy="623.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2203,787)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="167" fill="none" x1="1264" clip-path="url(#clipPath393)" x2="290" y1="167"
/><line y2="434" fill="none" x1="290" clip-path="url(#clipPath393)" x2="290" y1="167"
/><line y2="434" fill="none" x1="290" clip-path="url(#clipPath393)" x2="167" y1="434"
/><line y2="568" fill="none" x1="167" clip-path="url(#clipPath393)" x2="167" y1="434"
/><line y2="173" fill="none" x1="1259" clip-path="url(#clipPath393)" x2="1250" y1="161"
/><line y2="161" fill="none" x1="1259" clip-path="url(#clipPath393)" x2="1250" y1="173"
/><line y2="556" fill="none" x1="167" clip-path="url(#clipPath393)" x2="173" y1="568"
/><line y2="556" fill="none" x1="167" clip-path="url(#clipPath393)" x2="161" y1="568"
/><circle r="3.2" clip-path="url(#clipPath393)" cx="167" cy="570.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1939,1579)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="1143" fill="none" x1="50" clip-path="url(#clipPath395)" x2="226" y1="1143"
/><line y2="278" fill="none" x1="226" clip-path="url(#clipPath395)" x2="226" y1="1143"
/><line y2="278" fill="none" x1="226" clip-path="url(#clipPath395)" x2="361" y1="278"
/><line y2="56" fill="none" x1="361" clip-path="url(#clipPath395)" x2="361" y1="278"
/><line y2="1137" fill="none" x1="54" clip-path="url(#clipPath395)" x2="63" y1="1149"
/><line y2="1149" fill="none" x1="54" clip-path="url(#clipPath395)" x2="63" y1="1137"
/><line y2="68" fill="none" x1="361" clip-path="url(#clipPath395)" x2="355" y1="56"
/><line y2="68" fill="none" x1="361" clip-path="url(#clipPath395)" x2="367" y1="56"
/><circle r="3.2" clip-path="url(#clipPath395)" cx="361" cy="53.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1068,1562)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="50" clip-path="url(#clipPath397)" x2="50" y1="526"
/><line y2="50" fill="none" x1="50" clip-path="url(#clipPath397)" x2="1115" y1="50"
/><line y2="512" fill="none" x1="56" clip-path="url(#clipPath397)" x2="44" y1="521"
/><line y2="512" fill="none" x1="44" clip-path="url(#clipPath397)" x2="56" y1="521"
/><line y2="44" fill="none" x1="1115" clip-path="url(#clipPath397)" x2="1103" y1="50"
/><line y2="56" fill="none" x1="1115" clip-path="url(#clipPath397)" x2="1103" y1="50"
/><circle r="3.2" clip-path="url(#clipPath397)" cx="1117.8001" cy="50" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1958,1579)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="1472" fill="none" x1="50" clip-path="url(#clipPath399)" x2="232" y1="1472"
/><line y2="322" fill="none" x1="232" clip-path="url(#clipPath399)" x2="244" y1="1472"
/><line y2="322" fill="none" x1="244" clip-path="url(#clipPath399)" x2="373" y1="322"
/><line y2="56" fill="none" x1="373" clip-path="url(#clipPath399)" x2="373" y1="322"
/><line y2="1466" fill="none" x1="54" clip-path="url(#clipPath399)" x2="63" y1="1478"
/><line y2="1478" fill="none" x1="54" clip-path="url(#clipPath399)" x2="63" y1="1466"
/><line y2="68" fill="none" x1="373" clip-path="url(#clipPath399)" x2="367" y1="56"
/><line y2="68" fill="none" x1="373" clip-path="url(#clipPath399)" x2="379" y1="56"
/><circle r="3.2" clip-path="url(#clipPath399)" cx="373" cy="53.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1252,1578)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="50" clip-path="url(#clipPath401)" x2="50" y1="508"
/><line y2="50" fill="none" x1="50" clip-path="url(#clipPath401)" x2="931" y1="50"
/><line y2="494" fill="none" x1="56" clip-path="url(#clipPath401)" x2="44" y1="503"
/><line y2="494" fill="none" x1="44" clip-path="url(#clipPath401)" x2="56" y1="503"
/><line y2="44" fill="none" x1="931" clip-path="url(#clipPath401)" x2="919" y1="50"
/><line y2="56" fill="none" x1="931" clip-path="url(#clipPath401)" x2="919" y1="50"
/><circle r="3.2" clip-path="url(#clipPath401)" cx="933.8" cy="50" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1857,1461)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="860" fill="none" x1="167" clip-path="url(#clipPath403)" x2="247" y1="860"
/><line y2="343" fill="none" x1="247" clip-path="url(#clipPath403)" x2="247" y1="860"
/><line y2="343" fill="none" x1="247" clip-path="url(#clipPath403)" x2="400" y1="343"
/><line y2="173" fill="none" x1="400" clip-path="url(#clipPath403)" x2="400" y1="343"
/><line y2="854" fill="none" x1="171" clip-path="url(#clipPath403)" x2="180" y1="866"
/><line y2="866" fill="none" x1="171" clip-path="url(#clipPath403)" x2="180" y1="854"
/><line y2="185" fill="none" x1="400" clip-path="url(#clipPath403)" x2="394" y1="173"
/><line y2="185" fill="none" x1="400" clip-path="url(#clipPath403)" x2="406" y1="173"
/><circle r="3.2" clip-path="url(#clipPath403)" cx="400" cy="170.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1840,1461)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="1087" fill="none" x1="167" clip-path="url(#clipPath405)" x2="297" y1="1087"
/><line y2="370" fill="none" x1="297" clip-path="url(#clipPath405)" x2="297" y1="1087"
/><line y2="370" fill="none" x1="297" clip-path="url(#clipPath405)" x2="437" y1="370"
/><line y2="173" fill="none" x1="437" clip-path="url(#clipPath405)" x2="437" y1="370"
/><line y2="1081" fill="none" x1="171" clip-path="url(#clipPath405)" x2="180" y1="1093"
/><line y2="1093" fill="none" x1="171" clip-path="url(#clipPath405)" x2="180" y1="1081"
/><line y2="185" fill="none" x1="437" clip-path="url(#clipPath405)" x2="431" y1="173"
/><line y2="185" fill="none" x1="437" clip-path="url(#clipPath405)" x2="443" y1="173"
/><circle r="3.2" clip-path="url(#clipPath405)" cx="437" cy="170.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1965,1579)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="1307" fill="none" x1="50" clip-path="url(#clipPath407)" x2="216" y1="1307"
/><line y2="301" fill="none" x1="216" clip-path="url(#clipPath407)" x2="219" y1="1307"
/><line y2="301" fill="none" x1="219" clip-path="url(#clipPath407)" x2="353" y1="301"
/><line y2="56" fill="none" x1="353" clip-path="url(#clipPath407)" x2="353" y1="301"
/><line y2="1301" fill="none" x1="54" clip-path="url(#clipPath407)" x2="63" y1="1313"
/><line y2="1313" fill="none" x1="54" clip-path="url(#clipPath407)" x2="63" y1="1301"
/><line y2="68" fill="none" x1="353" clip-path="url(#clipPath407)" x2="347" y1="56"
/><line y2="68" fill="none" x1="353" clip-path="url(#clipPath407)" x2="359" y1="56"
/><circle r="3.2" clip-path="url(#clipPath407)" cx="353" cy="53.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1870,1461)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="777" fill="none" x1="167" clip-path="url(#clipPath409)" x2="200" y1="777"
/><line y2="313" fill="none" x1="200" clip-path="url(#clipPath409)" x2="200" y1="777"
/><line y2="313" fill="none" x1="200" clip-path="url(#clipPath409)" x2="353" y1="313"
/><line y2="173" fill="none" x1="353" clip-path="url(#clipPath409)" x2="353" y1="313"
/><line y2="771" fill="none" x1="171" clip-path="url(#clipPath409)" x2="180" y1="783"
/><line y2="783" fill="none" x1="171" clip-path="url(#clipPath409)" x2="180" y1="771"
/><line y2="185" fill="none" x1="353" clip-path="url(#clipPath409)" x2="347" y1="173"
/><line y2="185" fill="none" x1="353" clip-path="url(#clipPath409)" x2="359" y1="173"
/><circle r="3.2" clip-path="url(#clipPath409)" cx="353" cy="170.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1987,1579)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="165" fill="none" x1="50" clip-path="url(#clipPath411)" x2="50" y1="507"
/><line y2="165" fill="none" x1="50" clip-path="url(#clipPath411)" x2="219" y1="165"
/><line y2="56" fill="none" x1="219" clip-path="url(#clipPath411)" x2="219" y1="165"
/><line y2="493" fill="none" x1="56" clip-path="url(#clipPath411)" x2="44" y1="502"
/><line y2="493" fill="none" x1="44" clip-path="url(#clipPath411)" x2="56" y1="502"
/><line y2="68" fill="none" x1="219" clip-path="url(#clipPath411)" x2="213" y1="56"
/><line y2="68" fill="none" x1="219" clip-path="url(#clipPath411)" x2="225" y1="56"
/><circle r="3.2" clip-path="url(#clipPath411)" cx="219" cy="53.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2165,1579)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="1053" fill="none" x1="157" clip-path="url(#clipPath413)" x2="50" y1="1053"
/><line y2="427" fill="none" x1="50" clip-path="url(#clipPath413)" x2="50" y1="1053"
/><line y2="427" fill="none" x1="50" clip-path="url(#clipPath413)" x2="212" y1="427"
/><line y2="56" fill="none" x1="212" clip-path="url(#clipPath413)" x2="212" y1="427"
/><line y2="1059" fill="none" x1="152" clip-path="url(#clipPath413)" x2="143" y1="1047"
/><line y2="1047" fill="none" x1="152" clip-path="url(#clipPath413)" x2="143" y1="1059"
/><line y2="68" fill="none" x1="212" clip-path="url(#clipPath413)" x2="206" y1="56"
/><line y2="68" fill="none" x1="212" clip-path="url(#clipPath413)" x2="218" y1="56"
/><circle r="3.2" clip-path="url(#clipPath413)" cx="212" cy="53.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2180,1578)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="1024" fill="none" x1="142" clip-path="url(#clipPath415)" x2="50" y1="1024"
/><line y2="443" fill="none" x1="50" clip-path="url(#clipPath415)" x2="50" y1="1024"
/><line y2="443" fill="none" x1="50" clip-path="url(#clipPath415)" x2="305" y1="443"
/><line y2="51" fill="none" x1="305" clip-path="url(#clipPath415)" x2="305" y1="443"
/><line y2="50" fill="none" x1="305" clip-path="url(#clipPath415)" x2="215" y1="51"
/><line y2="1030" fill="none" x1="137" clip-path="url(#clipPath415)" x2="128" y1="1018"
/><line y2="1018" fill="none" x1="137" clip-path="url(#clipPath415)" x2="128" y1="1030"
/><line y2="56" fill="none" x1="215" clip-path="url(#clipPath415)" x2="227" y1="50"
/><line y2="44" fill="none" x1="215" clip-path="url(#clipPath415)" x2="227" y1="50"
/><circle r="3.2" clip-path="url(#clipPath415)" cx="212.1998" cy="50.0333" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2339,1518)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="473" fill="none" x1="685" clip-path="url(#clipPath417)" x2="685" y1="574"
/><line y2="473" fill="none" x1="685" clip-path="url(#clipPath417)" x2="238" y1="473"
/><line y2="50" fill="none" x1="238" clip-path="url(#clipPath417)" x2="238" y1="473"
/><line y2="50" fill="none" x1="238" clip-path="url(#clipPath417)" x2="56" y1="50"
/><line y2="560" fill="none" x1="691" clip-path="url(#clipPath417)" x2="679" y1="569"
/><line y2="560" fill="none" x1="679" clip-path="url(#clipPath417)" x2="691" y1="569"
/><line y2="56" fill="none" x1="56" clip-path="url(#clipPath417)" x2="68" y1="50"
/><line y2="44" fill="none" x1="56" clip-path="url(#clipPath417)" x2="68" y1="50"
/><circle r="3.2" clip-path="url(#clipPath417)" cx="53.2" cy="50" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2339,1545)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="376" fill="none" x1="1378" clip-path="url(#clipPath419)" x2="1378" y1="548"
/><line y2="376" fill="none" x1="1378" clip-path="url(#clipPath419)" x2="219" y1="376"
/><line y2="50" fill="none" x1="219" clip-path="url(#clipPath419)" x2="219" y1="376"
/><line y2="50" fill="none" x1="219" clip-path="url(#clipPath419)" x2="56" y1="50"
/><line y2="534" fill="none" x1="1384" clip-path="url(#clipPath419)" x2="1372" y1="543"
/><line y2="534" fill="none" x1="1372" clip-path="url(#clipPath419)" x2="1384" y1="543"
/><line y2="56" fill="none" x1="56" clip-path="url(#clipPath419)" x2="68" y1="50"
/><line y2="44" fill="none" x1="56" clip-path="url(#clipPath419)" x2="68" y1="50"
/><circle r="3.2" clip-path="url(#clipPath419)" cx="53.2" cy="50" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2339,1528)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="373" fill="none" x1="1412" clip-path="url(#clipPath421)" x2="1412" y1="565"
/><line y2="367" fill="none" x1="1412" clip-path="url(#clipPath421)" x2="264" y1="373"
/><line y2="50" fill="none" x1="264" clip-path="url(#clipPath421)" x2="264" y1="367"
/><line y2="50" fill="none" x1="264" clip-path="url(#clipPath421)" x2="56" y1="50"
/><line y2="551" fill="none" x1="1418" clip-path="url(#clipPath421)" x2="1406" y1="560"
/><line y2="551" fill="none" x1="1406" clip-path="url(#clipPath421)" x2="1418" y1="560"
/><line y2="56" fill="none" x1="56" clip-path="url(#clipPath421)" x2="68" y1="50"
/><line y2="44" fill="none" x1="56" clip-path="url(#clipPath421)" x2="68" y1="50"
/><circle r="3.2" clip-path="url(#clipPath421)" cx="53.2" cy="50" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2339,1505)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="1063" fill="none" x1="1603" clip-path="url(#clipPath423)" x2="555" y1="1063"
/><line y2="486" fill="none" x1="555" clip-path="url(#clipPath423)" x2="555" y1="1063"
/><line y2="486" fill="none" x1="555" clip-path="url(#clipPath423)" x2="492" y1="486"
/><line y2="50" fill="none" x1="492" clip-path="url(#clipPath423)" x2="492" y1="486"
/><line y2="50" fill="none" x1="492" clip-path="url(#clipPath423)" x2="56" y1="50"
/><line y2="1069" fill="none" x1="1598" clip-path="url(#clipPath423)" x2="1589" y1="1057"
/><line y2="1057" fill="none" x1="1598" clip-path="url(#clipPath423)" x2="1589" y1="1069"
/><line y2="56" fill="none" x1="56" clip-path="url(#clipPath423)" x2="68" y1="50"
/><line y2="44" fill="none" x1="56" clip-path="url(#clipPath423)" x2="68" y1="50"
/><circle r="3.2" clip-path="url(#clipPath423)" cx="53.2" cy="50" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2310,1579)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="56" fill="none" x1="50" clip-path="url(#clipPath425)" x2="50" y1="513"
/><line y2="499" fill="none" x1="56" clip-path="url(#clipPath425)" x2="44" y1="508"
/><line y2="499" fill="none" x1="44" clip-path="url(#clipPath425)" x2="56" y1="508"
/><line y2="68" fill="none" x1="50" clip-path="url(#clipPath425)" x2="44" y1="56"
/><line y2="68" fill="none" x1="50" clip-path="url(#clipPath425)" x2="56" y1="56"
/><circle r="3.2" clip-path="url(#clipPath425)" cx="50" cy="53.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2339,1562)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="188" clip-path="url(#clipPath427)" x2="188" y1="530"
/><line y2="50" fill="none" x1="188" clip-path="url(#clipPath427)" x2="56" y1="50"
/><line y2="516" fill="none" x1="194" clip-path="url(#clipPath427)" x2="182" y1="525"
/><line y2="516" fill="none" x1="182" clip-path="url(#clipPath427)" x2="194" y1="525"
/><line y2="56" fill="none" x1="56" clip-path="url(#clipPath427)" x2="68" y1="50"
/><line y2="44" fill="none" x1="56" clip-path="url(#clipPath427)" x2="68" y1="50"
/><circle r="3.2" clip-path="url(#clipPath427)" cx="53.2" cy="50" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1008,1579)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="342" fill="none" x1="50" clip-path="url(#clipPath429)" x2="1339" y1="342"
/><line y2="56" fill="none" x1="1339" clip-path="url(#clipPath429)" x2="1339" y1="342"
/><line y2="336" fill="none" x1="54" clip-path="url(#clipPath429)" x2="63" y1="348"
/><line y2="348" fill="none" x1="54" clip-path="url(#clipPath429)" x2="63" y1="336"
/><line y2="68" fill="none" x1="1339" clip-path="url(#clipPath429)" x2="1333" y1="56"
/><line y2="68" fill="none" x1="1339" clip-path="url(#clipPath429)" x2="1345" y1="56"
/><circle r="3.2" clip-path="url(#clipPath429)" cx="1339" cy="53.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(271,1472)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="71" fill="none" x1="71" clip-path="url(#clipPath431)" x2="1912" y1="71"
/><line y2="65" fill="none" x1="75" clip-path="url(#clipPath431)" x2="84" y1="77"
/><line y2="77" fill="none" x1="75" clip-path="url(#clipPath431)" x2="84" y1="65"
/><line y2="65" fill="none" x1="1912" clip-path="url(#clipPath431)" x2="1900" y1="71"
/><line y2="77" fill="none" x1="1912" clip-path="url(#clipPath431)" x2="1900" y1="71"
/><circle r="3.2" clip-path="url(#clipPath431)" cx="1914.8001" cy="71" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(271,1472)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="71" fill="none" x1="71" clip-path="url(#clipPath431)" x2="1912" y1="71"
/><line y2="65" fill="none" x1="75" clip-path="url(#clipPath431)" x2="84" y1="77"
/><line y2="77" fill="none" x1="75" clip-path="url(#clipPath431)" x2="84" y1="65"
/><line y2="65" fill="none" x1="1912" clip-path="url(#clipPath431)" x2="1900" y1="71"
/><line y2="77" fill="none" x1="1912" clip-path="url(#clipPath431)" x2="1900" y1="71"
/><circle r="3.2" clip-path="url(#clipPath431)" cx="1914.8001" cy="71" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(750,1427)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="167" fill="none" x1="167" clip-path="url(#clipPath433)" x2="167" y1="270"
/><line y2="167" fill="none" x1="167" clip-path="url(#clipPath433)" x2="1434" y1="167"
/><line y2="256" fill="none" x1="173" clip-path="url(#clipPath433)" x2="161" y1="265"
/><line y2="256" fill="none" x1="161" clip-path="url(#clipPath433)" x2="173" y1="265"
/><line y2="161" fill="none" x1="1434" clip-path="url(#clipPath433)" x2="1422" y1="167"
/><line y2="173" fill="none" x1="1434" clip-path="url(#clipPath433)" x2="1422" y1="167"
/><circle r="3.2" clip-path="url(#clipPath433)" cx="1436.8001" cy="167" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(757,763)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="50" fill="none" x1="50" clip-path="url(#clipPath435)" x2="97" y1="50"
/><line y2="429" fill="none" x1="97" clip-path="url(#clipPath435)" x2="97" y1="50"
/><line y2="429" fill="none" x1="97" clip-path="url(#clipPath435)" x2="1751" y1="429"
/><line y2="591" fill="none" x1="1751" clip-path="url(#clipPath435)" x2="1751" y1="429"
/><line y2="44" fill="none" x1="54" clip-path="url(#clipPath435)" x2="63" y1="56"
/><line y2="56" fill="none" x1="54" clip-path="url(#clipPath435)" x2="63" y1="44"
/><line y2="579" fill="none" x1="1751" clip-path="url(#clipPath435)" x2="1757" y1="591"
/><line y2="579" fill="none" x1="1751" clip-path="url(#clipPath435)" x2="1745" y1="591"
/><circle r="3.2" clip-path="url(#clipPath435)" cx="1751" cy="593.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1490,711)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="467" fill="none" x1="167" clip-path="url(#clipPath437)" x2="167" y1="167"
/><line y2="467" fill="none" x1="167" clip-path="url(#clipPath437)" x2="1037" y1="467"
/><line y2="644" fill="none" x1="1037" clip-path="url(#clipPath437)" x2="1037" y1="467"
/><line y2="180" fill="none" x1="161" clip-path="url(#clipPath437)" x2="173" y1="171"
/><line y2="180" fill="none" x1="173" clip-path="url(#clipPath437)" x2="161" y1="171"
/><line y2="632" fill="none" x1="1037" clip-path="url(#clipPath437)" x2="1043" y1="644"
/><line y2="632" fill="none" x1="1037" clip-path="url(#clipPath437)" x2="1031" y1="644"
/><circle r="3.2" clip-path="url(#clipPath437)" cx="1037" cy="646.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2507,737)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="618" fill="none" x1="166" clip-path="url(#clipPath439)" x2="166" y1="167"
/><line y2="180" fill="none" x1="160" clip-path="url(#clipPath439)" x2="172" y1="171"
/><line y2="180" fill="none" x1="172" clip-path="url(#clipPath439)" x2="160" y1="171"
/><line y2="606" fill="none" x1="166" clip-path="url(#clipPath439)" x2="172" y1="618"
/><line y2="606" fill="none" x1="166" clip-path="url(#clipPath439)" x2="160" y1="618"
/><circle r="3.2" clip-path="url(#clipPath439)" cx="166" cy="620.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2237,621)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="167" fill="none" x1="167" clip-path="url(#clipPath441)" x2="313" y1="167"
/><line y2="734" fill="none" x1="313" clip-path="url(#clipPath441)" x2="313" y1="167"
/><line y2="161" fill="none" x1="171" clip-path="url(#clipPath441)" x2="180" y1="173"
/><line y2="173" fill="none" x1="171" clip-path="url(#clipPath441)" x2="180" y1="161"
/><line y2="722" fill="none" x1="313" clip-path="url(#clipPath441)" x2="319" y1="734"
/><line y2="722" fill="none" x1="313" clip-path="url(#clipPath441)" x2="307" y1="734"
/><circle r="3.2" clip-path="url(#clipPath441)" cx="313" cy="736.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2281,1103)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="197" fill="none" x1="50" clip-path="url(#clipPath443)" x2="50" y1="50"
/><line y2="197" fill="none" x1="50" clip-path="url(#clipPath443)" x2="179" y1="197"
/><line y2="251" fill="none" x1="179" clip-path="url(#clipPath443)" x2="179" y1="197"
/><line y2="63" fill="none" x1="44" clip-path="url(#clipPath443)" x2="56" y1="54"
/><line y2="63" fill="none" x1="56" clip-path="url(#clipPath443)" x2="44" y1="54"
/><line y2="239" fill="none" x1="179" clip-path="url(#clipPath443)" x2="185" y1="251"
/><line y2="239" fill="none" x1="179" clip-path="url(#clipPath443)" x2="173" y1="251"
/><circle r="3.2" clip-path="url(#clipPath443)" cx="179" cy="253.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2207,984)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="166" fill="none" x1="166" clip-path="url(#clipPath445)" x2="380" y1="166"
/><line y2="370" fill="none" x1="380" clip-path="url(#clipPath445)" x2="380" y1="166"
/><line y2="160" fill="none" x1="170" clip-path="url(#clipPath445)" x2="179" y1="172"
/><line y2="172" fill="none" x1="170" clip-path="url(#clipPath445)" x2="179" y1="160"
/><line y2="358" fill="none" x1="380" clip-path="url(#clipPath445)" x2="386" y1="370"
/><line y2="358" fill="none" x1="380" clip-path="url(#clipPath445)" x2="374" y1="370"
/><circle r="3.2" clip-path="url(#clipPath445)" cx="380" cy="372.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2550,984)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="166" fill="none" x1="916" clip-path="url(#clipPath447)" x2="166" y1="166"
/><line y2="370" fill="none" x1="166" clip-path="url(#clipPath447)" x2="166" y1="166"
/><line y2="172" fill="none" x1="911" clip-path="url(#clipPath447)" x2="902" y1="160"
/><line y2="160" fill="none" x1="911" clip-path="url(#clipPath447)" x2="902" y1="172"
/><line y2="358" fill="none" x1="166" clip-path="url(#clipPath447)" x2="172" y1="370"
/><line y2="358" fill="none" x1="166" clip-path="url(#clipPath447)" x2="160" y1="370"
/><circle r="3.2" clip-path="url(#clipPath447)" cx="166" cy="372.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2473,827)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="167" fill="none" x1="994" clip-path="url(#clipPath449)" x2="167" y1="167"
/><line y2="528" fill="none" x1="167" clip-path="url(#clipPath449)" x2="167" y1="167"
/><line y2="173" fill="none" x1="989" clip-path="url(#clipPath449)" x2="980" y1="161"
/><line y2="161" fill="none" x1="989" clip-path="url(#clipPath449)" x2="980" y1="173"
/><line y2="516" fill="none" x1="167" clip-path="url(#clipPath449)" x2="173" y1="528"
/><line y2="516" fill="none" x1="167" clip-path="url(#clipPath449)" x2="161" y1="528"
/><circle r="3.2" clip-path="url(#clipPath449)" cx="167" cy="530.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2420,761)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="166" fill="none" x1="1046" clip-path="url(#clipPath451)" x2="166" y1="166"
/><line y2="594" fill="none" x1="166" clip-path="url(#clipPath451)" x2="166" y1="166"
/><line y2="172" fill="none" x1="1041" clip-path="url(#clipPath451)" x2="1032" y1="160"
/><line y2="160" fill="none" x1="1041" clip-path="url(#clipPath451)" x2="1032" y1="172"
/><line y2="582" fill="none" x1="166" clip-path="url(#clipPath451)" x2="172" y1="594"
/><line y2="582" fill="none" x1="166" clip-path="url(#clipPath451)" x2="160" y1="594"
/><circle r="3.2" clip-path="url(#clipPath451)" cx="166" cy="596.8" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2550,1107)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="167" fill="none" x1="916" clip-path="url(#clipPath453)" x2="213" y1="167"
/><line y2="263" fill="none" x1="213" clip-path="url(#clipPath453)" x2="213" y1="167"
/><line y2="263" fill="none" x1="213" clip-path="url(#clipPath453)" x2="172" y1="263"
/><line y2="173" fill="none" x1="911" clip-path="url(#clipPath453)" x2="902" y1="161"
/><line y2="161" fill="none" x1="911" clip-path="url(#clipPath453)" x2="902" y1="173"
/><line y2="269" fill="none" x1="172" clip-path="url(#clipPath453)" x2="184" y1="263"
/><line y2="257" fill="none" x1="172" clip-path="url(#clipPath453)" x2="184" y1="263"
/><circle r="3.2" clip-path="url(#clipPath453)" cx="169.2" cy="263" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2647,1451)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="71" fill="none" x1="838" clip-path="url(#clipPath455)" x2="77" y1="71"
/><line y2="77" fill="none" x1="833" clip-path="url(#clipPath455)" x2="824" y1="65"
/><line y2="65" fill="none" x1="833" clip-path="url(#clipPath455)" x2="824" y1="77"
/><line y2="77" fill="none" x1="77" clip-path="url(#clipPath455)" x2="89" y1="71"
/><line y2="65" fill="none" x1="77" clip-path="url(#clipPath455)" x2="89" y1="71"
/><circle r="3.2" clip-path="url(#clipPath455)" cx="74.2" cy="71" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2648,1474)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="56" fill="none" x1="50" clip-path="url(#clipPath457)" x2="50" y1="1094"
/><line y2="1080" fill="none" x1="56" clip-path="url(#clipPath457)" x2="44" y1="1089"
/><line y2="1080" fill="none" x1="44" clip-path="url(#clipPath457)" x2="56" y1="1089"
/><line y2="68" fill="none" x1="50" clip-path="url(#clipPath457)" x2="44" y1="56"
/><line y2="68" fill="none" x1="50" clip-path="url(#clipPath457)" x2="56" y1="56"
/><circle r="3.2" clip-path="url(#clipPath457)" cx="50" cy="53.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2507,1357)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="663" fill="none" x1="410" clip-path="url(#clipPath459)" x2="410" y1="733"
/><line y2="663" fill="none" x1="410" clip-path="url(#clipPath459)" x2="166" y1="663"
/><line y2="173" fill="none" x1="166" clip-path="url(#clipPath459)" x2="166" y1="663"
/><line y2="719" fill="none" x1="416" clip-path="url(#clipPath459)" x2="404" y1="728"
/><line y2="719" fill="none" x1="404" clip-path="url(#clipPath459)" x2="416" y1="728"
/><line y2="185" fill="none" x1="166" clip-path="url(#clipPath459)" x2="160" y1="173"
/><line y2="185" fill="none" x1="166" clip-path="url(#clipPath459)" x2="172" y1="173"
/><circle r="3.2" clip-path="url(#clipPath459)" cx="166" cy="170.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2447,1357)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="510" fill="none" x1="1336" clip-path="url(#clipPath461)" x2="1336" y1="737"
/><line y2="510" fill="none" x1="1336" clip-path="url(#clipPath461)" x2="166" y1="510"
/><line y2="173" fill="none" x1="166" clip-path="url(#clipPath461)" x2="166" y1="510"
/><line y2="723" fill="none" x1="1342" clip-path="url(#clipPath461)" x2="1330" y1="732"
/><line y2="723" fill="none" x1="1330" clip-path="url(#clipPath461)" x2="1342" y1="732"
/><line y2="185" fill="none" x1="166" clip-path="url(#clipPath461)" x2="160" y1="173"
/><line y2="185" fill="none" x1="166" clip-path="url(#clipPath461)" x2="172" y1="173"
/><circle r="3.2" clip-path="url(#clipPath461)" cx="166" cy="170.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2668,1474)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="144" fill="none" x1="95" clip-path="url(#clipPath463)" x2="95" y1="618"
/><line y2="144" fill="none" x1="95" clip-path="url(#clipPath463)" x2="50" y1="144"
/><line y2="56" fill="none" x1="50" clip-path="url(#clipPath463)" x2="50" y1="144"
/><line y2="604" fill="none" x1="101" clip-path="url(#clipPath463)" x2="89" y1="613"
/><line y2="604" fill="none" x1="89" clip-path="url(#clipPath463)" x2="101" y1="613"
/><line y2="68" fill="none" x1="50" clip-path="url(#clipPath463)" x2="44" y1="56"
/><line y2="68" fill="none" x1="50" clip-path="url(#clipPath463)" x2="56" y1="56"
/><circle r="3.2" clip-path="url(#clipPath463)" cx="50" cy="53.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(966,1474)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="469" fill="none" x1="50" clip-path="url(#clipPath465)" x2="50" y1="447"
/><line y2="469" fill="none" x1="50" clip-path="url(#clipPath465)" x2="1542" y1="469"
/><line y2="56" fill="none" x1="1542" clip-path="url(#clipPath465)" x2="1542" y1="469"
/><line y2="460" fill="none" x1="44" clip-path="url(#clipPath465)" x2="56" y1="451"
/><line y2="460" fill="none" x1="56" clip-path="url(#clipPath465)" x2="44" y1="451"
/><line y2="68" fill="none" x1="1542" clip-path="url(#clipPath465)" x2="1536" y1="56"
/><line y2="68" fill="none" x1="1542" clip-path="url(#clipPath465)" x2="1548" y1="56"
/><circle r="3.2" clip-path="url(#clipPath465)" cx="1542" cy="53.2" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(271,1446)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="72" fill="none" x1="71" clip-path="url(#clipPath467)" x2="2180" y1="72"
/><line y2="66" fill="none" x1="75" clip-path="url(#clipPath467)" x2="84" y1="78"
/><line y2="78" fill="none" x1="75" clip-path="url(#clipPath467)" x2="84" y1="66"
/><line y2="66" fill="none" x1="2180" clip-path="url(#clipPath467)" x2="2168" y1="72"
/><line y2="78" fill="none" x1="2180" clip-path="url(#clipPath467)" x2="2168" y1="72"
/><circle r="3.2" clip-path="url(#clipPath467)" cx="2182.8001" cy="72" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1493,1335)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="125" fill="none" x1="125" clip-path="url(#clipPath469)" x2="175" y1="125"
/><polygon fill="white" clip-path="url(#clipPath469)" points=" 125 125 137 131 137 119" stroke="none"
/><polygon fill="none" points=" 125 125 137 131 137 119" clip-path="url(#clipPath469)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1493,1275)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="125" fill="none" x1="125" clip-path="url(#clipPath471)" x2="160" y1="125"
/><polygon fill="white" clip-path="url(#clipPath471)" points=" 125 125 137 131 137 119" stroke="none"
/><polygon fill="none" points=" 125 125 137 131 137 119" clip-path="url(#clipPath471)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(500,671)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="423" fill="none" x1="1350" clip-path="url(#clipPath473)" x2="1350" y1="683"
/><line y2="423" fill="none" x1="1350" clip-path="url(#clipPath473)" x2="167" y1="423"
/><line y2="167" fill="none" x1="167" clip-path="url(#clipPath473)" x2="167" y1="423"
/><polygon fill="white" clip-path="url(#clipPath473)" points=" 1350 683 1356 671 1344 671" stroke="none"
/><polygon fill="none" points=" 1350 683 1356 671 1344 671" clip-path="url(#clipPath473)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1528,828)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="400" fill="none" x1="300" clip-path="url(#clipPath475)" x2="300" y1="525"
/><line y2="400" fill="none" x1="300" clip-path="url(#clipPath475)" x2="50" y1="400"
/><line y2="50" fill="none" x1="50" clip-path="url(#clipPath475)" x2="50" y1="400"
/><polygon fill="white" clip-path="url(#clipPath475)" points=" 300 525 306 513 294 513" stroke="none"
/><polygon fill="none" points=" 300 525 306 513 294 513" clip-path="url(#clipPath475)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1799,793)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="71" fill="none" x1="71" clip-path="url(#clipPath477)" x2="71" y1="560"
/><polygon fill="white" clip-path="url(#clipPath477)" points=" 71 560 77 548 65 548" stroke="none"
/><polygon fill="none" points=" 71 560 77 548 65 548" clip-path="url(#clipPath477)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(1810,1344)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="353" fill="none" x1="167" clip-path="url(#clipPath479)" x2="167" y1="167"
/><line y2="353" fill="none" x1="167" clip-path="url(#clipPath479)" x2="830" y1="353"
/><line y2="487" fill="none" x1="830" clip-path="url(#clipPath479)" x2="830" y1="353"
/><line y2="487" fill="none" x1="830" clip-path="url(#clipPath479)" x2="2007" y1="487"
/><line y2="750" fill="none" x1="2007" clip-path="url(#clipPath479)" x2="2007" y1="487"
/><polygon fill="white" clip-path="url(#clipPath479)" points=" 167 167 161 179 173 179" stroke="none"
/><polygon fill="none" points=" 167 167 161 179 173 179" clip-path="url(#clipPath479)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(271,1433)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="72" fill="none" x1="1544" clip-path="url(#clipPath481)" x2="71" y1="72"
/><polygon fill="white" clip-path="url(#clipPath481)" points=" 1544 72 1532 66 1532 78" stroke="none"
/><polygon fill="none" points=" 1544 72 1532 66 1532 78" clip-path="url(#clipPath481)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(217,1545)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="125" fill="none" x1="125" clip-path="url(#clipPath483)" x2="188" y1="125"
/><polygon fill="white" clip-path="url(#clipPath483)" points=" 125 125 137 131 137 119" stroke="none"
/><polygon fill="none" points=" 125 125 137 131 137 119" clip-path="url(#clipPath483)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(217,1303)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="125" fill="none" x1="125" clip-path="url(#clipPath485)" x2="180" y1="125"
/><polygon fill="white" clip-path="url(#clipPath485)" points=" 125 125 137 131 137 119" stroke="none"
/><polygon fill="none" points=" 125 125 137 131 137 119" clip-path="url(#clipPath485)"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(604,1598)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="125" fill="none" x1="125" clip-path="url(#clipPath487)" x2="168" y1="125"
/><circle fill="none" r="6" clip-path="url(#clipPath487)" cx="131" cy="125"
/><line y2="130" fill="none" x1="131" clip-path="url(#clipPath487)" x2="131" y1="120"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(3941,2338)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="155" fill="none" x1="71" clip-path="url(#clipPath489)" x2="71" y1="71"
/><circle fill="none" r="6" clip-path="url(#clipPath489)" cx="71" cy="77"
/><line y2="77" fill="none" x1="76" clip-path="url(#clipPath489)" x2="66" y1="77"
/></g
></g
></svg
>