109 lines
135 KiB
XML
109 lines
135 KiB
XML
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="0.7.1" preserveAspectRatio="xMinYMin meet" viewBox="0 0 7801 7524"><svg class="d2-1432812710 d2-svg" width="7801" height="7524" viewBox="-89 -89 7801 7524"><rect x="-89.000000" y="-89.000000" width="7801.000000" height="7524.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
|
|
.d2-1432812710 .text {
|
|
font-family: "d2-1432812710-font-regular";
|
|
}
|
|
@font-face {
|
|
font-family: d2-1432812710-font-regular;
|
|
src: url("data:application/font-woff;base64,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");
|
|
}
|
|
.d2-1432812710 .text-bold {
|
|
font-family: "d2-1432812710-font-bold";
|
|
}
|
|
@font-face {
|
|
font-family: d2-1432812710-font-bold;
|
|
src: url("data:application/font-woff;base64,d09GRgABAAAAABmIAAoAAAAAJeQAAguFAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAGAAAABgXxHXrmNtYXAAAAFUAAAA7AAAAXYMSQ07Z2x5ZgAAAkAAABHEAAAYnKh83UJoZWFkAAAUBAAAADYAAAA2G38e1GhoZWEAABQ8AAAAJAAAACQKfwYTaG10eAAAFGAAAAEUAAABUKXADYJsb2NhAAAVdAAAAKoAAACqCNMDfm1heHAAABYgAAAAIAAAACAAbAD3bmFtZQAAFkAAAAMoAAAIKgjwVkFwb3N0AAAZaAAAAB0AAAAg/9EAMgADAioCvAAFAAACigJYAAAASwKKAlgAAAFeADIBKQAAAgsHAwMEAwICBGAAAvcAAAADAAAAAAAAAABBREJPACAAIP//Au7/BgAAA9gBESAAAZ8AAAAAAfAClAAAACAAA3iclNBJTtpxGMfh518o0JZSSkvpAJSOigPO4ojgPOtaY4xbj6DxZK68gJ7BjSs9w88EiYnufNfP4vt+EImJkBaPjlFTEZdR8V+Xqh69+vSrGVA3aUpD0559Bw6dOHUWAh3f/cQPPvpWxx89+HAtq6jsj7/yCnJKkhJScjLhItyF23ATzsNVuGyve8lFxi1YtmLLjpZFTZvqJtprps2Y1TBn3q5tr8TEvZaQlPLGW++kvZfxQdZHOZ98lvdFwVfffPfDqjVLikrKfqr45Xf7k3+dBtVnFYYMGzFqzLoN7gEAAP//AQAA//+CLix2eJyEeHtwG9d99b0XSywJgg9wsVgAJJ4L7AIgCRJYLJYvEHyATxHgSyIpiw+JI0uUSFGMRZmURcWZz5aVOFDshIpM24ntKPIkcex8dpVMFTdK2zSOo4k6Seuk6nQSW3Y8qhO3NpOyqROTi87dBR9SMtM/pOVg7t577rm/c37nLsgBfQCgSXQBaEAeKAIlgAZAMLgMXoHnWVISJIllNBIPDWQfKpGfv8z7Cb+fCDhXHA9MTMDkOLqwMbMvOTn5h4n6evmZ774qn4cnXgUAZf4EAGpFaZAHDABQpMBzHM9qtRpKoFieJW8Xf7aooLSA0Fv+dOOVG1/yve6D3Q0NoVkhckw+i9Ib808/DQAAGpAEADWgNDAAK3BjbELYZKKNWpJWHlpWI4SjYoRjWYMQVp7JtxIzTZW+cGvivo6JtmgoHGkfPNUQG0RpW3u8fLCIKNjV3LrbD88FWM4pj4yUewGAIJhZQ9VoBZQCkOPmODESjQphE0NyHOvWammjSQhHJUYLxwYeHdxzfiB+0JWySGxFV/lQpy9uTg3oe754bObJfsE9ztjC4y0H5zyW0f0AKfh7UBroVGaz6LUsL4SjGDcGfPXgF/r7HttfWVYzGAwO1pShdOKxubkvdCz4RlOpvV6A8SUBgB+iNMhXzod20QLN0i46CVfkj998Exah9NJDpy8ubY19T+F+x9gkfFr+6J13UHrpiaUNADb3nEArwPGX9pzdssiKgkGrhcf2fn7P8OPDHYecSUtNoGf/6D4jp5/5wP2J7MYjrnGTfW7y4JxON7co/9wVVHGgPZuYBVoQBQNrYA3J5bcvXHgbpT/+eGMeFsurm5jBLZQGGmWsIbmMiwBAUJxZg1dQGhQDwLg5XjJhVKJBMBi12ne6D7kPllRbfP7lijF9fX23yxlqhl+Tk/GpxuycaAalgV6dU6AEDcVqSDq5TPzg0mu/+cqzPSgt/zfMl9flRUgd/P+b3L2D0iBHfcdFJ5chQumN1SWwiRO9hNKYMzyjycQI0ahECQYW0yexJMnyPGtHNJ38yhFdiY7QGXSHn3uEzNMQ4lj/WIQgckmUlt8sa7TbG8uge2P+Q2dvn+PpP/7xaUdfr/PDzTVwzVDqGozAcSLmTsOzJhNNJ594oYkgCtP4kVOA0vL3Ho98qu72xjxs+1x0qe7fAQBIOdtPohVQdFdFK9XHq5JRDhkOjZzdtevsiPp/ayrV2ppK6QeePDr9xd7ei0ePPjnw4Pzk5Ozs5OQ8yNZztcKp8Y56Zukt/d3qPNnePt/W37nY1JBAaX60t2ey6ldwYEoIgCy2bvQcWgH5gAPAuxOLm+PvQEqasrrTwqEsNGg9/Dg7dUZFPDfB9Pppb6G1pH7m5BRGOXVSfvPeHtO3HlXhP/TNUredJKbzCrLYB1EaFAJmp5NgQ8LoVRtJvt92XyIuXnj+TH9PXSxW14PS3pFU5xgjf/z++3B/qLqaw2fEZtaQDq2AgMLuZl1GOJ4Poj8TEsOoLEFj04Ph3eyQL1gplO9xNXD1RxI1c4Fdziaeq6wN7K5vr5vVVwfvtXNum8NW4imsaq+KjkQqAmOWUkeZ3W5wm3e3RUdrAAQWABCF0oDEO2FFF80ablyBf7qCipeWNlbVWu3KrKFexTsxRkU02+qBqQcfuVAnSQ2fe0h/8TIcl5f39/Tsh8fkS5cvApj5IwBIQGlQAICg2VHnmu+/9qVUEVNEFJoLkxd/iNLyz8RD0eghEVYrei0EQONEaeC6670dM7AatReQmnOnnqjUFmoJHaVrP9Ouo3QEWUBWnp//blNuQQ6hLciNobT8U+FwJHJYgCH5p6EpUTwchqGNeejjkh5PkpP/FUDsL6gCpTEnAqURmOxSEpZ7tu+QZP53Xrhcm88UEPm0LvLlb3z7crOeKSTyTfkx2Atjp00RhyNiOi1/T7561irY7YL1LOYw8xEAiEZpUASAIN4xN33ttWfqCq0FRGFZQf1Tr70HL1/0tnFcm/eiPPqewr8HALie9WERukQXDV20Bzrlj+Gr8i3I7oV/vbRX7lrCmghk1uDP4TqwAFZxOjESlZTyIXmlmGgDi/chYUtW+tH3E30PLyPW72jyiFXTdROHFnWEoyPX4qVSDQ79cDw1UuTizfQBm2f2PvldoYy9j6GGdeU2M6NosDmzhkzoGjBm3Z9nSdYg0ORdJsG6caOFba5WG6E/sUzYEu6GkaqGiREuOlThN/r0LqeIrr3YY7U1fqJnz6n4YnvPI5U/KSlU959Zg9fgOrDe3V+22wtWtqXteHPn/YlgR1kb6xTj8WpzkKrzDuljJwcG52N2ZsLW09yUpIv2O0tV/+Aza3AdXQMUcG5ypUzMY5PcYmlTfL8fPV4/EfHXWLTLizrC2o7MfAlVbmSjVfrPnuo/2Vhm7vnGRmvIyi4aLT8pKWzt6GoDSMH+NlwH5ru6o+IYLqx2jF0jKNYFHR33tbTO1HeMVRFIvqlrD4nREDf+1BW+wh3VN84P9M/H49MJypsXFVx7rXZY5xerVI2aAYDz6Dp+Yh1Ld3kHbt2Ge1paPH2tjkhxaYFVX2rfuxeeOZZTKg5F9NqZnBwXZz8hP4SzkjtTiUi4DqpAPehWmOHECCYCF5O4uQVGoNmsabt55RxweRm1Ws0OJ6aybujmlCG/rxuv6aBKnWarv25crHB9p5fMi4xINkeJ2983eiCx1G3jeZuN5/3hJt4rWFz60tgb1pqKBh9R4HOUhouJkkR5Q69PP53vNtZ2e3RFJqqkvlXoD8LrAT/v9/n8AXnZY2GKNRqzpcymctOMD1upUSU/kJtCMCgoSUPzMlm2K9zftWxzlvnM6NqLey3l02PyDeiK+iyM/ArIZIAEAPgVegNxoB8AQIIB8CgAmUzmHzMN4C3l98Hs7+mtNe3o2lZmkATcH0i6+THiy89962+enYuja/LsazfkX/59xwN4fGYNlqBr2B+YHR6Li+PHPfXLhrwcUlui9+r37ULsxk2mBMJjOaS6jsYG1xWfNAjYU/Cp37FDcuvZjLXdHhKbKVd3qG/Xss3prcb/VcHVJkdluc8d2tx2tfxK9rHJH1zP8pddYyd/izrCmdwiEK7G7ZV38KfqQKmp/ztHmOLHE4nj8fhsIjEbrwwGK4OVlVkNx+YHB07GFpJNzT1Yyqr/dCITXAcUsAPAbKNTypLjGZrath+M09bF3zPVMBF1NlhzernoUHnA6LuKvh6ysp85sWcxXmrp/Tz0bJkP9ohOuK7M7wQgR5SUaTfFJUiCQbPTI+ARraXFrRpFI3a6d7dM4uoTPWaHYhQ2Z2hjBHq2XSJbL/AxuA5K7jhHVb0qw6U9HF2mMxdYistiRrg6HA7l5DxIEP6wfAtAQGfW4LNwHfB35NsIx6k5YmsynCLsiDZq3wgd5lrccYfLbgta7fW+I3tqhx0t1oi1tpZzxvxTes4xaillKIOJ0uk9tf62Id48YjTxZkthPlsbbB1TtWXIrMFZNI+TEM4GIitKkqBcFLaNGYz2JnoMDywssDa9RcdQkv7o0PVj2ocfPvF6wKslprV6da6GzBr8CK7iOrtDA4asHf9Lf9ey3VnGmZYX8zWObv30GIzIb4l+qw12ysVt3goAsd5gBq5m88aONnvlaxeacDLIo3TN5y/B1d96kzyf9P5WLt70T7QKV7N5Y/u9HTNsZ4ALS1+o1uq0BFmQJz1Yk1dEEmQeWfXphRcryQKSIPPJCrh629vJcd3sbeXZ6b0tF/+Ibff52tkfKesVAgDX4KqaNfgdy5DM9jqFK489U6Ez6Yjcklz3yuNPPlOtZ/REnjGPh+iDPrqcpsvpvszvBugKmi43DeB59ZlGuAFXscq260CS7qCiEC2aXEVWsiTX69ORf3uhI79ER+Qa8hrOv8jU9P5AS8zBHI/NCn/9C3e7l+1gfyHnN+4JqGeEQ+u34aqaRSgcGDUCzf3su3DuZzd7YfBESv6nE7iHWDJr6DNKNo+AOACUEZuSKnJKVb+05QFYrKQJD5AE9S+S43itlsfHLyl/vp2vY6tNjMVt6DgQ6qim6PK+aPeQr9Fd1uqxcPpHSkTOUWthfXsC/kPpaLnf722zURb4QYnPSAddTBm/8a6wJ5zY42DbHFXJqr5EoFVknDGrMxWsnxWKaWIh1212sP/gDVodCY+BU/KBN7MG30fnQH7Ws1Qd0UbsV+qdW73Sm2DuoTNnDuF/Fh/D+Cxmn9ns079w6dLzz1+69MJ93vHh4VG3e3R4eFz5RtAOAPw3dFrpDThqiHjjBoFuf3Qh0umeWViAx/fpyowb6wsq53YA4LvoHCjD4xuRymI2z6nkRaOCQHv7z7SH/G7J3Fc1mYiPi/WjEXOD6VO7k2eOVFaFeGtvWAjvi4nHj0c1OUt4XlNmDb6FzgH/3Z7BipuGvJkatz+U/FfyGJuwtfuqasq624aafJxbsndXTNZNnpIEqaN5Wh/2jZV5eE+Z3zRVxbm8dus9XPm+wVC7iShONtYPlqvZiwIAfoROgzysdkrA9YBLnhJdIoW5YOnnHsmBhN5aGJb/871vd3XB3MOOfrs1WirPrtwLPymfn1vBe2Aya/AWOo3T1R17ULBTLpolt1j6n9QM12JL+EJ1NRVlXltLCZz6Tb6Lk/bVNB/VR7xjVm84VB0uLAnA5qWFosBwov1gRMHqz6zB/1DqwAcAdGdvk2KE0/z5Fx5yq6IhZRGMuhqXq6rKHptt6zrZGh+1J4ulMraO1Vi6bAPTdRPQa3Pvqg1FwwH5p82fPb6w0lXpGCkp9Q53O9mJe1smIsr5VwAAb6PTiqc1IglfAAo15LNad3uD/Gv4qtTqLSaOfv2pwaV7Wu8//fiYgtmdWYO3Fcx+RX3YBbis+rIsRdVmdkcn/nq1xyJQOsntrI7Fx+yp4miZp9aDLF226J5w3f7aRrwR+FfhgIJb1gftKlyHJzDc2rJfaH507v4nuwAEscwa+BC8hO9UzA7lXOQEgeMEQS/yPlH08aL6/agRAvAS7n0MH43ybje745Uee00dRARio1EuHBn9QcrY7C33ccHu5oFFgDOYuhb8HeJBEwAwAbT4CSDogZPgFvoWyAGA4nmBJGdtORdybHDy9bNnXwcQlIPr0AVDQAOAJAp0+R+uT02pHjoP38u8jn9nRBeth79MDw4CCDozSehDb+FzYFQLYxT9MzfibW3xUSkclq4cfvPhh988zB24OX305iSAoDqThMXZd3jFNTD7tFGbHq0Jh2tG421tV7jJm0enbx7glHcBBMOZKRhAP8R3cgZLwSDQw2/ce++KZjS10ZTa/OY2BWF2jOIhgiF46NAbKyn0d6n1y+oYR3aeyq3bDV5eVL0L8yvQamzZlrcS4+n3WxpzcryhkDcnp7ElTjlMhIfjPITJQa3E+j2i4LBWwSEUtDrDUbY/lrL5fclgrZBH5Am1wR6/37YDY212fVFVzPYNQrkWiFmtYBJp1Utpo5YNUk6a8Hq9XoJ2UvGdYFZSNr+/Z2uxpM9vS8X62WjYaQ2iIVhldQiipz+mrl+Q2Q+j6EfKOVKCpuD6/uvPaQ6tP6X0MTgGv4p+jPswxUu8xEgCIzEkQ/IXYvUzzHxBsuCEeaY+1gfHKqZCneb7FyydoamKvVhbocxuzRD6MmgBKdwXcMBqRKqCChFOnWw2JSq/4pRIarc+07oLEd5mNhvh9Chl+wh8cdenp2MdZ746OvPssL+1ny9vykV0wlHfZZe6yy1cASrcF6Rb7ZJbWpxseuBAbf/ZFD/gcAYPxIodlLnIYS9nXgyOn99/5JsPtOx77kjb4Ta3z2Pz9rcFh9sDTGngl0MV/VLn6Z7I5Gd2T/6/Jqa4z8LAGqPlnC3YYm9VOXODcfgBimLdKt9sRTXM/fPLL8+8/PL41amrV6euquOm4AeoGucASZQkkefFHNr98rlzL8MbU6fqqoiqulOvHNq6f4Gfw9XNb7LNy3BVLgYw8xKqBYPoDbyWYYfgvcGg1xsMotoAywbwPxzp8D3rF3D1L36/9Tj8RVYdpbMxy87kD3O1MxqC98PfyVT0Hgn8LwAAAP//AQAA//8stkCVAAEAAAACC4XCaxUzXw889QABA+gAAAAA2F2ghAAAAADdZi82/jf+xAhtA/EAAQADAAIAAAAAAAAAAQAAA9j+7wAACJj+N/43CG0AAQAAAAAAAAAAAAAAAAAAAFR4nCzOsUojURTG8f/5BsIumWTvstlsUmwWsrNZNJNBqwhmitsEhVwQVBwLS30JQUs7+2BnrY2tL6Cgla9ioQEZSUj1a87/8OmOHR5AeTnTEUFjMp0SlBAUE3RGpmuCDQj2gdMJQRWCZgRNCboh097SY4JS/iqlrSnbSsv3aEBdQ6qqlW/6TaJvrCrH2wuJcv6rQmL7tNSkq028NRhas3xWgrcOPjrEa4RXf3Hv541d4u2en3bOd20wUpU4+kJLoq6vxPZET1e05fgnx1iOjhxNOX7I8UuOFTlSObqWkltKtnRiE/r2SmwFW1awZgUHVpBZwZ+Fu9TskV50wfq8X/xo4KG8ne/+BAAA//8BAAD//z28MsQAAAAsACwAUACEALAA1ADqAP4BLgFEAVABbgGIAZgBygHsAhgCOgJ2ApwC3ALuAwwDKANiA5ADrgPEA/wELgRaBIwEwATmBU4FcAV8BYgFoAW8Be4GEAY8BmwGoAbABvwHIgdEB2AHmAfEB/QICAhqCJYIrgjaCRgJPAluCa4JyAoICh4KPgpKCloKZgpyCowKpgq4CsoLCgtKC1gLdgvkC/gMDgwaDDAMTgAAAAEAAABUAJAADABjAAcAAQAAAAAAAAAAAAAAAAAEAAN4nJyUz24bVRTGf05s0wrBAkVVuonugkWR6NhUSdU2K4fUikUUB48LQkJIE8/4jzKeGXkmDuEJWPMWvEVXPATPgVij+Xzs2AXRJoqSfHfu+fOdc75zgR3+ZptK9SHwRz0xXGGvfm54iwf1E8PbtOtbhqs8qf1puEZYmxuu83mtZ/gj3lZ/M/yA/epPhh+yW20b/phn1R3Dn2w7/jL8Kfu8XeAKvOBXwxV2yQxvscOPhrd5hMWsVHlE03CNz9gzXGcP6DOhIGZCwgjHkAkjrpgRkeMTMWPCkIgQR4cWMYW+JgRCjtF/fg3wKZgRKOKYAkeMT0xAztgi/iKvlHNlHOo0s7sWBWMCLuRxSUCCI2VESkLEpeIUFGS8okGDnIH4ZhTkeORMiPFImTGiQZc2p/QZMyHH0VakkplPypCCawLld2ZRdmZAREJurK5ICMXTiV8k7w6nOLpksl2PfLoR4Usc38m75JbK9is8/bo1Zpt5l2wC5upnrK7EurnWBMe6LfO2+Fa44BXuXv3ZZPL+HoX6XyjyBVeaf6hJJWKS4NwuLXwpyHePcRzp3MFXR76nQ58Turyhr3OLHj1anNGnw2v5dunh+JouZxzLoyO8uGtLMWf8gOMbOrIpY0fWn8XEIn4mM3Xn4jhTHVMy9bxk7qnWSBXefcLlDqUb6sjlM9AelZZO80u0ZwEjU0UmhlP1cqmN3PoXmiKmqqWc7e19uQ1z273lFt+QaodLtS44lZNbMHrfVL13NHOtH4+AkJQLWQxImdKg4Ea8zwm4IsZxrO6daEsKWiufMs+NVBIxFYMOieLMyPQ3MN34xn2woXtnb0ko/5Lp5aqq+2Rx6tXtjN6oe8s737ocrU2gYVNN19Q0ENfEtB9pp9b5+/LN9bqlPOWIlJjwXy/AMzya7HPAIWNlGOhmbq9DUy9Ek5ccqvpLIlkNpefIIhzg8ZwDDnjJ83f6uGTijItbcVnP3eKYI7ocflAVC/suR7xeffv/rL+LaVO1OJ6uTi/uPcUnd1DrF9qz2/eyp4mVk5hbtNutOCNgWnJxu+s1ucd4/wAAAP//AQAA///0t09ReJxiYGYAg//nGIwYsAAAAAAA//8BAAD//y8BAgMAAAA=");
|
|
}
|
|
.d2-1432812710 .text-italic {
|
|
font-family: "d2-1432812710-font-italic";
|
|
}
|
|
@font-face {
|
|
font-family: d2-1432812710-font-italic;
|
|
src: url("data:application/font-woff;base64,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");
|
|
}]]></style><style type="text/css"><![CDATA[.shape {
|
|
shape-rendering: geometricPrecision;
|
|
stroke-linejoin: round;
|
|
}
|
|
.connection {
|
|
stroke-linecap: round;
|
|
stroke-linejoin: round;
|
|
}
|
|
.blend {
|
|
mix-blend-mode: multiply;
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.d2-1432812710 .fill-N1{fill:#0A0F25;}
|
|
.d2-1432812710 .fill-N2{fill:#676C7E;}
|
|
.d2-1432812710 .fill-N3{fill:#9499AB;}
|
|
.d2-1432812710 .fill-N4{fill:#CFD2DD;}
|
|
.d2-1432812710 .fill-N5{fill:#DEE1EB;}
|
|
.d2-1432812710 .fill-N6{fill:#EEF1F8;}
|
|
.d2-1432812710 .fill-N7{fill:#FFFFFF;}
|
|
.d2-1432812710 .fill-B1{fill:#0D32B2;}
|
|
.d2-1432812710 .fill-B2{fill:#0D32B2;}
|
|
.d2-1432812710 .fill-B3{fill:#E3E9FD;}
|
|
.d2-1432812710 .fill-B4{fill:#E3E9FD;}
|
|
.d2-1432812710 .fill-B5{fill:#EDF0FD;}
|
|
.d2-1432812710 .fill-B6{fill:#F7F8FE;}
|
|
.d2-1432812710 .fill-AA2{fill:#4A6FF3;}
|
|
.d2-1432812710 .fill-AA4{fill:#EDF0FD;}
|
|
.d2-1432812710 .fill-AA5{fill:#F7F8FE;}
|
|
.d2-1432812710 .fill-AB4{fill:#EDF0FD;}
|
|
.d2-1432812710 .fill-AB5{fill:#F7F8FE;}
|
|
.d2-1432812710 .stroke-N1{stroke:#0A0F25;}
|
|
.d2-1432812710 .stroke-N2{stroke:#676C7E;}
|
|
.d2-1432812710 .stroke-N3{stroke:#9499AB;}
|
|
.d2-1432812710 .stroke-N4{stroke:#CFD2DD;}
|
|
.d2-1432812710 .stroke-N5{stroke:#DEE1EB;}
|
|
.d2-1432812710 .stroke-N6{stroke:#EEF1F8;}
|
|
.d2-1432812710 .stroke-N7{stroke:#FFFFFF;}
|
|
.d2-1432812710 .stroke-B1{stroke:#0D32B2;}
|
|
.d2-1432812710 .stroke-B2{stroke:#0D32B2;}
|
|
.d2-1432812710 .stroke-B3{stroke:#E3E9FD;}
|
|
.d2-1432812710 .stroke-B4{stroke:#E3E9FD;}
|
|
.d2-1432812710 .stroke-B5{stroke:#EDF0FD;}
|
|
.d2-1432812710 .stroke-B6{stroke:#F7F8FE;}
|
|
.d2-1432812710 .stroke-AA2{stroke:#4A6FF3;}
|
|
.d2-1432812710 .stroke-AA4{stroke:#EDF0FD;}
|
|
.d2-1432812710 .stroke-AA5{stroke:#F7F8FE;}
|
|
.d2-1432812710 .stroke-AB4{stroke:#EDF0FD;}
|
|
.d2-1432812710 .stroke-AB5{stroke:#F7F8FE;}
|
|
.d2-1432812710 .background-color-N1{background-color:#0A0F25;}
|
|
.d2-1432812710 .background-color-N2{background-color:#676C7E;}
|
|
.d2-1432812710 .background-color-N3{background-color:#9499AB;}
|
|
.d2-1432812710 .background-color-N4{background-color:#CFD2DD;}
|
|
.d2-1432812710 .background-color-N5{background-color:#DEE1EB;}
|
|
.d2-1432812710 .background-color-N6{background-color:#EEF1F8;}
|
|
.d2-1432812710 .background-color-N7{background-color:#FFFFFF;}
|
|
.d2-1432812710 .background-color-B1{background-color:#0D32B2;}
|
|
.d2-1432812710 .background-color-B2{background-color:#0D32B2;}
|
|
.d2-1432812710 .background-color-B3{background-color:#E3E9FD;}
|
|
.d2-1432812710 .background-color-B4{background-color:#E3E9FD;}
|
|
.d2-1432812710 .background-color-B5{background-color:#EDF0FD;}
|
|
.d2-1432812710 .background-color-B6{background-color:#F7F8FE;}
|
|
.d2-1432812710 .background-color-AA2{background-color:#4A6FF3;}
|
|
.d2-1432812710 .background-color-AA4{background-color:#EDF0FD;}
|
|
.d2-1432812710 .background-color-AA5{background-color:#F7F8FE;}
|
|
.d2-1432812710 .background-color-AB4{background-color:#EDF0FD;}
|
|
.d2-1432812710 .background-color-AB5{background-color:#F7F8FE;}
|
|
.d2-1432812710 .color-N1{color:#0A0F25;}
|
|
.d2-1432812710 .color-N2{color:#676C7E;}
|
|
.d2-1432812710 .color-N3{color:#9499AB;}
|
|
.d2-1432812710 .color-N4{color:#CFD2DD;}
|
|
.d2-1432812710 .color-N5{color:#DEE1EB;}
|
|
.d2-1432812710 .color-N6{color:#EEF1F8;}
|
|
.d2-1432812710 .color-N7{color:#FFFFFF;}
|
|
.d2-1432812710 .color-B1{color:#0D32B2;}
|
|
.d2-1432812710 .color-B2{color:#0D32B2;}
|
|
.d2-1432812710 .color-B3{color:#E3E9FD;}
|
|
.d2-1432812710 .color-B4{color:#E3E9FD;}
|
|
.d2-1432812710 .color-B5{color:#EDF0FD;}
|
|
.d2-1432812710 .color-B6{color:#F7F8FE;}
|
|
.d2-1432812710 .color-AA2{color:#4A6FF3;}
|
|
.d2-1432812710 .color-AA4{color:#EDF0FD;}
|
|
.d2-1432812710 .color-AA5{color:#F7F8FE;}
|
|
.d2-1432812710 .color-AB4{color:#EDF0FD;}
|
|
.d2-1432812710 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-1432812710);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-1432812710);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-1432812710);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-1432812710);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-1432812710);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-1432812710);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-1432812710);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-1432812710);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-1432812710);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-1432812710);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-1432812710);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-1432812710);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-1432812710);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1432812710);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-1432812710);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-1432812710);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-1432812710);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-1432812710);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g class="Y2xpZW50cw== client"><g class="shape" ><rect x="3328.000000" y="12.000000" width="819.000000" height="182.000000" stroke="#00838f" fill="#e0f7fa" style="stroke-width:2;" /></g><text x="3737.500000" y="45.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">External Clients</text></g><g class="Z2F0ZXdheQ== api"><g class="shape" ><rect x="3373.000000" y="389.000000" width="1357.000000" height="282.000000" stroke="#1976d2" fill="#e3f2fd" style="stroke-width:2;" /></g><text x="4051.500000" y="422.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">API Gateway</text></g><g class="YXBp api"><g class="shape" ><rect x="1667.000000" y="1284.000000" width="4939.000000" height="396.000000" stroke="#1976d2" fill="#e3f2fd" style="stroke-width:2;" /></g><text x="4136.500000" y="1317.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">API Endpoints</text></g><g class="ZXhlY3V0aW9uX2Zsb3dz"><g class="shape" ><rect x="2674.000000" y="1970.000000" width="977.000000" height="1191.000000" stroke="#0D32B2" fill="#E3E9FD" class=" stroke-B1 fill-B4" style="stroke-width:2;" /></g><text x="3162.500000" y="2003.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">Execution Flows</text></g><g class="c2NoZW1hX3BpcGVsaW5l ai"><g class="shape" ><rect x="53.000000" y="3246.000000" width="2257.000000" height="1497.000000" stroke="#7b1fa2" fill="#f3e5f5" style="stroke-width:2;" /></g><text x="1181.500000" y="3279.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">Schema Extraction Pipeline</text></g><g class="ZXhlY3V0b3Jz executor"><g class="shape" ><rect x="2548.000000" y="3558.000000" width="1160.000000" height="571.000000" stroke="#c2185b" fill="#fce4ec" style="stroke-width:2;" /></g><text x="3128.000000" y="3591.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">Executor Architecture</text></g><g class="ZGF0YWJhc2U= db"><g class="shape" ><rect x="2539.000000" y="5540.000000" width="4732.000000" height="1794.000000" stroke="#388e3c" fill="#e8f5e9" style="stroke-width:2;" /></g><text x="4905.000000" y="5573.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">Database (Neon PostgreSQL)</text></g><g class="d29ya2Vycw== external"><g class="shape" ><rect x="5282.000000" y="812.000000" width="2329.000000" height="282.000000" stroke="#f57c00" fill="#fff3e0" style="stroke-width:2;" /></g><text x="6446.500000" y="845.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">Background Workers (Vercel Cron)</text></g><g class="ZXh0ZXJuYWw= external"><g class="shape" ><rect x="998.000000" y="4983.000000" width="2974.000000" height="367.000000" stroke="#f57c00" fill="#fff3e0" style="stroke-width:2;" /></g><text x="2485.000000" y="5016.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">External Services</text></g><g class="YnJpZGdlX3N5c3RlbQ== wip" style='opacity:0.700000'><g class="shape" ><rect x="4817.000000" y="284.000000" width="445.000000" height="810.000000" stroke="#0D32B2" fill="#E3E9FD" class=" stroke-B2 fill-B4" style="stroke-width:2;stroke-dasharray:10.000000,9.865639;" /></g><text x="5039.500000" y="317.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">Bridge System (WIP)</text></g><g class="YWlfaW50ZWdyYXRpb24= ai"><g class="shape" ><rect x="4228.000000" y="4413.000000" width="2037.000000" height="330.000000" stroke="#7b1fa2" fill="#f3e5f5" style="stroke-width:2;" /></g><text x="5246.500000" y="4446.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">AI Integration Points</text></g><g class="Y2xpZW50cy53ZWI="><g class="shape" ><rect x="3378.000000" y="62.000000" width="126.000000" height="82.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="3441.000000" y="100.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="3441.000000" dy="0.000000">Web App</tspan><tspan x="3441.000000" dy="18.500000">(Next.js 16)</tspan></text></g><g class="Y2xpZW50cy5jbGk="><g class="shape" ><rect x="3524.000000" y="62.000000" width="133.000000" height="82.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="3590.500000" y="100.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="3590.500000" dy="0.000000">TPMJS CLI</tspan><tspan x="3590.500000" dy="18.500000">(@tpmjs/cli)</tspan></text></g><g class="Y2xpZW50cy5haV9jbGllbnRz"><g class="shape" ><rect x="3677.000000" y="62.000000" width="239.000000" height="82.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="3796.500000" y="100.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="3796.500000" dy="0.000000">AI Clients</tspan><tspan x="3796.500000" dy="18.500000">(Claude Desktop, GPT, etc.)</tspan></text></g><g class="Y2xpZW50cy5icmlkZ2VfY2xp wip" style='opacity:0.700000'><g class="shape" ><rect x="3936.000000" y="62.000000" width="161.000000" height="82.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B2 fill-B5" style="stroke-width:2;stroke-dasharray:10.000000,9.865639;" /></g><text x="4016.500000" y="100.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="4016.500000" dy="0.000000">Bridge CLI</tspan><tspan x="4016.500000" dy="18.500000">(@tpmjs/bridge)</tspan></text></g><g class="Z2F0ZXdheS5hdXRo"><g class="shape" ><rect x="3423.000000" y="439.000000" width="709.000000" height="182.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="3777.500000" y="468.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Authentication</text></g><g class="Z2F0ZXdheS5yYXRlX2xpbWl0"><g class="shape" ><rect x="4152.000000" y="439.000000" width="528.000000" height="182.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="4416.000000" y="468.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Rate Limiting</text></g><g class="YXBpLmRpc2NvdmVyeQ=="><g class="shape" ><rect x="1717.000000" y="1464.000000" width="656.000000" height="166.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="2045.000000" y="1493.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Tool Discovery</text></g><g class="YXBpLmV4ZWN1dGlvbg=="><g class="shape" ><rect x="2393.000000" y="1464.000000" width="538.000000" height="166.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="2662.000000" y="1493.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Execution</text></g><g class="YXBpLm1jcA=="><g class="shape" ><rect x="2951.000000" y="1464.000000" width="557.000000" height="166.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="3229.500000" y="1493.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">MCP Protocol</text></g><g class="YXBpLmFnZW50cw=="><g class="shape" ><rect x="3528.000000" y="1464.000000" width="568.000000" height="166.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="3812.000000" y="1493.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Agents & Collections</text></g><g class="YXBpLmJyaWRnZQ== wip" style='opacity:0.700000'><g class="shape" ><rect x="4116.000000" y="1464.000000" width="628.000000" height="166.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B2 fill-B5" style="stroke-width:2;stroke-dasharray:10.000000,9.865639;" /></g><text x="4430.000000" y="1493.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Bridge</text></g><g class="YXBpLnRlc3Rpbmc="><g class="shape" ><rect x="4764.000000" y="1464.000000" width="437.000000" height="166.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="4982.500000" y="1493.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Scenarios</text></g><g class="YXBpLnN5bmM="><g class="shape" ><rect x="5221.000000" y="1464.000000" width="661.000000" height="166.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="5551.500000" y="1493.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Sync (Cron)</text></g><g class="YXBpLmhlYWx0aA=="><g class="shape" ><rect x="5902.000000" y="1464.000000" width="654.000000" height="166.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="6229.000000" y="1493.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Stats & Health</text></g><g class="ZXhlY3V0aW9uX2Zsb3dzLnBsYXlncm91bmRfZmxvdw== executor"><g class="shape" ><rect x="2724.000000" y="2025.000000" width="432.000000" height="1081.000000" stroke="#c2185b" fill="#fce4ec" style="stroke-width:2;" /></g><text x="2940.000000" y="2054.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px"><tspan x="2940.000000" dy="0.000000">Path A: Playground Flow</tspan><tspan x="2940.000000" dy="27.500000">(Web UI)</tspan></text></g><g class="ZXhlY3V0aW9uX2Zsb3dzLm1jcF9mbG93 executor"><g class="shape" ><rect x="3176.000000" y="2041.000000" width="426.000000" height="1049.000000" stroke="#c2185b" fill="#fce4ec" style="stroke-width:2;" /></g><text x="3389.000000" y="2070.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px"><tspan x="3389.000000" dy="0.000000">Path B: MCP Flow</tspan><tspan x="3389.000000" dy="27.500000">(External AI Client)</tspan></text></g><g class="c2NoZW1hX3BpcGVsaW5lLm5wbV9zb3VyY2U= external"><g class="shape" ><rect x="446.000000" y="3296.000000" width="265.000000" height="82.000000" stroke="#f57c00" fill="#fff3e0" style="stroke-width:2;" /></g><text x="578.500000" y="3334.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="578.500000" dy="0.000000">NPM Registry</tspan><tspan x="578.500000" dy="18.500000">packages with 'tpmjs' keyword</tspan></text></g><g class="c2NoZW1hX3BpcGVsaW5lLnN5bmNfd29ya2Vycw=="><g class="shape" ><rect x="580.000000" y="3458.000000" width="950.000000" height="182.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="1055.000000" y="3487.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Sync Workers (Vercel Cron)</text></g><g class="c2NoZW1hX3BpcGVsaW5lLmV4dHJhY3Rpb24="><g class="shape" ><rect x="144.000000" y="3710.000000" width="2116.000000" height="166.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="1202.000000" y="3739.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Schema Extraction</text></g><g class="c2NoZW1hX3BpcGVsaW5lLnpvZF9jb252ZXJzaW9u"><g class="shape" ><rect x="899.000000" y="3951.000000" width="334.000000" height="742.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="1066.000000" y="3980.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Zod / AI SDK Conversion</text></g><g class="ZXhlY3V0b3JzLmNvbnRyYWN0"><g class="shape" ><rect x="2598.000000" y="3608.000000" width="1060.000000" height="182.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="3128.000000" y="3637.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Executor Contract</text></g><g class="ZXhlY3V0b3JzLmltcGxlbWVudGF0aW9ucw=="><g class="shape" ><rect x="2818.000000" y="3860.000000" width="823.000000" height="214.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="3229.500000" y="3889.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Implementations</text></g><g class="ZGF0YWJhc2UucGFja2FnZXNfZ3JvdXA="><g class="shape" ><rect x="3001.000000" y="5595.000000" width="539.000000" height="166.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="3270.500000" y="5624.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">PACKAGES</text></g><g class="ZGF0YWJhc2UudXNlcnNfZ3JvdXA="><g class="shape" ><rect x="3560.000000" y="5595.000000" width="918.000000" height="166.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="4019.000000" y="5624.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">USERS</text></g><g class="ZGF0YWJhc2UuZXhlY3V0aW9uX2dyb3Vw"><g class="shape" ><rect x="5461.000000" y="5595.000000" width="919.000000" height="166.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="5920.500000" y="5624.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">EXECUTION</text></g><g class="ZGF0YWJhc2UuY29sbGVjdGlvbnNfZ3JvdXA="><g class="shape" ><rect x="2852.000000" y="6151.000000" width="768.000000" height="296.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="3236.000000" y="6180.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">COLLECTIONS</text></g><g class="ZGF0YWJhc2UuYWdlbnRzX2dyb3Vw"><g class="shape" ><rect x="2772.000000" y="6687.000000" width="927.000000" height="346.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="3235.500000" y="6716.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">AGENTS</text></g><g class="ZGF0YWJhc2Uuc3luY19ncm91cA=="><g class="shape" ><rect x="6400.000000" y="5595.000000" width="780.000000" height="166.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="6790.000000" y="5624.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">SYNC</text></g><g class="ZGF0YWJhc2Uuc2NlbmFyaW9zX2dyb3Vw"><g class="shape" ><rect x="4173.000000" y="6730.000000" width="741.000000" height="166.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="4543.500000" y="6759.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">SCENARIOS</text></g><g class="ZGF0YWJhc2UudXNlX2Nhc2VzX2dyb3Vw"><g class="shape" ><rect x="4975.000000" y="7118.000000" width="728.000000" height="166.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="5339.000000" y="7147.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">USE_CASES</text></g><g class="ZGF0YWJhc2UuZW5nYWdlbWVudF9ncm91cA=="><g class="shape" ><rect x="3640.000000" y="6151.000000" width="651.000000" height="166.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="3965.500000" y="6180.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">ENGAGEMENT</text></g><g class="ZGF0YWJhc2UuYnJpZGdlX2dyb3Vw wip" style='opacity:0.700000'><g class="shape" ><rect x="5108.000000" y="6151.000000" width="272.000000" height="166.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B2 fill-B5" style="stroke-width:2;stroke-dasharray:10.000000,9.865639;" /></g><text x="5244.000000" y="6180.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">BRIDGE</text></g><g class="d29ya2Vycy5zeW5jX2pvYnM="><g class="shape" ><rect x="5332.000000" y="862.000000" width="932.000000" height="182.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="5798.000000" y="891.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Sync Jobs</text></g><g class="d29ya2Vycy5kYWlseV9qb2Jz"><g class="shape" ><rect x="6284.000000" y="862.000000" width="1277.000000" height="182.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="6922.500000" y="891.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Daily Jobs</text></g><g class="ZXh0ZXJuYWwucGFja2FnZV9zb3VyY2Vz"><g class="shape" ><rect x="1048.000000" y="5118.000000" width="742.000000" height="182.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="1419.000000" y="5147.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Package Sources</text></g><g class="ZXh0ZXJuYWwucnVudGltZQ=="><g class="shape" ><rect x="1810.000000" y="5118.000000" width="745.000000" height="182.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="2182.500000" y="5147.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Runtime</text></g><g class="ZXh0ZXJuYWwuZGF0YQ=="><g class="shape" ><rect x="2575.000000" y="5113.000000" width="296.000000" height="182.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="2723.000000" y="5142.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Data</text></g><g class="ZXh0ZXJuYWwuYWlfcHJvdmlkZXJz"><g class="shape" ><rect x="2891.000000" y="5118.000000" width="749.000000" height="182.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="3265.500000" y="5147.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">AI Providers</text></g><g class="ZXh0ZXJuYWwubm90aWZpY2F0aW9ucw=="><g class="shape" ><rect x="3660.000000" y="5115.000000" width="262.000000" height="182.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="3791.000000" y="5144.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Notifications</text></g><g class="YnJpZGdlX3N5c3RlbS5sb2NhbF9tY3A="><g class="shape" ><rect x="4944.000000" y="334.000000" width="167.000000" height="82.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="5027.500000" y="372.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="5027.500000" dy="0.000000">Local MCP Server</tspan><tspan x="5027.500000" dy="18.500000">(Blender, etc.)</tspan></text></g><g class="YnJpZGdlX3N5c3RlbS5icmlkZ2VfY2xp"><g class="shape" ><rect x="5009.000000" y="496.000000" width="161.000000" height="82.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="5089.500000" y="534.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="5089.500000" dy="0.000000">Bridge CLI</tspan><tspan x="5089.500000" dy="18.500000">(@tpmjs/bridge)</tspan></text></g><g class="YnJpZGdlX3N5c3RlbS5hcGlfYnJpZGdl"><g class="shape" ><rect x="4967.000000" y="648.000000" width="245.000000" height="82.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="5089.500000" y="686.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="5089.500000" dy="0.000000">POST /api/bridge</tspan><tspan x="5089.500000" dy="18.500000">{ type: 'register', tools: [...] }</tspan></text></g><g class="YnJpZGdlX3N5c3RlbS5kYl9yZWNvcmQ="><g class="shape" ><rect x="4979.000000" y="800.000000" width="221.000000" height="66.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="5089.500000" y="838.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">BridgeConnection record</text></g><g class="YnJpZGdlX3N5c3RlbS5wb2xsaW5n"><g class="shape" ><rect x="4867.000000" y="946.000000" width="269.000000" height="98.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="5001.500000" y="984.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="5001.500000" dy="0.000000">Tool calls via polling:</tspan><tspan x="5001.500000" dy="17.666667">GET /api/bridge -> pending calls</tspan><tspan x="5001.500000" dy="17.666667">POST /api/bridge -> tool results</tspan></text></g><g class="YWlfaW50ZWdyYXRpb24udXNlcl9rZXlz"><g class="shape" ><rect x="4278.000000" y="4511.000000" width="579.000000" height="182.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="4567.500000" y="4540.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">User-Provided Keys</text></g><g class="YWlfaW50ZWdyYXRpb24uaW50ZXJuYWxfa2V5cw=="><g class="shape" ><rect x="4877.000000" y="4511.000000" width="968.000000" height="182.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="5361.000000" y="4540.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Internal Keys (TPMJS)</text></g><g class="YWlfaW50ZWdyYXRpb24ucHJvdmlkZXJz"><g class="shape" ><rect x="5865.000000" y="4463.000000" width="350.000000" height="230.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="6040.000000" y="4492.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">Supported Providers</text></g><g class="Z2F0ZXdheS5hdXRoLmJldHRlcl9hdXRo"><g class="shape" ><rect x="3473.000000" y="489.000000" width="221.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3583.500000" y="527.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="3583.500000" dy="0.000000">Better Auth</tspan><tspan x="3583.500000" dy="18.500000">(email/password, OAuth)</tspan></text></g><g class="Z2F0ZXdheS5hdXRoLmFwaV9rZXlz"><g class="shape" ><rect x="3714.000000" y="489.000000" width="195.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3811.500000" y="527.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="3811.500000" dy="0.000000">TPMJS API Keys</tspan><tspan x="3811.500000" dy="18.500000">(scoped permissions)</tspan></text></g><g class="Z2F0ZXdheS5hdXRoLnNlc3Npb25z"><g class="shape" ><rect x="3929.000000" y="497.000000" width="153.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="4005.500000" y="535.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Session Tokens</text></g><g class="Z2F0ZXdheS5yYXRlX2xpbWl0LnBlcl9lbmRwb2ludA=="><g class="shape" ><rect x="4202.000000" y="497.000000" width="182.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="4293.000000" y="535.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Per-endpoint limits</text></g><g class="Z2F0ZXdheS5yYXRlX2xpbWl0LnRpZXJfYmFzZWQ="><g class="shape" ><rect x="4404.000000" y="489.000000" width="226.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="4517.000000" y="527.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="4517.000000" dy="0.000000">User tier-based</tspan><tspan x="4517.000000" dy="18.500000">(FREE, PRO, ENTERPRISE)</tspan></text></g><g class="YXBpLmRpc2NvdmVyeS5saXN0"><g class="shape" ><rect x="1767.000000" y="1514.000000" width="145.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="1839.500000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">GET /api/tools</text></g><g class="YXBpLmRpc2NvdmVyeS5zZWFyY2g="><g class="shape" ><rect x="1932.000000" y="1514.000000" width="197.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="2030.500000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">GET /api/tools/search</text></g><g class="YXBpLmRpc2NvdmVyeS5kZXRhaWw="><g class="shape" ><rect x="2149.000000" y="1514.000000" width="174.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="2236.000000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">GET /api/tools/[id]</text></g><g class="YXBpLmV4ZWN1dGlvbi5leGVjdXRl"><g class="shape" ><rect x="2443.000000" y="1514.000000" width="261.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="2573.500000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">POST /api/tools/execute/[slug]</text></g><g class="YXBpLmV4ZWN1dGlvbi5zdHJlYW0="><g class="shape" ><rect x="2724.000000" y="1514.000000" width="157.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="2802.500000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">(SSE streaming)</text></g><g class="YXBpLm1jcC5lbmRwb2ludA=="><g class="shape" ><rect x="3001.000000" y="1514.000000" width="285.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3143.500000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">/api/mcp/[user]/[slug]/[transport]</text></g><g class="YXBpLm1jcC5wcm90b2NvbA=="><g class="shape" ><rect x="3306.000000" y="1514.000000" width="152.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3382.000000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">(JSON-RPC 2.0)</text></g><g class="YXBpLmFnZW50cy5hZ2VudHNfYXBp"><g class="shape" ><rect x="3578.000000" y="1514.000000" width="138.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3647.000000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">/api/agents/*</text></g><g class="YXBpLmFnZW50cy5jb2xsZWN0aW9uc19hcGk="><g class="shape" ><rect x="3736.000000" y="1514.000000" width="168.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3820.000000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">/api/collections/*</text></g><g class="YXBpLmFnZW50cy5jaGF0X2FwaQ=="><g class="shape" ><rect x="3924.000000" y="1514.000000" width="122.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3985.000000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">/api/chat/*</text></g><g class="YXBpLmJyaWRnZS5yZWdpc3Rlcg=="><g class="shape" ><rect x="4166.000000" y="1514.000000" width="165.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="4248.500000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">POST /api/bridge</text></g><g class="YXBpLmJyaWRnZS5wb2xs"><g class="shape" ><rect x="4351.000000" y="1514.000000" width="155.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="4428.500000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">GET /api/bridge</text></g><g class="YXBpLmJyaWRnZS5yZXNwb25k"><g class="shape" ><rect x="4526.000000" y="1514.000000" width="168.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="4610.000000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">(polling + results)</text></g><g class="YXBpLnRlc3Rpbmcuc2NlbmFyaW9zX2FwaQ=="><g class="shape" ><rect x="4814.000000" y="1514.000000" width="158.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="4893.000000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">/api/scenarios/*</text></g><g class="YXBpLnRlc3RpbmcudXNlX2Nhc2VzX2FwaQ=="><g class="shape" ><rect x="4992.000000" y="1514.000000" width="159.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5071.500000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">/api/use-cases/*</text></g><g class="YXBpLnN5bmMuY2hhbmdlcw=="><g class="shape" ><rect x="5271.000000" y="1514.000000" width="174.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5358.000000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">/api/sync/changes</text></g><g class="YXBpLnN5bmMua2V5d29yZA=="><g class="shape" ><rect x="5465.000000" y="1514.000000" width="178.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5554.000000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">/api/sync/keyword</text></g><g class="YXBpLnN5bmMubWV0cmljcw=="><g class="shape" ><rect x="5663.000000" y="1514.000000" width="169.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5747.500000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">/api/sync/metrics</text></g><g class="YXBpLmhlYWx0aC5zdGF0cw=="><g class="shape" ><rect x="5952.000000" y="1514.000000" width="144.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="6024.000000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">GET /api/stats</text></g><g class="YXBpLmhlYWx0aC5oZWFsdGg="><g class="shape" ><rect x="6116.000000" y="1514.000000" width="155.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="6193.500000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">GET /api/health</text></g><g class="YXBpLmhlYWx0aC5yZXBvcnQ="><g class="shape" ><rect x="6291.000000" y="1514.000000" width="215.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="6398.500000" y="1552.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">POST /api/health/report</text></g><g class="ZXhlY3V0aW9uX2Zsb3dzLnBsYXlncm91bmRfZmxvdy5zdGVwMQ=="><g class="shape" ><rect x="2892.000000" y="2090.000000" width="150.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="2967.000000" y="2128.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">1. User Prompt</text></g><g class="ZXhlY3V0aW9uX2Zsb3dzLnBsYXlncm91bmRfZmxvdy5zdGVwMg=="><g class="shape" ><rect x="2828.000000" y="2236.000000" width="278.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="2967.000000" y="2274.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">2. POST /api/tools/execute/[slug]</text></g><g class="ZXhlY3V0aW9uX2Zsb3dzLnBsYXlncm91bmRfZmxvdy5zdGVwMw=="><g class="shape" ><rect x="2867.000000" y="2372.000000" width="200.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="2967.000000" y="2410.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="2967.000000" dy="0.000000">3. AI Agent (AI SDK v6)</tspan><tspan x="2967.000000" dy="18.500000">GPT-4 / Claude / etc.</tspan></text></g><g class="ZXhlY3V0aW9uX2Zsb3dzLnBsYXlncm91bmRfZmxvdy5zdGVwNA=="><g class="shape" ><rect x="2870.000000" y="2524.000000" width="193.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="2966.500000" y="2562.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">4. Tool Schema (Zod)</text></g><g class="ZXhlY3V0aW9uX2Zsb3dzLnBsYXlncm91bmRfZmxvdy5zdGVwNQ=="><g class="shape" ><rect x="2841.000000" y="2660.000000" width="252.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="2967.000000" y="2698.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="2967.000000" dy="0.000000">5. Executor Resolution</tspan><tspan x="2967.000000" dy="18.500000">Agent -> Collection -> Default</tspan></text></g><g class="ZXhlY3V0aW9uX2Zsb3dzLnBsYXlncm91bmRfZmxvdy5zdGVwNg=="><g class="shape" ><rect x="2863.000000" y="2812.000000" width="208.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="2967.000000" y="2850.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="2967.000000" dy="0.000000">6. EXECUTOR (Railway)</tspan><tspan x="2967.000000" dy="18.500000">POST /execute-tool</tspan></text></g><g class="ZXhlY3V0aW9uX2Zsb3dzLnBsYXlncm91bmRfZmxvdy5zdGVwNw=="><g class="shape" ><rect x="2774.000000" y="2974.000000" width="230.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="2889.000000" y="3012.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="2889.000000" dy="0.000000">7. SSE Stream Response</tspan><tspan x="2889.000000" dy="18.500000">(chunk, tokens, complete)</tspan></text></g><g class="ZXhlY3V0aW9uX2Zsb3dzLm1jcF9mbG93Lm1jcDE="><g class="shape" ><rect x="3352.000000" y="2106.000000" width="183.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3443.500000" y="2144.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">1. External AI Client</text></g><g class="ZXhlY3V0aW9uX2Zsb3dzLm1jcF9mbG93Lm1jcDI="><g class="shape" ><rect x="3364.000000" y="2242.000000" width="159.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3443.500000" y="2280.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">2. JSON-RPC 2.0</text></g><g class="ZXhlY3V0aW9uX2Zsb3dzLm1jcF9mbG93Lm1jcDM="><g class="shape" ><rect x="3226.000000" y="2388.000000" width="302.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3377.000000" y="2426.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">3. /api/mcp/[user]/[slug]/[transport]</text></g><g class="ZXhlY3V0aW9uX2Zsb3dzLm1jcF9mbG93Lm1jcDQ="><g class="shape" ><rect x="3285.000000" y="2524.000000" width="183.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3376.500000" y="2562.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="3376.500000" dy="0.000000">4. MCP Handler</tspan><tspan x="3376.500000" dy="18.500000">tools/list, tools/call</tspan></text></g><g class="ZXhlY3V0aW9uX2Zsb3dzLm1jcF9mbG93Lm1jcDU="><g class="shape" ><rect x="3268.000000" y="2676.000000" width="217.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3376.500000" y="2714.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="3376.500000" dy="0.000000">5. Tool Name Resolution</tspan><tspan x="3376.500000" dy="18.500000">Registry + Bridge tools</tspan></text></g><g class="ZXhlY3V0aW9uX2Zsb3dzLm1jcF9mbG93Lm1jcDY="><g class="shape" ><rect x="3293.000000" y="2828.000000" width="168.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3377.000000" y="2866.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">6. Same Executor</text></g><g class="ZXhlY3V0aW9uX2Zsb3dzLm1jcF9mbG93Lm1jcDc="><g class="shape" ><rect x="3346.000000" y="2974.000000" width="205.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3448.500000" y="3012.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">7. JSON-RPC Response</text></g><g class="c2NoZW1hX3BpcGVsaW5lLnN5bmNfd29ya2Vycy5jaGFuZ2VzX2ZlZWQ="><g class="shape" ><rect x="630.000000" y="3508.000000" width="269.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="764.500000" y="3546.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="764.500000" dy="0.000000">/api/sync/changes (every 2 min)</tspan><tspan x="764.500000" dy="18.500000">npm _changes feed</tspan></text></g><g class="c2NoZW1hX3BpcGVsaW5lLnN5bmNfd29ya2Vycy5rZXl3b3JkX3NlYXJjaA=="><g class="shape" ><rect x="919.000000" y="3508.000000" width="282.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="1060.000000" y="3546.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="1060.000000" dy="0.000000">/api/sync/keyword (every 15 min)</tspan><tspan x="1060.000000" dy="18.500000">keyword search</tspan></text></g><g class="c2NoZW1hX3BpcGVsaW5lLnN5bmNfd29ya2Vycy5tZXRyaWNzX3N5bmM="><g class="shape" ><rect x="1221.000000" y="3508.000000" width="259.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="1350.500000" y="3546.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="1350.500000" dy="0.000000">/api/sync/metrics (every hour)</tspan><tspan x="1350.500000" dy="18.500000">downloads, stars</tspan></text></g><g class="c2NoZW1hX3BpcGVsaW5lLmV4dHJhY3Rpb24uc3RlcDE="><g class="shape" ><rect x="194.000000" y="3760.000000" width="235.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="311.500000" y="3798.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">1. Fetch package from npm</text></g><g class="c2NoZW1hX3BpcGVsaW5lLmV4dHJhY3Rpb24uc3RlcDI="><g class="shape" ><rect x="449.000000" y="3760.000000" width="263.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="580.500000" y="3798.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">2. Import via esm.sh (dynamic)</text></g><g class="c2NoZW1hX3BpcGVsaW5lLmV4dHJhY3Rpb24uc3RlcDM="><g class="shape" ><rect x="732.000000" y="3760.000000" width="310.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="887.000000" y="3798.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">3. listToolExports() - discover exports</text></g><g class="c2NoZW1hX3BpcGVsaW5lLmV4dHJhY3Rpb24uc3RlcDQ="><g class="shape" ><rect x="1062.000000" y="3760.000000" width="355.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="1239.500000" y="3798.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">4. extractToolSchema() - analyze signatures</text></g><g class="c2NoZW1hX3BpcGVsaW5lLmV4dHJhY3Rpb24uc3RlcDU="><g class="shape" ><rect x="1437.000000" y="3760.000000" width="232.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="1553.000000" y="3798.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">5. AI extraction (if needed)</text></g><g class="c2NoZW1hX3BpcGVsaW5lLmV4dHJhY3Rpb24uc3RlcDY="><g class="shape" ><rect x="1689.000000" y="3760.000000" width="208.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="1793.000000" y="3798.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">6. validateTpmjsField()</text></g><g class="c2NoZW1hX3BpcGVsaW5lLmV4dHJhY3Rpb24uc3RlcDc="><g class="shape" ><rect x="1917.000000" y="3760.000000" width="293.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="2063.500000" y="3798.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">7. Store in database (inputSchema)</text></g><g class="c2NoZW1hX3BpcGVsaW5lLnpvZF9jb252ZXJzaW9uLnBhcmFtcw=="><g class="shape" ><rect x="977.000000" y="4001.000000" width="179.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="1066.500000" y="4039.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">TPMJS Parameters</text></g><g class="c2NoZW1hX3BpcGVsaW5lLnpvZF9jb252ZXJzaW9uLmNvbnZlcnQ="><g class="shape" ><rect x="961.000000" y="4137.000000" width="211.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="1066.500000" y="4175.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">convertToZodSchema()</text></g><g class="c2NoZW1hX3BpcGVsaW5lLnpvZF9jb252ZXJzaW9uLnpvZA=="><g class="shape" ><rect x="994.000000" y="4273.000000" width="144.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="1066.000000" y="4311.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="1066.000000" dy="0.000000">Zod Schema</tspan><tspan x="1066.000000" dy="18.500000">z.object({ ... })</tspan></text></g><g class="c2NoZW1hX3BpcGVsaW5lLnpvZF9jb252ZXJzaW9uLmFpX3Nkaw=="><g class="shape" ><rect x="972.000000" y="4425.000000" width="189.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="1066.500000" y="4463.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">AI SDK inputSchema</text></g><g class="c2NoZW1hX3BpcGVsaW5lLnpvZF9jb252ZXJzaW9uLmxsbV9kZWY="><g class="shape" ><rect x="949.000000" y="4561.000000" width="234.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="1066.000000" y="4599.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="1066.000000" dy="0.000000">LLM Tool Definition</tspan><tspan x="1066.000000" dy="18.500000">(OpenAI/Anthropic format)</tspan></text></g><g class="ZXhlY3V0b3JzLmNvbnRyYWN0LmV4ZWN1dGU="><g class="shape" ><rect x="2648.000000" y="3658.000000" width="367.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="2831.500000" y="3696.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="2831.500000" dy="0.000000">POST /execute-tool</tspan><tspan x="2831.500000" dy="18.500000">{ packageName, name, version, params, env }</tspan></text></g><g class="ZXhlY3V0b3JzLmNvbnRyYWN0LnJlc3BvbnNl"><g class="shape" ><rect x="3035.000000" y="3666.000000" width="425.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3247.500000" y="3704.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Response: { success, output, error, executionTimeMs }</text></g><g class="ZXhlY3V0b3JzLmNvbnRyYWN0LmhlYWx0aA=="><g class="shape" ><rect x="3480.000000" y="3666.000000" width="128.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3544.000000" y="3704.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">GET /health</text></g><g class="ZXhlY3V0b3JzLmltcGxlbWVudGF0aW9ucy5yYWlsd2F5"><g class="shape" ><rect x="2868.000000" y="3910.000000" width="281.000000" height="114.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3008.500000" y="3948.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="3008.500000" dy="0.000000">Railway (Default)</tspan><tspan x="3008.500000" dy="17.250000">- Sandboxed Node.js</tspan><tspan x="3008.500000" dy="17.250000">- Dynamic imports from esm.sh</tspan><tspan x="3008.500000" dy="17.250000">- Runs untrusted npm code safely</tspan></text></g><g class="ZXhlY3V0b3JzLmltcGxlbWVudGF0aW9ucy52ZXJjZWxfdGVtcGxhdGU="><g class="shape" ><rect x="3169.000000" y="3918.000000" width="199.000000" height="98.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3268.500000" y="3956.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="3268.500000" dy="0.000000">Vercel Template</tspan><tspan x="3268.500000" dy="17.666667">- Serverless functions</tspan><tspan x="3268.500000" dy="17.666667">- One-click deploy</tspan></text></g><g class="ZXhlY3V0b3JzLmltcGxlbWVudGF0aW9ucy5mdXR1cmU="><g class="shape" ><rect x="3388.000000" y="3910.000000" width="203.000000" height="114.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3489.500000" y="3948.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="3489.500000" dy="0.000000">Future Options</tspan><tspan x="3489.500000" dy="17.250000">- AWS Lambda</tspan><tspan x="3489.500000" dy="17.250000">- Docker</tspan><tspan x="3489.500000" dy="17.250000">- Custom HTTP service</tspan></text></g><g class="ZGF0YWJhc2UucGFja2FnZXNfZ3JvdXAuUGFja2FnZQ=="><g class="shape" ><rect x="3051.000000" y="5645.000000" width="104.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3103.000000" y="5683.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Package</text></g><g class="ZGF0YWJhc2UucGFja2FnZXNfZ3JvdXAuVG9vbA=="><g class="shape" ><rect x="3175.000000" y="5645.000000" width="160.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3255.000000" y="5683.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Tool</text></g><g class="ZGF0YWJhc2UucGFja2FnZXNfZ3JvdXAuSGVhbHRoQ2hlY2s="><g class="shape" ><rect x="3355.000000" y="5645.000000" width="135.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3422.500000" y="5683.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">HealthCheck</text></g><g class="ZGF0YWJhc2UudXNlcnNfZ3JvdXAuVXNlcg=="><g class="shape" ><rect x="3610.000000" y="5645.000000" width="120.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3670.000000" y="5683.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">User</text></g><g class="ZGF0YWJhc2UudXNlcnNfZ3JvdXAuU2Vzc2lvbg=="><g class="shape" ><rect x="3750.000000" y="5645.000000" width="99.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3799.500000" y="5683.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Session</text></g><g class="ZGF0YWJhc2UudXNlcnNfZ3JvdXAuQWNjb3VudA=="><g class="shape" ><rect x="3869.000000" y="5645.000000" width="104.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3921.000000" y="5683.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Account</text></g><g class="ZGF0YWJhc2UudXNlcnNfZ3JvdXAuVmVyaWZpY2F0aW9u"><g class="shape" ><rect x="3993.000000" y="5645.000000" width="129.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="4057.500000" y="5683.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Verification</text></g><g class="ZGF0YWJhc2UudXNlcnNfZ3JvdXAuVXNlckFwaUtleQ=="><g class="shape" ><rect x="4142.000000" y="5645.000000" width="127.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="4205.500000" y="5683.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">UserApiKey</text></g><g class="ZGF0YWJhc2UudXNlcnNfZ3JvdXAuVHBtanNBcGlLZXk="><g class="shape" ><rect x="4289.000000" y="5645.000000" width="139.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="4358.500000" y="5683.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">TpmjsApiKey</text></g><g class="ZGF0YWJhc2UuZXhlY3V0aW9uX2dyb3VwLlNpbXVsYXRpb24="><g class="shape" ><rect x="5511.000000" y="5645.000000" width="123.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5572.500000" y="5683.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Simulation</text></g><g class="ZGF0YWJhc2UuZXhlY3V0aW9uX2dyb3VwLlRva2VuVXNhZ2U="><g class="shape" ><rect x="5654.000000" y="5645.000000" width="132.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5720.000000" y="5683.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">TokenUsage</text></g><g class="ZGF0YWJhc2UuZXhlY3V0aW9uX2dyb3VwLkV4ZWN1dGlvbkxvZw=="><g class="shape" ><rect x="5806.000000" y="5645.000000" width="141.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5876.500000" y="5683.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">ExecutionLog</text></g><g class="ZGF0YWJhc2UuZXhlY3V0aW9uX2dyb3VwLkFwaVVzYWdlUmVjb3Jk"><g class="shape" ><rect x="5967.000000" y="5645.000000" width="162.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="6048.000000" y="5683.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">ApiUsageRecord</text></g><g class="ZGF0YWJhc2UuZXhlY3V0aW9uX2dyb3VwLkFwaVVzYWdlU3VtbWFyeQ=="><g class="shape" ><rect x="6149.000000" y="5645.000000" width="181.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="6239.500000" y="5683.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">ApiUsageSummary</text></g><g class="ZGF0YWJhc2UuY29sbGVjdGlvbnNfZ3JvdXAuQ29sbGVjdGlvbg=="><g class="shape" ><rect x="2902.000000" y="6331.000000" width="117.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="2960.500000" y="6369.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Collection</text></g><g class="ZGF0YWJhc2UuY29sbGVjdGlvbnNfZ3JvdXAuQ29sbGVjdGlvblRvb2w="><g class="shape" ><rect x="3039.000000" y="6331.000000" width="149.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3113.500000" y="6369.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">CollectionTool</text></g><g class="ZGF0YWJhc2UuY29sbGVjdGlvbnNfZ3JvdXAuQ29sbGVjdGlvbkxpa2U="><g class="shape" ><rect x="3208.000000" y="6331.000000" width="147.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3281.500000" y="6369.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">CollectionLike</text></g><g class="ZGF0YWJhc2UuY29sbGVjdGlvbnNfZ3JvdXAuQ29sbGVjdGlvbkJyaWRnZVRvb2w="><g class="shape" ><rect x="3375.000000" y="6331.000000" width="195.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3472.500000" y="6369.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">CollectionBridgeTool</text></g><g class="ZGF0YWJhc2UuYWdlbnRzX2dyb3VwLkFnZW50"><g class="shape" ><rect x="2822.000000" y="6917.000000" width="88.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="2866.000000" y="6955.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Agent</text></g><g class="ZGF0YWJhc2UuYWdlbnRzX2dyb3VwLkFnZW50Q29sbGVjdGlvbg=="><g class="shape" ><rect x="2930.000000" y="6917.000000" width="159.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3009.500000" y="6955.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">AgentCollection</text></g><g class="ZGF0YWJhc2UuYWdlbnRzX2dyb3VwLkFnZW50VG9vbA=="><g class="shape" ><rect x="3109.000000" y="6917.000000" width="119.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3168.500000" y="6955.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">AgentTool</text></g><g class="ZGF0YWJhc2UuYWdlbnRzX2dyb3VwLkFnZW50TGlrZQ=="><g class="shape" ><rect x="3248.000000" y="6917.000000" width="117.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3306.500000" y="6955.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">AgentLike</text></g><g class="ZGF0YWJhc2UuYWdlbnRzX2dyb3VwLkNvbnZlcnNhdGlvbg=="><g class="shape" ><rect x="3385.000000" y="6917.000000" width="140.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3455.000000" y="6955.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Conversation</text></g><g class="ZGF0YWJhc2UuYWdlbnRzX2dyb3VwLk1lc3NhZ2U="><g class="shape" ><rect x="3545.000000" y="6917.000000" width="104.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3597.000000" y="6955.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Message</text></g><g class="ZGF0YWJhc2Uuc3luY19ncm91cC5TeW5jQ2hlY2twb2ludA=="><g class="shape" ><rect x="6450.000000" y="5645.000000" width="160.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="6530.000000" y="5683.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">SyncCheckpoint</text></g><g class="ZGF0YWJhc2Uuc3luY19ncm91cC5TeW5jTG9n"><g class="shape" ><rect x="6630.000000" y="5645.000000" width="106.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="6683.000000" y="5683.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">SyncLog</text></g><g class="ZGF0YWJhc2Uuc3luY19ncm91cC5TdGF0c1NuYXBzaG90"><g class="shape" ><rect x="6756.000000" y="5645.000000" width="149.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="6830.500000" y="5683.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">StatsSnapshot</text></g><g class="ZGF0YWJhc2Uuc3luY19ncm91cC5FbmRwb2ludEhlYWx0aFJlcG9ydA=="><g class="shape" ><rect x="6925.000000" y="5645.000000" width="205.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="7027.500000" y="5683.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">EndpointHealthReport</text></g><g class="ZGF0YWJhc2Uuc2NlbmFyaW9zX2dyb3VwLlNjZW5hcmlv"><g class="shape" ><rect x="4223.000000" y="6780.000000" width="108.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="4277.000000" y="6818.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Scenario</text></g><g class="ZGF0YWJhc2Uuc2NlbmFyaW9zX2dyb3VwLlNjZW5hcmlvUnVu"><g class="shape" ><rect x="4351.000000" y="6780.000000" width="135.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="4418.500000" y="6818.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">ScenarioRun</text></g><g class="ZGF0YWJhc2Uuc2NlbmFyaW9zX2dyb3VwLlNjZW5hcmlvRW1iZWRkaW5n"><g class="shape" ><rect x="4506.000000" y="6780.000000" width="188.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="4600.000000" y="6818.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">ScenarioEmbedding</text></g><g class="ZGF0YWJhc2Uuc2NlbmFyaW9zX2dyb3VwLlNjZW5hcmlvUXVvdGE="><g class="shape" ><rect x="4714.000000" y="6780.000000" width="150.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="4789.000000" y="6818.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">ScenarioQuota</text></g><g class="ZGF0YWJhc2UudXNlX2Nhc2VzX2dyb3VwLlVzZUNhc2U="><g class="shape" ><rect x="5025.000000" y="7168.000000" width="103.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5076.500000" y="7206.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">UseCase</text></g><g class="ZGF0YWJhc2UudXNlX2Nhc2VzX2dyb3VwLlBlcnNvbmE="><g class="shape" ><rect x="5148.000000" y="7168.000000" width="102.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5199.000000" y="7206.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Persona</text></g><g class="ZGF0YWJhc2UudXNlX2Nhc2VzX2dyb3VwLkluZHVzdHJ5"><g class="shape" ><rect x="5270.000000" y="7168.000000" width="105.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5322.500000" y="7206.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Industry</text></g><g class="ZGF0YWJhc2UudXNlX2Nhc2VzX2dyb3VwLkNhdGVnb3J5"><g class="shape" ><rect x="5395.000000" y="7168.000000" width="110.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5450.000000" y="7206.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Category</text></g><g class="ZGF0YWJhc2UudXNlX2Nhc2VzX2dyb3VwLlNvY2lhbFByb29m"><g class="shape" ><rect x="5525.000000" y="7168.000000" width="128.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5589.000000" y="7206.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">SocialProof</text></g><g class="ZGF0YWJhc2UuZW5nYWdlbWVudF9ncm91cC5Ub29sTGlrZQ=="><g class="shape" ><rect x="3690.000000" y="6201.000000" width="106.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3743.000000" y="6239.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">ToolLike</text></g><g class="ZGF0YWJhc2UuZW5nYWdlbWVudF9ncm91cC5Ub29sUmF0aW5n"><g class="shape" ><rect x="3816.000000" y="6201.000000" width="124.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3878.000000" y="6239.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">ToolRating</text></g><g class="ZGF0YWJhc2UuZW5nYWdlbWVudF9ncm91cC5Ub29sUmV2aWV3"><g class="shape" ><rect x="3960.000000" y="6201.000000" width="129.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="4024.500000" y="6239.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">ToolReview</text></g><g class="ZGF0YWJhc2UuZW5nYWdlbWVudF9ncm91cC5Vc2VyQWN0aXZpdHk="><g class="shape" ><rect x="4109.000000" y="6201.000000" width="132.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="4175.000000" y="6239.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">UserActivity</text></g><g class="ZGF0YWJhc2UuYnJpZGdlX2dyb3VwLkJyaWRnZUNvbm5lY3Rpb24="><g class="shape" ><rect x="5158.000000" y="6201.000000" width="172.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5244.000000" y="6239.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">BridgeConnection</text></g><g class="d29ya2Vycy5zeW5jX2pvYnMuY2hhbmdlcw=="><g class="shape" ><rect x="5382.000000" y="912.000000" width="263.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5513.500000" y="950.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="5513.500000" dy="0.000000">Every 2 min: /api/sync/changes</tspan><tspan x="5513.500000" dy="18.500000">(npm changes feed)</tspan></text></g><g class="d29ya2Vycy5zeW5jX2pvYnMua2V5d29yZA=="><g class="shape" ><rect x="5665.000000" y="912.000000" width="276.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5803.000000" y="950.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="5803.000000" dy="0.000000">Every 15 min: /api/sync/keyword</tspan><tspan x="5803.000000" dy="18.500000">(keyword search)</tspan></text></g><g class="d29ya2Vycy5zeW5jX2pvYnMubWV0cmljcw=="><g class="shape" ><rect x="5961.000000" y="912.000000" width="253.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="6087.500000" y="950.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="6087.500000" dy="0.000000">Every hour: /api/sync/metrics</tspan><tspan x="6087.500000" dy="18.500000">(downloads, stars)</tspan></text></g><g class="d29ya2Vycy5kYWlseV9qb2JzLnN0YXRz"><g class="shape" ><rect x="6334.000000" y="920.000000" width="264.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="6466.000000" y="958.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Daily: /api/sync/stats-snapshot</text></g><g class="d29ya2Vycy5kYWlseV9qb2JzLmNsZWFudXA="><g class="shape" ><rect x="6618.000000" y="920.000000" width="308.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="6772.000000" y="958.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Daily 3am: /api/sync/cleanup-activity</text></g><g class="d29ya2Vycy5kYWlseV9qb2JzLmRpc2NvcmQ="><g class="shape" ><rect x="6946.000000" y="920.000000" width="318.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="7105.000000" y="958.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Daily 9am: /api/cron/discord-summary</text></g><g class="d29ya2Vycy5kYWlseV9qb2JzLnVzZV9jYXNlcw=="><g class="shape" ><rect x="7284.000000" y="912.000000" width="227.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="7397.500000" y="950.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="7397.500000" dy="0.000000">Daily: /api/cron/use-cases</tspan><tspan x="7397.500000" dy="18.500000">(AI generation)</tspan></text></g><g class="ZXh0ZXJuYWwucGFja2FnZV9zb3VyY2VzLm5wbQ=="><g class="shape" ><rect x="1098.000000" y="5168.000000" width="212.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="1204.000000" y="5206.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="1204.000000" dy="0.000000">npm Registry</tspan><tspan x="1204.000000" dy="18.500000">Metadata, changes feed</tspan></text></g><g class="ZXh0ZXJuYWwucGFja2FnZV9zb3VyY2VzLmdpdGh1Yg=="><g class="shape" ><rect x="1330.000000" y="5168.000000" width="195.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="1427.500000" y="5206.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="1427.500000" dy="0.000000">GitHub API</tspan><tspan x="1427.500000" dy="18.500000">Stars, repo metadata</tspan></text></g><g class="ZXh0ZXJuYWwucGFja2FnZV9zb3VyY2VzLmJ1bmRsZXBob2JpYQ=="><g class="shape" ><rect x="1545.000000" y="5168.000000" width="195.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="1642.500000" y="5206.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="1642.500000" dy="0.000000">Bundlephobia</tspan><tspan x="1642.500000" dy="18.500000">Package size analysis</tspan></text></g><g class="ZXh0ZXJuYWwucnVudGltZS5lc21fc2g="><g class="shape" ><rect x="1860.000000" y="5168.000000" width="199.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="1959.500000" y="5206.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="1959.500000" dy="0.000000">esm.sh</tspan><tspan x="1959.500000" dy="18.500000">Dynamic ESM imports</tspan></text></g><g class="ZXh0ZXJuYWwucnVudGltZS52ZXJjZWw="><g class="shape" ><rect x="2079.000000" y="5168.000000" width="186.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="2172.000000" y="5206.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="2172.000000" dy="0.000000">Vercel</tspan><tspan x="2172.000000" dy="18.500000">Hosting, Edge, Cron</tspan></text></g><g class="ZXh0ZXJuYWwucnVudGltZS5yYWlsd2F5"><g class="shape" ><rect x="2285.000000" y="5168.000000" width="220.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="2395.000000" y="5206.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="2395.000000" dy="0.000000">Railway</tspan><tspan x="2395.000000" dy="18.500000">Default executor hosting</tspan></text></g><g class="ZXh0ZXJuYWwuZGF0YS5uZW9u"><g class="shape" ><rect x="2625.000000" y="5163.000000" width="196.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="2723.000000" y="5201.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="2723.000000" dy="0.000000">Neon</tspan><tspan x="2723.000000" dy="18.500000">PostgreSQL database</tspan></text></g><g class="ZXh0ZXJuYWwuYWlfcHJvdmlkZXJzLm9wZW5haQ=="><g class="shape" ><rect x="2941.000000" y="5168.000000" width="183.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3032.500000" y="5206.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="3032.500000" dy="0.000000">OpenAI</tspan><tspan x="3032.500000" dy="18.500000">GPT-4, embeddings</tspan></text></g><g class="ZXh0ZXJuYWwuYWlfcHJvdmlkZXJzLmFudGhyb3BpYw=="><g class="shape" ><rect x="3144.000000" y="5168.000000" width="117.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3202.500000" y="5206.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="3202.500000" dy="0.000000">Anthropic</tspan><tspan x="3202.500000" dy="18.500000">Claude</tspan></text></g><g class="ZXh0ZXJuYWwuYWlfcHJvdmlkZXJzLmdvb2dsZQ=="><g class="shape" ><rect x="3281.000000" y="5168.000000" width="95.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3328.500000" y="5206.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="3328.500000" dy="0.000000">Google</tspan><tspan x="3328.500000" dy="18.500000">Gemini</tspan></text></g><g class="ZXh0ZXJuYWwuYWlfcHJvdmlkZXJzLmdyb3E="><g class="shape" ><rect x="3396.000000" y="5176.000000" width="80.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3436.000000" y="5214.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Groq</text></g><g class="ZXh0ZXJuYWwuYWlfcHJvdmlkZXJzLm1pc3RyYWw="><g class="shape" ><rect x="3496.000000" y="5176.000000" width="94.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3543.000000" y="5214.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Mistral</text></g><g class="ZXh0ZXJuYWwubm90aWZpY2F0aW9ucy5kaXNjb3Jk"><g class="shape" ><rect x="3710.000000" y="5165.000000" width="162.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="3791.000000" y="5203.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="3791.000000" dy="0.000000">Discord</tspan><tspan x="3791.000000" dy="18.500000">Daily summaries</tspan></text></g><g class="YWlfaW50ZWdyYXRpb24udXNlcl9rZXlzLmFnZW50X2NoYXQ="><g class="shape" ><rect x="4328.000000" y="4561.000000" width="269.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="4462.500000" y="4599.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="4462.500000" dy="0.000000">Agent chats</tspan><tspan x="4462.500000" dy="18.500000">(users bring their own API keys)</tspan></text></g><g class="YWlfaW50ZWdyYXRpb24udXNlcl9rZXlzLmN1c3RvbV9jb2xsZWN0aW9ucw=="><g class="shape" ><rect x="4617.000000" y="4561.000000" width="190.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="4712.000000" y="4599.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="4712.000000" dy="0.000000">Custom collections</tspan><tspan x="4712.000000" dy="18.500000">with API key storage</tspan></text></g><g class="YWlfaW50ZWdyYXRpb24uaW50ZXJuYWxfa2V5cy5zY2hlbWFfZXh0cmFjdGlvbg=="><g class="shape" ><rect x="4927.000000" y="4561.000000" width="220.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5037.000000" y="4599.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="5037.000000" dy="0.000000">Schema extraction</tspan><tspan x="5037.000000" dy="18.500000">(analyze tool signatures)</tspan></text></g><g class="YWlfaW50ZWdyYXRpb24uaW50ZXJuYWxfa2V5cy51c2VfY2FzZV9nZW4="><g class="shape" ><rect x="5167.000000" y="4561.000000" width="187.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5260.500000" y="4599.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="5260.500000" dy="0.000000">Use case generation</tspan><tspan x="5260.500000" dy="18.500000">(marketing content)</tspan></text></g><g class="YWlfaW50ZWdyYXRpb24uaW50ZXJuYWxfa2V5cy5zY2VuYXJpb19ldmFs"><g class="shape" ><rect x="5374.000000" y="4561.000000" width="222.000000" height="82.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5485.000000" y="4599.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="5485.000000" dy="0.000000">Scenario evaluation</tspan><tspan x="5485.000000" dy="18.500000">(pass/fail determination)</tspan></text></g><g class="YWlfaW50ZWdyYXRpb24uaW50ZXJuYWxfa2V5cy5kaXNjb3JkX3N1bW1hcmllcw=="><g class="shape" ><rect x="5616.000000" y="4569.000000" width="179.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="5705.500000" y="4607.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Discord summaries</text></g><g class="YWlfaW50ZWdyYXRpb24ucHJvdmlkZXJzLmxpc3Q="><g class="shape" ><rect x="5915.000000" y="4513.000000" width="250.000000" height="130.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="6040.000000" y="4551.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="6040.000000" dy="0.000000">OpenAI (GPT-4, GPT-4 Turbo)</tspan><tspan x="6040.000000" dy="17.000000">Anthropic (Claude)</tspan><tspan x="6040.000000" dy="17.000000">Google (Gemini)</tspan><tspan x="6040.000000" dy="17.000000">Groq</tspan><tspan x="6040.000000" dy="17.000000">Mistral</tspan></text></g><g class="ZXhlY3V0aW9uX2Zsb3dzLnBsYXlncm91bmRfZmxvdy4oc3RlcDEgLSZndDsgc3RlcDIpWzBd"><marker id="mk-d2-1432812710-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 2967.333008 2158.000000 L 2967.333008 2232.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZXhlY3V0aW9uX2Zsb3dzLnBsYXlncm91bmRfZmxvdy4oc3RlcDIgLSZndDsgc3RlcDMpWzBd"><path d="M 2967.333008 2304.000000 L 2967.333008 2368.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZXhlY3V0aW9uX2Zsb3dzLnBsYXlncm91bmRfZmxvdy4oc3RlcDMgLSZndDsgc3RlcDQpWzBd"><path d="M 2967.333008 2456.000000 L 2967.333008 2520.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZXhlY3V0aW9uX2Zsb3dzLnBsYXlncm91bmRfZmxvdy4oc3RlcDQgLSZndDsgc3RlcDUpWzBd"><path d="M 2967.333008 2592.000000 L 2967.333008 2656.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZXhlY3V0aW9uX2Zsb3dzLnBsYXlncm91bmRfZmxvdy4oc3RlcDUgLSZndDsgc3RlcDYpWzBd"><path d="M 2967.333008 2744.000000 L 2967.333008 2808.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZXhlY3V0aW9uX2Zsb3dzLnBsYXlncm91bmRfZmxvdy4oc3RlcDYgLSZndDsgc3RlcDcpWzBd"><path d="M 2889.833008 2896.000000 L 2889.833008 2970.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZXhlY3V0aW9uX2Zsb3dzLm1jcF9mbG93LihtY3AxIC0mZ3Q7IG1jcDIpWzBd"><path d="M 3443.583008 2174.000000 L 3443.583008 2238.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZXhlY3V0aW9uX2Zsb3dzLm1jcF9mbG93LihtY3AyIC0mZ3Q7IG1jcDMpWzBd"><path d="M 3427.666016 2310.000000 L 3427.666016 2384.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZXhlY3V0aW9uX2Zsb3dzLm1jcF9mbG93LihtY3AzIC0mZ3Q7IG1jcDQpWzBd"><path d="M 3377.333008 2456.000000 L 3377.333008 2520.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZXhlY3V0aW9uX2Zsb3dzLm1jcF9mbG93LihtY3A0IC0mZ3Q7IG1jcDUpWzBd"><path d="M 3377.333008 2608.000000 L 3377.333008 2672.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZXhlY3V0aW9uX2Zsb3dzLm1jcF9mbG93LihtY3A1IC0mZ3Q7IG1jcDYpWzBd"><path d="M 3377.333008 2760.000000 L 3377.333008 2824.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZXhlY3V0aW9uX2Zsb3dzLm1jcF9mbG93LihtY3A2IC0mZ3Q7IG1jcDcpWzBd"><path d="M 3449.083008 2896.000000 L 3449.083008 2970.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="c2NoZW1hX3BpcGVsaW5lLnpvZF9jb252ZXJzaW9uLihwYXJhbXMgLSZndDsgY29udmVydClbMF0="><path d="M 1066.750000 4069.000000 L 1066.750000 4133.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="c2NoZW1hX3BpcGVsaW5lLnpvZF9jb252ZXJzaW9uLihjb252ZXJ0IC0mZ3Q7IHpvZClbMF0="><path d="M 1066.750000 4205.000000 L 1066.750000 4269.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="c2NoZW1hX3BpcGVsaW5lLnpvZF9jb252ZXJzaW9uLih6b2QgLSZndDsgYWlfc2RrKVswXQ=="><path d="M 1066.750000 4357.000000 L 1066.750000 4421.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="c2NoZW1hX3BpcGVsaW5lLnpvZF9jb252ZXJzaW9uLihhaV9zZGsgLSZndDsgbGxtX2RlZilbMF0="><path d="M 1066.750000 4493.000000 L 1066.750000 4557.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="c2NoZW1hX3BpcGVsaW5lLihucG1fc291cmNlIC0mZ3Q7IHN5bmNfd29ya2VycylbMF0="><path d="M 623.416016 3380.000000 L 623.416016 3454.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="c2NoZW1hX3BpcGVsaW5lLihzeW5jX3dvcmtlcnMgLSZndDsgZXh0cmFjdGlvbilbMF0="><path d="M 1055.500000 3642.000000 L 1055.500000 3706.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="c2NoZW1hX3BpcGVsaW5lLihleHRyYWN0aW9uIC0mZ3Q7IHpvZF9jb252ZXJzaW9uKVswXQ=="><path d="M 1066.750000 3878.000000 L 1066.750000 3947.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZXhlY3V0b3JzLihjb250cmFjdCAtJmd0OyBpbXBsZW1lbnRhdGlvbnMpWzBd"><path d="M 3128.916016 3792.000000 L 3128.916016 3856.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZGF0YWJhc2UuKHBhY2thZ2VzX2dyb3VwLlRvb2wgLSZndDsgY29sbGVjdGlvbnNfZ3JvdXAuQ29sbGVjdGlvblRvb2wpWzBd"><path d="M 3239.625000 5713.000000 L 3239.625000 5896.000000 S 3239.625000 5906.000000 3229.625000 5906.000000 L 3042.125000 5906.000000 S 3032.125000 5906.000000 3032.125000 5916.000000 L 3032.125000 6281.000000 S 3032.125000 6291.000000 3042.125000 6291.000000 L 3103.625000 6291.000000 S 3113.625000 6291.000000 3113.625000 6301.000000 L 3113.625000 6327.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZGF0YWJhc2UuKHBhY2thZ2VzX2dyb3VwLlRvb2wgLSZndDsgYWdlbnRzX2dyb3VwLkFnZW50VG9vbClbMF0="><path d="M 3207.625000 5713.000000 L 3207.625000 5796.000000 S 3207.625000 5806.000000 3197.625000 5806.000000 L 2599.125000 5806.000000 S 2589.125000 5806.000000 2589.125000 5816.000000 L 2589.125000 6767.000000 S 2589.125000 6777.000000 2599.125000 6777.000000 L 3159.000000 6777.000000 S 3169.000000 6777.000000 3169.000000 6787.000000 L 3169.000000 6913.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZGF0YWJhc2UuKHBhY2thZ2VzX2dyb3VwLlRvb2wgLSZndDsgZW5nYWdlbWVudF9ncm91cC5Ub29sTGlrZSlbMF0="><path d="M 3271.625000 5713.000000 L 3271.625000 6096.000000 S 3271.625000 6106.000000 3281.625000 6106.000000 L 3733.125000 6106.000000 S 3743.125000 6106.000000 3743.125000 6116.000000 L 3743.125000 6197.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZGF0YWJhc2UuKHBhY2thZ2VzX2dyb3VwLlRvb2wgLSZndDsgc2NlbmFyaW9zX2dyb3VwLlNjZW5hcmlvKVswXQ=="><path d="M 3303.625000 5713.000000 L 3303.625000 5996.000000 S 3303.625000 6006.000000 3313.625000 6006.000000 L 4345.125000 6006.000000 S 4355.125000 6006.000000 4355.125000 6016.000000 L 4355.125000 6482.000000 S 4355.125000 6492.000000 4345.125000 6492.000000 L 4305.625000 6492.000000 S 4295.625000 6492.000000 4295.625000 6502.000000 L 4295.625000 6777.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /><text x="4099.000000" y="6012.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">via Collection</text></g><g class="ZGF0YWJhc2UuKHVzZXJzX2dyb3VwLlVzZXIgLSZndDsgY29sbGVjdGlvbnNfZ3JvdXAuQ29sbGVjdGlvbilbMF0="><path d="M 3670.625000 5713.000000 L 3670.625000 5946.000000 S 3670.625000 5956.000000 3660.625000 5956.000000 L 2970.625000 5956.000000 S 2960.625000 5956.000000 2960.625000 5966.000000 L 2960.625000 6327.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZGF0YWJhc2UuKHVzZXJzX2dyb3VwLlVzZXIgLSZndDsgYWdlbnRzX2dyb3VwLkFnZW50KVswXQ=="><path d="M 3640.625000 5713.000000 L 3640.625000 5846.000000 S 3640.625000 5856.000000 3630.625000 5856.000000 L 2627.250000 5856.000000 S 2617.250000 5856.000000 2617.250000 5866.000000 L 2617.250000 6582.000000 S 2617.250000 6592.000000 2627.250000 6592.000000 L 3012.750000 6592.000000 S 3022.750000 6592.000000 3022.750000 6602.000000 L 3022.750000 6817.000000 S 3022.750000 6827.000000 3012.750000 6827.000000 L 2876.500000 6827.000000 S 2866.500000 6827.000000 2866.500000 6837.000000 L 2866.500000 6913.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZGF0YWJhc2UuKHVzZXJzX2dyb3VwLlVzZXIgLSZndDsgYnJpZGdlX2dyb3VwLkJyaWRnZUNvbm5lY3Rpb24pWzBd"><path d="M 3700.625000 5713.000000 L 3700.625000 5796.000000 S 3700.625000 5806.000000 3710.625000 5806.000000 L 5234.125000 5806.000000 S 5244.125000 5806.000000 5244.125000 5816.000000 L 5244.125000 6197.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZGF0YWJhc2UuKGNvbGxlY3Rpb25zX2dyb3VwLkNvbGxlY3Rpb24gLSZndDsgYWdlbnRzX2dyb3VwLkFnZW50Q29sbGVjdGlvbilbMF0="><path d="M 2941.125000 6399.000000 L 2941.125000 6532.000000 S 2941.125000 6542.000000 2951.125000 6542.000000 L 3089.500000 6542.000000 S 3099.500000 6542.000000 3099.500000 6552.000000 L 3099.500000 6867.000000 S 3099.500000 6877.000000 3089.500000 6877.000000 L 3020.000000 6877.000000 S 3010.000000 6877.000000 3010.000000 6887.000000 L 3010.000000 6913.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZGF0YWJhc2UuKGNvbGxlY3Rpb25zX2dyb3VwLkNvbGxlY3Rpb24gLSZndDsgc2NlbmFyaW9zX2dyb3VwLlNjZW5hcmlvKVswXQ=="><path d="M 2980.125000 6399.000000 L 2980.125000 6482.000000 S 2980.125000 6492.000000 2990.125000 6492.000000 L 4249.625000 6492.000000 S 4259.625000 6492.000000 4259.625000 6502.000000 L 4259.625000 6777.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="ZGF0YWJhc2UuKHNjZW5hcmlvc19ncm91cC5TY2VuYXJpbyAtJmd0OyB1c2VfY2FzZXNfZ3JvdXAuVXNlQ2FzZSlbMF0="><path d="M 4277.625000 6849.000000 L 4277.625000 7063.000000 S 4277.625000 7073.000000 4287.625000 7073.000000 L 5066.625000 7073.000000 S 5076.625000 7073.000000 5076.625000 7083.000000 L 5076.625000 7164.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="YnJpZGdlX3N5c3RlbS4obG9jYWxfbWNwIC0mZ3Q7IGJyaWRnZV9jbGkpWzBd"><path d="M 5062.666016 418.000000 L 5062.666016 492.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="YnJpZGdlX3N5c3RlbS4oYnJpZGdlX2NsaSAtJmd0OyBhcGlfYnJpZGdlKVswXQ=="><path d="M 5089.500000 580.000000 L 5089.500000 644.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="YnJpZGdlX3N5c3RlbS4oYXBpX2JyaWRnZSAtJmd0OyBkYl9yZWNvcmQpWzBd"><path d="M 5089.500000 732.000000 L 5089.500000 796.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="YnJpZGdlX3N5c3RlbS4oZGJfcmVjb3JkIC0mZ3Q7IHBvbGxpbmcpWzBd"><path d="M 5002.250000 868.000000 L 5002.250000 942.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGNsaWVudHMud2ViIC0mZ3Q7IGdhdGV3YXkuYXV0aClbMF0="><path d="M 3441.740967 146.000000 L 3441.740967 436.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGNsaWVudHMuY2xpIC0mZ3Q7IGdhdGV3YXkuYXV0aClbMF0="><path d="M 3591.240967 146.000000 L 3591.240967 436.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGNsaWVudHMuYWlfY2xpZW50cyAtJmd0OyBnYXRld2F5LmF1dGgpWzBd"><path d="M 3848.607910 146.000000 L 3848.607910 436.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGNsaWVudHMuYnJpZGdlX2NsaSAtJmd0OyBnYXRld2F5LmF1dGgpWzBd"><marker id="mk-d2-1432812710-2177206569" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B2" stroke-width="2" /> </marker><path d="M 3990.407959 145.600006 L 3990.407959 435.600006" stroke="#0D32B2" fill="none" class="connection stroke-B2" style="stroke-width:2;stroke-dasharray:10.000000,9.865639;" marker-end="url(#mk-d2-1432812710-2177206569)" mask="url(#d2-1432812710)" /></g><g class="KGdhdGV3YXkgLSZndDsgYXBpKVswXQ=="><path d="M 4420.125000 674.000000 L 4420.125000 1280.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGFwaS5kaXNjb3ZlcnkgLSZndDsgZXhlY3V0aW9uX2Zsb3dzLnBsYXlncm91bmRfZmxvdy5zdGVwMilbMF0="><path d="M 2154.458008 1632.000000 L 2154.458008 1765.000000 S 2154.458008 1775.000000 2164.458008 1775.000000 L 2841.333008 1775.000000 S 2851.333008 1775.000000 2851.333008 1785.000000 L 2851.333008 2232.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGFwaS5leGVjdXRpb24gLSZndDsgZXhlY3V0aW9uX2Zsb3dzLnBsYXlncm91bmRfZmxvdy5zdGVwMilbMF0="><path d="M 2662.125000 1632.000000 L 2662.125000 1715.000000 S 2662.125000 1725.000000 2672.125000 1725.000000 L 3072.333008 1725.000000 S 3082.333008 1725.000000 3082.333008 1735.000000 L 3082.333008 2232.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGFwaS5tY3AgLSZndDsgZXhlY3V0aW9uX2Zsb3dzLm1jcF9mbG93Lm1jcDMpWzBd"><path d="M 3311.083008 1632.000000 L 3311.083008 2384.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGV4ZWN1dGlvbl9mbG93cy5wbGF5Z3JvdW5kX2Zsb3cuc3RlcDYgLSZndDsgZXhlY3V0b3JzLmNvbnRyYWN0KVswXQ=="><path d="M 3044.833008 2896.000000 L 3044.833008 3604.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGV4ZWN1dGlvbl9mbG93cy5tY3BfZmxvdy5tY3A2IC0mZ3Q7IGV4ZWN1dG9ycy5jb250cmFjdClbMF0="><path d="M 3305.583008 2896.000000 L 3305.583008 3604.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGV4ZWN1dG9ycy5pbXBsZW1lbnRhdGlvbnMucmFpbHdheSAtJmd0OyBleHRlcm5hbC5ydW50aW1lLnJhaWx3YXkpWzBd"><path d="M 3009.416016 4026.000000 L 3009.416016 4778.000000 S 3009.416016 4788.000000 2999.416016 4788.000000 L 2405.666016 4788.000000 S 2395.666016 4788.000000 2395.666016 4798.000000 L 2395.666016 5164.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KHNjaGVtYV9waXBlbGluZS5leHRyYWN0aW9uLnN0ZXA3IC0mZ3Q7IGRhdGFiYXNlLnBhY2thZ2VzX2dyb3VwLlRvb2wpWzBd"><path d="M 2063.500000 3828.000000 L 2063.500000 4878.000000 S 2063.500000 4888.000000 2053.500000 4888.000000 L 916.666016 4888.000000 S 906.666016 4888.000000 906.666016 4898.000000 L 906.666016 5435.000000 S 906.666016 5445.000000 916.666016 5445.000000 L 3245.625000 5445.000000 S 3255.625000 5445.000000 3255.625000 5455.000000 L 3255.625000 5641.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KHNjaGVtYV9waXBlbGluZS5ucG1fc291cmNlIC0mZ3Q7IGV4dGVybmFsLnBhY2thZ2Vfc291cmNlcy5ucG0pWzBd"><path d="M 535.083008 3380.000000 L 535.083008 3408.000000 S 535.083008 3418.000000 525.083008 3418.000000 L 113.000000 3418.000000 S 103.000000 3418.000000 102.999993 3428.000000 L 102.999007 4928.000000 S 102.999001 4938.000000 112.999001 4938.000000 L 1194.666016 4938.000000 S 1204.666016 4938.000000 1204.666016 4948.000000 L 1204.666016 5164.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KHNjaGVtYV9waXBlbGluZS5leHRyYWN0aW9uLnN0ZXAyIC0mZ3Q7IGV4dGVybmFsLnJ1bnRpbWUuZXNtX3NoKVswXQ=="><path d="M 580.500000 3828.000000 L 580.500000 4828.000000 S 580.500000 4838.000000 590.500000 4838.000000 L 1950.166016 4838.000000 S 1960.166016 4838.000000 1960.166016 4848.000000 L 1960.166016 5164.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KHNjaGVtYV9waXBlbGluZS5leHRyYWN0aW9uLnN0ZXA1IC0mZ3Q7IGV4dGVybmFsLmFpX3Byb3ZpZGVycylbMF0="><path d="M 1553.000000 3828.000000 L 1553.000000 4778.000000 S 1553.000000 4788.000000 1563.000000 4788.000000 L 2375.666016 4788.000000 S 2385.666016 4788.000000 2385.666016 4798.000000 L 2385.666016 5063.000000 S 2385.666016 5073.000000 2395.666016 5073.000000 L 3068.916016 5073.000000 S 3078.916016 5073.000000 3078.916016 5083.000000 L 3078.916016 5114.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KHdvcmtlcnMuc3luY19qb2JzIC0mZ3Q7IGFwaS5zeW5jKVswXQ=="><path d="M 5798.000000 1046.000000 L 5798.000000 1129.000000 S 5798.000000 1139.000000 5788.000000 1139.000000 L 5272.125000 1139.000000 S 5262.125000 1139.000000 5262.125000 1149.000000 L 5262.125000 1460.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KHdvcmtlcnMuZGFpbHlfam9icyAtJmd0OyBhcGkudGVzdGluZylbMF0="><path d="M 6922.500000 1046.000000 L 6922.500000 1364.000000 S 6922.500000 1374.000000 6912.500000 1374.000000 L 4992.625000 1374.000000 S 4982.625000 1374.000000 4982.625000 1384.000000 L 4982.625000 1460.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGFwaS5kaXNjb3ZlcnkgLSZndDsgZGF0YWJhc2UucGFja2FnZXNfZ3JvdXApWzBd"><path d="M 1935.791016 1632.000000 L 1935.791016 1715.000000 S 1935.791016 1725.000000 1925.791016 1725.000000 L 22.000000 1725.000000 S 12.000000 1725.000000 12.000000 1735.000000 L 12.000000 5485.000000 S 12.000000 5495.000000 22.000000 5495.000000 L 3235.624023 5495.000000 S 3245.624023 5495.000000 3245.624023 5505.000000 L 3245.624023 5591.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGFwaS5hZ2VudHMgLSZndDsgZGF0YWJhc2UuYWdlbnRzX2dyb3VwKVswXQ=="><path d="M 3717.458008 1632.000000 L 3717.458008 1915.000000 S 3717.458008 1925.000000 3727.458008 1925.000000 L 4177.666016 1925.000000 S 4187.666016 1925.000000 4187.666016 1935.000000 L 4187.666016 5385.000000 S 4187.666016 5395.000000 4197.666016 5395.000000 L 4935.625000 5395.000000 S 4945.625000 5395.000000 4945.625000 5405.000000 L 4945.625000 6532.000000 S 4945.625000 6542.000000 4935.625000 6542.000000 L 3124.499023 6542.000000 S 3114.499023 6542.000000 3114.499023 6552.000000 L 3114.499023 6683.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGFwaS5hZ2VudHMgLSZndDsgZGF0YWJhc2UuY29sbGVjdGlvbnNfZ3JvdXApWzBd"><path d="M 3906.791016 1632.000000 L 3906.791016 1865.000000 S 3906.791016 1875.000000 3916.791016 1875.000000 L 6295.666016 1875.000000 S 6305.666016 1875.000000 6305.666016 1885.000000 L 6305.666016 5385.000000 S 6305.666016 5395.000000 6295.666016 5395.000000 L 4966.625000 5395.000000 S 4956.625000 5395.000000 4956.625000 5405.000000 L 4956.625000 6046.000000 S 4956.625000 6056.000000 4946.625000 6056.000000 L 3067.124023 6056.000000 S 3057.124023 6056.000000 3057.124023 6066.000000 L 3057.124023 6147.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGFwaS50ZXN0aW5nIC0mZ3Q7IGRhdGFiYXNlLnNjZW5hcmlvc19ncm91cClbMF0="><path d="M 4909.791016 1632.000000 L 4909.791016 1815.000000 S 4909.791016 1825.000000 4919.791016 1825.000000 L 6306.666016 1825.000000 S 6316.666016 1825.000000 6316.666016 1835.000000 L 6316.666016 5435.000000 S 6316.666016 5445.000000 6306.666016 5445.000000 L 4977.625000 5445.000000 S 4967.625000 5445.000000 4967.625000 5455.000000 L 4967.625000 6582.000000 S 4967.625000 6592.000000 4957.625000 6592.000000 L 4315.625000 6592.000000 S 4305.625000 6592.000000 4305.625000 6602.000000 L 4305.625000 6727.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGFwaS50ZXN0aW5nIC0mZ3Q7IGRhdGFiYXNlLnVzZV9jYXNlc19ncm91cClbMF0="><path d="M 5055.458008 1632.000000 L 5055.458008 1765.000000 S 5055.458008 1775.000000 5065.458008 1775.000000 L 6538.416016 1775.000000 S 6548.416016 1775.000000 6548.416016 1785.000000 L 6548.416016 5485.000000 S 6548.416016 5495.000000 6538.416016 5495.000000 L 5430.125000 5495.000000 S 5420.125000 5495.000000 5420.125000 5505.000000 L 5420.125000 7114.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGFwaS5oZWFsdGggLSZndDsgZGF0YWJhc2Uuc3luY19ncm91cClbMF0="><path d="M 6229.125000 1632.000000 L 6229.125000 1715.000000 S 6229.125000 1725.000000 6239.125000 1725.000000 L 6818.500000 1725.000000 S 6828.500000 1725.000000 6828.500000 1735.000000 L 6828.500000 5591.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGV4dGVybmFsLmRhdGEubmVvbiAtJmd0OyBkYXRhYmFzZSlbMF0="><path d="M 2723.666016 5247.000000 L 2723.666016 5385.000000 S 2723.666016 5395.000000 2733.666016 5395.000000 L 3846.625000 5395.000000 S 3856.625000 5395.000000 3856.625000 5405.000000 L 3856.625000 5536.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGFpX2ludGVncmF0aW9uLnVzZXJfa2V5cyAtJmd0OyBleHRlcm5hbC5haV9wcm92aWRlcnMpWzBd"><path d="M 4568.166016 4695.000000 L 4568.166016 4778.000000 S 4568.166016 4788.000000 4558.166016 4788.000000 L 3276.166016 4788.000000 S 3266.166016 4788.000000 3266.166016 4798.000000 L 3266.166016 5114.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGFpX2ludGVncmF0aW9uLmludGVybmFsX2tleXMgLSZndDsgZXh0ZXJuYWwuYWlfcHJvdmlkZXJzKVswXQ=="><path d="M 5361.666016 4695.000000 L 5361.666016 4828.000000 S 5361.666016 4838.000000 5351.666016 4838.000000 L 3463.416016 4838.000000 S 3453.416016 4838.000000 3453.416016 4848.000000 L 3453.416016 5114.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1432812710-3488378134)" mask="url(#d2-1432812710)" /></g><g class="KGNsaWVudHMuYnJpZGdlX2NsaSAtJmd0OyBicmlkZ2Vfc3lzdGVtLmJyaWRnZV9jbGkpWzBd"><path d="M 4044.074951 146.000000 L 4044.074951 229.000000 S 4044.074951 239.000000 4054.074951 239.000000 L 5141.250000 239.000000 S 5151.250000 239.000000 5151.250000 249.000000 L 5151.250000 492.000000" stroke="#0D32B2" fill="none" class="connection stroke-B2" style="stroke-width:2;stroke-dasharray:10.000000,9.865639;" marker-end="url(#mk-d2-1432812710-2177206569)" mask="url(#d2-1432812710)" /></g><g class="KGJyaWRnZV9zeXN0ZW0gLSZndDsgYXBpLmJyaWRnZSlbMF0="><path d="M 5156.750000 1096.000000 L 5156.750000 1129.000000 S 5156.750000 1139.000000 5146.750000 1139.000000 L 4440.125000 1139.000000 S 4430.125000 1139.000000 4430.125000 1149.000000 L 4430.125000 1460.000000" stroke="#0D32B2" fill="none" class="connection stroke-B2" style="stroke-width:2;stroke-dasharray:10.000000,9.865639;" marker-end="url(#mk-d2-1432812710-2177206569)" mask="url(#d2-1432812710)" /></g><g class="KGJyaWRnZV9zeXN0ZW0uZGJfcmVjb3JkIC0mZ3Q7IGRhdGFiYXNlLmJyaWRnZV9ncm91cClbMF0="><path d="M 5166.750000 868.000000 L 5166.750000 1229.000000 S 5166.750000 1239.000000 5176.750000 1239.000000 L 7212.833008 1239.000000 S 7222.833008 1239.000000 7222.833008 1249.000000 L 7222.833008 5796.000000 S 7222.833008 5806.000000 7212.833008 5806.000000 L 5264.125000 5806.000000 S 5254.125000 5806.000000 5254.125000 5816.000000 L 5254.125000 6147.000000" stroke="#0D32B2" fill="none" class="connection stroke-B2" style="stroke-width:2;stroke-dasharray:10.000000,9.865639;" marker-end="url(#mk-d2-1432812710-2177206569)" mask="url(#d2-1432812710)" /></g><mask id="d2-1432812710" maskUnits="userSpaceOnUse" x="-89" y="-89" width="7801" height="7524">
|
|
<rect x="-89" y="-89" width="7801" height="7524" fill="white"></rect>
|
|
<rect x="4053.000000" y="5996.000000" width="92" height="21" fill="black"></rect>
|
|
</mask></svg></svg>
|