{
  "type": "excalidraw",
  "version": 2,
  "source": "https://excalidraw.com",
  "elements": [
    {
      "type": "text",
      "version": 1,
      "versionNonce": 1,
      "isDeleted": false,
      "id": "placeholder-title",
      "fillStyle": "solid",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 100,
      "y": 80,
      "width": 600,
      "height": 30,
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1,
      "link": null,
      "locked": false,
      "fontSize": 28,
      "fontFamily": 1,
      "text": "Figure 4.1 \u2014 Two-stage build pattern",
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Figure 4.1 \u2014 Two-stage build pattern",
      "lineHeight": 1.25,
      "baseline": 22
    },
    {
      "type": "text",
      "version": 1,
      "versionNonce": 2,
      "isDeleted": false,
      "id": "placeholder-hint",
      "fillStyle": "solid",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 100,
      "y": 140,
      "width": 600,
      "height": 200,
      "seed": 2,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1,
      "link": null,
      "locked": false,
      "fontSize": 16,
      "fontFamily": 1,
      "text": "Two large boxes side by side.\n\nLeft (\"Stage 1: builder\", on a Hummingbird builder image):\n  - compiler / package manager (present in builder)\n  - your source code (COPY src/ .)\n  - build artifact (binary / JAR / wheels / dist) \u2014 accent\n\nRight (\"Stage 2: runtime\", on a Hummingbird runtime image):\n  - minimal runtime (no compiler, no shell)\n  - build artifact from stage 1 \u2014 accent\n  - USER 1001 + EXPOSE\n\nRed arrow labeled \"COPY --from=builder\" between the artifact\non the left and the artifact on the right.\n",
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Two large boxes side by side.\n\nLeft (\"Stage 1: builder\", on a Hummingbird builder image):\n  - compiler / package manager (present in builder)\n  - your source code (COPY src/ .)\n  - build artifact (binary / JAR / wheels / dist) \u2014 accent\n\nRight (\"Stage 2: runtime\", on a Hummingbird runtime image):\n  - minimal runtime (no compiler, no shell)\n  - build artifact from stage 1 \u2014 accent\n  - USER 1001 + EXPOSE\n\nRed arrow labeled \"COPY --from=builder\" between the artifact\non the left and the artifact on the right.\n",
      "lineHeight": 1.3,
      "baseline": 14
    }
  ],
  "appState": {
    "gridSize": null,
    "viewBackgroundColor": "#ffffff"
  },
  "files": {}
}