meadow-endpoints 4.0.22 → 4.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -15
- package/diagrams/how-it-works.excalidraw +1462 -0
- package/diagrams/how-it-works.mmd +9 -0
- package/diagrams/how-it-works.svg +2 -0
- package/dist/meadow-endpoints.js +516 -221
- package/dist/meadow-endpoints.js.map +1 -1
- package/dist/meadow-endpoints.min.js +18 -18
- package/dist/meadow-endpoints.min.js.map +1 -1
- package/docs/README.md +9 -25
- package/docs/_cover.md +9 -0
- package/docs/_sidebar.md +1 -0
- package/docs/_version.json +3 -3
- package/docs/architecture.md +119 -0
- package/docs/crud/README.md +6 -6
- package/docs/diagrams/behavior-injection-hook-points.excalidraw +677 -0
- package/docs/diagrams/behavior-injection-hook-points.mmd +9 -0
- package/docs/diagrams/behavior-injection-hook-points.svg +2 -0
- package/docs/diagrams/how-it-works.excalidraw +2777 -0
- package/docs/diagrams/how-it-works.mmd +16 -0
- package/docs/diagrams/how-it-works.svg +2 -0
- package/docs/diagrams/how-routes-are-generated.excalidraw +1237 -0
- package/docs/diagrams/how-routes-are-generated.mmd +13 -0
- package/docs/diagrams/how-routes-are-generated.svg +2 -0
- package/docs/diagrams/request-lifecycle.excalidraw +1897 -0
- package/docs/diagrams/request-lifecycle.mmd +22 -0
- package/docs/diagrams/request-lifecycle.svg +2 -0
- package/docs/diagrams/where-it-sits-in-the-stack.excalidraw +2068 -0
- package/docs/diagrams/where-it-sits-in-the-stack.mmd +19 -0
- package/docs/diagrams/where-it-sits-in-the-stack.svg +2 -0
- package/docs/index.html +2 -2
- package/docs/quickstart.md +151 -0
- package/docs/retold-catalog.json +155 -174
- package/docs/retold-keyword-index.json +6593 -2920
- package/package.json +8 -8
- package/source/controller/Meadow-Endpoints-Controller-Base.js +40 -0
- package/source/endpoints/count/Meadow-Endpoint-Count.js +1 -0
- package/source/endpoints/count/Meadow-Endpoint-CountBy.js +1 -0
- package/source/endpoints/create/Meadow-Operation-Create.js +1 -0
- package/source/endpoints/delete/Meadow-Endpoint-Delete.js +1 -0
- package/source/endpoints/delete/Meadow-Endpoint-Undelete.js +1 -0
- package/source/endpoints/read/Meadow-Endpoint-Read.js +1 -0
- package/source/endpoints/read/Meadow-Endpoint-ReadDistinctList.js +1 -0
- package/source/endpoints/read/Meadow-Endpoint-ReadLiteList.js +1 -0
- package/source/endpoints/read/Meadow-Endpoint-ReadMax.js +1 -0
- package/source/endpoints/read/Meadow-Endpoint-ReadSelectList.js +1 -0
- package/source/endpoints/read/Meadow-Endpoint-Reads.js +1 -0
- package/source/endpoints/read/Meadow-Endpoint-ReadsBy.js +1 -0
- package/source/endpoints/update/Meadow-Operation-Update.js +2 -0
- package/source/endpoints/upsert/Meadow-Operation-Upsert.js +1 -0
- package/test/MeadowEndpoints_SessionOverride_tests.js +75 -0
- package/dist/indoctrinate_content_staging/Indoctrinate-Catalog-AppData.json +0 -4808
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 511 328" width="511" height="328"><!-- svg-source:excalidraw --><metadata><!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1dW1PcNlx1MDAxNH7Pr/BsX9KZkOhqSXlcdTAwMDNcdTAwMDJccm1I0pA2vUxcdTAwMWXMrth1Y+yt11x1MDAwYqGZ/PfKXHUwMDA2Vt61YSWvl2pShZlcZpZ8OZbO53O+T1x1MDAxN748XG6CQXE1lYPnwUB+XHUwMDFlRkk8yqPLwZOy/ELmszhLVVx1MDAxNaqOZ9k8XHUwMDFmVmdOimL6/NkziNhToH7gc8pcYoTXV8lEnsu0mKnz/lTHQfCl+l/VxKPy2rNiJ81GcofDsLqgqlqYkCTxdCZ1xefy6WRxeKVcdTAwMGUxWFx1MDAxY17Go2KiiviiZFwi4/GkWCqK0nFS3lxcXzYr8uyT3M+SLC9cdTAwMWb63b5cYlx1MDAwMTrUXHUwMDBmPY2Gn8Z5Nk9Hd59zXHUwMDE2J8lJcVXdWbWMarfByv0/3Fx1MDAxOFx1MDAwN5+SlZq7rlOPXHUwMDFjT1I5my1Zm02jYVxclG9cdTAwMGWBLi3tm1x1MDAxZY2qZv6orcqjc3lUtnM6T5L6jdPRzY2XKmZSliervlhcdTAwMTSt9Hq97HWWVv1cdTAwMGY5wVx1MDAwMvBaR8SzXHUwMDE3qt+L6mZnUTKTui3LR1x1MDAxZtR8Qlx1MDAxYjufjqLrSyDjgFBcdTAwMDEghUA/NYnTT6tcdTAwMDYn2fBTy1PidCRLV1x1MDAxOURgUJV9fXKX76lcdTAwMDbaXHUwMDAxTc8r5Odi2e1cYltyO1x1MDAwNFx1MDAxYm6HkGg6XHUwMDFl6tnzijxKZ9MoV+3Xyfs6+Fx1MDAxZXxI32OQWflcdTAwMWWljEJcdTAwMTZC7ozzVa6jWvRNXHUwMDFlXHUwMDE1WVx1MDAxZTzefXtcdTAwMTScyFxcXHUwMDE5/n2tx7K0OIn/KV9cdTAwMDGBpdLD6DxOyiamS3fcTeJx2Vx1MDAxMoNEntV6Xt21iNV3elFdZFNdO1T3i+JU5s1+yPJ4XHUwMDFjp1Hy3sTaaF5k7+Ts2t5cIp/LervIl7e+XHUwMDBln1wibbTGIFxcg0GZnO5cXOzAJlxiy5uvfPt1N1dN1Fx1MDAwNKFuzFx1MDAwNVx1MDAwNKFcclx1MDAwNPkuO2RoQ1xiTqLhZJ7Lu0NcdTAwMDDuXHUwMDEyXHUwMDAynurGfVx1MDAwMCCGvFx1MDAwMbp7gVx1MDAxODImXHUwMDAwXHKJXHUwMDBlXHUwMDFk/zVcdTAwMTC1XHUwMDA31vpzmsX1bKT8p39cdTAwMGK0Y1RcdTAwMDeL3z8+WX825Pr0RyuXXHKSaFbsZ+fncaFe7m1pQ6PZiygv9pTNcTperZPp6I6a6qrdPM8uJzJq9LG67s66aZZcXI2rPq1abT1EJ50gXHUwMDFh6ph4XHUwMDBi0Vp2scCodmJcdTAwMGZRXHUwMDBiiGojjfI0zEKKmZNcdTAwMTDFW4KodraV0781iFYsitVxcS+LosssKtSO61lUT5kss1x1MDAwYqBcdTAwMDRcdTAwMTFcdTAwMDI4Z+5kslx1MDAxYZ3EhEa1hIcmjWLLNIqGXHK/I7jF86xoXHUwMDE03IOHXGL/r2lUyOxCQ0hDIaBAyFx1MDAxOee7pVHH6sOYXVx1MDAwNlx1MDAwN+noOi5cdTAwMDSP32XzQlx1MDAwNu/kOFaNXHUwMDFmXHUwMDE16jVcXCZWlvZvRrWoXHUwMDEx1WqJXHUwMDExzTyOLudxvFx01Fx1MDAxNqqFtVE+jzNcdTAwMDarqFx1MDAwNWMjsFwiTlx1MDAwNavj6r9cdTAwMDar9sDwIahcdTAwMTam325cdTAwMWV3TbW6QFx1MDAxNFx1MDAwMu1Gnmv1jlH9OFx1MDAxM4xcdTAwMDJcdTAwMTbyUlx1MDAxM3eRazHPtXrgWlxubsSQbPFlslV3Us+2+sFn2Vx1MDAxYjZcdTAwMDBVyS5FiGF9kTv45CZsqyVCNNmW+lxmLXmeaFxu5pi2hFxiT7cso1x1MDAwM7GKXHUwMDBlXGJwwWlcYqg7Q6a3dGtfMZs8S1x1MDAxMpkrolwi/57LWVx1MDAxMbyKz+TwaphIl3mWqeGbXHUwMDExLLFcdTAwMDaaeVx1MDAxNCc72EwpX03fWoaUPcXqKzxcYrv0XHJcdTAwMGJcdTAwMDZcdTAwMTBhXHUwMDBlXHUwMDAxVPvgrqdYm1Osi1x1MDAxZGyCUe4xel3+XHUwMDEwXHUwMDE4ZVZcdTAwMTlcdTAwMWNcdTAwMDVcdTAwMDBcbsSoi1x1MDAxOdyeh2hcdTAwMWYqSCeIYj/ivEWIWoXRkFDGMGcuRtF9L4L0IIKg0FRcdTAwMDOBcEVcdTAwMDTBvVx1MDAwZjlcdTAwMWLAtHHONyWCqN6wynJcdKJcdTAwMThxl2ioxudcdTAwMGJcdTAwMTNcdTAwMTGkJUC0iCB4WVx1MDAwNIGoOZaFgFdBNo9cdTAwMGWhVXRcdTAwMTBIQFx1MDAxZVxu5I5EfiuCnKh3VIZcdTAwMDbHUT6bRInMXHUwMDFk1j3usXUzqePAROog3aSOlmlcdTAwMWaeRvW1elx1MDAwM1lN/SCYhypcYjg0gV674KGnUX0oXHUwMDFkLSnaelx1MDAxYeUhukWIXHUwMDAyu6mBXGJgwlx1MDAxMHBy4u5cdTAwMGZcdTAwMWWjfUhcdTAwMWSdMMr8hI8tYtRuXHUwMDA2JYJcXDBAnIyjL73W0YPWwYXp5PqG1lFTwLzW0Vx1MDAxMz6FVVxmRUCxU0aZQ2xT4/PIROtoiVx1MDAxMFx1MDAwNlpH2LJOubbE1mtcdTAwMWRdV3dcYqvwIDhcdTAwMDdcZiOHpuzealx1MDAxZHtyXHUwMDEyXcRZXHUwMDFlXHUwMDFjpX/JYTlcdTAwMWLdYbHjPmM3Uzt+NFE7aDe1o2XWladSPeFcdTAwMTDXhvuM1kBCXHUwMDA2XHUwMDA1xdBFyfsnT6X6kDtoXHUwMDE3KuUxukWM1kiRXHRGXHUwMDE5ZFxmIe5QsNRcdTAwMTh95THah9zRXHUwMDA1o1xi+JlcdTAwMWRbxKhlXHUwMDFjpVhxKVx1MDAxMLqI0WMvd/Qgd1x1MDAxMMA7ylx1MDAxZFxi+KlcdTAwMWR941P1hlxyPlx1MDAxMVx1MDAwMIIyRrmLcsdrXHUwMDEzuaMlQlx1MDAxOMhcdTAwMWSiOWpcdTAwMDXpptuyebkjwMAqPGBMXHUwMDE5XHUwMDE3Qrgjht/KXHUwMDFkXHUwMDA36lx1MDAwM5lcdTAwMDcvo3Tk9rSOO+zcTOR4Y1wicoSdRFx1MDAwZdQyqcpcdTAwMTOovtBXY6dmyZlcdTAwMTBAhVx1MDAwMFx1MDAxN5Ozt55A9SFytOyWu55AmWHU75fYXHSjtTE+w008IFx1MDAwNcjJ5Ss/P1x1MDAwNEa//f1cdTAwMTI7YZT4OVx1MDAxZFvEqFVcdTAwMWNcdTAwMTVcdTAwMWNyQoSTO7K981x1MDAxYUdcdTAwMWZcdTAwMWFH2LL3t5nGQfyUjr7hqXrDLs1FXGJcdTAwMDOKnZzScWKicbRcdTAwMDSI9Vx1MDAxYVx1MDAwN8LNoSpY+7B5jaNrdFxi7VhcdTAwMTZR+TSnLm49/ypcdTAwMWJcdTAwMDd6P1xmh1WOu1xm3UzmeG+0XHUwMDBiXCIzyc5WVY6W6VSeQfW1fFxmWq1eZIxzXHUwMDA2nFx1MDAxNLh/8fypXHUwMDBm/tRcdKHMXHUwMDBmXHUwMDEyb1x1MDAxMaF2u+hQoTBN3NxcdTAwMDTxV0+geiBQXGJ03Fx1MDAwM1x1MDAxMbHex4j/93sgXCJgt/xcdTAwMWYzXHUwMDAyXHUwMDExQU7C84NcdH9qXHRcdTAwMTDr90BEYcvyf+6nxPewXHUwMDA1p+VcdTAwMTa5XGJBiFxc2n1iZc/5XHUwMDE3u6+Cxy+iXCJcbnaHQ/XeLm9/uN7kzTjVb0acqmXG0HrFu2XOhudUff1cdTAwMWRcYmK5SopDgkPs0MRccu2Cv3tW1Vx1MDAwN6vqglFcZv2o1Fx1MDAxNjFqtZSMk1ClbdTJP7f6hydVPZAqhrsuNK6va/KjUj2t9MR2m3VggDhGxEl8RiasqiVArFx1MDAxZpXCoGWhsd9UrYfogK2ig6JUXHUwMDE4KH9xKIO7ZVUlLTmNZjJ4m2dcdTAwMTfxyOmBqXts3YxHnd4g8NFN0Fx1MDAxYUTT6UmhmlrVXuNRuU88WmmM67JCTnVDVEXHKlxcXHUwMDFjpNFpstrsg4tYXu61fKpcdTAwMGb3XHUwMDBl2cHBzdvc9NjxPCniXHUwMDEz5SPViurSXHUwMDExvpT2VV+JXHUwMDEySvKm6Ou/XHUwMDE4kML2In0=<!-- payload-end --><pict-renderer-graph:source xmlns:pict-renderer-graph="https://fable-retold.github.io/pict-renderer-graph/ns/v1"><![CDATA[{"type":"filetree","mermaid":"Orator (API Server)\n └── Meadow Endpoints (Route Registration)\n ├── Controller (Request Lifecycle)\n │ ├── Session Marshaler\n │ ├── Behavior Injection\n │ ├── Error Handler\n │ └── Log Controller\n └── Meadow DAL (Data Access)\n └── Database Provider\n","style":"notebook"}]]></pict-renderer-graph:source></metadata><defs><style class="style-fonts">
|
|
2
|
+
@font-face { font-family: Excalifont; src: url(data:font/woff2;base64,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); }</style></defs><g stroke-linecap="round" transform="translate(10 19) rotate(0 4 4)"><path d="M8 4 C8 4.23, 7.98 4.47, 7.94 4.69 C7.9 4.92, 7.84 5.15, 7.76 5.37 C7.68 5.59, 7.58 5.8, 7.46 6 C7.35 6.2, 7.21 6.39, 7.06 6.57 C6.92 6.75, 6.75 6.92, 6.57 7.06 C6.39 7.21, 6.2 7.35, 6 7.46 C5.8 7.58, 5.59 7.68, 5.37 7.76 C5.15 7.84, 4.92 7.9, 4.69 7.94 C4.47 7.98, 4.23 8, 4 8 C3.77 8, 3.53 7.98, 3.31 7.94 C3.08 7.9, 2.85 7.84, 2.63 7.76 C2.41 7.68, 2.2 7.58, 2 7.46 C1.8 7.35, 1.61 7.21, 1.43 7.06 C1.25 6.92, 1.08 6.75, 0.94 6.57 C0.79 6.39, 0.65 6.2, 0.54 6 C0.42 5.8, 0.32 5.59, 0.24 5.37 C0.16 5.15, 0.1 4.92, 0.06 4.69 C0.02 4.47, 0 4.23, 0 4 C0 3.77, 0.02 3.53, 0.06 3.31 C0.1 3.08, 0.16 2.85, 0.24 2.63 C0.32 2.41, 0.42 2.2, 0.54 2 C0.65 1.8, 0.79 1.61, 0.94 1.43 C1.08 1.25, 1.25 1.08, 1.43 0.94 C1.61 0.79, 1.8 0.65, 2 0.54 C2.2 0.42, 2.41 0.32, 2.63 0.24 C2.85 0.16, 3.08 0.1, 3.31 0.06 C3.53 0.02, 3.77 0, 4 0 C4.23 0, 4.47 0.02, 4.69 0.06 C4.92 0.1, 5.15 0.16, 5.37 0.24 C5.59 0.32, 5.8 0.42, 6 0.54 C6.2 0.65, 6.39 0.79, 6.57 0.94 C6.75 1.08, 6.92 1.25, 7.06 1.43 C7.21 1.61, 7.35 1.8, 7.46 2 C7.58 2.2, 7.68 2.41, 7.76 2.63 C7.84 2.85, 7.9 3.08, 7.94 3.31 C7.98 3.53, 7.99 3.88, 8 4 C8.01 4.12, 8.01 3.88, 8 4" stroke="none" stroke-width="0" fill="var(--diagram-accent, #C9602F)"/><path d="M8 4 C8 4.23, 7.98 4.47, 7.94 4.69 C7.9 4.92, 7.84 5.15, 7.76 5.37 C7.68 5.59, 7.58 5.8, 7.46 6 C7.35 6.2, 7.21 6.39, 7.06 6.57 C6.92 6.75, 6.75 6.92, 6.57 7.06 C6.39 7.21, 6.2 7.35, 6 7.46 C5.8 7.58, 5.59 7.68, 5.37 7.76 C5.15 7.84, 4.92 7.9, 4.69 7.94 C4.47 7.98, 4.23 8, 4 8 C3.77 8, 3.53 7.98, 3.31 7.94 C3.08 7.9, 2.85 7.84, 2.63 7.76 C2.41 7.68, 2.2 7.58, 2 7.46 C1.8 7.35, 1.61 7.21, 1.43 7.06 C1.25 6.92, 1.08 6.75, 0.94 6.57 C0.79 6.39, 0.65 6.2, 0.54 6 C0.42 5.8, 0.32 5.59, 0.24 5.37 C0.16 5.15, 0.1 4.92, 0.06 4.69 C0.02 4.47, 0 4.23, 0 4 C0 3.77, 0.02 3.53, 0.06 3.31 C0.1 3.08, 0.16 2.85, 0.24 2.63 C0.32 2.41, 0.42 2.2, 0.54 2 C0.65 1.8, 0.79 1.61, 0.94 1.43 C1.08 1.25, 1.25 1.08, 1.43 0.94 C1.61 0.79, 1.8 0.65, 2 0.54 C2.2 0.42, 2.41 0.32, 2.63 0.24 C2.85 0.16, 3.08 0.1, 3.31 0.06 C3.53 0.02, 3.77 0, 4 0 C4.23 0, 4.47 0.02, 4.69 0.06 C4.92 0.1, 5.15 0.16, 5.37 0.24 C5.59 0.32, 5.8 0.42, 6 0.54 C6.2 0.65, 6.39 0.79, 6.57 0.94 C6.75 1.08, 6.92 1.25, 7.06 1.43 C7.21 1.61, 7.35 1.8, 7.46 2 C7.58 2.2, 7.68 2.41, 7.76 2.63 C7.84 2.85, 7.9 3.08, 7.94 3.31 C7.98 3.53, 7.99 3.88, 8 4 C8.01 4.12, 8.01 3.88, 8 4" stroke="var(--diagram-accent, #C9602F)" stroke-width="1.4" fill="none"/></g><g transform="translate(33 10) rotate(0 114.5 14)"><text x="0" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-accent, #C9602F)" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Orator (API Server)</text></g><g stroke-linecap="round"><g transform="translate(14 40) rotate(0 -0.0383674987976903 9)"><path d="M0 0 C-0.26 3.51, 0.03 7.15, 0 18 M0 0 C0.13 5.54, -0.2 10.66, 0 18" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(14 58) rotate(0 8 -0.0782609133276182)"><path d="M0 0 C3.55 -0.35, 6.82 -0.33, 16 0 M0 0 C5.94 0.13, 11.91 0.13, 16 0" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(40 54) rotate(0 4 4)"><path d="M8 4 C8 4.23, 7.98 4.47, 7.94 4.69 C7.9 4.92, 7.84 5.15, 7.76 5.37 C7.68 5.59, 7.58 5.8, 7.46 6 C7.35 6.2, 7.21 6.39, 7.06 6.57 C6.92 6.75, 6.75 6.92, 6.57 7.06 C6.39 7.21, 6.2 7.35, 6 7.46 C5.8 7.58, 5.59 7.68, 5.37 7.76 C5.15 7.84, 4.92 7.9, 4.69 7.94 C4.47 7.98, 4.23 8, 4 8 C3.77 8, 3.53 7.98, 3.31 7.94 C3.08 7.9, 2.85 7.84, 2.63 7.76 C2.41 7.68, 2.2 7.58, 2 7.46 C1.8 7.35, 1.61 7.21, 1.43 7.06 C1.25 6.92, 1.08 6.75, 0.94 6.57 C0.79 6.39, 0.65 6.2, 0.54 6 C0.42 5.8, 0.32 5.59, 0.24 5.37 C0.16 5.15, 0.1 4.92, 0.06 4.69 C0.02 4.47, 0 4.23, 0 4 C0 3.77, 0.02 3.53, 0.06 3.31 C0.1 3.08, 0.16 2.85, 0.24 2.63 C0.32 2.41, 0.42 2.2, 0.54 2 C0.65 1.8, 0.79 1.61, 0.94 1.43 C1.08 1.25, 1.25 1.08, 1.43 0.94 C1.61 0.79, 1.8 0.65, 2 0.54 C2.2 0.42, 2.41 0.32, 2.63 0.24 C2.85 0.16, 3.08 0.1, 3.31 0.06 C3.53 0.02, 3.77 0, 4 0 C4.23 0, 4.47 0.02, 4.69 0.06 C4.92 0.1, 5.15 0.16, 5.37 0.24 C5.59 0.32, 5.8 0.42, 6 0.54 C6.2 0.65, 6.39 0.79, 6.57 0.94 C6.75 1.08, 6.92 1.25, 7.06 1.43 C7.21 1.61, 7.35 1.8, 7.46 2 C7.58 2.2, 7.68 2.41, 7.76 2.63 C7.84 2.85, 7.9 3.08, 7.94 3.31 C7.98 3.53, 7.99 3.88, 8 4 C8.01 4.12, 8.01 3.88, 8 4" stroke="none" stroke-width="0" fill="var(--diagram-accent, #C9602F)"/><path d="M8 4 C8 4.23, 7.98 4.47, 7.94 4.69 C7.9 4.92, 7.84 5.15, 7.76 5.37 C7.68 5.59, 7.58 5.8, 7.46 6 C7.35 6.2, 7.21 6.39, 7.06 6.57 C6.92 6.75, 6.75 6.92, 6.57 7.06 C6.39 7.21, 6.2 7.35, 6 7.46 C5.8 7.58, 5.59 7.68, 5.37 7.76 C5.15 7.84, 4.92 7.9, 4.69 7.94 C4.47 7.98, 4.23 8, 4 8 C3.77 8, 3.53 7.98, 3.31 7.94 C3.08 7.9, 2.85 7.84, 2.63 7.76 C2.41 7.68, 2.2 7.58, 2 7.46 C1.8 7.35, 1.61 7.21, 1.43 7.06 C1.25 6.92, 1.08 6.75, 0.94 6.57 C0.79 6.39, 0.65 6.2, 0.54 6 C0.42 5.8, 0.32 5.59, 0.24 5.37 C0.16 5.15, 0.1 4.92, 0.06 4.69 C0.02 4.47, 0 4.23, 0 4 C0 3.77, 0.02 3.53, 0.06 3.31 C0.1 3.08, 0.16 2.85, 0.24 2.63 C0.32 2.41, 0.42 2.2, 0.54 2 C0.65 1.8, 0.79 1.61, 0.94 1.43 C1.08 1.25, 1.25 1.08, 1.43 0.94 C1.61 0.79, 1.8 0.65, 2 0.54 C2.2 0.42, 2.41 0.32, 2.63 0.24 C2.85 0.16, 3.08 0.1, 3.31 0.06 C3.53 0.02, 3.77 0, 4 0 C4.23 0, 4.47 0.02, 4.69 0.06 C4.92 0.1, 5.15 0.16, 5.37 0.24 C5.59 0.32, 5.8 0.42, 6 0.54 C6.2 0.65, 6.39 0.79, 6.57 0.94 C6.75 1.08, 6.92 1.25, 7.06 1.43 C7.21 1.61, 7.35 1.8, 7.46 2 C7.58 2.2, 7.68 2.41, 7.76 2.63 C7.84 2.85, 7.9 3.08, 7.94 3.31 C7.98 3.53, 7.99 3.88, 8 4 C8.01 4.12, 8.01 3.88, 8 4" stroke="var(--diagram-accent, #C9602F)" stroke-width="1.4" fill="none"/></g><g transform="translate(63 45) rotate(0 219 14)"><text x="0" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Meadow Endpoints (Route Registration)</text></g><g stroke-linecap="round"><g transform="translate(44 75) rotate(0 -0.01931354504858973 17.5)"><path d="M0 0 C-0.11 7.54, 0.17 14.22, 0 35 M0 0 C0.01 10.05, -0.22 19.96, 0 35" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(44 93) rotate(0 8 0.02418738123429165)"><path d="M0 0 C3.01 0.12, 6.26 -0.22, 16 0 M0 0 C5.53 0.22, 11.33 0.1, 16 0" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(70 89) rotate(0 4 4)"><path d="M8 4 C8 4.23, 7.98 4.47, 7.94 4.69 C7.9 4.92, 7.84 5.15, 7.76 5.37 C7.68 5.59, 7.58 5.8, 7.46 6 C7.35 6.2, 7.21 6.39, 7.06 6.57 C6.92 6.75, 6.75 6.92, 6.57 7.06 C6.39 7.21, 6.2 7.35, 6 7.46 C5.8 7.58, 5.59 7.68, 5.37 7.76 C5.15 7.84, 4.92 7.9, 4.69 7.94 C4.47 7.98, 4.23 8, 4 8 C3.77 8, 3.53 7.98, 3.31 7.94 C3.08 7.9, 2.85 7.84, 2.63 7.76 C2.41 7.68, 2.2 7.58, 2 7.46 C1.8 7.35, 1.61 7.21, 1.43 7.06 C1.25 6.92, 1.08 6.75, 0.94 6.57 C0.79 6.39, 0.65 6.2, 0.54 6 C0.42 5.8, 0.32 5.59, 0.24 5.37 C0.16 5.15, 0.1 4.92, 0.06 4.69 C0.02 4.47, 0 4.23, 0 4 C0 3.77, 0.02 3.53, 0.06 3.31 C0.1 3.08, 0.16 2.85, 0.24 2.63 C0.32 2.41, 0.42 2.2, 0.54 2 C0.65 1.8, 0.79 1.61, 0.94 1.43 C1.08 1.25, 1.25 1.08, 1.43 0.94 C1.61 0.79, 1.8 0.65, 2 0.54 C2.2 0.42, 2.41 0.32, 2.63 0.24 C2.85 0.16, 3.08 0.1, 3.31 0.06 C3.53 0.02, 3.77 0, 4 0 C4.23 0, 4.47 0.02, 4.69 0.06 C4.92 0.1, 5.15 0.16, 5.37 0.24 C5.59 0.32, 5.8 0.42, 6 0.54 C6.2 0.65, 6.39 0.79, 6.57 0.94 C6.75 1.08, 6.92 1.25, 7.06 1.43 C7.21 1.61, 7.35 1.8, 7.46 2 C7.58 2.2, 7.68 2.41, 7.76 2.63 C7.84 2.85, 7.9 3.08, 7.94 3.31 C7.98 3.53, 7.99 3.88, 8 4 C8.01 4.12, 8.01 3.88, 8 4" stroke="none" stroke-width="0" fill="var(--diagram-accent, #C9602F)"/><path d="M8 4 C8 4.23, 7.98 4.47, 7.94 4.69 C7.9 4.92, 7.84 5.15, 7.76 5.37 C7.68 5.59, 7.58 5.8, 7.46 6 C7.35 6.2, 7.21 6.39, 7.06 6.57 C6.92 6.75, 6.75 6.92, 6.57 7.06 C6.39 7.21, 6.2 7.35, 6 7.46 C5.8 7.58, 5.59 7.68, 5.37 7.76 C5.15 7.84, 4.92 7.9, 4.69 7.94 C4.47 7.98, 4.23 8, 4 8 C3.77 8, 3.53 7.98, 3.31 7.94 C3.08 7.9, 2.85 7.84, 2.63 7.76 C2.41 7.68, 2.2 7.58, 2 7.46 C1.8 7.35, 1.61 7.21, 1.43 7.06 C1.25 6.92, 1.08 6.75, 0.94 6.57 C0.79 6.39, 0.65 6.2, 0.54 6 C0.42 5.8, 0.32 5.59, 0.24 5.37 C0.16 5.15, 0.1 4.92, 0.06 4.69 C0.02 4.47, 0 4.23, 0 4 C0 3.77, 0.02 3.53, 0.06 3.31 C0.1 3.08, 0.16 2.85, 0.24 2.63 C0.32 2.41, 0.42 2.2, 0.54 2 C0.65 1.8, 0.79 1.61, 0.94 1.43 C1.08 1.25, 1.25 1.08, 1.43 0.94 C1.61 0.79, 1.8 0.65, 2 0.54 C2.2 0.42, 2.41 0.32, 2.63 0.24 C2.85 0.16, 3.08 0.1, 3.31 0.06 C3.53 0.02, 3.77 0, 4 0 C4.23 0, 4.47 0.02, 4.69 0.06 C4.92 0.1, 5.15 0.16, 5.37 0.24 C5.59 0.32, 5.8 0.42, 6 0.54 C6.2 0.65, 6.39 0.79, 6.57 0.94 C6.75 1.08, 6.92 1.25, 7.06 1.43 C7.21 1.61, 7.35 1.8, 7.46 2 C7.58 2.2, 7.68 2.41, 7.76 2.63 C7.84 2.85, 7.9 3.08, 7.94 3.31 C7.98 3.53, 7.99 3.88, 8 4 C8.01 4.12, 8.01 3.88, 8 4" stroke="var(--diagram-accent, #C9602F)" stroke-width="1.4" fill="none"/></g><g transform="translate(93 80) rotate(0 178 14)"><text x="0" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Controller (Request Lifecycle)</text></g><g stroke-linecap="round"><g transform="translate(44 110) rotate(0 0.03471214087144503 17.5)"><path d="M0 0 C-0.19 7.02, 0.43 13.77, 0 35 M0 0 C0 8.52, -0.19 16.76, 0 35" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(74 110) rotate(0 -0.09994868551041236 17.5)"><path d="M0 0 C-0.16 7.46, -0.36 14.15, 0 35 M0 0 C-0.18 11.48, -0.14 22.91, 0 35" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(74 128) rotate(0 8 0.008365909859563203)"><path d="M0 0 C2.82 0.16, 6.43 -0.07, 16 0 M0 0 C6.45 0.05, 12.78 -0.11, 16 0" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(100 124) rotate(0 4 4)"><path d="M8 4 C8 4.23, 7.98 4.47, 7.94 4.69 C7.9 4.92, 7.84 5.15, 7.76 5.37 C7.68 5.59, 7.58 5.8, 7.46 6 C7.35 6.2, 7.21 6.39, 7.06 6.57 C6.92 6.75, 6.75 6.92, 6.57 7.06 C6.39 7.21, 6.2 7.35, 6 7.46 C5.8 7.58, 5.59 7.68, 5.37 7.76 C5.15 7.84, 4.92 7.9, 4.69 7.94 C4.47 7.98, 4.23 8, 4 8 C3.77 8, 3.53 7.98, 3.31 7.94 C3.08 7.9, 2.85 7.84, 2.63 7.76 C2.41 7.68, 2.2 7.58, 2 7.46 C1.8 7.35, 1.61 7.21, 1.43 7.06 C1.25 6.92, 1.08 6.75, 0.94 6.57 C0.79 6.39, 0.65 6.2, 0.54 6 C0.42 5.8, 0.32 5.59, 0.24 5.37 C0.16 5.15, 0.1 4.92, 0.06 4.69 C0.02 4.47, 0 4.23, 0 4 C0 3.77, 0.02 3.53, 0.06 3.31 C0.1 3.08, 0.16 2.85, 0.24 2.63 C0.32 2.41, 0.42 2.2, 0.54 2 C0.65 1.8, 0.79 1.61, 0.94 1.43 C1.08 1.25, 1.25 1.08, 1.43 0.94 C1.61 0.79, 1.8 0.65, 2 0.54 C2.2 0.42, 2.41 0.32, 2.63 0.24 C2.85 0.16, 3.08 0.1, 3.31 0.06 C3.53 0.02, 3.77 0, 4 0 C4.23 0, 4.47 0.02, 4.69 0.06 C4.92 0.1, 5.15 0.16, 5.37 0.24 C5.59 0.32, 5.8 0.42, 6 0.54 C6.2 0.65, 6.39 0.79, 6.57 0.94 C6.75 1.08, 6.92 1.25, 7.06 1.43 C7.21 1.61, 7.35 1.8, 7.46 2 C7.58 2.2, 7.68 2.41, 7.76 2.63 C7.84 2.85, 7.9 3.08, 7.94 3.31 C7.98 3.53, 7.99 3.88, 8 4 C8.01 4.12, 8.01 3.88, 8 4" stroke="none" stroke-width="0" fill="var(--diagram-deemphasis, #8A7F72)"/><path d="M8 4 C8 4.23, 7.98 4.47, 7.94 4.69 C7.9 4.92, 7.84 5.15, 7.76 5.37 C7.68 5.59, 7.58 5.8, 7.46 6 C7.35 6.2, 7.21 6.39, 7.06 6.57 C6.92 6.75, 6.75 6.92, 6.57 7.06 C6.39 7.21, 6.2 7.35, 6 7.46 C5.8 7.58, 5.59 7.68, 5.37 7.76 C5.15 7.84, 4.92 7.9, 4.69 7.94 C4.47 7.98, 4.23 8, 4 8 C3.77 8, 3.53 7.98, 3.31 7.94 C3.08 7.9, 2.85 7.84, 2.63 7.76 C2.41 7.68, 2.2 7.58, 2 7.46 C1.8 7.35, 1.61 7.21, 1.43 7.06 C1.25 6.92, 1.08 6.75, 0.94 6.57 C0.79 6.39, 0.65 6.2, 0.54 6 C0.42 5.8, 0.32 5.59, 0.24 5.37 C0.16 5.15, 0.1 4.92, 0.06 4.69 C0.02 4.47, 0 4.23, 0 4 C0 3.77, 0.02 3.53, 0.06 3.31 C0.1 3.08, 0.16 2.85, 0.24 2.63 C0.32 2.41, 0.42 2.2, 0.54 2 C0.65 1.8, 0.79 1.61, 0.94 1.43 C1.08 1.25, 1.25 1.08, 1.43 0.94 C1.61 0.79, 1.8 0.65, 2 0.54 C2.2 0.42, 2.41 0.32, 2.63 0.24 C2.85 0.16, 3.08 0.1, 3.31 0.06 C3.53 0.02, 3.77 0, 4 0 C4.23 0, 4.47 0.02, 4.69 0.06 C4.92 0.1, 5.15 0.16, 5.37 0.24 C5.59 0.32, 5.8 0.42, 6 0.54 C6.2 0.65, 6.39 0.79, 6.57 0.94 C6.75 1.08, 6.92 1.25, 7.06 1.43 C7.21 1.61, 7.35 1.8, 7.46 2 C7.58 2.2, 7.68 2.41, 7.76 2.63 C7.84 2.85, 7.9 3.08, 7.94 3.31 C7.98 3.53, 7.99 3.88, 8 4 C8.01 4.12, 8.01 3.88, 8 4" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.4" fill="none"/></g><g transform="translate(123 115) rotate(0 103 14)"><text x="0" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Session Marshaler</text></g><g stroke-linecap="round"><g transform="translate(44 145) rotate(0 0.11782966014275331 17.5)"><path d="M0 0 C0.47 7.45, 0.29 14.58, 0 35 M0 0 C-0.14 8.96, 0.03 17.39, 0 35" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(74 145) rotate(0 0.10562405100701966 17.5)"><path d="M0 0 C0.33 6.89, 0.34 13.97, 0 35 M0 0 C0.01 11.93, -0.09 23.54, 0 35" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(74 163) rotate(0 8 -0.012296528353985536)"><path d="M0 0 C3.33 0.37, 6.36 -0.42, 16 0 M0 0 C3.28 0.12, 6.89 0.16, 16 0" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(100 159) rotate(0 4 4)"><path d="M8 4 C8 4.23, 7.98 4.47, 7.94 4.69 C7.9 4.92, 7.84 5.15, 7.76 5.37 C7.68 5.59, 7.58 5.8, 7.46 6 C7.35 6.2, 7.21 6.39, 7.06 6.57 C6.92 6.75, 6.75 6.92, 6.57 7.06 C6.39 7.21, 6.2 7.35, 6 7.46 C5.8 7.58, 5.59 7.68, 5.37 7.76 C5.15 7.84, 4.92 7.9, 4.69 7.94 C4.47 7.98, 4.23 8, 4 8 C3.77 8, 3.53 7.98, 3.31 7.94 C3.08 7.9, 2.85 7.84, 2.63 7.76 C2.41 7.68, 2.2 7.58, 2 7.46 C1.8 7.35, 1.61 7.21, 1.43 7.06 C1.25 6.92, 1.08 6.75, 0.94 6.57 C0.79 6.39, 0.65 6.2, 0.54 6 C0.42 5.8, 0.32 5.59, 0.24 5.37 C0.16 5.15, 0.1 4.92, 0.06 4.69 C0.02 4.47, 0 4.23, 0 4 C0 3.77, 0.02 3.53, 0.06 3.31 C0.1 3.08, 0.16 2.85, 0.24 2.63 C0.32 2.41, 0.42 2.2, 0.54 2 C0.65 1.8, 0.79 1.61, 0.94 1.43 C1.08 1.25, 1.25 1.08, 1.43 0.94 C1.61 0.79, 1.8 0.65, 2 0.54 C2.2 0.42, 2.41 0.32, 2.63 0.24 C2.85 0.16, 3.08 0.1, 3.31 0.06 C3.53 0.02, 3.77 0, 4 0 C4.23 0, 4.47 0.02, 4.69 0.06 C4.92 0.1, 5.15 0.16, 5.37 0.24 C5.59 0.32, 5.8 0.42, 6 0.54 C6.2 0.65, 6.39 0.79, 6.57 0.94 C6.75 1.08, 6.92 1.25, 7.06 1.43 C7.21 1.61, 7.35 1.8, 7.46 2 C7.58 2.2, 7.68 2.41, 7.76 2.63 C7.84 2.85, 7.9 3.08, 7.94 3.31 C7.98 3.53, 7.99 3.88, 8 4 C8.01 4.12, 8.01 3.88, 8 4" stroke="none" stroke-width="0" fill="var(--diagram-deemphasis, #8A7F72)"/><path d="M8 4 C8 4.23, 7.98 4.47, 7.94 4.69 C7.9 4.92, 7.84 5.15, 7.76 5.37 C7.68 5.59, 7.58 5.8, 7.46 6 C7.35 6.2, 7.21 6.39, 7.06 6.57 C6.92 6.75, 6.75 6.92, 6.57 7.06 C6.39 7.21, 6.2 7.35, 6 7.46 C5.8 7.58, 5.59 7.68, 5.37 7.76 C5.15 7.84, 4.92 7.9, 4.69 7.94 C4.47 7.98, 4.23 8, 4 8 C3.77 8, 3.53 7.98, 3.31 7.94 C3.08 7.9, 2.85 7.84, 2.63 7.76 C2.41 7.68, 2.2 7.58, 2 7.46 C1.8 7.35, 1.61 7.21, 1.43 7.06 C1.25 6.92, 1.08 6.75, 0.94 6.57 C0.79 6.39, 0.65 6.2, 0.54 6 C0.42 5.8, 0.32 5.59, 0.24 5.37 C0.16 5.15, 0.1 4.92, 0.06 4.69 C0.02 4.47, 0 4.23, 0 4 C0 3.77, 0.02 3.53, 0.06 3.31 C0.1 3.08, 0.16 2.85, 0.24 2.63 C0.32 2.41, 0.42 2.2, 0.54 2 C0.65 1.8, 0.79 1.61, 0.94 1.43 C1.08 1.25, 1.25 1.08, 1.43 0.94 C1.61 0.79, 1.8 0.65, 2 0.54 C2.2 0.42, 2.41 0.32, 2.63 0.24 C2.85 0.16, 3.08 0.1, 3.31 0.06 C3.53 0.02, 3.77 0, 4 0 C4.23 0, 4.47 0.02, 4.69 0.06 C4.92 0.1, 5.15 0.16, 5.37 0.24 C5.59 0.32, 5.8 0.42, 6 0.54 C6.2 0.65, 6.39 0.79, 6.57 0.94 C6.75 1.08, 6.92 1.25, 7.06 1.43 C7.21 1.61, 7.35 1.8, 7.46 2 C7.58 2.2, 7.68 2.41, 7.76 2.63 C7.84 2.85, 7.9 3.08, 7.94 3.31 C7.98 3.53, 7.99 3.88, 8 4 C8.01 4.12, 8.01 3.88, 8 4" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.4" fill="none"/></g><g transform="translate(123 150) rotate(0 108.5 14)"><text x="0" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Behavior Injection</text></g><g stroke-linecap="round"><g transform="translate(44 180) rotate(0 0.007048132364595006 17.5)"><path d="M0 0 C-0.29 6.74, -0.04 13.69, 0 35 M0 0 C0.19 7.05, 0.22 14.5, 0 35" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(74 180) rotate(0 -0.08473790401259862 17.5)"><path d="M0 0 C-0.43 7.18, 0 14.07, 0 35 M0 0 C-0.16 10.52, 0.09 20.65, 0 35" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(74 198) rotate(0 8 -0.06576711673028512)"><path d="M0 0 C3.52 -0.13, 6.85 -0.22, 16 0 M0 0 C5.97 -0.15, 11.55 -0.03, 16 0" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(100 194) rotate(0 4 4)"><path d="M8 4 C8 4.23, 7.98 4.47, 7.94 4.69 C7.9 4.92, 7.84 5.15, 7.76 5.37 C7.68 5.59, 7.58 5.8, 7.46 6 C7.35 6.2, 7.21 6.39, 7.06 6.57 C6.92 6.75, 6.75 6.92, 6.57 7.06 C6.39 7.21, 6.2 7.35, 6 7.46 C5.8 7.58, 5.59 7.68, 5.37 7.76 C5.15 7.84, 4.92 7.9, 4.69 7.94 C4.47 7.98, 4.23 8, 4 8 C3.77 8, 3.53 7.98, 3.31 7.94 C3.08 7.9, 2.85 7.84, 2.63 7.76 C2.41 7.68, 2.2 7.58, 2 7.46 C1.8 7.35, 1.61 7.21, 1.43 7.06 C1.25 6.92, 1.08 6.75, 0.94 6.57 C0.79 6.39, 0.65 6.2, 0.54 6 C0.42 5.8, 0.32 5.59, 0.24 5.37 C0.16 5.15, 0.1 4.92, 0.06 4.69 C0.02 4.47, 0 4.23, 0 4 C0 3.77, 0.02 3.53, 0.06 3.31 C0.1 3.08, 0.16 2.85, 0.24 2.63 C0.32 2.41, 0.42 2.2, 0.54 2 C0.65 1.8, 0.79 1.61, 0.94 1.43 C1.08 1.25, 1.25 1.08, 1.43 0.94 C1.61 0.79, 1.8 0.65, 2 0.54 C2.2 0.42, 2.41 0.32, 2.63 0.24 C2.85 0.16, 3.08 0.1, 3.31 0.06 C3.53 0.02, 3.77 0, 4 0 C4.23 0, 4.47 0.02, 4.69 0.06 C4.92 0.1, 5.15 0.16, 5.37 0.24 C5.59 0.32, 5.8 0.42, 6 0.54 C6.2 0.65, 6.39 0.79, 6.57 0.94 C6.75 1.08, 6.92 1.25, 7.06 1.43 C7.21 1.61, 7.35 1.8, 7.46 2 C7.58 2.2, 7.68 2.41, 7.76 2.63 C7.84 2.85, 7.9 3.08, 7.94 3.31 C7.98 3.53, 7.99 3.88, 8 4 C8.01 4.12, 8.01 3.88, 8 4" stroke="none" stroke-width="0" fill="var(--diagram-deemphasis, #8A7F72)"/><path d="M8 4 C8 4.23, 7.98 4.47, 7.94 4.69 C7.9 4.92, 7.84 5.15, 7.76 5.37 C7.68 5.59, 7.58 5.8, 7.46 6 C7.35 6.2, 7.21 6.39, 7.06 6.57 C6.92 6.75, 6.75 6.92, 6.57 7.06 C6.39 7.21, 6.2 7.35, 6 7.46 C5.8 7.58, 5.59 7.68, 5.37 7.76 C5.15 7.84, 4.92 7.9, 4.69 7.94 C4.47 7.98, 4.23 8, 4 8 C3.77 8, 3.53 7.98, 3.31 7.94 C3.08 7.9, 2.85 7.84, 2.63 7.76 C2.41 7.68, 2.2 7.58, 2 7.46 C1.8 7.35, 1.61 7.21, 1.43 7.06 C1.25 6.92, 1.08 6.75, 0.94 6.57 C0.79 6.39, 0.65 6.2, 0.54 6 C0.42 5.8, 0.32 5.59, 0.24 5.37 C0.16 5.15, 0.1 4.92, 0.06 4.69 C0.02 4.47, 0 4.23, 0 4 C0 3.77, 0.02 3.53, 0.06 3.31 C0.1 3.08, 0.16 2.85, 0.24 2.63 C0.32 2.41, 0.42 2.2, 0.54 2 C0.65 1.8, 0.79 1.61, 0.94 1.43 C1.08 1.25, 1.25 1.08, 1.43 0.94 C1.61 0.79, 1.8 0.65, 2 0.54 C2.2 0.42, 2.41 0.32, 2.63 0.24 C2.85 0.16, 3.08 0.1, 3.31 0.06 C3.53 0.02, 3.77 0, 4 0 C4.23 0, 4.47 0.02, 4.69 0.06 C4.92 0.1, 5.15 0.16, 5.37 0.24 C5.59 0.32, 5.8 0.42, 6 0.54 C6.2 0.65, 6.39 0.79, 6.57 0.94 C6.75 1.08, 6.92 1.25, 7.06 1.43 C7.21 1.61, 7.35 1.8, 7.46 2 C7.58 2.2, 7.68 2.41, 7.76 2.63 C7.84 2.85, 7.9 3.08, 7.94 3.31 C7.98 3.53, 7.99 3.88, 8 4 C8.01 4.12, 8.01 3.88, 8 4" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.4" fill="none"/></g><g transform="translate(123 185) rotate(0 79.5 14)"><text x="0" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Error Handler</text></g><g stroke-linecap="round"><g transform="translate(44 215) rotate(0 -0.0432649111068244 17.5)"><path d="M0 0 C-0.25 7.28, -0.3 13.82, 0 35 M0 0 C0.15 12.36, 0.16 24.67, 0 35" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(74 215) rotate(0 -0.019997886493641204 9)"><path d="M0 0 C-0.19 3.32, -0.07 7.34, 0 18 M0 0 C-0.05 4.28, 0.16 8.72, 0 18" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(74 233) rotate(0 8 0.06909254857049518)"><path d="M0 0 C2.84 0.35, 6.73 -0.06, 16 0 M0 0 C5.11 0.01, 9.77 0, 16 0" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(100 229) rotate(0 4 4)"><path d="M8 4 C8 4.23, 7.98 4.47, 7.94 4.69 C7.9 4.92, 7.84 5.15, 7.76 5.37 C7.68 5.59, 7.58 5.8, 7.46 6 C7.35 6.2, 7.21 6.39, 7.06 6.57 C6.92 6.75, 6.75 6.92, 6.57 7.06 C6.39 7.21, 6.2 7.35, 6 7.46 C5.8 7.58, 5.59 7.68, 5.37 7.76 C5.15 7.84, 4.92 7.9, 4.69 7.94 C4.47 7.98, 4.23 8, 4 8 C3.77 8, 3.53 7.98, 3.31 7.94 C3.08 7.9, 2.85 7.84, 2.63 7.76 C2.41 7.68, 2.2 7.58, 2 7.46 C1.8 7.35, 1.61 7.21, 1.43 7.06 C1.25 6.92, 1.08 6.75, 0.94 6.57 C0.79 6.39, 0.65 6.2, 0.54 6 C0.42 5.8, 0.32 5.59, 0.24 5.37 C0.16 5.15, 0.1 4.92, 0.06 4.69 C0.02 4.47, 0 4.23, 0 4 C0 3.77, 0.02 3.53, 0.06 3.31 C0.1 3.08, 0.16 2.85, 0.24 2.63 C0.32 2.41, 0.42 2.2, 0.54 2 C0.65 1.8, 0.79 1.61, 0.94 1.43 C1.08 1.25, 1.25 1.08, 1.43 0.94 C1.61 0.79, 1.8 0.65, 2 0.54 C2.2 0.42, 2.41 0.32, 2.63 0.24 C2.85 0.16, 3.08 0.1, 3.31 0.06 C3.53 0.02, 3.77 0, 4 0 C4.23 0, 4.47 0.02, 4.69 0.06 C4.92 0.1, 5.15 0.16, 5.37 0.24 C5.59 0.32, 5.8 0.42, 6 0.54 C6.2 0.65, 6.39 0.79, 6.57 0.94 C6.75 1.08, 6.92 1.25, 7.06 1.43 C7.21 1.61, 7.35 1.8, 7.46 2 C7.58 2.2, 7.68 2.41, 7.76 2.63 C7.84 2.85, 7.9 3.08, 7.94 3.31 C7.98 3.53, 7.99 3.88, 8 4 C8.01 4.12, 8.01 3.88, 8 4" stroke="none" stroke-width="0" fill="var(--diagram-deemphasis, #8A7F72)"/><path d="M8 4 C8 4.23, 7.98 4.47, 7.94 4.69 C7.9 4.92, 7.84 5.15, 7.76 5.37 C7.68 5.59, 7.58 5.8, 7.46 6 C7.35 6.2, 7.21 6.39, 7.06 6.57 C6.92 6.75, 6.75 6.92, 6.57 7.06 C6.39 7.21, 6.2 7.35, 6 7.46 C5.8 7.58, 5.59 7.68, 5.37 7.76 C5.15 7.84, 4.92 7.9, 4.69 7.94 C4.47 7.98, 4.23 8, 4 8 C3.77 8, 3.53 7.98, 3.31 7.94 C3.08 7.9, 2.85 7.84, 2.63 7.76 C2.41 7.68, 2.2 7.58, 2 7.46 C1.8 7.35, 1.61 7.21, 1.43 7.06 C1.25 6.92, 1.08 6.75, 0.94 6.57 C0.79 6.39, 0.65 6.2, 0.54 6 C0.42 5.8, 0.32 5.59, 0.24 5.37 C0.16 5.15, 0.1 4.92, 0.06 4.69 C0.02 4.47, 0 4.23, 0 4 C0 3.77, 0.02 3.53, 0.06 3.31 C0.1 3.08, 0.16 2.85, 0.24 2.63 C0.32 2.41, 0.42 2.2, 0.54 2 C0.65 1.8, 0.79 1.61, 0.94 1.43 C1.08 1.25, 1.25 1.08, 1.43 0.94 C1.61 0.79, 1.8 0.65, 2 0.54 C2.2 0.42, 2.41 0.32, 2.63 0.24 C2.85 0.16, 3.08 0.1, 3.31 0.06 C3.53 0.02, 3.77 0, 4 0 C4.23 0, 4.47 0.02, 4.69 0.06 C4.92 0.1, 5.15 0.16, 5.37 0.24 C5.59 0.32, 5.8 0.42, 6 0.54 C6.2 0.65, 6.39 0.79, 6.57 0.94 C6.75 1.08, 6.92 1.25, 7.06 1.43 C7.21 1.61, 7.35 1.8, 7.46 2 C7.58 2.2, 7.68 2.41, 7.76 2.63 C7.84 2.85, 7.9 3.08, 7.94 3.31 C7.98 3.53, 7.99 3.88, 8 4 C8.01 4.12, 8.01 3.88, 8 4" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.4" fill="none"/></g><g transform="translate(123 220) rotate(0 85.5 14)"><text x="0" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Log Controller</text></g><g stroke-linecap="round"><g transform="translate(44 250) rotate(0 0.06288722341772512 9)"><path d="M0 0 C-0.04 3.58, 0.37 6.9, 0 18 M0 0 C-0.13 3.58, 0.24 7.51, 0 18" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(44 268) rotate(0 8 0.03055471403848742)"><path d="M0 0 C2.93 -0.2, 6.26 0.38, 16 0 M0 0 C4.58 -0.1, 8.89 -0.09, 16 0" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(70 264) rotate(0 4 4)"><path d="M8 4 C8 4.23, 7.98 4.47, 7.94 4.69 C7.9 4.92, 7.84 5.15, 7.76 5.37 C7.68 5.59, 7.58 5.8, 7.46 6 C7.35 6.2, 7.21 6.39, 7.06 6.57 C6.92 6.75, 6.75 6.92, 6.57 7.06 C6.39 7.21, 6.2 7.35, 6 7.46 C5.8 7.58, 5.59 7.68, 5.37 7.76 C5.15 7.84, 4.92 7.9, 4.69 7.94 C4.47 7.98, 4.23 8, 4 8 C3.77 8, 3.53 7.98, 3.31 7.94 C3.08 7.9, 2.85 7.84, 2.63 7.76 C2.41 7.68, 2.2 7.58, 2 7.46 C1.8 7.35, 1.61 7.21, 1.43 7.06 C1.25 6.92, 1.08 6.75, 0.94 6.57 C0.79 6.39, 0.65 6.2, 0.54 6 C0.42 5.8, 0.32 5.59, 0.24 5.37 C0.16 5.15, 0.1 4.92, 0.06 4.69 C0.02 4.47, 0 4.23, 0 4 C0 3.77, 0.02 3.53, 0.06 3.31 C0.1 3.08, 0.16 2.85, 0.24 2.63 C0.32 2.41, 0.42 2.2, 0.54 2 C0.65 1.8, 0.79 1.61, 0.94 1.43 C1.08 1.25, 1.25 1.08, 1.43 0.94 C1.61 0.79, 1.8 0.65, 2 0.54 C2.2 0.42, 2.41 0.32, 2.63 0.24 C2.85 0.16, 3.08 0.1, 3.31 0.06 C3.53 0.02, 3.77 0, 4 0 C4.23 0, 4.47 0.02, 4.69 0.06 C4.92 0.1, 5.15 0.16, 5.37 0.24 C5.59 0.32, 5.8 0.42, 6 0.54 C6.2 0.65, 6.39 0.79, 6.57 0.94 C6.75 1.08, 6.92 1.25, 7.06 1.43 C7.21 1.61, 7.35 1.8, 7.46 2 C7.58 2.2, 7.68 2.41, 7.76 2.63 C7.84 2.85, 7.9 3.08, 7.94 3.31 C7.98 3.53, 7.99 3.88, 8 4 C8.01 4.12, 8.01 3.88, 8 4" stroke="none" stroke-width="0" fill="var(--diagram-accent, #C9602F)"/><path d="M8 4 C8 4.23, 7.98 4.47, 7.94 4.69 C7.9 4.92, 7.84 5.15, 7.76 5.37 C7.68 5.59, 7.58 5.8, 7.46 6 C7.35 6.2, 7.21 6.39, 7.06 6.57 C6.92 6.75, 6.75 6.92, 6.57 7.06 C6.39 7.21, 6.2 7.35, 6 7.46 C5.8 7.58, 5.59 7.68, 5.37 7.76 C5.15 7.84, 4.92 7.9, 4.69 7.94 C4.47 7.98, 4.23 8, 4 8 C3.77 8, 3.53 7.98, 3.31 7.94 C3.08 7.9, 2.85 7.84, 2.63 7.76 C2.41 7.68, 2.2 7.58, 2 7.46 C1.8 7.35, 1.61 7.21, 1.43 7.06 C1.25 6.92, 1.08 6.75, 0.94 6.57 C0.79 6.39, 0.65 6.2, 0.54 6 C0.42 5.8, 0.32 5.59, 0.24 5.37 C0.16 5.15, 0.1 4.92, 0.06 4.69 C0.02 4.47, 0 4.23, 0 4 C0 3.77, 0.02 3.53, 0.06 3.31 C0.1 3.08, 0.16 2.85, 0.24 2.63 C0.32 2.41, 0.42 2.2, 0.54 2 C0.65 1.8, 0.79 1.61, 0.94 1.43 C1.08 1.25, 1.25 1.08, 1.43 0.94 C1.61 0.79, 1.8 0.65, 2 0.54 C2.2 0.42, 2.41 0.32, 2.63 0.24 C2.85 0.16, 3.08 0.1, 3.31 0.06 C3.53 0.02, 3.77 0, 4 0 C4.23 0, 4.47 0.02, 4.69 0.06 C4.92 0.1, 5.15 0.16, 5.37 0.24 C5.59 0.32, 5.8 0.42, 6 0.54 C6.2 0.65, 6.39 0.79, 6.57 0.94 C6.75 1.08, 6.92 1.25, 7.06 1.43 C7.21 1.61, 7.35 1.8, 7.46 2 C7.58 2.2, 7.68 2.41, 7.76 2.63 C7.84 2.85, 7.9 3.08, 7.94 3.31 C7.98 3.53, 7.99 3.88, 8 4 C8.01 4.12, 8.01 3.88, 8 4" stroke="var(--diagram-accent, #C9602F)" stroke-width="1.4" fill="none"/></g><g transform="translate(93 255) rotate(0 143.5 14)"><text x="0" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Meadow DAL (Data Access)</text></g><g stroke-linecap="round"><g transform="translate(74 285) rotate(0 0.0537634072294324 9)"><path d="M0 0 C0.09 3.84, 0.17 7.47, 0 18 M0 0 C0.19 3.98, 0.08 7.96, 0 18" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(74 303) rotate(0 8 -0.0218017148024785)"><path d="M0 0 C3.09 -0.06, 6.17 -0.03, 16 0 M0 0 C4.7 0.02, 9.19 -0.12, 16 0" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.3" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(100 299) rotate(0 4 4)"><path d="M8 4 C8 4.23, 7.98 4.47, 7.94 4.69 C7.9 4.92, 7.84 5.15, 7.76 5.37 C7.68 5.59, 7.58 5.8, 7.46 6 C7.35 6.2, 7.21 6.39, 7.06 6.57 C6.92 6.75, 6.75 6.92, 6.57 7.06 C6.39 7.21, 6.2 7.35, 6 7.46 C5.8 7.58, 5.59 7.68, 5.37 7.76 C5.15 7.84, 4.92 7.9, 4.69 7.94 C4.47 7.98, 4.23 8, 4 8 C3.77 8, 3.53 7.98, 3.31 7.94 C3.08 7.9, 2.85 7.84, 2.63 7.76 C2.41 7.68, 2.2 7.58, 2 7.46 C1.8 7.35, 1.61 7.21, 1.43 7.06 C1.25 6.92, 1.08 6.75, 0.94 6.57 C0.79 6.39, 0.65 6.2, 0.54 6 C0.42 5.8, 0.32 5.59, 0.24 5.37 C0.16 5.15, 0.1 4.92, 0.06 4.69 C0.02 4.47, 0 4.23, 0 4 C0 3.77, 0.02 3.53, 0.06 3.31 C0.1 3.08, 0.16 2.85, 0.24 2.63 C0.32 2.41, 0.42 2.2, 0.54 2 C0.65 1.8, 0.79 1.61, 0.94 1.43 C1.08 1.25, 1.25 1.08, 1.43 0.94 C1.61 0.79, 1.8 0.65, 2 0.54 C2.2 0.42, 2.41 0.32, 2.63 0.24 C2.85 0.16, 3.08 0.1, 3.31 0.06 C3.53 0.02, 3.77 0, 4 0 C4.23 0, 4.47 0.02, 4.69 0.06 C4.92 0.1, 5.15 0.16, 5.37 0.24 C5.59 0.32, 5.8 0.42, 6 0.54 C6.2 0.65, 6.39 0.79, 6.57 0.94 C6.75 1.08, 6.92 1.25, 7.06 1.43 C7.21 1.61, 7.35 1.8, 7.46 2 C7.58 2.2, 7.68 2.41, 7.76 2.63 C7.84 2.85, 7.9 3.08, 7.94 3.31 C7.98 3.53, 7.99 3.88, 8 4 C8.01 4.12, 8.01 3.88, 8 4" stroke="none" stroke-width="0" fill="var(--diagram-deemphasis, #8A7F72)"/><path d="M8 4 C8 4.23, 7.98 4.47, 7.94 4.69 C7.9 4.92, 7.84 5.15, 7.76 5.37 C7.68 5.59, 7.58 5.8, 7.46 6 C7.35 6.2, 7.21 6.39, 7.06 6.57 C6.92 6.75, 6.75 6.92, 6.57 7.06 C6.39 7.21, 6.2 7.35, 6 7.46 C5.8 7.58, 5.59 7.68, 5.37 7.76 C5.15 7.84, 4.92 7.9, 4.69 7.94 C4.47 7.98, 4.23 8, 4 8 C3.77 8, 3.53 7.98, 3.31 7.94 C3.08 7.9, 2.85 7.84, 2.63 7.76 C2.41 7.68, 2.2 7.58, 2 7.46 C1.8 7.35, 1.61 7.21, 1.43 7.06 C1.25 6.92, 1.08 6.75, 0.94 6.57 C0.79 6.39, 0.65 6.2, 0.54 6 C0.42 5.8, 0.32 5.59, 0.24 5.37 C0.16 5.15, 0.1 4.92, 0.06 4.69 C0.02 4.47, 0 4.23, 0 4 C0 3.77, 0.02 3.53, 0.06 3.31 C0.1 3.08, 0.16 2.85, 0.24 2.63 C0.32 2.41, 0.42 2.2, 0.54 2 C0.65 1.8, 0.79 1.61, 0.94 1.43 C1.08 1.25, 1.25 1.08, 1.43 0.94 C1.61 0.79, 1.8 0.65, 2 0.54 C2.2 0.42, 2.41 0.32, 2.63 0.24 C2.85 0.16, 3.08 0.1, 3.31 0.06 C3.53 0.02, 3.77 0, 4 0 C4.23 0, 4.47 0.02, 4.69 0.06 C4.92 0.1, 5.15 0.16, 5.37 0.24 C5.59 0.32, 5.8 0.42, 6 0.54 C6.2 0.65, 6.39 0.79, 6.57 0.94 C6.75 1.08, 6.92 1.25, 7.06 1.43 C7.21 1.61, 7.35 1.8, 7.46 2 C7.58 2.2, 7.68 2.41, 7.76 2.63 C7.84 2.85, 7.9 3.08, 7.94 3.31 C7.98 3.53, 7.99 3.88, 8 4 C8.01 4.12, 8.01 3.88, 8 4" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.4" fill="none"/></g><g transform="translate(123 290) rotate(0 103 14)"><text x="0" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Database Provider</text></g></svg>
|