<mxfile host="orrery" agent="orrery" type="device">
<diagram id="orrery" name="Serverless web API on AWS">
<mxGraphModel dx="596" dy="1459" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="596" pageHeight="1459" background="#0b1012" math="0" shadow="0">
<root><mxCell id="0"/><mxCell id="1" parent="0"/>
<mxCell id="title" value="Serverless web API on AWS" style="text;html=1;align=left;verticalAlign=top;fontSize=20;fontStyle=1;fontColor=#9d9fa0;fontFamily=Inter,Helvetica,Arial,sans-serif;spacing=0;" vertex="1" parent="1"><mxGeometry x="28" y="24" width="289.92" height="25" as="geometry"/></mxCell>
<mxCell id="subtitle" value="Single-page app on CloudFront, REST API on API Gateway and Lambda, Cognito sign-in" style="text;html=1;align=left;verticalAlign=top;fontSize=13;fontColor=#979a9b;fontFamily=Inter,Helvetica,Arial,sans-serif;spacing=0;" vertex="1" parent="1"><mxGeometry x="28" y="53" width="559.91" height="16.9" as="geometry"/></mxCell>
<mxCell id="g-cloud" value="AWS Cloud" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#121719;strokeColor=#323638;strokeWidth=1.67;dashed=0;verticalAlign=top;align=left;spacingLeft=46;spacingTop=8;fontColor=#649adb;fontStyle=1;fontSize=13;fontFamily=Inter,Helvetica,Arial,sans-serif;container=1;collapsible=0;recursiveResize=0;pointerEvents=0;" vertex="1" parent="1"><mxGeometry x="28" y="321" width="479" height="1027" as="geometry"/></mxCell>
<mxCell id="g-cloud:icon" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDAgNDAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiBmaWxsPSIjZmZmIi8+PHBhdGggZmlsbD0iIzIzMmYzZSIgZD0iTTMyLjY5OCAyMy45Yy4zNjEuNDctLjQgMi40LS43NCAzLjI2NC0uMTA1LjI2Mi4xMTcuMzY1LjM1LjE2OCAxLjUxMi0xLjI4NCAxLjkwNC0zLjk3NSAxLjU5My00LjM2My0uMzA3LS4zODYtMi45NS0uNzE3LTQuNTYzLjQzMi0uMjQ5LjE3Ny0uMjA2LjQyLjA3LjM4OS45MDctLjExMiAyLjkzLS4zNTcgMy4yOS4xMW0tLjg0MiAyLjAxYy41MTgtLjM3OC4wNzQtLjk0MS0uNDU0LS43Mi0zLjUxMyAxLjQ2NC03LjMyNyAyLjE3My0xMC44IDIuMTczLTUuMTQzIDAtMTAuMTI3LTEuMzktMTQuMTU2LTMuNjk1LS4zNTItLjIwMi0uNjEzLjE1NS0uMzE5LjQxNCAzLjczMyAzLjMxNiA4LjY3IDUuMzA5IDE0LjE0NyA1LjMwOSAzLjkxIDAgOC40NTEtMS4yMDggMTEuNTgyLTMuNDgxbS0yLjE0NC01LjIxNWE2LjYgNi42IDAgMCAxLTEuNDU5LS4xNjFxLS43MTQtLjE2My0xLjA5My0uMzczLS4yMzMtLjEyOC0uMjktLjI1OGEuNy43IDAgMCAxLS4wNTktLjI2di0uNDdxMC0uMjkuMjE2LS4yOTIuMDgzLjAwMi4xNzMuMDMzLjA5MS4wMzQuMjQxLjA5OC40OC4yMSAxLjA0NC4zMjQuNTY0LjExMyAxLjEyNi4xMTMuODk1IDAgMS4zODQtLjMwOGEuOTcuOTcgMCAwIDAgLjQ5LS44NzMuODguODggMCAwIDAtLjI1OC0uNjVxLS4yNTYtLjI1OC0uOTUyLS40ODRsLTEuMzc1LS40MjFxLTEuMDQ1LS4zMjUtMS41MTctLjkzOGEyLjE3IDIuMTcgMCAwIDEtLjQ3Mi0xLjM0N3EwLS41ODEuMjU4LTEuMDI3LjI1NS0uNDQ1LjY3Ni0uNzYxLjQyNy0uMzE0Ljk5LS40NzhhNC4zIDQuMyAwIDAgMSAxLjE5LS4xNjJxLjMxNSAwIC42NC4wNGE2LjMgNi4zIDAgMCAxIDEuMTUuMjUycS4yNDguMDgyLjQuMTYyYS45LjkgMCAwIDEgLjI4LjIyNy41LjUgMCAwIDEgLjA4My4zMDh2LjQzNnEwIC4yOTEtLjIxNy4yOS0uMTE0LjAwMi0uMzY0LS4xMTFjLS41NC0uMjQtMS4xNS0uMzU2LTEuODItLjM1NnEtLjgxNSAwLTEuMjYyLjI1OC0uNDQ4LjI2LS40NDguODI3IDAgLjM4OC4yODMuNjU1LjI4MS4yNjcgMS4wNDQuNTFsMS4zNDIuNDIzcTEuMDI4LjMyMiAxLjQ2Ni44ODguNDQxLjU2OC40NDEgMS4yOTUgMCAuNi0uMjUgMS4wNzgtLjI0OC40NzctLjY4OS44MTdhMy4xIDMuMSAwIDAgMS0xLjA1LjUxOHEtLjYxNS4xNzktMS4zNDMuMTc4bS0xMi4xNjUtLjI0NHEtLjI0OC4wMDItLjM2NS0uMDg3LS4xMTctLjA5LS4xOTktLjM2NWwtMi4yMjItNy4xNTdhMS44IDEuOCAwIDAgMS0uMDgyLS4zNzFxMC0uMjI3LjIzMy0uMjI3aC45MjdxLjI2NSAwIC4zNzQuMDkuMTA2LjA4Ni4xOS4zNjRsMS41OSA2LjEyIDEuNDc3LTYuMTJxLjA2Ni0uMjc4LjE4MS0uMzY0LjExNi0uMDkuMzgtLjA5aC43NjVxLjI2MyAwIC4zOC4wOS4xMTYuMDg2LjE4Mi4zNjRsMS40OTMgNi4yIDEuNjQtNi4ycS4wODItLjI3OC4xOS0uMzY0LjEwOS0uMDkuMzczLS4wOWguODc4cS4yMzMgMCAuMjMzLjIyN2ExIDEgMCAwIDEtLjAxNi4xNDQgMiAyIDAgMCAxLS4wNjguMjI3bC0yLjI4NiA3LjE1N3EtLjA4My4yNzUtLjIuMzY1LS4xMTYuMDg4LS4zNjQuMDg3aC0uODEzcS0uMjY0LjAwMS0uMzgtLjA5NC0uMTE2LS4wOTktLjE4Mi0uMzczbC0xLjQ3Ni01Ljk2LTEuNDU3IDUuOTZxLS4wNjcuMjc0LS4xODMuMzczLS4xMTYuMDk1LS4zOC4wOTR6TTkuOTQgMTkuNDQ5cS40NjUgMCAuOTgtLjE3LjUxMy0uMTcuODkzLS41OTIuMjMyLS4yNTkuMzI0LS41OTEuMDktLjMzLjA5LS44MDF2LS4zODhhOCA4IDAgMCAwLTEuNzU3LS4yMTFxLS45NDUgMC0xLjQwOC4zNzMtLjQ2NC4zNy0uNDY1IDEuMDcgMCAuNjQ1LjM1Ljk3OC4zNDcuMzMyLjk5My4zMzJtMy44NDYtMS40MDhxMCAuNTE3LjEwNy44MjUuMTEuMzEuMzA3LjY2NGEuNC40IDAgMCAxIC4wNjYuMjA5cTAgLjE0OC0uMTgyLjI3NmwtLjU5Ny4zOWEuNS41IDAgMCAxLS4yNDguMDguNC40IDAgMCAxLS4yODItLjEyOCAyIDIgMCAwIDEtLjMzOS0uNDMgNiA2IDAgMCAxLS4yOS0uNTQ0cS0xLjExMiAxLjI4LTIuNzg1IDEuMjgtMS4xOTQuMDAxLTEuODktLjY2NC0uNjk2LS42NjQtLjY5Ni0xLjc4IDAtMS4xODIuODYzLTEuOTAzLjg2LS43MiAyLjMyLS43MjEuNDggMCAxLjAwMi4wNzN0MS4wODQuMjAzdi0uNjhxLjAwMS0xLjA1Mi0uNDQ2LTEuNDgyLS40NDYtLjQyOC0xLjU0LS40MjhhNC41IDQuNSAwIDAgMC0xLjAyLjEyIDcuNSA3LjUgMCAwIDAtMS4wMi4zMTUgMyAzIDAgMCAxLS4zMy4xMjIuNy43IDAgMCAxLS4xNS4wMjRxLS4xOTkuMDAxLS4yLS4yOTJ2LS40NTJxLjAwMS0uMjI4LjA2OC0uMzIzLjA2Ni0uMDk5LjI2NS0uMTk1YTYgNiAwIDAgMSAxLjE5Mi0uNDIxIDYgNiAwIDAgMSAxLjQ3Ni0uMThjMS4xMjYgMCAxLjk1Mi4yNTQgMi40NzcuNzU0cS43ODcuNzUzLjc4OCAyLjI3NXoiLz48L2c+PC9zdmc+;" vertex="1" parent="g-cloud"><mxGeometry x="0" y="0" width="40" height="40" as="geometry"/></mxCell>
<mxCell id="g-region" value="us-east-1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#323638;strokeWidth=1.67;dashed=1;dashPattern=5 1.67;verticalAlign=top;align=left;spacingLeft=75;spacingTop=8;fontColor=#9d9fa0;fontStyle=1;fontSize=13;fontFamily=Inter,Helvetica,Arial,sans-serif;container=1;collapsible=0;recursiveResize=0;pointerEvents=0;" vertex="1" parent="g-cloud"><mxGeometry x="20" y="283" width="439" height="724" as="geometry"/></mxCell>
<mxCell id="g-region:icon" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDAgNDAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiBmaWxsPSIjMDBhNGE2Ii8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE0IDIwLjAyNnYtOWgxNS4yOTNsLTQuMTQ3IDQuMTQ2YS41LjUgMCAwIDAgMCAuNzA4bDQuMTQ3IDQuMTQ2em0xMi4yMDctNC41IDQuNjQ3LTQuNjQ2YS41LjUgMCAwIDAtLjM1NC0uODU0SDE0VjguOTdBMS41MjggMS41MjggMCAwIDAgMTMuNDk1IDZjLS44NDUgMC0xLjUzMi42ODctMS41MzIgMS41MzEgMCAuNjcuNDM1IDEuMjM1IDEuMDM3IDEuNDQydjI0LjA1M2gtM3YxaDd2LTFoLTN2LTEyaDE2LjVhLjUuNSAwIDAgMCAuMzU0LS44NTR6Ii8+PC9nPjwvc3ZnPg==;" vertex="1" parent="g-region"><mxGeometry x="0" y="0" width="40" height="40" as="geometry"/></mxCell>
<mxCell id="n-users" value="Users" style="shape=label;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDggNDgiPjxwYXRoIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTI4LjYzOSA5LjI4NmMwLTIuOTE1IDIuNDEzLTUuMjg2IDUuMzgtNS4yODZzNS4zNzggMi4zNzEgNS4zNzggNS4yODYtMi40MTIgNS4yODYtNS4zNzggNS4yODYtNS4zOC0yLjM3MS01LjM4LTUuMjg2bTExLjUyNCA3LjA0OGExMS43IDExLjcgMCAwIDAtMi4wMzUtMS4wMDFjMS45Ny0xLjMxIDMuMjY5LTMuNTMxIDMuMjY5LTYuMDQ3IDAtNC4wMTctMy4zMS03LjI4Ni03LjM3OC03LjI4Ni00LjA2OSAwLTcuMzggMy4yNjktNy4zOCA3LjI4NiAwIDIuNTEgMS4yOTMgNC43MjggMy4yNTYgNi4wMzlhMTEuOSAxMS45IDAgMCAwLTMuNTQ2IDIuMWwxLjMwMyAxLjUxOEE5Ljc3IDkuNzcgMCAwIDEgMzQgMTYuNTcyYzEuODAyIDAgMy41NjkuNTA1IDUuMTA5IDEuNDYxIDIuNzQgMS43MDIgNC41MzggNC42OTIgNC44NDQgNy45NjdIMzR2MmgxMWExIDEgMCAwIDAgMS0xYzAtNC4zNDMtMi4yMzYtOC40My01LjgzNy0xMC42NjZNOC42MzkgOS4yODZDOC42MzkgNi4zNzEgMTEuMDUyIDQgMTQuMDE5IDRzNS4zNzggMi4zNzEgNS4zNzggNS4yODYtMi40MTIgNS4yODYtNS4zNzggNS4yODYtNS4zOC0yLjM3MS01LjM4LTUuMjg2TTE0IDI2SDQuMDQ2QzQuNTMgMjAuNzE3IDguODEgMTYuNTcyIDE0IDE2LjU3MmMxLjgwMiAwIDMuNTY5LjUwNSA1LjEwOSAxLjQ2MS40MzIuMjY5Ljg0OS41NzUgMS4yNC45MWwxLjMwMy0xLjUxN2ExMS43IDExLjcgMCAwIDAtMy41MjQtMi4wOTNjMS45Ny0xLjMxIDMuMjY5LTMuNTMxIDMuMjY5LTYuMDQ3IDAtNC4wMTctMy4zMS03LjI4Ni03LjM3OC03LjI4Ni00LjA2OSAwLTcuMzggMy4yNjktNy4zOCA3LjI4NiAwIDIuNTE1IDEuMjk4IDQuNzM3IDMuMjY4IDYuMDQ2QzUuMzAyIDE3LjA3MSAyIDIxLjYzOCAyIDI3YTEgMSAwIDAgMCAxIDFoMTF6bS4wNDYgMThjLjQ4NC01LjI4MyA0Ljc2NC05LjQyOCA5Ljk1NC05LjQyOCAxLjgwMiAwIDMuNTY5LjUwNSA1LjEwOSAxLjQ2MSAyLjc0IDEuNzAyIDQuNTM4IDQuNjkyIDQuODQ0IDcuOTY3em00LjU5My0xNi43MTRjMC0yLjkxNSAyLjQxMy01LjI4NiA1LjM4LTUuMjg2czUuMzc4IDIuMzcxIDUuMzc4IDUuMjg2LTIuNDEyIDUuMjg2LTUuMzc4IDUuMjg2LTUuMzgtMi4zNzEtNS4zOC01LjI4Nm0xMS41MjQgNy4wNDhhMTEuNyAxMS43IDAgMCAwLTIuMDM1LTEuMDAxYzEuOTctMS4zMSAzLjI2OS0zLjUzMSAzLjI2OS02LjA0NyAwLTQuMDE3LTMuMzEtNy4yODYtNy4zNzgtNy4yODYtNC4wNjkgMC03LjM4IDMuMjY5LTcuMzggNy4yODYgMCAyLjUxNSAxLjI5OCA0LjczNyAzLjI2OCA2LjA0NkMxNS4zMDIgMzUuMDcxIDEyIDM5LjYzOCAxMiA0NWExIDEgMCAwIDAgMSAxaDIyYTEgMSAwIDAgMCAxLTFjMC00LjM0My0yLjIzNi04LjQzLTUuODM3LTEwLjY2NiIvPjwvc3ZnPg==;imageWidth=48;imageHeight=48;imageAlign=center;imageVerticalAlign=top;verticalAlign=bottom;align=center;fillColor=none;strokeColor=none;html=1;whiteSpace=nowrap;fontColor=#9d9fa0;fontSize=13;fontFamily=Inter,Helvetica,Arial,sans-serif;spacing=0;" vertex="1" parent="1"><mxGeometry x="166" y="96" width="48" height="71" as="geometry"/></mxCell>
<mxCell id="n-cdn" value="Amazon CloudFront" style="shape=label;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgODAgODAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiBmaWxsPSIjOGM0ZmZmIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTU1LjEyMiA1Mi4xMjNjMC0xLjY1NC0xLjM0Ni0zLTMtM3MtMyAxLjM0Ni0zIDMgMS4zNDYgMyAzIDMgMy0xLjM0NiAzLTNtMiAwYzAgMi43NTctMi4yNDMgNS01IDVzLTUtMi4yNDMtNS01IDIuMjQzLTUgNS01IDUgMi4yNDMgNSA1bS0yNi43My0xNC40MzFjMC0xLjY1NC0xLjM0Ni0zLTMtMy0xLjY1NSAwLTMgMS4zNDYtMyAzczEuMzQ1IDMgMyAzYzEuNjU0IDAgMy0xLjM0NiAzLTNtMiAwYzAgMi43NTctMi4yNDQgNS01IDUtMi43NTcgMC01LTIuMjQzLTUtNXMyLjI0My01IDUtNWMyLjc1NiAwIDUgMi4yNDMgNSA1bTcuMzM4LTE1LjY4NWMwIDEuNjU0IDEuMzQ2IDMgMyAzIDEuNjU1IDAgMy0xLjM0NiAzLTMgMC0xLjY1NS0xLjM0NS0zLTMtMy0xLjY1NCAwLTMgMS4zNDUtMyAzbS0yIDBjMC0yLjc1NyAyLjI0NC01IDUtNSAyLjc1NyAwIDUgMi4yNDMgNSA1cy0yLjI0MyA1LTUgNWMtMi43NTYgMC01LTIuMjQzLTUtNU02NiA0MGMwLTkuMjczLTQuOTcyLTE3Ljg1Mi0xMi45ODgtMjIuNDkxLTEuNDM3LjI5LTIuODI3LjY4Ny00LjU2MSAxLjMxNGwtLjY4LTEuODgxYy45MDUtLjMyNiAxLjcxNS0uNTkgMi40OTUtLjgxNkEyNS45NSAyNS45NSAwIDAgMCA0MCAxNGMtMS42ODkgMC0zLjM1MS4xNzUtNC45NzUuNDkyYTMyIDMyIDAgMCAxIDMuMjMyIDIuMTQybC0xLjIwOSAxLjU5M2MtMS40MjgtMS4wODItMi45MDgtMS45OTktNC44NTEtMy4wMTctOS44MTkgMy4wODgtMTYuODkxIDExLjc0OC0xOC4wMTQgMjEuOTE4YTM1IDM1IDAgMCAxIDYuMjMxLS42OThsLjA0OSAxLjk5OWMtMi4zLjA1Ny00LjI3Ni4zMDEtNi40MzYuNzc2LS4wMDkuMjY1LS4wMjcuNTMzLS4wMjcuNzk1YTI1Ljk0IDI1Ljk0IDAgMCAwIDExLjMyNyAyMS40NDdjLTEuMjUzLTMuNzMxLTEuODc3LTcuMjU3LTEuODc3LTEwLjcwMSAwLTEuOTY0LjMzOC0zLjU3Ny42OTUtNS4yODQuMDgzLS4zOTUuMTY3LS43OTcuMjQ5LTEuMjE0bDEuOTYzLjM4N3EtLjEyNy42MzUtLjI1NCAxLjIzOGMtLjM1IDEuNjcyLS42NTMgMy4xMTYtLjY1MyA0Ljg3MyAwIDMuOTA4Ljg1OCA3Ljk0OSAyLjYwNCAxMi4zMzdBMjUuNyAyNS43IDAgMCAwIDQwIDY2YzIuNzU2IDAgNS40NDYtLjQ0IDguMDEyLTEuMjg2YTMzLjUgMzMuNSAwIDAgMCAyLjM3OC02LjAxNWwxLjkyMS41NTdhMzYgMzYgMCAwIDEtMS42MDIgNC40MjEgMjUuNCAyNS40IDAgMCAwIDQuNTc0LTIuNjcyIDM2IDM2IDAgMCAwLTEuMTI0LTIuNTA2bDEuNzg5LS44OTVjLjM0OC42OTYuNjY3IDEuNDA4Ljk3MiAyLjEyNEM2Mi43MDUgNTQuNzc1IDY2IDQ3LjY2IDY2IDQwbTIgMGMwIDguNzI3LTMuOTY2IDE2Ljc5OS0xMC44NzkgMjIuMTQ5YTI3LjUgMjcuNSAwIDAgMS01LjUzMiAzLjMyM2MtLjgzMy4zNzgtMS42ODEuNzI4LTIuNTUzIDEuMDIyQTI3LjUgMjcuNSAwIDAgMSA0MCA2OGMtNC42IDAtOS4xNjgtMS4xNDYtMTMuMjEyLTMuMzE0QTI3Ljk1IDI3Ljk1IDAgMCAxIDEyIDQwYzAtLjY4Ni4wMTgtMS4yMDguMDU5LTEuNjkxLjY4MS0xMS42ODQgOC42OTctMjEuNzk3IDE5Ljk0Mi0yNS4xNDNBMjcuNyAyNy43IDAgMCAxIDQwIDEyYTI3Ljg3IDI3Ljg3IDAgMCAxIDEzLjY4NCAzLjU3OUEyOC4wMyAyOC4wMyAwIDAgMSA2OCA0ME0zNy4zMTQgMjUuNDYzIDM2IDIzLjk1NmMtMi4yNDIgMS45NTYtMy45ODYgNC4wMzMtNi4wMjMgNy4xN2wxLjY3OCAxLjA4OWMxLjkyOC0yLjk3MSAzLjU2OC00LjkyNyA1LjY1OS02Ljc1Mm0tMy4wMzkgMTIuOTY0LS42NSAxLjg5MWM0LjU5MyAxLjU3NyA4LjYgNC4wOTMgMTIuNjA5IDcuOTE4bDEuMzgxLTEuNDQ3Yy00LjIyNi00LjAzMS04LjQ2NS02LjY4OC0xMy4zNC04LjM2Mm0xMy4zNzEtMTEuNzU5YzMuNzUyIDUuNzIyIDUuODY1IDEyLjAwMyA2LjI3OSAxOC42N2wtMS45OTYuMTI0Yy0uMzkzLTYuMzE2LTIuMzk2LTEyLjI3LTUuOTU0LTE3LjY5N3oiLz48L2c+PC9zdmc+;imageWidth=48;imageHeight=48;imageAlign=center;imageVerticalAlign=top;verticalAlign=bottom;align=center;fillColor=none;strokeColor=none;html=1;whiteSpace=nowrap;fontColor=#9d9fa0;fontSize=13;fontFamily=Inter,Helvetica,Arial,sans-serif;spacing=0;" vertex="1" parent="g-cloud"><mxGeometry x="92" y="58" width="123" height="71" as="geometry"/></mxCell>
<mxCell id="n-site" value="Web app bucket&lt;br&gt;&lt;font style=&quot;font-size: 11px;&quot; color=&quot;#979a9b&quot;&gt;Static SPA assets&lt;/font&gt;" style="shape=label;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDggNDgiPjxwYXRoIGZpbGw9IiM3YWExMTYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0ibTQwLjUwNCAyNi4xNi4yMjQtMS42NjZjMS43ODQgMS4wODcgMi4zMzUgMS43MTUgMi40OTUgMS45OC0uNDczLjE0My0xLjQyOC4wMTctMi43Mi0uMzE0bS0xNy43MDItNi4wNDljMC0uMDUzLjA0My0uMDk2LjA5Ni0uMDk2LjAxNSAwIC4wMjYuMDEuMDM5LjAxN2wtLjA3My4xNDdjLS4wMzMtLjAxLS4wNjItLjAzLS4wNjItLjA2OG0xMy43MTIgMjAuNjg3YTEgMSAwIDAgMC0uMDEuMTMzYzAgLjE1NS0uMzc4Ljc0NC0yLjA2MyAxLjQxLS43NTEuMjk2LTEuNjM4LjU2Mi0yLjYzOC43OTItMi41NzUuNTk2LTUuNzQuOTI0LTguOTA3LjkyNC04LjQ2NiAwLTEzLjYwNy0yLjE3LTEzLjYwNy0zLjEyNnEwLS4wNjYtLjAxLS4xMzNMNS40NDIgMTIuMjg1cS4zNzIuMjE1Ljc5LjQxNWMuMDc5LjAzOC4xNjUuMDc0LjI0Ny4xMTJhMTYgMTYgMCAwIDAgMS4wODkuNDUzcS40MTMuMTU2Ljg1Ni4zYy4wODcuMDMuMTcuMDYuMjU4LjA4NmEyNyAyNyAwIDAgMCAxLjUyMi40MjcgMzAgMzAgMCAwIDAgMS4zNzguMzJxLjU0OC4xMTYgMS4xMTcuMjJsLjI0NC4wNDZxLjY4OC4xMiAxLjQwMy4yMjQuMjAxLjAyOC40MDYuMDU0LjU0LjA3NSAxLjA5My4xNGwuNDUzLjA1MXEuNjY2LjA3IDEuMzQzLjEzbC4xNjIuMDEzcS43NTYuMDYgMS41MTkuMTA0bC40MzYuMDIxcS41NzYuMDI5IDEuMTUyLjA0N2wuNDUuMDE0cS43Ny4wMTggMS41MzcuMDJhNzIgNzIgMCAwIDAgMS45ODctLjAzNHEuNTc3LS4wMTkgMS4xNS0uMDQ3bC40MzktLjAycS43NjQtLjA0NCAxLjUxOC0uMTA1bC4xNjYtLjAxNHEuNjc1LS4wNTggMS4zMzgtLjEyOWwuNDU3LS4wNTJxLjU1LS4wNjUgMS4wODktLjEzOC4yMDctLjAyNy40MS0uMDU2YTUwIDUwIDAgMCAwIDEuNDAyLS4yMjNxLjEyMy0uMDIyLjI0Ny0uMDQ3YTM4IDM4IDAgMCAwIDIuNDkzLS41MzlsLjM0NC0uMDg2cS42MS0uMTYzIDEuMTc4LS4zNGMuMDg3LS4wMjguMTY5LS4wNTcuMjU0LS4wODZhMTkgMTkgMCAwIDAgMS45NTQtLjc1NmMuMDc5LS4wMzcuMTYzLS4wNzIuMjQtLjEwOXEuNDItLjIuNzkyLS40MTZsLTEuNzkyIDEzLjMwNmMtMy42MzctMS4xNjctOC43NDUtMy4yODQtMTMuNTgtNS41ODNhMi4wOSAyLjA5IDAgMCAwLTIuMDg0LTEuOTkzIDIuMSAyLjEgMCAwIDAtMi4wOTYgMi4wOTZjMCAxLjE1NS45NCAyLjA5NSAyLjA5NiAyLjA5NS40NTQgMCAuODcyLS4xNDkgMS4yMTUtLjM5NiA0LjMzMiAyLjA4IDkuODYzIDQuNTMyIDE0LjE4IDUuNzc4ek0yMi44OTYgNGMxMC40MTkgMCAxNy43NiAzLjIyOCAxNy44OTYgNS4wMjFsLS4wMjYuMjA4Yy0uMDE4LjA2Mi0uMDU3LjEyNS0uMDkuMTktLjAyNy4wNTEtLjA0Ny4xMDEtLjA4NC4xNTQtLjA0NC4wNjItLjExLjEyNS0uMTY2LjE4OC0uMDUxLjA1NS0uMDk0LjExLS4xNTUuMTY2LS4wNjguMDYxLS4xNTUuMTI0LS4yMzYuMTg2LS4wNzUuMDU4LS4xNDEuMTE1LS4yMjcuMTc0LS4wOTEuMDYtLjIuMTIyLS4zMDIuMTg0LS4xLjA2LS4xOS4xMi0uMzAxLjE3OC0uMTEuMDYtLjI0LjExOC0uMzYuMTc4LS4xMjQuMDYxLS4yNC4xMjEtLjM3Ni4xODItLjEzLjA1Ny0uMjc2LjExNC0uNDE0LjE3MS0uMTUuMDYtLjI5MS4xMjItLjQ1MS4xODEtLjE0OC4wNTYtLjMxNC4xMS0uNDcxLjE2NC0uMTcxLjA2LS4zMzUuMTItLjUxNy4xNzctLjE3LjA1NC0uMzU1LjEwNC0uNTM0LjE1Ny0uMTkuMDU2LS4zNzMuMTEzLS41NzMuMTY3LS4xOTIuMDUyLS40LjEtLjYuMTUtLjIwNi4wNTEtLjQwNi4xMDQtLjYyMy4xNTRzLS40NDguMDk0LS42NzQuMTQxYy0uMjE4LjA0NS0uNDMuMDkzLS42NTguMTM2LS4yNC4wNDYtLjQ5Ny4wODctLjc0Ny4xMy0uMjMuMDQtLjQ1My4wODEtLjY5Mi4xMTgtLjI2LjA0LS41MzYuMDc2LS44MDYuMTEzLS4yNDQuMDMzLS40ODIuMDctLjczNC4xLS4yOTMuMDM2LS42MDIuMDY2LS45MDUuMDk3LS4yNDQuMDI2LS40OC4wNTUtLjczLjA3Ny0uMzM2LjAzMS0uNjg4LjA1NC0xLjAzNC4wNzgtLjIzMy4wMTgtLjQ1OC4wMzgtLjY5Ni4wNTMtLjM4LjAyMi0uNzc2LjAzNi0xLjE3LjA1My0uMjE1LjAwOC0uNDI1LjAyMS0uNjQ2LjAyOGE2NSA2NSAwIDAgMS0zLjc5NyAwYy0uMjIyLS4wMDctLjQzNC0uMDItLjY1NC0uMDI5LS4zOS0uMDE2LS43ODMtLjAzLTEuMTYxLS4wNTItLjI1LS4wMTYtLjQ4OC0uMDM3LS43MzMtLjA1NS0uMzMzLS4wMjQtLjY3My0uMDQ2LS45OTYtLjA3Ni0uMjUxLS4wMjItLjQ4Ny0uMDUyLS43MzItLjA3Ny0uMzAzLS4wMy0uNjEyLS4wNi0uOTA0LS4wOTctLjI1LS4wMy0uNDg3LS4wNjYtLjczLS4xLS4yNy0uMDM3LS41NDgtLjA3Mi0uODEtLjExMy0uMjQ3LS4wMzgtLjQ4LS4wODItLjcxOC0uMTIzLS4yNDEtLjA0Mi0uNDg4LS4wOC0uNzItLjEyNS0uMjMxLS4wNDQtLjQ0Ni0uMDkyLS42Ny0uMTM4LS4yMjItLjA0Ny0uNDUtLjA5LS42NjMtLjE0LS4yMTYtLjA0OS0uNDE1LS4xMDItLjYyMi0uMTUzLS4yLS4wNS0uNDA4LS4wOTgtLjYtLjE1LS4yMDItLjA1NC0uMzg3LS4xMTItLjU4LS4xNjktLjE3Ni0uMDUtLjM2LS4xMDItLjUyNi0uMTU1LS4xODUtLjA1OS0uMzUxLS4xMTktLjUyNC0uMTgtLjE1NS0uMDUzLS4zMTgtLjEwNi0uNDYzLS4xNi0uMTYyLS4wNi0uMzAzLS4xMjMtLjQ1My0uMTgzLS4xMzgtLjA1Ny0uMjg1LS4xMTQtLjQxMy0uMTctLjEzNC0uMDYtLjI1MS0uMTItLjM3NS0uMTgyLS4xMjEtLjA2LS4yNTEtLjExOC0uMzYxLS4xNzktLjExLS4wNTktLjIwMi0uMTE5LS4zMDItLjE3OS0uMTAxLS4wNi0uMjEtLjEyMi0uMy0uMTgyLS4wODctLjA2LS4xNTUtLjExOC0uMjMxLS4xNzctLjA4LS4wNi0uMTY1LS4xMjMtLjIzMS0uMTgzLS4wNjMtLjA1Ny0uMTA3LS4xMTQtLjE2LS4xNjktLjA1NS0uMDYyLS4xMTgtLjEyNC0uMTYyLS4xODUtLjAzOC0uMDU0LS4wNTctLjEwNi0uMDg1LS4xNi0uMDMyLS4wNjItLjA3MS0uMTI0LS4wODgtLjE4NGwtLjAyOC0uMjA5QzUuMTQgNy4yMjcgMTIuNDggNCAyMi44OTYgNG0yMi4zNTkgMjIuMjU3Yy0uMjEzLTEuMTUtMS41MzgtMi4zNjgtNC4yMzctMy45MWwxLjcxNi0xMi43NTJ2LS4wMDRsLjA1LS4zOWExIDEgMCAwIDAgLjAxLS4xM2MwLTQuMTY3LTEwLjQ4Ni03LjA3LTE5Ljg5OC03LjA3UzMgNC45MDMgMyA5LjA3cTAgLjA2Ni4wMDkuMTMybC4wNTIuMzl2LjAwMkw3LjI5IDQxLjAxYy4xMyAzLjY3NiA5LjYxMyA1LjA0OCAxNS42MDYgNS4wNDggMy4zMTUgMCA2LjYzOC0uMzQ2IDkuMzU3LS45NzVhMjEgMjEgMCAwIDAgMi45MjItLjg4MmMyLjE2Ni0uODU1IDMuMjg1LTEuOTI5IDMuMzI5LTMuMTlsMS43NC0xMi45M2MuOTUzLjIwMiAxLjgxOC4zMjUgMi41MzcuMzI1Ljk2OSAwIDEuNjk0LS4yMDUgMi4wODYtLjY3My4zNS0uNDE2LjQ4OC0uOTQuMzg4LTEuNDc1Ii8+PC9zdmc+;imageWidth=48;imageHeight=48;imageAlign=center;imageVerticalAlign=top;verticalAlign=bottom;align=center;fillColor=none;strokeColor=none;html=1;whiteSpace=nowrap;fontColor=#9d9fa0;fontSize=13;fontFamily=Inter,Helvetica,Arial,sans-serif;spacing=0;" vertex="1" parent="g-region"><mxGeometry x="20" y="58" width="101" height="88" as="geometry"/></mxCell>
<mxCell id="n-auth" value="Amazon Cognito&lt;br&gt;&lt;font style=&quot;font-size: 11px;&quot; color=&quot;#979a9b&quot;&gt;User pool&lt;/font&gt;" style="shape=label;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgODAgODAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiBmaWxsPSIjZGQzNDRjIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE2Ljk2NCAzNS44MDhoMTIuOTA1di0xLjk4M0gxNi45NjR6TTYxLjM3NiA1MC4yM2wxLjQwMyAxLjQwMi03LjM3MiA3LjM2YS45OTQuOTk0IDAgMCAxLTEuNDAzIDBsLTMuNzEtMy43MDIgMS40MDYtMS40IDMuMDA2IDMuMDAxem00LjU2OCA1LjQ2M2E5LjQ0IDkuNDQgMCAwIDEtMi4xOTcgNS4wMTUgOS41NSA5LjU1IDAgMCAxLTMuMTQzIDIuNDA2IDkuMzcgOS4zNyAwIDAgMS01LjE1OC44MzMgOS40IDkuNCAwIDAgMS00LjcwNi0xLjk2NiA5LjQzIDkuNDMgMCAwIDEtMy41MTgtOC41NzMgOS40NyA5LjQ3IDAgMCAxIDUuMDU4LTcuMjgyIDkuMzQgOS4zNCAwIDAgMSA1LjQ0MS0uOTcyIDkuNDMgOS40MyAwIDAgMSA3LjI2IDUuMDg4IDkuNDUgOS40NSAwIDAgMSAuOTYzIDUuNDVtLjgwNi02LjM1YTExLjQwNiAxMS40MDYgMCAwIDAtMTUuMzgxLTQuOTc4IDExLjQ1IDExLjQ1IDAgMCAwLTYuMTE4IDguODA1IDExLjQgMTEuNCAwIDAgMCA0LjI1NCAxMC4zNjRBMTEuMzggMTEuMzggMCAwIDAgNTYuNTkyIDY2YzEuNjggMCAzLjMzOC0uMzcgNC44NjQtMS4wOTRhMTEuNSAxMS41IDAgMCAwIDMuODAxLTIuOTEgMTEuNCAxMS40IDAgMCAwIDIuNjU5LTYuMDY0IDExLjQgMTEuNCAwIDAgMC0xLjE2Ni02LjU4OG0tMzkuODYtNy41ODhoMy45NzJ2LTEuOTgzSDI2Ljg5em0tOS45MjYgMGg3Ljk0MXYtMS45ODNoLTcuOTQxem0tLjg1OC0yNS43NzNoNDQuNDAyYzEuMTcgMCAyLjEyIDEuMTU2IDIuMTIgMi41Nzh2Ny4zMzRINTkuNjVWMjAuOTRhLjk5Ljk5IDAgMCAwLS45OTMtLjk5MUgzNS44MjVhLjk5Ljk5IDAgMCAwLS45OTMuOTl2NC45NTdIMTMuOTg1di03LjMzNGMwLTEuMzk4Ljk3Mi0yLjU3OCAyLjEyLTIuNTc4bTMxLjE1IDkuNjI1YzIuMzA1IDAgNC4xOCAxLjg1MyA0LjE4IDQuMTMxYTQuMTEgNC4xMSAwIDAgMS0yLjE2MyAzLjYwOCA0LjI1IDQuMjUgMCAwIDEtNC4wNDMgMCA0LjExIDQuMTEgMCAwIDEtMi4xNTQtMy42MDhjMC0yLjI3OCAxLjg3NC00LjEzMSA0LjE4LTQuMTMxbS0zMy4yNyAyMS41di0xOS4yM2gyMC44NDZWNDQuNzNjMCAuNTQ5LjQ0NC45OTIuOTkzLjk5MmgxMC4zNzh2LTEuOTgzaC04LjI5MWE5LjAyIDkuMDIgMCAwIDEgNi41MjItOC40ODhjMS43NTUuODIgMy44NS44MjggNS42MzMtLjAwMWE5LjEgOS4xIDAgMCAxIDUuMjI2IDQuMDA1bDEuNjk5LTEuMDI3YTExLjEgMTEuMSAwIDAgMC01LjE0Ny00LjQzMiA2LjA1IDYuMDUgMCAwIDAgMS41NzctNC4wNTZjMC0zLjM3LTIuNzY3LTYuMTE0LTYuMTY2LTYuMTE0cy02LjE2NiAyLjc0My02LjE2NiA2LjExNGE2LjA2IDYuMDYgMCAwIDAgMS41NjQgNC4wNDUgMTEgMTEgMCAwIDAtNS44MzYgNS43ODlWMjEuOTNoMjAuODQ3djE1Ljg2aDEuOTg1di05LjkxMmgyLjk3OGwuMDAxIDE0Ljg2OWgxLjk4NmwtLjAwMS0yNC4xODZjMC0yLjUxNS0xLjg0Mi00LjU2MS00LjEwNi00LjU2MUgxNi4xMDZDMTMuODQgMTQgMTIgMTYuMDQ2IDEyIDE4LjU2djI4LjU0OGMwIDIuNTE1IDEuODQxIDQuNTYgNC4xMDYgNC41NmgyNi42Njh2LTEuOTgySDE2LjEwNmMtMS4xNDkgMC0yLjEyLTEuMTgtMi4xMi0yLjU3OCIvPjwvZz48L3N2Zz4=;imageWidth=48;imageHeight=48;imageAlign=center;imageVerticalAlign=top;verticalAlign=bottom;align=center;fillColor=none;strokeColor=none;html=1;whiteSpace=nowrap;fontColor=#9d9fa0;fontSize=13;fontFamily=Inter,Helvetica,Arial,sans-serif;spacing=0;" vertex="1" parent="g-region"><mxGeometry x="161" y="58" width="103" height="88" as="geometry"/></mxCell>
<mxCell id="n-api" value="Amazon API&lt;br&gt;Gateway&lt;br&gt;&lt;font style=&quot;font-size: 11px;&quot; color=&quot;#979a9b&quot;&gt;REST API&lt;/font&gt;" style="shape=label;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgODAgODAiPjxnIGZpbGw9Im5vbmUiPjxyZWN0IHdpZHRoPSI4MCIgaGVpZ2h0PSI4MCIgZmlsbD0iIzhjNGZmZiIvPjxwYXRoIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTM0LjA2NSA1NS42MzJIMzd2LTIuMDE3aC0yLjkzNXptNC45MzUgMGgzdi0yLjAxN2gtM3pNMjcgMTQuNjNsLTEzIDYuNDUydjQwLjExMWwxMyA0LjM5N3ptMiAxMi43NjN2MjYuMjIyaDN2Mi4wMTdoLTN2MTEuMzZjMCAuMzI0LS4xNTUuNjI5LS40MTYuODE4YTEgMSAwIDAgMS0uOTAyLjEzOGwtMTUtNS4wNzJBMS4wMSAxLjAxIDAgMCAxIDEyIDYxLjkyVjIwLjQ1NGMwLS4zODQuMjE3LS43MzYuNTU5LS45MDVsMTUtNy40NDVhLjk5Ljk5IDAgMCAxIC45NjkuMDQ5Yy4yOTMuMTgzLjQ3Mi41MDcuNDcyLjg1NnYxMi4zNjdoM3YyLjAxN3ptMTUgMjguMjRoM3YtMi4wMThoLTN6bS4wNjUtMjguMjRINDd2LTIuMDE3aC0yLjkzNXptLTUgMEg0MnYtMi4wMTdoLTIuOTM1em0tNSAwSDM3di0yLjAxN2gtMi45MzV6TTY2IDIxLjA4MyA1MyAxNC42M3Y1MC45NmwxMy00LjM5N3ptMiA0MC44MzdjMCAuNDMyLS4yNzQuODE3LS42ODIuOTU2bC0xNSA1LjA3MmEuOTkuOTkgMCAwIDEtLjkwMi0uMTM4IDEuMDEgMS4wMSAwIDAgMS0uNDE2LS44MTlWNTUuNjMzaC0xLjkzNXYtMi4wMTdINTFWMjcuMzkzaC0xLjkzNXYtMi4wMTdINTFWMTMuMDFjMC0uMzUuMTc5LS42NzMuNDcyLS44NTdhLjk5Ljk5IDAgMCAxIC45NjktLjA0OGwxNSA3LjQ0NWMuMzQyLjE3LjU1OS41MjEuNTU5LjkwNXpNNDIuOTM0IDMzLjgwN2wtMS44NjgtLjcyNC01IDEzLjExIDEuODY4LjcyNXptNi43NzMgNi40MDJhMS4wMTQgMS4wMTQgMCAwIDAgMC0xLjQyNmwtNC00LjAzNC0xLjQxNCAxLjQyNiAzLjI5MyAzLjMyLTMuMjkzIDMuMzIyIDEuNDE0IDEuNDI2em0tMTUuNDE0IDQuMDM0LTQtNC4wMzRhMS4wMTQgMS4wMTQgMCAwIDEgMC0xLjQyNmw0LTQuMDM0IDEuNDE0IDEuNDI2LTMuMjkzIDMuMzIgMy4yOTMgMy4zMjJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PC9zdmc+;imageWidth=48;imageHeight=48;imageAlign=center;imageVerticalAlign=top;verticalAlign=bottom;align=center;fillColor=none;strokeColor=none;html=1;whiteSpace=nowrap;fontColor=#9d9fa0;fontSize=13;fontFamily=Inter,Helvetica,Arial,sans-serif;spacing=0;" vertex="1" parent="g-region"><mxGeometry x="188" y="295" width="75" height="105" as="geometry"/></mxCell>
<mxCell id="n-fn" value="Orders function&lt;br&gt;&lt;font style=&quot;font-size: 11px;&quot; color=&quot;#979a9b&quot;&gt;AWS Lambda&lt;/font&gt;" style="shape=label;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDggNDgiPjxwYXRoIGZpbGw9IiNlZDcxMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTI0IDQ0QzEyLjk3MiA0NCA0IDM1LjAyOCA0IDI0UzEyLjk3MiA0IDI0IDRzMjAgOC45NzIgMjAgMjAtOC45NzIgMjAtMjAgMjBtMC00MkMxMS44NjkgMiAyIDExLjg2OSAyIDI0czkuODY5IDIyIDIyIDIyIDIyLTkuODY5IDIyLTIyUzM2LjEzMSAyIDI0IDJtLTYuNzY5IDMzLjI1aC01LjM1NWw2LjM0NS0xMy4yOTEgMi42ODEgNS41MzN6bTEuODgzLTE2LjAzNWExIDEgMCAwIDAtLjktLjU2NGgtLjAwM2ExIDEgMCAwIDAtLjg5OS41N0w5LjM4OSAzNS44MTlhLjk5OC45OTggMCAwIDAgLjkwMiAxLjQzMWg3LjU3M2MuMzg3IDAgLjczOS0uMjIzLjkwNS0uNTcybDQuMTQ2LTguNzYzYTEgMSAwIDAgMC0uMDA0LS44NjR6TTM2LjEyNSAzNS4yNWgtNS40NTJsLTkuOTEyLTIxLjI5N2ExIDEgMCAwIDAtLjkwNy0uNTc4aC0zLjYwM2wuMDA0LTQuMTI1aDcuMjJsOS44NjQgMjEuMjk1YTEgMSAwIDAgMCAuOTA3LjU4aDEuODc5em0xLTYuMTI1aC0yLjI0TDI1LjAyMSA3LjgzYTEgMSAwIDAgMC0uOTA4LS41OGgtOC44NTdhMSAxIDAgMCAwLTEgLjk5OWwtLjAwNiA2LjEyNWExIDEgMCAwIDAgMSAxLjAwMWgzLjk2N2w5LjkxMiAyMS4yOTdhMSAxIDAgMCAwIC45MDYuNTc4aDcuMDlhMSAxIDAgMCAwIDEtMXYtNi4xMjVhMSAxIDAgMCAwLTEtMSIvPjwvc3ZnPg==;imageWidth=48;imageHeight=48;imageAlign=center;imageVerticalAlign=top;verticalAlign=bottom;align=center;fillColor=none;strokeColor=none;html=1;whiteSpace=nowrap;fontColor=#9d9fa0;fontSize=13;fontFamily=Inter,Helvetica,Arial,sans-serif;spacing=0;" vertex="1" parent="g-region"><mxGeometry x="177" y="464" width="97" height="88" as="geometry"/></mxCell>
<mxCell id="n-table" value="Orders table&lt;br&gt;&lt;font style=&quot;font-size: 11px;&quot; color=&quot;#979a9b&quot;&gt;Amazon DynamoDB&lt;/font&gt;" style="shape=label;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDggNDgiPjxwYXRoIGZpbGw9IiNjOTI1ZDEiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEzLjM1NSAxMS44NjJoMzIuNTczVjJIMTMuMzU1em0yLTJoMjguNTcyVjQuMDAxSDE1LjM1NXpNMiAxMS44NjJoOS44NjFWMkgyem0yLTJoNS44NjJWNC4wMDFINHptOS4zNTUgMTMuMzU1aDMyLjU3M3YtOS44NjFIMTMuMzU1em0yLTJoMjguNTcydi01Ljg2MUgxNS4zNTV6TTIgMjMuMjE3aDkuODYxdi05Ljg2MUgyem0yLTJoNS44NjJ2LTUuODYxSDR6bTkuMzU1IDEzLjM1NWgzMi41NzN2LTkuODYxSDEzLjM1NXptMi0yaDI4LjU3MlYyNi43MUgxNS4zNTV6TTIgMzQuNTcyaDkuODYxdi05Ljg2MUgyem0yLTJoNS44NjJWMjYuNzFINHptOS4zNTUgMTMuMzU1aDMyLjU3M3YtOS44NjFIMTMuMzU1em0yLTEuOTk5aDI4LjU3MnYtNS44NjJIMTUuMzU1ek0yIDQ1LjkyN2g5Ljg2MXYtOS44NjFIMnptMi0xLjk5OWg1Ljg2MnYtNS44NjJINHoiLz48L3N2Zz4=;imageWidth=48;imageHeight=48;imageAlign=center;imageVerticalAlign=top;verticalAlign=bottom;align=center;fillColor=none;strokeColor=none;html=1;whiteSpace=nowrap;fontColor=#9d9fa0;fontSize=13;fontFamily=Inter,Helvetica,Arial,sans-serif;spacing=0;" vertex="1" parent="g-region"><mxGeometry x="171" y="616" width="109" height="88" as="geometry"/></mxCell>
<mxCell id="n-uploads" value="Receipts bucket" style="shape=label;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDggNDgiPjxwYXRoIGZpbGw9IiM3YWExMTYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0ibTQwLjUwNCAyNi4xNi4yMjQtMS42NjZjMS43ODQgMS4wODcgMi4zMzUgMS43MTUgMi40OTUgMS45OC0uNDczLjE0My0xLjQyOC4wMTctMi43Mi0uMzE0bS0xNy43MDItNi4wNDljMC0uMDUzLjA0My0uMDk2LjA5Ni0uMDk2LjAxNSAwIC4wMjYuMDEuMDM5LjAxN2wtLjA3My4xNDdjLS4wMzMtLjAxLS4wNjItLjAzLS4wNjItLjA2OG0xMy43MTIgMjAuNjg3YTEgMSAwIDAgMC0uMDEuMTMzYzAgLjE1NS0uMzc4Ljc0NC0yLjA2MyAxLjQxLS43NTEuMjk2LTEuNjM4LjU2Mi0yLjYzOC43OTItMi41NzUuNTk2LTUuNzQuOTI0LTguOTA3LjkyNC04LjQ2NiAwLTEzLjYwNy0yLjE3LTEzLjYwNy0zLjEyNnEwLS4wNjYtLjAxLS4xMzNMNS40NDIgMTIuMjg1cS4zNzIuMjE1Ljc5LjQxNWMuMDc5LjAzOC4xNjUuMDc0LjI0Ny4xMTJhMTYgMTYgMCAwIDAgMS4wODkuNDUzcS40MTMuMTU2Ljg1Ni4zYy4wODcuMDMuMTcuMDYuMjU4LjA4NmEyNyAyNyAwIDAgMCAxLjUyMi40MjcgMzAgMzAgMCAwIDAgMS4zNzguMzJxLjU0OC4xMTYgMS4xMTcuMjJsLjI0NC4wNDZxLjY4OC4xMiAxLjQwMy4yMjQuMjAxLjAyOC40MDYuMDU0LjU0LjA3NSAxLjA5My4xNGwuNDUzLjA1MXEuNjY2LjA3IDEuMzQzLjEzbC4xNjIuMDEzcS43NTYuMDYgMS41MTkuMTA0bC40MzYuMDIxcS41NzYuMDI5IDEuMTUyLjA0N2wuNDUuMDE0cS43Ny4wMTggMS41MzcuMDJhNzIgNzIgMCAwIDAgMS45ODctLjAzNHEuNTc3LS4wMTkgMS4xNS0uMDQ3bC40MzktLjAycS43NjQtLjA0NCAxLjUxOC0uMTA1bC4xNjYtLjAxNHEuNjc1LS4wNTggMS4zMzgtLjEyOWwuNDU3LS4wNTJxLjU1LS4wNjUgMS4wODktLjEzOC4yMDctLjAyNy40MS0uMDU2YTUwIDUwIDAgMCAwIDEuNDAyLS4yMjNxLjEyMy0uMDIyLjI0Ny0uMDQ3YTM4IDM4IDAgMCAwIDIuNDkzLS41MzlsLjM0NC0uMDg2cS42MS0uMTYzIDEuMTc4LS4zNGMuMDg3LS4wMjguMTY5LS4wNTcuMjU0LS4wODZhMTkgMTkgMCAwIDAgMS45NTQtLjc1NmMuMDc5LS4wMzcuMTYzLS4wNzIuMjQtLjEwOXEuNDItLjIuNzkyLS40MTZsLTEuNzkyIDEzLjMwNmMtMy42MzctMS4xNjctOC43NDUtMy4yODQtMTMuNTgtNS41ODNhMi4wOSAyLjA5IDAgMCAwLTIuMDg0LTEuOTkzIDIuMSAyLjEgMCAwIDAtMi4wOTYgMi4wOTZjMCAxLjE1NS45NCAyLjA5NSAyLjA5NiAyLjA5NS40NTQgMCAuODcyLS4xNDkgMS4yMTUtLjM5NiA0LjMzMiAyLjA4IDkuODYzIDQuNTMyIDE0LjE4IDUuNzc4ek0yMi44OTYgNGMxMC40MTkgMCAxNy43NiAzLjIyOCAxNy44OTYgNS4wMjFsLS4wMjYuMjA4Yy0uMDE4LjA2Mi0uMDU3LjEyNS0uMDkuMTktLjAyNy4wNTEtLjA0Ny4xMDEtLjA4NC4xNTQtLjA0NC4wNjItLjExLjEyNS0uMTY2LjE4OC0uMDUxLjA1NS0uMDk0LjExLS4xNTUuMTY2LS4wNjguMDYxLS4xNTUuMTI0LS4yMzYuMTg2LS4wNzUuMDU4LS4xNDEuMTE1LS4yMjcuMTc0LS4wOTEuMDYtLjIuMTIyLS4zMDIuMTg0LS4xLjA2LS4xOS4xMi0uMzAxLjE3OC0uMTEuMDYtLjI0LjExOC0uMzYuMTc4LS4xMjQuMDYxLS4yNC4xMjEtLjM3Ni4xODItLjEzLjA1Ny0uMjc2LjExNC0uNDE0LjE3MS0uMTUuMDYtLjI5MS4xMjItLjQ1MS4xODEtLjE0OC4wNTYtLjMxNC4xMS0uNDcxLjE2NC0uMTcxLjA2LS4zMzUuMTItLjUxNy4xNzctLjE3LjA1NC0uMzU1LjEwNC0uNTM0LjE1Ny0uMTkuMDU2LS4zNzMuMTEzLS41NzMuMTY3LS4xOTIuMDUyLS40LjEtLjYuMTUtLjIwNi4wNTEtLjQwNi4xMDQtLjYyMy4xNTRzLS40NDguMDk0LS42NzQuMTQxYy0uMjE4LjA0NS0uNDMuMDkzLS42NTguMTM2LS4yNC4wNDYtLjQ5Ny4wODctLjc0Ny4xMy0uMjMuMDQtLjQ1My4wODEtLjY5Mi4xMTgtLjI2LjA0LS41MzYuMDc2LS44MDYuMTEzLS4yNDQuMDMzLS40ODIuMDctLjczNC4xLS4yOTMuMDM2LS42MDIuMDY2LS45MDUuMDk3LS4yNDQuMDI2LS40OC4wNTUtLjczLjA3Ny0uMzM2LjAzMS0uNjg4LjA1NC0xLjAzNC4wNzgtLjIzMy4wMTgtLjQ1OC4wMzgtLjY5Ni4wNTMtLjM4LjAyMi0uNzc2LjAzNi0xLjE3LjA1My0uMjE1LjAwOC0uNDI1LjAyMS0uNjQ2LjAyOGE2NSA2NSAwIDAgMS0zLjc5NyAwYy0uMjIyLS4wMDctLjQzNC0uMDItLjY1NC0uMDI5LS4zOS0uMDE2LS43ODMtLjAzLTEuMTYxLS4wNTItLjI1LS4wMTYtLjQ4OC0uMDM3LS43MzMtLjA1NS0uMzMzLS4wMjQtLjY3My0uMDQ2LS45OTYtLjA3Ni0uMjUxLS4wMjItLjQ4Ny0uMDUyLS43MzItLjA3Ny0uMzAzLS4wMy0uNjEyLS4wNi0uOTA0LS4wOTctLjI1LS4wMy0uNDg3LS4wNjYtLjczLS4xLS4yNy0uMDM3LS41NDgtLjA3Mi0uODEtLjExMy0uMjQ3LS4wMzgtLjQ4LS4wODItLjcxOC0uMTIzLS4yNDEtLjA0Mi0uNDg4LS4wOC0uNzItLjEyNS0uMjMxLS4wNDQtLjQ0Ni0uMDkyLS42Ny0uMTM4LS4yMjItLjA0Ny0uNDUtLjA5LS42NjMtLjE0LS4yMTYtLjA0OS0uNDE1LS4xMDItLjYyMi0uMTUzLS4yLS4wNS0uNDA4LS4wOTgtLjYtLjE1LS4yMDItLjA1NC0uMzg3LS4xMTItLjU4LS4xNjktLjE3Ni0uMDUtLjM2LS4xMDItLjUyNi0uMTU1LS4xODUtLjA1OS0uMzUxLS4xMTktLjUyNC0uMTgtLjE1NS0uMDUzLS4zMTgtLjEwNi0uNDYzLS4xNi0uMTYyLS4wNi0uMzAzLS4xMjMtLjQ1My0uMTgzLS4xMzgtLjA1Ny0uMjg1LS4xMTQtLjQxMy0uMTctLjEzNC0uMDYtLjI1MS0uMTItLjM3NS0uMTgyLS4xMjEtLjA2LS4yNTEtLjExOC0uMzYxLS4xNzktLjExLS4wNTktLjIwMi0uMTE5LS4zMDItLjE3OS0uMTAxLS4wNi0uMjEtLjEyMi0uMy0uMTgyLS4wODctLjA2LS4xNTUtLjExOC0uMjMxLS4xNzctLjA4LS4wNi0uMTY1LS4xMjMtLjIzMS0uMTgzLS4wNjMtLjA1Ny0uMTA3LS4xMTQtLjE2LS4xNjktLjA1NS0uMDYyLS4xMTgtLjEyNC0uMTYyLS4xODUtLjAzOC0uMDU0LS4wNTctLjEwNi0uMDg1LS4xNi0uMDMyLS4wNjItLjA3MS0uMTI0LS4wODgtLjE4NGwtLjAyOC0uMjA5QzUuMTQgNy4yMjcgMTIuNDggNCAyMi44OTYgNG0yMi4zNTkgMjIuMjU3Yy0uMjEzLTEuMTUtMS41MzgtMi4zNjgtNC4yMzctMy45MWwxLjcxNi0xMi43NTJ2LS4wMDRsLjA1LS4zOWExIDEgMCAwIDAgLjAxLS4xM2MwLTQuMTY3LTEwLjQ4Ni03LjA3LTE5Ljg5OC03LjA3UzMgNC45MDMgMyA5LjA3cTAgLjA2Ni4wMDkuMTMybC4wNTIuMzl2LjAwMkw3LjI5IDQxLjAxYy4xMyAzLjY3NiA5LjYxMyA1LjA0OCAxNS42MDYgNS4wNDggMy4zMTUgMCA2LjYzOC0uMzQ2IDkuMzU3LS45NzVhMjEgMjEgMCAwIDAgMi45MjItLjg4MmMyLjE2Ni0uODU1IDMuMjg1LTEuOTI5IDMuMzI5LTMuMTlsMS43NC0xMi45M2MuOTUzLjIwMiAxLjgxOC4zMjUgMi41MzcuMzI1Ljk2OSAwIDEuNjk0LS4yMDUgMi4wODYtLjY3My4zNS0uNDE2LjQ4OC0uOTQuMzg4LTEuNDc1Ii8+PC9zdmc+;imageWidth=48;imageHeight=48;imageAlign=center;imageVerticalAlign=top;verticalAlign=bottom;align=center;fillColor=none;strokeColor=none;html=1;whiteSpace=nowrap;fontColor=#9d9fa0;fontSize=13;fontFamily=Inter,Helvetica,Arial,sans-serif;spacing=0;" vertex="1" parent="g-region"><mxGeometry x="320" y="624.5" width="99" height="71" as="geometry"/></mxCell>
<mxCell id="e1" value="HTTPS" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;html=1;endArrow=open;endFill=1;endSize=6;startArrow=none;startFill=1;startSize=6;strokeColor=#484c4d;strokeWidth=1.5;dashed=0;fontColor=#979899;fontSize=11;fontFamily=Inter,Helvetica,Arial,sans-serif;labelBackgroundColor=#0b1012;exitX=0.333;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.504;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="n-users" target="n-cdn"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="e2" value="sign in" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;html=1;endArrow=open;endFill=1;endSize=6;startArrow=none;startFill=1;startSize=6;strokeColor=#484c4d;strokeWidth=1.5;dashed=1;dashPattern=6 4;fontColor=#979899;fontSize=11;fontFamily=Inter,Helvetica,Arial,sans-serif;labelBackgroundColor=#0b1012;exitX=0.667;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.505;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="n-users" target="n-auth"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="198" y="187"/><mxPoint x="261" y="187"/></Array></mxGeometry></mxCell>
<mxCell id="e3" value="static files" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;html=1;endArrow=open;endFill=1;endSize=6;startArrow=none;startFill=1;startSize=6;strokeColor=#484c4d;strokeWidth=1.5;dashed=0;fontColor=#979899;fontSize=11;fontFamily=Inter,Helvetica,Arial,sans-serif;labelBackgroundColor=#0b1012;exitX=0.504;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.505;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="n-cdn" target="n-site"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="182" y="470"/><mxPoint x="119" y="470"/></Array></mxGeometry></mxCell>
<mxCell id="e4" value="/api/*" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;html=1;endArrow=open;endFill=1;endSize=6;startArrow=none;startFill=1;startSize=6;strokeColor=#484c4d;strokeWidth=1.5;dashed=0;fontColor=#979899;fontSize=11;fontFamily=Inter,Helvetica,Arial,sans-serif;labelBackgroundColor=#0b1012;exitX=0.504;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.667;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="n-cdn" target="n-api"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="182" y="470"/><mxPoint x="398" y="470"/><mxPoint x="398" y="855"/><mxPoint x="286" y="855"/></Array></mxGeometry></mxCell>
<mxCell id="e5" value="Cognito authorizer" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;html=1;endArrow=none;endFill=1;endSize=6;startArrow=open;startFill=1;startSize=6;strokeColor=#484c4d;strokeWidth=1.5;dashed=1;dashPattern=1 3;fontColor=#979899;fontSize=11;fontFamily=Inter,Helvetica,Arial,sans-serif;labelBackgroundColor=#0b1012;exitX=0.505;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.333;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="n-auth" target="n-api"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="e6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;html=1;endArrow=open;endFill=1;endSize=6;startArrow=none;startFill=1;startSize=6;strokeColor=#484c4d;strokeWidth=1.5;dashed=0;fontColor=#979899;fontSize=11;fontFamily=Inter,Helvetica,Arial,sans-serif;labelBackgroundColor=#0b1012;exitX=0.507;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.505;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="n-api" target="n-fn"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="e7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;html=1;endArrow=open;endFill=1;endSize=6;startArrow=none;startFill=1;startSize=6;strokeColor=#484c4d;strokeWidth=1.5;dashed=0;fontColor=#979899;fontSize=11;fontFamily=Inter,Helvetica,Arial,sans-serif;labelBackgroundColor=#0b1012;exitX=0.505;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.505;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="n-fn" target="n-table"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="e8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;html=1;endArrow=open;endFill=1;endSize=6;startArrow=none;startFill=1;startSize=6;strokeColor=#484c4d;strokeWidth=1.5;dashed=0;fontColor=#979899;fontSize=11;fontFamily=Inter,Helvetica,Arial,sans-serif;labelBackgroundColor=#0b1012;exitX=0.505;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.505;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="n-fn" target="n-uploads"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="274" y="1176"/><mxPoint x="418" y="1176"/></Array></mxGeometry></mxCell>
<mxCell id="legend" value="" style="rounded=1;absoluteArcSize=1;arcSize=12;html=1;fillColor=#0b1012;strokeColor=#323638;container=1;collapsible=0;recursiveResize=0;" vertex="1" parent="1"><mxGeometry x="419" y="1360" width="149" height="71" as="geometry"/></mxCell>
<mxCell id="legend:0:line" value="" style="line;html=1;fillColor=none;strokeColor=#484c4d;strokeWidth=1.5;dashed=0;" vertex="1" parent="legend"><mxGeometry x="10" y="11.5" width="28" height="12" as="geometry"/></mxCell>
<mxCell id="legend:0:text" value="Request path" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=nowrap;fontSize=11.5;fontColor=#9d9fa0;fontFamily=Inter,Helvetica,Arial,sans-serif;spacing=0;" vertex="1" parent="legend"><mxGeometry x="46" y="10" width="71.78" height="15" as="geometry"/></mxCell>
<mxCell id="legend:1:line" value="" style="line;html=1;fillColor=none;strokeColor=#484c4d;strokeWidth=1.5;dashed=1;dashPattern=6 4;" vertex="1" parent="legend"><mxGeometry x="10" y="29.5" width="28" height="12" as="geometry"/></mxCell>
<mxCell id="legend:1:text" value="Sign-in" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=nowrap;fontSize=11.5;fontColor=#9d9fa0;fontFamily=Inter,Helvetica,Arial,sans-serif;spacing=0;" vertex="1" parent="legend"><mxGeometry x="46" y="28" width="38.88" height="15" as="geometry"/></mxCell>
<mxCell id="legend:2:line" value="" style="line;html=1;fillColor=none;strokeColor=#484c4d;strokeWidth=1.5;dashed=1;dashPattern=1 3;" vertex="1" parent="legend"><mxGeometry x="10" y="47.5" width="28" height="12" as="geometry"/></mxCell>
<mxCell id="legend:2:text" value="Authorizer check" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=nowrap;fontSize=11.5;fontColor=#9d9fa0;fontFamily=Inter,Helvetica,Arial,sans-serif;spacing=0;" vertex="1" parent="legend"><mxGeometry x="46" y="46" width="92.88" height="15" as="geometry"/></mxCell>
</root></mxGraphModel></diagram></mxfile>
