@underpostnet/underpost 2.92.0 → 2.95.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/pwa-microservices-template-page.cd.yml +5 -4
- package/README.md +4 -5
- package/bin/build.js +6 -1
- package/bin/deploy.js +2 -69
- package/cli.md +99 -92
- package/manifests/deployment/dd-default-development/deployment.yaml +4 -4
- package/manifests/deployment/dd-test-development/deployment.yaml +2 -2
- package/package.json +1 -1
- package/scripts/disk-clean.sh +216 -0
- package/scripts/ssh-cluster-info.sh +4 -3
- package/src/cli/cluster.js +1 -1
- package/src/cli/db.js +71 -80
- package/src/cli/deploy.js +77 -13
- package/src/cli/image.js +198 -133
- package/src/cli/index.js +59 -81
- package/src/cli/lxd.js +73 -74
- package/src/cli/monitor.js +20 -9
- package/src/cli/repository.js +86 -3
- package/src/cli/run.js +167 -63
- package/src/cli/ssh.js +351 -134
- package/src/index.js +1 -1
- package/src/monitor.js +11 -1
- package/src/server/backup.js +1 -1
- package/src/server/conf.js +1 -1
- package/src/server/dns.js +88 -1
- package/src/server/process.js +6 -1
- package/scripts/snap-clean.sh +0 -26
- package/src/client/public/default/plantuml/client-conf.svg +0 -1
- package/src/client/public/default/plantuml/client-schema.svg +0 -1
- package/src/client/public/default/plantuml/cron-conf.svg +0 -1
- package/src/client/public/default/plantuml/cron-schema.svg +0 -1
- package/src/client/public/default/plantuml/server-conf.svg +0 -1
- package/src/client/public/default/plantuml/server-schema.svg +0 -1
- package/src/client/public/default/plantuml/ssr-conf.svg +0 -1
- package/src/client/public/default/plantuml/ssr-schema.svg +0 -1
package/src/server/dns.js
CHANGED
|
@@ -12,7 +12,7 @@ import { loggerFactory } from './logger.js';
|
|
|
12
12
|
import UnderpostRootEnv from '../cli/env.js';
|
|
13
13
|
import dns from 'node:dns';
|
|
14
14
|
import os from 'node:os';
|
|
15
|
-
import { shellExec } from './process.js';
|
|
15
|
+
import { shellExec, pbcopy } from './process.js';
|
|
16
16
|
|
|
17
17
|
dotenv.config();
|
|
18
18
|
|
|
@@ -386,6 +386,93 @@ class Dns {
|
|
|
386
386
|
// Add other DNS provider update functions here
|
|
387
387
|
},
|
|
388
388
|
};
|
|
389
|
+
|
|
390
|
+
/**
|
|
391
|
+
* Dispatcher for IP ban/unban/list/clear operations based on CLI options.
|
|
392
|
+
* @static
|
|
393
|
+
* @memberof DnsManager
|
|
394
|
+
* @param {string} [ips=''] Comma-separated string of IPs to process.
|
|
395
|
+
* @param {object} options - Options indicating which action to perform.
|
|
396
|
+
* @property {boolean} [options.banIngressAdd=false] - Ban IPs from ingress.
|
|
397
|
+
* @property {boolean} [options.banIngressRemove=false] - Unban IPs from ingress.
|
|
398
|
+
* @property {boolean} [options.banIngressList=false] - List banned ingress IPs.
|
|
399
|
+
* @property {boolean} [options.banIngressClear=false] - Clear all banned ingress IPs.
|
|
400
|
+
* @property {boolean} [options.banEgressAdd=false] - Ban IPs from egress.
|
|
401
|
+
* @property {boolean} [options.banEgressRemove=false] - Unban IPs from egress.
|
|
402
|
+
* @property {boolean} [options.banEgressList=false] - List banned egress IPs.
|
|
403
|
+
* @property {boolean} [options.banEgressClear=false] - Clear all banned egress IPs.
|
|
404
|
+
* @property {boolean} [options.banBothAdd=false] - Ban IPs from both ingress and egress.
|
|
405
|
+
* @property {boolean} [options.banBothRemove=false] - Unban IPs from both ingress and egress.
|
|
406
|
+
* @property {boolean} [options.copy=false] - Copy the public IP to clipboard.
|
|
407
|
+
* @return {Promise<string|void>} The public IP if no ban/unban action is taken.
|
|
408
|
+
*/
|
|
409
|
+
static async ipDispatcher(
|
|
410
|
+
ips = '',
|
|
411
|
+
options = {
|
|
412
|
+
banIngressAdd: false,
|
|
413
|
+
banIngressRemove: false,
|
|
414
|
+
banIngressList: false,
|
|
415
|
+
banIngressClear: false,
|
|
416
|
+
banEgressAdd: false,
|
|
417
|
+
banEgressRemove: false,
|
|
418
|
+
banEgressList: false,
|
|
419
|
+
banEgressClear: false,
|
|
420
|
+
banBothAdd: false,
|
|
421
|
+
banBothRemove: false,
|
|
422
|
+
copy: false,
|
|
423
|
+
},
|
|
424
|
+
) {
|
|
425
|
+
const ipList = ips
|
|
426
|
+
? ips
|
|
427
|
+
.split(',')
|
|
428
|
+
.map((i) => i.trim())
|
|
429
|
+
.filter(Boolean)
|
|
430
|
+
: [];
|
|
431
|
+
|
|
432
|
+
if (options.banIngressAdd) {
|
|
433
|
+
return ipList.forEach((ip) => Dns.banIngress(ip));
|
|
434
|
+
}
|
|
435
|
+
if (options.banIngressRemove) {
|
|
436
|
+
return ipList.forEach((ip) => Dns.unbanIngress(ip));
|
|
437
|
+
}
|
|
438
|
+
if (options.banIngressList) {
|
|
439
|
+
return Dns.listBannedIngress();
|
|
440
|
+
}
|
|
441
|
+
if (options.banIngressClear) {
|
|
442
|
+
return Dns.clearBannedIngress();
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
if (options.banEgressAdd) {
|
|
446
|
+
return ipList.forEach((ip) => Dns.banEgress(ip));
|
|
447
|
+
}
|
|
448
|
+
if (options.banEgressRemove) {
|
|
449
|
+
return ipList.forEach((ip) => Dns.unbanEgress(ip));
|
|
450
|
+
}
|
|
451
|
+
if (options.banEgressList) {
|
|
452
|
+
return Dns.listBannedEgress();
|
|
453
|
+
}
|
|
454
|
+
if (options.banEgressClear) {
|
|
455
|
+
return Dns.clearBannedEgress();
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
if (options.banBothAdd) {
|
|
459
|
+
return ipList.forEach((ip) => {
|
|
460
|
+
Dns.banIngress(ip);
|
|
461
|
+
Dns.banEgress(ip);
|
|
462
|
+
});
|
|
463
|
+
}
|
|
464
|
+
if (options.banBothRemove) {
|
|
465
|
+
return ipList.forEach((ip) => {
|
|
466
|
+
Dns.unbanIngress(ip);
|
|
467
|
+
Dns.unbanEgress(ip);
|
|
468
|
+
});
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
const ip = await Dns.getPublicIp();
|
|
472
|
+
if (options.copy) return pbcopy(ip);
|
|
473
|
+
console.log(ip);
|
|
474
|
+
return ip;
|
|
475
|
+
}
|
|
389
476
|
}
|
|
390
477
|
|
|
391
478
|
/**
|
package/src/server/process.js
CHANGED
|
@@ -96,10 +96,15 @@ const ProcessController = {
|
|
|
96
96
|
* @param {boolean} [options.async=false] - Run command asynchronously.
|
|
97
97
|
* @param {boolean} [options.stdout=false] - Return stdout content (string) instead of shelljs result object.
|
|
98
98
|
* @param {boolean} [options.disableLog=false] - Prevent logging of the command.
|
|
99
|
+
* @param {Function} [options.callback=null] - Callback function for asynchronous execution.
|
|
99
100
|
* @returns {string|shelljs.ShellString} The result of the shell command (string if `stdout: true`, otherwise a ShellString object).
|
|
100
101
|
*/
|
|
101
|
-
const shellExec = (
|
|
102
|
+
const shellExec = (
|
|
103
|
+
cmd,
|
|
104
|
+
options = { silent: false, async: false, stdout: false, disableLog: false, callback: null },
|
|
105
|
+
) => {
|
|
102
106
|
if (!options.disableLog) logger.info(`cmd`, cmd);
|
|
107
|
+
if (options.callback) return shell.exec(cmd, options, options.callback);
|
|
103
108
|
return options.stdout ? shell.exec(cmd, options).stdout : shell.exec(cmd, options);
|
|
104
109
|
};
|
|
105
110
|
|
package/scripts/snap-clean.sh
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# cleanup-snap.sh
|
|
3
|
-
# Remove all disabled snap revisions to free up disk space.
|
|
4
|
-
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
# Ensure we’re running as root
|
|
8
|
-
if [[ $EUID -ne 0 ]]; then
|
|
9
|
-
echo "Please run this script with sudo or as root."
|
|
10
|
-
exit 1
|
|
11
|
-
fi
|
|
12
|
-
|
|
13
|
-
echo "Gathering list of snaps with disabled revisions..."
|
|
14
|
-
snap list --all \
|
|
15
|
-
| awk '/disabled/ {print $1, $3}' \
|
|
16
|
-
| while read -r pkg rev; do
|
|
17
|
-
echo " -> Removing $pkg (revision $rev)..."
|
|
18
|
-
snap remove "$pkg" --revision="$rev"
|
|
19
|
-
done
|
|
20
|
-
|
|
21
|
-
echo "Cleanup complete."
|
|
22
|
-
echo
|
|
23
|
-
echo "Tip: Limit how many revisions Snap retains by setting:"
|
|
24
|
-
echo " sudo snap set system refresh.retain=2"
|
|
25
|
-
echo "Then apply with:"
|
|
26
|
-
echo " sudo snap refresh"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="3027px" preserveAspectRatio="none" style="width:1406px;height:3027px;background:#FFFFFF;" version="1.1" viewBox="0 0 1406 3027" width="1406px" zoomAndPan="magnify"><defs/><g><rect fill="#F1F1F1" height="20.2969" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="87" x="10" y="1819.5"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="55" x="15" y="1834.4951">default</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="80" y="1834.4951"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="75" x2="75" y1="1819.5" y2="1839.7969"/><rect fill="none" height="20.2969" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="87" x="10" y="1819.5"/><rect fill="#F1F1F1" height="101.4844" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="130" x="134" y="1779"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="73" x="139" y="1793.9951">metadata</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="247" y="1793.9951"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="242" x2="242" y1="1779" y2="1799.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="134" x2="264" y1="1799.2969" y2="1799.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="98" x="139" y="1814.292">components</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="247" y="1814.292"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="242" x2="242" y1="1799.2969" y2="1819.5938"/><line style="stroke:#000000;stroke-width:1.0;" x1="134" x2="264" y1="1819.5938" y2="1819.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="46" x="139" y="1834.5889">views</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="247" y="1834.5889"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="242" x2="242" y1="1819.5938" y2="1839.8906"/><line style="stroke:#000000;stroke-width:1.0;" x1="134" x2="264" y1="1839.8906" y2="1839.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="38" x="139" y="1854.8857">dists</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="247" y="1854.8857"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="242" x2="242" y1="1839.8906" y2="1860.1875"/><line style="stroke:#000000;stroke-width:1.0;" x1="134" x2="264" y1="1860.1875" y2="1860.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="67" x="139" y="1875.1826">services</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="247" y="1875.1826"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="242" x2="242" y1="1860.1875" y2="1880.4844"/><rect fill="none" height="101.4844" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="130" x="134" y="1779"/><rect fill="#F1F1F1" height="162.375" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="401" x="301" y="486.5"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="30" x="306" y="501.4951">title</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="73" x="457" y="501.4951">Demo App</text><line style="stroke:#000000;stroke-width:1.0;" x1="452" x2="452" y1="486.5" y2="506.7969"/><line style="stroke:#000000;stroke-width:1.0;" x1="301" x2="702" y1="506.7969" y2="506.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="141" x="306" y="521.792">backgroundImage</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="240" x="457" y="521.792">assets/background/white0-min.jpg</text><line style="stroke:#000000;stroke-width:1.0;" x1="452" x2="452" y1="506.7969" y2="527.0938"/><line style="stroke:#000000;stroke-width:1.0;" x1="301" x2="702" y1="527.0938" y2="527.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="89" x="306" y="542.0889">description</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="109" x="457" y="542.0889">Web application</text><line style="stroke:#000000;stroke-width:1.0;" x1="452" x2="452" y1="527.0938" y2="547.3906"/><line style="stroke:#000000;stroke-width:1.0;" x1="301" x2="702" y1="547.3906" y2="547.3906"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="78" x="306" y="562.3857">keywords</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="457" y="562.3857"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="452" x2="452" y1="547.3906" y2="567.6875"/><line style="stroke:#000000;stroke-width:1.0;" x1="301" x2="702" y1="567.6875" y2="567.6875"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="52" x="306" y="582.6826">author</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="229" x="457" y="582.6826">https://github.com/underpostnet</text><line style="stroke:#000000;stroke-width:1.0;" x1="452" x2="452" y1="567.6875" y2="587.9844"/><line style="stroke:#000000;stroke-width:1.0;" x1="301" x2="702" y1="587.9844" y2="587.9844"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="77" x="306" y="602.9795">thumbnail</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="207" x="457" y="602.9795">android-chrome-384x384.png</text><line style="stroke:#000000;stroke-width:1.0;" x1="452" x2="452" y1="587.9844" y2="608.2813"/><line style="stroke:#000000;stroke-width:1.0;" x1="301" x2="702" y1="608.2813" y2="608.2813"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="92" x="306" y="623.2764">themeColor</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="63" x="457" y="623.2764">#ececec</text><line style="stroke:#000000;stroke-width:1.0;" x1="452" x2="452" y1="608.2813" y2="628.5781"/><line style="stroke:#000000;stroke-width:1.0;" x1="301" x2="702" y1="628.5781" y2="628.5781"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="122" x="306" y="643.5732">pwaAssetsPath</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="4" x="457" y="643.5732"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="452" x2="452" y1="628.5781" y2="648.875"/><rect fill="none" height="162.375" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="401" x="301" y="486.5"/><rect fill="#F1F1F1" height="101.4844" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="102" x="1015.5" y="10"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="1020.5" y="24.9951">web</text><line style="stroke:#000000;stroke-width:1.0;" x1="1015.5" x2="1117.5" y1="30.2969" y2="30.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="26" x="1020.5" y="45.292">app</text><line style="stroke:#000000;stroke-width:1.0;" x1="1015.5" x2="1117.5" y1="50.5938" y2="50.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="25" x="1020.5" y="65.5889">spa</text><line style="stroke:#000000;stroke-width:1.0;" x1="1015.5" x2="1117.5" y1="70.8906" y2="70.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40" x="1020.5" y="85.8857">demo</text><line style="stroke:#000000;stroke-width:1.0;" x1="1015.5" x2="1117.5" y1="91.1875" y2="91.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="92" x="1020.5" y="106.1826">github-pages</text><rect fill="none" height="101.4844" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="102" x="1015.5" y="10"/><rect fill="#F1F1F1" height="40.5938" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="87" x="458" y="1163"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="36" x="463" y="1177.9951">core</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="528" y="1177.9951"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="523" x2="523" y1="1163" y2="1183.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="458" x2="545" y1="1183.2969" y2="1183.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="55" x="463" y="1198.292">default</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="528" y="1198.292"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="523" x2="523" y1="1183.2969" y2="1203.5938"/><rect fill="none" height="40.5938" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="87" x="458" y="1163"/><rect fill="#F1F1F1" height="933.6563" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="146" x="993.5" y="129.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="74" x="998.5" y="144.4951">CommonJs</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="149.7969" y2="149.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="54" x="998.5" y="164.792">VanillaJs</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="170.0938" y2="170.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="998.5" y="185.0889">Responsive</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="190.3906" y2="190.3906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="65" x="998.5" y="205.3857">Keyboard</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="210.6875" y2="210.6875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="64" x="998.5" y="225.6826">Translate</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="230.9844" y2="230.9844"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="41" x="998.5" y="245.9795">Modal</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="251.2813" y2="251.2813"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="53" x="998.5" y="266.2764">BtnIcon</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="271.5781" y2="271.5781"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="48" x="998.5" y="286.5732">Logger</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="291.875" y2="291.875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="26" x="998.5" y="306.8701">Css</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="312.1719" y2="312.1719"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="136" x="998.5" y="327.167">NotificationManager</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="332.4688" y2="332.4688"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="93" x="998.5" y="347.4639">ToggleSwitch</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="352.7656" y2="352.7656"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="74" x="998.5" y="367.7607">DropDown</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="373.0625" y2="373.0625"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="122" x="998.5" y="388.0576">LoadingAnimation</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="393.3594" y2="393.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="60" x="998.5" y="408.3545">EventsUI</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="413.6563" y2="413.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="46" x="998.5" y="428.6514">AgGrid</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="433.9531" y2="433.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="998.5" y="448.9482">Input</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="454.25" y2="454.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="59" x="998.5" y="469.2451">Validator</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="474.5469" y2="474.5469"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="998.5" y="489.542">SignUp</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="494.8438" y2="494.8438"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="37" x="998.5" y="509.8389">LogIn</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="515.1406" y2="515.1406"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="50" x="998.5" y="530.1357">LogOut</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="535.4375" y2="535.4375"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="47" x="998.5" y="550.4326">Router</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="555.7344" y2="555.7344"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="57" x="998.5" y="570.7295">Account</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="576.0313" y2="576.0313"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32" x="998.5" y="591.0264">Auth</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="596.3281" y2="596.3281"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="72" x="998.5" y="611.3232">FullScreen</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="616.625" y2="616.625"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="60" x="998.5" y="631.6201">RichText</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="636.9219" y2="636.9219"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="94" x="998.5" y="651.917">CalendarCore</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="657.2188" y2="657.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="57" x="998.5" y="672.2139">D3Chart</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="677.5156" y2="677.5156"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="998.5" y="692.5107">Stream</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="697.8125" y2="697.8125"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="60" x="998.5" y="712.8076">SocketIo</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="718.1094" y2="718.1094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="998.5" y="733.1045">Docs</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="738.4063" y2="738.4063"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="56" x="998.5" y="753.4014">Content</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="758.7031" y2="758.7031"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="79" x="998.5" y="773.6982">FileExplorer</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="779" y2="779"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32" x="998.5" y="793.9951">Chat</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="799.2969" y2="799.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="998.5" y="814.292">Worker</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="819.5938" y2="819.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="59" x="998.5" y="834.5889">CssCore</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="839.8906" y2="839.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="41" x="998.5" y="854.8857">Wallet</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="860.1875" y2="860.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="45" x="998.5" y="875.1826">Badge</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="880.4844" y2="880.4844"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="51" x="998.5" y="895.4795">ToolTip</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="900.7813" y2="900.7813"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="66" x="998.5" y="915.7764">Webhook</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="921.0781" y2="921.0781"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="57" x="998.5" y="936.0732">Recover</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="941.375" y2="941.375"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38" x="998.5" y="956.3701">Panel</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="961.6719" y2="961.6719"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="73" x="998.5" y="976.667">PanelForm</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="981.9688" y2="981.9688"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="37" x="998.5" y="996.9639">Scroll</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="1002.2656" y2="1002.2656"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31" x="998.5" y="1017.2607">Alert</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="1022.5625" y2="1022.5625"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="27" x="998.5" y="1037.5576">404</text><line style="stroke:#000000;stroke-width:1.0;" x1="993.5" x2="1139.5" y1="1042.8594" y2="1042.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="27" x="998.5" y="1057.8545">500</text><rect fill="none" height="933.6563" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="146" x="993.5" y="129.5"/><rect fill="#F1F1F1" height="223.2656" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="124" x="1004.5" y="1082"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="88" x="1009.5" y="1096.9951">MenuDefault</text><line style="stroke:#000000;stroke-width:1.0;" x1="1004.5" x2="1128.5" y1="1102.2969" y2="1102.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="1009.5" y="1117.292">RoutesDefault</text><line style="stroke:#000000;stroke-width:1.0;" x1="1004.5" x2="1128.5" y1="1122.5938" y2="1122.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="114" x="1009.5" y="1137.5889">ElementsDefault</text><line style="stroke:#000000;stroke-width:1.0;" x1="1004.5" x2="1128.5" y1="1142.8906" y2="1142.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="112" x="1009.5" y="1157.8857">CommonDefault</text><line style="stroke:#000000;stroke-width:1.0;" x1="1004.5" x2="1128.5" y1="1163.1875" y2="1163.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="1009.5" y="1178.1826">CssDefault</text><line style="stroke:#000000;stroke-width:1.0;" x1="1004.5" x2="1128.5" y1="1183.4844" y2="1183.4844"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="86" x="1009.5" y="1198.4795">LogInDefault</text><line style="stroke:#000000;stroke-width:1.0;" x1="1004.5" x2="1128.5" y1="1203.7813" y2="1203.7813"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="1009.5" y="1218.7764">LogOutDefault</text><line style="stroke:#000000;stroke-width:1.0;" x1="1004.5" x2="1128.5" y1="1224.0781" y2="1224.0781"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="98" x="1009.5" y="1239.0732">SignUpDefault</text><line style="stroke:#000000;stroke-width:1.0;" x1="1004.5" x2="1128.5" y1="1244.375" y2="1244.375"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="113" x="1009.5" y="1259.3701">TranslateDefault</text><line style="stroke:#000000;stroke-width:1.0;" x1="1004.5" x2="1128.5" y1="1264.6719" y2="1264.6719"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="106" x="1009.5" y="1279.667">SettingsDefault</text><line style="stroke:#000000;stroke-width:1.0;" x1="1004.5" x2="1128.5" y1="1284.9688" y2="1284.9688"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="109" x="1009.5" y="1299.9639">SocketIoDefault</text><rect fill="none" height="223.2656" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="124" x="1004.5" y="1082"/><rect fill="#F1F1F1" height="243.5625" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="22" x="489.5" y="1706.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="1721.4951"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="489.5" x2="511.5" y1="1726.7969" y2="1726.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="1741.792"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="489.5" x2="511.5" y1="1747.0938" y2="1747.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="1762.0889"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="489.5" x2="511.5" y1="1767.3906" y2="1767.3906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="1782.3857"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="489.5" x2="511.5" y1="1787.6875" y2="1787.6875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="1802.6826"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="489.5" x2="511.5" y1="1807.9844" y2="1807.9844"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="1822.9795"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="489.5" x2="511.5" y1="1828.2813" y2="1828.2813"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="1843.2764"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="489.5" x2="511.5" y1="1848.5781" y2="1848.5781"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="1863.5732"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="489.5" x2="511.5" y1="1868.875" y2="1868.875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="1883.8701"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="489.5" x2="511.5" y1="1889.1719" y2="1889.1719"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="1904.167"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="489.5" x2="511.5" y1="1909.4688" y2="1909.4688"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="1924.4639"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="489.5" x2="511.5" y1="1929.7656" y2="1929.7656"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="1944.7607"> </text><rect fill="none" height="243.5625" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="22" x="489.5" y="1706.5"/><rect fill="#F1F1F1" height="81.1875" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="112" x="1010.5" y="1323"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="1015.5" y="1337.9951">path</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="5" x="1068.5" y="1337.9951">/</text><line style="stroke:#000000;stroke-width:1.0;" x1="1063.5" x2="1063.5" y1="1323" y2="1343.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="1010.5" x2="1122.5" y1="1343.2969" y2="1343.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="30" x="1015.5" y="1358.292">title</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="41" x="1068.5" y="1358.292">Home</text><line style="stroke:#000000;stroke-width:1.0;" x1="1063.5" x2="1063.5" y1="1343.2969" y2="1363.5938"/><line style="stroke:#000000;stroke-width:1.0;" x1="1010.5" x2="1122.5" y1="1363.5938" y2="1363.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="43" x="1015.5" y="1378.5889">client</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1068.5" y="1378.5889">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1063.5" x2="1063.5" y1="1363.5938" y2="1383.8906"/><line style="stroke:#000000;stroke-width:1.0;" x1="1010.5" x2="1122.5" y1="1383.8906" y2="1383.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="25" x="1015.5" y="1398.8857">ssr</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1068.5" y="1398.8857">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1063.5" x2="1063.5" y1="1383.8906" y2="1404.1875"/><rect fill="none" height="81.1875" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="112" x="1010.5" y="1323"/><rect fill="#F1F1F1" height="81.1875" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="112" x="1010.5" y="1422"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="1015.5" y="1436.9951">path</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="45" x="1068.5" y="1436.9951">/home</text><line style="stroke:#000000;stroke-width:1.0;" x1="1063.5" x2="1063.5" y1="1422" y2="1442.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="1010.5" x2="1122.5" y1="1442.2969" y2="1442.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="30" x="1015.5" y="1457.292">title</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="41" x="1068.5" y="1457.292">Home</text><line style="stroke:#000000;stroke-width:1.0;" x1="1063.5" x2="1063.5" y1="1442.2969" y2="1462.5938"/><line style="stroke:#000000;stroke-width:1.0;" x1="1010.5" x2="1122.5" y1="1462.5938" y2="1462.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="43" x="1015.5" y="1477.5889">client</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1068.5" y="1477.5889">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1063.5" x2="1063.5" y1="1462.5938" y2="1482.8906"/><line style="stroke:#000000;stroke-width:1.0;" x1="1010.5" x2="1122.5" y1="1482.8906" y2="1482.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="25" x="1015.5" y="1497.8857">ssr</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1068.5" y="1497.8857">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1063.5" x2="1063.5" y1="1482.8906" y2="1503.1875"/><rect fill="none" height="81.1875" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="112" x="1010.5" y="1422"/><rect fill="#F1F1F1" height="60.8906" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="124" x="1004.5" y="1521"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="1009.5" y="1535.9951">path</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="61" x="1062.5" y="1535.9951">/settings</text><line style="stroke:#000000;stroke-width:1.0;" x1="1057.5" x2="1057.5" y1="1521" y2="1541.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="1004.5" x2="1128.5" y1="1541.2969" y2="1541.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="43" x="1009.5" y="1556.292">client</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1062.5" y="1556.292">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1057.5" x2="1057.5" y1="1541.2969" y2="1561.5938"/><line style="stroke:#000000;stroke-width:1.0;" x1="1004.5" x2="1128.5" y1="1561.5938" y2="1561.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="25" x="1009.5" y="1576.5889">ssr</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1062.5" y="1576.5889">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1057.5" x2="1057.5" y1="1561.5938" y2="1581.8906"/><rect fill="none" height="60.8906" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="124" x="1004.5" y="1521"/><rect fill="#F1F1F1" height="60.8906" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="112" x="1010.5" y="1600"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="1015.5" y="1614.9951">path</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="43" x="1068.5" y="1614.9951">/log-in</text><line style="stroke:#000000;stroke-width:1.0;" x1="1063.5" x2="1063.5" y1="1600" y2="1620.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="1010.5" x2="1122.5" y1="1620.2969" y2="1620.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="43" x="1015.5" y="1635.292">client</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1068.5" y="1635.292">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1063.5" x2="1063.5" y1="1620.2969" y2="1640.5938"/><line style="stroke:#000000;stroke-width:1.0;" x1="1010.5" x2="1122.5" y1="1640.5938" y2="1640.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="25" x="1015.5" y="1655.5889">ssr</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1068.5" y="1655.5889">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1063.5" x2="1063.5" y1="1640.5938" y2="1660.8906"/><rect fill="none" height="60.8906" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="112" x="1010.5" y="1600"/><rect fill="#F1F1F1" height="60.8906" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="120" x="1006.5" y="1679"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="1011.5" y="1693.9951">path</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="57" x="1064.5" y="1693.9951">/sign-up</text><line style="stroke:#000000;stroke-width:1.0;" x1="1059.5" x2="1059.5" y1="1679" y2="1699.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="1006.5" x2="1126.5" y1="1699.2969" y2="1699.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="43" x="1011.5" y="1714.292">client</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1064.5" y="1714.292">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1059.5" x2="1059.5" y1="1699.2969" y2="1719.5938"/><line style="stroke:#000000;stroke-width:1.0;" x1="1006.5" x2="1126.5" y1="1719.5938" y2="1719.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="25" x="1011.5" y="1734.5889">ssr</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1064.5" y="1734.5889">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1059.5" x2="1059.5" y1="1719.5938" y2="1739.8906"/><rect fill="none" height="60.8906" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="120" x="1006.5" y="1679"/><rect fill="#F1F1F1" height="60.8906" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="117" x="1008" y="1758"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="1013" y="1772.9951">path</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="54" x="1066" y="1772.9951">/log-out</text><line style="stroke:#000000;stroke-width:1.0;" x1="1061" x2="1061" y1="1758" y2="1778.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="1008" x2="1125" y1="1778.2969" y2="1778.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="43" x="1013" y="1793.292">client</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1066" y="1793.292">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1061" x2="1061" y1="1778.2969" y2="1798.5938"/><line style="stroke:#000000;stroke-width:1.0;" x1="1008" x2="1125" y1="1798.5938" y2="1798.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="25" x="1013" y="1813.5889">ssr</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1066" y="1813.5889">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1061" x2="1061" y1="1798.5938" y2="1818.8906"/><rect fill="none" height="60.8906" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="117" x="1008" y="1758"/><rect fill="#F1F1F1" height="60.8906" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="124" x="1004.5" y="1837"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="1009.5" y="1851.9951">path</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="61" x="1062.5" y="1851.9951">/account</text><line style="stroke:#000000;stroke-width:1.0;" x1="1057.5" x2="1057.5" y1="1837" y2="1857.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="1004.5" x2="1128.5" y1="1857.2969" y2="1857.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="43" x="1009.5" y="1872.292">client</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1062.5" y="1872.292">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1057.5" x2="1057.5" y1="1857.2969" y2="1877.5938"/><line style="stroke:#000000;stroke-width:1.0;" x1="1004.5" x2="1128.5" y1="1877.5938" y2="1877.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="25" x="1009.5" y="1892.5889">ssr</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1062.5" y="1892.5889">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1057.5" x2="1057.5" y1="1877.5938" y2="1897.8906"/><rect fill="none" height="60.8906" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="124" x="1004.5" y="1837"/><rect fill="#F1F1F1" height="60.8906" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="112" x="1010.5" y="1916"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="1015.5" y="1930.9951">path</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="39" x="1068.5" y="1930.9951">/docs</text><line style="stroke:#000000;stroke-width:1.0;" x1="1063.5" x2="1063.5" y1="1916" y2="1936.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="1010.5" x2="1122.5" y1="1936.2969" y2="1936.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="43" x="1015.5" y="1951.292">client</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1068.5" y="1951.292">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1063.5" x2="1063.5" y1="1936.2969" y2="1956.5938"/><line style="stroke:#000000;stroke-width:1.0;" x1="1010.5" x2="1122.5" y1="1956.5938" y2="1956.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="25" x="1015.5" y="1971.5889">ssr</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1068.5" y="1971.5889">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1063.5" x2="1063.5" y1="1956.5938" y2="1976.8906"/><rect fill="none" height="60.8906" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="112" x="1010.5" y="1916"/><rect fill="#F1F1F1" height="60.8906" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="120" x="1006.5" y="1995"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="1011.5" y="2009.9951">path</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="57" x="1064.5" y="2009.9951">/recover</text><line style="stroke:#000000;stroke-width:1.0;" x1="1059.5" x2="1059.5" y1="1995" y2="2015.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="1006.5" x2="1126.5" y1="2015.2969" y2="2015.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="43" x="1011.5" y="2030.292">client</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1064.5" y="2030.292">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1059.5" x2="1059.5" y1="2015.2969" y2="2035.5938"/><line style="stroke:#000000;stroke-width:1.0;" x1="1006.5" x2="1126.5" y1="2035.5938" y2="2035.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="25" x="1011.5" y="2050.5889">ssr</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1064.5" y="2050.5889">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1059.5" x2="1059.5" y1="2035.5938" y2="2055.8906"/><rect fill="none" height="60.8906" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="120" x="1006.5" y="1995"/><rect fill="#F1F1F1" height="60.8906" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="212" x="960.5" y="2074"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="965.5" y="2088.9951">path</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="149" x="1018.5" y="2088.9951">/default-management</text><line style="stroke:#000000;stroke-width:1.0;" x1="1013.5" x2="1013.5" y1="2074" y2="2094.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="960.5" x2="1172.5" y1="2094.2969" y2="2094.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="43" x="965.5" y="2109.292">client</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1018.5" y="2109.292">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1013.5" x2="1013.5" y1="2094.2969" y2="2114.5938"/><line style="stroke:#000000;stroke-width:1.0;" x1="960.5" x2="1172.5" y1="2114.5938" y2="2114.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="25" x="965.5" y="2129.5889">ssr</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1018.5" y="2129.5889">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1013.5" x2="1013.5" y1="2114.5938" y2="2134.8906"/><rect fill="none" height="60.8906" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="212" x="960.5" y="2074"/><rect fill="#F1F1F1" height="81.1875" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="166" x="983.5" y="2153"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="43" x="988.5" y="2167.9951">client</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1041.5" y="2167.9951">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1036.5" x2="1036.5" y1="2153" y2="2173.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="983.5" x2="1149.5" y1="2173.2969" y2="2173.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="25" x="988.5" y="2188.292">ssr</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1041.5" y="2188.292">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1036.5" x2="1036.5" y1="2173.2969" y2="2193.5938"/><line style="stroke:#000000;stroke-width:1.0;" x1="983.5" x2="1149.5" y1="2193.5938" y2="2193.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="988.5" y="2208.5889">path</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32" x="1041.5" y="2208.5889">/404</text><line style="stroke:#000000;stroke-width:1.0;" x1="1036.5" x2="1036.5" y1="2193.5938" y2="2213.8906"/><line style="stroke:#000000;stroke-width:1.0;" x1="983.5" x2="1149.5" y1="2213.8906" y2="2213.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="30" x="988.5" y="2228.8857">title</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="103" x="1041.5" y="2228.8857">404 Not Found</text><line style="stroke:#000000;stroke-width:1.0;" x1="1036.5" x2="1036.5" y1="2213.8906" y2="2234.1875"/><rect fill="none" height="81.1875" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="166" x="983.5" y="2153"/><rect fill="#F1F1F1" height="81.1875" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="175" x="979" y="2252"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="43" x="984" y="2266.9951">client</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1037" y="2266.9951">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1032" x2="1032" y1="2252" y2="2272.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="979" x2="1154" y1="2272.2969" y2="2272.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="25" x="984" y="2287.292">ssr</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1037" y="2287.292">Default</text><line style="stroke:#000000;stroke-width:1.0;" x1="1032" x2="1032" y1="2272.2969" y2="2292.5938"/><line style="stroke:#000000;stroke-width:1.0;" x1="979" x2="1154" y1="2292.5938" y2="2292.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="984" y="2307.5889">path</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32" x="1037" y="2307.5889">/500</text><line style="stroke:#000000;stroke-width:1.0;" x1="1032" x2="1032" y1="2292.5938" y2="2312.8906"/><line style="stroke:#000000;stroke-width:1.0;" x1="979" x2="1154" y1="2312.8906" y2="2312.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="30" x="984" y="2327.8857">title</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="112" x="1037" y="2327.8857">500 Server Error</text><line style="stroke:#000000;stroke-width:1.0;" x1="1032" x2="1032" y1="2312.8906" y2="2333.1875"/><rect fill="none" height="81.1875" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="175" x="979" y="2252"/><rect fill="#F1F1F1" height="162.375" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="22" x="489.5" y="2528.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="2543.4951"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="489.5" x2="511.5" y1="2548.7969" y2="2548.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="2563.792"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="489.5" x2="511.5" y1="2569.0938" y2="2569.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="2584.0889"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="489.5" x2="511.5" y1="2589.3906" y2="2589.3906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="2604.3857"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="489.5" x2="511.5" y1="2609.6875" y2="2609.6875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="2624.6826"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="489.5" x2="511.5" y1="2629.9844" y2="2629.9844"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="2644.9795"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="489.5" x2="511.5" y1="2650.2813" y2="2650.2813"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="2665.2764"> </text><line style="stroke:#000000;stroke-width:1.0;" x1="489.5" x2="511.5" y1="2670.5781" y2="2670.5781"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="494.5" y="2685.5732"> </text><rect fill="none" height="162.375" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="22" x="489.5" y="2528.5"/><rect fill="#F1F1F1" height="81.1875" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="461" x="836" y="2351"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="47" x="841" y="2365.9951">folder</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="295" x="997" y="2365.9951">./node_modules/@neodrag/vanilla/dist/min</text><line style="stroke:#000000;stroke-width:1.0;" x1="992" x2="992" y1="2351" y2="2371.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="836" x2="1297" y1="2371.2969" y2="2371.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="101" x="841" y="2386.292">public_folder</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="153" x="997" y="2386.292">/dist/@neodrag-vanilla</text><line style="stroke:#000000;stroke-width:1.0;" x1="992" x2="992" y1="2371.2969" y2="2391.5938"/><line style="stroke:#000000;stroke-width:1.0;" x1="836" x2="1297" y1="2391.5938" y2="2391.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="101" x="841" y="2406.5889">import_name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="118" x="997" y="2406.5889">@neodrag/vanilla</text><line style="stroke:#000000;stroke-width:1.0;" x1="992" x2="992" y1="2391.5938" y2="2411.8906"/><line style="stroke:#000000;stroke-width:1.0;" x1="836" x2="1297" y1="2411.8906" y2="2411.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="146" x="841" y="2426.8857">import_name_build</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="210" x="997" y="2426.8857">/dist/@neodrag-vanilla/index.js</text><line style="stroke:#000000;stroke-width:1.0;" x1="992" x2="992" y1="2411.8906" y2="2432.1875"/><rect fill="none" height="81.1875" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="461" x="836" y="2351"/><rect fill="#F1F1F1" height="40.5938" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="473" x="830" y="2450"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="47" x="835" y="2464.9951">folder</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="352" x="946" y="2464.9951">./node_modules/@fortawesome/fontawesome-free</text><line style="stroke:#000000;stroke-width:1.0;" x1="941" x2="941" y1="2450" y2="2470.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="830" x2="1303" y1="2470.2969" y2="2470.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="101" x="835" y="2485.292">public_folder</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="129" x="946" y="2485.292">/dist/fontawesome</text><line style="stroke:#000000;stroke-width:1.0;" x1="941" x2="941" y1="2470.2969" y2="2490.5938"/><rect fill="none" height="40.5938" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="473" x="830" y="2450"/><rect fill="#F1F1F1" height="81.1875" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="447" x="843" y="2509"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="47" x="848" y="2523.9951">folder</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="245" x="1004" y="2523.9951">./node_modules/sortablejs/modular</text><line style="stroke:#000000;stroke-width:1.0;" x1="999" x2="999" y1="2509" y2="2529.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="843" x2="1290" y1="2529.2969" y2="2529.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="101" x="848" y="2544.292">public_folder</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="102" x="1004" y="2544.292">/dist/sortablejs</text><line style="stroke:#000000;stroke-width:1.0;" x1="999" x2="999" y1="2529.2969" y2="2549.5938"/><line style="stroke:#000000;stroke-width:1.0;" x1="843" x2="1290" y1="2549.5938" y2="2549.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="101" x="848" y="2564.5889">import_name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="67" x="1004" y="2564.5889">sortablejs</text><line style="stroke:#000000;stroke-width:1.0;" x1="999" x2="999" y1="2549.5938" y2="2569.8906"/><line style="stroke:#000000;stroke-width:1.0;" x1="843" x2="1290" y1="2569.8906" y2="2569.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="146" x="848" y="2584.8857">import_name_build</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="281" x="1004" y="2584.8857">/dist/sortablejs/sortable.complete.esm.js</text><line style="stroke:#000000;stroke-width:1.0;" x1="999" x2="999" y1="2569.8906" y2="2590.1875"/><rect fill="none" height="81.1875" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="447" x="843" y="2509"/><rect fill="#F1F1F1" height="40.5938" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="295" x="919" y="2608"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="47" x="924" y="2622.9951">folder</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="174" x="1035" y="2622.9951">./node_modules/validator</text><line style="stroke:#000000;stroke-width:1.0;" x1="1030" x2="1030" y1="2608" y2="2628.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="919" x2="1214" y1="2628.2969" y2="2628.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="101" x="924" y="2643.292">public_folder</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="92" x="1035" y="2643.292">/dist/validator</text><line style="stroke:#000000;stroke-width:1.0;" x1="1030" x2="1030" y1="2628.2969" y2="2648.5938"/><rect fill="none" height="40.5938" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="295" x="919" y="2608"/><rect fill="#F1F1F1" height="40.5938" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="453" x="840" y="2667"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="47" x="845" y="2681.9951">folder</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="332" x="956" y="2681.9951">./node_modules/@loadingio/css-spinner/entries</text><line style="stroke:#000000;stroke-width:1.0;" x1="951" x2="951" y1="2667" y2="2687.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="840" x2="1293" y1="2687.2969" y2="2687.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="101" x="845" y="2702.292">public_folder</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="97" x="956" y="2702.292">/dist/loadingio</text><line style="stroke:#000000;stroke-width:1.0;" x1="951" x2="951" y1="2687.2969" y2="2707.5938"/><rect fill="none" height="40.5938" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="453" x="840" y="2667"/><rect fill="#F1F1F1" height="121.7813" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="655" x="739" y="2726.5"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="101" x="744" y="2741.4951">import_name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="129" x="909" y="2741.4951">ag-grid-community</text><line style="stroke:#000000;stroke-width:1.0;" x1="904" x2="904" y1="2726.5" y2="2746.7969"/><line style="stroke:#000000;stroke-width:1.0;" x1="739" x2="1394" y1="2746.7969" y2="2746.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="146" x="744" y="2761.792">import_name_build</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="480" x="909" y="2761.792">/dist/ag-grid-community/ag-grid-community.auto.complete.esm.min.js</text><line style="stroke:#000000;stroke-width:1.0;" x1="904" x2="904" y1="2746.7969" y2="2767.0938"/><line style="stroke:#000000;stroke-width:1.0;" x1="739" x2="1394" y1="2767.0938" y2="2767.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="47" x="744" y="2782.0889">folder</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="276" x="909" y="2782.0889">./node_modules/ag-grid-community/dist</text><line style="stroke:#000000;stroke-width:1.0;" x1="904" x2="904" y1="2767.0938" y2="2787.3906"/><line style="stroke:#000000;stroke-width:1.0;" x1="739" x2="1394" y1="2787.3906" y2="2787.3906"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="101" x="744" y="2802.3857">public_folder</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="164" x="909" y="2802.3857">/dist/ag-grid-community</text><line style="stroke:#000000;stroke-width:1.0;" x1="904" x2="904" y1="2787.3906" y2="2807.6875"/><line style="stroke:#000000;stroke-width:1.0;" x1="739" x2="1394" y1="2807.6875" y2="2807.6875"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="47" x="744" y="2822.6826">styles</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="291" x="909" y="2822.6826">./node_modules/ag-grid-community/styles</text><line style="stroke:#000000;stroke-width:1.0;" x1="904" x2="904" y1="2807.6875" y2="2827.9844"/><line style="stroke:#000000;stroke-width:1.0;" x1="739" x2="1394" y1="2827.9844" y2="2827.9844"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="155" x="744" y="2842.9795">public_styles_folder</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="179" x="909" y="2842.9795">/styles/ag-grid-community</text><line style="stroke:#000000;stroke-width:1.0;" x1="904" x2="904" y1="2827.9844" y2="2848.2813"/><rect fill="none" height="121.7813" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="655" x="739" y="2726.5"/><rect fill="#F1F1F1" height="81.1875" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="447" x="843" y="2867"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="47" x="848" y="2881.9951">folder</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="252" x="1004" y="2881.9951">./node_modules/socket.io/client-dist</text><line style="stroke:#000000;stroke-width:1.0;" x1="999" x2="999" y1="2867" y2="2887.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="843" x2="1290" y1="2887.2969" y2="2887.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="101" x="848" y="2902.292">public_folder</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="98" x="1004" y="2902.292">/dist/socket.io</text><line style="stroke:#000000;stroke-width:1.0;" x1="999" x2="999" y1="2887.2969" y2="2907.5938"/><line style="stroke:#000000;stroke-width:1.0;" x1="843" x2="1290" y1="2907.5938" y2="2907.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="101" x="848" y="2922.5889">import_name</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="281" x="1004" y="2922.5889">socket.io/client-dist/socket.io.esm.min.js</text><line style="stroke:#000000;stroke-width:1.0;" x1="999" x2="999" y1="2907.5938" y2="2927.8906"/><line style="stroke:#000000;stroke-width:1.0;" x1="843" x2="1290" y1="2927.8906" y2="2927.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="146" x="848" y="2942.8857">import_name_build</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="244" x="1004" y="2942.8857">/dist/socket.io/socket.io.esm.min.js</text><line style="stroke:#000000;stroke-width:1.0;" x1="999" x2="999" y1="2927.8906" y2="2948.1875"/><rect fill="none" height="81.1875" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="447" x="843" y="2867"/><rect fill="#F1F1F1" height="40.5938" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="311" x="911" y="2966"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="47" x="916" y="2980.9951">folder</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="190" x="1027" y="2980.9951">./node_modules/peerjs/dist</text><line style="stroke:#000000;stroke-width:1.0;" x1="1022" x2="1022" y1="2966" y2="2986.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="911" x2="1222" y1="2986.2969" y2="2986.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="101" x="916" y="3001.292">public_folder</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="78" x="1027" y="3001.292">/dist/peerjs</text><line style="stroke:#000000;stroke-width:1.0;" x1="1022" x2="1022" y1="2986.2969" y2="3006.5938"/><rect fill="none" height="40.5938" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="311" x="911" y="2966"/><rect fill="#F1F1F1" height="101.4844" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="57" x="473" y="2709"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="47" x="478" y="2723.9951">default</text><line style="stroke:#000000;stroke-width:1.0;" x1="473" x2="530" y1="2729.2969" y2="2729.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31" x="478" y="2744.292">core</text><line style="stroke:#000000;stroke-width:1.0;" x1="473" x2="530" y1="2749.5938" y2="2749.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31" x="478" y="2764.5889">user</text><line style="stroke:#000000;stroke-width:1.0;" x1="473" x2="530" y1="2769.8906" y2="2769.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="27" x="478" y="2784.8857">test</text><line style="stroke:#000000;stroke-width:1.0;" x1="473" x2="530" y1="2790.1875" y2="2790.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="19" x="478" y="2805.1826">file</text><rect fill="none" height="101.4844" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="57" x="473" y="2709"/><path d="M690,556.5 L703,556.5 C751.6093,556.5 706.3724,156.532 739,120.5 C806.5642,45.8861 933.8279,45.0864 1008.0977,52.1582 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M1007.7772,55.319 L1010.4683,52.3986 L1008.4181,48.9974 L1015.9997,52.9594 L1007.7772,55.319 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="690" cy="556.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M253.5,1790.5 L253.5,1777.5 C253.5,1638.4322 273.0393,1289.728 301,1153.5 C338.3124,971.7096 416.2526,768.6144 463.0572,655.6192 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M465.8483,656.7785 L463.9266,653.5259 L460.266,654.4599 L465.9554,648.6413 L465.8483,656.7785 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="253.5" cy="1790.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M534,1172.5 L547,1172.5 C668.767,1172.5 877.6461,884.8046 989.6882,716.0613 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M992.268,717.7708 L990.9703,714.1265 L987.1084,714.3519 L993.9619,709.6118 L992.268,717.7708 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="534" cy="1172.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M534,1193.5 L547,1193.5 C708.3626,1193.5 897.9454,1193.5 997.2998,1193.5 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M997.2998,1196.5317 L999.5736,1193.5 L997.2998,1190.4683 L1004.8792,1193.5 L997.2998,1196.5317 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="534" cy="1193.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M252,1808.5 L265,1808.5 C316.8631,1808.5 283.5895,1746.3534 301,1697.5 C367.7954,1510.0741 457.9278,1288.26 489.5023,1211.3727 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M492.2952,1212.5207 L490.3633,1209.2781 L486.7094,1210.2247 L492.3723,1204.3905 L492.2952,1212.5207 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="252" cy="1808.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,1716.5 L515,1716.5 C682.8282,1716.5 595.2472,1499.1109 739,1412.5 C820.4336,1363.4363 933.3622,1357.3472 1002.9522,1359.1633 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M1002.8549,1362.3027 L1005.3068,1359.2363 L1003.0495,1356.0239 L1010.8007,1359.4065 L1002.8549,1362.3027 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="1716.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,1736.5 L515,1736.5 C656.1074,1736.5 613.0772,1575.1769 739,1511.5 C823.348,1468.8467 934.4679,1460.7906 1003.0281,1460.472 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M1003.0296,1463.5653 L1005.348,1460.4709 L1003.0265,1457.3787 L1010.7613,1460.4681 L1003.0296,1463.5653 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="1736.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,1756.5 L515,1756.5 C638.9132,1756.5 623.8452,1636.2586 739,1590.5 C823.5425,1556.9057 929.3191,1550.0059 997.2724,1549.5949 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M997.2803,1552.6688 L999.5778,1549.589 L997.2645,1546.521 L1004.9571,1549.5751 L997.2803,1552.6688 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="1756.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,1777.5 L515,1777.5 C625.5229,1777.5 632.9039,1700.4664 739,1669.5 C828.4428,1643.3942 936.5265,1634.7212 1003.2703,1631.8652 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M1003.3923,1634.8768 L1005.529,1631.7737 L1003.1483,1628.8535 L1010.7995,1631.5602 L1003.3923,1634.8768 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="1777.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,1797.5 L515,1797.5 C616.9097,1797.5 638.5086,1765.4431 739,1748.5 C828.7065,1733.3753 933.2277,1721.9854 999.4912,1715.5306 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M999.7809,1718.5257 L1001.7375,1715.3134 L999.2015,1712.5355 L1006.979,1714.8064 L999.7809,1718.5257 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="1797.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,1817.5 L515,1817.5 C690.6925,1817.5 897.4621,1802.6145 1000.5966,1794.1727 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M1000.8451,1797.1911 L1002.8604,1793.9863 L1000.348,1791.1543 L1008.1426,1793.5514 L1000.8451,1797.1911 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="1817.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,1838.5 L515,1838.5 C688.8234,1838.5 893.0662,1853.0705 997.27,1861.5557 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M997.0199,1864.6089 L999.56,1861.7433 L997.5201,1858.5024 L1004.9031,1862.181 L997.0199,1864.6089 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="1838.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,1858.5 L515,1858.5 C616.8156,1858.5 638.5908,1889.6353 739,1906.5 C830.3281,1921.8394 936.9427,1933.7766 1002.9712,1940.4788 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M1002.6547,1943.6177 L1005.3254,1940.7162 L1003.2877,1937.3399 L1010.8185,1941.2701 L1002.6547,1943.6177 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="1858.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,1879.5 L515,1879.5 C625.1398,1879.5 633.2062,1954.866 739,1985.5 C826.8115,2010.927 932.4473,2020.1958 999.4166,2023.5714 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M999.2707,2026.5983 L1001.6868,2023.6808 L999.5624,2020.5444 L1006.9839,2023.936 L999.2707,2026.5983 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="1879.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,1899.5 L515,1899.5 C638.649,1899.5 624.0936,2018.8317 739,2064.5 C806.8006,2091.4466 888.2259,2101.4704 952.8626,2104.7457 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M952.7159,2107.8646 L955.2018,2104.8557 L953.0093,2101.6268 L960.6599,2105.1123 L952.7159,2107.8646 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="1899.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,1919.5 L515,1919.5 C655.7928,1919.5 613.3822,2079.9172 739,2143.5 C813.0087,2180.9603 907.5958,2192.0666 975.9828,2194.6323 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M975.879,2197.7472 L978.319,2194.7101 L976.0866,2191.5173 L983.7702,2194.8919 L975.879,2197.7472 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="1919.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,1940.5 L515,1940.5 C682.1135,1940.5 595.8523,2156.2698 739,2242.5 C809.106,2284.7309 902.4917,2295.4385 971.5142,2296.6324 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M971.4754,2299.78 L973.8749,2296.6614 L971.5529,2293.4848 L979.3832,2296.7293 L971.4754,2299.78 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="1940.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M252,1828.5 L265,1828.5 C345.7105,1828.5 441.9473,1828.5 482.0266,1828.5 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M482.0266,1831.5697 L484.3289,1828.5 L482.0266,1825.4303 L489.7009,1828.5 L482.0266,1831.5697 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="252" cy="1828.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,2538.5 L515,2538.5 C623.6664,2538.5 634.5828,2470.5907 739,2440.5 C767.6034,2432.2571 798.0361,2425.3431 828.3832,2419.5578 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M828.9619,2422.6428 L830.697,2419.1238 L827.8046,2416.4729 L836.0956,2418.1112 L828.9619,2422.6428 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="2538.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,2558.5 L515,2558.5 C617.951,2558.5 637.5857,2517.2217 739,2499.5 C766.0572,2494.7719 794.5159,2490.7962 822.8896,2487.4572 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M823.2416,2490.4986 L825.1707,2487.1932 L822.5376,2484.4158 L830.4931,2486.5772 L823.2416,2490.4986 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="2558.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,2578.5 L515,2578.5 C620.38,2578.5 736.9402,2573.1448 835.6122,2567.0369 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M835.8037,2570.1069 L837.9147,2566.8933 L835.4207,2563.967 L843.2871,2566.5581 L835.8037,2570.1069 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="2578.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,2598.5 L515,2598.5 C649.1531,2598.5 801.4075,2607.4763 911.8202,2615.6089 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M911.5965,2618.6264 L914.0833,2615.7766 L912.0438,2612.5913 L919.364,2616.168 L911.5965,2618.6264 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="2598.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,2619.5 L515,2619.5 C616.0532,2619.5 638.8049,2645.3583 739,2658.5 C769.2122,2662.4627 801.0675,2666.035 832.5618,2669.2073 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M832.2597,2672.2339 L834.8318,2669.4338 L832.8639,2666.1806 L840.1284,2669.9625 L832.2597,2672.2339 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="2619.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,2639.5 L515,2639.5 C602.8439,2639.5 621.3402,2668.1238 703,2700.5 C719.4486,2707.0215 722.2379,2711.8328 739,2717.5 C745.6643,2719.7532 752.4303,2721.9499 759.2735,2724.0904 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M758.3532,2727.0723 L761.5099,2724.7806 L760.1938,2721.1085 L766.7282,2726.3911 L758.3532,2727.0723 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="2639.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,2659.5 L515,2659.5 C600.5195,2659.5 642.2066,2640.3524 703,2700.5 C753.8904,2750.8498 686.5492,2808.7778 739,2857.5 C765.9091,2882.4963 799.7803,2898.1242 835.4559,2907.5044 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M834.6927,2910.5597 L837.7474,2908.0768 L836.219,2904.4491 L843.0942,2909.4124 L834.6927,2910.5597 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="2659.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M502,2680.5 L515,2680.5 C599.027,2680.5 642.6062,2642.078 703,2700.5 C785.8979,2780.6914 655.4024,2878.0383 739,2957.5 C796.6933,3012.339 888.7611,3015.9742 960.5262,3007.9526 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M960.8948,3011.0571 L962.8546,3007.6762 L960.1577,3004.8481 L968.2875,3007.0313 L960.8948,3011.0571 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="502" cy="2680.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M252,1849.5 L265,1849.5 C267.3627,1849.5 438.2389,2405.1825 487.7161,2566.2419 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M484.7691,2567.1472 L488.395,2568.4522 L490.6631,2565.3367 L489.9792,2573.6093 L484.7691,2567.1472 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="252" cy="1849.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M253.5,1868.5 L253.5,1881.5 C253.5,1927.021 272.7795,2663.7821 301,2699.5 C340.4087,2749.3786 419.6691,2759.0773 465.6951,2760.2381 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M465.6463,2763.2942 L467.9871,2760.2747 L465.7438,2757.182 L473.3352,2760.36 L465.6463,2763.2942 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="253.5" cy="1868.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M85,1829.5 L98,1829.5 C107.2931,1829.5 117.0695,1829.5 126.7259,1829.5 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M126.7259,1832.5828 L129.038,1829.5 L126.7259,1826.4172 L134.4329,1829.5 L126.7259,1832.5828 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="85" cy="1829.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/></g></svg>
|