MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary="bound"

mime header

--bound
Content-Transfer-Encoding: binary
Content-Type: text/plain

d2UgaGF2ZQ1hIGxvdCAKb2YgAGJpbmFyeSBzdHVmZiBpbiBoZXJlCmIgYWRqaWcgc2FkamcgamFz
aWRnamlhZWhnYTN3aHQ4YTN3OGdoeGpjIGRzZ2FkIGhhc2RnaHNkIGdhc2QgZHNqZHNvZ2Egc2pk
Z2EwdzN0amhhd2pnc2VydG5pcTNuNW9xZXJqcXcycjg5cTIzaCBhd2hycWg4MzVyOGE=
--bound
Content-Type: text/plain
Content-Transfer-Encoding: binary

ZWg=
--bound
Content-Type: text/plain

hello world

--bound--

---- EXPECTED STRUCTURE ----
{
  "headers": {
    "values": {
      "mime_version": {
        "Text": "1.0"
      },
      "content_type": {
        "ContentType": {
          "c_type": "multipart",
          "c_subtype": "alternative",
          "attributes": {
            "boundary": "bound"
          }
        }
      }
    },
    "offsets": [
      {
        "name": {
          "Rfc": "mime_version"
        },
        "start": 13,
        "end": 19
      },
      {
        "name": {
          "Rfc": "content_type"
        },
        "start": 32,
        "end": 76
      }
    ]
  },
  "html_body": [
    0,
    1,
    2
  ],
  "text_body": [
    0,
    1,
    2
  ],
  "parts": [
    {
      "Text": {
        "headers": {
          "values": {
            "content_type": {
              "ContentType": {
                "c_type": "text",
                "c_subtype": "plain"
              }
            },
            "content_transfer_encoding": {
              "Text": "binary"
            }
          },
          "offsets": [
            {
              "name": {
                "Rfc": "content_transfer_encoding"
              },
              "start": 128,
              "end": 137
            },
            {
              "name": {
                "Rfc": "content_type"
              },
              "start": 150,
              "end": 163
            }
          ]
        },
        "contents": "d2UgaGF2ZQ1hIGxvdCAKb2YgAGJpbmFyeSBzdHVmZiBpbiBoZXJlCmIgYWRqaWcgc2FkamcgamFz\r\naWRnamlhZWhnYTN3aHQ4YTN3OGdoeGpjIGRzZ2FkIGhhc2RnaHNkIGdhc2QgZHNqZHNvZ2Egc2pk\r\nZ2EwdzN0amhhd2pnc2VydG5pcTNuNW9xZXJqcXcycjg5cTIzaCBhd2hycWg4MzVyOGE=\r",
        "is_html": false
      }
    },
    {
      "Text": {
        "headers": {
          "values": {
            "content_type": {
              "ContentType": {
                "c_type": "text",
                "c_subtype": "plain"
              }
            },
            "content_transfer_encoding": {
              "Text": "binary"
            }
          },
          "offsets": [
            {
              "name": {
                "Rfc": "content_type"
              },
              "start": 413,
              "end": 426
            },
            {
              "name": {
                "Rfc": "content_transfer_encoding"
              },
              "start": 452,
              "end": 461
            }
          ]
        },
        "contents": "ZWg=",
        "is_html": false
      }
    },
    {
      "Text": {
        "headers": {
          "values": {
            "content_type": {
              "ContentType": {
                "c_type": "text",
                "c_subtype": "plain"
              }
            }
          },
          "offsets": [
            {
              "name": {
                "Rfc": "content_type"
              },
              "start": 490,
              "end": 503
            }
          ]
        },
        "contents": "hello world\r\n\r",
        "is_html": false
      }
    }
  ],
  "structure": {
    "List": [
      {
        "Part": 0
      },
      {
        "Part": 1
      },
      {
        "Part": 2
      }
    ]
  },
  "offset_header": 0,
  "offset_body": 78,
  "offset_end": 529
}