github.com/emcfarlane/larking@v0.0.0-20220605172417-1704b45ee6c3/docs/larking.svg (about) 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 3 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="721px" height="361px" viewBox="-0.5 -0.5 721 361" content="<mxfile host="app.diagrams.net" modified="2021-07-24T15:40:00.702Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1 Safari/605.1.15" etag="q0YhQRQPP9VoKHyW-SQ5" version="14.9.2" type="device"><diagram id="7E48SjLVL_WNFfH8mPOV" name="Page-1">7Vxtk6I4EP41fjwLEgL6cXVe9q7u9qxzr3bvI0JUapB4Mc7o/foLkggEGHGGCM5oTdVIEwLpfrrzdDrYg+PV7pG66+UfxMdhDxj+rgfvegCYjgH5v1iyFxLTNhLJgga+kKWCafAfFkLZbBv4eJNryAgJWbDOCz0SRdhjOZlLKXnJN5uTMH/XtbvABcHUc8Oi9Efgs2UiHQAnlX/FwWLJjuMbJmdWrmwsRrJZuj55yYjgfQ+OKSEs+bbajXEYa0/qJbnuoeLs8cEojlidC+aPFgGb+wG2l7/esb+Nle/6v5jiaZ/dcCtGLJ6W7aUKKNlGPo57MXtw9LIMGJ6uXS8++8KtzmVLtgrF6Q2j5AmPSUgol0Qk4s1G8yAMpagHIBp/eRghLnepJyzOzQ1HxRGJQT5jyvAuIxIjfMRkhRnd8ybyrNS2wJsl4faSGu8IwWXWcFLoCsAsjn2nOuVfhFrPULFVomE7ZLHa+FjsBTuMPJHMqCrht8w2U0zDtcLO1L8QuWGwiPihx3WNuXwU6zjguP8iTqwC349vU2rwFBJN2Q3m7Yacot0GJWYDuqxmwo/lGJaRVzBs3zHMas+YqW4wJ3zkcZSXurL/3ZKkAZwfPllRcu3vLn0KokU8ifw1GWccKums4GezSjdr3NDQQg+2ocfQpmLoEk8yrRJDO9rsjPTa+ZHwK6aYPgfcIu+w8ocJphZA+UlwUAIB86LR1NELgW8uC5658Y1xGOCD2aun08+LC9PK4wI5qG1cDPTiIhv4UzBM2XbWLET0TRANmB0oU79VMiM4l5wQyuYDRaHelj4f9Ykj/0ucyvHDWUi8p7w6uWLo/qfwksPBP9kzd7vsqbu9ODpmY0bO08TtHoIw7V5mpYOD7VzKcsexLWVmiArWzZrycK0cCOGjl7Ls3XYB+5n5Hg/F6DtIHKaDiQ/kWCoxsiFb6uEa/sefYoFZDa6G/Vy6XMRcBlOoBFNSRnGYhOxcvl4CNHGHCQkO3i8gDRVII0vBajJycVU2KVY7chTfMJ0+yneV6KbQFTeku880W8cNNq88sq08splL1/mXpMfUrY5afbunycD9UbIYNb0H7WcxoCxRbHAK+/r9++QTT1ag7ckKlGWpV+xC9kCJeB1woRqE4JpV3IUoZeuNUj/w7JZ9nZd9wdazclCWlTdNxFPq3RkiXk6yweskuw57r0TJSSIuWcTVEXFl3R4MFPZcl4hbChEvoL4pGq7eZzBQ/EgHDS9b5ni7o7XhMtK3zZxvi8z0FfeWvmZ0x9ekC530NemUHfE1C8E+zHyURV6kOExdzwMKW0FQk+cpoULOf3o9r6y+fVtgbDZns4cdW2CUSLtZ/YJWbz1Th6Zeq/OnGh3+1GLjLdHJAcMxupboQKAXGZM9W5LoBowzgdF+/RHW2OXz/gz4NEvuaDWq0uYnqbOcgTtCnRFSuOfwjWS5ENuAnmqRDVogy7DGUncD3gCu1BsuXZutnaYOu+VrSqHTUqN3fV9TfAABTbVZ21IfGV7A26r3RL3GQThk57GGVQ5SIDS/Tf/8xjtJ6ocP5qucpMCCCjylk5yEEsaRSqLmKIq6GAJB69y1eotUIzCZcCWSFCfghpO34KS0inpZnGhe6brDG48Ga0Zox9c40Bx5s3xhF2ha8jhuOzqx5KHN6PL+H6CwYPSHjpUlimbfiG3xhurC+4sLh7tMMA24meLg804qJxnatVX37MKetQIDq0vmkPpilqVro52t7g0UKZtWMmdpXmG6Rd9i9IWtR9/qrX83atYaNSvkn6htamY1u67SnfL/idlZ7xJj1+ZKNToZCpzOmCn7RuZj5roF5rA/zH6ci0yiYHCBFRGr+kXBWzxtL54qO6baXxKxNG9mTcnW5vOyLfU9YquEbZW+R6xvu2pZff+qptFzqgz5lPZElaFqe97JUkslUJorT8h3zDoyT1fi+ux9c0pcRLp2rKqZ8/uKE/ww/c2ZpHn60z3w/n8=</diagram></mxfile>"><defs/><g><rect x="0" y="200" width="160" height="160" rx="16" ry="16" fill="#5cafb5" stroke="none" pointer-events="all"/><rect x="10" y="310" width="80" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 320px; margin-left: 11px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><h1><br /></h1></div></div></div></foreignObject><text x="50" y="324" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle"></text></switch></g><rect x="280" y="100" width="160" height="160" rx="16" ry="16" fill="#5cafb5" stroke="none" pointer-events="all"/><rect x="290" y="110" width="140" height="70" rx="7" ry="7" fill="#345f60" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 145px; margin-left: 291px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b><font color="#ffffff">Larking gRPC</font></b></div></div></div></foreignObject><text x="360" y="149" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Larking gRPC</text></switch></g><rect x="305" y="220" width="110" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 230px; margin-left: 306px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b><font color="#ffffff">Go Service</font></b></div></div></div></foreignObject><text x="360" y="234" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Go Service</text></switch></g><rect x="25" y="315" width="110" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 325px; margin-left: 26px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b><font color="#ffffff">Native Client<br /></font></b></div></div></div></foreignObject><text x="80" y="329" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Native Client
</text></switch></g><rect x="80" y="210" width="70" height="70" rx="10.5" ry="10.5" fill="#345f60" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 245px; margin-left: 81px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b><font color="#ffffff">gRPC<br />Stub<br /></font></b></div></div></div></foreignObject><text x="115" y="249" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">gRPC...</text></switch></g><path d="M 153.96 261.95 Q 240 250 279.19 195.13" fill="none" stroke="#345f60" stroke-width="5" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="150" cy="262.5" rx="4" ry="4" fill="#345f60" stroke="#345f60" stroke-width="5" pointer-events="all"/><path d="M 286.75 184.55 L 284.48 198.91 L 273.91 191.35 Z" fill="#345f60" stroke="#345f60" stroke-width="5" stroke-miterlimit="10" pointer-events="all"/><rect x="0" y="0" width="160" height="160" rx="16" ry="16" fill="#5cafb5" stroke="none" pointer-events="all"/><rect x="80" y="10" width="70" height="70" rx="10.5" ry="10.5" fill="#345f60" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 45px; margin-left: 81px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b><font color="#ffffff">HTTP<br /></font></b></div></div></div></foreignObject><text x="115" y="49" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">HTTP
</text></switch></g><rect x="560" y="200" width="160" height="160" rx="16" ry="16" fill="#5cafb5" stroke="none" pointer-events="all"/><rect x="560" y="0" width="160" height="160" rx="16" ry="16" fill="#5cafb5" stroke="none" pointer-events="all"/><rect x="25" y="120" width="110" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 130px; margin-left: 26px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b><font color="#ffffff">Web Client<br /></font></b></div></div></div></foreignObject><text x="80" y="134" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Web Client
</text></switch></g><path d="M 154 27.52 Q 250 28 281.85 93.29" fill="none" stroke="#345f60" stroke-width="5" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="150" cy="27.5" rx="4" ry="4" fill="#345f60" stroke="#345f60" stroke-width="5" pointer-events="all"/><path d="M 287.55 104.98 L 276.01 96.14 L 287.69 90.44 Z" fill="#345f60" stroke="#345f60" stroke-width="5" stroke-miterlimit="10" pointer-events="all"/><path d="M 286.02 127.13 Q 210 120 163.42 75.36" fill="none" stroke="#345f60" stroke-width="5" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="290" cy="127.5" rx="4" ry="4" fill="#345f60" stroke="#345f60" stroke-width="5" pointer-events="all"/><path d="M 154.04 66.37 L 167.92 70.67 L 158.92 80.06 Z" fill="#345f60" stroke="#345f60" stroke-width="5" stroke-miterlimit="10" pointer-events="all"/><rect x="570" y="210" width="70" height="70" rx="10.5" ry="10.5" fill="#345f60" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 245px; margin-left: 571px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b><font color="#ffffff">gRPC<br />Stub<br /></font></b></div></div></div></foreignObject><text x="605" y="249" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">gRPC...</text></switch></g><rect x="570" y="10" width="70" height="70" rx="10.5" ry="10.5" fill="#345f60" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 45px; margin-left: 571px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b><font color="#ffffff">gRPC<br />Stub<br /></font></b></div></div></div></foreignObject><text x="605" y="49" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">gRPC...</text></switch></g><rect x="585" y="120" width="110" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 130px; margin-left: 586px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b><font color="#ffffff">C++ Service<br /></font></b></div></div></div></foreignObject><text x="640" y="134" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">C++ Service
</text></switch></g><rect x="585" y="315" width="110" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 325px; margin-left: 586px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b><font color="#ffffff">Python Service<br /></font></b></div></div></div></foreignObject><text x="640" y="329" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Python Service
</text></switch></g><path d="M 433.96 129.43 Q 500 120 555.64 74.3" fill="none" stroke="#345f60" stroke-width="5" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="430" cy="130" rx="4" ry="4" fill="#345f60" stroke="#345f60" stroke-width="5" pointer-events="all"/><path d="M 565.68 66.05 L 559.76 79.32 L 551.51 69.28 Z" fill="#345f60" stroke="#345f60" stroke-width="5" stroke-miterlimit="10" pointer-events="all"/><path d="M 434 162.52 Q 520 163 558.61 212.81" fill="none" stroke="#345f60" stroke-width="5" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="430" cy="162.5" rx="4" ry="4" fill="#345f60" stroke="#345f60" stroke-width="5" pointer-events="all"/><path d="M 566.58 223.08 L 553.47 216.79 L 563.75 208.83 Z" fill="#345f60" stroke="#345f60" stroke-width="5" stroke-miterlimit="10" pointer-events="all"/><rect x="160" y="60" width="110" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 70px; margin-left: 161px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font color="#345f60"><b>JSON HTTP/1<br /></b></font></div></div></div></foreignObject><text x="215" y="74" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">JSON HTTP/1
</text></switch></g><rect x="160" y="200" width="110" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 210px; margin-left: 161px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font color="#345f60"><b>Proto HTTP/2<br /></b></font></div></div></div></foreignObject><text x="215" y="214" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Proto HTTP/2
</text></switch></g><rect x="570" y="280" width="70" height="20" rx="4" ry="4" fill="#5f5cb5" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 290px; margin-left: 571px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b><font color="#ffffff">Descriptor<br /></font></b></div></div></div></foreignObject><text x="605" y="294" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Descriptor
</text></switch></g><path d="M 566 245 Q 480 245 438.36 195.74" fill="none" stroke="#345f60" stroke-width="5" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="570" cy="245" rx="4" ry="4" fill="#345f60" stroke="#345f60" stroke-width="5" pointer-events="all"/><path d="M 429.97 185.81 L 443.32 191.54 L 433.4 199.93 Z" fill="#345f60" stroke="#345f60" stroke-width="5" stroke-miterlimit="10" pointer-events="all"/><rect x="570" y="80" width="70" height="20" rx="4" ry="4" fill="#5f5cb5" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 90px; margin-left: 571px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b><font color="#ffffff">Descriptor<br /></font></b></div></div></div></foreignObject><text x="605" y="94" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Descriptor
</text></switch></g><rect x="440" y="190" width="110" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 200px; margin-left: 441px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font color="#345f60"><b>Proto HTTP/2<br /></b></font></div></div></div></foreignObject><text x="495" y="204" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Proto HTTP/2
</text></switch></g><path d="M 566.07 39.26 Q 480 23 439.26 93.88" fill="none" stroke="#345f60" stroke-width="5" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="570" cy="40" rx="4" ry="4" fill="#345f60" stroke="#345f60" stroke-width="5" pointer-events="all"/><path d="M 432.79 105.15 L 433.63 90.64 L 444.9 97.12 Z" fill="#345f60" stroke="#345f60" stroke-width="5" stroke-miterlimit="10" pointer-events="all"/><rect x="450" y="60" width="110" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 70px; margin-left: 451px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font color="#345f60"><b>Proto HTTP/2<br /></b></font></div></div></div></foreignObject><text x="505" y="74" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Proto HTTP/2
</text></switch></g><rect x="290" y="180" width="140" height="20" rx="4" ry="4" fill="#5f5cb5" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 190px; margin-left: 291px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b><font color="#ffffff">Descriptors<br /></font></b></div></div></div></foreignObject><text x="360" y="194" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Descriptors
</text></switch></g><path d="M 286 162.52 Q 200 163 161.39 212.81" fill="none" stroke="#345f60" stroke-width="5" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="290" cy="162.5" rx="4" ry="4" fill="#345f60" stroke="#345f60" stroke-width="5" pointer-events="all"/><path d="M 153.42 223.08 L 156.25 208.83 L 166.53 216.79 Z" fill="#345f60" stroke="#345f60" stroke-width="5" stroke-miterlimit="10" pointer-events="all"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>