@storkspear/post-editor-react 0.1.0

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.
Files changed (192) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +12 -0
  3. package/dist/ColorPicker.d.ts +11 -0
  4. package/dist/ColorPicker.d.ts.map +1 -0
  5. package/dist/ColorPicker.js +30 -0
  6. package/dist/ColorPicker.js.map +1 -0
  7. package/dist/DrawioModal.d.ts +9 -0
  8. package/dist/DrawioModal.d.ts.map +1 -0
  9. package/dist/DrawioModal.js +97 -0
  10. package/dist/DrawioModal.js.map +1 -0
  11. package/dist/FontMenu.d.ts +14 -0
  12. package/dist/FontMenu.d.ts.map +1 -0
  13. package/dist/FontMenu.js +14 -0
  14. package/dist/FontMenu.js.map +1 -0
  15. package/dist/Icon.d.ts +69 -0
  16. package/dist/Icon.d.ts.map +1 -0
  17. package/dist/Icon.js +47 -0
  18. package/dist/Icon.js.map +1 -0
  19. package/dist/InsertHandle.d.ts +14 -0
  20. package/dist/InsertHandle.d.ts.map +1 -0
  21. package/dist/InsertHandle.js +60 -0
  22. package/dist/InsertHandle.js.map +1 -0
  23. package/dist/PickMenu.d.ts +61 -0
  24. package/dist/PickMenu.d.ts.map +1 -0
  25. package/dist/PickMenu.js +57 -0
  26. package/dist/PickMenu.js.map +1 -0
  27. package/dist/Popover.d.ts +20 -0
  28. package/dist/Popover.d.ts.map +1 -0
  29. package/dist/Popover.js +22 -0
  30. package/dist/Popover.js.map +1 -0
  31. package/dist/PostTitle.d.ts +33 -0
  32. package/dist/PostTitle.d.ts.map +1 -0
  33. package/dist/PostTitle.js +171 -0
  34. package/dist/PostTitle.js.map +1 -0
  35. package/dist/SelectionBubble.d.ts +6 -0
  36. package/dist/SelectionBubble.d.ts.map +1 -0
  37. package/dist/SelectionBubble.js +71 -0
  38. package/dist/SelectionBubble.js.map +1 -0
  39. package/dist/TableTools.d.ts +10 -0
  40. package/dist/TableTools.d.ts.map +1 -0
  41. package/dist/TableTools.js +200 -0
  42. package/dist/TableTools.js.map +1 -0
  43. package/dist/Toolbar.d.ts +17 -0
  44. package/dist/Toolbar.d.ts.map +1 -0
  45. package/dist/Toolbar.js +333 -0
  46. package/dist/Toolbar.js.map +1 -0
  47. package/dist/UrlPrompt.d.ts +24 -0
  48. package/dist/UrlPrompt.d.ts.map +1 -0
  49. package/dist/UrlPrompt.js +53 -0
  50. package/dist/UrlPrompt.js.map +1 -0
  51. package/dist/VariantMenu.d.ts +47 -0
  52. package/dist/VariantMenu.d.ts.map +1 -0
  53. package/dist/VariantMenu.js +21 -0
  54. package/dist/VariantMenu.js.map +1 -0
  55. package/dist/WidthToggle.d.ts +19 -0
  56. package/dist/WidthToggle.d.ts.map +1 -0
  57. package/dist/WidthToggle.js +17 -0
  58. package/dist/WidthToggle.js.map +1 -0
  59. package/dist/bubbleShows.d.ts +10 -0
  60. package/dist/bubbleShows.d.ts.map +1 -0
  61. package/dist/bubbleShows.js +29 -0
  62. package/dist/bubbleShows.js.map +1 -0
  63. package/dist/content-baked.d.ts +22 -0
  64. package/dist/content-baked.d.ts.map +1 -0
  65. package/dist/content-baked.js +21 -0
  66. package/dist/content-baked.js.map +1 -0
  67. package/dist/content.d.ts +29 -0
  68. package/dist/content.d.ts.map +1 -0
  69. package/dist/content.js +35 -0
  70. package/dist/content.js.map +1 -0
  71. package/dist/extensions/DiagramView.d.ts +26 -0
  72. package/dist/extensions/DiagramView.d.ts.map +1 -0
  73. package/dist/extensions/DiagramView.js +146 -0
  74. package/dist/extensions/DiagramView.js.map +1 -0
  75. package/dist/extensions/FigureView.d.ts +3 -0
  76. package/dist/extensions/FigureView.d.ts.map +1 -0
  77. package/dist/extensions/FigureView.js +108 -0
  78. package/dist/extensions/FigureView.js.map +1 -0
  79. package/dist/index.d.ts +100 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +166 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/objects/ObjectFloat.d.ts +11 -0
  84. package/dist/objects/ObjectFloat.d.ts.map +1 -0
  85. package/dist/objects/ObjectFloat.js +42 -0
  86. package/dist/objects/ObjectFloat.js.map +1 -0
  87. package/dist/objects/ObjectLayer.d.ts +10 -0
  88. package/dist/objects/ObjectLayer.d.ts.map +1 -0
  89. package/dist/objects/ObjectLayer.js +20 -0
  90. package/dist/objects/ObjectLayer.js.map +1 -0
  91. package/dist/objects/blockSize.d.ts +30 -0
  92. package/dist/objects/blockSize.d.ts.map +1 -0
  93. package/dist/objects/blockSize.js +56 -0
  94. package/dist/objects/blockSize.js.map +1 -0
  95. package/dist/objects/code.d.ts +3 -0
  96. package/dist/objects/code.d.ts.map +1 -0
  97. package/dist/objects/code.js +55 -0
  98. package/dist/objects/code.js.map +1 -0
  99. package/dist/objects/diagram.d.ts +21 -0
  100. package/dist/objects/diagram.d.ts.map +1 -0
  101. package/dist/objects/diagram.js +109 -0
  102. package/dist/objects/diagram.js.map +1 -0
  103. package/dist/objects/diagramGlyphs.d.ts +12 -0
  104. package/dist/objects/diagramGlyphs.d.ts.map +1 -0
  105. package/dist/objects/diagramGlyphs.js +49 -0
  106. package/dist/objects/diagramGlyphs.js.map +1 -0
  107. package/dist/objects/divider.d.ts +22 -0
  108. package/dist/objects/divider.d.ts.map +1 -0
  109. package/dist/objects/divider.js +60 -0
  110. package/dist/objects/divider.js.map +1 -0
  111. package/dist/objects/figure.d.ts +3 -0
  112. package/dist/objects/figure.d.ts.map +1 -0
  113. package/dist/objects/figure.js +62 -0
  114. package/dist/objects/figure.js.map +1 -0
  115. package/dist/objects/imageRow.d.ts +3 -0
  116. package/dist/objects/imageRow.d.ts.map +1 -0
  117. package/dist/objects/imageRow.js +29 -0
  118. package/dist/objects/imageRow.js.map +1 -0
  119. package/dist/objects/quote.d.ts +6 -0
  120. package/dist/objects/quote.d.ts.map +1 -0
  121. package/dist/objects/quote.js +13 -0
  122. package/dist/objects/quote.js.map +1 -0
  123. package/dist/objects/quoteGlyphs.d.ts +6 -0
  124. package/dist/objects/quoteGlyphs.d.ts.map +1 -0
  125. package/dist/objects/quoteGlyphs.js +28 -0
  126. package/dist/objects/quoteGlyphs.js.map +1 -0
  127. package/dist/objects/quoteRow.d.ts +3 -0
  128. package/dist/objects/quoteRow.d.ts.map +1 -0
  129. package/dist/objects/quoteRow.js +61 -0
  130. package/dist/objects/quoteRow.js.map +1 -0
  131. package/dist/objects/registry.d.ts +60 -0
  132. package/dist/objects/registry.d.ts.map +1 -0
  133. package/dist/objects/registry.js +45 -0
  134. package/dist/objects/registry.js.map +1 -0
  135. package/dist/objects/table.d.ts +11 -0
  136. package/dist/objects/table.d.ts.map +1 -0
  137. package/dist/objects/table.js +136 -0
  138. package/dist/objects/table.js.map +1 -0
  139. package/dist/objects/useDomRect.d.ts +14 -0
  140. package/dist/objects/useDomRect.d.ts.map +1 -0
  141. package/dist/objects/useDomRect.js +32 -0
  142. package/dist/objects/useDomRect.js.map +1 -0
  143. package/dist/objects/useEngaged.d.ts +14 -0
  144. package/dist/objects/useEngaged.d.ts.map +1 -0
  145. package/dist/objects/useEngaged.js +41 -0
  146. package/dist/objects/useEngaged.js.map +1 -0
  147. package/dist/pickItems.d.ts +36 -0
  148. package/dist/pickItems.d.ts.map +1 -0
  149. package/dist/pickItems.js +40 -0
  150. package/dist/pickItems.js.map +1 -0
  151. package/dist/recentColors.d.ts +7 -0
  152. package/dist/recentColors.d.ts.map +1 -0
  153. package/dist/recentColors.js +30 -0
  154. package/dist/recentColors.js.map +1 -0
  155. package/dist/seeds/drawio/aws.d.ts +15 -0
  156. package/dist/seeds/drawio/aws.d.ts.map +1 -0
  157. package/dist/seeds/drawio/aws.js +15 -0
  158. package/dist/seeds/drawio/aws.js.map +1 -0
  159. package/dist/seeds/drawio/azure.d.ts +14 -0
  160. package/dist/seeds/drawio/azure.d.ts.map +1 -0
  161. package/dist/seeds/drawio/azure.js +14 -0
  162. package/dist/seeds/drawio/azure.js.map +1 -0
  163. package/dist/seeds/drawio/ec2docker.d.ts +15 -0
  164. package/dist/seeds/drawio/ec2docker.d.ts.map +1 -0
  165. package/dist/seeds/drawio/ec2docker.js +15 -0
  166. package/dist/seeds/drawio/ec2docker.js.map +1 -0
  167. package/dist/seeds/drawio/userflow.d.ts +21 -0
  168. package/dist/seeds/drawio/userflow.d.ts.map +1 -0
  169. package/dist/seeds/drawio/userflow.js +21 -0
  170. package/dist/seeds/drawio/userflow.js.map +1 -0
  171. package/dist/seeds/mermaid.d.ts +19 -0
  172. package/dist/seeds/mermaid.d.ts.map +1 -0
  173. package/dist/seeds/mermaid.js +82 -0
  174. package/dist/seeds/mermaid.js.map +1 -0
  175. package/dist/useAnchoredPos.d.ts +22 -0
  176. package/dist/useAnchoredPos.d.ts.map +1 -0
  177. package/dist/useAnchoredPos.js +57 -0
  178. package/dist/useAnchoredPos.js.map +1 -0
  179. package/dist/useDismiss.d.ts +17 -0
  180. package/dist/useDismiss.d.ts.map +1 -0
  181. package/dist/useDismiss.js +36 -0
  182. package/dist/useDismiss.js.map +1 -0
  183. package/dist/useLastVariant.d.ts +9 -0
  184. package/dist/useLastVariant.d.ts.map +1 -0
  185. package/dist/useLastVariant.js +33 -0
  186. package/dist/useLastVariant.js.map +1 -0
  187. package/dist/useUploadCount.d.ts +3 -0
  188. package/dist/useUploadCount.d.ts.map +1 -0
  189. package/dist/useUploadCount.js +9 -0
  190. package/dist/useUploadCount.js.map +1 -0
  191. package/package.json +57 -0
  192. package/src/editor-ui.css +737 -0
@@ -0,0 +1,30 @@
1
+ import { useState } from 'react';
2
+ /**
3
+ * 최근 쓴 색 — 툴바와 글자 버블이 **같은 목록**을 본다.
4
+ *
5
+ * 전에는 버블 안에만 있어서, 툴바에서 고른 색이 버블의 최근 목록에 안 남았다.
6
+ * 색을 고르는 자리가 둘인데 기억이 하나가 아니면 사용자는 매번 다시 찾는다.
7
+ */
8
+ const KEY = 'spike.recentColors';
9
+ const MAX = 8;
10
+ export function loadRecent() {
11
+ try {
12
+ return JSON.parse(localStorage.getItem(KEY) ?? '[]');
13
+ }
14
+ catch {
15
+ return [];
16
+ }
17
+ }
18
+ export function pushRecent(hex) {
19
+ const next = [hex, ...loadRecent().filter((c) => c !== hex)].slice(0, MAX);
20
+ try {
21
+ localStorage.setItem(KEY, JSON.stringify(next));
22
+ }
23
+ catch { /* 사파리 비공개 모드 등 */ }
24
+ return next;
25
+ }
26
+ export function useRecentColors() {
27
+ const [recent, setRecent] = useState(loadRecent);
28
+ return { recent, remember: (hex) => setRecent(pushRecent(hex)) };
29
+ }
30
+ //# sourceMappingURL=recentColors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recentColors.js","sourceRoot":"","sources":["../src/recentColors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC;;;;;GAKG;AACH,MAAM,GAAG,GAAG,oBAAoB,CAAA;AAChC,MAAM,GAAG,GAAG,CAAC,CAAA;AAEb,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAa,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAA;IAAC,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC1E,IAAI,CAAC;QAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACpF,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAW,UAAU,CAAC,CAAA;IAC1D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAA;AAC1E,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * AWS 운영 인프라 + CI/CD — Draw.io 샘플.
3
+ *
4
+ * 아이콘은 **draw.io 기본 스텐실**(`mxgraph.aws4`)이다. 지난번 홈서버 도면처럼 SVG 를
5
+ * data URI 로 박지 않으므로 구운 그림에 `<image>` 가 0개다 — 그만큼 가볍다.
6
+ *
7
+ * `svg` 를 같이 싣는 이유: draw.io 도면은 편집기가 다시 그리지 못한다(mermaid 와 다르다).
8
+ * 안 실으면 넣자마자 빈 상자가 보이고 캔버스를 한 번 열어 저장해야 그림이 생긴다.
9
+ * 그래서 이 파일들은 **동적 import 로만** 불린다 — `objects/diagram.tsx` 참고.
10
+ */
11
+ export declare const aws: {
12
+ src: string;
13
+ svg: string;
14
+ };
15
+ //# sourceMappingURL=aws.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aws.d.ts","sourceRoot":"","sources":["../../../src/seeds/drawio/aws.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,GAAG;;;CAGf,CAAA"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * AWS 운영 인프라 + CI/CD — Draw.io 샘플.
3
+ *
4
+ * 아이콘은 **draw.io 기본 스텐실**(`mxgraph.aws4`)이다. 지난번 홈서버 도면처럼 SVG 를
5
+ * data URI 로 박지 않으므로 구운 그림에 `<image>` 가 0개다 — 그만큼 가볍다.
6
+ *
7
+ * `svg` 를 같이 싣는 이유: draw.io 도면은 편집기가 다시 그리지 못한다(mermaid 와 다르다).
8
+ * 안 실으면 넣자마자 빈 상자가 보이고 캔버스를 한 번 열어 저장해야 그림이 생긴다.
9
+ * 그래서 이 파일들은 **동적 import 로만** 불린다 — `objects/diagram.tsx` 참고.
10
+ */
11
+ export const aws = {
12
+ src: "<mxfile host=\"storkspear\">\n <diagram name=\"AWS 운영 인프라 + CI/CD\">\n <mxGraphModel dx=\"1400\" dy=\"900\" grid=\"0\" gridSize=\"10\" guides=\"1\" tooltips=\"1\" connect=\"1\"\n arrows=\"1\" fold=\"1\" page=\"1\" pageScale=\"1\" pageWidth=\"1180\" pageHeight=\"860\"\n math=\"0\" shadow=\"0\">\n <root><mxCell id=\"0\"/><mxCell id=\"1\" parent=\"0\"/>\n <mxCell id=\"user\" value=\"인터넷 사용자\" style=\"rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#c3bdb1;fontSize=11;fontColor=#2a2a2a;arcSize=12;\" vertex=\"1\" parent=\"1\"><mxGeometry x=\"40\" y=\"60\" width=\"140\" height=\"40\" as=\"geometry\"/></mxCell>\n <mxCell id=\"r53\" value=\"Route 53\" style=\"sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=11;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.route_53;\" vertex=\"1\" parent=\"1\"><mxGeometry x=\"250\" y=\"52\" width=\"56\" height=\"56\" as=\"geometry\"/></mxCell>\n <mxCell id=\"cloud\" value=\"AWS Cloud\" style=\"sketch=0;outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=11;container=1;pointerEvents=0;collapsible=0;recursiveResize=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_aws_cloud_alt;strokeColor=#232F3E;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;fontColor=#232F3E;dashed=0;labelBackgroundColor=#FFFFFF;\" vertex=\"1\" parent=\"1\"><mxGeometry x=\"380\" y=\"24\" width=\"760\" height=\"470\" as=\"geometry\"/></mxCell>\n <mxCell id=\"vpc\" value=\"VPC 10.0.0.0/16\" style=\"sketch=0;outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=11;container=1;pointerEvents=0;collapsible=0;recursiveResize=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_vpc2;strokeColor=#8C4FFF;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;fontColor=#8C4FFF;dashed=0;labelBackgroundColor=#FFFFFF;\" vertex=\"1\" parent=\"cloud\"><mxGeometry x=\"30\" y=\"44\" width=\"700\" height=\"400\" as=\"geometry\"/></mxCell>\n <mxCell id=\"pub\" value=\"Public subnet\" style=\"sketch=0;outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=11;container=1;pointerEvents=0;collapsible=0;recursiveResize=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_public_subnet;strokeColor=#7AA116;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;fontColor=#7AA116;dashed=1;labelBackgroundColor=#FFFFFF;\" vertex=\"1\" parent=\"vpc\"><mxGeometry x=\"24\" y=\"40\" width=\"300\" height=\"150\" as=\"geometry\"/></mxCell>\n <mxCell id=\"alb\" value=\"ALB\" style=\"sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=11;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.application_load_balancer;\" vertex=\"1\" parent=\"pub\"><mxGeometry x=\"120\" y=\"34\" width=\"56\" height=\"56\" as=\"geometry\"/></mxCell>\n <mxCell id=\"priv\" value=\"Private subnet\" style=\"sketch=0;outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=11;container=1;pointerEvents=0;collapsible=0;recursiveResize=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_private_subnet;strokeColor=#00A4A6;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;fontColor=#00A4A6;dashed=1;labelBackgroundColor=#FFFFFF;\" vertex=\"1\" parent=\"vpc\"><mxGeometry x=\"24\" y=\"210\" width=\"640\" height=\"160\" as=\"geometry\"/></mxCell>\n <mxCell id=\"sg\" value=\"Security Group\" style=\"sketch=0;outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=11;container=1;pointerEvents=0;collapsible=0;recursiveResize=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_security_group;strokeColor=#DD3522;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;fontColor=#DD3522;dashed=1;labelBackgroundColor=#FFFFFF;\" vertex=\"1\" parent=\"priv\"><mxGeometry x=\"20\" y=\"30\" width=\"260\" height=\"110\" as=\"geometry\"/></mxCell>\n <mxCell id=\"ec2\" value=\"EC2\" style=\"sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=11;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.ec2;\" vertex=\"1\" parent=\"sg\"><mxGeometry x=\"100\" y=\"26\" width=\"56\" height=\"56\" as=\"geometry\"/></mxCell>\n <mxCell id=\"rds\" value=\"RDS\" style=\"sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=11;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.rds;\" vertex=\"1\" parent=\"priv\"><mxGeometry x=\"320\" y=\"56\" width=\"56\" height=\"56\" as=\"geometry\"/></mxCell>\n <mxCell id=\"redis\" value=\"ElastiCache (Redis)\" style=\"sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=11;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.elasticache;\" vertex=\"1\" parent=\"priv\"><mxGeometry x=\"440\" y=\"56\" width=\"56\" height=\"56\" as=\"geometry\"/></mxCell>\n <mxCell id=\"mq\" value=\"Amazon MQ\" style=\"sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#BC1356;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=11;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.mq;\" vertex=\"1\" parent=\"priv\"><mxGeometry x=\"560\" y=\"56\" width=\"56\" height=\"56\" as=\"geometry\"/></mxCell>\n <mxCell id=\"cicd\" value=\"CI / CD\" style=\"rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#b4afa3;dashed=1;verticalAlign=top;align=left;spacingLeft=12;spacingTop=2;fontSize=11;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;container=1;collapsible=0;recursiveResize=0;pointerEvents=0;\" vertex=\"1\" parent=\"1\"><mxGeometry x=\"380\" y=\"560\" width=\"760\" height=\"150\" as=\"geometry\"/></mxCell>\n <mxCell id=\"gh\" value=\"GitHub&lt;br&gt;(main push)\" style=\"rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#c3bdb1;fontSize=11;fontColor=#2a2a2a;arcSize=12;\" vertex=\"1\" parent=\"cicd\"><mxGeometry x=\"30\" y=\"46\" width=\"110\" height=\"48\" as=\"geometry\"/></mxCell>\n <mxCell id=\"pipe\" value=\"CodePipeline\" style=\"sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=11;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.codepipeline;\" vertex=\"1\" parent=\"cicd\"><mxGeometry x=\"190\" y=\"40\" width=\"56\" height=\"56\" as=\"geometry\"/></mxCell>\n <mxCell id=\"build\" value=\"CodeBuild\" style=\"sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=11;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.codebuild;\" vertex=\"1\" parent=\"cicd\"><mxGeometry x=\"330\" y=\"40\" width=\"56\" height=\"56\" as=\"geometry\"/></mxCell>\n <mxCell id=\"ecr\" value=\"ECR\" style=\"sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=11;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.ecr;\" vertex=\"1\" parent=\"cicd\"><mxGeometry x=\"470\" y=\"40\" width=\"56\" height=\"56\" as=\"geometry\"/></mxCell>\n <mxCell id=\"deploy\" value=\"CodeDeploy\" style=\"sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=11;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.codedeploy;\" vertex=\"1\" parent=\"cicd\"><mxGeometry x=\"610\" y=\"40\" width=\"56\" height=\"56\" as=\"geometry\"/></mxCell>\n <mxCell id=\"n1\" value=\"한 대만 그렸습니다 —&lt;br&gt;실제로는 가용영역 둘에 나눠 둡니다\" style=\"text;html=1;align=left;fontSize=10;fontColor=#8e8981;whiteSpace=wrap;labelBackgroundColor=#FFFFFF;\" vertex=\"1\" parent=\"1\"><mxGeometry x=\"40\" y=\"130\" width=\"190\" height=\"32\" as=\"geometry\"/></mxCell>\n <mxCell id=\"e1\" value=\"HTTPS\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;\" edge=\"1\" parent=\"1\" source=\"user\" target=\"r53\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"></mxGeometry></mxCell>\n <mxCell id=\"e2\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;\" edge=\"1\" parent=\"1\" source=\"r53\" target=\"alb\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"><Array as=\"points\"><mxPoint x=\"560\" y=\"80\"/></Array></mxGeometry></mxCell>\n <mxCell id=\"e3\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;\" edge=\"1\" parent=\"1\" source=\"alb\" target=\"ec2\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"></mxGeometry></mxCell>\n <mxCell id=\"e4\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;\" edge=\"1\" parent=\"1\" source=\"ec2\" target=\"rds\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"></mxGeometry></mxCell>\n <mxCell id=\"e5\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;dashed=1;\" edge=\"1\" parent=\"1\" source=\"ec2\" target=\"redis\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"><Array as=\"points\"><mxPoint x=\"582\" y=\"420\"/><mxPoint x=\"908\" y=\"420\"/></Array></mxGeometry></mxCell>\n <mxCell id=\"e6\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;dashed=1;\" edge=\"1\" parent=\"1\" source=\"ec2\" target=\"mq\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"><Array as=\"points\"><mxPoint x=\"582\" y=\"440\"/><mxPoint x=\"1028\" y=\"440\"/></Array></mxGeometry></mxCell>\n <mxCell id=\"c1\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;\" edge=\"1\" parent=\"1\" source=\"gh\" target=\"pipe\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"></mxGeometry></mxCell>\n <mxCell id=\"c2\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;\" edge=\"1\" parent=\"1\" source=\"pipe\" target=\"build\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"></mxGeometry></mxCell>\n <mxCell id=\"c3\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;\" edge=\"1\" parent=\"1\" source=\"build\" target=\"ecr\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"></mxGeometry></mxCell>\n <mxCell id=\"c4\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;\" edge=\"1\" parent=\"1\" source=\"ecr\" target=\"deploy\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"></mxGeometry></mxCell>\n <mxCell id=\"c5\" value=\"배포\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;\" edge=\"1\" parent=\"1\" source=\"deploy\" target=\"ec2\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"><Array as=\"points\"><mxPoint x=\"1050\" y=\"520\"/><mxPoint x=\"582\" y=\"520\"/></Array></mxGeometry></mxCell>\n </root>\n </mxGraphModel>\n </diagram>\n</mxfile>",
13
+ svg: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"background: transparent; background-color: transparent; color-scheme: light dark;\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" width=\"1102px\" height=\"688px\" viewBox=\"0 0 1102 688\"><defs><linearGradient x1=\"0%\" y1=\"100%\" x2=\"0%\" y2=\"0%\" id=\"drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_945df2_a677f7_-1-light-dark_5a30b5_c8a4ff_-1-s-0\"><stop offset=\"0%\" stop-color=\"#5A30B5\" stop-opacity=\"1\" style=\"stop-color: light-dark(rgb(90, 48, 181), rgb(200, 164, 255)); stop-opacity: 1;\"></stop><stop offset=\"100%\" stop-color=\"#945DF2\" stop-opacity=\"1\" style=\"stop-color: light-dark(rgb(148, 93, 242), rgb(166, 119, 247)); stop-opacity: 1;\"></stop></linearGradient><linearGradient x1=\"0%\" y1=\"100%\" x2=\"0%\" y2=\"0%\" id=\"drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_f78e04_b85e00_-1-light-dark_d05c17_e07c41_-1-s-0\"><stop offset=\"0%\" stop-color=\"#D05C17\" stop-opacity=\"1\" style=\"stop-color: light-dark(rgb(208, 92, 23), rgb(224, 124, 65)); stop-opacity: 1;\"></stop><stop offset=\"100%\" stop-color=\"#F78E04\" stop-opacity=\"1\" style=\"stop-color: light-dark(rgb(247, 142, 4), rgb(184, 94, 0)); stop-opacity: 1;\"></stop></linearGradient><linearGradient x1=\"0%\" y1=\"100%\" x2=\"0%\" y2=\"0%\" id=\"drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_4d72f3_6989f8_-1-light-dark_3334b9_afb0ff_-1-s-0\"><stop offset=\"0%\" stop-color=\"#3334B9\" stop-opacity=\"1\" style=\"stop-color: light-dark(rgb(51, 52, 185), rgb(175, 176, 255)); stop-opacity: 1;\"></stop><stop offset=\"100%\" stop-color=\"#4D72F3\" stop-opacity=\"1\" style=\"stop-color: light-dark(rgb(77, 114, 243), rgb(105, 137, 248)); stop-opacity: 1;\"></stop></linearGradient><linearGradient x1=\"0%\" y1=\"100%\" x2=\"0%\" y2=\"0%\" id=\"drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_f54749_ff7072_-1-light-dark_bc1356_ff97d1_-1-s-0\"><stop offset=\"0%\" stop-color=\"#BC1356\" stop-opacity=\"1\" style=\"stop-color: light-dark(rgb(188, 19, 86), rgb(255, 151, 209)); stop-opacity: 1;\"></stop><stop offset=\"100%\" stop-color=\"#F54749\" stop-opacity=\"1\" style=\"stop-color: light-dark(rgb(245, 71, 73), rgb(255, 112, 114)); stop-opacity: 1;\"></stop></linearGradient></defs><g><g data-cell-id=\"0\"><g data-cell-id=\"1\"><g data-cell-id=\"user\"><g transform=\"translate(0.5,0.5)\"><rect x=\"0.05\" y=\"36.35\" width=\"140\" height=\"40\" rx=\"4.8\" ry=\"4.8\" fill=\"#ffffff\" stroke=\"#c3bdb1\" pointer-events=\"all\" style=\"fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(195, 189, 177), rgb(80, 74, 64));\"></rect></g><g><g><switch><text x=\"70\" y=\"60\" fill=\"#2a2a2a\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(42, 42, 42), rgb(201, 201, 201));\">인터넷 사용자</text></switch></g></g></g><g data-cell-id=\"r53\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 210.05 28.35 L 266.05 28.35 L 266.05 84.35 L 210.05 84.35 Z\" fill=\"url(#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_945df2_a677f7_-1-light-dark_5a30b5_c8a4ff_-1-s-0)\" stroke=\"none\" pointer-events=\"all\" style=\"fill: url(&#x22;#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_945df2_a677f7_-1-light-dark_5a30b5_c8a4ff_-1-s-0&#x22;);\"></path><path d=\"M 244.99 56.94 C 245.58 57.49 245.87 58.22 245.87 59.14 C 245.87 60.13 245.51 60.93 244.8 61.53 C 244.08 62.12 243.11 62.42 241.9 62.42 C 240.95 62.42 240 62.22 239.06 61.81 L 239.06 60.59 C 240.17 60.95 241.12 61.14 241.9 61.14 C 242.68 61.14 243.27 60.96 243.69 60.62 C 244.11 60.27 244.32 59.78 244.32 59.14 C 244.32 57.9 243.54 57.29 241.98 57.29 C 241.49 57.29 241.01 57.31 240.53 57.36 L 240.53 56.35 L 243.74 52.85 L 239.21 52.85 L 239.21 51.6 L 245.43 51.6 L 245.43 52.81 L 242.28 56.14 C 242.34 56.13 242.39 56.12 242.44 56.12 L 242.59 56.12 C 243.6 56.12 244.4 56.4 244.99 56.94 M 236.11 56.67 C 236.73 57.26 237.04 58.06 237.04 59.07 C 237.04 60.07 236.68 60.88 235.96 61.5 C 235.24 62.11 234.28 62.42 233.1 62.42 C 232.07 62.42 231.09 62.22 230.19 61.81 L 230.19 60.59 C 231.32 60.95 232.28 61.14 233.09 61.14 C 233.86 61.14 234.46 60.96 234.87 60.61 C 235.28 60.26 235.49 59.75 235.49 59.09 C 235.49 58.37 235.29 57.84 234.91 57.51 C 234.52 57.19 233.89 57.03 233.01 57.03 C 232.38 57.03 231.59 57.08 230.64 57.18 L 230.64 56.17 L 230.93 51.6 L 236.51 51.6 L 236.51 52.85 L 232.22 52.85 L 232.02 55.96 C 232.58 55.86 233.08 55.8 233.53 55.8 C 234.63 55.8 235.49 56.09 236.11 56.67 M 247.59 67.88 C 243.72 68.57 240.33 70.15 238.05 71.44 C 235.77 70.15 232.38 68.57 228.51 67.88 C 227.42 67.68 221.98 66.55 221.98 63.4 C 221.98 61.95 222.5 60.98 223.5 59.26 C 224.7 57.2 226.19 54.63 226.19 50.94 C 226.19 48.3 225.49 45.76 224.13 43.4 C 224.29 43.2 224.45 43 224.62 42.8 C 226.64 43.81 228.75 44.32 230.89 44.32 C 233.51 44.32 235.91 43.64 238.05 42.28 C 240.18 43.64 242.59 44.32 245.21 44.32 C 247.35 44.32 249.46 43.81 251.48 42.8 C 251.65 43 251.81 43.2 251.97 43.4 C 250.6 45.76 249.91 48.3 249.91 50.94 C 249.91 54.63 251.4 57.2 252.6 59.26 C 253.6 60.98 254.12 61.95 254.12 63.4 C 254.12 66.55 248.68 67.68 247.59 67.88 M 251.51 50.94 C 251.51 48.41 252.22 46 253.62 43.75 C 253.8 43.46 253.78 43.09 253.56 42.83 C 253.16 42.33 252.73 41.81 252.31 41.29 C 252.07 40.98 251.65 40.9 251.31 41.09 C 249.34 42.18 247.29 42.73 245.21 42.73 C 242.7 42.73 240.51 42.05 238.5 40.66 C 238.23 40.48 237.87 40.48 237.6 40.66 C 235.59 42.05 233.4 42.73 230.89 42.73 C 228.81 42.73 226.76 42.18 224.79 41.09 C 224.45 40.9 224.03 40.98 223.79 41.29 C 223.37 41.81 222.94 42.33 222.54 42.83 C 222.32 43.09 222.3 43.46 222.48 43.75 C 223.88 46 224.59 48.41 224.59 50.94 C 224.59 54.2 223.22 56.56 222.12 58.46 C 221.04 60.31 220.38 61.54 220.38 63.4 C 220.38 67.71 226.38 69.12 228.22 69.45 C 232.1 70.15 235.49 71.79 237.65 73.05 C 237.77 73.12 237.91 73.15 238.05 73.15 C 238.19 73.15 238.33 73.12 238.45 73.05 C 240.61 71.79 244 70.15 247.88 69.45 C 249.72 69.12 255.71 67.71 255.71 63.4 C 255.71 61.54 255.06 60.31 253.98 58.46 C 252.88 56.56 251.51 54.2 251.51 50.94 M 248.42 72.49 C 243.53 73.37 239.43 76 238.05 76.97 C 236.67 76 232.57 73.37 227.68 72.49 C 218.04 70.76 217.3 65.1 217.3 63.4 C 217.3 60.62 218.39 58.73 219.45 56.91 C 220.46 55.17 221.5 53.37 221.5 50.94 C 221.5 47.09 219.28 44.37 218.18 43.26 C 219.34 41.86 222.25 38.31 223.68 36.46 C 225.86 38.52 228.39 39.64 230.89 39.64 C 233.67 39.64 235.96 38.51 238.05 36.1 C 240.14 38.51 242.43 39.64 245.21 39.64 C 247.71 39.64 250.24 38.52 252.42 36.46 C 253.85 38.31 256.76 41.86 257.92 43.26 C 256.82 44.37 254.6 47.09 254.6 50.94 C 254.6 53.37 255.64 55.17 256.65 56.91 C 257.71 58.73 258.8 60.62 258.8 63.4 C 258.8 65.1 258.06 70.76 248.42 72.49 M 258.03 56.11 C 257.05 54.41 256.19 52.94 256.19 50.94 C 256.19 46.71 259.48 43.98 259.51 43.96 C 259.68 43.82 259.78 43.63 259.81 43.42 C 259.83 43.2 259.76 42.99 259.63 42.83 C 259.57 42.76 254.34 36.42 253.14 34.78 C 253 34.59 252.78 34.47 252.55 34.45 C 252.31 34.43 252.08 34.53 251.91 34.7 C 249.9 36.85 247.52 38.04 245.21 38.04 C 242.65 38.04 240.64 36.9 238.68 34.34 C 238.38 33.95 237.72 33.95 237.42 34.34 C 235.46 36.9 233.45 38.04 230.89 38.04 C 228.58 38.04 226.2 36.85 224.19 34.7 C 224.02 34.53 223.79 34.43 223.55 34.45 C 223.32 34.47 223.1 34.59 222.96 34.78 C 221.76 36.42 216.53 42.76 216.47 42.83 C 216.34 42.99 216.27 43.2 216.3 43.42 C 216.32 43.63 216.42 43.82 216.59 43.96 C 216.62 43.98 219.9 46.71 219.9 50.94 C 219.9 52.94 219.05 54.41 218.07 56.11 C 216.96 58.02 215.7 60.19 215.7 63.4 C 215.7 68.76 220.07 72.75 227.4 74.06 C 232.91 75.05 237.52 78.55 237.56 78.58 C 237.71 78.69 237.88 78.75 238.05 78.75 C 238.22 78.75 238.39 78.69 238.54 78.58 C 238.58 78.55 243.18 75.05 248.7 74.06 C 256.03 72.75 260.4 68.76 260.4 63.4 C 260.4 60.19 259.14 58.02 258.03 56.11\" fill=\"#ffffff\" stroke=\"none\" pointer-events=\"all\" style=\"fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));\"></path></g><g><g><switch><text x=\"238\" y=\"102\" fill=\"#232F3E\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(35, 47, 62), rgb(189, 199, 212));\">Route 53</text></switch></g></g></g><g data-cell-id=\"cloud\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 340.05 0.35 L 1100.05 0.35 L 1100.05 470.35 L 340.05 470.35 Z\" fill=\"none\" stroke=\"#232f3e\" stroke-miterlimit=\"10\" pointer-events=\"none\" style=\"stroke: light-dark(rgb(35, 47, 62), rgb(189, 199, 212));\"></path><path d=\"M 346.14 7.53 C 346.06 7.53 345.98 7.54 345.9 7.54 C 345.55 7.54 345.2 7.58 344.86 7.67 C 344.58 7.74 344.3 7.84 344.03 7.97 C 343.95 8 343.89 8.05 343.84 8.11 C 343.8 8.18 343.79 8.26 343.79 8.34 L 343.79 8.67 C 343.79 8.81 343.83 8.88 343.93 8.88 L 344.04 8.88 L 344.27 8.79 C 344.5 8.7 344.74 8.62 344.99 8.56 C 345.22 8.51 345.46 8.48 345.7 8.48 C 346.09 8.44 346.48 8.55 346.78 8.79 C 347.02 9.09 347.14 9.47 347.1 9.85 L 347.1 10.34 C 346.83 10.28 346.59 10.23 346.34 10.19 C 346.1 10.16 345.86 10.14 345.62 10.14 C 345.03 10.11 344.45 10.29 343.99 10.66 C 343.59 11 343.37 11.5 343.39 12.03 C 343.36 12.5 343.54 12.97 343.87 13.31 C 344.23 13.64 344.71 13.81 345.2 13.79 C 345.96 13.8 346.68 13.46 347.16 12.86 C 347.23 13.01 347.29 13.14 347.36 13.26 C 347.43 13.37 347.51 13.47 347.6 13.56 C 347.65 13.62 347.72 13.66 347.8 13.66 C 347.86 13.66 347.92 13.64 347.97 13.6 L 348.39 13.32 C 348.46 13.28 348.51 13.21 348.52 13.12 C 348.52 13.07 348.5 13.02 348.47 12.97 C 348.39 12.82 348.31 12.66 348.26 12.49 C 348.2 12.3 348.17 12.1 348.18 11.9 L 348.19 9.72 C 348.25 9.12 348.05 8.53 347.64 8.09 C 347.22 7.74 346.69 7.54 346.14 7.53 Z M 359.94 7.54 C 359.83 7.54 359.73 7.54 359.62 7.55 C 359.34 7.55 359.05 7.59 358.78 7.66 C 358.52 7.73 358.28 7.85 358.06 8.01 C 357.87 8.16 357.71 8.34 357.59 8.56 C 357.47 8.78 357.4 9.02 357.41 9.27 C 357.41 9.62 357.53 9.96 357.74 10.24 C 358.02 10.57 358.39 10.81 358.81 10.91 L 359.77 11.22 C 360.02 11.28 360.25 11.4 360.44 11.57 C 360.56 11.7 360.63 11.86 360.62 12.03 C 360.63 12.29 360.5 12.53 360.28 12.66 C 359.98 12.83 359.65 12.91 359.31 12.89 C 359.04 12.89 358.77 12.86 358.51 12.8 C 358.27 12.75 358.03 12.67 357.8 12.57 L 357.63 12.5 C 357.59 12.49 357.55 12.49 357.51 12.5 C 357.41 12.5 357.36 12.57 357.36 12.71 L 357.36 13.04 C 357.36 13.11 357.37 13.17 357.4 13.23 C 357.45 13.32 357.52 13.38 357.61 13.42 C 357.85 13.54 358.11 13.63 358.37 13.69 C 358.71 13.76 359.05 13.8 359.4 13.8 L 359.38 13.81 C 359.71 13.8 360.03 13.75 360.34 13.65 C 360.6 13.57 360.85 13.44 361.06 13.27 C 361.26 13.12 361.43 12.92 361.54 12.69 C 361.66 12.45 361.72 12.18 361.71 11.91 C 361.72 11.58 361.61 11.25 361.41 10.98 C 361.14 10.67 360.78 10.44 360.38 10.34 L 359.44 10.04 C 359.18 9.96 358.93 9.84 358.72 9.67 C 358.59 9.55 358.52 9.38 358.52 9.2 C 358.51 8.96 358.63 8.73 358.84 8.6 C 359.11 8.46 359.41 8.4 359.72 8.41 C 360.16 8.41 360.6 8.49 361.01 8.67 C 361.09 8.72 361.17 8.75 361.26 8.76 C 361.36 8.76 361.41 8.69 361.41 8.54 L 361.41 8.23 C 361.42 8.15 361.4 8.07 361.36 8.01 C 361.3 7.94 361.23 7.89 361.16 7.84 L 360.88 7.73 L 360.5 7.62 L 360.06 7.55 C 360.02 7.55 359.98 7.54 359.94 7.54 Z M 356.07 7.7 C 355.99 7.7 355.91 7.73 355.84 7.77 C 355.77 7.85 355.73 7.94 355.71 8.04 L 354.56 12.49 L 353.52 8.06 C 353.5 7.96 353.46 7.87 353.39 7.79 C 353.31 7.74 353.22 7.72 353.12 7.73 L 352.59 7.73 C 352.49 7.72 352.4 7.74 352.32 7.79 C 352.25 7.86 352.2 7.96 352.19 8.06 L 351.14 12.49 L 350.02 8.05 C 350 7.95 349.96 7.86 349.89 7.79 C 349.81 7.74 349.72 7.71 349.63 7.72 L 348.97 7.72 C 348.86 7.72 348.81 7.78 348.81 7.89 C 348.82 7.98 348.84 8.07 348.87 8.16 L 350.43 13.3 C 350.45 13.4 350.5 13.49 350.57 13.56 C 350.65 13.61 350.74 13.64 350.83 13.63 L 351.41 13.61 C 351.51 13.62 351.6 13.6 351.68 13.54 C 351.75 13.47 351.79 13.38 351.81 13.28 L 352.84 8.99 L 353.87 13.28 C 353.88 13.38 353.93 13.47 354 13.54 C 354.08 13.6 354.17 13.62 354.26 13.61 L 354.83 13.61 C 354.93 13.62 355.02 13.6 355.09 13.55 C 355.16 13.48 355.21 13.38 355.23 13.28 L 356.84 8.14 C 356.89 8.07 356.89 7.98 356.89 7.98 C 356.89 7.94 356.89 7.91 356.89 7.87 C 356.89 7.83 356.87 7.78 356.84 7.75 C 356.81 7.72 356.77 7.7 356.72 7.71 L 356.1 7.71 C 356.09 7.71 356.08 7.71 356.07 7.7 Z M 345.7 10.97 C 345.75 10.97 345.8 10.97 345.85 10.97 L 346.48 10.97 C 346.69 10.99 346.9 11.02 347.11 11.06 L 347.11 11.36 C 347.12 11.56 347.1 11.75 347.05 11.94 C 347.01 12.1 346.93 12.25 346.82 12.36 C 346.66 12.56 346.44 12.71 346.19 12.79 C 345.96 12.87 345.72 12.91 345.48 12.91 C 345.23 12.95 344.98 12.88 344.78 12.72 C 344.6 12.53 344.51 12.27 344.54 12.01 C 344.52 11.71 344.64 11.43 344.86 11.24 C 345.11 11.07 345.4 10.97 345.7 10.97 Z M 361.09 15.07 C 360.39 15.08 359.56 15.24 358.93 15.68 C 358.74 15.81 358.77 15.98 358.99 15.98 C 359.69 15.89 361.26 15.7 361.55 16.06 C 361.83 16.41 361.24 17.89 360.99 18.56 C 360.91 18.76 361.08 18.84 361.26 18.69 C 362.44 17.71 362.77 15.65 362.51 15.35 C 362.37 15.2 361.79 15.06 361.09 15.07 Z M 342.7 15.45 C 342.55 15.47 342.47 15.65 342.63 15.79 C 345.34 18.24 348.87 19.58 352.53 19.56 C 355.42 19.57 358.25 18.71 360.64 17.09 C 361 16.82 360.68 16.42 360.31 16.58 C 357.92 17.59 355.35 18.11 352.76 18.12 C 349.28 18.13 345.87 17.22 342.86 15.49 C 342.8 15.46 342.74 15.45 342.7 15.45 Z M 340.05 0.35 L 365.05 0.35 L 365.05 25.35 L 340.05 25.35 Z\" fill=\"#232f3e\" stroke=\"none\" pointer-events=\"all\" style=\"fill: light-dark(rgb(35, 47, 62), rgb(189, 199, 212));\"></path></g><g><g><switch><text x=\"372\" y=\"18\" fill=\"#232F3E\" font-family=\"Helvetica\" font-size=\"11px\" style=\"fill: light-dark(rgb(35, 47, 62), rgb(189, 199, 212));\">AWS Cloud</text></switch></g></g><g data-cell-id=\"vpc\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 370.05 44.35 L 1070.05 44.35 L 1070.05 444.35 L 370.05 444.35 Z\" fill=\"none\" stroke=\"#8c4fff\" stroke-miterlimit=\"10\" pointer-events=\"none\" style=\"stroke: light-dark(rgb(140, 79, 255), rgb(177, 125, 255));\"></path><path d=\"M 370.05 44.35 L 370.05 69.35 L 395.05 69.35 L 395.05 44.35 Z M 381.04 48.73 C 382.34 48.71 383.56 49.12 384.37 49.9 C 384.83 50.35 385.19 50.86 385.47 51.45 C 385.85 51.17 386.34 51.04 386.94 51.07 C 388.05 51.12 388.9 52.14 389.08 53.57 C 390.02 53.65 390.63 54.12 390.96 55.01 L 390.38 55.23 C 390.11 54.51 389.62 54.18 388.79 54.18 C 388.63 54.18 388.49 54.05 388.48 53.89 C 388.4 52.43 387.6 51.73 386.9 51.69 C 386.31 51.66 385.88 51.83 385.6 52.18 C 385.53 52.28 385.43 52.32 385.31 52.31 C 385.2 52.29 385.1 52.21 385.06 52.1 C 384.81 51.41 384.44 50.84 383.93 50.34 C 382.81 49.26 380.75 49.03 378.91 49.79 C 377.62 50.31 376.79 51.67 376.79 53.23 C 376.79 53.41 376.81 53.67 376.83 53.83 C 376.85 53.99 376.75 54.14 376.6 54.17 C 375.16 54.53 374.42 55.4 374.42 56.75 C 374.42 56.81 374.42 56.88 374.43 56.94 C 374.52 58.5 375.49 59.5 376.92 59.5 L 381.92 59.5 L 381.92 60.12 L 376.92 60.12 C 375.16 60.12 373.91 58.86 373.81 56.99 C 373.8 56.92 373.8 56.83 373.8 56.75 C 373.8 55.18 374.62 54.11 376.19 53.64 C 376.17 53.5 376.17 53.35 376.17 53.23 C 376.17 51.41 377.15 49.83 378.68 49.21 C 379.45 48.89 380.26 48.73 381.04 48.73 Z M 387.26 54.18 C 387.3 54.18 387.34 54.19 387.38 54.21 L 391.1 55.85 C 391.22 55.9 391.29 56.01 391.29 56.14 L 391.29 60.75 C 391.29 60.82 391.31 62.78 390.04 64.07 C 389.33 64.78 388.38 65.15 387.2 65.15 C 386.02 65.15 385.07 64.78 384.38 64.07 C 383.13 62.78 383.17 60.82 383.17 60.74 L 383.17 56.08 C 383.17 55.96 383.24 55.84 383.36 55.8 L 387.13 54.21 C 387.17 54.19 387.21 54.18 387.26 54.18 Z M 387.25 54.84 L 383.79 56.29 L 383.79 60.75 C 383.79 60.77 383.76 62.54 384.83 63.64 C 385.4 64.22 386.2 64.52 387.2 64.52 C 388.2 64.52 389.01 64.22 389.59 63.63 C 390.67 62.53 390.66 60.77 390.66 60.75 L 390.66 56.34 Z M 387.25 55.92 C 387.3 55.92 387.34 55.93 387.38 55.94 L 389.84 57 C 389.96 57.05 390.03 57.16 390.03 57.29 L 390.03 61.37 C 389.92 62.28 389.18 63.91 387.2 63.91 C 385.28 63.91 384.54 62.28 384.42 61.41 L 384.42 57.29 C 384.42 57.16 384.5 57.05 384.61 57 L 387.13 55.94 C 387.17 55.93 387.21 55.92 387.25 55.92 Z M 386.94 56.7 L 385.04 57.5 L 385.04 61.37 C 385.05 61.4 385.32 63.1 386.94 63.27 Z M 387.57 56.7 L 387.57 63.26 C 389.16 63.04 389.4 61.4 389.41 61.33 L 389.41 57.49 Z\" fill=\"#8c4fff\" stroke=\"none\" pointer-events=\"all\" style=\"fill: light-dark(rgb(140, 79, 255), rgb(177, 125, 255));\"></path></g><g><g><switch><text x=\"402\" y=\"62\" fill=\"#8C4FFF\" font-family=\"Helvetica\" font-size=\"11px\" style=\"fill: light-dark(rgb(140, 79, 255), rgb(177, 125, 255));\">VPC 10.0.0.0/16</text></switch></g></g><g data-cell-id=\"pub\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 394.05 84.35 L 694.05 84.35 L 694.05 234.35 L 394.05 234.35 Z\" fill=\"none\" stroke=\"#7aa116\" stroke-miterlimit=\"10\" stroke-dasharray=\"3 3\" pointer-events=\"none\" style=\"stroke: light-dark(rgb(122, 161, 22), rgb(97, 130, 11));\"></path></g><g><g><switch><text x=\"426\" y=\"102\" fill=\"#7AA116\" font-family=\"Helvetica\" font-size=\"11px\" style=\"fill: light-dark(rgb(122, 161, 22), rgb(97, 130, 11));\">Public subnet</text></switch></g></g><g data-cell-id=\"alb\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 514.05 118.35 L 570.05 118.35 L 570.05 174.35 L 514.05 174.35 Z\" fill=\"url(#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_945df2_a677f7_-1-light-dark_5a30b5_c8a4ff_-1-s-0)\" stroke=\"none\" pointer-events=\"all\" style=\"fill: url(&#x22;#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_945df2_a677f7_-1-light-dark_5a30b5_c8a4ff_-1-s-0&#x22;);\"></path><path d=\"M 542.05 123.95 C 529.7 123.95 519.65 134 519.65 146.35 C 519.65 158.7 529.7 168.75 542.05 168.75 C 554.4 168.75 564.45 158.7 564.45 146.35 C 564.45 134 554.4 123.95 542.05 123.95 Z M 542.05 166.71 C 530.82 166.71 521.69 157.58 521.69 146.35 C 521.69 135.12 530.82 125.99 542.05 125.99 C 553.28 125.99 562.41 135.12 562.41 146.35 C 562.41 157.58 553.28 166.71 542.05 166.71 Z M 555.32 152.46 L 553.76 152.46 L 553.76 149.02 C 553.76 148.46 553.3 148 552.74 148 L 550.2 148 L 550.2 144.57 C 550.2 144.01 549.74 143.55 549.18 143.55 L 543.07 143.55 L 543.07 141.13 L 549.18 141.13 C 549.74 141.13 550.2 140.68 550.2 140.11 L 550.2 132.1 C 550.2 131.53 549.74 131.08 549.18 131.08 L 534.92 131.08 C 534.36 131.08 533.91 131.53 533.91 132.1 L 533.91 140.11 C 533.91 140.68 534.36 141.13 534.92 141.13 L 541.03 141.13 L 541.03 143.55 L 534.92 143.55 C 534.36 143.55 533.91 144.01 533.91 144.57 L 533.91 148 L 531.36 148 C 530.8 148 530.34 148.46 530.34 149.02 L 530.34 152.46 L 528.78 152.46 C 528.22 152.46 527.76 152.91 527.76 153.48 L 527.76 157.93 C 527.76 158.49 528.22 158.95 528.78 158.95 L 533.14 158.95 C 533.7 158.95 534.16 158.49 534.16 157.93 L 534.16 153.48 C 534.16 152.91 533.7 152.46 533.14 152.46 L 532.38 152.46 L 532.38 150.04 L 536.58 150.04 L 536.58 152.46 L 535.81 152.46 C 535.25 152.46 534.8 152.91 534.8 153.48 L 534.8 157.93 C 534.8 158.49 535.25 158.95 535.81 158.95 L 540.27 158.95 C 540.83 158.95 541.29 158.49 541.29 157.93 L 541.29 153.48 C 541.29 152.91 540.83 152.46 540.27 152.46 L 538.61 152.46 L 538.61 149.02 C 538.61 148.46 538.16 148 537.6 148 L 535.94 148 L 535.94 145.59 L 548.16 145.59 L 548.16 148 L 546.5 148 C 545.94 148 545.49 148.46 545.49 149.02 L 545.49 152.46 L 543.83 152.46 C 543.27 152.46 542.81 152.91 542.81 153.48 L 542.81 157.93 C 542.81 158.49 543.27 158.95 543.83 158.95 L 548.29 158.95 C 548.85 158.95 549.3 158.49 549.3 157.93 L 549.3 153.48 C 549.3 152.91 548.85 152.46 548.29 152.46 L 547.52 152.46 L 547.52 150.04 L 551.72 150.04 L 551.72 152.46 L 550.9 152.46 C 550.33 152.46 549.88 152.91 549.88 153.48 L 549.88 157.93 C 549.88 158.49 550.33 158.95 550.9 158.95 L 555.32 158.95 C 555.88 158.95 556.34 158.49 556.34 157.93 L 556.34 153.48 C 556.34 152.91 555.88 152.46 555.32 152.46 Z M 535.94 139.1 L 535.94 133.11 L 548.16 133.11 L 548.16 139.1 Z M 529.8 156.91 L 529.8 154.5 L 532.12 154.5 L 532.12 156.91 Z M 536.83 156.91 L 536.83 154.5 L 539.25 154.5 L 539.25 156.91 Z M 544.85 156.91 L 544.85 154.5 L 547.27 154.5 L 547.27 156.91 Z M 551.92 156.91 L 551.92 154.5 L 554.3 154.5 L 554.3 156.91 Z\" fill=\"#ffffff\" stroke=\"none\" pointer-events=\"all\" style=\"fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));\"></path></g><g><g><switch><text x=\"542\" y=\"192\" fill=\"#232F3E\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(35, 47, 62), rgb(189, 199, 212));\">ALB</text></switch></g></g></g></g><g data-cell-id=\"priv\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 394.05 254.35 L 1034.05 254.35 L 1034.05 414.35 L 394.05 414.35 Z\" fill=\"none\" stroke=\"#00a4a6\" stroke-miterlimit=\"10\" stroke-dasharray=\"3 3\" pointer-events=\"none\" style=\"stroke: light-dark(rgb(0, 164, 166), rgb(15, 156, 158));\"></path></g><g><g><switch><text x=\"426\" y=\"272\" fill=\"#00A4A6\" font-family=\"Helvetica\" font-size=\"11px\" style=\"fill: light-dark(rgb(0, 164, 166), rgb(15, 156, 158));\">Private subnet</text></switch></g></g><g data-cell-id=\"sg\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 414.05 284.35 L 674.05 284.35 L 674.05 394.35 L 414.05 394.35 Z\" fill=\"none\" stroke=\"#dd3522\" stroke-miterlimit=\"10\" stroke-dasharray=\"3 3\" pointer-events=\"none\" style=\"stroke: light-dark(rgb(221, 53, 34), rgb(255, 133, 117));\"></path><path d=\"M 414.05 284.35 L 439.05 284.35 L 439.05 309.35 L 414.05 309.35 Z M 426.57 287.56 C 425.45 287.56 424.36 287.98 423.53 288.74 C 422.72 289.46 422.25 290.5 422.25 291.59 L 422.25 294.13 L 419.94 294.13 C 419.85 294.13 419.75 294.17 419.69 294.24 C 419.62 294.3 419.59 294.39 419.59 294.49 L 419.59 305.78 C 419.59 305.98 419.75 306.14 419.94 306.14 L 433.16 306.14 C 433.35 306.14 433.51 305.98 433.51 305.78 L 433.51 294.5 C 433.52 294.41 433.48 294.32 433.41 294.25 C 433.35 294.18 433.26 294.14 433.16 294.14 L 430.86 294.14 L 430.86 291.64 C 430.85 290.56 430.4 289.53 429.61 288.79 C 428.79 288 427.7 287.57 426.57 287.56 Z M 426.56 288.28 C 427.51 288.27 428.42 288.63 429.11 289.28 C 429.77 289.89 430.15 290.75 430.15 291.64 L 430.15 294.14 L 422.93 294.14 L 422.94 291.61 C 422.95 290.71 423.33 289.86 424 289.26 C 424.7 288.62 425.62 288.27 426.56 288.28 Z M 420.29 294.85 L 432.81 294.85 L 432.8 305.42 L 420.29 305.42 Z M 426.56 297.09 C 425.53 297.08 424.66 297.86 424.56 298.88 C 424.47 299.91 425.18 300.83 426.19 301.01 L 426.19 303.79 L 426.91 303.79 L 426.91 301.01 C 427.84 300.84 428.52 300.02 428.53 299.07 C 428.53 297.98 427.65 297.1 426.56 297.09 Z M 426.44 297.8 C 426.48 297.8 426.52 297.8 426.56 297.81 C 426.89 297.81 427.21 297.94 427.45 298.18 C 427.69 298.42 427.82 298.74 427.81 299.07 C 427.82 299.41 427.69 299.73 427.45 299.96 C 427.21 300.2 426.89 300.33 426.56 300.33 C 426.09 300.37 425.65 300.15 425.39 299.77 C 425.13 299.38 425.11 298.88 425.33 298.47 C 425.55 298.06 425.98 297.81 426.44 297.8 Z\" fill=\"#dd3522\" stroke=\"none\" pointer-events=\"all\" style=\"fill: light-dark(rgb(221, 53, 34), rgb(255, 133, 117));\"></path></g><g><g><switch><text x=\"446\" y=\"302\" fill=\"#DD3522\" font-family=\"Helvetica\" font-size=\"11px\" style=\"fill: light-dark(rgb(221, 53, 34), rgb(255, 133, 117));\">Security Group</text></switch></g></g><g data-cell-id=\"ec2\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 514.05 310.35 L 570.05 310.35 L 570.05 366.35 L 514.05 366.35 Z\" fill=\"url(#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_f78e04_b85e00_-1-light-dark_d05c17_e07c41_-1-s-0)\" stroke=\"none\" pointer-events=\"all\" style=\"fill: url(&#x22;#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_f78e04_b85e00_-1-light-dark_d05c17_e07c41_-1-s-0&#x22;);\"></path><path d=\"M 531.65 348.75 L 551.65 348.75 L 551.65 328.75 L 531.65 328.75 Z M 553.25 328.75 L 556.45 328.75 L 556.45 330.35 L 553.25 330.35 L 553.25 333.55 L 556.45 333.55 L 556.45 335.15 L 553.25 335.15 L 553.25 337.55 L 556.45 337.55 L 556.45 339.15 L 553.25 339.15 L 553.25 342.35 L 556.45 342.35 L 556.45 343.95 L 553.25 343.95 L 553.25 347.15 L 556.45 347.15 L 556.45 348.75 L 553.25 348.75 L 553.25 348.86 C 553.25 349.68 552.58 350.35 551.76 350.35 L 551.65 350.35 L 551.65 353.55 L 550.05 353.55 L 550.05 350.35 L 546.85 350.35 L 546.85 353.55 L 545.25 353.55 L 545.25 350.35 L 542.85 350.35 L 542.85 353.55 L 541.25 353.55 L 541.25 350.35 L 538.05 350.35 L 538.05 353.55 L 536.45 353.55 L 536.45 350.35 L 533.25 350.35 L 533.25 353.55 L 531.65 353.55 L 531.65 350.35 L 531.54 350.35 C 530.72 350.35 530.05 349.68 530.05 348.86 L 530.05 348.75 L 527.65 348.75 L 527.65 347.15 L 530.05 347.15 L 530.05 343.95 L 527.65 343.95 L 527.65 342.35 L 530.05 342.35 L 530.05 339.15 L 527.65 339.15 L 527.65 337.55 L 530.05 337.55 L 530.05 335.15 L 527.65 335.15 L 527.65 333.55 L 530.05 333.55 L 530.05 330.35 L 527.65 330.35 L 527.65 328.75 L 530.05 328.75 L 530.05 328.64 C 530.05 327.82 530.72 327.15 531.54 327.15 L 531.65 327.15 L 531.65 323.95 L 533.25 323.95 L 533.25 327.15 L 536.45 327.15 L 536.45 323.95 L 538.05 323.95 L 538.05 327.15 L 541.25 327.15 L 541.25 323.95 L 542.85 323.95 L 542.85 327.15 L 545.25 327.15 L 545.25 323.95 L 546.85 323.95 L 546.85 327.15 L 550.05 327.15 L 550.05 323.95 L 551.65 323.95 L 551.65 327.15 L 551.76 327.15 C 552.58 327.15 553.25 327.82 553.25 328.64 Z M 542.85 359.05 C 542.85 359.11 542.81 359.15 542.75 359.15 L 521.35 359.15 C 521.29 359.15 521.25 359.11 521.25 359.05 L 521.25 337.65 C 521.25 337.59 521.29 337.55 521.35 337.55 L 526.05 337.55 L 526.05 335.95 L 521.35 335.95 C 520.41 335.95 519.65 336.71 519.65 337.65 L 519.65 359.05 C 519.65 359.99 520.41 360.75 521.35 360.75 L 542.75 360.75 C 543.69 360.75 544.45 359.99 544.45 359.05 L 544.45 355.15 L 542.85 355.15 Z M 564.45 317.65 L 564.45 339.05 C 564.45 339.99 563.69 340.75 562.75 340.75 L 558.05 340.75 L 558.05 339.15 L 562.75 339.15 C 562.81 339.15 562.85 339.11 562.85 339.05 L 562.85 317.65 C 562.85 317.59 562.81 317.55 562.75 317.55 L 541.35 317.55 C 541.29 317.55 541.25 317.59 541.25 317.65 L 541.25 322.35 L 539.65 322.35 L 539.65 317.65 C 539.65 316.71 540.41 315.95 541.35 315.95 L 562.75 315.95 C 563.69 315.95 564.45 316.71 564.45 317.65 Z\" fill=\"#ffffff\" stroke=\"none\" pointer-events=\"all\" style=\"fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));\"></path></g><g><g><switch><text x=\"542\" y=\"384\" fill=\"#232F3E\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(35, 47, 62), rgb(189, 199, 212));\">EC2</text></switch></g></g></g></g><g data-cell-id=\"rds\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 714.05 310.35 L 770.05 310.35 L 770.05 366.35 L 714.05 366.35 Z\" fill=\"url(#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_4d72f3_6989f8_-1-light-dark_3334b9_afb0ff_-1-s-0)\" stroke=\"none\" pointer-events=\"all\" style=\"fill: url(&#x22;#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_4d72f3_6989f8_-1-light-dark_3334b9_afb0ff_-1-s-0&#x22;);\"></path><path d=\"M 722.38 317.55 L 729.82 324.98 L 728.68 326.12 L 721.25 318.68 L 721.25 324.75 L 719.65 324.75 L 719.65 316.75 C 719.65 316.31 720.01 315.95 720.45 315.95 L 728.45 315.95 L 728.45 317.55 Z M 764.45 316.75 L 764.45 324.75 L 762.85 324.75 L 762.85 318.68 L 755.42 326.12 L 754.28 324.98 L 761.72 317.55 L 755.65 317.55 L 755.65 315.95 L 763.65 315.95 C 764.09 315.95 764.45 316.31 764.45 316.75 Z M 762.85 351.95 L 764.45 351.95 L 764.45 359.95 C 764.45 360.39 764.09 360.75 763.65 360.75 L 755.65 360.75 L 755.65 359.15 L 761.72 359.15 L 754.28 351.72 L 755.42 350.58 L 762.85 358.02 Z M 762.45 337.72 C 762.45 335.07 759.38 332.44 754.25 330.7 L 754.76 329.19 C 760.66 331.19 764.05 334.3 764.05 337.72 C 764.05 341.15 760.66 344.26 754.76 346.25 L 754.25 344.74 C 759.38 343 762.45 340.38 762.45 337.72 Z M 721.69 337.72 C 721.69 340.26 724.56 342.82 729.37 344.55 L 728.83 346.06 C 723.28 344.05 720.09 341.02 720.09 337.72 C 720.09 334.43 723.28 331.39 728.83 329.38 L 729.37 330.89 C 724.56 332.62 721.69 335.18 721.69 337.72 Z M 729.82 351.72 L 722.38 359.15 L 728.45 359.15 L 728.45 360.75 L 720.45 360.75 C 720.01 360.75 719.65 360.39 719.65 359.95 L 719.65 351.95 L 721.25 351.95 L 721.25 358.02 L 728.68 350.58 Z M 742.05 331.38 C 736.33 331.38 733.25 329.9 733.25 329.3 C 733.25 328.69 736.33 327.22 742.05 327.22 C 747.77 327.22 750.85 328.69 750.85 329.3 C 750.85 329.9 747.77 331.38 742.05 331.38 Z M 742.07 337.57 C 736.6 337.57 733.25 336.08 733.25 335.27 L 733.25 331.38 C 735.22 332.46 738.72 332.98 742.05 332.98 C 745.38 332.98 748.88 332.46 750.85 331.38 L 750.85 335.27 C 750.85 336.08 747.52 337.57 742.07 337.57 Z M 742.07 343.68 C 736.6 343.68 733.25 342.19 733.25 341.37 L 733.25 337.44 C 735.19 338.58 738.64 339.17 742.07 339.17 C 745.48 339.17 748.91 338.58 750.85 337.44 L 750.85 341.37 C 750.85 342.19 747.52 343.68 742.07 343.68 Z M 742.05 349.16 C 736.36 349.16 733.25 347.63 733.25 346.85 L 733.25 343.55 C 735.19 344.69 738.64 345.28 742.07 345.28 C 745.48 345.28 748.91 344.69 750.85 343.55 L 750.85 346.85 C 750.85 347.63 747.74 349.16 742.05 349.16 Z M 742.05 325.62 C 737.04 325.62 731.65 326.77 731.65 329.3 L 731.65 346.85 C 731.65 349.42 736.88 350.76 742.05 350.76 C 747.22 350.76 752.45 349.42 752.45 346.85 L 752.45 329.3 C 752.45 326.77 747.06 325.62 742.05 325.62 Z\" fill=\"#ffffff\" stroke=\"none\" pointer-events=\"all\" style=\"fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));\"></path></g><g><g><switch><text x=\"742\" y=\"384\" fill=\"#232F3E\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(35, 47, 62), rgb(189, 199, 212));\">RDS</text></switch></g></g></g><g data-cell-id=\"redis\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 834.05 310.35 L 890.05 310.35 L 890.05 366.35 L 834.05 366.35 Z\" fill=\"url(#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_4d72f3_6989f8_-1-light-dark_3334b9_afb0ff_-1-s-0)\" stroke=\"none\" pointer-events=\"all\" style=\"fill: url(&#x22;#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_4d72f3_6989f8_-1-light-dark_3334b9_afb0ff_-1-s-0&#x22;);\"></path><path d=\"M 870.85 355.19 L 870.85 350.51 C 868.82 351.82 865.17 352.44 861.69 352.44 C 857.9 352.44 854.95 351.78 853.25 350.64 L 853.25 355.19 C 853.25 356.55 856.41 357.95 861.69 357.95 C 867.09 357.95 870.85 356.5 870.85 355.19 Z M 861.69 345.33 C 857.9 345.33 854.95 344.67 853.25 343.53 L 853.25 348.1 C 853.27 349.45 856.43 350.84 861.69 350.84 C 867.07 350.84 870.83 349.4 870.85 348.1 L 870.85 343.4 C 868.82 344.71 865.17 345.33 861.69 345.33 Z M 870.85 340.98 L 870.85 335.57 C 868.82 336.88 865.17 337.5 861.69 337.5 C 857.9 337.5 854.95 336.84 853.25 335.71 L 853.25 340.99 C 853.27 342.34 856.43 343.73 861.69 343.73 C 867.07 343.73 870.83 342.28 870.85 340.98 Z M 853.25 333.14 C 853.25 333.15 853.25 333.15 853.25 333.15 L 853.25 333.15 L 853.25 333.16 C 853.27 334.51 856.43 335.9 861.69 335.9 C 867.57 335.9 870.83 334.28 870.85 333.16 L 870.85 333.15 L 870.85 333.15 C 870.85 333.15 870.85 333.15 870.85 333.14 C 870.85 332.02 867.59 330.39 861.69 330.39 C 856.41 330.39 853.25 331.79 853.25 333.14 Z M 872.45 333.16 L 872.45 340.97 L 872.45 340.97 C 872.45 340.98 872.45 340.98 872.45 340.99 L 872.45 348.08 L 872.45 348.08 C 872.45 348.09 872.45 348.1 872.45 348.1 L 872.45 355.19 C 872.45 358.19 866.87 359.55 861.69 359.55 C 855.59 359.55 851.65 357.84 851.65 355.19 L 851.65 348.11 C 851.65 348.1 851.65 348.09 851.65 348.08 L 851.65 348.08 L 851.65 340.99 C 851.65 340.99 851.65 340.98 851.65 340.97 L 851.65 340.97 L 851.65 333.17 C 851.65 333.16 851.65 333.15 851.65 333.14 C 851.65 330.5 855.59 328.79 861.69 328.79 C 866.88 328.79 872.45 330.15 872.45 333.14 C 872.45 333.15 872.45 333.16 872.45 333.16 Z M 883.65 322.85 C 884.09 322.85 884.45 322.49 884.45 322.05 L 884.45 317.95 C 884.45 317.51 884.09 317.15 883.65 317.15 L 840.45 317.15 C 840.01 317.15 839.65 317.51 839.65 317.95 L 839.65 322.05 C 839.65 322.49 840.01 322.85 840.45 322.85 C 841.43 322.85 842.22 323.64 842.22 324.61 C 842.22 325.58 841.43 326.37 840.45 326.37 C 840.01 326.37 839.65 326.73 839.65 327.17 L 839.65 343.55 C 839.65 343.99 840.01 344.35 840.45 344.35 L 848.45 344.35 L 848.45 342.75 L 844.45 342.75 L 844.45 340.35 L 848.45 340.35 L 848.45 338.75 L 843.65 338.75 C 843.21 338.75 842.85 339.11 842.85 339.55 L 842.85 342.75 L 841.25 342.75 L 841.25 327.87 C 842.72 327.51 843.82 326.18 843.82 324.61 C 843.82 323.03 842.72 321.7 841.25 321.34 L 841.25 318.75 L 882.85 318.75 L 882.85 321.34 C 881.38 321.7 880.28 323.03 880.28 324.61 C 880.28 326.18 881.38 327.51 882.85 327.87 L 882.85 342.75 L 881.25 342.75 L 881.25 339.55 C 881.25 339.11 880.89 338.75 880.45 338.75 L 875.65 338.75 L 875.65 340.35 L 879.65 340.35 L 879.65 342.75 L 875.65 342.75 L 875.65 344.35 L 883.65 344.35 C 884.09 344.35 884.45 343.99 884.45 343.55 L 884.45 327.17 C 884.45 326.73 884.09 326.37 883.65 326.37 C 882.67 326.37 881.88 325.58 881.88 324.61 C 881.88 323.64 882.67 322.85 883.65 322.85 Z M 852.45 328.35 L 852.45 321.95 C 852.45 321.51 852.09 321.15 851.65 321.15 L 846.85 321.15 C 846.41 321.15 846.05 321.51 846.05 321.95 L 846.05 335.55 C 846.05 335.99 846.41 336.35 846.85 336.35 L 849.25 336.35 L 849.25 334.75 L 847.65 334.75 L 847.65 322.75 L 850.85 322.75 L 850.85 328.35 Z M 876.45 334.75 L 875.65 334.75 L 875.65 336.35 L 877.25 336.35 C 877.69 336.35 878.05 335.99 878.05 335.55 L 878.05 321.95 C 878.05 321.51 877.69 321.15 877.25 321.15 L 872.45 321.15 C 872.01 321.15 871.65 321.51 871.65 321.95 L 871.65 328.35 L 873.25 328.35 L 873.25 322.75 L 876.45 322.75 Z M 870.05 327.55 L 870.05 321.95 C 870.05 321.51 869.69 321.15 869.25 321.15 L 863.65 321.15 C 863.21 321.15 862.85 321.51 862.85 321.95 L 862.85 326.75 L 864.45 326.75 L 864.45 322.75 L 868.45 322.75 L 868.45 327.55 Z M 859.65 326.75 L 859.65 322.75 L 855.65 322.75 L 855.65 327.55 L 854.05 327.55 L 854.05 321.95 C 854.05 321.51 854.41 321.15 854.85 321.15 L 860.45 321.15 C 860.89 321.15 861.25 321.51 861.25 321.95 L 861.25 326.75 Z\" fill=\"#ffffff\" stroke=\"none\" pointer-events=\"all\" style=\"fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));\"></path></g><g><g><switch><text x=\"862\" y=\"384\" fill=\"#232F3E\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(35, 47, 62), rgb(189, 199, 212));\">ElastiCache (Redis)</text></switch></g></g></g><g data-cell-id=\"mq\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 954.05 310.35 L 1010.05 310.35 L 1010.05 366.35 L 954.05 366.35 Z\" fill=\"url(#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_f54749_ff7072_-1-light-dark_bc1356_ff97d1_-1-s-0)\" stroke=\"none\" pointer-events=\"all\" style=\"fill: url(&#x22;#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_f54749_ff7072_-1-light-dark_bc1356_ff97d1_-1-s-0&#x22;);\"></path><path d=\"M 964.84 348.16 C 964.01 346.74 963.36 345.23 962.92 343.65 L 964.54 343.19 C 964.95 344.63 965.54 346.01 966.3 347.3 Z M 964.54 333.51 L 962.92 333.05 C 963.35 331.51 963.98 330.02 964.79 328.63 L 966.25 329.48 C 965.52 330.74 964.94 332.1 964.54 333.51 Z M 974.37 322.15 L 973.67 320.61 C 976.18 319.48 978.86 318.91 981.63 318.91 C 984.4 318.91 987.07 319.48 989.58 320.61 L 988.89 322.15 C 986.6 321.12 984.16 320.6 981.63 320.6 C 979.1 320.6 976.65 321.12 974.37 322.15 Z M 998.47 328.63 C 999.27 330.02 999.9 331.51 1000.34 333.05 L 998.71 333.51 C 998.31 332.1 997.74 330.74 997 329.48 Z M 998.71 343.19 L 1000.34 343.65 C 999.9 345.2 999.27 346.68 998.47 348.07 L 997 347.22 C 997.74 345.96 998.31 344.6 998.71 343.19 Z M 988.89 354.55 L 989.58 356.1 C 987.07 357.22 984.4 357.79 981.63 357.79 C 978.86 357.79 976.18 357.22 973.67 356.1 L 974.37 354.55 C 976.65 355.58 979.1 356.1 981.63 356.1 C 984.16 356.1 986.6 355.58 988.89 354.55 Z M 968.95 354.41 C 967.55 354.41 966.41 353.27 966.41 351.87 C 966.41 350.48 967.55 349.34 968.95 349.34 C 970.35 349.34 971.48 350.48 971.48 351.87 C 971.48 353.27 970.35 354.41 968.95 354.41 Z M 968.95 347.65 C 966.62 347.65 964.72 349.54 964.72 351.87 C 964.72 354.2 966.62 356.1 968.95 356.1 C 971.28 356.1 973.17 354.2 973.17 351.87 C 973.17 349.54 971.28 347.65 968.95 347.65 Z M 994.31 354.41 C 992.91 354.41 991.77 353.27 991.77 351.87 C 991.77 350.48 992.91 349.34 994.31 349.34 C 995.71 349.34 996.84 350.48 996.84 351.87 C 996.84 353.27 995.71 354.41 994.31 354.41 Z M 994.31 347.65 C 991.98 347.65 990.08 349.54 990.08 351.87 C 990.08 354.2 991.98 356.1 994.31 356.1 C 996.64 356.1 998.53 354.2 998.53 351.87 C 998.53 349.54 996.64 347.65 994.31 347.65 Z M 961.34 338.35 C 961.34 336.95 962.48 335.81 963.88 335.81 C 965.28 335.81 966.41 336.95 966.41 338.35 C 966.41 339.75 965.28 340.89 963.88 340.89 C 962.48 340.89 961.34 339.75 961.34 338.35 Z M 968.02 339.2 L 971.99 339.2 L 970.89 340.29 L 972.08 341.49 L 974.62 338.96 C 974.78 338.81 974.86 338.59 974.87 338.37 C 974.87 338.14 974.78 337.93 974.62 337.77 L 972.08 335.22 L 970.88 336.41 L 971.97 337.5 L 968.02 337.5 C 967.63 335.58 965.92 334.12 963.88 334.12 C 961.55 334.12 959.65 336.02 959.65 338.35 C 959.65 340.68 961.55 342.58 963.88 342.58 C 965.92 342.58 967.63 341.12 968.02 339.2 Z M 1000.22 340.89 C 998.83 340.89 997.69 339.75 997.69 338.35 C 997.69 336.95 998.83 335.81 1000.22 335.81 C 1001.62 335.81 1002.76 336.95 1002.76 338.35 C 1002.76 339.75 1001.62 340.89 1000.22 340.89 Z M 1000.22 334.12 C 997.89 334.12 996 336.02 996 338.35 C 996 340.68 997.89 342.58 1000.22 342.58 C 1002.55 342.58 1004.45 340.68 1004.45 338.35 C 1004.45 336.02 1002.55 334.12 1000.22 334.12 Z M 968.95 322.29 C 970.35 322.29 971.48 323.43 971.48 324.83 C 971.48 326.22 970.35 327.36 968.95 327.36 C 967.55 327.36 966.41 326.22 966.41 324.83 C 966.41 323.43 967.55 322.29 968.95 322.29 Z M 968.95 329.05 C 971.28 329.05 973.17 327.16 973.17 324.83 C 973.17 322.5 971.28 320.6 968.95 320.6 C 966.62 320.6 964.72 322.5 964.72 324.83 C 964.72 327.16 966.62 329.05 968.95 329.05 Z M 994.31 322.29 C 995.71 322.29 996.84 323.43 996.84 324.83 C 996.84 326.22 995.71 327.36 994.31 327.36 C 992.91 327.36 991.77 326.22 991.77 324.83 C 991.77 323.43 992.91 322.29 994.31 322.29 Z M 994.31 329.05 C 996.64 329.05 998.53 327.16 998.53 324.83 C 998.53 322.5 996.64 320.6 994.31 320.6 C 991.98 320.6 990.08 322.5 990.08 324.83 C 990.08 327.16 991.98 329.05 994.31 329.05 Z M 990.42 340.21 L 991.77 339.2 L 988.39 339.2 L 988.39 337.5 L 991.77 337.5 L 990.42 336.49 L 991.43 335.14 L 994.81 337.67 C 995.03 337.83 995.15 338.08 995.15 338.35 C 995.15 338.61 995.03 338.87 994.81 339.03 L 991.43 341.56 Z M 986.58 343.31 C 985.06 342.72 983.34 342.43 981.63 342.43 C 979.91 342.43 978.2 342.72 976.68 343.31 C 977.25 341.84 977.56 340.14 977.56 338.35 C 977.56 336.56 977.25 334.86 976.68 333.39 C 979.72 334.57 983.54 334.57 986.58 333.39 C 986 334.86 985.69 336.56 985.69 338.35 C 985.69 340.14 986 341.84 986.58 343.31 Z M 989.83 345.36 C 988.3 343.83 987.38 341.21 987.38 338.35 C 987.38 335.5 988.3 332.88 989.83 331.34 C 990 331.18 990.08 330.96 990.08 330.74 C 990.08 330.53 990 330.31 989.83 330.14 C 989.5 329.82 988.97 329.82 988.64 330.14 C 985.36 333.42 977.89 333.42 974.62 330.14 C 974.29 329.82 973.75 329.82 973.42 330.14 C 973.26 330.31 973.17 330.53 973.17 330.74 C 973.17 330.96 973.26 331.18 973.42 331.34 C 974.96 332.88 975.87 335.5 975.87 338.35 C 975.87 341.21 974.96 343.83 973.42 345.36 C 973.26 345.53 973.17 345.74 973.17 345.96 C 973.17 346.17 973.26 346.39 973.42 346.56 C 973.75 346.89 974.29 346.89 974.62 346.56 C 977.89 343.28 985.36 343.28 988.64 346.56 C 988.8 346.72 989.02 346.8 989.23 346.8 C 989.45 346.8 989.67 346.72 989.83 346.56 C 990 346.39 990.08 346.17 990.08 345.96 C 990.08 345.74 990 345.53 989.83 345.36 Z\" fill=\"#ffffff\" stroke=\"none\" pointer-events=\"all\" style=\"fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));\"></path></g><g><g><switch><text x=\"982\" y=\"384\" fill=\"#232F3E\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(35, 47, 62), rgb(189, 199, 212));\">Amazon MQ</text></switch></g></g></g></g></g></g><g data-cell-id=\"cicd\"><g transform=\"translate(0.5,0.5)\"><rect x=\"340.05\" y=\"536.35\" width=\"760\" height=\"150\" rx=\"22.5\" ry=\"22.5\" fill=\"none\" stroke=\"#b4afa3\" stroke-dasharray=\"3 3\" pointer-events=\"none\" style=\"stroke: light-dark(rgb(180, 175, 163), rgb(91, 86, 76));\"></rect></g><g><g><switch><text x=\"354\" y=\"556\" fill=\"#6f6b63\" font-family=\"Helvetica\" font-size=\"11px\" style=\"fill: light-dark(rgb(111, 107, 99), rgb(148, 145, 138));\">CI / CD</text></switch></g></g><g data-cell-id=\"gh\"><g transform=\"translate(0.5,0.5)\"><rect x=\"370.05\" y=\"582.35\" width=\"110\" height=\"48\" rx=\"5.76\" ry=\"5.76\" fill=\"#ffffff\" stroke=\"#c3bdb1\" pointer-events=\"all\" style=\"fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(195, 189, 177), rgb(80, 74, 64));\"></rect></g><g><g><switch><text x=\"425\" y=\"603\" fill=\"#2a2a2a\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(42, 42, 42), rgb(201, 201, 201));\"><tspan x=\"425\" y=\"603\">GitHub</tspan><tspan x=\"425\" y=\"616\">(main push)</tspan></text></switch></g></g></g><g data-cell-id=\"pipe\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 530.05 576.35 L 586.05 576.35 L 586.05 632.35 L 530.05 632.35 Z\" fill=\"url(#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_4d72f3_6989f8_-1-light-dark_3334b9_afb0ff_-1-s-0)\" stroke=\"none\" pointer-events=\"all\" style=\"fill: url(&#x22;#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_4d72f3_6989f8_-1-light-dark_3334b9_afb0ff_-1-s-0&#x22;);\"></path><path d=\"M 576 581.95 L 540.1 581.95 C 537.65 581.95 535.65 583.95 535.65 586.4 L 535.65 597.05 C 535.65 599.5 537.65 601.5 540.1 601.5 L 541.35 601.5 L 541.35 625.94 C 541.35 626.39 541.72 626.75 542.17 626.75 L 573.12 626.75 C 573.57 626.75 573.93 626.39 573.93 625.94 L 573.93 601.5 L 576 601.5 C 578.45 601.5 580.45 599.5 580.45 597.05 L 580.45 586.4 C 580.45 583.95 578.45 581.95 576 581.95 Z M 542.98 625.12 L 542.98 601.5 L 572.3 601.5 L 572.3 625.12 Z M 576 599.87 L 540.1 599.87 C 538.55 599.87 537.28 598.6 537.28 597.05 L 537.28 596.61 L 547.05 596.61 L 547.05 594.98 L 537.28 594.98 L 537.28 586.4 C 537.28 584.84 538.55 583.58 540.1 583.58 L 576 583.58 C 577.55 583.58 578.82 584.84 578.82 586.4 L 578.82 594.98 L 556.01 594.98 L 556.01 596.61 L 578.82 596.61 L 578.82 597.05 C 578.82 598.6 577.55 599.87 576 599.87 Z M 545.84 612.94 C 545.84 612.71 545.94 612.48 546.11 612.33 L 551.28 607.76 L 552.35 608.98 L 547.89 612.93 L 552.33 616.76 L 551.27 617.99 L 546.12 613.55 C 545.94 613.4 545.84 613.18 545.84 612.94 Z M 562.18 616.8 L 566.66 612.87 L 562.18 608.99 L 563.25 607.76 L 568.43 612.25 C 568.61 612.4 568.71 612.63 568.71 612.86 C 568.71 613.1 568.61 613.32 568.43 613.48 L 563.25 618.02 Z M 554.93 621.18 L 553.42 620.57 L 559.6 605.48 L 561.11 606.1 Z M 549.5 596.61 L 553.57 596.61 L 553.57 594.98 L 549.5 594.98 Z\" fill=\"#ffffff\" stroke=\"none\" pointer-events=\"all\" style=\"fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));\"></path></g><g><g><switch><text x=\"558\" y=\"650\" fill=\"#232F3E\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(35, 47, 62), rgb(189, 199, 212));\">CodePipeline</text></switch></g></g></g><g data-cell-id=\"build\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 670.05 576.35 L 726.05 576.35 L 726.05 632.35 L 670.05 632.35 Z\" fill=\"url(#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_4d72f3_6989f8_-1-light-dark_3334b9_afb0ff_-1-s-0)\" stroke=\"none\" pointer-events=\"all\" style=\"fill: url(&#x22;#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_4d72f3_6989f8_-1-light-dark_3334b9_afb0ff_-1-s-0&#x22;);\"></path><path d=\"M 717.64 590.47 L 713.05 586.26 L 708.45 590.47 Z M 711.29 585.79 L 701.97 585.8 L 706.95 589.76 Z M 707.09 599.34 L 699.75 602.04 L 713.86 602.04 Z M 696.32 617.46 L 716.99 617.46 L 716.99 603.58 L 696.32 603.58 Z M 705.36 590.47 L 700.28 586.43 L 695.24 590.47 Z M 693.63 589.78 L 698.6 585.81 L 688.69 585.82 Z M 692.02 590.47 L 686.95 586.4 L 681.88 590.47 L 689.43 590.47 Z M 688.66 592.01 L 682.47 592.01 L 688.66 598.15 Z M 688.66 600.56 L 681.39 607.18 L 688.66 614.29 Z M 688.66 616.8 L 681.01 624.28 L 681.01 624.4 L 688.66 624.4 Z M 681.01 608.95 L 681.01 622.13 L 687.75 615.54 Z M 681.01 605.45 L 687.7 599.36 L 681.01 592.72 Z M 680.24 589.81 L 685.2 585.83 L 680.24 585.84 Z M 678.71 584.3 L 677.18 584.3 L 677.18 592.01 L 678.71 592.01 L 678.71 591.24 L 678.71 585.07 Z M 720.34 591.51 C 720.22 591.81 719.94 592.01 719.62 592.01 L 707.8 592.01 L 707.8 598.18 L 718.05 602.09 L 718.04 602.09 C 718.32 602.21 718.52 602.48 718.52 602.81 L 718.52 618.23 C 718.52 618.66 718.18 619.01 717.76 619.01 L 695.55 619.01 C 695.13 619.01 694.79 618.66 694.79 618.23 L 694.79 602.81 C 694.79 602.48 695 602.2 695.29 602.09 L 695.29 602.09 L 706.27 598.18 L 706.27 592.01 L 690.2 592.01 L 690.2 625.18 C 690.2 625.6 689.85 625.95 689.43 625.95 L 680.24 625.95 C 679.82 625.95 679.48 625.6 679.48 625.18 L 679.48 593.55 L 676.42 593.55 C 675.99 593.55 675.65 593.21 675.65 592.78 L 675.65 583.52 C 675.65 583.1 675.99 582.75 676.42 582.75 L 679.48 582.75 C 679.9 582.75 680.24 583.1 680.24 583.52 L 680.24 584.29 L 713.16 584.3 L 720.14 590.67 C 720.37 590.88 720.45 591.22 720.34 591.51 Z M 704.45 616.16 L 708.91 605.96 L 707.51 605.33 L 703.05 615.54 Z M 708.64 612.75 L 709.63 613.93 L 712.93 611.1 C 713.1 610.97 713.19 610.76 713.2 610.55 C 713.21 610.34 713.13 610.13 712.98 609.97 L 710.22 607.15 L 709.13 608.24 L 711.31 610.47 Z M 698.69 610.51 C 698.52 610.35 698.43 610.13 698.44 609.9 C 698.45 609.67 698.57 609.46 698.75 609.32 L 702.51 606.52 L 703.42 607.76 L 700.41 610 L 702.94 612.34 L 701.9 613.47 Z\" fill=\"#ffffff\" stroke=\"none\" pointer-events=\"all\" style=\"fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));\"></path></g><g><g><switch><text x=\"698\" y=\"650\" fill=\"#232F3E\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(35, 47, 62), rgb(189, 199, 212));\">CodeBuild</text></switch></g></g></g><g data-cell-id=\"ecr\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 810.05 576.35 L 866.05 576.35 L 866.05 632.35 L 810.05 632.35 Z\" fill=\"url(#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_f78e04_b85e00_-1-light-dark_d05c17_e07c41_-1-s-0)\" stroke=\"none\" pointer-events=\"all\" style=\"fill: url(&#x22;#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_f78e04_b85e00_-1-light-dark_d05c17_e07c41_-1-s-0&#x22;);\"></path><path d=\"M 836.71 602.08 C 836.32 602.31 836.08 602.73 836.08 603.18 L 836.08 624.96 L 819.6 615.75 L 819.6 594.34 L 838.09 583.62 L 854.52 591.76 Z M 856.43 591.74 C 856.43 591.29 856.19 590.87 855.76 590.62 L 838.71 582.18 C 838.33 581.95 837.84 581.95 837.45 582.18 L 818.66 593.06 C 818.27 593.29 818.03 593.71 818.03 594.16 L 818.03 615.93 C 818.03 616.38 818.27 616.8 818.67 617.03 L 835.75 626.58 C 835.95 626.69 836.17 626.75 836.38 626.75 C 836.6 626.75 836.82 626.69 837.01 626.58 C 837.4 626.36 837.64 625.94 837.64 625.49 L 837.64 603.36 L 855.8 592.84 C 856.19 592.61 856.43 592.19 856.43 591.74 Z M 856.47 615.8 L 841.57 624.91 L 841.57 616.75 L 849.34 611.74 L 849.39 611.38 C 849.41 611.29 849.41 611.29 849.41 610.87 L 849.44 601.13 L 856.5 597.04 Z M 857.44 595.41 C 857.05 595.18 856.56 595.18 856.17 595.41 L 848.66 599.76 C 848.42 599.89 847.87 600.19 847.87 600.81 L 847.84 610.83 L 840.68 615.45 C 840.25 615.71 840 616.11 840 616.54 L 840 625.42 C 840 625.87 840.24 626.27 840.64 626.5 C 840.85 626.63 841.08 626.69 841.31 626.69 C 841.54 626.69 841.77 626.63 841.98 626.51 L 857.41 617.07 C 857.8 616.84 858.04 616.42 858.04 615.97 L 858.07 596.5 C 858.07 596.05 857.83 595.63 857.44 595.41 Z\" fill=\"#ffffff\" stroke=\"none\" pointer-events=\"all\" style=\"fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));\"></path></g><g><g><switch><text x=\"838\" y=\"650\" fill=\"#232F3E\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(35, 47, 62), rgb(189, 199, 212));\">ECR</text></switch></g></g></g><g data-cell-id=\"deploy\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 950.05 576.35 L 1006.05 576.35 L 1006.05 632.35 L 950.05 632.35 Z\" fill=\"url(#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_4d72f3_6989f8_-1-light-dark_3334b9_afb0ff_-1-s-0)\" stroke=\"none\" pointer-events=\"all\" style=\"fill: url(&#x22;#drawio-svg-YmAIO1mEbnman6gZbst5-gradient-light-dark_4d72f3_6989f8_-1-light-dark_3334b9_afb0ff_-1-s-0&#x22;);\"></path><path d=\"M 978.08 581.96 C 965.76 581.96 956.13 591.34 955.66 603.79 C 955.65 604.08 955.82 604.35 956.06 604.5 L 964.11 609.79 L 964.97 608.46 L 957.35 603.46 C 957.75 601.77 958.99 600.49 960.77 599.84 C 961.62 599.54 962.59 599.37 963.64 599.37 C 965.38 599.37 967 600.02 968.21 601.21 L 968.35 601.35 C 969.44 602.4 970.08 604.33 970.08 604.34 C 970.08 604.39 971.15 608.39 971.15 608.39 L 972.67 607.97 L 971.65 604.17 L 971.66 604.08 C 972.04 600.61 975.21 599.37 978.06 599.37 C 979.79 599.37 981.41 600.02 982.63 601.21 C 982.63 601.21 984.34 602.52 984.47 604.07 L 984.47 604.18 L 983.44 607.97 L 984.96 608.39 L 986.03 604.44 C 986.04 604.41 986.04 604.38 986.04 604.34 C 986.26 601.31 988.78 599.37 992.48 599.37 C 994.2 599.37 995.82 600.02 997.03 601.21 C 997.98 602.13 998.64 602.82 998.83 603.51 L 992.04 608.28 L 992.94 609.58 L 1000.11 604.53 C 1000.31 604.38 1000.45 603.82 1000.45 603.79 C 1000.23 591.34 990.63 581.96 978.08 581.96 Z M 970.11 600.87 C 969.9 600.65 969.68 600.43 969.45 600.21 L 969.3 600.07 C 967.79 598.6 965.79 597.79 963.64 597.79 C 961.21 597.79 959.16 598.52 957.75 599.81 C 959.61 591.39 966.22 585.13 974.69 583.81 C 972.16 586.78 970.41 593.07 970.11 600.87 Z M 984 600.34 L 983.72 600.07 C 982.21 598.6 980.2 597.79 978.06 597.79 C 975.34 597.79 973.12 598.7 971.71 600.26 C 972.23 590.28 975.29 583.55 978.07 583.54 C 978.07 583.54 978.08 583.54 978.08 583.54 C 980.9 583.56 984.02 590.52 984.45 600.79 C 984.3 600.64 984.16 600.49 984 600.34 Z M 998.13 600.07 C 996.62 598.6 994.61 597.79 992.48 597.79 C 989.69 597.79 987.42 598.78 986.01 600.43 C 985.67 592.83 983.93 586.72 981.45 583.81 C 990.33 585.15 997.08 591.72 998.57 600.51 C 998.42 600.36 998.27 600.21 998.13 600.07 Z M 970.9 618.23 C 970.73 618.06 970.65 617.84 970.66 617.61 C 970.68 617.37 970.79 617.16 970.97 617.02 L 974.7 614.21 L 975.65 615.48 L 972.65 617.74 L 975.33 620.37 L 974.23 621.5 Z M 984.37 618.5 L 981.69 615.87 L 982.79 614.74 L 986.13 618.01 C 986.29 618.17 986.38 618.4 986.36 618.63 C 986.35 618.86 986.23 619.08 986.05 619.22 L 982.32 622.03 L 981.38 620.76 Z M 975.38 623.76 L 980.14 612.86 L 981.58 613.5 L 976.82 624.4 Z M 989.45 610.1 L 967.45 610.1 C 967.01 610.1 966.66 610.45 966.66 610.89 L 966.66 625.95 C 966.66 626.39 967.01 626.74 967.45 626.74 L 989.45 626.74 C 989.88 626.74 990.24 626.39 990.24 625.95 L 990.24 610.89 C 990.24 610.45 989.88 610.1 989.45 610.1 Z M 968.23 625.16 L 968.23 611.68 L 988.66 611.68 L 988.66 625.16 Z\" fill=\"#ffffff\" stroke=\"none\" pointer-events=\"all\" style=\"fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));\"></path></g><g><g><switch><text x=\"978\" y=\"650\" fill=\"#232F3E\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(35, 47, 62), rgb(189, 199, 212));\">CodeDeploy</text></switch></g></g></g></g><g data-cell-id=\"n1\"><g><rect x=\"0.05\" y=\"106.35\" width=\"190\" height=\"32\" fill=\"none\" stroke=\"none\" pointer-events=\"all\"></rect></g><g><g><switch><text x=\"2\" y=\"123\" fill=\"#8e8981\" font-family=\"Helvetica\" font-size=\"10px\" style=\"fill: light-dark(rgb(142, 137, 129), rgb(122, 118, 111));\"><tspan x=\"2\" y=\"123\">한 대만 그렸습니다 —</tspan><tspan x=\"2\" y=\"135\">실제로는 가용영역 둘에 나눠 둡니다</tspan></text></switch></g></g></g><g data-cell-id=\"e1\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 140.05 56.35 L 201.93 56.35\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 208.93 56.35 L 201.93 58.68 L 201.93 54.02 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g><g><g><switch><text x=\"175\" y=\"59\" fill=\"#6f6b63\" font-family=\"Helvetica\" font-size=\"10px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(111, 107, 99), rgb(148, 145, 138));\">HTTPS</text></switch></g></g></g><g data-cell-id=\"e2\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 266.05 56.35 L 520.11 56.35 L 520.11 118.35 L 533.93 118.35\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 540.93 118.35 L 533.93 120.68 L 533.93 116.02 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g></g><g data-cell-id=\"e3\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 542.05 174.35 L 542.05 302.23\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 542.05 309.23 L 539.72 302.23 L 544.38 302.23 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g></g><g data-cell-id=\"e4\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 570.05 338.35 L 705.93 338.35\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 712.93 338.35 L 705.93 340.68 L 705.93 336.02 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g></g><g data-cell-id=\"e5\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 542.05 366.35 L 542.11 396.35 L 868.11 396.35 L 868.11 366.35 L 870.17 366.35\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" stroke-dasharray=\"3 3\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 863.17 366.35 L 870.17 364.02 L 870.17 368.68 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g></g><g data-cell-id=\"e6\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 542.05 366.35 L 542.11 416.35 L 988.11 416.35 L 988.11 366.35 L 990.17 366.35\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" stroke-dasharray=\"3 3\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 983.17 366.35 L 990.17 364.02 L 990.17 368.68 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g></g><g data-cell-id=\"c1\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 480.05 606.35 L 505.05 606.35 L 505.05 604.35 L 521.93 604.35\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 528.93 604.35 L 521.93 606.68 L 521.93 602.02 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g></g><g data-cell-id=\"c2\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 586.05 604.35 L 661.93 604.35\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 668.93 604.35 L 661.93 606.68 L 661.93 602.02 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g></g><g data-cell-id=\"c3\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 726.05 604.35 L 801.93 604.35\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 808.93 604.35 L 801.93 606.68 L 801.93 602.02 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g></g><g data-cell-id=\"c4\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 866.05 604.35 L 941.93 604.35\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 948.93 604.35 L 941.93 606.68 L 941.93 602.02 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g></g><g data-cell-id=\"c5\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 978.05 576.35 L 1010.11 576.35 L 1010.11 496.35 L 542.11 496.35 L 542.05 374.47\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 542.05 367.47 L 544.39 374.47 L 539.72 374.47 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g><g><g><switch><text x=\"767\" y=\"499\" fill=\"#6f6b63\" font-family=\"Helvetica\" font-size=\"10px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(111, 107, 99), rgb(148, 145, 138));\">배포</text></switch></g></g></g></g></g></g><switch><g requiredFeatures=\"http://www.w3.org/TR/SVG11/feature#Extensibility\"></g><a transform=\"translate(0,-5)\" xlink:href=\"https://www.drawio.com/doc/faq/svg-export-text-problems\" target=\"_blank\"><text text-anchor=\"middle\" font-size=\"10px\" x=\"50%\" y=\"100%\">Text is not SVG - cannot display</text></a></switch></svg>",
14
+ };
15
+ //# sourceMappingURL=aws.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aws.js","sourceRoot":"","sources":["../../../src/seeds/drawio/aws.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,GAAG,EAAE,kybAAkyb;IACvyb,GAAG,EAAE,glzDAAglzD;CACtlzD,CAAA"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Azure 운영 인프라 + CI/CD — Draw.io 샘플.
3
+ *
4
+ * 아이콘은 **Microsoft 공식 Azure architecture icons** 를 그림으로 직접 실었다.
5
+ * draw.io 임베드는 Azure 스텐실을 안 들고 있어서(`mxgraph.azure2.*`·`mxgraph.mscae.*` 를
6
+ * 열두 개 찔러 봤는데 전부 검은 네모, `libs=azure` 도 소용없었다 — aws4 는 코어에 박혀
7
+ * 있어서 되는 것이다) 도형으로는 못 쓴다. **스텐실이 없으면 그림을 싣는다** —
8
+ * 홈서버 도면에서 이미 쓴 길이다.
9
+ */
10
+ export declare const azure: {
11
+ src: string;
12
+ svg: string;
13
+ };
14
+ //# sourceMappingURL=azure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"azure.d.ts","sourceRoot":"","sources":["../../../src/seeds/drawio/azure.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK;;;CAGjB,CAAA"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Azure 운영 인프라 + CI/CD — Draw.io 샘플.
3
+ *
4
+ * 아이콘은 **Microsoft 공식 Azure architecture icons** 를 그림으로 직접 실었다.
5
+ * draw.io 임베드는 Azure 스텐실을 안 들고 있어서(`mxgraph.azure2.*`·`mxgraph.mscae.*` 를
6
+ * 열두 개 찔러 봤는데 전부 검은 네모, `libs=azure` 도 소용없었다 — aws4 는 코어에 박혀
7
+ * 있어서 되는 것이다) 도형으로는 못 쓴다. **스텐실이 없으면 그림을 싣는다** —
8
+ * 홈서버 도면에서 이미 쓴 길이다.
9
+ */
10
+ export const azure = {
11
+ src: "<mxfile host=\"storkspear\">\n <diagram name=\"Azure 운영 인프라 + CI/CD\">\n <mxGraphModel dx=\"1400\" dy=\"900\" grid=\"0\" gridSize=\"10\" guides=\"1\" tooltips=\"1\" connect=\"1\"\n arrows=\"1\" fold=\"1\" page=\"1\" pageScale=\"1\" pageWidth=\"1180\" pageHeight=\"800\"\n math=\"0\" shadow=\"0\">\n <root><mxCell id=\"0\"/><mxCell id=\"1\" parent=\"0\"/>\n <mxCell id=\"user\" value=\"인터넷 사용자\" style=\"rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#c3bdb1;fontSize=11;fontColor=#2a2a2a;arcSize=12;\" vertex=\"1\" parent=\"1\"><mxGeometry x=\"40\" y=\"66\" width=\"140\" height=\"40\" as=\"geometry\"/></mxCell>\n <mxCell id=\"dns\" value=\"Azure DNS\" style=\"shape=image;html=1;imageAspect=0;aspect=fixed;labelBackgroundColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;fontSize=11;fontColor=#2a2a2a;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJhIiBjeD0iLTY4MTEuNCIgY3k9IjY3MjkuNjkiIHI9IjE3IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KC41IDAgMCAtLjUgMzQxNC45MSAzMzc0LjA1KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iLjE4IiBzdG9wLWNvbG9yPSIjNWVhMGVmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA3OGQ0Ii8+PC9yYWRpYWxHcmFkaWVudD48L2RlZnM+PHBhdGggZD0iTTE0LjIxIDE1LjcyQTguNSA4LjUgMCAwMTMuNzkgMi4yOGwuMDktLjA2YTguNSA4LjUgMCAwMTEwLjMzIDEzLjUiIGZpbGw9InVybCgjYSkiLz48cGF0aCBkPSJNOSAxLjMxQTcuNjkgNy42OSAwIDEwMTYuNjkgOSA3LjcgNy43IDAgMDA5IDEuMzF6bTUuMTUgMi41OWE3LjM3IDcuMzcgMCAwMS0yLjE1LjhBOC44MyA4LjgzIDAgMDAxMC43NSAyYTcuMiA3LjIgMCAwMTMuNCAxLjl6TTkgMS43NGE2LjU5IDYuNTkgMCAwMTEuMDkuMDkgNy40OCA3LjQ4IDAgMDExLjUzIDMgMTUuMTIgMTUuMTIgMCAwMS01LjQ1IDAgNy4zOCA3LjM4IDAgMDExLjUxLTIuOTRBNy4zNCA3LjM0IDAgMDE5IDEuNzR6TTcgMmE4LjcyIDguNzIgMCAwMC0xLjI3IDIuNjggNS41OCA1LjU4IDAgMDEtMS45LS43N0E3LjM1IDcuMzUgMCAwMTcgMnpNMy43MiAxNGE1LjI3IDUuMjcgMCAwMTEuNzgtLjc2IDcuMDggNy4wOCAwIDAwMS4zNSAyLjcyQTcuMjUgNy4yNSAwIDAxMy43MiAxNHptNi40MSAyLjJhNy4wOCA3LjA4IDAgMDEtMS4xMy4wNiA2LjgzIDYuODMgMCAwMS0xLjQ0LS4xNSA2IDYgMCAwMS0xLjY3LTMgMTQuNzMgMTQuNzMgMCAwMTUuODggMCA2IDYgMCAwMS0xLjY5IDN6bS43My0uMTZhNy4xMyA3LjEzIDAgMDAxLjM4LTIuOCA2LjY4IDYuNjggMCAwMTIgLjgzQTcuMTMgNy4xMyAwIDAxMTAuODYgMTZ6bTEuNDgtMy4yMmMuMDgtLjM2LjE1LS43My4yLTEuMTJsLS40Ni4xMWMtLjA1LjMxLS4xLjYyLS4xNy45MWExNS4yMyAxNS4yMyAwIDAwLTYuMDkgMGMtLjA3LS4yNy0uMTItLjU2LS4xNy0uODZhLjI4LjI4IDAgMDEwLS4wOWwtLjQ2LS4xM2EyLjM2IDIuMzYgMCAwMDAgLjI4YzAgLjMyLjExLjYyLjE3LjkxYTUuOSA1LjkgMCAwMC0yIC44NSA3LjI0IDcuMjQgMCAwMS4xMS05LjQgNi4yOSA2LjI5IDAgMDAyLjA4Ljg2Yy0uMDcuMjQtLjEzLjUtLjE4Ljc2czAgLjI1LS4wOC4zN2wuNDctLjExdi0uMTdjLjA2LS4yNi4xMi0uNTEuMTktLjc1QTE0Ljg5IDE0Ljg5IDAgMDA5IDUuNDhhMTUgMTUgMCAwMDIuNzgtLjI2Yy4wNy4yNy4xNC41Ni4yLjg1bC40Ni4xMXEtLjExLS41NC0uMjQtMWE3LjczIDcuNzMgMCAwMDIuMy0uOTEgNy4yMiA3LjIyIDAgMDEuMDYgOS40OSA3LjI4IDcuMjggMCAwMC0yLjIyLS45N3oiIGZpbGw9IiM1ZWEwZWYiLz48cGF0aCBkPSJNMy42OSA3YTcuOTIgNy45MiAwIDAxMS4xNi0uMDggMi40NCAyLjQ0IDAgMDExLjcxLjUyIDIgMiAwIDAxLjU5IDEuNDYgMi4yMSAyLjIxIDAgMDEtLjYxIDEuNjQgMi42IDIuNiAwIDAxLTEuODYuNjEgOS4xNyA5LjE3IDAgMDEtMS0uMDV6bS41NSAzLjczYTQgNCAwIDAwLjU1IDAgMS42MiAxLjYyIDAgMDAxLjc5LTEuODFBMS41IDEuNSAwIDAwNC44NyA3LjNhMy4xNyAzLjE3IDAgMDAtLjYzIDB6TTcuODYgMTEuMTFWNi45aC41OUw5LjggOWExMi4xOCAxMi4xOCAwIDAxLjc2IDEuMzdjLS4wNS0uNTYtLjA2LTEuMDctLjA2LTEuNzNWNi45aC41djQuMjFoLS41NUw5LjEzIDljLS4yOS0uNDctLjU3LTEtLjc5LTEuNHYzLjU0ek0xMS44OSAxMC40NWEyIDIgMCAwMDEgLjI3Yy41NiAwIC44OC0uMjkuODgtLjcycy0uMjItLjYyLS43OS0uODMtMS4xMi0uNi0xLjEyLTEuMmExLjIyIDEuMjIgMCAwMTEuMzctMS4xNCAyIDIgMCAwMS45My4ybC0uMTYuNDVhMS42MyAxLjYzIDAgMDAtLjgtLjJjLS41OCAwLS44LjM0LS44LjYzcy4yNi41OS44NC44MSAxLjA4LjYyIDEuMDggMS4yNC0uNDggMS4yMS0xLjQ4IDEuMjFhMi4xNiAyLjE2IDAgMDEtMS4wNy0uMjd6IiBmaWxsPSIjZmZmIi8+PC9zdmc+;\" vertex=\"1\" parent=\"1\"><mxGeometry x=\"258\" y=\"58\" width=\"50\" height=\"50\" as=\"geometry\"/></mxCell>\n <mxCell id=\"sub\" value=\"Azure 구독\" style=\"rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#b4afa3;dashed=1;verticalAlign=top;align=left;spacingLeft=12;spacingTop=2;fontSize=11;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;container=1;collapsible=0;recursiveResize=0;pointerEvents=0;\" vertex=\"1\" parent=\"1\"><mxGeometry x=\"400\" y=\"24\" width=\"740\" height=\"440\" as=\"geometry\"/></mxCell>\n <mxCell id=\"vnet\" value=\"VNet 10.0.0.0/16\" style=\"rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#0078D4;dashed=1;verticalAlign=top;align=left;spacingLeft=34;spacingTop=2;fontSize=11;fontColor=#0078D4;labelBackgroundColor=#FFFFFF;container=1;collapsible=0;recursiveResize=0;pointerEvents=0;\" vertex=\"1\" parent=\"sub\"><mxGeometry x=\"30\" y=\"44\" width=\"680\" height=\"370\" as=\"geometry\"/></mxCell>\n <mxCell id=\"vnetI\" value=\"\" style=\"shape=image;html=1;imageAspect=0;aspect=fixed;labelBackgroundColor=none;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iOS44OCIgeTE9IjguNTkiIHgyPSIxMS41MiIgeTI9IjEwLjIzIiBncmFkaWVudFRyYW5zZm9ybT0icm90YXRlKC0uMDggLTI4NS40NjQgLTE0NTQuMDgpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjODZkNjMzIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjNWU5NjI0Ii8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImIiIHgxPSI2LjE4IiB5MT0iOC41OSIgeDI9IjcuODEiIHkyPSIxMC4yMyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzg2ZDYzMyIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzVlOTYyNCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJjIiB4MT0iMi40OCIgeTE9IjguNTkiIHgyPSI0LjExIiB5Mj0iMTAuMjMiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM4NmQ2MzMiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM1ZTk2MjQiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48Y2lyY2xlIGN4PSIxMi43NCIgY3k9IjguOTkiIHI9IjEuMTYiIGZpbGw9InVybCgjYSkiLz48Y2lyY2xlIGN4PSI5LjA0IiBjeT0iOSIgcj0iMS4xNiIgZmlsbD0idXJsKCNiKSIvPjxjaXJjbGUgY3g9IjUuMzQiIGN5PSI5IiByPSIxLjE2IiBmaWxsPSJ1cmwoI2MpIi8+PHBhdGggZD0iTTYuMTgyIDEzLjYzOGwtLjY2NC42NjVhLjMuMyAwIDAxLS40MjQgMEwuMTggOS40MDRhLjYuNiAwIDAxLS4wMDEtLjg0OGwuNjYzLS42NjYgNS4zNCA1LjMyNGEuMy4zIDAgMDEwIC40MjV6IiBmaWxsPSIjNTBlNmZmIi8+PHBhdGggZD0iTTUuNDE4IDMuNzA4bC42NjYuNjY0YS4zLjMgMCAwMTAgLjQyNEwuODM4IDEwLjA1N2wtLjY2Ni0uNjYzYS42LjYgMCAwMS0uMDAxLS44NDlMNC45OTQgMy43MWEuMy4zIDAgMDEuNDI0IDB6IiBmaWxsPSIjMTQ5MGRmIi8+PHBhdGggZD0iTTE3LjE1NyA3Ljg4bC42NjMuNjY2YS42LjYgMCAwMTAgLjg0OGwtNC45MTUgNC45YS4zLjMgMCAwMS0uNDI0IDBsLS42NjQtLjY2NmEuMy4zIDAgMDEwLS40MjRsNS4zNC01LjMyNHoiIGZpbGw9IiM1MGU2ZmYiLz48cGF0aCBkPSJNMTcuODE4IDkuMzg3bC0uNjY1LjY2NC01LjI0Ny01LjI2MWEuMy4zIDAgMDEwLS40MjVsLjY3NC0uNjdhLjMuMyAwIDAxLjQyNCAwbDQuODIzIDQuODM2YS42LjYgMCAwMS0uMDAyLjg0OXoiIGZpbGw9IiMxNDkwZGYiLz48L3N2Zz4=;\" vertex=\"1\" parent=\"vnet\"><mxGeometry x=\"8\" y=\"4\" width=\"20\" height=\"20\" as=\"geometry\"/></mxCell>\n <mxCell id=\"pub\" value=\"프런트 서브넷 10.0.1.0/24\" style=\"rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#7AA116;dashed=1;verticalAlign=top;align=left;spacingLeft=12;spacingTop=2;fontSize=11;fontColor=#7AA116;labelBackgroundColor=#FFFFFF;container=1;collapsible=0;recursiveResize=0;pointerEvents=0;\" vertex=\"1\" parent=\"vnet\"><mxGeometry x=\"24\" y=\"40\" width=\"300\" height=\"130\" as=\"geometry\"/></mxCell>\n <mxCell id=\"lb\" value=\"Load Balancer\" style=\"shape=image;html=1;imageAspect=0;aspect=fixed;labelBackgroundColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;fontSize=11;fontColor=#2a2a2a;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iOSIgeTE9IjE5Ljg1IiB4Mj0iOSIgeTI9Ii0xLjAyIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjNWU5NjI0Ii8+PHN0b3Agb2Zmc2V0PSIuMDIiIHN0b3AtY29sb3I9IiM1Zjk3MjQiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM3NmJjMmQiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cGF0aCBkPSJNLjE4IDguNTdMOC41Ny4xOGEuNi42IDAgMDEuODYgMGw4LjM5IDguMzlhLjYuNiAwIDAxMCAuODZsLTguNCA4LjRhLjYuNiAwIDAxLS44NCAwbC04LjQtOC40YS42LjYgMCAwMTAtLjg2eiIgZmlsbD0idXJsKCNhKSIvPjxwYXRoIGQ9Ik0xMS4yIDRMOS4wOCAxLjg5YS4xMi4xMiAwIDAwLS4xNiAwTDYuOCA0YS4xLjEgMCAwMC4wOC4xOGgxLjI0YS4xMS4xMSAwIDAxLjExLjExdjJhLjExLjExIDAgMDAuMTEuMTFoMS4zMmEuMTEuMTEgMCAwMC4xMS0uMTF2LTJhLjExLjExIDAgMDEuMTEtLjExaDEuMjRBLjEuMSAwIDAwMTEuMiA0ek00IDYuNjFMMS45IDguNzRhLjExLjExIDAgMDAwIC4xNUw0IDExYS4xMS4xMSAwIDAwLjE5LS4wOFY5LjY5YS4xMS4xMSAwIDAxLjExLS4xMWgyYS4xLjEgMCAwMC4xLS4xMVY4LjE1QS4xLjEgMCAwMDYuMzMgOGgtMmEuMS4xIDAgMDEtLjExLS4xVjYuNjlBLjExLjExIDAgMDA0IDYuNjF6TTE0LjA4IDExbDIuMTMtMi4xMmEuMTEuMTEgMCAwMDAtLjE1bC0yLjEzLTIuMTJhLjExLjExIDAgMDAtLjE4LjA4djEuMjVhLjEuMSAwIDAxLS4xMS4xaC0yYS4xLjEgMCAwMC0uMS4xMXYxLjMyYS4xLjEgMCAwMC4xLjExaDJhLjExLjExIDAgMDEuMTEuMTF2MS4yNGEuMTEuMTEgMCAwMC4xOC4wN3oiIGZpbGw9IiNiNGVjMzYiLz48cGF0aCBkPSJNMTEuNzkgOWEyLjc5IDIuNzkgMCAxMC0zLjU0IDIuNjd2Ljk1YTEuNzEgMS43MSAwIDEwMS41NyAwdi0xQTIuNzcgMi43NyAwIDAwMTEuNzkgOXoiIGZpbGw9IiNmZmYiLz48Y2lyY2xlIGN4PSI5LjAxIiBjeT0iOC45OSIgcj0iMS42MiIgZmlsbD0iIzVlYTBlZiIvPjwvc3ZnPg==;\" vertex=\"1\" parent=\"pub\"><mxGeometry x=\"125\" y=\"34\" width=\"50\" height=\"50\" as=\"geometry\"/></mxCell>\n <mxCell id=\"priv\" value=\"앱 서브넷 10.0.2.0/24\" style=\"rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#00A4A6;dashed=1;verticalAlign=top;align=left;spacingLeft=12;spacingTop=2;fontSize=11;fontColor=#00A4A6;labelBackgroundColor=#FFFFFF;container=1;collapsible=0;recursiveResize=0;pointerEvents=0;\" vertex=\"1\" parent=\"vnet\"><mxGeometry x=\"24\" y=\"190\" width=\"620\" height=\"150\" as=\"geometry\"/></mxCell>\n <mxCell id=\"nsg\" value=\"NSG\" style=\"rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#DD3522;dashed=1;verticalAlign=top;align=left;spacingLeft=34;spacingTop=2;fontSize=11;fontColor=#DD3522;labelBackgroundColor=#FFFFFF;container=1;collapsible=0;recursiveResize=0;pointerEvents=0;\" vertex=\"1\" parent=\"priv\"><mxGeometry x=\"18\" y=\"28\" width=\"190\" height=\"106\" as=\"geometry\"/></mxCell>\n <mxCell id=\"nsgI\" value=\"\" style=\"shape=image;html=1;imageAspect=0;aspect=fixed;labelBackgroundColor=none;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iOS4wMSIgeTE9Ii43NSIgeDI9IjkuMDEiIHkyPSIxNy4yNSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzVlYTBlZiIvPjxzdG9wIG9mZnNldD0iLjE4IiBzdG9wLWNvbG9yPSIjNTU5Y2VjIi8+PHN0b3Agb2Zmc2V0PSIuNDciIHN0b3AtY29sb3I9IiMzYzkxZTUiLz48c3RvcCBvZmZzZXQ9Ii44NCIgc3RvcC1jb2xvcj0iIzEzODBkYSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAwNzhkNCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxwYXRoIGQ9Ik0xNi4zNiA4LjRjMCA0Ljg0LTUuODUgOC43NC03LjEyIDkuNTNhLjQ2LjQ2IDAgMDEtLjQ4IDBjLTEuMjctLjc5LTcuMTItNC42OS03LjEyLTkuNTNWMi41OGEuNDYuNDYgMCAwMS40NS0uNDZDNi42NCAyIDUuNTkgMCA5IDBzMi4zNiAyIDYuOTEgMi4xMmEuNDYuNDYgMCAwMS40NS40NnoiIGZpbGw9IiMwMDc4ZDQiLz48cGF0aCBkPSJNMTUuNzUgOC40NWMwIDQuNDQtNS4zNiA4LTYuNTMgOC43NGEuNDMuNDMgMCAwMS0uNDQgMGMtMS4xNy0uNzItNi41My00LjMtNi41My04Ljc0VjMuMTFhLjQyLjQyIDAgMDEuNDEtLjQyQzYuODMgMi41OCA1Ljg3Ljc1IDkgLjc1czIuMTcgMS44MyA2LjM0IDEuOTRhLjQyLjQyIDAgMDEuNDEuNDJ6IiBmaWxsPSIjNmJiOWYyIi8+PHBhdGggZD0iTTkgOVYuNzVjMy4xMyAwIDIuMTcgMS44MyA2LjM0IDEuOTRhLjQzLjQzIDAgMDEuNDEuNDN2NS4zNGE0Ljg5IDQuODkgMCAwMTAgLjU0em0wIDBIMi4yOGMuNCA0LjE4IDUuMzggNy41IDYuNSA4LjE5YS4zOS4zOSAwIDAwLjE4LjA2SDl6IiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZD0iTTIuNjYgMi42OUM2LjgzIDIuNTggNS44Ny43NSA5IC43NVY5SDIuMjhhNC44OSA0Ljg5IDAgMDEwLS41NFYzLjEyYS40My40MyAwIDAxLjM4LS40M3pNMTUuNzIgOUg5djguMjVhLjM5LjM5IDAgMDAuMTgtLjA2YzEuMTYtLjY5IDYuMTQtNC4wMSA2LjU0LTguMTl6IiBmaWxsPSIjNTBlNmZmIi8+PC9zdmc+;\" vertex=\"1\" parent=\"nsg\"><mxGeometry x=\"8\" y=\"4\" width=\"20\" height=\"20\" as=\"geometry\"/></mxCell>\n <mxCell id=\"vm\" value=\"Virtual Machine\" style=\"shape=image;html=1;imageAspect=0;aspect=fixed;labelBackgroundColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;fontSize=11;fontColor=#2a2a2a;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iOC44OCIgeTE9IjEyLjIxIiB4Mj0iOC44OCIgeTI9Ii4yMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzAwNzhkNCIvPjxzdG9wIG9mZnNldD0iLjgyIiBzdG9wLWNvbG9yPSIjNWVhMGVmIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImIiIHgxPSI4Ljg4IiB5MT0iMTYuODQiIHgyPSI4Ljg4IiB5Mj0iMTIuMjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9Ii4xNSIgc3RvcC1jb2xvcj0iI2NjYyIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzcwNzA3MCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9Ii0uMTIiIHk9Ii4yMSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjEyIiByeD0iLjYiIGZpbGw9InVybCgjYSkiLz48cGF0aCBmaWxsPSIjNTBlNmZmIiBkPSJNMTEuODggNC40NnYzLjQ5bC0zIDEuNzZ2LTMuNWwzLTEuNzV6Ii8+PHBhdGggZmlsbD0iI2MzZjFmZiIgZD0iTTExLjg4IDQuNDZsLTMgMS43Ni0zLTEuNzYgMy0xLjc1IDMgMS43NXoiLz48cGF0aCBmaWxsPSIjOWNlYmZmIiBkPSJNOC44OCA2LjIydjMuNDlsLTMtMS43NlY0LjQ2bDMgMS43NnoiLz48cGF0aCBmaWxsPSIjYzNmMWZmIiBkPSJNNS44OCA3Ljk1bDMtMS43NHYzLjVsLTMtMS43NnoiLz48cGF0aCBmaWxsPSIjOWNlYmZmIiBkPSJNMTEuODggNy45NWwtMy0xLjc0djMuNWwzLTEuNzZ6Ii8+PHBhdGggZD0iTTEyLjQ5IDE1Ljg0Yy0xLjc4LS4yOC0xLjg1LTEuNTYtMS44NS0zLjYzSDcuMTFjMCAyLjA3LS4wNiAzLjM1LTEuODQgMy42M2ExIDEgMCAwMC0uODkgMWg5YTEgMSAwIDAwLS44OS0xeiIgZmlsbD0idXJsKCNiKSIvPjwvc3ZnPg==;\" vertex=\"1\" parent=\"nsg\"><mxGeometry x=\"70\" y=\"26\" width=\"50\" height=\"50\" as=\"geometry\"/></mxCell>\n <mxCell id=\"sql\" value=\"Azure SQL\" style=\"shape=image;html=1;imageAspect=0;aspect=fixed;labelBackgroundColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;fontSize=11;fontColor=#2a2a2a;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJiIiBjeD0iOS4zNiIgY3k9IjEwLjU3IiByPSI3LjA3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZjJmMmYyIi8+PHN0b3Agb2Zmc2V0PSIuNTgiIHN0b3AtY29sb3I9IiNlZWUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNlNmU2ZTYiLz48L3JhZGlhbEdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjIuNTkiIHkxPSIxMC4xNiIgeDI9IjE1LjQxIiB5Mj0iMTAuMTYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMwMDViYTEiLz48c3RvcCBvZmZzZXQ9Ii4wNyIgc3RvcC1jb2xvcj0iIzAwNjBhOSIvPjxzdG9wIG9mZnNldD0iLjM2IiBzdG9wLWNvbG9yPSIjMDA3MWM4Ii8+PHN0b3Agb2Zmc2V0PSIuNTIiIHN0b3AtY29sb3I9IiMwMDc4ZDQiLz48c3RvcCBvZmZzZXQ9Ii42NCIgc3RvcC1jb2xvcj0iIzAwNzRjZCIvPjxzdG9wIG9mZnNldD0iLjgyIiBzdG9wLWNvbG9yPSIjMDA2YWJiIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA1YmExIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBhdGggZD0iTTkgNS4xNGMtMy41NCAwLTYuNDEtMS02LjQxLTIuMzJ2MTIuMzZjMCAxLjI3IDIuODIgMi4zIDYuMzIgMi4zMkg5YzMuNTQgMCA2LjQxLTEgNi40MS0yLjMyVjIuODJjMCAxLjI5LTIuODcgMi4zMi02LjQxIDIuMzJ6IiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZD0iTTE1LjQxIDIuODJjMCAxLjI5LTIuODcgMi4zMi02LjQxIDIuMzJzLTYuNDEtMS02LjQxLTIuMzJTNS40Ni41IDkgLjVzNi40MSAxIDYuNDEgMi4zMiIgZmlsbD0iI2U4ZThlOCIvPjxwYXRoIGQ9Ik0xMy45MiAyLjYzYzAgLjgyLTIuMjEgMS40OC00LjkyIDEuNDhzLTQuOTItLjY2LTQuOTItMS40OFM2LjI5IDEuMTYgOSAxLjE2czQuOTIuNjYgNC45MiAxLjQ3IiBmaWxsPSIjNTBlNmZmIi8+PHBhdGggZD0iTTkgM2ExMS41NSAxMS41NSAwIDAwLTMuODkuNTdBMTEuNDIgMTEuNDIgMCAwMDkgNC4xMWExMS4xNSAxMS4xNSAwIDAwMy44OS0uNThBMTEuODQgMTEuODQgMCAwMDkgM3oiIGZpbGw9IiMxOThhYjMiLz48cGF0aCBkPSJNMTIuOSAxMS40VjhIMTJ2NC4xM2gyLjQ2di0uNzN6TTUuNzYgOS43M2ExLjgzIDEuODMgMCAwMS0uNTEtLjMxLjQ0LjQ0IDAgMDEtLjEyLS4zMi4zNC4zNCAwIDAxLjE1LS4zLjY4LjY4IDAgMDEuNDItLjEyIDEuNjIgMS42MiAwIDAxMSAuMjl2LS44NmEyLjU4IDIuNTggMCAwMC0xLS4xNiAxLjY0IDEuNjQgMCAwMC0xLjA5LjM0IDEuMDggMS4wOCAwIDAwLS40Mi44OWMwIC41MS4zMi45MSAxIDEuMjFhMi44OCAyLjg4IDAgMDEuNjIuMzYuNDIuNDIgMCAwMS4xNS4zMi4zOC4zOCAwIDAxLS4xNi4zMS44MS44MSAwIDAxLS40NS4xMSAxLjY2IDEuNjYgMCAwMS0xLjA5LS40MlYxMmEyLjE3IDIuMTcgMCAwMDEuMDcuMjQgMS44OCAxLjg4IDAgMDAxLjE4LS4zMyAxLjA4IDEuMDggMCAwMC4zMy0uOTEgMS4wNSAxLjA1IDAgMDAtLjI1LS43IDIuNDIgMi40MiAwIDAwLS44My0uNTd6TTExIDExLjMyYTIuMzQgMi4zNCAwIDAwLjMzLTEuMjZBMi4zMiAyLjMyIDAgMDAxMSA5YTEuODEgMS44MSAwIDAwLS43LS43NSAyIDIgMCAwMC0xLS4yNiAyLjExIDIuMTEgMCAwMC0xLjA4LjI3IDEuODYgMS44NiAwIDAwLS43My43NCAyLjQ2IDIuNDYgMCAwMC0uMjYgMS4xNCAyLjI2IDIuMjYgMCAwMC4yNCAxIDEuNzYgMS43NiAwIDAwLjY5Ljc0IDIuMDYgMi4wNiAwIDAwMSAuM2wuODYgMWgxLjIxTDEwIDEyLjA4YTEuNzkgMS43OSAwIDAwMS0uNzZ6bS0xLS4yNWEuOTQuOTQgMCAwMS0uNzYuMzUuOTIuOTIgMCAwMS0uNzYtLjM2IDEuNTIgMS41MiAwIDAxLS4yOS0xIDEuNTMgMS41MyAwIDAxLjI5LTEgMSAxIDAgMDEuNzgtLjM3Ljg3Ljg3IDAgMDEuNzUuMzcgMS42MiAxLjYyIDAgMDEuMjcgMSAxLjQ2IDEuNDYgMCAwMS0uMjggMS4wMXoiIGZpbGw9InVybCgjYikiLz48L3N2Zz4=;\" vertex=\"1\" parent=\"priv\"><mxGeometry x=\"250\" y=\"44\" width=\"50\" height=\"50\" as=\"geometry\"/></mxCell>\n <mxCell id=\"redis\" value=\"Cache for Redis\" style=\"shape=image;html=1;imageAspect=0;aspect=fixed;labelBackgroundColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;fontSize=11;fontColor=#2a2a2a;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iOS41IiB5MT0iNy4zNyIgeDI9IjE3LjUiIHkyPSI3LjM3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMDA1YmExIi8+PHN0b3Agb2Zmc2V0PSIuMDciIHN0b3AtY29sb3I9IiMwMDYwYTkiLz48c3RvcCBvZmZzZXQ9Ii4zNiIgc3RvcC1jb2xvcj0iIzAwNzFjOCIvPjxzdG9wIG9mZnNldD0iLjUyIiBzdG9wLWNvbG9yPSIjMDA3OGQ0Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA1YmExIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImIiIHgxPSIuNSIgeTE9IjcuMzciIHgyPSI4LjUiIHkyPSI3LjM3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMDA1YmExIi8+PHN0b3Agb2Zmc2V0PSIuMDciIHN0b3AtY29sb3I9IiMwMDYwYTkiLz48c3RvcCBvZmZzZXQ9Ii4zNiIgc3RvcC1jb2xvcj0iIzAwNzFjOCIvPjxzdG9wIG9mZnNldD0iLjUyIiBzdG9wLWNvbG9yPSIjMDA3OGQ0Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA1YmExIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImMiIHgxPSI1IiB5MT0iMTEuOSIgeDI9IjEzIiB5Mj0iMTEuOSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzAwNWJhMSIvPjxzdG9wIG9mZnNldD0iLjA3IiBzdG9wLWNvbG9yPSIjMDA2MGE5Ii8+PHN0b3Agb2Zmc2V0PSIuMzYiIHN0b3AtY29sb3I9IiMwMDcxYzgiLz48c3RvcCBvZmZzZXQ9Ii41MiIgc3RvcC1jb2xvcj0iIzAwNzhkNCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAwNWJhMSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxwYXRoIGQ9Ik0xMy41IDQuNjJjLTIuMjEgMC00LS41Ny00LTEuMjh2Ni43OWMwIC42OSAxLjc2IDEuMjYgMy45NSAxLjI3aC4wNWMyLjIxIDAgNC0uNTcgNC0xLjI3VjMuMzRjMCAuNzEtMS43OSAxLjI4LTQgMS4yOHoiIGZpbGw9InVybCgjYSkiLz48cGF0aCBkPSJNMTcuNSAzLjM0YzAgLjcxLTEuNzkgMS4yOC00IDEuMjhzLTQtLjU3LTQtMS4yOCAxLjc5LTEuMjcgNC0xLjI3IDQgLjU3IDQgMS4yNyIgZmlsbD0iI2U4ZThlOCIvPjxwYXRoIGQ9Ik0xNi41NyAzLjI0YzAgLjQ1LTEuMzguODEtMy4wNy44MXMtMy4wNy0uMzYtMy4wNy0uODEgMS4zOC0uODEgMy4wNy0uODEgMy4wNy4zNiAzLjA3LjgxIiBmaWxsPSIjNTBlNmZmIi8+PHBhdGggZD0iTTEzLjUgMy40M2E4LjY1IDguNjUgMCAwMC0yLjQzLjMgNy44IDcuOCAwIDAwMi40My4zMiA3LjggNy44IDAgMDAyLjQzLS4zMiA4LjY1IDguNjUgMCAwMC0yLjQzLS4zeiIgZmlsbD0iIzMyYmVkZCIvPjxwYXRoIGQ9Ik00LjUgNC42MmMtMi4yMSAwLTQtLjU3LTQtMS4yOHY2Ljc5YzAgLjY5IDEuNzYgMS4yNiA0IDEuMjcgMi4yMSAwIDQtLjU3IDQtMS4yN1YzLjM0YzAgLjcxLTEuNzkgMS4yOC00IDEuMjh6IiBmaWxsPSJ1cmwoI2IpIi8+PHBhdGggZD0iTTguNSAzLjM0YzAgLjcxLTEuNzkgMS4yOC00IDEuMjhzLTQtLjU3LTQtMS4yOCAxLjc5LTEuMjcgNC0xLjI3IDQgLjU3IDQgMS4yNyIgZmlsbD0iI2U4ZThlOCIvPjxwYXRoIGQ9Ik03LjU3IDMuMjRjMCAuNDUtMS4zOC44MS0zLjA3Ljgxcy0zLjA3LS4zNi0zLjA3LS44MSAxLjM4LS44MSAzLjA3LS44MSAzLjA3LjM2IDMuMDcuODEiIGZpbGw9IiM1MGU2ZmYiLz48cGF0aCBkPSJNNC41IDMuNDNhOC42NSA4LjY1IDAgMDAtMi40My4zIDcuOCA3LjggMCAwMDIuNDMuMzIgNy44IDcuOCAwIDAwMi40My0uMzIgOC42NSA4LjY1IDAgMDAtMi40My0uM3oiIGZpbGw9IiMzMmJlZGQiLz48cGF0aCBkPSJNOSA5LjE1Yy0yLjIxIDAtNC0uNTctNC0xLjI4djYuNzljMCAuNyAxLjc2IDEuMjYgMy45NSAxLjI3SDljMi4yMSAwIDQtLjU3IDQtMS4yN1Y3Ljg3YzAgLjcxLTEuNzkgMS4yOC00IDEuMjh6IiBmaWxsPSJ1cmwoI2MpIi8+PHBhdGggZD0iTTEzIDcuODdjMCAuNzEtMS43OSAxLjI4LTQgMS4yOHMtNC0uNTctNC0xLjI4UzYuNzkgNi42IDkgNi42czQgLjU3IDQgMS4yNyIgZmlsbD0iI2U4ZThlOCIvPjxwYXRoIGQ9Ik0xMi4wNyA3Ljc3YzAgLjQ1LTEuMzguODEtMy4wNy44MXMtMy4wNy0uMzYtMy4wNy0uODFTNy4zMSA3IDkgN3MzLjA3LjM2IDMuMDcuODEiIGZpbGw9IiM1MGU2ZmYiLz48cGF0aCBkPSJNOSA4YTguNjUgOC42NSAwIDAwLTIuNDMuM0E3LjggNy44IDAgMDA5IDguNThhNy44IDcuOCAwIDAwMi40My0uMzJBOC42NSA4LjY1IDAgMDA5IDh6IiBmaWxsPSIjMzJiZWRkIi8+PC9zdmc+;\" vertex=\"1\" parent=\"priv\"><mxGeometry x=\"380\" y=\"44\" width=\"50\" height=\"50\" as=\"geometry\"/></mxCell>\n <mxCell id=\"bus\" value=\"Service Bus\" style=\"shape=image;html=1;imageAspect=0;aspect=fixed;labelBackgroundColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;fontSize=11;fontColor=#2a2a2a;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iOSIgeTE9IjE0LjA3MSIgeDI9IjkiIHkyPSIxLjMxMyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzAwNzhkNCIvPjxzdG9wIG9mZnNldD0iLjE1NiIgc3RvcC1jb2xvcj0iIzEzODBkYSIvPjxzdG9wIG9mZnNldD0iLjUyOCIgc3RvcC1jb2xvcj0iIzNjOTFlNSIvPjxzdG9wIG9mZnNldD0iLjgyMiIgc3RvcC1jb2xvcj0iIzU1OWNlYyIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzVlYTBlZiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxwYXRoIGQ9Ik0xOCAxMC4wNzVhNC4wNDQgNC4wNDQgMCAwMC0zLjUxLTMuODg3IDUuMSA1LjEgMCAwMC01LjI1LTQuODc1IDUuMjI5IDUuMjI5IDAgMDAtNSAzLjQwOEE0LjgyNSA0LjgyNSAwIDAwMCA5LjM2NGE0LjkgNC45IDAgMDA1LjA2OCA0LjcwN2MuMTUxIDAgLjMtLjAwNy40NDctLjAxOWg4LjIwN2EuODE5LjgxOSAwIDAwLjIxNy0uMDMzQTQuMDkzIDQuMDkzIDAgMDAxOCAxMC4wNzV6IiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZD0iTTEyLjA2NyAxMS44MDZoLTYuMzZhLjI3Ni4yNzYgMCAwMC0uMjgyLjI3djEuNzMyYS4yNzYuMjc2IDAgMDAuMjgxLjI3aDYuMzYxYS4yNzYuMjc2IDAgMDAuMjgxLS4yN3YtMS43MzJhLjI3Ny4yNzcgMCAwMC0uMjgxLS4yN3oiIGZpbGw9IiMzMmJlZGQiLz48cGF0aCBkPSJNMTIuMDY3IDE0LjQxNWgtNi4zNmEuMjc2LjI3NiAwIDAwLS4yODIuMjd2MS43MzFhLjI3Ni4yNzYgMCAwMC4yODEuMjcxaDYuMzYxYS4yNzYuMjc2IDAgMDAuMjgxLS4yNzF2LTEuNzMxYS4yNzcuMjc3IDAgMDAtLjI4MS0uMjd6IiBmaWxsPSIjMTk4YWIzIi8+PHBhdGggZD0iTTExLjI3IDEyLjIzMWguMzczYS4wNzIuMDcyIDAgMDEuMDcyLjA3MnYuMzU2YS4wNjkuMDY5IDAgMDEtLjA2OS4wNjloLS4zNzlhLjA2OS4wNjkgMCAwMS0uMDY5LS4wNjlWMTIuM2EuMDcyLjA3MiAwIDAxLjA3Mi0uMDY5ek0xMS4yNjggMTMuMDg3aC4zNzZhLjA3Mi4wNzIgMCAwMS4wNzIuMDcydi4zNTNhLjA3Mi4wNzIgMCAwMS0uMDcyLjA3MmgtLjM3NGEuMDcyLjA3MiAwIDAxLS4wNzItLjA3MnYtLjM1NmEuMDY5LjA2OSAwIDAxLjA3LS4wNjl6TTExLjI4OSAxNC44MjdoLjM3NmEuMDcyLjA3MiAwIDAxLjA3Mi4wNzJ2LjM1NmEuMDY5LjA2OSAwIDAxLS4wNjkuMDY5aC0uMzc2YS4wNzIuMDcyIDAgMDEtLjA3Mi0uMDcyVjE0LjlhLjA2OS4wNjkgMCAwMS4wNjktLjA3M3pNMTEuMjg5IDE1LjY4M2guMzc2YS4wNzIuMDcyIDAgMDEuMDcyLjA3MnYuMzU2YS4wNjkuMDY5IDAgMDEtLjA2OS4wNjloLS4zNzlhLjA2OS4wNjkgMCAwMS0uMDY5LS4wNjl2LS4zNTlhLjA2OS4wNjkgMCAwMS4wNjktLjA2OXoiIGZpbGw9IiNiNGVjMzYiLz48cGF0aCBkPSJNMTIuMDA3IDguOTkzaC02LjM2YS4yNzYuMjc2IDAgMDAtLjI4Mi4yNzFWMTFhLjI3Ny4yNzcgMCAwMC4yODEuMjcxaDYuMzYxYS4yNzcuMjc3IDAgMDAuMjgxLS4yNzFWOS4yNjRhLjI3Ny4yNzcgMCAwMC0uMjgxLS4yNzF6IiBmaWxsPSIjNTBlNmZmIi8+PHBhdGggZD0iTTExLjIwOCA5LjQxOWguMzc2YS4wNzIuMDcyIDAgMDEuMDcyLjA3MnYuMzU2YS4wNjkuMDY5IDAgMDEtLjA2OS4wNjloLS4zNzdhLjA3Mi4wNzIgMCAwMS0uMDcyLS4wNzJ2LS4zNTZhLjA2OS4wNjkgMCAwMS4wNy0uMDY5ek0xMS4yMDggMTAuMjc1aC4zNzZhLjA3Mi4wNzIgMCAwMS4wNzIuMDcydi4zNTNhLjA2OS4wNjkgMCAwMS0uMDY5LjA2OWgtLjM3OWEuMDY5LjA2OSAwIDAxLS4wNjktLjA2OXYtLjM1OWEuMDY5LjA2OSAwIDAxLjA2OS0uMDY2ek0xMS42MzUgNy40bC0yLjQzIDIuNDNhLjI5LjI5IDAgMDEtLjQxIDBMNi4zNjUgNy40YS4xMy4xMyAwIDAxLjA5Mi0uMjIxaDEuNDk0YS4xMjkuMTI5IDAgMDAuMTI5LS4xMjlWNC4wMTRhLjEuMSAwIDAxLjEtLjFoMS42MzZhLjEuMSAwIDAxLjEuMXYzLjAzN2EuMTI5LjEyOSAwIDAwLjEyOS4xMjloMS40OTRhLjEzLjEzIDAgMDEuMDk2LjIyeiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg==;\" vertex=\"1\" parent=\"priv\"><mxGeometry x=\"510\" y=\"44\" width=\"50\" height=\"50\" as=\"geometry\"/></mxCell>\n <mxCell id=\"cicd\" value=\"CI / CD\" style=\"rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#b4afa3;dashed=1;verticalAlign=top;align=left;spacingLeft=12;spacingTop=2;fontSize=11;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;container=1;collapsible=0;recursiveResize=0;pointerEvents=0;\" vertex=\"1\" parent=\"1\"><mxGeometry x=\"400\" y=\"530\" width=\"740\" height=\"140\" as=\"geometry\"/></mxCell>\n <mxCell id=\"repo\" value=\"GitHub&lt;br&gt;(main push)\" style=\"rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#c3bdb1;fontSize=11;fontColor=#2a2a2a;arcSize=12;\" vertex=\"1\" parent=\"cicd\"><mxGeometry x=\"30\" y=\"46\" width=\"110\" height=\"48\" as=\"geometry\"/></mxCell>\n <mxCell id=\"pipe\" value=\"Azure Pipelines\" style=\"shape=image;html=1;imageAspect=0;aspect=fixed;labelBackgroundColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;fontSize=11;fontColor=#2a2a2a;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iOSIgeTE9IjE2Ljk3IiB4Mj0iOSIgeTI9IjEuMDMiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMwMDc4ZDQiLz48c3RvcCBvZmZzZXQ9Ii4xNiIgc3RvcC1jb2xvcj0iIzEzODBkYSIvPjxzdG9wIG9mZnNldD0iLjUzIiBzdG9wLWNvbG9yPSIjM2M5MWU1Ii8+PHN0b3Agb2Zmc2V0PSIuODIiIHN0b3AtY29sb3I9IiM1NTljZWMiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM1ZWEwZWYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cGF0aCBkPSJNMTcgNHY5Ljc0bC00IDMuMjgtNi4yLTIuMjZWMTdsLTMuNTEtNC41OSAxMC4yMy44VjQuNDR6bS0zLjQxLjQ5TDcuODUgMXYyLjI5TDIuNTggNC44NCAxIDYuODd2NC42MWwyLjI2IDFWNi41N3oiIGZpbGw9InVybCgjYSkiLz48L3N2Zz4=;\" vertex=\"1\" parent=\"cicd\"><mxGeometry x=\"215\" y=\"40\" width=\"50\" height=\"50\" as=\"geometry\"/></mxCell>\n <mxCell id=\"acr\" value=\"Container Registry\" style=\"shape=image;html=1;imageAspect=0;aspect=fixed;labelBackgroundColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;fontSize=11;fontColor=#2a2a2a;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iOC42MzciIHkxPSItMS45OTEiIHgyPSI4LjYzNyIgeTI9IjE2LjczOSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzVlYTBlZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAwNzhkNCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiB4MT0iMTIuOTYiIHkxPSI4LjU2MSIgeDI9IjEyLjk2IiB5Mj0iNi4xNDEiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAyMCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMzMzMxMzIiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM1YjVhNWMiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cGF0aCBkPSJNNy40MyA4LjE3OGwyLjU4OS0xLjU3MyA3LjI1NSAyLjczMUEzLjY2NCAzLjY2NCAwIDAwMTYuMjMgNy40OWwtLjAxLS4wNUE0LjE5NCA0LjE5NCAwIDAwMTQgNi4zMmE0LjkxIDQuOTEgMCAwMC01LjEtNC43IDUuMDcxIDUuMDcxIDAgMDAtNC44NCAzLjI5QTQuNjIxIDQuNjIxIDAgMDAwIDkuMzlhNC43MyA0LjczIDAgMDA0Ljg5IDQuNTRoMi41NHoiIGZpbGw9InVybCgjYSkiLz48cGF0aCBmaWxsPSIjNzY3Njc2IiBkPSJNMTAuMDcgNy4xNTlsLjAxIDQuMjggNy45MSAxLjY4di0yLjk4bC03LjkyLTIuOTh6Ii8+PHBhdGggZmlsbD0iIzk5OSIgZD0iTTEwLjA3IDcuMTU5bC0yLjE0IDEuM3YzLjk4bDIuMTUtMSIvPjxwYXRoIGZpbGw9IiNhM2EzYTMiIGQ9Ik0xMy42OCAxMS40OTlsLjcyLjJ2LTIuMzNsLS43Mi0uMjV2Mi4zOHpNMTIuOTYgOC44ODlsLS43Mi0uMjZ2Mi40OWwuNzIuMnYtMi40M3pNMTUuMTIgMTEuODg5bC43LjE5LjAyLTIuMjItLjcyLS4yNHYyLjI3ek0xMC44MSAxMC43NDlsLjcyLjE4di0yLjUzbC0uNzItLjI0djIuNTl6TTE3LjI3IDEwLjM0OWwtLjcyLS4yNXYyLjE3bC43Mi4ydi0yLjEyeiIvPjxwYXRoIGQ9Ik04LjY2IDExLjM2OWwtLjM2LjIxdi0yLjgzbC4zNi0uMTl6bS43MS0zLjIybC0uMzcuMjR2Mi43NWwuMzctLjJ6IiBmaWxsPSIjYjNiM2IzIi8+PHBhdGggZmlsbD0idXJsKCNiKSIgZD0iTTE3Ljk5IDEzLjExOWwtMi4xNi43NC03LjktMS40MiAyLjE1LTEgNy45MSAxLjY4eiIvPjxwYXRoIGZpbGw9IiM3Njc2NzYiIGQ9Ik0xNy45OSAxNi4xNjlsLTcuOTUgMS41MS4wNC01LjU5IDcuOTEgMS40N3YyLjYxeiIvPjxwYXRoIGZpbGw9IiNhM2EzYTMiIGQ9Ik0xMC44MSAxNi43NTl2LTMuNTVsLjcyLjA5djMuMzRsLS43Mi4xMnpNMTIuOTYgMTYuMzk5bC0uNzIuMTN2LTMuMTRsLjcyLjExdjIuOXpNMTMuNjggMTYuMjg5di0yLjcybC43Mi4wOXYyLjVsLS43Mi4xM3pNMTUuODMgMTUuOTA5bC0uNzEuMTN2LTIuMjlsLjcxLjExdjIuMDV6TTE3LjI5IDE1LjY3OWwtLjc0LjEzdi0xLjg4bC42OS4wOS4wNSAxLjY2eiIvPjxwYXRoIGQ9Ik03LjkzIDE2LjR2LTMuMjZsMi4xNi0xdjUuNnoiIGZpbGw9IiM5OTkiLz48cGF0aCBkPSJNOC42MSAxNi4zODlsLS4zMi0uMTZ2LTIuNzZsLjMyLS4xNXptLjc3LTMuNDVsLS4zOC4xOXYzLjQ4bC4zNy4xOXYtMy44NnoiIGZpbGw9IiNiM2IzYjMiLz48L3N2Zz4=;\" vertex=\"1\" parent=\"cicd\"><mxGeometry x=\"400\" y=\"40\" width=\"50\" height=\"50\" as=\"geometry\"/></mxCell>\n <mxCell id=\"deploy\" value=\"배포&lt;br&gt;VM 확장 집합\" style=\"rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#c3bdb1;fontSize=11;fontColor=#2a2a2a;arcSize=12;\" vertex=\"1\" parent=\"cicd\"><mxGeometry x=\"570\" y=\"46\" width=\"120\" height=\"48\" as=\"geometry\"/></mxCell>\n <mxCell id=\"n1\" value=\"한 대만 그렸습니다 —&lt;br&gt;실제로는 가용영역 둘에 나눠 둡니다\" style=\"text;html=1;align=left;fontSize=10;fontColor=#8e8981;whiteSpace=wrap;labelBackgroundColor=#FFFFFF;\" vertex=\"1\" parent=\"1\"><mxGeometry x=\"40\" y=\"140\" width=\"190\" height=\"32\" as=\"geometry\"/></mxCell>\n <mxCell id=\"e1\" value=\"HTTPS\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;\" edge=\"1\" parent=\"1\" source=\"user\" target=\"dns\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"></mxGeometry></mxCell>\n <mxCell id=\"e2\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;\" edge=\"1\" parent=\"1\" source=\"dns\" target=\"lb\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"><Array as=\"points\"><mxPoint x=\"579\" y=\"83\"/></Array></mxGeometry></mxCell>\n <mxCell id=\"e3\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;\" edge=\"1\" parent=\"1\" source=\"lb\" target=\"vm\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"></mxGeometry></mxCell>\n <mxCell id=\"e4\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;\" edge=\"1\" parent=\"1\" source=\"vm\" target=\"sql\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"></mxGeometry></mxCell>\n <mxCell id=\"e5\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;dashed=1;\" edge=\"1\" parent=\"1\" source=\"vm\" target=\"redis\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"><Array as=\"points\"><mxPoint x=\"567\" y=\"400\"/><mxPoint x=\"859\" y=\"400\"/></Array></mxGeometry></mxCell>\n <mxCell id=\"e6\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;dashed=1;\" edge=\"1\" parent=\"1\" source=\"vm\" target=\"bus\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"><Array as=\"points\"><mxPoint x=\"567\" y=\"420\"/><mxPoint x=\"989\" y=\"420\"/></Array></mxGeometry></mxCell>\n <mxCell id=\"c1\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;\" edge=\"1\" parent=\"1\" source=\"repo\" target=\"pipe\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"></mxGeometry></mxCell>\n <mxCell id=\"c2\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;\" edge=\"1\" parent=\"1\" source=\"pipe\" target=\"acr\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"></mxGeometry></mxCell>\n <mxCell id=\"c3\" value=\"\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;\" edge=\"1\" parent=\"1\" source=\"acr\" target=\"deploy\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"></mxGeometry></mxCell>\n <mxCell id=\"c4\" value=\"배포\" style=\"edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=blockThin;endFill=1;strokeColor=#918c83;fontSize=10;fontColor=#6f6b63;labelBackgroundColor=#FFFFFF;jumpStyle=arc;jumpSize=7;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;\" edge=\"1\" parent=\"1\" source=\"deploy\" target=\"vm\"><mxGeometry x=\"0\" relative=\"1\" as=\"geometry\"><Array as=\"points\"><mxPoint x=\"1030\" y=\"490\"/><mxPoint x=\"567\" y=\"490\"/></Array></mxGeometry></mxCell>\n </root>\n </mxGraphModel>\n </diagram>\n</mxfile>",
12
+ svg: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"background: transparent; background-color: transparent; color-scheme: light dark;\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" width=\"1102px\" height=\"648px\" viewBox=\"0 0 1102 648\"><defs></defs><g><g data-cell-id=\"0\"><g data-cell-id=\"1\"><g data-cell-id=\"user\"><g transform=\"translate(0.5,0.5)\"><rect x=\"0.5\" y=\"42.2\" width=\"140\" height=\"40\" rx=\"4.8\" ry=\"4.8\" fill=\"#ffffff\" stroke=\"#c3bdb1\" pointer-events=\"all\" style=\"fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(195, 189, 177), rgb(80, 74, 64));\"></rect></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"71\" y=\"65\" fill=\"#2a2a2a\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(42, 42, 42), rgb(201, 201, 201));\">인터넷 사용자</text></switch></g></g></g><g data-cell-id=\"dns\"><g><image width=\"50\" height=\"50\" xlink:href=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJhIiBjeD0iLTY4MTEuNCIgY3k9IjY3MjkuNjkiIHI9IjE3IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KC41IDAgMCAtLjUgMzQxNC45MSAzMzc0LjA1KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iLjE4IiBzdG9wLWNvbG9yPSIjNWVhMGVmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA3OGQ0Ii8+PC9yYWRpYWxHcmFkaWVudD48L2RlZnM+PHBhdGggZD0iTTE0LjIxIDE1LjcyQTguNSA4LjUgMCAwMTMuNzkgMi4yOGwuMDktLjA2YTguNSA4LjUgMCAwMTEwLjMzIDEzLjUiIGZpbGw9InVybCgjYSkiLz48cGF0aCBkPSJNOSAxLjMxQTcuNjkgNy42OSAwIDEwMTYuNjkgOSA3LjcgNy43IDAgMDA5IDEuMzF6bTUuMTUgMi41OWE3LjM3IDcuMzcgMCAwMS0yLjE1LjhBOC44MyA4LjgzIDAgMDAxMC43NSAyYTcuMiA3LjIgMCAwMTMuNCAxLjl6TTkgMS43NGE2LjU5IDYuNTkgMCAwMTEuMDkuMDkgNy40OCA3LjQ4IDAgMDExLjUzIDMgMTUuMTIgMTUuMTIgMCAwMS01LjQ1IDAgNy4zOCA3LjM4IDAgMDExLjUxLTIuOTRBNy4zNCA3LjM0IDAgMDE5IDEuNzR6TTcgMmE4LjcyIDguNzIgMCAwMC0xLjI3IDIuNjggNS41OCA1LjU4IDAgMDEtMS45LS43N0E3LjM1IDcuMzUgMCAwMTcgMnpNMy43MiAxNGE1LjI3IDUuMjcgMCAwMTEuNzgtLjc2IDcuMDggNy4wOCAwIDAwMS4zNSAyLjcyQTcuMjUgNy4yNSAwIDAxMy43MiAxNHptNi40MSAyLjJhNy4wOCA3LjA4IDAgMDEtMS4xMy4wNiA2LjgzIDYuODMgMCAwMS0xLjQ0LS4xNSA2IDYgMCAwMS0xLjY3LTMgMTQuNzMgMTQuNzMgMCAwMTUuODggMCA2IDYgMCAwMS0xLjY5IDN6bS43My0uMTZhNy4xMyA3LjEzIDAgMDAxLjM4LTIuOCA2LjY4IDYuNjggMCAwMTIgLjgzQTcuMTMgNy4xMyAwIDAxMTAuODYgMTZ6bTEuNDgtMy4yMmMuMDgtLjM2LjE1LS43My4yLTEuMTJsLS40Ni4xMWMtLjA1LjMxLS4xLjYyLS4xNy45MWExNS4yMyAxNS4yMyAwIDAwLTYuMDkgMGMtLjA3LS4yNy0uMTItLjU2LS4xNy0uODZhLjI4LjI4IDAgMDEwLS4wOWwtLjQ2LS4xM2EyLjM2IDIuMzYgMCAwMDAgLjI4YzAgLjMyLjExLjYyLjE3LjkxYTUuOSA1LjkgMCAwMC0yIC44NSA3LjI0IDcuMjQgMCAwMS4xMS05LjQgNi4yOSA2LjI5IDAgMDAyLjA4Ljg2Yy0uMDcuMjQtLjEzLjUtLjE4Ljc2czAgLjI1LS4wOC4zN2wuNDctLjExdi0uMTdjLjA2LS4yNi4xMi0uNTEuMTktLjc1QTE0Ljg5IDE0Ljg5IDAgMDA5IDUuNDhhMTUgMTUgMCAwMDIuNzgtLjI2Yy4wNy4yNy4xNC41Ni4yLjg1bC40Ni4xMXEtLjExLS41NC0uMjQtMWE3LjczIDcuNzMgMCAwMDIuMy0uOTEgNy4yMiA3LjIyIDAgMDEuMDYgOS40OSA3LjI4IDcuMjggMCAwMC0yLjIyLS45N3oiIGZpbGw9IiM1ZWEwZWYiLz48cGF0aCBkPSJNMy42OSA3YTcuOTIgNy45MiAwIDAxMS4xNi0uMDggMi40NCAyLjQ0IDAgMDExLjcxLjUyIDIgMiAwIDAxLjU5IDEuNDYgMi4yMSAyLjIxIDAgMDEtLjYxIDEuNjQgMi42IDIuNiAwIDAxLTEuODYuNjEgOS4xNyA5LjE3IDAgMDEtMS0uMDV6bS41NSAzLjczYTQgNCAwIDAwLjU1IDAgMS42MiAxLjYyIDAgMDAxLjc5LTEuODFBMS41IDEuNSAwIDAwNC44NyA3LjNhMy4xNyAzLjE3IDAgMDAtLjYzIDB6TTcuODYgMTEuMTFWNi45aC41OUw5LjggOWExMi4xOCAxMi4xOCAwIDAxLjc2IDEuMzdjLS4wNS0uNTYtLjA2LTEuMDctLjA2LTEuNzNWNi45aC41djQuMjFoLS41NUw5LjEzIDljLS4yOS0uNDctLjU3LTEtLjc5LTEuNHYzLjU0ek0xMS44OSAxMC40NWEyIDIgMCAwMDEgLjI3Yy41NiAwIC44OC0uMjkuODgtLjcycy0uMjItLjYyLS43OS0uODMtMS4xMi0uNi0xLjEyLTEuMmExLjIyIDEuMjIgMCAwMTEuMzctMS4xNCAyIDIgMCAwMS45My4ybC0uMTYuNDVhMS42MyAxLjYzIDAgMDAtLjgtLjJjLS41OCAwLS44LjM0LS44LjYzcy4yNi41OS44NC44MSAxLjA4LjYyIDEuMDggMS4yNC0uNDggMS4yMS0xLjQ4IDEuMjFhMi4xNiAyLjE2IDAgMDEtMS4wNy0uMjd6IiBmaWxsPSIjZmZmIi8+PC9zdmc+\" preserveAspectRatio=\"none\" x=\"218.5\" y=\"34.2\"></image></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"244\" y=\"102\" fill=\"#2a2a2a\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(42, 42, 42), rgb(201, 201, 201));\">Azure DNS</text></switch></g></g></g><g data-cell-id=\"sub\"><g transform=\"translate(0.5,0.5)\"><rect x=\"360.5\" y=\"0.2\" width=\"740\" height=\"440\" rx=\"66\" ry=\"66\" fill=\"none\" stroke=\"#b4afa3\" stroke-dasharray=\"3 3\" pointer-events=\"none\" style=\"stroke: light-dark(rgb(180, 175, 163), rgb(91, 86, 76));\"></rect></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"374\" y=\"20\" fill=\"#6f6b63\" font-family=\"Helvetica\" font-size=\"11px\" style=\"fill: light-dark(rgb(111, 107, 99), rgb(148, 145, 138));\">Azure 구독</text></switch></g></g><g data-cell-id=\"vnet\"><g transform=\"translate(0.5,0.5)\"><rect x=\"390.5\" y=\"44.2\" width=\"680\" height=\"370\" rx=\"55.5\" ry=\"55.5\" fill=\"none\" stroke=\"#0078d4\" stroke-dasharray=\"3 3\" pointer-events=\"none\" style=\"stroke: light-dark(rgb(0, 120, 212), rgb(63, 166, 245));\"></rect></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"427\" y=\"64\" fill=\"#0078D4\" font-family=\"Helvetica\" font-size=\"11px\" style=\"fill: light-dark(rgb(0, 120, 212), rgb(63, 166, 245));\">VNet 10.0.0.0/16</text></switch></g></g><g data-cell-id=\"vnetI\"><g><image width=\"20\" height=\"20\" xlink:href=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iOS44OCIgeTE9IjguNTkiIHgyPSIxMS41MiIgeTI9IjEwLjIzIiBncmFkaWVudFRyYW5zZm9ybT0icm90YXRlKC0uMDggLTI4NS40NjQgLTE0NTQuMDgpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjODZkNjMzIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjNWU5NjI0Ii8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImIiIHgxPSI2LjE4IiB5MT0iOC41OSIgeDI9IjcuODEiIHkyPSIxMC4yMyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzg2ZDYzMyIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzVlOTYyNCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJjIiB4MT0iMi40OCIgeTE9IjguNTkiIHgyPSI0LjExIiB5Mj0iMTAuMjMiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM4NmQ2MzMiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM1ZTk2MjQiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48Y2lyY2xlIGN4PSIxMi43NCIgY3k9IjguOTkiIHI9IjEuMTYiIGZpbGw9InVybCgjYSkiLz48Y2lyY2xlIGN4PSI5LjA0IiBjeT0iOSIgcj0iMS4xNiIgZmlsbD0idXJsKCNiKSIvPjxjaXJjbGUgY3g9IjUuMzQiIGN5PSI5IiByPSIxLjE2IiBmaWxsPSJ1cmwoI2MpIi8+PHBhdGggZD0iTTYuMTgyIDEzLjYzOGwtLjY2NC42NjVhLjMuMyAwIDAxLS40MjQgMEwuMTggOS40MDRhLjYuNiAwIDAxLS4wMDEtLjg0OGwuNjYzLS42NjYgNS4zNCA1LjMyNGEuMy4zIDAgMDEwIC40MjV6IiBmaWxsPSIjNTBlNmZmIi8+PHBhdGggZD0iTTUuNDE4IDMuNzA4bC42NjYuNjY0YS4zLjMgMCAwMTAgLjQyNEwuODM4IDEwLjA1N2wtLjY2Ni0uNjYzYS42LjYgMCAwMS0uMDAxLS44NDlMNC45OTQgMy43MWEuMy4zIDAgMDEuNDI0IDB6IiBmaWxsPSIjMTQ5MGRmIi8+PHBhdGggZD0iTTE3LjE1NyA3Ljg4bC42NjMuNjY2YS42LjYgMCAwMTAgLjg0OGwtNC45MTUgNC45YS4zLjMgMCAwMS0uNDI0IDBsLS42NjQtLjY2NmEuMy4zIDAgMDEwLS40MjRsNS4zNC01LjMyNHoiIGZpbGw9IiM1MGU2ZmYiLz48cGF0aCBkPSJNMTcuODE4IDkuMzg3bC0uNjY1LjY2NC01LjI0Ny01LjI2MWEuMy4zIDAgMDEwLS40MjVsLjY3NC0uNjdhLjMuMyAwIDAxLjQyNCAwbDQuODIzIDQuODM2YS42LjYgMCAwMS0uMDAyLjg0OXoiIGZpbGw9IiMxNDkwZGYiLz48L3N2Zz4=\" preserveAspectRatio=\"none\" x=\"398.5\" y=\"48.2\"></image></g></g><g data-cell-id=\"pub\"><g transform=\"translate(0.5,0.5)\"><rect x=\"414.5\" y=\"84.2\" width=\"300\" height=\"130\" rx=\"19.5\" ry=\"19.5\" fill=\"none\" stroke=\"#7aa116\" stroke-dasharray=\"3 3\" pointer-events=\"none\" style=\"stroke: light-dark(rgb(122, 161, 22), rgb(97, 130, 11));\"></rect></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"429\" y=\"104\" fill=\"#7AA116\" font-family=\"Helvetica\" font-size=\"11px\" style=\"fill: light-dark(rgb(122, 161, 22), rgb(97, 130, 11));\">프런트 서브넷 10.0.1.0/24</text></switch></g></g><g data-cell-id=\"lb\"><g><image width=\"50\" height=\"50\" xlink:href=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iOSIgeTE9IjE5Ljg1IiB4Mj0iOSIgeTI9Ii0xLjAyIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjNWU5NjI0Ii8+PHN0b3Agb2Zmc2V0PSIuMDIiIHN0b3AtY29sb3I9IiM1Zjk3MjQiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM3NmJjMmQiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cGF0aCBkPSJNLjE4IDguNTdMOC41Ny4xOGEuNi42IDAgMDEuODYgMGw4LjM5IDguMzlhLjYuNiAwIDAxMCAuODZsLTguNCA4LjRhLjYuNiAwIDAxLS44NCAwbC04LjQtOC40YS42LjYgMCAwMTAtLjg2eiIgZmlsbD0idXJsKCNhKSIvPjxwYXRoIGQ9Ik0xMS4yIDRMOS4wOCAxLjg5YS4xMi4xMiAwIDAwLS4xNiAwTDYuOCA0YS4xLjEgMCAwMC4wOC4xOGgxLjI0YS4xMS4xMSAwIDAxLjExLjExdjJhLjExLjExIDAgMDAuMTEuMTFoMS4zMmEuMTEuMTEgMCAwMC4xMS0uMTF2LTJhLjExLjExIDAgMDEuMTEtLjExaDEuMjRBLjEuMSAwIDAwMTEuMiA0ek00IDYuNjFMMS45IDguNzRhLjExLjExIDAgMDAwIC4xNUw0IDExYS4xMS4xMSAwIDAwLjE5LS4wOFY5LjY5YS4xMS4xMSAwIDAxLjExLS4xMWgyYS4xLjEgMCAwMC4xLS4xMVY4LjE1QS4xLjEgMCAwMDYuMzMgOGgtMmEuMS4xIDAgMDEtLjExLS4xVjYuNjlBLjExLjExIDAgMDA0IDYuNjF6TTE0LjA4IDExbDIuMTMtMi4xMmEuMTEuMTEgMCAwMDAtLjE1bC0yLjEzLTIuMTJhLjExLjExIDAgMDAtLjE4LjA4djEuMjVhLjEuMSAwIDAxLS4xMS4xaC0yYS4xLjEgMCAwMC0uMS4xMXYxLjMyYS4xLjEgMCAwMC4xLjExaDJhLjExLjExIDAgMDEuMTEuMTF2MS4yNGEuMTEuMTEgMCAwMC4xOC4wN3oiIGZpbGw9IiNiNGVjMzYiLz48cGF0aCBkPSJNMTEuNzkgOWEyLjc5IDIuNzkgMCAxMC0zLjU0IDIuNjd2Ljk1YTEuNzEgMS43MSAwIDEwMS41NyAwdi0xQTIuNzcgMi43NyAwIDAwMTEuNzkgOXoiIGZpbGw9IiNmZmYiLz48Y2lyY2xlIGN4PSI5LjAxIiBjeT0iOC45OSIgcj0iMS42MiIgZmlsbD0iIzVlYTBlZiIvPjwvc3ZnPg==\" preserveAspectRatio=\"none\" x=\"539.5\" y=\"118.2\"></image></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"565\" y=\"186\" fill=\"#2a2a2a\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(42, 42, 42), rgb(201, 201, 201));\">Load Balancer</text></switch></g></g></g></g><g data-cell-id=\"priv\"><g transform=\"translate(0.5,0.5)\"><rect x=\"414.5\" y=\"234.2\" width=\"620\" height=\"150\" rx=\"22.5\" ry=\"22.5\" fill=\"none\" stroke=\"#00a4a6\" stroke-dasharray=\"3 3\" pointer-events=\"none\" style=\"stroke: light-dark(rgb(0, 164, 166), rgb(15, 156, 158));\"></rect></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"429\" y=\"254\" fill=\"#00A4A6\" font-family=\"Helvetica\" font-size=\"11px\" style=\"fill: light-dark(rgb(0, 164, 166), rgb(15, 156, 158));\">앱 서브넷 10.0.2.0/24</text></switch></g></g><g data-cell-id=\"nsg\"><g transform=\"translate(0.5,0.5)\"><rect x=\"432.5\" y=\"262.2\" width=\"190\" height=\"106\" rx=\"15.9\" ry=\"15.9\" fill=\"none\" stroke=\"#dd3522\" stroke-dasharray=\"3 3\" pointer-events=\"none\" style=\"stroke: light-dark(rgb(221, 53, 34), rgb(255, 133, 117));\"></rect></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"469\" y=\"282\" fill=\"#DD3522\" font-family=\"Helvetica\" font-size=\"11px\" style=\"fill: light-dark(rgb(221, 53, 34), rgb(255, 133, 117));\">NSG</text></switch></g></g><g data-cell-id=\"nsgI\"><g><image width=\"20\" height=\"20\" xlink:href=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iOS4wMSIgeTE9Ii43NSIgeDI9IjkuMDEiIHkyPSIxNy4yNSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzVlYTBlZiIvPjxzdG9wIG9mZnNldD0iLjE4IiBzdG9wLWNvbG9yPSIjNTU5Y2VjIi8+PHN0b3Agb2Zmc2V0PSIuNDciIHN0b3AtY29sb3I9IiMzYzkxZTUiLz48c3RvcCBvZmZzZXQ9Ii44NCIgc3RvcC1jb2xvcj0iIzEzODBkYSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAwNzhkNCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxwYXRoIGQ9Ik0xNi4zNiA4LjRjMCA0Ljg0LTUuODUgOC43NC03LjEyIDkuNTNhLjQ2LjQ2IDAgMDEtLjQ4IDBjLTEuMjctLjc5LTcuMTItNC42OS03LjEyLTkuNTNWMi41OGEuNDYuNDYgMCAwMS40NS0uNDZDNi42NCAyIDUuNTkgMCA5IDBzMi4zNiAyIDYuOTEgMi4xMmEuNDYuNDYgMCAwMS40NS40NnoiIGZpbGw9IiMwMDc4ZDQiLz48cGF0aCBkPSJNMTUuNzUgOC40NWMwIDQuNDQtNS4zNiA4LTYuNTMgOC43NGEuNDMuNDMgMCAwMS0uNDQgMGMtMS4xNy0uNzItNi41My00LjMtNi41My04Ljc0VjMuMTFhLjQyLjQyIDAgMDEuNDEtLjQyQzYuODMgMi41OCA1Ljg3Ljc1IDkgLjc1czIuMTcgMS44MyA2LjM0IDEuOTRhLjQyLjQyIDAgMDEuNDEuNDJ6IiBmaWxsPSIjNmJiOWYyIi8+PHBhdGggZD0iTTkgOVYuNzVjMy4xMyAwIDIuMTcgMS44MyA2LjM0IDEuOTRhLjQzLjQzIDAgMDEuNDEuNDN2NS4zNGE0Ljg5IDQuODkgMCAwMTAgLjU0em0wIDBIMi4yOGMuNCA0LjE4IDUuMzggNy41IDYuNSA4LjE5YS4zOS4zOSAwIDAwLjE4LjA2SDl6IiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZD0iTTIuNjYgMi42OUM2LjgzIDIuNTggNS44Ny43NSA5IC43NVY5SDIuMjhhNC44OSA0Ljg5IDAgMDEwLS41NFYzLjEyYS40My40MyAwIDAxLjM4LS40M3pNMTUuNzIgOUg5djguMjVhLjM5LjM5IDAgMDAuMTgtLjA2YzEuMTYtLjY5IDYuMTQtNC4wMSA2LjU0LTguMTl6IiBmaWxsPSIjNTBlNmZmIi8+PC9zdmc+\" preserveAspectRatio=\"none\" x=\"440.5\" y=\"266.2\"></image></g></g><g data-cell-id=\"vm\"><g><image width=\"50\" height=\"50\" xlink:href=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iOC44OCIgeTE9IjEyLjIxIiB4Mj0iOC44OCIgeTI9Ii4yMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzAwNzhkNCIvPjxzdG9wIG9mZnNldD0iLjgyIiBzdG9wLWNvbG9yPSIjNWVhMGVmIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImIiIHgxPSI4Ljg4IiB5MT0iMTYuODQiIHgyPSI4Ljg4IiB5Mj0iMTIuMjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9Ii4xNSIgc3RvcC1jb2xvcj0iI2NjYyIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzcwNzA3MCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9Ii0uMTIiIHk9Ii4yMSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjEyIiByeD0iLjYiIGZpbGw9InVybCgjYSkiLz48cGF0aCBmaWxsPSIjNTBlNmZmIiBkPSJNMTEuODggNC40NnYzLjQ5bC0zIDEuNzZ2LTMuNWwzLTEuNzV6Ii8+PHBhdGggZmlsbD0iI2MzZjFmZiIgZD0iTTExLjg4IDQuNDZsLTMgMS43Ni0zLTEuNzYgMy0xLjc1IDMgMS43NXoiLz48cGF0aCBmaWxsPSIjOWNlYmZmIiBkPSJNOC44OCA2LjIydjMuNDlsLTMtMS43NlY0LjQ2bDMgMS43NnoiLz48cGF0aCBmaWxsPSIjYzNmMWZmIiBkPSJNNS44OCA3Ljk1bDMtMS43NHYzLjVsLTMtMS43NnoiLz48cGF0aCBmaWxsPSIjOWNlYmZmIiBkPSJNMTEuODggNy45NWwtMy0xLjc0djMuNWwzLTEuNzZ6Ii8+PHBhdGggZD0iTTEyLjQ5IDE1Ljg0Yy0xLjc4LS4yOC0xLjg1LTEuNTYtMS44NS0zLjYzSDcuMTFjMCAyLjA3LS4wNiAzLjM1LTEuODQgMy42M2ExIDEgMCAwMC0uODkgMWg5YTEgMSAwIDAwLS44OS0xeiIgZmlsbD0idXJsKCNiKSIvPjwvc3ZnPg==\" preserveAspectRatio=\"none\" x=\"502.5\" y=\"288.2\"></image></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"528\" y=\"356\" fill=\"#2a2a2a\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(42, 42, 42), rgb(201, 201, 201));\">Virtual Machine</text></switch></g></g></g></g><g data-cell-id=\"sql\"><g><image width=\"50\" height=\"50\" xlink:href=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJiIiBjeD0iOS4zNiIgY3k9IjEwLjU3IiByPSI3LjA3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZjJmMmYyIi8+PHN0b3Agb2Zmc2V0PSIuNTgiIHN0b3AtY29sb3I9IiNlZWUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNlNmU2ZTYiLz48L3JhZGlhbEdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjIuNTkiIHkxPSIxMC4xNiIgeDI9IjE1LjQxIiB5Mj0iMTAuMTYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMwMDViYTEiLz48c3RvcCBvZmZzZXQ9Ii4wNyIgc3RvcC1jb2xvcj0iIzAwNjBhOSIvPjxzdG9wIG9mZnNldD0iLjM2IiBzdG9wLWNvbG9yPSIjMDA3MWM4Ii8+PHN0b3Agb2Zmc2V0PSIuNTIiIHN0b3AtY29sb3I9IiMwMDc4ZDQiLz48c3RvcCBvZmZzZXQ9Ii42NCIgc3RvcC1jb2xvcj0iIzAwNzRjZCIvPjxzdG9wIG9mZnNldD0iLjgyIiBzdG9wLWNvbG9yPSIjMDA2YWJiIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA1YmExIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBhdGggZD0iTTkgNS4xNGMtMy41NCAwLTYuNDEtMS02LjQxLTIuMzJ2MTIuMzZjMCAxLjI3IDIuODIgMi4zIDYuMzIgMi4zMkg5YzMuNTQgMCA2LjQxLTEgNi40MS0yLjMyVjIuODJjMCAxLjI5LTIuODcgMi4zMi02LjQxIDIuMzJ6IiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZD0iTTE1LjQxIDIuODJjMCAxLjI5LTIuODcgMi4zMi02LjQxIDIuMzJzLTYuNDEtMS02LjQxLTIuMzJTNS40Ni41IDkgLjVzNi40MSAxIDYuNDEgMi4zMiIgZmlsbD0iI2U4ZThlOCIvPjxwYXRoIGQ9Ik0xMy45MiAyLjYzYzAgLjgyLTIuMjEgMS40OC00LjkyIDEuNDhzLTQuOTItLjY2LTQuOTItMS40OFM2LjI5IDEuMTYgOSAxLjE2czQuOTIuNjYgNC45MiAxLjQ3IiBmaWxsPSIjNTBlNmZmIi8+PHBhdGggZD0iTTkgM2ExMS41NSAxMS41NSAwIDAwLTMuODkuNTdBMTEuNDIgMTEuNDIgMCAwMDkgNC4xMWExMS4xNSAxMS4xNSAwIDAwMy44OS0uNThBMTEuODQgMTEuODQgMCAwMDkgM3oiIGZpbGw9IiMxOThhYjMiLz48cGF0aCBkPSJNMTIuOSAxMS40VjhIMTJ2NC4xM2gyLjQ2di0uNzN6TTUuNzYgOS43M2ExLjgzIDEuODMgMCAwMS0uNTEtLjMxLjQ0LjQ0IDAgMDEtLjEyLS4zMi4zNC4zNCAwIDAxLjE1LS4zLjY4LjY4IDAgMDEuNDItLjEyIDEuNjIgMS42MiAwIDAxMSAuMjl2LS44NmEyLjU4IDIuNTggMCAwMC0xLS4xNiAxLjY0IDEuNjQgMCAwMC0xLjA5LjM0IDEuMDggMS4wOCAwIDAwLS40Mi44OWMwIC41MS4zMi45MSAxIDEuMjFhMi44OCAyLjg4IDAgMDEuNjIuMzYuNDIuNDIgMCAwMS4xNS4zMi4zOC4zOCAwIDAxLS4xNi4zMS44MS44MSAwIDAxLS40NS4xMSAxLjY2IDEuNjYgMCAwMS0xLjA5LS40MlYxMmEyLjE3IDIuMTcgMCAwMDEuMDcuMjQgMS44OCAxLjg4IDAgMDAxLjE4LS4zMyAxLjA4IDEuMDggMCAwMC4zMy0uOTEgMS4wNSAxLjA1IDAgMDAtLjI1LS43IDIuNDIgMi40MiAwIDAwLS44My0uNTd6TTExIDExLjMyYTIuMzQgMi4zNCAwIDAwLjMzLTEuMjZBMi4zMiAyLjMyIDAgMDAxMSA5YTEuODEgMS44MSAwIDAwLS43LS43NSAyIDIgMCAwMC0xLS4yNiAyLjExIDIuMTEgMCAwMC0xLjA4LjI3IDEuODYgMS44NiAwIDAwLS43My43NCAyLjQ2IDIuNDYgMCAwMC0uMjYgMS4xNCAyLjI2IDIuMjYgMCAwMC4yNCAxIDEuNzYgMS43NiAwIDAwLjY5Ljc0IDIuMDYgMi4wNiAwIDAwMSAuM2wuODYgMWgxLjIxTDEwIDEyLjA4YTEuNzkgMS43OSAwIDAwMS0uNzZ6bS0xLS4yNWEuOTQuOTQgMCAwMS0uNzYuMzUuOTIuOTIgMCAwMS0uNzYtLjM2IDEuNTIgMS41MiAwIDAxLS4yOS0xIDEuNTMgMS41MyAwIDAxLjI5LTEgMSAxIDAgMDEuNzgtLjM3Ljg3Ljg3IDAgMDEuNzUuMzcgMS42MiAxLjYyIDAgMDEuMjcgMSAxLjQ2IDEuNDYgMCAwMS0uMjggMS4wMXoiIGZpbGw9InVybCgjYikiLz48L3N2Zz4=\" preserveAspectRatio=\"none\" x=\"664.5\" y=\"278.2\"></image></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"690\" y=\"346\" fill=\"#2a2a2a\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(42, 42, 42), rgb(201, 201, 201));\">Azure SQL</text></switch></g></g></g><g data-cell-id=\"redis\"><g><image width=\"50\" height=\"50\" xlink:href=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iOS41IiB5MT0iNy4zNyIgeDI9IjE3LjUiIHkyPSI3LjM3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMDA1YmExIi8+PHN0b3Agb2Zmc2V0PSIuMDciIHN0b3AtY29sb3I9IiMwMDYwYTkiLz48c3RvcCBvZmZzZXQ9Ii4zNiIgc3RvcC1jb2xvcj0iIzAwNzFjOCIvPjxzdG9wIG9mZnNldD0iLjUyIiBzdG9wLWNvbG9yPSIjMDA3OGQ0Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA1YmExIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImIiIHgxPSIuNSIgeTE9IjcuMzciIHgyPSI4LjUiIHkyPSI3LjM3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMDA1YmExIi8+PHN0b3Agb2Zmc2V0PSIuMDciIHN0b3AtY29sb3I9IiMwMDYwYTkiLz48c3RvcCBvZmZzZXQ9Ii4zNiIgc3RvcC1jb2xvcj0iIzAwNzFjOCIvPjxzdG9wIG9mZnNldD0iLjUyIiBzdG9wLWNvbG9yPSIjMDA3OGQ0Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA1YmExIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImMiIHgxPSI1IiB5MT0iMTEuOSIgeDI9IjEzIiB5Mj0iMTEuOSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzAwNWJhMSIvPjxzdG9wIG9mZnNldD0iLjA3IiBzdG9wLWNvbG9yPSIjMDA2MGE5Ii8+PHN0b3Agb2Zmc2V0PSIuMzYiIHN0b3AtY29sb3I9IiMwMDcxYzgiLz48c3RvcCBvZmZzZXQ9Ii41MiIgc3RvcC1jb2xvcj0iIzAwNzhkNCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAwNWJhMSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxwYXRoIGQ9Ik0xMy41IDQuNjJjLTIuMjEgMC00LS41Ny00LTEuMjh2Ni43OWMwIC42OSAxLjc2IDEuMjYgMy45NSAxLjI3aC4wNWMyLjIxIDAgNC0uNTcgNC0xLjI3VjMuMzRjMCAuNzEtMS43OSAxLjI4LTQgMS4yOHoiIGZpbGw9InVybCgjYSkiLz48cGF0aCBkPSJNMTcuNSAzLjM0YzAgLjcxLTEuNzkgMS4yOC00IDEuMjhzLTQtLjU3LTQtMS4yOCAxLjc5LTEuMjcgNC0xLjI3IDQgLjU3IDQgMS4yNyIgZmlsbD0iI2U4ZThlOCIvPjxwYXRoIGQ9Ik0xNi41NyAzLjI0YzAgLjQ1LTEuMzguODEtMy4wNy44MXMtMy4wNy0uMzYtMy4wNy0uODEgMS4zOC0uODEgMy4wNy0uODEgMy4wNy4zNiAzLjA3LjgxIiBmaWxsPSIjNTBlNmZmIi8+PHBhdGggZD0iTTEzLjUgMy40M2E4LjY1IDguNjUgMCAwMC0yLjQzLjMgNy44IDcuOCAwIDAwMi40My4zMiA3LjggNy44IDAgMDAyLjQzLS4zMiA4LjY1IDguNjUgMCAwMC0yLjQzLS4zeiIgZmlsbD0iIzMyYmVkZCIvPjxwYXRoIGQ9Ik00LjUgNC42MmMtMi4yMSAwLTQtLjU3LTQtMS4yOHY2Ljc5YzAgLjY5IDEuNzYgMS4yNiA0IDEuMjcgMi4yMSAwIDQtLjU3IDQtMS4yN1YzLjM0YzAgLjcxLTEuNzkgMS4yOC00IDEuMjh6IiBmaWxsPSJ1cmwoI2IpIi8+PHBhdGggZD0iTTguNSAzLjM0YzAgLjcxLTEuNzkgMS4yOC00IDEuMjhzLTQtLjU3LTQtMS4yOCAxLjc5LTEuMjcgNC0xLjI3IDQgLjU3IDQgMS4yNyIgZmlsbD0iI2U4ZThlOCIvPjxwYXRoIGQ9Ik03LjU3IDMuMjRjMCAuNDUtMS4zOC44MS0zLjA3Ljgxcy0zLjA3LS4zNi0zLjA3LS44MSAxLjM4LS44MSAzLjA3LS44MSAzLjA3LjM2IDMuMDcuODEiIGZpbGw9IiM1MGU2ZmYiLz48cGF0aCBkPSJNNC41IDMuNDNhOC42NSA4LjY1IDAgMDAtMi40My4zIDcuOCA3LjggMCAwMDIuNDMuMzIgNy44IDcuOCAwIDAwMi40My0uMzIgOC42NSA4LjY1IDAgMDAtMi40My0uM3oiIGZpbGw9IiMzMmJlZGQiLz48cGF0aCBkPSJNOSA5LjE1Yy0yLjIxIDAtNC0uNTctNC0xLjI4djYuNzljMCAuNyAxLjc2IDEuMjYgMy45NSAxLjI3SDljMi4yMSAwIDQtLjU3IDQtMS4yN1Y3Ljg3YzAgLjcxLTEuNzkgMS4yOC00IDEuMjh6IiBmaWxsPSJ1cmwoI2MpIi8+PHBhdGggZD0iTTEzIDcuODdjMCAuNzEtMS43OSAxLjI4LTQgMS4yOHMtNC0uNTctNC0xLjI4UzYuNzkgNi42IDkgNi42czQgLjU3IDQgMS4yNyIgZmlsbD0iI2U4ZThlOCIvPjxwYXRoIGQ9Ik0xMi4wNyA3Ljc3YzAgLjQ1LTEuMzguODEtMy4wNy44MXMtMy4wNy0uMzYtMy4wNy0uODFTNy4zMSA3IDkgN3MzLjA3LjM2IDMuMDcuODEiIGZpbGw9IiM1MGU2ZmYiLz48cGF0aCBkPSJNOSA4YTguNjUgOC42NSAwIDAwLTIuNDMuM0E3LjggNy44IDAgMDA5IDguNThhNy44IDcuOCAwIDAwMi40My0uMzJBOC42NSA4LjY1IDAgMDA5IDh6IiBmaWxsPSIjMzJiZWRkIi8+PC9zdmc+\" preserveAspectRatio=\"none\" x=\"794.5\" y=\"278.2\"></image></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"820\" y=\"346\" fill=\"#2a2a2a\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(42, 42, 42), rgb(201, 201, 201));\">Cache for Redis</text></switch></g></g></g><g data-cell-id=\"bus\"><g><image width=\"50\" height=\"50\" xlink:href=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iOSIgeTE9IjE0LjA3MSIgeDI9IjkiIHkyPSIxLjMxMyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzAwNzhkNCIvPjxzdG9wIG9mZnNldD0iLjE1NiIgc3RvcC1jb2xvcj0iIzEzODBkYSIvPjxzdG9wIG9mZnNldD0iLjUyOCIgc3RvcC1jb2xvcj0iIzNjOTFlNSIvPjxzdG9wIG9mZnNldD0iLjgyMiIgc3RvcC1jb2xvcj0iIzU1OWNlYyIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzVlYTBlZiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxwYXRoIGQ9Ik0xOCAxMC4wNzVhNC4wNDQgNC4wNDQgMCAwMC0zLjUxLTMuODg3IDUuMSA1LjEgMCAwMC01LjI1LTQuODc1IDUuMjI5IDUuMjI5IDAgMDAtNSAzLjQwOEE0LjgyNSA0LjgyNSAwIDAwMCA5LjM2NGE0LjkgNC45IDAgMDA1LjA2OCA0LjcwN2MuMTUxIDAgLjMtLjAwNy40NDctLjAxOWg4LjIwN2EuODE5LjgxOSAwIDAwLjIxNy0uMDMzQTQuMDkzIDQuMDkzIDAgMDAxOCAxMC4wNzV6IiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZD0iTTEyLjA2NyAxMS44MDZoLTYuMzZhLjI3Ni4yNzYgMCAwMC0uMjgyLjI3djEuNzMyYS4yNzYuMjc2IDAgMDAuMjgxLjI3aDYuMzYxYS4yNzYuMjc2IDAgMDAuMjgxLS4yN3YtMS43MzJhLjI3Ny4yNzcgMCAwMC0uMjgxLS4yN3oiIGZpbGw9IiMzMmJlZGQiLz48cGF0aCBkPSJNMTIuMDY3IDE0LjQxNWgtNi4zNmEuMjc2LjI3NiAwIDAwLS4yODIuMjd2MS43MzFhLjI3Ni4yNzYgMCAwMC4yODEuMjcxaDYuMzYxYS4yNzYuMjc2IDAgMDAuMjgxLS4yNzF2LTEuNzMxYS4yNzcuMjc3IDAgMDAtLjI4MS0uMjd6IiBmaWxsPSIjMTk4YWIzIi8+PHBhdGggZD0iTTExLjI3IDEyLjIzMWguMzczYS4wNzIuMDcyIDAgMDEuMDcyLjA3MnYuMzU2YS4wNjkuMDY5IDAgMDEtLjA2OS4wNjloLS4zNzlhLjA2OS4wNjkgMCAwMS0uMDY5LS4wNjlWMTIuM2EuMDcyLjA3MiAwIDAxLjA3Mi0uMDY5ek0xMS4yNjggMTMuMDg3aC4zNzZhLjA3Mi4wNzIgMCAwMS4wNzIuMDcydi4zNTNhLjA3Mi4wNzIgMCAwMS0uMDcyLjA3MmgtLjM3NGEuMDcyLjA3MiAwIDAxLS4wNzItLjA3MnYtLjM1NmEuMDY5LjA2OSAwIDAxLjA3LS4wNjl6TTExLjI4OSAxNC44MjdoLjM3NmEuMDcyLjA3MiAwIDAxLjA3Mi4wNzJ2LjM1NmEuMDY5LjA2OSAwIDAxLS4wNjkuMDY5aC0uMzc2YS4wNzIuMDcyIDAgMDEtLjA3Mi0uMDcyVjE0LjlhLjA2OS4wNjkgMCAwMS4wNjktLjA3M3pNMTEuMjg5IDE1LjY4M2guMzc2YS4wNzIuMDcyIDAgMDEuMDcyLjA3MnYuMzU2YS4wNjkuMDY5IDAgMDEtLjA2OS4wNjloLS4zNzlhLjA2OS4wNjkgMCAwMS0uMDY5LS4wNjl2LS4zNTlhLjA2OS4wNjkgMCAwMS4wNjktLjA2OXoiIGZpbGw9IiNiNGVjMzYiLz48cGF0aCBkPSJNMTIuMDA3IDguOTkzaC02LjM2YS4yNzYuMjc2IDAgMDAtLjI4Mi4yNzFWMTFhLjI3Ny4yNzcgMCAwMC4yODEuMjcxaDYuMzYxYS4yNzcuMjc3IDAgMDAuMjgxLS4yNzFWOS4yNjRhLjI3Ny4yNzcgMCAwMC0uMjgxLS4yNzF6IiBmaWxsPSIjNTBlNmZmIi8+PHBhdGggZD0iTTExLjIwOCA5LjQxOWguMzc2YS4wNzIuMDcyIDAgMDEuMDcyLjA3MnYuMzU2YS4wNjkuMDY5IDAgMDEtLjA2OS4wNjloLS4zNzdhLjA3Mi4wNzIgMCAwMS0uMDcyLS4wNzJ2LS4zNTZhLjA2OS4wNjkgMCAwMS4wNy0uMDY5ek0xMS4yMDggMTAuMjc1aC4zNzZhLjA3Mi4wNzIgMCAwMS4wNzIuMDcydi4zNTNhLjA2OS4wNjkgMCAwMS0uMDY5LjA2OWgtLjM3OWEuMDY5LjA2OSAwIDAxLS4wNjktLjA2OXYtLjM1OWEuMDY5LjA2OSAwIDAxLjA2OS0uMDY2ek0xMS42MzUgNy40bC0yLjQzIDIuNDNhLjI5LjI5IDAgMDEtLjQxIDBMNi4zNjUgNy40YS4xMy4xMyAwIDAxLjA5Mi0uMjIxaDEuNDk0YS4xMjkuMTI5IDAgMDAuMTI5LS4xMjlWNC4wMTRhLjEuMSAwIDAxLjEtLjFoMS42MzZhLjEuMSAwIDAxLjEuMXYzLjAzN2EuMTI5LjEyOSAwIDAwLjEyOS4xMjloMS40OTRhLjEzLjEzIDAgMDEuMDk2LjIyeiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg==\" preserveAspectRatio=\"none\" x=\"924.5\" y=\"278.2\"></image></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"950\" y=\"346\" fill=\"#2a2a2a\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(42, 42, 42), rgb(201, 201, 201));\">Service Bus</text></switch></g></g></g></g></g></g><g data-cell-id=\"cicd\"><g transform=\"translate(0.5,0.5)\"><rect x=\"360.5\" y=\"506.2\" width=\"740\" height=\"140\" rx=\"21\" ry=\"21\" fill=\"none\" stroke=\"#b4afa3\" stroke-dasharray=\"3 3\" pointer-events=\"none\" style=\"stroke: light-dark(rgb(180, 175, 163), rgb(91, 86, 76));\"></rect></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"374\" y=\"526\" fill=\"#6f6b63\" font-family=\"Helvetica\" font-size=\"11px\" style=\"fill: light-dark(rgb(111, 107, 99), rgb(148, 145, 138));\">CI / CD</text></switch></g></g><g data-cell-id=\"repo\"><g transform=\"translate(0.5,0.5)\"><rect x=\"390.5\" y=\"552.2\" width=\"110\" height=\"48\" rx=\"5.76\" ry=\"5.76\" fill=\"#ffffff\" stroke=\"#c3bdb1\" pointer-events=\"all\" style=\"fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(195, 189, 177), rgb(80, 74, 64));\"></rect></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"446\" y=\"573\" fill=\"#2a2a2a\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(42, 42, 42), rgb(201, 201, 201));\"><tspan x=\"446\" y=\"573\">GitHub</tspan><tspan x=\"446\" y=\"586\">(main push)</tspan></text></switch></g></g></g><g data-cell-id=\"pipe\"><g><image width=\"50\" height=\"50\" xlink:href=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iOSIgeTE9IjE2Ljk3IiB4Mj0iOSIgeTI9IjEuMDMiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMwMDc4ZDQiLz48c3RvcCBvZmZzZXQ9Ii4xNiIgc3RvcC1jb2xvcj0iIzEzODBkYSIvPjxzdG9wIG9mZnNldD0iLjUzIiBzdG9wLWNvbG9yPSIjM2M5MWU1Ii8+PHN0b3Agb2Zmc2V0PSIuODIiIHN0b3AtY29sb3I9IiM1NTljZWMiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM1ZWEwZWYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cGF0aCBkPSJNMTcgNHY5Ljc0bC00IDMuMjgtNi4yLTIuMjZWMTdsLTMuNTEtNC41OSAxMC4yMy44VjQuNDR6bS0zLjQxLjQ5TDcuODUgMXYyLjI5TDIuNTggNC44NCAxIDYuODd2NC42MWwyLjI2IDFWNi41N3oiIGZpbGw9InVybCgjYSkiLz48L3N2Zz4=\" preserveAspectRatio=\"none\" x=\"575.5\" y=\"546.2\"></image></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"601\" y=\"614\" fill=\"#2a2a2a\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(42, 42, 42), rgb(201, 201, 201));\">Azure Pipelines</text></switch></g></g></g><g data-cell-id=\"acr\"><g><image width=\"50\" height=\"50\" xlink:href=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iOC42MzciIHkxPSItMS45OTEiIHgyPSI4LjYzNyIgeTI9IjE2LjczOSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzVlYTBlZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAwNzhkNCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiB4MT0iMTIuOTYiIHkxPSI4LjU2MSIgeDI9IjEyLjk2IiB5Mj0iNi4xNDEiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAyMCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMzMzMxMzIiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM1YjVhNWMiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cGF0aCBkPSJNNy40MyA4LjE3OGwyLjU4OS0xLjU3MyA3LjI1NSAyLjczMUEzLjY2NCAzLjY2NCAwIDAwMTYuMjMgNy40OWwtLjAxLS4wNUE0LjE5NCA0LjE5NCAwIDAwMTQgNi4zMmE0LjkxIDQuOTEgMCAwMC01LjEtNC43IDUuMDcxIDUuMDcxIDAgMDAtNC44NCAzLjI5QTQuNjIxIDQuNjIxIDAgMDAwIDkuMzlhNC43MyA0LjczIDAgMDA0Ljg5IDQuNTRoMi41NHoiIGZpbGw9InVybCgjYSkiLz48cGF0aCBmaWxsPSIjNzY3Njc2IiBkPSJNMTAuMDcgNy4xNTlsLjAxIDQuMjggNy45MSAxLjY4di0yLjk4bC03LjkyLTIuOTh6Ii8+PHBhdGggZmlsbD0iIzk5OSIgZD0iTTEwLjA3IDcuMTU5bC0yLjE0IDEuM3YzLjk4bDIuMTUtMSIvPjxwYXRoIGZpbGw9IiNhM2EzYTMiIGQ9Ik0xMy42OCAxMS40OTlsLjcyLjJ2LTIuMzNsLS43Mi0uMjV2Mi4zOHpNMTIuOTYgOC44ODlsLS43Mi0uMjZ2Mi40OWwuNzIuMnYtMi40M3pNMTUuMTIgMTEuODg5bC43LjE5LjAyLTIuMjItLjcyLS4yNHYyLjI3ek0xMC44MSAxMC43NDlsLjcyLjE4di0yLjUzbC0uNzItLjI0djIuNTl6TTE3LjI3IDEwLjM0OWwtLjcyLS4yNXYyLjE3bC43Mi4ydi0yLjEyeiIvPjxwYXRoIGQ9Ik04LjY2IDExLjM2OWwtLjM2LjIxdi0yLjgzbC4zNi0uMTl6bS43MS0zLjIybC0uMzcuMjR2Mi43NWwuMzctLjJ6IiBmaWxsPSIjYjNiM2IzIi8+PHBhdGggZmlsbD0idXJsKCNiKSIgZD0iTTE3Ljk5IDEzLjExOWwtMi4xNi43NC03LjktMS40MiAyLjE1LTEgNy45MSAxLjY4eiIvPjxwYXRoIGZpbGw9IiM3Njc2NzYiIGQ9Ik0xNy45OSAxNi4xNjlsLTcuOTUgMS41MS4wNC01LjU5IDcuOTEgMS40N3YyLjYxeiIvPjxwYXRoIGZpbGw9IiNhM2EzYTMiIGQ9Ik0xMC44MSAxNi43NTl2LTMuNTVsLjcyLjA5djMuMzRsLS43Mi4xMnpNMTIuOTYgMTYuMzk5bC0uNzIuMTN2LTMuMTRsLjcyLjExdjIuOXpNMTMuNjggMTYuMjg5di0yLjcybC43Mi4wOXYyLjVsLS43Mi4xM3pNMTUuODMgMTUuOTA5bC0uNzEuMTN2LTIuMjlsLjcxLjExdjIuMDV6TTE3LjI5IDE1LjY3OWwtLjc0LjEzdi0xLjg4bC42OS4wOS4wNSAxLjY2eiIvPjxwYXRoIGQ9Ik03LjkzIDE2LjR2LTMuMjZsMi4xNi0xdjUuNnoiIGZpbGw9IiM5OTkiLz48cGF0aCBkPSJNOC42MSAxNi4zODlsLS4zMi0uMTZ2LTIuNzZsLjMyLS4xNXptLjc3LTMuNDVsLS4zOC4xOXYzLjQ4bC4zNy4xOXYtMy44NnoiIGZpbGw9IiNiM2IzYjMiLz48L3N2Zz4=\" preserveAspectRatio=\"none\" x=\"760.5\" y=\"546.2\"></image></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"786\" y=\"614\" fill=\"#2a2a2a\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(42, 42, 42), rgb(201, 201, 201));\">Container Registry</text></switch></g></g></g><g data-cell-id=\"deploy\"><g transform=\"translate(0.5,0.5)\"><rect x=\"930.5\" y=\"552.2\" width=\"120\" height=\"48\" rx=\"5.76\" ry=\"5.76\" fill=\"#ffffff\" stroke=\"#c3bdb1\" pointer-events=\"all\" style=\"fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(195, 189, 177), rgb(80, 74, 64));\"></rect></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"991\" y=\"573\" fill=\"#2a2a2a\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(42, 42, 42), rgb(201, 201, 201));\"><tspan x=\"991\" y=\"573\">배포</tspan><tspan x=\"991\" y=\"586\">VM 확장 집합</tspan></text></switch></g></g></g></g><g data-cell-id=\"n1\"><g><rect x=\"0.5\" y=\"116.2\" width=\"190\" height=\"32\" fill=\"none\" stroke=\"none\" pointer-events=\"all\"></rect></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"3\" y=\"133\" fill=\"#8e8981\" font-family=\"Helvetica\" font-size=\"10px\" style=\"fill: light-dark(rgb(142, 137, 129), rgb(122, 118, 111));\"><tspan x=\"3\" y=\"133\">한 대만 그렸습니다 —</tspan><tspan x=\"3\" y=\"145\">실제로는 가용영역 둘에 나눠 둡니다</tspan></text></switch></g></g></g><g data-cell-id=\"e1\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 140.5 62.2 L 179.55 62.25 L 179.55 59.2 L 210.38 59.2\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 217.38 59.2 L 210.38 61.53 L 210.38 56.87 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"180\" y=\"63\" fill=\"#6f6b63\" font-family=\"Helvetica\" font-size=\"10px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(111, 107, 99), rgb(148, 145, 138));\">HTTPS</text></switch></g></g></g><g data-cell-id=\"e2\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 268.5 59.2 L 539.55 59.2 L 539.55 118.25 L 556.38 118.22\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 563.38 118.2 L 556.39 120.55 L 556.38 115.88 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g></g><g data-cell-id=\"e3\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 564.5 168.2 L 564.5 228.25 L 527.55 228.25 L 527.51 280.08\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 527.5 287.08 L 525.17 280.08 L 529.84 280.08 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g></g><g data-cell-id=\"e4\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 552.5 313.2 L 608.5 313.2 L 608.5 303.2 L 656.38 303.2\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 663.38 303.2 L 656.38 305.53 L 656.38 300.87 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g></g><g data-cell-id=\"e5\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 527.5 338.2 L 527.55 376.25 L 819.55 376.25 L 819.51 336.32\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" stroke-dasharray=\"3 3\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 819.5 329.32 L 821.84 336.32 L 817.18 336.32 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g></g><g data-cell-id=\"e6\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 527.5 338.2 L 527.55 396.25 L 949.55 396.25 L 949.51 336.32\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" stroke-dasharray=\"3 3\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 949.5 329.32 L 951.84 336.32 L 947.17 336.32 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g></g><g data-cell-id=\"c1\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 500.5 576.2 L 537.97 576.25 L 537.97 571.2 L 567.38 571.2\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 574.38 571.2 L 567.38 573.53 L 567.38 568.87 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g></g><g data-cell-id=\"c2\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 625.5 571.2 L 752.38 571.2\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 759.38 571.2 L 752.38 573.53 L 752.38 568.87 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g></g><g data-cell-id=\"c3\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 810.5 571.2 L 870.5 571.2 L 870.5 576.25 L 922.38 576.21\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 929.38 576.2 L 922.38 578.54 L 922.38 573.87 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g></g><g data-cell-id=\"c4\"><g transform=\"translate(0.5,0.5)\"><path d=\"M 990.5 552.2 L 990.5 466.25 L 527.55 466.25 L 527.5 346.32\" fill=\"none\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"stroke\" style=\"stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path><path d=\"M 527.5 339.32 L 529.84 346.32 L 525.17 346.32 Z\" fill=\"#918c83\" stroke=\"#918c83\" stroke-miterlimit=\"10\" pointer-events=\"all\" style=\"fill: light-dark(rgb(145, 140, 131), rgb(121, 116, 109)); stroke: light-dark(rgb(145, 140, 131), rgb(121, 116, 109));\"></path></g><g><g transform=\"scale(0.9999999999999999)\"><switch><text x=\"738\" y=\"469\" fill=\"#6f6b63\" font-family=\"Helvetica\" font-size=\"10px\" text-anchor=\"middle\" style=\"fill: light-dark(rgb(111, 107, 99), rgb(148, 145, 138));\">배포</text></switch></g></g></g></g></g></g><switch><g requiredFeatures=\"http://www.w3.org/TR/SVG11/feature#Extensibility\"></g><a transform=\"translate(0,-5)\" xlink:href=\"https://www.drawio.com/doc/faq/svg-export-text-problems\" target=\"_blank\"><text text-anchor=\"middle\" font-size=\"10px\" x=\"50%\" y=\"100%\">Text is not SVG - cannot display</text></a></switch></svg>",
13
+ };
14
+ //# sourceMappingURL=azure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"azure.js","sourceRoot":"","sources":["../../../src/seeds/drawio/azure.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,GAAG,EAAE,41gCAA41gC;IACj2gC,GAAG,EAAE,29oCAA29oC;CACj+oC,CAAA"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * EC2 인스턴스 한 대 안의 Docker — Draw.io 샘플.
3
+ *
4
+ * 바깥(VPC·서브넷)은 AWS 샘플이 그리고, 이건 **인스턴스 안쪽**만 본다.
5
+ * 컨테이너는 서로 이름으로 부르고 그 이름은 bridge 네트워크가 해석한다 — 그 사실이
6
+ * 이 그림의 요점이라 네트워크를 울타리로 그렸다.
7
+ *
8
+ * 울타리는 aws4 스텐실(코어에 있다), 컨테이너 아이콘(docker·nginx·redis)은
9
+ * Simple Icons 를 브랜드 색으로 칠해 data URI 로 실었다.
10
+ */
11
+ export declare const ec2docker: {
12
+ src: string;
13
+ svg: string;
14
+ };
15
+ //# sourceMappingURL=ec2docker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ec2docker.d.ts","sourceRoot":"","sources":["../../../src/seeds/drawio/ec2docker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS;;;CAGrB,CAAA"}