Subject: Hide and seek
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=1

--1
Content-Type: multipart/signed; protocol="signature/plain"; migalc="pen+paper"; boundary=2
X-Signature-Type: penmanship

--2
Content-Type: multipart/alternative; boundary=3

--3
Content-Type: text/html; charset=us-ascii

<html><head><title>Search me</title></head><body><p>Don't find me here</p></body></html>

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

Search me, and Find me here
--3--

--2
Content-Type: signature/plain; charset=us-ascii

Signed by undersigned
--2--

--1--
---- EXPECTED STRUCTURE ----{
  "html_body": [
    3
  ],
  "text_body": [
    4
  ],
  "attachments": [
    5
  ],
  "parts": [
    {
      "headers_rfc": {
        "subject": {
          "Text": "Hide and seek"
        },
        "mime_version": {
          "Text": "1.0"
        },
        "content_type": {
          "ContentType": {
            "c_type": "multipart",
            "c_subtype": "mixed",
            "attributes": {
              "boundary": "1"
            }
          }
        }
      },
      "headers_raw": [
        [
          {
            "Rfc": "subject"
          },
          {
            "start": 8,
            "end": 23
          }
        ],
        [
          {
            "Rfc": "mime_version"
          },
          {
            "start": 36,
            "end": 41
          }
        ],
        [
          {
            "Rfc": "content_type"
          },
          {
            "start": 54,
            "end": 83
          }
        ]
      ],
      "is_encoding_problem": false,
      "body": {
        "Multipart": [
          1
        ]
      },
      "offset_header": 0,
      "offset_body": 84,
      "offset_end": 585
    },
    {
      "headers_rfc": {
        "content_type": {
          "ContentType": {
            "c_type": "multipart",
            "c_subtype": "signed",
            "attributes": {
              "migalc": "pen+paper",
              "boundary": "2",
              "protocol": "signature/plain"
            }
          }
        }
      },
      "headers_raw": [
        [
          {
            "Rfc": "content_type"
          },
          {
            "start": 101,
            "end": 179
          }
        ],
        [
          {
            "Other": "X-Signature-Type"
          },
          {
            "start": 196,
            "end": 208
          }
        ]
      ],
      "is_encoding_problem": false,
      "body": {
        "Multipart": [
          2,
          5
        ]
      },
      "offset_header": 88,
      "offset_body": 209,
      "offset_end": 579
    },
    {
      "headers_rfc": {
        "content_type": {
          "ContentType": {
            "c_type": "multipart",
            "c_subtype": "alternative",
            "attributes": {
              "boundary": "3"
            }
          }
        }
      },
      "headers_raw": [
        [
          {
            "Rfc": "content_type"
          },
          {
            "start": 226,
            "end": 261
          }
        ]
      ],
      "is_encoding_problem": false,
      "body": {
        "Multipart": [
          3,
          4
        ]
      },
      "offset_header": 213,
      "offset_body": 262,
      "offset_end": 497
    },
    {
      "headers_rfc": {
        "content_type": {
          "ContentType": {
            "c_type": "text",
            "c_subtype": "html",
            "attributes": {
              "charset": "us-ascii"
            }
          }
        }
      },
      "headers_raw": [
        [
          {
            "Rfc": "content_type"
          },
          {
            "start": 279,
            "end": 308
          }
        ]
      ],
      "is_encoding_problem": false,
      "body": {
        "Html": "<html><head><title>Search me</title></head><body><p>Don't find me here</p></body></html>\n"
      },
      "offset_header": 266,
      "offset_body": 309,
      "offset_end": 399
    },
    {
      "headers_rfc": {
        "content_transfer_encoding": {
          "Text": "binary"
        },
        "content_type": {
          "ContentType": {
            "c_type": "text",
            "c_subtype": "plain",
            "attributes": null
          }
        }
      },
      "headers_raw": [
        [
          {
            "Rfc": "content_type"
          },
          {
            "start": 416,
            "end": 428
          }
        ],
        [
          {
            "Rfc": "content_transfer_encoding"
          },
          {
            "start": 454,
            "end": 462
          }
        ]
      ],
      "is_encoding_problem": false,
      "body": {
        "Text": "Search me, and Find me here"
      },
      "offset_header": 403,
      "offset_body": 463,
      "offset_end": 491
    },
    {
      "headers_rfc": {
        "content_type": {
          "ContentType": {
            "c_type": "signature",
            "c_subtype": "plain",
            "attributes": {
              "charset": "us-ascii"
            }
          }
        }
      },
      "headers_raw": [
        [
          {
            "Rfc": "content_type"
          },
          {
            "start": 515,
            "end": 550
          }
        ]
      ],
      "is_encoding_problem": false,
      "body": {
        "Binary": [
          83,
          105,
          103,
          110,
          101,
          100,
          32,
          98,
          121,
          32,
          117,
          110,
          100,
          101,
          114,
          115,
          105,
          103,
          110,
          101,
          100
        ]
      },
      "offset_header": 502,
      "offset_body": 551,
      "offset_end": 573
    }
  ]
}