Files
fabric-orchestrator/docs/assets/architecture/fabric-orchestration-archi.excalidraw.svg
Damien c6595cda51 docs: replace ASCII architecture diagram with Excalidraw SVG
Replace the text-based ASCII art representation of the system architecture with a linked Excalidraw SVG image. This improves visual clarity, readability, and maintainability of the architectural overview in the README.
2026-02-05 13:03:03 +01:00

4 lines
45 KiB
XML

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 932.5 1453.291015625" width="932.5" height="1453.291015625"><!-- svg-source:excalidraw --><metadata><!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1d6W7qWJf9X0+B8kmtKnXhOvNQP1rKSMg8T30/IVx1MDAwM4Y4XHUwMDAxm4CBkNKV+iH6XHT7SXqbJEw+JjbxvaFU5EpXic1wbK+119777LPPX7/kcmvBoOWs/Zlbc54rdsOttu3+2u/h8Z7T7ri+XHUwMDA3p8jw747fbVeGr7xcdTAwMGaCVufPP/5cdTAwMTi/w6r4zdd3OVxyp+l4QVx1MDAwN1733/B3LvfX8H8441bD9z50z9mDbO3nT4ovV63D552T4202fOvwRe+DaTuVwPbqXHJnfOpcdTAwMTmOXHUwMDBiSS2sKNdU8tGJQThEpixBhcRq4kTfrVx1MDAwNvdwUmNkXHQuyPjMvePW71x1MDAwMzjFObc41Wjy5Ov3/plDoyOdoO0/Opt+w2+Hg/tcdTAwMTd2wn/joZXtymO97Xe96ug1Qdv2Oi27XHL3Yvy6mttonFx1MDAwN4Php8P9hHu3NvNcdTAwMWTXb0MmM8fj3lx1MDAwNV9av/ecTmdqvH7LrrhBeF8wXHUwMDFhXHUwMDFmXHJH2CpWh4/m3+Mxte2mU1xmn43XbTRGh12v6oR3fM1GU9/mVd++berVXHUwMDFkx1x0P4FgLDiCWy1GZ8YowljNXHUwMDFlPfK9IaIwQVx1MDAxYTGM+fhcdTAwMTVuZ1x1MDAwYqBcdTAwMTRcZj+2Zjc6zvhmh4PYnoDZ+Fq6rar9+lx1MDAxNiwlXCKaSExcdTAwMTFcdTAwMWQ/2YbrPc5cdTAwMGW94VdcdTAwMWXH3zI8+v13XHUwMDEzcp18qVHoX+X1UfW50948vD7ZP1x1MDAwZqLIXHKc52BcdTAwMWG0XHUwMDE4XHRkUUpcdTAwMTDFZFx1MDAwNrVcdTAwMDJQO1x1MDAwYud31GKGLapcdTAwMTiVTL/+qCh8ibCklJRNvn+p4Vu1O/fOz8UvTodfxamMwS+Jwy8jSsBcdTAwMDNmZFx1MDAwMfhOjWNcdTAwMTbAWFx1MDAxMMCISlx1MDAwMeAxXHUwMDFlQ1x1MDAxY8L1XHUwMDE3vVx1MDAwML4pd2BcdTAwMGac9sSj9L3g3H1xhlx1MDAxN20xMmU3w5M7dtNthE9ATX3iesOthzdjreHUJpBcdTAwMDH3I3BBXGZGp1x1MDAwM781PluBz7Ndz2lHXHUwMDFmk992665nNy7mjtbuXHUwMDA2/pnTeVx1MDAxZG/Q7jqTN8TZfWdcdTAwMDO2XGKfQ+D9o9veS73sXFxcdTAwMTU2alx1MDAxN1x1MDAwN+LRL1x1MDAwN9xOLD1gSiyheYTDlFxuSyMyzcF3XHUwMDBlK4qtyTs7Ji5CllxmNemd3DJcdTAwMDV/SU07jP1T+EuS81x1MDAxN1x1MDAxM8yFRlQzXHUwMDAzfymL11x1MDAxZkS4hkcypn1cbvl5OzGG21x1MDAwNOSUPtsp+TvFVv9cZm9sXHUwMDFkXHUwMDE3+uuXjI6uZ1xudna77ffXRme+v/02R9ywXG7/ZSNuQbdP9sg1OTso3Z9cdTAwMTb29ktcdTAwMWKdYCs5N1x1MDAxOLeoxCjillFcdTAwMDWel8Zsyr96J1x1MDAwN6HcYoKpKeaMXHUwMDE4gom0uJzWzOWWNj9cYn4yNWhcbmpoQTXnXHUwMDAyI1x1MDAxMzWQjKNcdTAwMDZXWoGVXCKLUGOutFx1MDAxMZBaxFE28O3f7e067UqxdFu4cLqXXHUwMDBmNzvdvp9cdTAwMTi+8CQ02HA0XHUwMDEzXHUwMDA3vFx1MDAwMlx1MDAxOFtcdTAwMTibw4pcdTAwMTV+P4tfmVx1MDAwNr9cXIJMUqNrRllcdTAwMDTV7/jVXHUwMDFjYY3UXHUwMDA07LOJLLJE74l7sNd9zlx1MDAxZrSvXYTP9u+6lUa9lVx1MDAxY71cdTAwMDSCYvBcdTAwMTRcdTAwMTHmJvSuzO9cdTAwMGaDr0pcdTAwMDFfXGLTuFx1MDAxMlwiXHUwMDEyQoRPieBY60tcdGGIqEVcdTAwMDKLn4Xe0qnb8S6blFx1MDAwZXbxydYprvq8dJckLpaCWFqoXHUwMDE5l4Ehblx1MDAxOYJhxSyFwERTcPDgv1x0XHUwMDBmb1x1MDAwNFmBVkiNQep6XHUwMDFhpCqiJVPS5ENcdTAwMTNcdTAwMTRcdTAwMWJcdTAwMDNriGRcdTAwMDRcdTAwMDdj8/WOwlx1MDAxOHtvUWWncu807c5cdTAwMWbfvPBwzS633Yo1aDZe//616MFcctztlnOvr/vNXHUwMDE4JmMxdfSL4uOFrySbXHUwMDEw+uTwSlba2mt768dbjYPb/I3cKyfLgUEkzJDiUlx1MDAwMEooXHUwMDFkw2ioU1pZnFx0k5OFKbGA9yBuhCup9ESMNtYqtGJ+XHUwMDFj8zdSMVx1MDAxZjOlJ7OwXHUwMDEzXCKlaVx1MDAxY/Ox0Fx1MDAxMPtcdTAwMTG8WPicpUpFiFx1MDAwZlx1MDAxZmi/caXq9NyK01x1MDAxOZOl17C98V/lSmv8h2VZS2xcdTAwMDOyuKhszIGqdY61k69cXFx1MDAxZnXvd3a2W+Tp6MlLkVFcdTAwMTNgXHUwMDEyZjJng6GQI1x1MDAwYrBo8FlcdTAwMTXBlmbTSbixXHUwMDE5YMySsym6j+1BXHKpXG5C/1x1MDAxOHtQSJNO41x1MDAwMm6o5CZXXHUwMDAwWD/HIGDGicownWZUllx0JN6R8lWvc33jdE/7Z3e0urd5cXiRKptcdTAwMDbqg6ScpMHiLrF5NFx0ZFJjbEGgXHUwMDAwOslYmOBT07zg1MJiNtB751x1MDAwNlx1MDAwM4XFWoP3hmdeMWJcYlvpZCwvrlLwgoFQMq5MwVx1MDAxY5axqTRcIjDV8od4yFx1MDAxMkJ1klx1MDAwMrtcdTAwMTGh/PWs61x1MDAwNW7Tyf1nrtC2W/enXHUwMDA3ufWT4m/fvPOBV+m8uZO5/8iF2pOrtf1mruBcdTAwMDa/55znlt9xOrmea7+/L1x1MDAwYuGswFVPzv9EpLPpVquTcjKtnlx1MDAxZunSrKD+iIvPRmBcdTAwMWK7XHUwMDA3tWrx/vGidnvMmv7mI+36hmpcdIO/TUFDh1PHhEokXHUwMDEwn0lcZmlpkdmJ45HLraklwlhbXGIyk9NfxdpcdTAwMWZbks1cdTAwMTSGRFx1MDAxMY4lhtDHYEmYjI21MSOEUFx1MDAxOOuX54VcIoZk+CBrfrv5XHUwMDFlo9ptt1x1MDAxM9glYGjNrVtcdTAwMGbkLVLdc71cdTAwMDeb5Fx1MDAwMqfZasBcdTAwMTg6y1x1MDAxY3RncE3ZmFx1MDAwM3bm69LDQ+/yfOOG88HegdjeeklcdTAwMTZ+K1x1MDAwZZyeibGHPlx1MDAwNUZWjEOhTFx1MDAwNSerbHBcdTAwMWPvd1LwXHUwMDFliK9cdTAwMDSX2lx1MDAxNGmriDF4pz1cdTAwMDVzIdFkXHUwMDFk1d9jmpqCa/1cdTAwMTmbMsxq3XfLRlx1MDAxM0HQ1NEvq1uZXHUwMDFkYjaMv7aLhVx1MDAxZHu3fbt5eLzvPu5cdTAwMDetm9vdZIzn2sKUqEi9XG5TXHUwMDE2XHUwMDEzyFxccsZccmn1XHUwMDE15WMpX0xBeSAvOGOImKSeTGjurNRTjillnC9jXlx1MDAxZNzg3JlcdTAwMDNesFx1MDAxYvjtwVx1MDAxMtMzbqBcdTAwMTmlweaaz1x1MDAxOdM5zVJMpUVcdTAwMDW44oQpXHRcdTAwMDI9TrKGN4lTQ4bsnazIXHUwMDEyklx1MDAwMzAkUlRoNFlCNnbTiSVmjcAykFx1MDAxOM9cdTAwMWP/wvLmveRcdTAwMWNcdTAwMTZcZmvgTVSghzyNzY8rhZCWSGfPYIJcdTAwMTBjacqbR4dbvjvrXHUwMDE3jH/Lje/18I/R7//+3fzqWCSGP1x1MDAxM1x1MDAxOFx1MDAxY39QxG1cdTAwMDB/ulx1MDAxZGzAY3G9Olxma+ykvK8oKCao4YRXN/3qXHUwMDEwSH677E5mXG5cdTAwMDGcz071JLzsqatcdTAwMGVHz1H4WFx0PEKuOKJTo0dWWHSiIVx1MDAxZZZMYqqVjFxcxPfRRThe9eNLmO/EL3pcdJorXCJcdTAwMTT4hkogSaYuIY8sxuaMenjr10PjdO/YXHUwMDExpsA1TZ6btWJOo+z3XHUwMDEzJUXXTyvnQdk/X3/u+aXS1c6Jc7pTTzxZICSzXCLpiKGQaG7N1taPXHUwMDE2fiBpKTRcZnrQcFx1MDAxMjFqIZnk1uu84pKZyCVaXHUwMDAxsp/GzVx1MDAwMdPEw0UgXHUwMDA2XHUwMDFiSXFsoVx1MDAwYlZgNZTCXCLrOcQsV4Bs713e0+JcdTAwMTOveFx1MDAwZbHLXHUwMDFiir34retEaX2uLFx1MDAxNXXFNeZcdTAwMTaYXHUwMDE1YqwupFxmg1lcdTAwMDV0czQ9XHUwMDE3tlr8kVx1MDAwMrpcdTAwMDfJoauUpqGEXHUwMDE5S7RorIPOQ1x1MDAwN02QrDNxhEHE8Cnn/LhduXfgXHTYXHUwMDAxjPZ1RUXu15O2U1x1MDAwM1x1MDAwM2vOti3VSpCEw8/Gg+9cdTAwMWQ/3DZcdTAwMGb9jcJg56HQODu+9DerjVx1MDAxNFx1MDAxM9ncXHUwMDE4amtFLfAojKF27MpcdTAwMTDMhSV0mDZ5W/i1Wlx1MDAxOVx1MDAxMkfuw1x1MDAxNORcdTAwMGXnVKU2Jtr5PFlSUlOwXHRZ05syhlVGsnTG3MunfP+606pccmpnxe2LfP8qn1x1MDAxY7xMgI+koktqMVwiXHUwMDEwm6aue1fSmkSv1ing+8/KXHUwMDFlXHUwMDFkpanEkFxigihsniiKr8RQmIdVXHI063W1XHUwMDE0fFx1MDAxMpRcdTAwMTF8d/K9i8vioFxcXHUwMDE2XHUwMDFisiz2W0HzuZl8RThGXHUwMDE4W5TOevAjXHUwMDAwXHUwMDAzz2LK31x0XHUwMDFi1cZcdTAwMGaDXHUwMDAzasQyRO5cdTAwMTPL9FZYjsHycVxuLFx1MDAwYqpcdTAwMDTTxORncVx1MDAxZOtnQYhHJMTpmc95QsRcIiZcIsNPYbnyoG7rXHUwMDAz4j76zcLJzblXOlxu9neSY5lAMEo55dGVXHUwMDFjgGVlNsZwXFxcdTAwMTNcdTAwMWWGXGKz7sJcdTAwMTjGwkKMhKX2ry9cdTAwMTErXHUwMDE4x8D4JI1JhmdcIigyLkjiOLZcblxiU4bAKtPsbTLBTGa0XHUwMDFj1C/6crNzw697j7X1XHUwMDEy6ee3ulx1MDAwZoaMtmlNXHUwMDA3s5jBXHUwMDEyc/B2SUykXHUwMDBiNni4tlx1MDAwM4NPPJyiNsw7ryrXYjF7mlx1MDAxY7OAXHUwMDEwhsCLiE43rc1dRMckR1x1MDAwNGxS1slcdTAwMTlcIiVjaWoux1xifItcdTAwMTJfV0CUwKDCUN2G8837tdWwvdxcdTAwMWY5u9VqmKeklqOoJPHIs4lwXHUwMDBmelx1MDAwNc2v8Sap9+1Wu7TVYs9XxSSMxqC7lmJcdTAwMDJcdTAwMTlXbmDEuFx1MDAwNe5gzOJccsSHlWSYSjosSzUs3lgxO5bZZ8mZTVx0XHUwMDAzXHUwMDBmdtLRn1x1MDAxMCNcdTAwMTKp31x1MDAxZTtVKJyUXHUwMDE2mTtV4KcxRieRmpbZ97ZXbTilatutXHUwMDA1wI1Ot9yptN2ys8yFYlx0xpxccpvPjvrlm5uudlx1MDAxYbtPg73725vm+a1IWFx1MDAxN1xuSlx1MDAxY/qKxrpQoHNY+2muXHUwMDA3w0xcdTAwMGbZTDBcdTAwMTUh5VxynuaKzLFkvkxO5rBoXHUwMDE3PEjjXHUwMDFjipjXqoFw8KBcdTAwMTaqL59cdTAwMWbsU4xcdTAwMTeaZVx1MDAxZS3DXG5cdFx1MDAwMVLXdKruMJ9cdTAwMGLkXGKJkK+5z0tM52TDzobRV+X9x5vG5kN9+2FLn+JC8fj4Nlmld5hcdTAwMDCRSEa7i2lNrZm0yChqnGhVtSr0+pi818nJXHUwMDBiXHUwMDBlLWVTXHJTJjJ10fzdO3klhD9aZu9iU1x1MDAwNfKvJyGZlrxvcy65nYbf7+R+PVx1MDAxOVx1MDAwNPe+XHUwMDE3M4G0XHUwMDE0xV5cdTAwMWZccjhcdTAwMWLCXHUwMDFl3VR5XHUwMDEwXGboxuH+WaXUONwh+UolxZSRtCjVKrL2XHUwMDExYyEsXHUwMDE127RjNW30eTLfJiczZ+DGmlx1MDAxMpVCxFx1MDAwNsuYgGtcdTAwMDTPLvNSXHUwMDA2ypFONSU8XHUwMDA3vceV3W61RJ8vgsvdzePLbl50Tlx1MDAxMq1QhPuvLDHTXHUwMDEx6Vx1MDAxNbiKxEeCK8FJh9G75Fx1MDAxOMVcdTAwMThcdTAwMDRHhVx1MDAwNWBcdTAwMDac8jmrdMOaRFx1MDAwMVx1MDAwMUHWOGXggtJP9ax8t+BcdTAwMTd25/FvJTlxXHUwMDAzzqiBZeH4Jd9HtW1JXHUwMDA25+163zstNFMst1x1MDAxZi6Pn+2RPMQrwcSKKzNezfZmw2g7OaNcdFx1MDAwMtpcbq2MpUg82phnzGjwXHUwMDFiXGJhmbdRZiisNc5GeXaPXG6Npv3kcv+4QPR6885/3HBTTPeisCFcdTAwMWY3dI1cdTAwMTiieLb9w1xuxdmiuJxCl6SilFxuZmwkxVm8LoFcdTAwMDcsqMSZh0JcZlxiJUU2KO41nlx1MDAxZetCovOBf6h2X/a2aGWvmWaiV1g6bK1pRjGb7eCwgnG2MK4kh7HQXHUwMDA0lJOYbbGKr1x1MDAxY1x1MDAwM/NcdTAwMWROtS206mNcdTAwMWWKOfBqYmX4p1D8UvfYYWPgcnq6qTefcYnUJmv750zzRlBLjV37hLRImDGWTHBFTCU2S5YxXqKFSU5cblNLXHUwMDE5XHUwMDE23Dj5XHUwMDEzb2dcdTAwMTnDkjC2UJee+cuSmCA4VSudSFx1MDAwMPDaXHUwMDA23smd2O2O0/7mjVx1MDAxYtv93//873/lbtePXG6/5ZY4c5xy/NmEXHUwMDA3iJPzq+bupdrluzdicO8/bVx1MDAxZiZiM0aEQejOwzkh0DSlp9tcdTAwMGVcdTAwMDG5ITyI689H6JDiYO9A68NCpFx1MDAxNceTc7yWguNcdTAwMWODY4tVtFx1MDAwM+fa3K5DXHUwMDE4XHROOJNcdTAwMTOVdV/kTkVYvuXWarltXHUwMDBmmFx1MDAxM1Y/XFzbXpDrdXK7dm+pJ3lcdTAwMTONOlx1MDAxYkbbp0G/aZ/j5tVTY/1lfatcdTAwMTe0ereJXHUwMDE4TVx1MDAxMbdcdTAwMTRcdTAwMTaGUqyQzDpu/f/fr1x1MDAxMmuJyFxcT0FmXHUwMDFjLu/hjFx1MDAxYTvrkdjcsmJaQej7XHUwMDAzllx1MDAxMnNKNflcdTAwMTSb60eHxdxmw4WvXHUwMDBia5lcdTAwMDZ1r+nm+m271XLay8znhOPOSKOL5cHgbL2Wb+83+frO5dGGyCdv9S4gbKSzZZRD9DJcdFGjVNxcdTAwMWM2aqStmV2mJnai0dZrs8HXRbJjQi1cdTAwMDO9l2hcdTAwMTXsfVxueoM7JClcIuba4PhyLFx1MDAxY9bZIcHkQlr9dsLY4eei+qyexfbe9sPpzUvj4rn+7Fx1MDAxZfHRXHUwMDA1TWEvfYefcMEvSVPsNYcglVZQOFx1MDAxZNzWSp3zjaZwavmru+2DZE4sXHUwMDA0m+b0NtPYMi9cdTAwMTDHdPmnpZZI4dxcdTAwMTRcdTAwMTRQUlx1MDAxMiWVNFx1MDAwNaVzXHUwMDE0TtOwrH6hXHUwMDE2V/NcdTAwMDVOhonhz7mrw2bL83ZSW4q5KPMws5Gv7W5cdTAwMDdcdTAwMTGyXXnZ2bjtlUr5w9rp7WZi+ZJYW6ZCJcw5tuI278SCW+x1gYsp5algwEu4f2csab8g2fmQgrVEh81QzDVcdTAwMGZ4olg0UvNcdTAwMTDOyEix2DY7ZuH6qOXz0Vx1MDAwM3Ncbs1e6aTDTncu3P124awvU+pWSpMwh1x1MDAxOebRJNAtXHUwMDE4hEUh3tJSKrjvdCb3wiXAX8ctYtTiNV5DYeuX8Fx1MDAxMfx947WvIEaKns9cdTAwMWNcdTAwMDFmODPKmYhPvsCbhJST63aXR886LbD8+Js3XGaAwspiioyy9pObN3+gMZFcdTAwMWRR5l1FNqpHa7pRPGSX195DvlGzn0uDQ9VOrHpcdTAwMWEzS0dcdTAwMTa/jXRPRCazV8qXXHUwMDE1wb3k/CZcYjxcdTAwMTOlzO1cdTAwMTmjR8fZVUyV1nSh9oxcdTAwMGJcbt+JW5d3+iko7F8/b1x1MDAxNIu7XHUwMDA3XHUwMDBmteLjl1x0n3k0XHSETzNtgbtBkcRcXJuFL6430kr2hkdcdTAwMTdlRVxu2WNcdTAwMWFxXHUwMDAx0mfKU4p4d5BrXHUwMDAxcdxiuy7+XHUwMDE02SNLJ3tcdTAwMWaIjFH24q5cIlx1MDAxYtl72L/e7z1eXHUwMDFkVtB5qVh5dO1g48CwZDSuxlx1MDAwNZ6/pZEybHv/qntcdTAwMTFpW+leVlxm95NcdTAwMTNcXDElw5puY78+XHUwMDE0W95CkOCKXCIqXHUwMDE2Wji6mO5x75nerfNcdTAwMTdcdTAwMWK/XHUwMDFjX95Went7u032ZbpnXHUwMDFlTVx1MDAwMt3DmFGLXHUwMDEwoIdiKE744upcdTAwMThXyjc8uigv0lx1MDAwNHxaXHUwMDEySamxVUI0rz9q0U9cdTAwMDRcdTAwMTg3/Fx1MDAwMyboPi98XHLHri1fuPeByszq3ryLyEb2qndPqlx1MDAxMLyU8/m+fum1u+t74lQnlz06XFyOaSztXGZlj+vZXZVXspdcdTAwMTW9W8nZjVx1MDAxNVx1MDAwYieMhNGxpXNcdTAwMTI6NGyDgvDP3NvOed7v4bNjXutcdGdfii2vfe5cdTAwMDRfpnvm0STRPcqEhSCgXHUwMDBi+4jE6Vx1MDAxZYTa5lx1MDAxOeyV7uU+QYxcdTAwMTS6XHUwMDA3gCFYxuhe/Mw1+Iph0f5SJjpDzVi+gO9cdTAwMDOdMVx034+N9/Dx7nXlqbSt78/0w8PNTWdbb1x1MDAxOFY0XHUwMDFimM3D+lFcdTAwMTFtWsc1xHmKmjvgUkM1+ErcYjn8lKb8XHUwMDA0YjpcdTAwMGXuRrqC8LAxIyHgvS6j81x1MDAxYbcl83LMuf+AvZX79m3D3jrsnJS3WSv/8ujzvf5+lI3GTWVcdTAwMTCzOFGEXHUwMDEzXHUwMDEx7iU7w0qFlfXqSKKZTVx1MDAxMUaeqIUwIYhcdMQhmlHE1OlHaCvcXHUwMDAzNeVey/+oapkgOWNcdTAwMTlcdTAwMDSbglxuc1x1MDAxNkbF5lnDhsBcdTAwMWMz9Vx1MDAxM5MwlfW7W3Xe3L1Yd06d4ICe3O2cbKVzRiFCXCJcdTAwMGItXHUwMDBmz3TTmniQhz9cdTAwMTPwXHUwMDFlf1Dk2mY2rZndNyXmzE/ab8X8pJLIOVx1MDAxMmCbXHUwMDE44uCnK87lhNc3tFx1MDAxZlRb8n1XKrP9wGFcdTAwMTNQOCOkYkJIU09a8jfx1r/AbKTaiVpLhjU3TlviWLtcdTAwMDHWhmItfsDSL0lcdTAwMTRTn+r7975cdTAwMDPzXHUwMDFmufOt/WXw0z9cdTAwMTDiyFZz5vFn41x1MDAxNMwv453vXHUwMDE0YGRcdTAwMTHMXGZpKVx1MDAxYVaVx1TfIYjYmaBcdTAwMWG0KXyJwGSie/Q4OcUt+PzVPnPzaN1NwWqO4IZcdTAwMTNudFx1MDAwN1xiiqW10ooqJORC7Vx1MDAxZlx1MDAxNnNcdTAwMDd21qs9dn3RXHUwMDBmzmnLO7bZXX37yv+xxeM/xlx1MDAxZJhcdTAwMDf08GdcdTAwMTLiWXhcdTAwMDRxu8PNXyCSW2x3OCYlQVx1MDAxOGtcdTAwMTVuzEUnmsyZT0eu76fvXHUwMDE1Z4ZVXCLfXHUwMDA1vFx1MDAxM6GQ1ExcdFx1MDAwMn+MKfRq63TYzDgyK71aXHUwMDAwl4mJS+G5hFx1MDAxYptcdIyNKVxuXHUwMDEyn6JcdTAwMDBnh3HCXHUwMDE22o/nXHUwMDAzz4VRhNL0VYh4LsPUXFzBXHRC6Vx1MDAwZv//5p2/N1x1MDAwMF5cdTAwMDY/5lx1MDAwM9/BuCxu4mpyhotJ7dT88mYr1+xW6zyAXHUwMDA3MLKEaz3X6W9E2fGv2vAnlJShqVximeGET/Ov7798/389cHtcdTAwMDEifQ==<!-- payload-end --></metadata><defs><style class="style-fonts">
@font-face { font-family: Comic Shanns; src: url(data:font/woff2;base64,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); }</style></defs><rect x="0" y="0" width="932.5" height="1453.291015625" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(10 10) rotate(0 455.328125 277.76953125)"><path d="M0 0 C309.47 0, 618.93 0, 910.66 0 M0 0 C235.42 0, 470.85 0, 910.66 0 M910.66 0 C910.66 130.1, 910.66 260.21, 910.66 555.54 M910.66 0 C910.66 164.44, 910.66 328.87, 910.66 555.54 M910.66 555.54 C689.05 555.54, 467.43 555.54, 0 555.54 M910.66 555.54 C711.91 555.54, 513.16 555.54, 0 555.54 M0 555.54 C0 412.72, 0 269.9, 0 0 M0 555.54 C0 431.93, 0 308.32, 0 0" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(397.1484375 30.046875) rotate(0 70.69218750000005 13.388671875)"><text x="0" y="18.744140625" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="21.421875px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Intent Layer</text></g><g stroke-linecap="round" transform="translate(50.51171875 98.265625) rotate(0 415.9375 100.3828125)"><path d="M0 0 C201.46 0, 402.92 0, 831.88 0 M831.88 0 C831.88 66.03, 831.88 132.07, 831.88 200.77 M831.88 200.77 C507.86 200.77, 183.84 200.77, 0 200.77 M0 200.77 C0 126.54, 0 52.32, 0 0" stroke="#2f9e44" stroke-width="2.5" fill="none" stroke-dasharray="8 10"></path></g><g stroke-linecap="round" transform="translate(82.1875 142.0546875) rotate(0 117.732421875 63.78515625)"><path d="M0 0 C78.57 0, 157.15 0, 235.46 0 M235.46 0 C235.46 25.88, 235.46 51.76, 235.46 127.57 M235.46 127.57 C185.24 127.57, 135.02 127.57, 0 127.57 M0 127.57 C0 79.26, 0 30.96, 0 0" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="1.5 8"></path></g><g stroke-linecap="round" transform="translate(346.716796875 142.48046875) rotate(0 117.732421875 63.78515625)"><path d="M0 0 C84.03 0, 168.07 0, 235.46 0 M235.46 0 C235.46 34.23, 235.46 68.46, 235.46 127.57 M235.46 127.57 C176.56 127.57, 117.65 127.57, 0 127.57 M0 127.57 C0 92.39, 0 57.21, 0 0" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="1.5 8"></path></g><g stroke-linecap="round" transform="translate(610.732421875 143.0546875) rotate(0 117.732421875 63.78515625)"><path d="M0 0 C77.6 0, 155.2 0, 235.46 0 M235.46 0 C235.46 25.9, 235.46 51.8, 235.46 127.57 M235.46 127.57 C155.42 127.57, 75.37 127.57, 0 127.57 M0 127.57 C0 97.19, 0 66.82, 0 0" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="1.5 8"></path></g><g transform="translate(99.78515625 166.86328125) rotate(0 92.40001678466797 30)"><text x="0" y="14" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">schemas/</text><text x="0" y="34" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic"> fabric.yml</text><text x="0" y="54" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic"> (InfraHub schema)</text></g><g transform="translate(368.22498321533203 159.91015625) rotate(0 66.00000762939453 50)"><text x="0" y="14" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">data/</text><text x="0" y="34" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic"> devices.yml</text><text x="0" y="54" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic"> vlan.yml</text><text x="0" y="74" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic"> bcp.yml</text><text x="0" y="94" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic"> ...</text></g><g stroke-linecap="round" transform="translate(53.21875 362.14453125) rotate(0 410.97265625 72.384765625)"><path d="M0 0 C261.39 0, 522.79 0, 821.95 0 M821.95 0 C821.95 30.95, 821.95 61.91, 821.95 144.77 M821.95 144.77 C517.45 144.77, 212.95 144.77, 0 144.77 M0 144.77 C0 87.26, 0 29.75, 0 0" stroke="#f08c00" stroke-width="2.5" fill="none" stroke-dasharray="1.5 8"></path></g><g transform="translate(248.59149169921875 414.529296875) rotate(0 215.59991455078125 20)"><text x="215.59991455078125" y="14" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">(Runtime + GraphQL API)</text><text x="215.59991455078125" y="34" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Syncs schema &amp; data from Git, exposes via GraphQL</text></g><g transform="translate(637.1913986206055 158.640625) rotate(0 96.80001831054688 30)"><text x="0" y="14" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">transforms/</text><text x="0" y="34" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic"> arista_config.j2</text><text x="0" y="54" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic"> (Jinja2 templates)</text></g><g transform="translate(422.421875 371.37890625) rotate(0 44 12.5)"><text x="0" y="17.5" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Infrahub</text></g><g transform="translate(395.94921875 109.82421875) rotate(0 77 12.5)"><text x="0" y="17.5" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Git Repository</text></g><g stroke-linecap="round"><g transform="translate(474.1791787376053 297.765625) rotate(0 0.33772785418454987 31.306640625)"><path d="M0 0 C0.17 15.6, 0.34 31.19, 0.68 62.61 M0 0 C0.2 18.54, 0.4 37.09, 0.68 62.61" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(474.1791787376053 297.765625) rotate(0 0.33772785418454987 31.306640625)"><path d="M-8.13 39.21 C-5.94 45.04, -3.74 50.87, 0.68 62.61 M-8.13 39.21 C-5.52 46.14, -2.91 53.07, 0.68 62.61" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(474.1791787376053 297.765625) rotate(0 0.33772785418454987 31.306640625)"><path d="M8.97 39.03 C6.91 44.9, 4.84 50.78, 0.68 62.61 M8.97 39.03 C6.51 46.01, 4.06 53, 0.68 62.61" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(11.4375 656.68359375) rotate(0 453.90234375 237.939453125)"><path d="M0 0 C262.61 0, 525.22 0, 907.8 0 M0 0 C195.42 0, 390.83 0, 907.8 0 M907.8 0 C907.8 184.19, 907.8 368.38, 907.8 475.88 M907.8 0 C907.8 140.05, 907.8 280.1, 907.8 475.88 M907.8 475.88 C652.69 475.88, 397.58 475.88, 0 475.88 M907.8 475.88 C635.91 475.88, 364.02 475.88, 0 475.88 M0 475.88 C0 321.57, 0 167.25, 0 0 M0 475.88 C0 366.51, 0 257.13, 0 0" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(295.64453125 676.4375) rotate(0 170.8394775390625 13.388671875)"><text x="0" y="18.744140625" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="21.421875px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Orchestration Layer (Prefect)</text></g><g stroke-linecap="round" transform="translate(51.94921875 744.94921875) rotate(0 415.9375 78.349609375)"><path d="M0 0 C254.63 0, 509.26 0, 831.88 0 M831.88 0 C831.88 62.63, 831.88 125.26, 831.88 156.7 M831.88 156.7 C561.36 156.7, 290.85 156.7, 0 156.7 M0 156.7 C0 98.33, 0 39.96, 0 0" stroke="#2f9e44" stroke-width="2.5" fill="none" stroke-dasharray="8 10"></path></g><g stroke-linecap="round" transform="translate(83.625 788.73828125) rotate(0 117.732421875 43.99609375)"><path d="M0 0 C82.93 0, 165.86 0, 235.46 0 M235.46 0 C235.46 20.25, 235.46 40.51, 235.46 87.99 M235.46 87.99 C187.52 87.99, 139.57 87.99, 0 87.99 M0 87.99 C0 59.73, 0 31.48, 0 0" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="1.5 8"></path></g><g stroke-linecap="round" transform="translate(348.154296875 788.8046875) rotate(0 112.345703125 43.548828125)"><path d="M0 0 C60.45 0, 120.9 0, 224.69 0 M224.69 0 C224.69 21.08, 224.69 42.16, 224.69 87.1 M224.69 87.1 C177.92 87.1, 131.15 87.1, 0 87.1 M0 87.1 C0 66.47, 0 45.83, 0 0" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="1.5 8"></path></g><g stroke-linecap="round" transform="translate(612.169921875 789.73828125) rotate(0 114.462890625 43.021484375)"><path d="M0 0 C55.66 0, 111.33 0, 228.93 0 M228.93 0 C228.93 23.71, 228.93 47.42, 228.93 86.04 M228.93 86.04 C167.83 86.04, 106.73 86.04, 0 86.04 M0 86.04 C0 59.98, 0 33.92, 0 0" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="1.5 8"></path></g><g transform="translate(101.22265625 813.1875) rotate(0 70.40000915527344 20)"><text x="0" y="14" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">fabric_reconcile</text><text x="0" y="34" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">(plan / apply</text></g><g transform="translate(369.66248321533203 806.59375) rotate(0 52.80000686645508 20)"><text x="0" y="14" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">handle_drift</text><text x="0" y="34" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">(subscribe)</text></g><g transform="translate(638.6288986206055 804.96484375) rotate(0 74.80001068115234 20)"><text x="0" y="14" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">drift_remediation</text><text x="0" y="34" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">(auto-fix</text></g><g transform="translate(348.5234375 755.25390625) rotate(0 121 12.5)"><text x="0" y="17.5" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Prefect Flows (Python)</text></g><g stroke-linecap="round" transform="translate(54.15625 928.232421875) rotate(0 415.9375 78.349609375)"><path d="M0 0 C191 0, 382 0, 831.88 0 M831.88 0 C831.88 44.17, 831.88 88.35, 831.88 156.7 M831.88 156.7 C508.63 156.7, 185.39 156.7, 0 156.7 M0 156.7 C0 104.73, 0 52.77, 0 0" stroke="#2f9e44" stroke-width="2.5" fill="none" stroke-dasharray="8 10"></path></g><g transform="translate(345.43359375 943.59375) rotate(0 121 12.5)"><text x="0" y="17.5" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Prefect Tasks (Python)</text></g><g stroke-linecap="round" transform="translate(81.580078125 973.38671875) rotate(0 117.732421875 43.99609375)"><path d="M0 0 C67.69 0, 135.38 0, 235.46 0 M235.46 0 C235.46 33.95, 235.46 67.9, 235.46 87.99 M235.46 87.99 C164.82 87.99, 94.18 87.99, 0 87.99 M0 87.99 C0 68.66, 0 49.32, 0 0" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="1.5 8"></path></g><g stroke-linecap="round" transform="translate(337.931640625 974.05859375) rotate(0 117.732421875 43.99609375)"><path d="M0 0 C81.15 0, 162.29 0, 235.46 0 M235.46 0 C235.46 31.77, 235.46 63.54, 235.46 87.99 M235.46 87.99 C148.07 87.99, 60.67 87.99, 0 87.99 M0 87.99 C0 60.07, 0 32.16, 0 0" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="1.5 8"></path></g><g stroke-linecap="round" transform="translate(613.775390625 973.7734375) rotate(0 117.732421875 43.99609375)"><path d="M0 0 C68.83 0, 137.67 0, 235.46 0 M235.46 0 C235.46 32.37, 235.46 64.73, 235.46 87.99 M235.46 87.99 C184.59 87.99, 133.72 87.99, 0 87.99 M0 87.99 C0 55.7, 0 23.4, 0 0" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="1.5 8"></path></g><g transform="translate(111.81640625 996.86328125) rotate(0 83.60001373291016 20)"><text x="0" y="14" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Intente Parser</text><text x="0" y="34" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">(InfraHub —&gt; YANG) </text></g><g transform="translate(361.05233001708984 993.41796875) rotate(0 61.60000991821289 20)"><text x="0" y="14" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Diff Engine</text><text x="0" y="34" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">(Want vs Have)</text></g><g transform="translate(642.6328125 994.32421875) rotate(0 70.40000915527344 20)"><text x="0" y="14" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">gNMI Client</text><text x="0" y="34" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">(pygnmi wrapper)</text></g><g stroke-linecap="round" transform="translate(13.140625 1233.841796875) rotate(0 454.6796875 104.724609375)"><path d="M0 0 C260.38 0, 520.76 0, 909.36 0 M0 0 C301.82 0, 603.64 0, 909.36 0 M909.36 0 C909.36 56.33, 909.36 112.67, 909.36 209.45 M909.36 0 C909.36 58.49, 909.36 116.98, 909.36 209.45 M909.36 209.45 C573.82 209.45, 238.28 209.45, 0 209.45 M909.36 209.45 C649.41 209.45, 389.47 209.45, 0 209.45 M0 209.45 C0 154.54, 0 99.63, 0 0 M0 209.45 C0 153.84, 0 98.23, 0 0" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(404.453125 1252.39453125) rotate(0 66 12.5)"><text x="0" y="17.5" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Device Layer</text></g><g stroke-linecap="round" transform="translate(55.88671875 1312.73046875) rotate(0 82.712890625 44.126953125)"><path d="M0 0 C33.25 0, 66.5 0, 165.43 0 M165.43 0 C165.43 31.95, 165.43 63.9, 165.43 88.25 M165.43 88.25 C104.06 88.25, 42.69 88.25, 0 88.25 M0 88.25 C0 54.64, 0 21.02, 0 0" stroke="#1e1e1e" stroke-width="1.5" fill="none" stroke-dasharray="1.5 7"></path></g><g transform="translate(90.19960403442383 1336.857421875) rotate(0 48.40000534057617 20)"><text x="48.40000534057617" y="14" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">spine1</text><text x="48.40000534057617" y="34" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">gNMI : 6030</text></g><g stroke-linecap="round" transform="translate(251.798828125 1312.978515625) rotate(0 82.712890625 44.126953125)"><path d="M0 0 C50.29 0, 100.59 0, 165.43 0 M165.43 0 C165.43 25.33, 165.43 50.66, 165.43 88.25 M165.43 88.25 C126.67 88.25, 87.91 88.25, 0 88.25 M0 88.25 C0 69.4, 0 50.54, 0 0" stroke="#1e1e1e" stroke-width="1.5" fill="none" stroke-dasharray="1.5 7"></path></g><g transform="translate(286.1117134094238 1337.10546875) rotate(0 48.40000534057617 20)"><text x="48.40000534057617" y="14" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">spine2</text><text x="48.40000534057617" y="34" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">gNMI : 6030</text></g><g stroke-linecap="round" transform="translate(445.724609375 1313.005859375) rotate(0 82.712890625 44.126953125)"><path d="M0 0 C41.39 0, 82.78 0, 165.43 0 M165.43 0 C165.43 31.95, 165.43 63.91, 165.43 88.25 M165.43 88.25 C131.21 88.25, 96.99 88.25, 0 88.25 M0 88.25 C0 65.1, 0 41.95, 0 0" stroke="#1e1e1e" stroke-width="1.5" fill="none" stroke-dasharray="1.5 7"></path></g><g transform="translate(480.0374946594238 1337.1328125) rotate(0 48.40000534057617 20)"><text x="48.40000534057617" y="14" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">leaf1</text><text x="48.40000534057617" y="34" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">gNMI : 6030</text></g><g stroke-linecap="round" transform="translate(648.525390625 1312.958984375) rotate(0 82.712890625 44.126953125)"><path d="M0 0 C46.36 0, 92.73 0, 165.43 0 M165.43 0 C165.43 30.96, 165.43 61.92, 165.43 88.25 M165.43 88.25 C126.56 88.25, 87.7 88.25, 0 88.25 M0 88.25 C0 62.47, 0 36.69, 0 0" stroke="#1e1e1e" stroke-width="1.5" fill="none" stroke-dasharray="1.5 7"></path></g><g transform="translate(682.8382759094238 1337.0859375) rotate(0 48.40000534057617 20)"><text x="48.40000534057617" y="14" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">leaf2</text><text x="48.40000534057617" y="34" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">gNMI : 6030</text></g><g transform="translate(861.08203125 1353.046875) rotate(0 16.5 12.5)"><text x="0" y="17.5" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">...</text></g><g mask="url(#mask-waYlaDMsPbE4p-zko5JwK)" stroke-linecap="round"><g transform="translate(441.3446589250825 579.7539062500001) rotate(0 0.5061023028279124 34.572265625)"><path d="M0 0 C0.3 20.21, 0.59 40.42, 1.01 69.14 M0 0 C0.31 21.39, 0.63 42.79, 1.01 69.14" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(441.3446589250825 579.7539062500001) rotate(0 0.5061023028279124 34.572265625)"><path d="M-7.88 45.78 C-5.28 52.61, -2.68 59.44, 1.01 69.14 M-7.88 45.78 C-5.13 53.01, -2.38 60.24, 1.01 69.14" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(441.3446589250825 579.7539062500001) rotate(0 0.5061023028279124 34.572265625)"><path d="M9.22 45.53 C6.82 52.43, 4.42 59.33, 1.01 69.14 M9.22 45.53 C6.68 52.84, 4.14 60.14, 1.01 69.14" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask id="mask-waYlaDMsPbE4p-zko5JwK"><rect x="0" y="0" fill="#fff" width="542.3568635307383" height="748.8984375000001"></rect><rect x="384.65075283557644" y="604.3261718750001" fill="#000" width="114.40001678466797" height="20" opacity="1"></rect></mask><g transform="translate(384.65075283557644 604.3261718750001) rotate(0 57.200008392333984 10)"><text x="57.200008392333984" y="14" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">GraphQL / SDK</text></g><g mask="url(#mask-Tdx8x6EJEjQXzlTxgxiN5)" stroke-linecap="round"><g transform="translate(447.03125 1137.73046875) rotate(0 0.012319684183580648 42.5556640625)"><path d="M0 0 C0.01 23.08, 0.01 46.15, 0.02 85.11 M0 0 C0.01 23.98, 0.01 47.96, 0.02 85.11" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(447.03125 1137.73046875) rotate(0 0.012319684183580648 42.5556640625)"><path d="M-8.53 61.62 C-6.21 67.99, -3.89 74.36, 0.02 85.11 M-8.53 61.62 C-6.12 68.24, -3.71 74.86, 0.02 85.11" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(447.03125 1137.73046875) rotate(0 0.012319684183580648 42.5556640625)"><path d="M8.57 61.62 C6.25 67.99, 3.94 74.36, 0.02 85.11 M8.57 61.62 C6.16 68.24, 3.75 74.86, 0.02 85.11" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask id="mask-Tdx8x6EJEjQXzlTxgxiN5"><rect x="0" y="0" fill="#fff" width="547.0558893683672" height="1322.841796875"></rect><rect x="376.64356052891026" y="1160.2861328125" fill="#000" width="140.80001831054688" height="40" opacity="1"></rect></mask><g transform="translate(376.64356052891026 1160.2861328125) rotate(0 70.40000915527332 20)"><text x="70.40000915527344" y="14" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">gNMI Get / Set /</text><text x="70.40000915527344" y="34" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Subscribe</text></g></svg>