meadow-integration 1.0.41 → 1.0.43
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/BUILDING-AND-PUBLISHING.md +2 -2
- package/README.md +27 -8
- package/docs/README.md +1 -1
- package/docs/_cover.md +1 -1
- package/docs/_topbar.md +1 -1
- package/docs/_version.json +3 -3
- package/docs/architecture.md +14 -225
- package/docs/css/docuserve.css +327 -0
- package/docs/data-clone/diagrams/architecture-diagram.excalidraw +1756 -0
- package/docs/data-clone/diagrams/architecture-diagram.mmd +8 -0
- package/docs/data-clone/diagrams/architecture-diagram.svg +2 -0
- package/docs/data-clone/overview.md +2 -32
- package/docs/diagrams/configuration-cascade-2.excalidraw +831 -0
- package/docs/diagrams/configuration-cascade-2.mmd +8 -0
- package/docs/diagrams/configuration-cascade-2.svg +2 -0
- package/docs/diagrams/configuration-cascade.excalidraw +831 -0
- package/docs/diagrams/configuration-cascade.mmd +8 -0
- package/docs/diagrams/configuration-cascade.svg +2 -0
- package/docs/diagrams/data-synchronization-pipeline.excalidraw +3278 -0
- package/docs/diagrams/data-synchronization-pipeline.mmd +42 -0
- package/docs/diagrams/data-synchronization-pipeline.svg +2 -0
- package/docs/diagrams/data-transformation-pipeline.excalidraw +2929 -0
- package/docs/diagrams/data-transformation-pipeline.mmd +31 -0
- package/docs/diagrams/data-transformation-pipeline.svg +2 -0
- package/docs/diagrams/docker-deployment.excalidraw +1963 -0
- package/docs/diagrams/docker-deployment.mmd +23 -0
- package/docs/diagrams/docker-deployment.svg +2 -0
- package/docs/diagrams/high-level-system-architecture.excalidraw +5752 -0
- package/docs/diagrams/high-level-system-architecture.mmd +66 -0
- package/docs/diagrams/high-level-system-architecture.svg +2 -0
- package/docs/diagrams/module-structure.excalidraw +15206 -0
- package/docs/diagrams/module-structure.mmd +56 -0
- package/docs/diagrams/module-structure.svg +2 -0
- package/docs/diagrams/sync-mode-comparison.excalidraw +3660 -0
- package/docs/diagrams/sync-mode-comparison.mmd +33 -0
- package/docs/diagrams/sync-mode-comparison.svg +2 -0
- package/docs/implementation-reference.md +2 -58
- package/docs/index.html +2 -2
- package/docs/retold-catalog.json +388 -284
- package/docs/retold-keyword-index.json +24830 -16291
- package/example-applications/mapping-demo/README.md +2 -10
- package/example-applications/mapping-demo/diagrams/architecture.excalidraw +1866 -0
- package/example-applications/mapping-demo/diagrams/architecture.mmd +8 -0
- package/example-applications/mapping-demo/diagrams/architecture.svg +2 -0
- package/example-applications/mapping-demo/package.json +0 -3
- package/example-applications/mapping-demo/web/mapping-demo-editor.js +5 -5
- package/example-applications/mapping-demo/web/mapping-demo-editor.min.js +2 -2
- package/example-applications/mapping-demo/web/pict.min.js +2 -2
- package/package.json +7 -7
- package/source/Meadow-Integration-Engine.js +34 -0
- package/source/services/clone/Meadow-Service-DeleteCursorStore.js +105 -0
- package/source/services/clone/Meadow-Service-Sync-Entity-OngoingEventualConsistency.js +327 -92
- package/source/services/clone/Meadow-Service-Sync.js +2 -0
- package/test/Meadow-Integration-BisectionSync_test.js +15 -5
- package/test/Meadow-Integration-NewStrategies_test.js +15 -5
- package/test/Meadow-Integration-OngoingEventualConsistencyDeleteCursor_test.js +228 -0
- package/test/Meadow-Integration-OngoingEventualConsistencyDeleteSync_test.js +311 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
flowchart LR
|
|
2
|
+
subgraph Build["Docker Build"]
|
|
3
|
+
BASE["node:20-bookworm"]
|
|
4
|
+
DEPS["npm install --omit=dev"]
|
|
5
|
+
SRC["Copy source + scripts"]
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
subgraph Runtime["Docker Runtime"]
|
|
9
|
+
CFG[".meadow.config.json\n(volume mount)"]
|
|
10
|
+
SCHEMA["Extended Schema\n(volume mount)"]
|
|
11
|
+
RUN["scripts/run.sh"]
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
subgraph External["External"]
|
|
15
|
+
REMOTE["Remote Meadow API"]
|
|
16
|
+
LOCAL["Local Database"]
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
BASE --> DEPS --> SRC --> RUN
|
|
20
|
+
CFG --> RUN
|
|
21
|
+
SCHEMA --> RUN
|
|
22
|
+
RUN --> REMOTE
|
|
23
|
+
RUN --> LOCAL
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1830 533" width="1830" height="533"><!-- svg-source:excalidraw --><metadata><!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1dXXdcdTAwMWI3kn3Xr9DRvOyejVx1MDAxMHx/+M1cdTAwMWbyJLNxkrEzu1x1MDAwZjvzQItcdTAwMWSJa4rUIanI3jn573PRJFx1MDAxYkCzSXRTlNzKktbxIZvsXCJcbqjCvVUogP88OT09W3y5Lc5enJ5cdTAwMTWfL1x1MDAwN+PRcDa4P/vGX/+tmM1H01x03uLl6/n0bnZZfvJ6sbh98e23jFx1MDAxYkLxj72QzjC3vKtcdTAwMThcdTAwMTc3xWQxx+f+XHUwMDA3r09P/1n+j3dGQ3/v5fhuvihm56/uRuNheUv55rpcdTAwMTGz4nIxmFxcjYvw1ud1XHUwMDBiyldf8Oqcuer1/Wi4uMY1Rm24eF2Mrq5cdTAwMTf+PsOqi0uxL05pdWW+mE0/XHUwMDE1r6fj6cx/95/sS/PW8PDNXHUwMDFmXHUwMDA3l5+uZtO7ybD6zGI2mMxvXHUwMDA3M6hcdTAwMTg+9+toPP6w+FJKRzehXHUwMDEzz2rf8d/rVtauV3dcclx1MDAwN/PrXCK6XHLfenU9Kebz5Kbp7eBytPhSqlx1MDAxYtTwTbz9flh2+T9Co2aDm+J73+eTu/E4XHUwMDE2PFx1MDAxOa5cdTAwMDSvhyb0v1hd+T20syi8XGbLdHWpZlx1MDAxOPG1XHUwMDFmp5PSRJhcdTAwMTXCUKGkqj4xmr+BbSxKab9cdTAwMGXG81widLNv0kVkN0GJu9vhYHlcdTAwMGIzlkrJteZWh6aMR5NPdVxyx9PLT1xy3zKaXGZcdTAwMGJvSmdcdTAwMDN6dlx1MDAxMum4xT7Hg4/FeJuVLorPi91cdTAwMDYq21x1MDAxYegzsc/aXU9inslcdTAwMWL72iGskDJqXFxv7LC0XHUwMDFk9OhcdTAwMWL/9uy0ZmG/TieLXHUwMDBmo/8r266Sq29cdTAwMDc3o7HvW5WIejlcdTAwMWVdTUrDRauL2VncXHUwMDEzi1x1MDAxMWb06lx1MDAwM4vpbXj3XHUwMDEyXHUwMDEyXHUwMDA3o0kx21x1MDAxY4LpbHQ1mlxmxr/sbOjgbjF9X8yXTV3M7oq4L4rv1vbNXGKPpoDKXHUwMDA1WVx1MDAxYlx1MDAxN3x/N1mMborWIKFU+CrfUZyLXHIvtMpcdTAwMWNR4tFQwohcck/c6Z3UUcu5tP3xzmCivD1KbDXUTZzYtFHb0kafiYn2XHUwMDA1KDqaopPUUsap6Y0l1nBiw8b6i1x1MDAxNFx1MDAxYk19XHUwMDE4Vog2jnjxXHUwMDE5/6MprcGCSVx1MDAxMzjaNrRcdTAwMTBcInjnXHUwMDExLVx1MDAwZY1cdTAwMTZSdOJyylihrJWh6V/bRYONyvZgsd1SN9GiwUg34aLZSJ+JjfZcdTAwMDUuOtqiNpxZ51h/bHFcclx1MDAxN5vm1UOg2GzkwyBC7XK/+fXgtjh/9fLDxTktXHUwMDFmo2lrlNBhgMt+2sw7cdrgfSpcZmHe+9gr9paLx/Q+Xrv+Vb2vXHUwMDAzQMDLunE4a5Tmcq9oompVaF9lQatcXFCwIE2rTkusqHTC6o3fv9kldDCbTe+XQt9cXPz8YSX58nOz5PLTkejVs0eGNb3Lr3b1ylx1MDAwZUzTLnEpI4nacCrm+KZTRZ7fXHUwMDA3p+o9pPGOqTKjNbNcXPRcdTAwMGbSJtNh8YLT84/T6af76eymXHUwMDEx2jhNrj5cdTAwMTjabkbDYYxcdTAwMDZcdTAwMWZcdTAwMDfzwkNRiqIp5u2GmjpcYm5X62FgaPJgXHUwMDE4TTgz1lx1MDAxYVxmhUpdt1x1MDAwMVxyWTRcZkc0PCxcdTAwMWE6I2Jzzfkzt0pqul+0lFx1MDAwN8PIgsafXHUwMDBlXHUwMDA1hqXQm9FiJXiwXHUwMDA1ZetY+Igw27bRXHUwMDFm3r9eSb6WfVx1MDAwMnCbXHUwMDA38OaR3Fx1MDAwMeBChyTZdlx1MDAwNKchcD1cIvi+OUzTXHLBJbWOayPDPNFcdTAwMTdcYvdG1nfY3lx1MDAwMopcdTAwMWJJzkSVh0G1y0N1mFx1MDAwZW2Dd25BaqODXHSUXHUwMDE2qkI3XHUwMDFmofrxoVpESYE2jqulYPCxx1x1MDAwMutgQ8XBXHUwMDAy1z2x+mlg72VcdTAwMWX2XHUwMDFh+2RcdTAwMDfqXHUwMDE5k6aCmFZH2HtcdTAwMWPYU1EntvFcdTAwMWWnuLebXHUwMDFl1njAyPqOes34Ulx1MDAwN71EkYdh3qs85lx1MDAwNTY9ka0xT7u0XHUwMDA2SzbkaiNYPELegVx1MDAwYlx1MDAwNDuWflgnmGXWPlx1MDAxMuRcdTAwMDVcdTAwMTO6Wlx1MDAxY1x1MDAxNPK6R3otJHuh7//240qwu+9cdTAwMTOWvs5jaWNn78LSyDa9reqmXGKSy6YqmCOUdoJSTVUnr0TgIDk1qn9Q+np6++V0WYJ++lx1MDAxZqfzy9noXHUwMDE239pzcG1cdTAwMDayOrhmVHtcdTAwMTjcvsnD7eu3f1618sZ2WFx1MDAxOa1VJrhg2GtcdTAwMTeW7Lg2+mh4XHUwMDFifV9cdTAwMWLP5uXqjt6rXHUwMDFlP1x1MDAwZreRXHRcclx1MDAwZlx1MDAwNbdeZlx1MDAwMEU971x1MDAxMyhe5EGxsUt2rYvylL9cbqpcdTAwMWJQUdLjyujDN1x1MDAxMXRDRa6YpUb3sDaU3Fx1MDAxNIPh9J5cdTAwMDB8flx1MDAxZF2R/51PJ3//++TffpuO726K01x1MDAxYrRl8e99x8hm9KljZDdNXHUwMDFmXHUwMDA2mW9bRKivv7t493LVbt5AerehpkjXTkRcdTAwMTS0VvV85lx1MDAxOKU+XHUwMDE2ajLKYiPOer40SjrL9vL8PGomViS3hJPdgXMlNmCnuepcdTAwMTN2/rlFQLmlY3bBZ7TVsEz/UNNcdTAwMDCfonFrxVx1MDAxMT47wSeTnVY3rLHMWSf6s1x1MDAxNTSulYVZXHUwMDBlTz9cXF5cdTAwMTc3g2dcdTAwMDedW1Goqd62naJcdTAwMGZDzu/yyFx1MDAxOWal6X1r2GSsVnPQXHUwMDE0bTJcdTAwMWKM4YibXHUwMDA3jjZdp0pcdTAwMDTOMNE6+1jRZrChyZZU6Vx1MDAxZaC5V1xutoXg/cLYx4T5XHUwMDE2sr3Q91x1MDAxN+9++mVdyDg+XFwtlpf9w0+vX/6wrpHsVbr7+zw7aTS/Xbt4mEm5SXNoz0xDQcaRm3RcZu11t7SYcZwpQVn/yMkqXHUwMDBm/O3sbkLm132nXCLNsF7nIdt0elx1MDAxOOv4S1x1MDAwYtZcdTAwMTHPZVx1MDAxZq/aXHUwMDEzXHUwMDBmJdJKqqaAnVx1MDAxZiupXHUwMDFlb48o67as7IRcdTAwMTRO6sdaVk7s6PJg5GNvuH1cdTAwMWFM/M9cdTAwMTaYuKVjdsGikmlJVXPIzo8lVVx1MDAwN9jeqjuVVEnEV9JY3b9C4vfFzXRRnL4rs8GnL3/+vvfAuFxyeerYuEOzh8HjXHUwMDBmeXiM6bibd0BHlVx1MDAxNnJcdTAwMWPD8ieuM1ad0NFox7l+tEXg2Iou3SGxsb/h4rs8NG7plp3IqGziV8eA8fGQUXZaXHUwMDExYoJbo4V1/Vx1MDAwYlx1MDAxOH+YXHUwMDAysk7fXGZcdTAwMTZcdTAwMDNcdTAwMGZPfcfFbZBTh8VtWj1cZlx1MDAxM3/c5ba5XHJcdTAwMGW1KSdxXWnSPbKOXHUwMDEzZ0T02OS3toHfWkUoTKJ6hOx33qn5hXlj5P9cdTAwMWK4bHJq0TFcdTAwMGJkNcguNbw/ZY+301FcdTAwMWR3w7PTMPrli+r5P75p/HQ4XGKg1cdcdTAwMDUlXG6TnJKCU4cnLLmbXHUwMDE4ZVx1MDAxOVfcKmOcctbmxElJnDaOMi6kQkebpDXwXHUwMDBmptBJ0lxuo42hLCdOOcJiz5CxNE24s9wwTaVcdTAwMTOWO5GTZlx1MDAwNFkqudTWiVhcdTAwMWGDsoJcbovmwVx1MDAxYlx1MDAxNec5adaQlZaluirRlGlChYFcdTAwMWPtTY1LJbPjRilx0dyRqMo5oVI4RTUz3OJJXlx1MDAxY5NEh2FVafO4JcpXOyAsp45cdTAwMGKtsuJwR9BVKpP0nVBcdTAwMDTvOaG9XHUwMDFiQKbMN0/yWIDkRLFI+Xx7lFwikXaSm0ScI2hcdTAwMGWGXHUwMDEzPU9cdTAwMTVcdTAwMWGcd1x1MDAxYUdErJ+KxSlccvV8Ylx1MDAxZq5gpKD51llBaGS3Sd9reEFktiYrzGlcdTAwMTJ7aDqS2kKak1x1MDAxNOajXHUwMDFjuj/bNu5ccr1yUEdp0nNGwqk0x4xGNYTKrMOjh4mNMS9cdTAwMTVnydJel4abNVx1MDAwYi5cdTAwMWP8JjgpS6zEcsJcdTAwMThF05jlXHUwMDE2Wme7jitBZOykidVa6KqtkkxYaq2hOitO2+T+Om5n77ey5f0nNTmILuaL19NcdTAwMWJQXHUwMDE0YM7PXHUwMDFlLzbQcDGYLV6B9YwmV2lgeTNcdTAwMWSWgD2dfVx1MDAxY8X7Y9bHt+f3RZeE4XP44lx1MDAwNJ2ITkzdJENWf1fbXHIlQ6BbTIZcdTAwMGZWoHGL2+72K0prqOev7Ghn2dUvPVx1MDAxZrwuXHUwMDA2XHUwMDFifFx1MDAwNVrE79WJYzH+OL3fXHUwMDE5Zv6U56s7jrjYRVh57TwmXHUwMDFiqOaaobqmMJNYyVx1MDAxMYA6zH1cdTAwMTL/WFx1MDAxMZ95fiSpbVwiT92pXG6ZoZu5XHUwMDA1OFx1MDAxY0lq+XFcdTAwMDdcdTAwMDRUzDBcdNZcYlxcolx0PJ8zXHUwMDAy86SYyVxyU5xySqU30DzWgHNcdTAwMDBFMFx1MDAwN1MtXHUwMDE4XHUwMDE1nZrENYguX//BL1x1MDAxMtzbr0Xg4oAo4D1TjnHOpDyATEGEcsJpXHR+Y6jiXHUwMDA36Dmhif/Bh/XfQZrpwDukXHUwMDAzUVx1MDAwNlx1MDAxZVtcdTAwMTFVXHUwMDEz7S9cdTAwMTOkkmmEe+C+joNcZlLZaYSl6vZxXHUwMDAzXHUwMDFlZJmQmCRccje0291cbqSMKlxuTi5cdTAwMTFx6fCbJ+3uXHUwMDE2JNii/+t2tybwKU1cdTAwMTHCIO5xSnRsuiNcdTAwMDa4jtBJUoswkXW6W1x1MDAwYkJjYzLd7lx1MDAwNjO34L7g+og+XFxHXHUwMDFmNlx1MDAxNFx1MDAxMZxcdTAwMDSXVIIjgHPd7MN0+7jbNkOe1G57Mq7XfHTdgbnSITjdPqS0b6Tu55ZJyMYt512SkJZtyyZWSUjWsOdE1u7qcqT0kd+d6o7nb1KDWV736ccwvia/XHUwMDAzmZIlsVuBUJriOKeAXGKFyVx1MDAxZDRNKVx1MDAwM5yRNpvmXHUwMDAwR7ElraNMXHUwMDE4n3uoSVxcXHUwMDA3/VxuXGZcdTAwMTBxTTb2XHUwMDA3vINAXHUwMDA0iDX1Jia5SEVFNuekINHTPPBcdTAwMWHqQYzVXHUwMDA0KlqaXGLaKbkzJpsr1ZBnZWBcdTAwMTGmJs8of2YyglxuJ6VukXcyXuNcYppThVmakJT5XFyuxYiAJ1RcdTAwMWNJ1uRcdKCw9lx1MDAwN4VcdTAwMTiK8MdkR9iBtoDXoW9W7KMmT5s42ZzP57J43bWUwVx0jZOSok3WXHUwMDE11LikfytcIq9rXHUwMDAywcFVyGC1yJPCNdCGwGPrXHUwMDAytVx1MDAxMVx1MDAwMuxcdTAwMDcoXHUwMDAw7iZdVp5QxMWBS13jJDXJWiSGpfJJ/Yq881SgIFx1MDAxY1hiYHfCcNZiXHUwMDAxwSd23ZJHSof4zNXEKVx1MDAwNnehXHUwMDFjs1x1MDAxY1x1MDAxN1x1MDAxOOF8+7RXWG1cdFYgMM5PXG6Xt1x1MDAxMoNcdTAwMDFcdTAwMDHXxKyBJtjaeFxiYm25VoKQ0lx1MDAxYp3Jy4NbqJJ9LmM0VVx1MDAxN+hcdTAwMWM1WmBiXHUwMDA0y4XWeYtxqeNvXHUwMDAwe3YyZqKtgJOaoGeUpqzFSETEay9cIllcdTAwMTHZoIqH4LSNp4U8L0r71zyl3brRZlx1MDAxN6N1tZ/NMk1cdTAwMTS26WRcdTAwMDSBWFLS8Fxinzly2DZcdTAwMGLpqtu+L6pcdTAwMDCv0tr+XHUwMDFjlfC1OSzmXiUoOlx1MDAwNU9kbeWbXHUwMDFhX3ZALVx1MDAxN1QqrrLAIDy9XHUwMDAxXFxbyqV/kuCWXHUwMDAxLFx1MDAwMImckkaAbJosmZN6xypcdTAwMWQzQGlcdTAwMWVcdTAwMWX55VfluVxcUDeZS7kjkjrDfHk+U1rkXHUwMDFipz1XX2rp1VWJqlx1MDAxMlx1MDAxMLhUk1FuLc3zVnTc9ppcdTAwMDGKUTLhYbPE3/rYpFx1MDAxYVWVJlCNJaLSXHUwMDEzw9uGtFx1MDAwNkWlSUm/M4SZaGDzZImmRVx1MDAwN8xziWhcdTAwMDLMYj1jikTKiXS91ZPFyGZ1fiRcdTAwMTlXaEFQUCZhXHUwMDE3U1x1MDAxMnSLamVcdTAwMTFwcZD8PDtCXHUwMDBiYrNN6Vx1MDAxNihcdTAwMWKJ7TYvXHUwMDBlZDX20dRcdTAwMGKsQ1x1MDAwMOXVRFjuzbdVXHUwMDExQuShKlGWU0G0KE12qXC+80BV42qXlMhxP1Sx5eaLXHUwMDFhXGY6j1x1MDAwNj9N1eVcdTAwMTgqxJ3roZUuzywtXHUwMDA2N3JUlpaoXGLqV0SYWFx1MDAxYnDeel06RW7Ad3bKTc11l4CTmqAnY6pPwfNcdTAwMGXBR1x1MDAxYvf07W5nXG5J/jWNXHUwMDFmcU5lo8mPTE3f56np1q3au6gpo9HJp2WxdtOv00enX1xch9pUhqBRI1xmRlx1MDAxY6xcdTAwMTFhi+I8ysNcdTAwMWVcdGpcdTAwMGKCymW3s6K5NeBcZnq/31xi++NcdTAwMTFU5udnyXz7XHUwMDE5szRdLDtXRFx1MDAwM6Uks0B8i3+81Vx1MDAxYboh1i/HS6tcdTAwMWRuV6Jj8SkgUlxun9Ip/2SaY9yrRcJcdTAwMTFhMVx1MDAxMzHHqVx1MDAxNDat8dxLXCI4XHUwMDAzLX9YXHUwMDFlkFx1MDAwYmNKUXQviX6xl0lb/Vx1MDAxZECiJoJcdTAwMDPkMblwR6F/t3HQMFxy5qj/oUtcZqFIi4D3apA2pNsqslx1MDAwMXZb6qCFlWiB6LZcdTAwMDBcdTAwMGVcdTAwMWWOxkuQQWOoY7rbd/tCQFtZoWLdVpFBXHUwMDFiXHUwMDFkd9pZzOtGKN7tbofuRXtcdTAwMWRcdTAwMDJcdTAwMWKnNOu4/s2oz5vrypZMN8XxdYQp5yR0plx1MDAwMkFMt15nrFxcvFdWXHUwMDE5IaztVnXAOtY4sK1lXHQntfuejNs1nmb4x+B2fcs1fmiRa9xxRM5uTsfSja0y2jlVcbqms+RcdTAwMWM/5lx1MDAxYk9cdTAwMWZA53S3o+UsV9Ipt9dpXHUwMDBmfzw2J1xij1xu+5ioL/fakGhcdTAwMTH+RL4scUJcdTAwMDBXrWop4+rrZOtcdTAwMTRXmVxyyq/OXG7jK++rxWOWrr9rYuMsXFx+2U1KXCKqNUFra61jjPhtJ+skobHZdVDFXGI3oeBQ1lxuSlxy+lwiynux/GK+JSyqwKut4mGwbJSoYiqbXHUwMDFi0ZI4yarixVr5gk+1VFx0Ua3yeTnDSLQordJcdTAwMWG9c2HBmaPxbcG20v6SmoBwh0dWPatIvHJP01VeX85Yma7PJmVJXHUwMDE0JmJlQ/FlWuRcbnZcdTAwMGKis0rqgcjmiz2cJTaqSeRpd2mMdZyIy7Ms5dOeVXWnSVx1MDAwN9NIX6pcdTAwMTCl8/PMqUx7VnUjaVx1MDAxMvjcUlwiuVxmecx8+5jze1x1MDAwMEMtczq4fqziRz7vyDVcdJU3kvN0dC0614ooU5hnfoJExUHcpvo6uHKcg8+3T6bjuVx1MDAwMeNZXHUwMDAxyrRcdTAwMTVwUlx1MDAxM/R0ecctx4X+MehpPfWIXHUwMDAwKn58xczjL3miuutcdTAwMDConURVqNr5ZFxcplx1MDAxYs5cdTAwMDOLXHRcdTAwMDeyNOzncbWNZ8e9PN1+qbXbOjlz/revMOv351x1MDAxNImvSlxcJVFlnmSZrbKq5spWgu1YXHUwMDA16uUo6Fl+nVxcgHtwMMJlXCJcIlx1MDAwNUOQZPBcdTAwMDLKgZLWgmfkyzx9PiVkgtJcdTAwMTUqQ6iIds6qLHL5fcghu6JSmlx1MDAwM9LqXHUwMDFjXHUwMDE34LTgXHUwMDE40sk8sCpDyvTWOlOXslaQVoiTnlx1MDAwZihhgZf5JJ1cdTAwMDJcdTAwMTKHRGSa9sM4aVx1MDAxMW8gz7JCXHUwMDAxyopbpPX5V54ubVx1MDAwYihcdTAwMGLMV87XXHUwMDE0Ur+2maWIuGOdXHUwMDE0k/5cYoJEnFx1MDAwM1x1MDAwM1x1MDAwMjfjUmMsXHUwMDA0z9dcdTAwMDOn2y+kSfebZ61cZoywSikrI1OGqVx1MDAxNFx1MDAwMZcpf02Ls1x1MDAxNpW/vtKU+kSrYmXqL13G9DtiXHUwMDFj+Fx1MDAwNJhcdTAwMTFl4ONZm/Vb/VmwWZvmTo2vbYu2e+dLRDknZVx1MDAxNnmdjU2szFx1MDAxOOJcdTAwMTfBXHUwMDEwlniva0G2XHUwMDEwq8QrXHUwMDA06aKx3yePbjNgq1x1MDAxY2SwxVxuPmJcdTAwMTVcdTAwMWSlztN9/1x1MDAxNi5cdTAwMTBvlW9xXGaB9neAoS9XRlx1MDAxMmkglsafXHUwMDE1glx1MDAxZZCg+TwvXHKGIMs1gmUmmiU956Sv7lx1MDAwMEVlUihgSH5cXHXSV1x1MDAxYqidvd/Slvef1OQ8XHUwMDE5S92D+tV2m6dJ4fq7j05dt1x1MDAxY/j3vJKrf2vHWbdcdTAwMWPM1o2y+iWDZu5ZUVbXkGpVKdGNjkw7UtZcdTAwMTaUVdtuZyRhXG5z/qSRY2mnf/iiNlx1MDAwMFx1MDAxN3hcdTAwMWF3nNVSo9RDOVx1MDAwN1x1MDAxYVx1MDAxYVx1MDAxMFDhvG3nk6PlKUl+XHUwMDBmmHWCglx1MDAxYqZcdTAwMDJBM6zfosNcdTAwMDGexqh8/kv6k0yEXT1cdTAwMWOrNVx1MDAxMFx1MDAxZFx1MDAxZkrydH5cdTAwMGaGPzVcdTAwMDW0XHUwMDE5oCcwYCqKXFyW8qCnXHUwMDE1Pk8kJfMnqOTkaVx1MDAwZcpfalxudqo4r22V9z9XXGJARM8yMI588anx2d7wSHuPXHUwMDExTzWqkjfwipw461GDl5ouXHUwMDA3OWHBhFKQc1x1MDAwNCToN6bzyTlcdTAwMGLKr6rB5S6tUCNcdTAwMTJBjUD0Y0DTOc9biqulWv1cdTAwMDadXHUwMDE44PJsjlx1MDAxYbK2XFyLXHUwMDE3NOXRxFdcdTAwMDA60HJcdTAwMTBcdTAwMTbMzS1cbkY16KTRXHUwMDAyIYu00NSk4pxWYP9cdTAwMTLUS8EhWlAm+FZluKXtJjSddLRcXFx1MDAwNs+SXHUwMDAy/Nq5lVx1MDAwMafi4FbaXHUwMDFmaYZYR7Y43FxiTFxy5lTa7FLjxLGUzztKZyhYMkKD/KJcdTAwMDPkXHUwMDEwuFSw3FRaVIdLXHUwMDExSeUnMU6qcYXCtSpcdTAwMTJcdTAwMDO2bTVcIlxmXHUwMDA0JSqf04fzkeWIrmy31jgoSFxyglhEPzDgXHUwMDE23LNWQ1KD7+z9dXW23n9Sk/N8uWu6XHUwMDA1idnN86BcdTAwMGVLXrecyvm8uOt/rbjrycpcdTAwMDTOXHUwMDA2t7dcdTAwMWZcdTAwMTZgXHUwMDFkVb+ASY2GtTNRl9dcdTAwMTbF7Vl1XHUwMDFlannpXHUwMDFkuu9iMvg4rn/n2W+j4v7VJnH809tXb83FxarFK/Ly7m68XHUwMDE4fUCPXy5Aqspjnn37yj7xrLJYXfr9X9BNpfMifQ==<!-- payload-end --><pict-renderer-graph:source xmlns:pict-renderer-graph="https://fable-retold.github.io/pict-renderer-graph/ns/v1"><![CDATA[{"type":"flowgraph","mermaid":"flowchart LR\n subgraph Build[\"Docker Build\"]\n BASE[\"node:20-bookworm\"]\n DEPS[\"npm install --omit=dev\"]\n SRC[\"Copy source + scripts\"]\n end\n\n subgraph Runtime[\"Docker Runtime\"]\n CFG[\".meadow.config.json\\n(volume mount)\"]\n SCHEMA[\"Extended Schema\\n(volume mount)\"]\n RUN[\"scripts/run.sh\"]\n end\n\n subgraph External[\"External\"]\n REMOTE[\"Remote Meadow API\"]\n LOCAL[\"Local Database\"]\n end\n\n BASE --> DEPS --> SRC --> RUN\n CFG --> RUN\n SCHEMA --> RUN\n RUN --> REMOTE\n RUN --> LOCAL\n","style":"notebook"}]]></pict-renderer-graph:source></metadata><defs><style class="style-fonts">
|
|
2
|
+
@font-face { font-family: Excalifont; src: url(data:font/woff2;base64,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); }</style></defs><g stroke-linecap="round" transform="translate(10 10) rotate(0 544.5 135.5)"><path d="M32 0 C241.37 -1.3, 449.95 -1.85, 1057 0 M1057 0 C1079.27 -1.81, 1087.43 8.81, 1089 32 M1089 32 C1089.77 79.81, 1089.6 126.12, 1089 239 M1089 239 C1087.99 260.59, 1077.16 269.6, 1057 271 M1057 271 C768.05 266.83, 478.62 268.2, 32 271 M32 271 C9.67 270.11, 0.69 260.94, 0 239 M0 239 C0.07 196.74, 1.12 150.15, 0 32 M0 32 C-0.6 9.24, 8.69 0.86, 32 0" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.5" fill="none" stroke-dasharray="8 9"/></g><g transform="translate(10 15) rotate(0 544.5 10.5)"><text x="544.5" y="13.215" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="15px" fill="var(--diagram-deemphasis, #8A7F72)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Docker Build</text></g><g stroke-linecap="round" transform="translate(563 252) rotate(0 428.5 135.5)"><path d="M32 0 C193.82 1.9, 354.4 2.66, 825 0 M825 0 C846.32 -0.48, 858.09 11.86, 857 32 M857 32 C857.12 80.74, 858.01 128.16, 857 239 M857 239 C857.48 259.59, 846.67 271.12, 825 271 M825 271 C656.68 271.48, 488.62 270.33, 32 271 M32 271 C11.27 271.94, -0.12 261.97, 0 239 M0 239 C2.65 183.88, 1.35 127.93, 0 32 M0 32 C-1.21 12.65, 12.33 1.68, 32 0" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.5" fill="none" stroke-dasharray="8 9"/></g><g transform="translate(563 257) rotate(0 428.5 10.5)"><text x="428.5" y="13.215" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="15px" fill="var(--diagram-deemphasis, #8A7F72)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Docker Runtime</text></g><g stroke-linecap="round" transform="translate(1482 252) rotate(0 169 135.5)"><path d="M32 0 C87.16 0.01, 141.58 2.25, 306 0 M306 0 C329.12 -0.35, 337.99 11.72, 338 32 M338 32 C337.34 96.7, 338.09 159.7, 338 239 M338 239 C339.33 259.12, 327.25 269.46, 306 271 M306 271 C242.71 271.38, 180.28 270.72, 32 271 M32 271 C9.3 269.62, 0.28 259.29, 0 239 M0 239 C0.94 194.26, 0.47 147.67, 0 32 M0 32 C1.57 12.48, 11.46 1.16, 32 0" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.5" fill="none" stroke-dasharray="8 9"/></g><g transform="translate(1482 257) rotate(0 169 10.5)"><text x="169" y="13.215" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="15px" fill="var(--diagram-deemphasis, #8A7F72)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">External</text></g><g stroke-linecap="round" transform="translate(69 88) rotate(0 104 28)"><path d="M14 0 C48.62 3.2, 86.21 1.12, 194 0 M14 0 C83.2 -0.15, 150.34 -1.52, 194 0 M194 0 C201.53 1.62, 208.62 4.28, 208 14 M194 0 C201.16 2.27, 210.27 6.72, 208 14 M208 14 C206.87 22.5, 208.67 34.98, 208 42 M208 14 C208.81 24.67, 208.46 34, 208 42 M208 42 C206.08 51.11, 202.62 54, 194 56 M208 42 C206.76 49.85, 204.3 55.33, 194 56 M194 56 C135.74 54.18, 72.96 55.89, 14 56 M194 56 C151.79 55.22, 110.43 56.01, 14 56 M14 56 C2.7 56.82, -0.1 51.91, 0 42 M14 56 C4.35 55.68, -0.06 49.31, 0 42 M0 42 C1.56 33.45, 1.04 22.12, 0 14 M0 42 C-0.1 31.65, 0.57 21.37, 0 14 M0 14 C-1.07 4.28, 4.05 -0.89, 14 0 M0 14 C-0.56 4.37, 2.78 2.2, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(77 103.5) rotate(0 96 12.5)"><text x="96" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">node:20-bookworm</text></g><g stroke-linecap="round" transform="translate(367 88) rotate(0 60 28)"><path d="M14 0 C30.92 2.61, 52.48 0.52, 106 0 M14 0 C37.87 0.83, 59.88 0.14, 106 0 M106 0 C117.03 -1.09, 119.17 4.13, 120 14 M106 0 C115.47 -1.29, 118.38 5.79, 120 14 M120 14 C119.42 22.23, 121.44 27.91, 120 42 M120 14 C118.99 20.23, 120.23 24.52, 120 42 M120 42 C119.28 51.95, 114.33 54.21, 106 56 M120 42 C118.61 52.66, 115.08 57.69, 106 56 M106 56 C83.44 56.83, 58.73 56.69, 14 56 M106 56 C69.51 56.11, 32.98 54.85, 14 56 M14 56 C4.76 56.3, 1 52.72, 0 42 M14 56 C5.66 57.29, -0.92 52.98, 0 42 M0 42 C-1.19 32.7, -1.31 28.02, 0 14 M0 42 C-0.64 32.55, 0.73 21.88, 0 14 M0 14 C0.14 3.21, 3.04 -0.56, 14 0 M0 14 C-0.97 4.26, 6.6 -1.49, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(375 103.5) rotate(0 52 12.5)"><text x="52" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">DEPS</text></g><g stroke-linecap="round" transform="translate(771 179) rotate(0 60 28)"><path d="M14 0 C30.56 -0.59, 50.57 0.79, 106 0 M14 0 C47.84 0.04, 83.52 -0.76, 106 0 M106 0 C113.76 0.99, 120.7 3.91, 120 14 M106 0 C114.43 0.37, 120.56 6.66, 120 14 M120 14 C119.53 24.11, 120.68 36.8, 120 42 M120 14 C119.21 24.1, 120.05 33.88, 120 42 M120 42 C121.37 52.98, 114.43 56.17, 106 56 M120 42 C121.83 49.98, 116.06 54.83, 106 56 M106 56 C83.37 55.98, 63.58 54.26, 14 56 M106 56 C81.77 56.64, 55.81 56.08, 14 56 M14 56 C5.52 57.46, -0.13 51.85, 0 42 M14 56 C5 57.48, 0.45 51.08, 0 42 M0 42 C-0.09 31.86, -1.83 22.37, 0 14 M0 42 C-0.94 31.98, 0.29 23.04, 0 14 M0 14 C0.26 5.57, 4.8 -0.83, 14 0 M0 14 C-0.16 3.86, 6.39 -1.58, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(779 194.5) rotate(0 52 12.5)"><text x="52" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">mit</text></g><g stroke-linecap="round" transform="translate(700 78) rotate(0 131.5 28)"><path d="M14 0 C61.24 0.73, 109.73 2.25, 249 0 M14 0 C84.41 -1.16, 153.68 -1.55, 249 0 M249 0 C256.95 -1.71, 264.25 4.66, 263 14 M249 0 C260.35 0.07, 263.3 3.16, 263 14 M263 14 C263.78 22.61, 263.53 35.84, 263 42 M263 14 C262.47 21.96, 264.03 29.18, 263 42 M263 42 C264.34 51.34, 259.08 54.76, 249 56 M263 42 C262.88 50.7, 257.23 56.15, 249 56 M249 56 C194.34 56.48, 135.86 57.3, 14 56 M249 56 C163.08 58.41, 78.41 58.1, 14 56 M14 56 C4.8 54.83, -0.22 52.33, 0 42 M14 56 C2.84 57.47, 0.47 50.91, 0 42 M0 42 C-1.77 35.51, -1.27 27.77, 0 14 M0 42 C-0.7 30.93, 0.9 20.28, 0 14 M0 14 C0.68 3.71, 3.8 1.85, 14 0 M0 14 C1.39 4.19, 3.97 -2.21, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(708 93.5) rotate(0 123.5 12.5)"><text x="123.5" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Copy source + scripts</text></g><g stroke-linecap="round" transform="translate(622 320) rotate(0 209 28)"><path d="M14 0 C93.29 2.64, 171.75 2.3, 404 0 M14 0 C168.03 0.89, 322.36 1.21, 404 0 M404 0 C413.47 1.36, 419.12 4.59, 418 14 M404 0 C413.6 0.51, 419.61 2.95, 418 14 M418 14 C417.26 18.1, 419.02 23.51, 418 42 M418 14 C417.45 20.26, 419.03 26.46, 418 42 M418 42 C416.28 50.49, 414.58 57.81, 404 56 M418 42 C416.74 53.29, 414.49 57.83, 404 56 M404 56 C272.33 56.49, 139.41 56.68, 14 56 M404 56 C303.82 55.23, 203.73 55.38, 14 56 M14 56 C5.18 56.03, 1.4 51.44, 0 42 M14 56 C4.06 58.03, 0.37 52.43, 0 42 M0 42 C1.63 35.9, -1.27 27.44, 0 14 M0 42 C0.29 31.8, -1.1 22.34, 0 14 M0 14 C-1.27 3.82, 5.45 -0.3, 14 0 M0 14 C-1.76 6.06, 3.73 -1.32, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(630 335.5) rotate(0 201 12.5)"><text x="201" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">.meadow.config.json\n(volume mount)</text></g><g stroke-linecap="round" transform="translate(645 421) rotate(0 186.5 28)"><path d="M14 0 C82.22 -0.17, 152.12 -0.09, 359 0 M14 0 C107.5 0.55, 201.87 -0.09, 359 0 M359 0 C369.3 1.45, 373.77 5.03, 373 14 M359 0 C370 1.49, 371.58 4.75, 373 14 M373 14 C372.03 23.6, 371.81 34.85, 373 42 M373 14 C372.86 23.65, 372.55 33.45, 373 42 M373 42 C373.13 49.88, 369.22 54.26, 359 56 M373 42 C372.59 53.08, 366.25 55.03, 359 56 M359 56 C225.8 54.78, 94.83 56.14, 14 56 M359 56 C221.49 58.13, 84.52 57.39, 14 56 M14 56 C6.09 54.97, -1.75 52.62, 0 42 M14 56 C5.56 54.22, 1.92 51.85, 0 42 M0 42 C-0.58 31.27, -0.47 23.04, 0 14 M0 42 C-0.65 33.5, 0.39 24.27, 0 14 M0 14 C0.03 6.31, 3.96 -0.1, 14 0 M0 14 C1.75 2.48, 5.85 -0.48, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(653 436.5) rotate(0 178.5 12.5)"><text x="178.5" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Extended Schema\n(volume mount)</text></g><g stroke-linecap="round" transform="translate(1175 320) rotate(0 93 28)"><path d="M14 0 C44.34 0.72, 77.97 -0.72, 172 0 M14 0 C63.19 1.15, 111.3 0.66, 172 0 M172 0 C180.92 0.16, 187.5 4.82, 186 14 M172 0 C182.27 -0.81, 188.26 3.57, 186 14 M186 14 C184.69 20.41, 184.42 30.11, 186 42 M186 14 C185.51 19.75, 185.03 25.4, 186 42 M186 42 C185.44 53.03, 181.06 56.67, 172 56 M186 42 C188.17 50.12, 180.33 57.4, 172 56 M172 56 C134.99 53.77, 96.62 56.06, 14 56 M172 56 C112.97 54.75, 54.08 55.13, 14 56 M14 56 C4.05 56.43, 0.53 50.1, 0 42 M14 56 C5 56.34, 0.69 52.47, 0 42 M0 42 C0.55 33.13, -0.15 21.23, 0 14 M0 42 C0.78 34.8, 0.34 27.37, 0 14 M0 14 C0.58 3.48, 4.51 -1.86, 14 0 M0 14 C-1.51 5.04, 4.44 0.63, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(1183 335.5) rotate(0 85 12.5)"><text x="85" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">scripts/run.sh</text></g><g stroke-linecap="round" transform="translate(1541 421) rotate(0 110 28)"><path d="M14 0 C51.95 -1.83, 89.77 0.28, 206 0 M14 0 C64.02 1.89, 115.34 1.79, 206 0 M206 0 C214.83 0.03, 220.11 5.16, 220 14 M206 0 C216.7 -1.06, 219.74 2.73, 220 14 M220 14 C219.34 21.14, 218.96 26.68, 220 42 M220 14 C220.19 22.72, 220.97 29.4, 220 42 M220 42 C219.29 50.73, 216.77 57.26, 206 56 M220 42 C220.95 51.91, 216.79 56.29, 206 56 M206 56 C156.4 55.17, 105.83 55.58, 14 56 M206 56 C144.82 54.44, 83.22 54.83, 14 56 M14 56 C5.28 55.56, 1.59 50.72, 0 42 M14 56 C6.78 55.66, -0.35 51.89, 0 42 M0 42 C1.11 29.8, 1.44 21.84, 0 14 M0 42 C0.53 33.77, 0.45 26.05, 0 14 M0 14 C1.6 5.2, 3.44 -0.85, 14 0 M0 14 C-0.27 4.66, 6.01 0.16, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(1549 436.5) rotate(0 102 12.5)"><text x="102" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Remote Meadow API</text></g><g stroke-linecap="round" transform="translate(1558 320) rotate(0 93 28)"><path d="M14 0 C45.61 0.76, 79.15 -1.09, 172 0 M14 0 C68.06 1.22, 122.66 2.03, 172 0 M172 0 C182.67 0.28, 185.37 3.51, 186 14 M172 0 C179.98 2.06, 187.63 4.65, 186 14 M186 14 C185.05 22.3, 186.95 33.26, 186 42 M186 14 C186.06 22.48, 185.87 30.46, 186 42 M186 42 C185.57 50.64, 181.72 56.48, 172 56 M186 42 C187.1 52.75, 181.84 58.28, 172 56 M172 56 C122.55 53.64, 72.63 52.82, 14 56 M172 56 C113.72 56.55, 55.02 55.63, 14 56 M14 56 C6.49 56.81, 0.14 51.06, 0 42 M14 56 C2.75 56.71, -1.13 50.71, 0 42 M0 42 C0.22 30.93, 1.66 22.02, 0 14 M0 42 C0.54 33.09, -0.63 25.56, 0 14 M0 14 C-0.56 5.42, 4.53 1.63, 14 0 M0 14 C0.15 4.73, 4.99 1.81, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(1566 335.5) rotate(0 85 12.5)"><text x="85" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Local Database</text></g><g stroke-linecap="round"><g transform="translate(487 121.97333333333333) rotate(0 142 42.64516077144373)"><path d="M0 0 C2.12 0.81, 5.56 0.6, 16 0 M0 0 C4.78 -0.13, 10.82 0.31, 16 0 M16 0 C19.52 0.45, 24.48 0.59, 30.59 0.76 M16 0 C19.75 -0.17, 24.87 0.93, 30.59 0.76 M30.59 0.76 C34.51 2.3, 39.36 2.77, 44.97 2.92 M30.59 0.76 C35.39 1.1, 40.44 2.88, 44.97 2.92 M44.97 2.92 C47.03 2.57, 52.73 5.52, 59.17 6.3 M44.97 2.92 C50.22 3.78, 55.12 5.48, 59.17 6.3 M59.17 6.3 C61.81 6.63, 66.59 8.05, 73.21 10.73 M59.17 6.3 C63.33 7.92, 68.58 8.65, 73.21 10.73 M73.21 10.73 C78 11.62, 81.78 14.15, 87.12 16.04 M73.21 10.73 C77.79 12.76, 82.93 14.07, 87.12 16.04 M87.12 16.04 C92.23 19.25, 96.54 18.37, 100.93 22.04 M87.12 16.04 C92.37 19.19, 97.82 20.75, 100.93 22.04 M100.93 22.04 C106.6 24.26, 112.02 27.25, 114.67 28.58 M100.93 22.04 C105.84 24.68, 112.22 27.55, 114.67 28.58 M114.67 28.58 C121.11 30.56, 126.47 35.34, 128.35 35.46 M114.67 28.58 C120.59 31.99, 125.1 33.8, 128.35 35.46 M128.35 35.46 C132.48 38.84, 137.86 42.49, 142 42.51 M128.35 35.46 C131.85 37.97, 136.09 39.99, 142 42.51 M142 42.51 C147.08 44.58, 151.86 48.4, 155.65 49.57 M142 42.51 C145.99 45.01, 151.19 47.67, 155.65 49.57 M155.65 49.57 C161.84 52.45, 166.97 55.31, 169.33 56.45 M155.65 49.57 C158.56 51.82, 162.49 53.17, 169.33 56.45 M169.33 56.45 C171.42 58.99, 177.1 60.53, 183.07 62.98 M169.33 56.45 C172.07 57.47, 174.13 59.74, 183.07 62.98 M183.07 62.98 C185.32 64.57, 188.92 67.03, 196.88 68.99 M183.07 62.98 C185.74 64.19, 190.05 66.14, 196.88 68.99 M196.88 68.99 C201.35 70.02, 203.65 71.85, 210.79 74.3 M196.88 68.99 C201.88 70.61, 205.7 71.73, 210.79 74.3 M210.79 74.3 C217.56 76.54, 220.42 77.29, 224.83 78.73 M210.79 74.3 C215.5 76.05, 220.53 77.14, 224.83 78.73 M224.83 78.73 C229.49 80.1, 231.82 78.96, 239.03 82.11 M224.83 78.73 C229.57 79.8, 235.39 81.12, 239.03 82.11 M239.03 82.11 C244.02 82.55, 247.43 82.29, 253.41 84.27 M239.03 82.11 C242.89 83.3, 247.06 83.27, 253.41 84.27 M253.41 84.27 C257.03 83.31, 261.37 84.47, 268 85.03 M253.41 84.27 C258.05 85.09, 262.14 84.73, 268 85.03 M268 85.03 C273.55 85.16, 279.54 85.6, 284 85.03 M268 85.03 C272.86 85.25, 276.24 84.99, 284 85.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(487 121.97333333333333) rotate(0 142 42.64516077144373)"><path d="M276.49 87.8 C277.45 87.64, 279.07 86.98, 284 85.03 M276.49 87.8 C278.74 86.85, 281.6 86.19, 284 85.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(487 121.97333333333333) rotate(0 142 42.64516077144373)"><path d="M276.47 82.32 C277.44 83.27, 279.07 83.71, 284 85.03 M276.47 82.32 C278.7 83.12, 281.57 84.2, 284 85.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(277 116) rotate(0 45 0.0994676371474128)"><path d="M0 0 C2.14 0.13, 5.92 0.66, 16 0 M0 0 C3.81 0.31, 8.75 0.68, 16 0 M16 0 C17.45 0.05, 18.41 0.04, 19.88 0 M16 0 C17.2 -0.11, 18.23 -0.07, 19.88 0 M19.88 0 C20.73 -0.06, 21.74 0.12, 23.52 0 M19.88 0 C20.79 0, 21.59 0.12, 23.52 0 M23.52 0 C24.08 0.01, 25.3 0.13, 26.96 0 M23.52 0 C24.54 0.15, 25.32 0.15, 26.96 0 M26.96 0 C27.59 -0.26, 28.99 0.06, 30.23 0 M26.96 0 C28.2 -0.07, 29.36 0.09, 30.23 0 M30.23 0 C31.45 -0.07, 32.33 -0.15, 33.36 0 M30.23 0 C31.23 0.05, 32.32 0.01, 33.36 0 M33.36 0 C34.27 -0.05, 35.38 -0.3, 36.37 0 M33.36 0 C33.86 0.06, 34.51 -0.1, 36.37 0 M36.37 0 C36.99 0.19, 37.93 0.11, 39.29 0 M36.37 0 C37.2 0, 38.39 0.08, 39.29 0 M39.29 0 C39.81 -0.09, 40.9 0.21, 42.16 0 M39.29 0 C40.4 -0.14, 41.26 0.05, 42.16 0 M42.16 0 C43.03 0.04, 43.93 0.21, 45 0 M42.16 0 C43.12 0.08, 44.12 -0.04, 45 0 M45 0 C46.05 0.18, 46.74 -0.09, 47.84 0 M45 0 C46.09 0.02, 47.25 0.12, 47.84 0 M47.84 0 C48.65 0.12, 49.67 -0.16, 50.71 0 M47.84 0 C48.82 0.01, 49.57 -0.03, 50.71 0 M50.71 0 C51.69 0.04, 53.26 0.08, 53.63 0 M50.71 0 C51.69 0.07, 52.7 -0.09, 53.63 0 M53.63 0 C54.43 0.01, 55.89 0.05, 56.64 0 M53.63 0 C54.82 -0.15, 55.69 -0.15, 56.64 0 M56.64 0 C57.51 -0.02, 59.17 -0.11, 59.77 0 M56.64 0 C57.22 0.08, 57.91 -0.01, 59.77 0 M59.77 0 C60.8 0.04, 62.05 -0.06, 63.04 0 M59.77 0 C60.75 -0.12, 61.49 0.05, 63.04 0 M63.04 0 C64.09 -0.09, 65.84 -0.16, 66.48 0 M63.04 0 C64.1 0.09, 65.26 -0.06, 66.48 0 M66.48 0 C67.24 0.13, 68.3 0.08, 70.12 0 M66.48 0 C67.28 0.01, 68.06 -0.08, 70.12 0 M70.12 0 C71.16 -0.15, 72.06 0.14, 74 0 M70.12 0 C71.5 -0.09, 73.07 0, 74 0 M74 0 C81.23 1.09, 85.9 0.05, 90 0 M74 0 C78.92 -0.88, 84.48 0.51, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(277 116) rotate(0 45 0.0994676371474128)"><path d="M82.52 2.83 C83.48 2.32, 85.26 2.02, 90 0 M82.52 2.83 C84.28 2.2, 86.61 1.6, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(277 116) rotate(0 45 0.0994676371474128)"><path d="M82.45 -2.64 C83.43 -2.05, 85.23 -1.24, 90 0 M82.45 -2.64 C84.22 -1.76, 86.57 -0.84, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(487 110.02666666666667) rotate(0 106.5 -2.0642842367899874)"><path d="M0 0 C1.7 -0.17, 7.31 -1.16, 16 0 M0 0 C5.44 0.33, 11.44 0.66, 16 0 M16 0 C18.79 0.25, 20.36 -0.52, 26.48 -0.04 M16 0 C19.66 0.09, 23.92 -0.37, 26.48 -0.04 M26.48 -0.04 C28.76 -0.81, 32.84 0.88, 36.81 -0.14 M26.48 -0.04 C28.59 -0.55, 30.91 -0.23, 36.81 -0.14 M36.81 -0.14 C39.35 0.26, 41.43 -0.93, 47 -0.3 M36.81 -0.14 C40.32 0.08, 44.05 0.02, 47 -0.3 M47 -0.3 C51.47 0.51, 54.5 -1.17, 57.09 -0.51 M47 -0.3 C50.2 -0.42, 53.86 -0.99, 57.09 -0.51 M57.09 -0.51 C60.13 -0.18, 62.98 -1.17, 67.08 -0.76 M57.09 -0.51 C59.52 -0.7, 62.25 -0.64, 67.08 -0.76 M67.08 -0.76 C70.54 -0.81, 75.6 -1.99, 77 -1.04 M67.08 -0.76 C70.89 -1.27, 74.86 -0.82, 77 -1.04 M77 -1.04 C80.03 -0.13, 81.54 -0.97, 86.87 -1.35 M77 -1.04 C78.92 -1.17, 81.11 -1.4, 86.87 -1.35 M86.87 -1.35 C90 -0.83, 94.88 -2.42, 96.69 -1.68 M86.87 -1.35 C90.75 -1.67, 93.8 -1.43, 96.69 -1.68 M96.69 -1.68 C100 -1.1, 103.94 -2.63, 106.5 -2.01 M96.69 -1.68 C99.91 -2.06, 103.47 -2.23, 106.5 -2.01 M106.5 -2.01 C109.74 -1.44, 111.48 -3.03, 116.31 -2.35 M106.5 -2.01 C108.68 -1.93, 110.9 -2.26, 116.31 -2.35 M116.31 -2.35 C119 -3.36, 121.6 -2.98, 126.13 -2.67 M116.31 -2.35 C118.83 -2.44, 120.95 -2.22, 126.13 -2.67 M126.13 -2.67 C129.7 -2.48, 132.7 -2.44, 136 -2.98 M126.13 -2.67 C129.27 -2.44, 132.7 -3, 136 -2.98 M136 -2.98 C137.92 -3.4, 140.05 -3.22, 145.92 -3.27 M136 -2.98 C139.68 -3.23, 144.23 -3.58, 145.92 -3.27 M145.92 -3.27 C149.81 -2.57, 152.47 -3.83, 155.91 -3.52 M145.92 -3.27 C150.06 -2.94, 153.41 -3.42, 155.91 -3.52 M155.91 -3.52 C159.7 -3.19, 161.29 -4.08, 166 -3.73 M155.91 -3.52 C158.4 -3.19, 161.76 -3.09, 166 -3.73 M166 -3.73 C170.02 -4.46, 172.98 -4.67, 176.19 -3.89 M166 -3.73 C168.31 -3.6, 170.45 -3.84, 176.19 -3.89 M176.19 -3.89 C179.27 -4.12, 183.83 -3.55, 186.52 -3.99 M176.19 -3.89 C179.69 -3.48, 183.23 -4.2, 186.52 -3.99 M186.52 -3.99 C188.12 -4.91, 190.66 -4.41, 197 -4.03 M186.52 -3.99 C189.15 -3.44, 190.81 -3.51, 197 -4.03 M197 -4.03 C204 -2.88, 207.99 -3.2, 213 -4.03 M197 -4.03 C203.12 -4.48, 208.79 -4.26, 213 -4.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(487 110.02666666666667) rotate(0 106.5 -2.0642842367899874)"><path d="M205.37 -1.64 C206.15 -2.21, 208.88 -3.19, 213 -4.03 M205.37 -1.64 C207.96 -2.3, 210.83 -2.97, 213 -4.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(487 110.02666666666667) rotate(0 106.5 -2.0642842367899874)"><path d="M205.61 -7.1 C206.33 -6.56, 209.01 -6.44, 213 -4.03 M205.61 -7.1 C208.13 -5.86, 210.91 -4.63, 213 -4.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(963 106) rotate(0 106 116.59713615870001)"><path d="M0 0 C2.57 1.05, 6.59 0.21, 16 0 M0 0 C4.35 -0.75, 7.14 0.59, 16 0 M16 0 C19.91 0.44, 22.26 1.75, 26.42 2.08 M16 0 C18.18 0.63, 19.95 1.09, 26.42 2.08 M26.42 2.08 C30.08 4.05, 33.12 4.41, 36.69 7.99 M26.42 2.08 C29.72 4.65, 33.68 6.76, 36.69 7.99 M36.69 7.99 C39.56 9.42, 43.05 11.83, 46.83 17.26 M36.69 7.99 C40.14 11.15, 43.11 13.88, 46.83 17.26 M46.83 17.26 C50.15 21.28, 55.48 26.65, 56.86 29.41 M46.83 17.26 C50.06 20.75, 53.88 25.81, 56.86 29.41 M56.86 29.41 C58.97 33.29, 65.13 41.22, 66.8 43.95 M56.86 29.41 C60.38 34.15, 63.58 38.37, 66.8 43.95 M66.8 43.95 C72.22 50.8, 74.83 55.37, 76.67 60.42 M66.8 43.95 C68.92 47.57, 72.02 50.97, 76.67 60.42 M76.67 60.42 C80.85 66.28, 84.84 72.68, 86.48 78.32 M76.67 60.42 C80.77 66.44, 82.21 72.12, 86.48 78.32 M86.48 78.32 C90.11 85.54, 93.93 92.2, 96.25 97.18 M86.48 78.32 C89.87 85.71, 93.19 92.23, 96.25 97.18 M96.25 97.18 C99.12 100.53, 101.21 107.71, 106 116.52 M96.25 97.18 C100.63 104.57, 104.01 112.46, 106 116.52 M106 116.52 C109.66 123.33, 115.2 129.15, 115.75 135.86 M106 116.52 C109.11 123.08, 112.99 128.94, 115.75 135.86 M115.75 135.86 C118.34 143.27, 122.18 148.37, 125.52 154.72 M115.75 135.86 C119.56 141.2, 122.26 147.69, 125.52 154.72 M125.52 154.72 C128.86 160.52, 129.95 163.79, 135.33 172.62 M125.52 154.72 C128.91 160.7, 132.53 166.83, 135.33 172.62 M135.33 172.62 C139.39 179.1, 143.26 184.82, 145.2 189.09 M135.33 172.62 C137.56 177.8, 141.95 181.79, 145.2 189.09 M145.2 189.09 C145.68 191.22, 148.76 194.2, 155.14 203.63 M145.2 189.09 C148.41 193.23, 149.61 197.1, 155.14 203.63 M155.14 203.63 C157.3 207.31, 161.43 212.19, 165.17 215.78 M155.14 203.63 C157.41 208.07, 160.73 210.55, 165.17 215.78 M165.17 215.78 C169.61 220.18, 170.87 222.51, 175.31 225.05 M165.17 215.78 C167.51 219.04, 171.12 221.26, 175.31 225.05 M175.31 225.05 C178 227.68, 181.81 228.05, 185.58 230.96 M175.31 225.05 C179.09 227.27, 182.71 229.1, 185.58 230.96 M185.58 230.96 C189.18 232.27, 192.94 232.43, 196 233.04 M185.58 230.96 C187.78 231.67, 189.87 231.26, 196 233.04 M196 233.04 C201.57 232.6, 206.39 234.1, 212 233.04 M196 233.04 C202.3 233.34, 207.66 233.05, 212 233.04" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(963 106) rotate(0 106 116.59713615870001)"><path d="M204.52 235.88 C205.72 235.83, 207.62 234.84, 212 233.04 M204.52 235.88 C206.6 234.86, 207.88 234.87, 212 233.04" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(963 106) rotate(0 106 116.59713615870001)"><path d="M204.44 230.41 C205.63 231.46, 207.55 231.57, 212 233.04 M204.44 230.41 C206.49 230.64, 207.78 231.92, 212 233.04" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1040 348) rotate(0 67.5 0.2534828434422707)"><path d="M0 0 C2.56 0.88, 6.42 1.38, 16 0 M0 0 C6.56 -0.75, 11.17 0.24, 16 0 M16 0 C17.95 0.03, 20.77 -0.38, 21.96 0 M16 0 C18.39 0.12, 20.27 -0.3, 21.96 0 M21.96 0 C23.57 0.5, 24.35 -0.16, 27.84 0 M21.96 0 C24.22 -0.25, 26.39 -0.1, 27.84 0 M27.84 0 C30.16 0.26, 31.32 0.6, 33.64 0 M27.84 0 C29.75 -0.25, 32.08 0.09, 33.64 0 M33.64 0 C34.84 -0.3, 35.76 -0.5, 39.38 0 M33.64 0 C35.1 0.07, 36.01 -0.22, 39.38 0 M39.38 0 C41.16 0.52, 43.09 -0.11, 45.07 0 M39.38 0 C41.48 0.11, 43.39 -0.21, 45.07 0 M45.07 0 C46.35 -0.16, 47.79 0.28, 50.71 0 M45.07 0 C46.71 0.01, 48.12 0.02, 50.71 0 M50.71 0 C52.84 -0.4, 53.6 0.39, 56.33 0 M50.71 0 C51.77 -0.12, 52.87 -0.11, 56.33 0 M56.33 0 C57.97 0.06, 60.61 0.32, 61.92 0 M56.33 0 C57.48 0.14, 59.22 -0.17, 61.92 0 M61.92 0 C63.1 -0.14, 65.05 -0.54, 67.5 0 M61.92 0 C64.14 0, 66.05 0.26, 67.5 0 M67.5 0 C69.03 0.06, 70.05 0.53, 73.08 0 M67.5 0 C68.92 -0.05, 70.04 0.21, 73.08 0 M73.08 0 C74.92 0.16, 76.37 -0.02, 78.67 0 M73.08 0 C74.44 0.1, 76.26 0.1, 78.67 0 M78.67 0 C80.53 0.45, 83.19 0.47, 84.29 0 M78.67 0 C80.53 0.22, 81.93 0.1, 84.29 0 M84.29 0 C86.21 0, 87.72 -0.14, 89.93 0 M84.29 0 C86.07 -0.01, 88.14 -0.14, 89.93 0 M89.93 0 C91.79 0.09, 93.84 0.23, 95.62 0 M89.93 0 C92.02 0.25, 93.6 0.29, 95.62 0 M95.62 0 C97.71 0.37, 98.24 -0.41, 101.36 0 M95.62 0 C97.03 0.25, 98.02 0.22, 101.36 0 M101.36 0 C102.69 -0.34, 104.8 -0.56, 107.16 0 M101.36 0 C103.34 -0.26, 104.96 0.29, 107.16 0 M107.16 0 C109.57 0.02, 111.75 -0.27, 113.04 0 M107.16 0 C108.35 0.15, 109.72 -0.01, 113.04 0 M113.04 0 C114.83 -0.55, 116.82 -0.38, 119 0 M113.04 0 C115.23 0.17, 116.63 0.25, 119 0 M119 0 C122.14 0.4, 126.23 -0.37, 135 0 M119 0 C123.75 -0.14, 128.81 0.25, 135 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1040 348) rotate(0 67.5 0.2534828434422707)"><path d="M127.53 2.86 C128.69 2.72, 130.51 2.4, 135 0 M127.53 2.86 C130.61 1.44, 132.73 0.88, 135 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1040 348) rotate(0 67.5 0.2534828434422707)"><path d="M127.44 -2.61 C128.64 -1.65, 130.49 -0.87, 135 0 M127.44 -2.61 C130.55 -2.03, 132.7 -0.58, 135 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1018 449) rotate(0 78.5 -45.91617815344907)"><path d="M0 0 C3.02 0.37, 6.68 1.49, 16 0 M0 0 C4.37 0.07, 9.27 0.45, 16 0 M16 0 C16.89 -0.12, 19.41 -0.8, 23.24 -0.82 M16 0 C18.77 0.08, 21.64 -0.47, 23.24 -0.82 M23.24 -0.82 C24.75 -1.05, 27.51 -2.57, 30.37 -3.16 M23.24 -0.82 C25.76 -1.54, 28.47 -2.46, 30.37 -3.16 M30.37 -3.16 C33.31 -4.1, 34.74 -5, 37.41 -6.82 M30.37 -3.16 C31.98 -4.24, 33.7 -4.46, 37.41 -6.82 M37.41 -6.82 C39.55 -8.48, 40.61 -8.93, 44.38 -11.62 M37.41 -6.82 C39.99 -8.94, 42.98 -10.44, 44.38 -11.62 M44.38 -11.62 C45.77 -13.73, 47.8 -14.8, 51.28 -17.36 M44.38 -11.62 C46.12 -13.1, 47.97 -15.11, 51.28 -17.36 M51.28 -17.36 C53.65 -19.19, 55.92 -22.98, 58.13 -23.86 M51.28 -17.36 C52.59 -18.96, 55.31 -20.48, 58.13 -23.86 M58.13 -23.86 C59.47 -25.14, 62.48 -26.91, 64.94 -30.93 M58.13 -23.86 C60.1 -25.69, 61.6 -27.24, 64.94 -30.93 M64.94 -30.93 C66.45 -32.41, 67.09 -34.37, 71.73 -38.38 M64.94 -30.93 C67.23 -32.9, 68.67 -35.46, 71.73 -38.38 M71.73 -38.38 C74.91 -40.4, 76.35 -44.65, 78.5 -46.02 M71.73 -38.38 C73.94 -41.11, 76.37 -44.44, 78.5 -46.02 M78.5 -46.02 C80.16 -48.51, 81.99 -50.24, 85.27 -53.66 M78.5 -46.02 C80.33 -48.16, 83.21 -51.13, 85.27 -53.66 M85.27 -53.66 C85.91 -56.1, 88.5 -56.86, 92.06 -61.11 M85.27 -53.66 C87.56 -55.75, 88.93 -57.87, 92.06 -61.11 M92.06 -61.11 C93.98 -62.12, 94.66 -63.6, 98.87 -68.18 M92.06 -61.11 C93.42 -62.67, 95.1 -64.1, 98.87 -68.18 M98.87 -68.18 C101.07 -70.78, 102.69 -71.34, 105.72 -74.68 M98.87 -68.18 C101.17 -70.66, 103.44 -72.95, 105.72 -74.68 M105.72 -74.68 C108.78 -76.1, 110.12 -78.8, 112.62 -80.42 M105.72 -74.68 C107.51 -75.48, 108.3 -76.78, 112.62 -80.42 M112.62 -80.42 C115.66 -82.6, 118.48 -83.57, 119.59 -85.22 M112.62 -80.42 C114.59 -81.7, 115.72 -82.86, 119.59 -85.22 M119.59 -85.22 C121.84 -85.78, 122.28 -87.55, 126.63 -88.88 M119.59 -85.22 C121.99 -86.39, 124.23 -87.92, 126.63 -88.88 M126.63 -88.88 C128.77 -89.26, 128.98 -89.14, 133.76 -91.22 M126.63 -88.88 C129.05 -89.55, 130.99 -90.35, 133.76 -91.22 M133.76 -91.22 C136.01 -90.93, 138.58 -91.65, 141 -92.04 M133.76 -91.22 C136.65 -91.56, 138.96 -91.49, 141 -92.04 M141 -92.04 C147.17 -93.62, 151.88 -91.17, 157 -92.04 M141 -92.04 C145.16 -91.67, 149.49 -92.69, 157 -92.04" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1018 449) rotate(0 78.5 -45.91617815344907)"><path d="M149.39 -89.58 C150.8 -89.89, 152.56 -89.82, 157 -92.04 M149.39 -89.58 C151.48 -90.26, 153.82 -90.8, 157 -92.04" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1018 449) rotate(0 78.5 -45.91617815344907)"><path d="M149.59 -95.04 C150.99 -94.26, 152.71 -93.09, 157 -92.04 M149.59 -95.04 C151.57 -94.12, 153.85 -93.04, 157 -92.04" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1361 353.97333333333336) rotate(0 90 47.472199676500395)"><path d="M0 0 C1.73 -1.08, 6.72 1.05, 16 0 M0 0 C3.08 0.49, 7.61 -0.34, 16 0 M16 0 C19.22 0.64, 21.73 0.88, 24.57 0.85 M16 0 C18.44 0.22, 21.23 0.7, 24.57 0.85 M24.57 0.85 C27.68 1.85, 29.76 3.11, 33.01 3.26 M24.57 0.85 C27.32 1.9, 30 2.21, 33.01 3.26 M33.01 3.26 C36.37 5.47, 39.87 6.32, 41.35 7.04 M33.01 3.26 C36.2 4.16, 39.07 6.27, 41.35 7.04 M41.35 7.04 C43.94 8.98, 46.33 10.49, 49.6 11.99 M41.35 7.04 C42.88 7.92, 44.89 9.48, 49.6 11.99 M49.6 11.99 C53.24 13.22, 56.17 15.42, 57.77 17.92 M49.6 11.99 C51.19 13, 53.26 14.72, 57.77 17.92 M57.77 17.92 C59.44 19.41, 61.59 20.96, 65.88 24.64 M57.77 17.92 C60.37 19.84, 62.48 21.81, 65.88 24.64 M65.88 24.64 C67.17 25.45, 69.27 28.38, 73.95 31.94 M65.88 24.64 C67.87 27.07, 70.61 28.28, 73.95 31.94 M73.95 31.94 C75.3 34.62, 79.71 35.57, 81.98 39.63 M73.95 31.94 C76.66 34.47, 79.53 37.68, 81.98 39.63 M81.98 39.63 C84.03 42.31, 87.26 43.61, 90 47.51 M81.98 39.63 C84.72 42.19, 86.54 44.03, 90 47.51 M90 47.51 C91.24 49.66, 95.17 52.06, 98.02 55.4 M90 47.51 C91.62 49.54, 94.24 51.01, 98.02 55.4 M98.02 55.4 C101.39 57.6, 103.08 60.29, 106.05 63.09 M98.02 55.4 C99.68 57.86, 102.05 59.03, 106.05 63.09 M106.05 63.09 C106.81 64.96, 109.35 66.87, 114.12 70.39 M106.05 63.09 C108.86 65.3, 112.53 68.76, 114.12 70.39 M114.12 70.39 C115.45 73.3, 118.76 73.93, 122.23 77.1 M114.12 70.39 C116.27 72.06, 118.46 74.6, 122.23 77.1 M122.23 77.1 C124.47 79.16, 125.47 80.15, 130.4 83.03 M122.23 77.1 C124.59 78.81, 126.03 80.38, 130.4 83.03 M130.4 83.03 C133.39 85.43, 134.73 85.34, 138.65 87.99 M130.4 83.03 C132.63 84.05, 134.42 85.26, 138.65 87.99 M138.65 87.99 C140.05 88.17, 141.79 89.12, 146.99 91.77 M138.65 87.99 C141.31 89.37, 144.52 90.18, 146.99 91.77 M146.99 91.77 C149.63 92.52, 152.85 93.11, 155.43 94.18 M146.99 91.77 C149.86 92.93, 151.85 93, 155.43 94.18 M155.43 94.18 C156.38 95.18, 158.3 95.32, 164 95.03 M155.43 94.18 C157.44 94.64, 159.06 94.64, 164 95.03 M164 95.03 C166.85 94.25, 173.35 95.16, 180 95.03 M164 95.03 C168.06 95.44, 172.91 95.21, 180 95.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1361 353.97333333333336) rotate(0 90 47.472199676500395)"><path d="M172.56 97.97 C173.32 96.83, 175.71 97.3, 180 95.03 M172.56 97.97 C173.94 97.54, 176.08 96.45, 180 95.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1361 353.97333333333336) rotate(0 90 47.472199676500395)"><path d="M172.41 92.49 C173.18 92.47, 175.59 94.05, 180 95.03 M172.41 92.49 C173.88 93.31, 176.05 93.47, 180 95.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1361 342.02666666666664) rotate(0 98.5 2.9252400532465117)"><path d="M0 0 C4 1.02, 6.95 0.64, 16 0 M0 0 C6.01 0.29, 11.2 0.58, 16 0 M16 0 C19.08 -0.21, 22.45 0.38, 25.55 0.05 M16 0 C19.79 -0.14, 23.57 0.43, 25.55 0.05 M25.55 0.05 C27.5 -0.38, 29.95 -0.68, 34.97 0.2 M25.55 0.05 C27.41 0.19, 29.46 -0.03, 34.97 0.2 M34.97 0.2 C37.98 0.03, 40.83 0.77, 44.26 0.44 M34.97 0.2 C37.41 -0.07, 39.23 -0.11, 44.26 0.44 M44.26 0.44 C46.15 -0.12, 49.76 0.87, 53.46 0.75 M44.26 0.44 C46.52 0.81, 49.61 0.66, 53.46 0.75 M53.46 0.75 C56.13 1.08, 57.84 1.83, 62.57 1.13 M53.46 0.75 C56.39 0.82, 59.8 1.2, 62.57 1.13 M62.57 1.13 C65.7 1.98, 67.59 1.72, 71.61 1.55 M62.57 1.13 C65.82 1.25, 69.45 1.27, 71.61 1.55 M71.61 1.55 C75.5 2.22, 78.13 0.95, 80.6 2.01 M71.61 1.55 C74.12 1.5, 75.8 1.83, 80.6 2.01 M80.6 2.01 C81.8 2.58, 84.25 2.05, 89.56 2.49 M80.6 2.01 C84.29 2.33, 87.9 2.17, 89.56 2.49 M89.56 2.49 C92.64 2.39, 96.69 2.19, 98.5 2.99 M89.56 2.49 C92.87 2.96, 96.91 2.66, 98.5 2.99 M98.5 2.99 C100.93 2.51, 105.26 2.56, 107.44 3.48 M98.5 2.99 C101.22 3.45, 103.8 3.28, 107.44 3.48 M107.44 3.48 C109.53 3.4, 111.65 3.58, 116.4 3.97 M107.44 3.48 C108.93 3.24, 111.16 3.74, 116.4 3.97 M116.4 3.97 C118.74 4.48, 123.07 3.89, 125.39 4.42 M116.4 3.97 C119.75 4.23, 122.18 3.96, 125.39 4.42 M125.39 4.42 C128.11 4.47, 131.3 4.26, 134.43 4.85 M125.39 4.42 C128.7 4.58, 131.61 4.61, 134.43 4.85 M134.43 4.85 C136.32 4.63, 138.5 5.63, 143.54 5.22 M134.43 4.85 C137.89 5.05, 140.84 5.06, 143.54 5.22 M143.54 5.22 C146.76 4.87, 150.85 5.11, 152.74 5.53 M143.54 5.22 C146.3 5.73, 148.84 5.16, 152.74 5.53 M152.74 5.53 C154.71 6.57, 159.09 5.85, 162.03 5.77 M152.74 5.53 C155.75 5.49, 158.4 5.79, 162.03 5.77 M162.03 5.77 C165.67 6.13, 168.42 5.6, 171.45 5.92 M162.03 5.77 C165.15 5.52, 167.79 5.82, 171.45 5.92 M171.45 5.92 C173.16 5.14, 175.34 6.53, 181 5.97 M171.45 5.92 C173.69 6.14, 175.14 6.4, 181 5.97 M181 5.97 C184.37 6.73, 187.86 5.42, 197 5.97 M181 5.97 C186.63 6.55, 190.88 5.69, 197 5.97" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1361 342.02666666666664) rotate(0 98.5 2.9252400532465117)"><path d="M189.47 8.69 C191.36 8.65, 192.74 7.91, 197 5.97 M189.47 8.69 C192.29 7.86, 194.72 7.04, 197 5.97" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1361 342.02666666666664) rotate(0 98.5 2.9252400532465117)"><path d="M189.49 3.21 C191.41 4.29, 192.79 4.66, 197 5.97 M189.49 3.21 C192.34 4.33, 194.76 5.47, 197 5.97" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/></svg>
|