<?xml version="1.0"?>
<doc>
    <assembly>
        <name>MimeKit</name>
    </assembly>
    <members>
        <member name="T:MimeKit.MimeParser">
            <summary>
            A MIME message and entity parser.
            </summary>
            <remarks>
            A MIME parser is used to parse <see cref="T:MimeKit.MimeMessage"/> and
            <see cref="T:MimeKit.MimeEntity"/> objects from arbitrary streams.
            </remarks>
        </member>
        <member name="M:MimeKit.MimeParser.ParseHeadersAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously parse a list of headers from the stream.
            </summary>
            <remarks>
            Asynchronously parses a list of headers from the stream.
            </remarks>
            <returns>The parsed list of headers.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the headers.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeParser.ParseEntityAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously parse an entity from the stream.
            </summary>
            <remarks>
            Asynchronously parses an entity from the stream.
            </remarks>
            <returns>The parsed entity.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeParser.ParseMessageAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously parse a message from the stream.
            </summary>
            <remarks>
            Asynchronously parses a message from the stream.
            </remarks>
            <returns>The parsed message.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the message.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeParser.#ctor(System.IO.Stream,MimeKit.MimeFormat,System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeParser"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.MimeParser"/> that will parse the specified stream.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            <para>It should be noted, however, that disposing <paramref name="stream"/> will make it impossible
            for <see cref="T:MimeKit.MimeContent"/> to read the content.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeParserExamples.cs" region="ParseMessage" />
            </example>
            <param name="stream">The stream to parse.</param>
            <param name="format">The format of the stream.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimeParser.#ctor(System.IO.Stream,System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeParser"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.MimeParser"/> that will parse the specified stream.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            <para>It should be noted, however, that disposing <paramref name="stream"/> will make it impossible
            for <see cref="T:MimeKit.MimeContent"/> to read the content.</para>
            </remarks>
            <param name="stream">The stream to parse.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimeParser.#ctor(MimeKit.ParserOptions,System.IO.Stream,System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeParser"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.MimeParser"/> that will parse the specified stream.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            <para>It should be noted, however, that disposing <paramref name="stream"/> will make it impossible
            for <see cref="T:MimeKit.MimeContent"/> to read the content.</para>
            </remarks>
            <param name="options">The parser options.</param>
            <param name="stream">The stream to parse.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.MimeParser.#ctor(MimeKit.ParserOptions,System.IO.Stream,MimeKit.MimeFormat,System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeParser"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.MimeParser"/> that will parse the specified stream.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            <para>It should be noted, however, that disposing <paramref name="stream"/> will make it impossible
            for <see cref="T:MimeKit.MimeContent"/> to read the content.</para>
            </remarks>
            <param name="options">The parser options.</param>
            <param name="stream">The stream to parse.</param>
            <param name="format">The format of the stream.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="P:MimeKit.MimeParser.Options">
            <summary>
            Get or set the parser options.
            </summary>
            <remarks>
            Gets or sets the parser options.
            </remarks>
            <value>The parser options.</value>
        </member>
        <member name="P:MimeKit.MimeParser.IsEndOfStream">
            <summary>
            Get a value indicating whether the parser has reached the end of the input stream.
            </summary>
            <remarks>
            Gets a value indicating whether the parser has reached the end of the input stream.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeParserExamples.cs" region="ParseMbox" />
            </example>
            <value><see langword="true" /> if this parser has reached the end of the input stream;
            otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.MimeParser.Position">
            <summary>
            Get the current position of the parser within the stream.
            </summary>
            <remarks>
            Gets the current position of the parser within the stream.
            </remarks>
            <value>The stream offset.</value>
        </member>
        <member name="P:MimeKit.MimeParser.MboxMarkerOffset">
            <summary>
            Get the most recent mbox marker offset.
            </summary>
            <remarks>
            Gets the most recent mbox marker offset.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeParserExamples.cs" region="ParseMbox" />
            </example>
            <value>The mbox marker offset.</value>
        </member>
        <member name="P:MimeKit.MimeParser.MboxMarker">
            <summary>
            Get the most recent mbox marker.
            </summary>
            <remarks>
            Gets the most recent mbox marker.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeParserExamples.cs" region="ParseMbox" />
            </example>
            <value>The mbox marker.</value>
        </member>
        <member name="M:MimeKit.MimeParser.SetStream(MimeKit.ParserOptions,System.IO.Stream,MimeKit.MimeFormat,System.Boolean)">
            <summary>
            Set the stream to parse.
            </summary>
            <remarks>
            <para>Sets the stream to parse.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            <para>It should be noted, however, that disposing <paramref name="stream"/> will make it impossible
            for <see cref="T:MimeKit.MimeContent"/> to read the content.</para>
            </remarks>
            <param name="options">The parser options.</param>
            <param name="stream">The stream to parse.</param>
            <param name="format">The format of the stream.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.MimeParser.SetStream(MimeKit.ParserOptions,System.IO.Stream,System.Boolean)">
            <summary>
            Set the stream to parse.
            </summary>
            <remarks>
            <para>Sets the stream to parse.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            <para>It should be noted, however, that disposing <paramref name="stream"/> will make it impossible
            for <see cref="T:MimeKit.MimeContent"/> to read the content.</para>
            </remarks>
            <param name="options">The parser options.</param>
            <param name="stream">The stream to parse.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.MimeParser.SetStream(System.IO.Stream,MimeKit.MimeFormat,System.Boolean)">
            <summary>
            Set the stream to parse.
            </summary>
            <remarks>
            <para>Sets the stream to parse.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            <para>It should be noted, however, that disposing <paramref name="stream"/> will make it impossible
            for <see cref="T:MimeKit.MimeContent"/> to read the content.</para>
            </remarks>
            <param name="stream">The stream to parse.</param>
            <param name="format">The format of the stream.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimeParser.SetStream(System.IO.Stream,MimeKit.MimeFormat)">
            <summary>
            Set the stream to parse.
            </summary>
            <remarks>
            Sets the stream to parse.
            </remarks>
            <param name="stream">The stream to parse.</param>
            <param name="format">The format of the stream.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimeParser.SetStream(System.IO.Stream,System.Boolean)">
            <summary>
            Set the stream to parse.
            </summary>
            <remarks>
            <para>Sets the stream to parse.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            <para>It should be noted, however, that disposing <paramref name="stream"/> will make it impossible
            for <see cref="T:MimeKit.MimeContent"/> to read the content.</para>
            </remarks>
            <param name="stream">The stream to parse.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="E:MimeKit.MimeParser.MimeMessageBegin">
            <summary>
            An event signifying the beginning of a new <see cref="T:MimeKit.MimeMessage"/> has been encountered.
            </summary>
            <remarks>
            An event signifying the beginning of a new <see cref="T:MimeKit.MimeMessage"/> has been encountered.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeParserExamples.cs" region="MessageOffsets" />
            </example>
        </member>
        <member name="M:MimeKit.MimeParser.OnMimeMessageBegin(MimeKit.MimeMessageBeginEventArgs)">
            <summary>
            Invoked when the parser begins parsing a <see cref="T:MimeKit.MimeMessage"/>.
            </summary>
            <remarks>
            Invoked when the parser begins parsing a <see cref="T:MimeKit.MimeMessage"/>.
            </remarks>
            <param name="args">The parsed state.</param>
        </member>
        <member name="E:MimeKit.MimeParser.MimeMessageEnd">
            <summary>
            An event signifying the end of a <see cref="T:MimeKit.MimeMessage"/> has been encountered.
            </summary>
            <remarks>
            An event signifying the end of a <see cref="T:MimeKit.MimeMessage"/> has been encountered.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeParserExamples.cs" region="MessageOffsets" />
            </example>
        </member>
        <member name="M:MimeKit.MimeParser.OnMimeMessageEnd(MimeKit.MimeMessageEndEventArgs)">
            <summary>
            Invoked when the parser has completed parsing a <see cref="T:MimeKit.MimeMessage"/>.
            </summary>
            <remarks>
            Invoked when the parser has completed parsing a <see cref="T:MimeKit.MimeMessage"/>.
            </remarks>
            <param name="args">The parsed state.</param>
        </member>
        <member name="E:MimeKit.MimeParser.MimeEntityBegin">
            <summary>
            An event signifying the beginning of a new <see cref="T:MimeKit.MimeEntity"/> has been encountered.
            </summary>
            <remarks>
            An event signifying the beginning of a new <see cref="T:MimeKit.MimeEntity"/> has been encountered.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeParserExamples.cs" region="MessageOffsets" />
            </example>
        </member>
        <member name="M:MimeKit.MimeParser.OnMimeEntityBegin(MimeKit.MimeEntityBeginEventArgs)">
            <summary>
            Invoked when the parser begins parsing a <see cref="T:MimeKit.MimeEntity"/>.
            </summary>
            <remarks>
            Invoked when the parser begins parsing a <see cref="T:MimeKit.MimeEntity"/>.
            </remarks>
            <param name="args">The parsed state.</param>
        </member>
        <member name="E:MimeKit.MimeParser.MimeEntityEnd">
            <summary>
            An event signifying the end of a <see cref="T:MimeKit.MimeEntity"/> has been encountered.
            </summary>
            <remarks>
            An event signifying the end of a <see cref="T:MimeKit.MimeEntity"/> has been encountered.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeParserExamples.cs" region="MessageOffsets" />
            </example>
        </member>
        <member name="M:MimeKit.MimeParser.OnMimeEntityEnd(MimeKit.MimeEntityEndEventArgs)">
            <summary>
            Invoked when the parser has completed parsing a <see cref="T:MimeKit.MimeEntity"/>.
            </summary>
            <remarks>
            Invoked when the parser has completed parsing a <see cref="T:MimeKit.MimeEntity"/>.
            </remarks>
            <param name="args">The parsed state.</param>
        </member>
        <member name="M:MimeKit.MimeParser.ReadToEos">
            <summary>
            This is a hack needed by the MessageDeliveryStatus.ParseStatusGroups() logic in order to work around an Office365 bug.
            </summary>
            <returns>The remainder of the parser's input stream (needed because the input stream may not be seekable).</returns>
        </member>
        <member name="M:MimeKit.MimeParser.ParseHeaders(System.Threading.CancellationToken)">
            <summary>
            Parse a list of headers from the stream.
            </summary>
            <remarks>
            Parses a list of headers from the stream.
            </remarks>
            <returns>The parsed list of headers.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the headers.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeParser.ParseStatusGroup(System.Threading.CancellationToken)">
            <summary>
            Parse a single message/delivery-status status group from the stream.
            </summary>
            <remarks>
            Parses a single message/delivery-status status group from the stream.
            </remarks>
            <returns>The parsed status group.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the status group.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeParser.ParseEntity(System.Threading.CancellationToken)">
            <summary>
            Parse an entity from the stream.
            </summary>
            <remarks>
            Parses an entity from the stream.
            </remarks>
            <returns>The parsed entity.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeParser.ParseMessage(System.Threading.CancellationToken)">
            <summary>
            Parse a message from the stream.
            </summary>
            <remarks>
            Parses a message from the stream.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeParserExamples.cs" region="ParseMessage" />
            </example>
            <returns>The parsed message.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the message.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeParser.GetEnumerator">
            <summary>
            Enumerate the messages in the stream.
            </summary>
            <remarks>
            This is mostly useful when parsing mbox-formatted streams.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MimeKit.MimeParser.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Enumerate the messages in the stream.
            </summary>
            <remarks>
            This is mostly useful when parsing mbox-formatted streams.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="T:MimeKit.MimeReader">
            <summary>
            A MIME message and entity reader.
            </summary>
            <remarks>
            <para><see cref="T:MimeKit.MimeReader"/> provides forward-only, read-only access to MIME data in a stream.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.MimeReader.ReadHeadersAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously read a block of headers from the stream.
            </summary>
            <remarks>
            Asynchronously reads a block of headers from the stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeReader.ReadEntityAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously read an entity from the stream.
            </summary>
            <remarks>
            Asynchronously reads an entity from the stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeReader.ReadMessageAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously read a message from the stream.
            </summary>
            <remarks>
            Asynchronously reads a message from the stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the message.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeReader.#ctor(System.IO.Stream,MimeKit.MimeFormat)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeReader"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimeReader"/> that will parse the specified stream.
            </remarks>
            <param name="stream">The stream to parse.</param>
            <param name="format">The format of the stream.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimeReader.#ctor(MimeKit.ParserOptions,System.IO.Stream,MimeKit.MimeFormat)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeReader"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimeReader"/> that will parse the specified stream.
            </remarks>
            <param name="options">The parser options.</param>
            <param name="stream">The stream to parse.</param>
            <param name="format">The format of the stream.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="P:MimeKit.MimeReader.Options">
            <summary>
            Get or set the parser options.
            </summary>
            <remarks>
            Gets or sets the parser options.
            </remarks>
            <value>The parser options.</value>
        </member>
        <member name="P:MimeKit.MimeReader.IsEndOfStream">
            <summary>
            Get a value indicating whether the parser has reached the end of the input stream.
            </summary>
            <remarks>
            Gets a value indicating whether the parser has reached the end of the input stream.
            </remarks>
            <value><see langword="true" /> if this parser has reached the end of the input stream;
            otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.MimeReader.Position">
            <summary>
            Get the current position of the parser within the stream.
            </summary>
            <remarks>
            Gets the current position of the parser within the stream.
            </remarks>
            <value>The stream offset.</value>
        </member>
        <member name="M:MimeKit.MimeReader.SetStream(System.IO.Stream,MimeKit.MimeFormat)">
            <summary>
            Set the stream to parse.
            </summary>
            <remarks>
            <para>Sets the stream to parse.</para>
            </remarks>
            <param name="stream">The stream to parse.</param>
            <param name="format">The format of the stream.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimeReader.OnMboxMarkerBegin(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when an Mbox marker is encountered in the stream.
            </summary>
            <remarks>
            <para>When the stream is specified to be in <see cref="F:MimeKit.MimeFormat.Mbox"/> format, this method will be called whenever the parser encounters an Mbox marker.</para>
            <para>It is not necessary to override this method unless it is desirable to track the offsets of mbox markers within a stream or to extract the mbox marker itself.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the mbox marker begins.</param>
            <param name="lineNumber">The line number where the mbox marker exists within the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMboxMarkerRead(System.Byte[],System.Int32,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when an Mbox marker is encountered in the stream.
            </summary>
            <remarks>
            <para>When the stream is specified to be in <see cref="F:MimeKit.MimeFormat.Mbox"/> format, this method will be called whenever the parser encounters an Mbox marker.</para>
            <para>It is not necessary to override this method unless it is desirable to track the offsets of mbox markers within a stream or to extract the mbox marker itself.</para>
            </remarks>
            <param name="buffer">The buffer containing the mbox marker.</param>
            <param name="startIndex">The index denoting the starting position of the mbox marker within the buffer.</param>
            <param name="count">The length of the mbox marker within the buffer, in bytes.</param>
            <param name="beginOffset">The offset into the stream where the mbox marker begins.</param>
            <param name="lineNumber">The line number where the mbox marker exists within the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMboxMarkerReadAsync(System.Byte[],System.Int32,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when an Mbox marker is encountered in the stream.
            </summary>
            <remarks>
            <para>When the stream is specified to be in <see cref="F:MimeKit.MimeFormat.Mbox"/> format, this method will be called whenever the parser encounters an Mbox marker.</para>
            <para>It is not necessary to override this method unless it is desirable to track the offsets of mbox markers within a stream or to extract the mbox marker itself.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="buffer">The buffer containing the mbox marker.</param>
            <param name="startIndex">The index denoting the starting position of the mbox marker within the buffer.</param>
            <param name="count">The length of the mbox marker within the buffer, in bytes.</param>
            <param name="beginOffset">The offset into the stream where the mbox marker begins.</param>
            <param name="lineNumber">The line number where the mbox marker exists within the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMboxMarkerEnd(System.Int64,System.Int32,System.Int64,System.Threading.CancellationToken)">
            <summary>
            Called when the end of an Mbox marker is encountered in the stream.
            </summary>
            <remarks>
            <para>When the stream is specified to be in <see cref="F:MimeKit.MimeFormat.Mbox"/> format, this method will be called whenever the parser encounters the end of an Mbox marker.</para>
            <para>It is not necessary to override this method unless it is desirable to track the offsets of mbox markers within a stream or to extract the mbox marker itself.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the mbox marker begins.</param>
            <param name="lineNumber">The line number where the mbox marker exists within the stream.</param>
            <param name="endOffset">The offset into the stream where the mbox marker ends.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnHeadersBegin(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of a list of headers is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of a list of headers is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnHeadersEnd(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)"/> when the end of the list of headers are found.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the headers begin.</param>
            <param name="beginLineNumber">The line number where the list of headers begin.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnHeadersBeginAsync(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of a list of headers is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of a list of headers is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnHeadersEndAsync(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)"/> when the end of the list of headers are found.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="beginOffset">The offset into the stream where the headers begin.</param>
            <param name="beginLineNumber">The line number where the list of headers begin.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnHeaderRead(MimeKit.Header,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when a message or MIME part header is read from the stream.
            </summary>
            <remarks>
            This method will be called whenever a message or MIME part header is encountered within the stream.
            </remarks>
            <param name="header">The header that was read from the stream.</param>
            <param name="beginLineNumber">The line number where the header exists within the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnHeaderReadAsync(MimeKit.Header,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when a message or MIME part header is read from the stream.
            </summary>
            <remarks>
            This method will be called whenever a message or MIME part header is encountered within the stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="header">The header that was read from the stream.</param>
            <param name="beginLineNumber">The line number where the header exists within the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnHeadersEnd(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of a list of headers is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of a list of headers is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnHeadersBegin(System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the headers began.</param>
            <param name="beginLineNumber">The line number where the list of headers began.</param>
            <param name="endOffset">The offset into the stream where the list of headers ended.</param>
            <param name="endLineNumber">The line number headers where the list of headers ended.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnHeadersEndAsync(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of a list of headers is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of a list of headers is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnHeadersBeginAsync(System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="beginOffset">The offset into the stream where the headers began.</param>
            <param name="beginLineNumber">The line number where the list of headers began.</param>
            <param name="endOffset">The offset into the stream where the list of headers ended.</param>
            <param name="endLineNumber">The line number headers where the list of headers ended.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnBodySeparator(System.Int64,System.Int32,System.Int64,System.Threading.CancellationToken)">
            <summary>
            Called when the body separator is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the body separator is encountered in the stream.</para>
            <para>This method is always called before <see cref="M:MimeKit.MimeReader.OnHeadersEnd(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)"/> if a body separator is found.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the body separator began.</param>
            <param name="lineNumber">The line number where the body separator was found.</param>
            <param name="endOffset">The offset into the stream where the body separator ended.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnBodySeparatorAsync(System.Int64,System.Int32,System.Int64,System.Threading.CancellationToken)">
            <summary>
            Called when the body separator is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the body separator is encountered in the stream.</para>
            <para>This method is always called before <see cref="M:MimeKit.MimeReader.OnHeadersEndAsync(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)"/> if a body separator is found.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="beginOffset">The offset into the stream where the body separator began.</param>
            <param name="lineNumber">The line number where the body separator was found.</param>
            <param name="endOffset">The offset into the stream where the body separator ended.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMimeMessageBegin(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of a message is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of a message is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMimeMessageEnd(System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)"/> when the end of the message is found.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the message begins.</param>
            <param name="beginLineNumber">The line number where the message begins.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMimeMessageBeginAsync(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of a message is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of a message is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMimeMessageEndAsync(System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)"/> when the end of the message is found.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="beginOffset">The offset into the stream where the message begins.</param>
            <param name="beginLineNumber">The line number where the message begins.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMimeMessageEnd(System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of a message is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of a message is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMimeMessageBegin(System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the message began.</param>
            <param name="beginLineNumber">The line number where the message began.</param>
            <param name="headersEndOffset">The offset into the stream where the message headers ended and the content began.</param>
            <param name="endOffset">The offset into the stream where the message ended.</param>
            <param name="lines">The length of the message as measured in lines.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMimeMessageEndAsync(System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of a message is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of a message is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMimeMessageBeginAsync(System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="beginOffset">The offset into the stream where the message began.</param>
            <param name="beginLineNumber">The line number where the message began.</param>
            <param name="headersEndOffset">The offset into the stream where the message headers ended and the content began.</param>
            <param name="endOffset">The offset into the stream where the message ended.</param>
            <param name="lines">The length of the message as measured in lines.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMimePartBegin(MimeKit.ContentType,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of a MIME part is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of a MIME part is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMimePartEnd(MimeKit.ContentType,System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)"/> when the end of the MIME part is found.</para>
            </remarks>
            <param name="contentType">The parsed <c>Content-Type</c> header of the MIME part.</param>
            <param name="beginOffset">The offset into the stream where the MIME part begins.</param>
            <param name="beginLineNumber">The line number where the MIME part begins.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMimePartBeginAsync(MimeKit.ContentType,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of a MIME part is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of a MIME part is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMimePartEndAsync(MimeKit.ContentType,System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)"/> when the end of the MIME part is found.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="contentType">The parsed <c>Content-Type</c> header of the MIME part.</param>
            <param name="beginOffset">The offset into the stream where the MIME part begins.</param>
            <param name="beginLineNumber">The line number where the MIME part begins.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMimePartContentBegin(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of a MIME part's content is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of a MIME part's content is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMimePartContentEnd(System.Int64,System.Int32,System.Int64,System.Int32,System.Nullable{MimeKit.NewLineFormat},System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the MIME part content began.</param>
            <param name="beginLineNumber">The line number where the MIME part content began.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMimePartContentBeginAsync(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of a MIME part's content is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of a MIME part's content is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMimePartContentEndAsync(System.Int64,System.Int32,System.Int64,System.Int32,System.Nullable{MimeKit.NewLineFormat},System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="beginOffset">The offset into the stream where the MIME part content began.</param>
            <param name="beginLineNumber">The line number where the MIME part content began.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMimePartContentRead(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when MIME part content is read from the stream.
            </summary>
            <remarks>
            <para>Called when MIME part content is read from the stream.</para>
            </remarks>
            <param name="buffer">A buffer containing the MIME part content.</param>
            <param name="startIndex">The index denoting the starting position of the content within the buffer.</param>
            <param name="count">The length of the content within the buffer, in bytes.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMimePartContentReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when MIME part content is read from the stream.
            </summary>
            <remarks>
            <para>Called when MIME part content is read from the stream.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="buffer">A buffer containing the MIME part content.</param>
            <param name="startIndex">The index denoting the starting position of the content within the buffer.</param>
            <param name="count">The length of the content within the buffer, in bytes.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMimePartContentEnd(System.Int64,System.Int32,System.Int64,System.Int32,System.Nullable{MimeKit.NewLineFormat},System.Threading.CancellationToken)">
            <summary>
            Called when the end of a MIME part's content is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of a MIME part's content is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMimePartContentBegin(System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the MIME part content began.</param>
            <param name="beginLineNumber">The line number where the MIME part content began.</param>
            <param name="endOffset">The offset into the stream where the MIME part content ended.</param>
            <param name="lines">The length of the MIME part content as measured in lines.</param>
            <param name="newLineFormat">The new-line format of the content, if known.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMimePartContentEndAsync(System.Int64,System.Int32,System.Int64,System.Int32,System.Nullable{MimeKit.NewLineFormat},System.Threading.CancellationToken)">
            <summary>
            Called when the end of a MIME part's content is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of a MIME part's content is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMimePartContentBeginAsync(System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="beginOffset">The offset into the stream where the MIME part content began.</param>
            <param name="beginLineNumber">The line number where the MIME part content began.</param>
            <param name="endOffset">The offset into the stream where the MIME part content ended.</param>
            <param name="lines">The length of the MIME part content as measured in lines.</param>
            <param name="newLineFormat">The new-line format of the content, if known.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMimePartEnd(MimeKit.ContentType,System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of a MIME part is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of a MIME part is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMimePartBegin(MimeKit.ContentType,System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="contentType">The parsed <c>Content-Type</c> header of the MIME part.</param>
            <param name="beginOffset">The offset into the stream where the MIME part began.</param>
            <param name="beginLineNumber">The line number where the MIME part began.</param>
            <param name="headersEndOffset">The offset into the stream where the MIME part headers ended and the content began.</param>
            <param name="endOffset">The offset into the stream where the MIME part ends.</param>
            <param name="lines">The length of the MIME part as measured in lines.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMimePartEndAsync(MimeKit.ContentType,System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of a MIME part is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of a MIME part is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMimePartBeginAsync(MimeKit.ContentType,System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="contentType">The parsed <c>Content-Type</c> header of the MIME part.</param>
            <param name="beginOffset">The offset into the stream where the MIME part began.</param>
            <param name="beginLineNumber">The line number where the MIME part began.</param>
            <param name="headersEndOffset">The offset into the stream where the MIME part headers ended and the content began.</param>
            <param name="endOffset">The offset into the stream where the MIME part ends.</param>
            <param name="lines">The length of the MIME part as measured in lines.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMessagePartBegin(MimeKit.ContentType,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of a message part is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of a message part is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMessagePartEnd(MimeKit.ContentType,System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)"/> when the end of the message part is found.</para>
            </remarks>
            <param name="contentType">The parsed <c>Content-Type</c> header of the MIME part.</param>
            <param name="beginOffset">The offset into the stream where the message part begins.</param>
            <param name="beginLineNumber">The line number where the message part begins.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMessagePartBeginAsync(MimeKit.ContentType,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of a message part is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of a message part is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMessagePartEndAsync(MimeKit.ContentType,System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)"/> when the end of the message part is found.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="contentType">The parsed <c>Content-Type</c> header of the MIME part.</param>
            <param name="beginOffset">The offset into the stream where the message part begins.</param>
            <param name="beginLineNumber">The line number where the message part begins.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMessagePartEnd(MimeKit.ContentType,System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of a message part is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of a message part is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMessagePartBegin(MimeKit.ContentType,System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="contentType">The parsed <c>Content-Type</c> header of the MIME part.</param>
            <param name="beginOffset">The offset into the stream where the message part began.</param>
            <param name="beginLineNumber">The line number where the message part began.</param>
            <param name="headersEndOffset">The offset into the stream where the MIME part headers ended and the content began.</param>
            <param name="endOffset">The offset into the stream where the MIME part ends.</param>
            <param name="lines">The length of the MIME part as measured in lines.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMessagePartEndAsync(MimeKit.ContentType,System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of a message part is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of a message part is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMessagePartBeginAsync(MimeKit.ContentType,System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="contentType">The parsed <c>Content-Type</c> header of the MIME part.</param>
            <param name="beginOffset">The offset into the stream where the message part began.</param>
            <param name="beginLineNumber">The line number where the message part began.</param>
            <param name="headersEndOffset">The offset into the stream where the MIME part headers ended and the content began.</param>
            <param name="endOffset">The offset into the stream where the MIME part ends.</param>
            <param name="lines">The length of the MIME part as measured in lines.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartBegin(MimeKit.ContentType,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of a multipart is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of a multipart is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMultipartEnd(MimeKit.ContentType,System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)"/> when the end of the multipart is found.</para>
            </remarks>
            <param name="contentType">The parsed <c>Content-Type</c> header of the multipart.</param>
            <param name="beginOffset">The offset into the stream where the multipart begins.</param>
            <param name="beginLineNumber">The line number where the multipart begins.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartBeginAsync(MimeKit.ContentType,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of a multipart is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of a multipart is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMultipartEndAsync(MimeKit.ContentType,System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)"/> when the end of the multipart is found.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="contentType">The parsed <c>Content-Type</c> header of the multipart.</param>
            <param name="beginOffset">The offset into the stream where the multipart begins.</param>
            <param name="beginLineNumber">The line number where the multipart begins.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartBoundary(System.String,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when a multipart boundary is encountered in the stream.
            </summary>
            <remarks>
            Called when a multipart boundary is encountered in the stream.
            </remarks>
            <param name="boundary">The multipart boundary string.</param>
            <param name="beginOffset">The offset into the stream where the boundary marker began.</param>
            <param name="endOffset">The offset into the stream where the boundary marker ended.</param>
            <param name="lineNumber">The line number where the boundary marker was found in the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartBoundaryAsync(System.String,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when a multipart boundary is encountered in the stream.
            </summary>
            <remarks>
            Called when a multipart boundary is encountered in the stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="boundary">The multipart boundary string.</param>
            <param name="beginOffset">The offset into the stream where the boundary marker began.</param>
            <param name="endOffset">The offset into the stream where the boundary marker ended.</param>
            <param name="lineNumber">The line number where the boundary marker was found in the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartBoundaryBegin(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when a multipart boundary is encountered in the stream.
            </summary>
            <remarks>
            Called when a multipart boundary is encountered in the stream.
            </remarks>
            <param name="beginOffset">The offset into the stream where the boundary marker began.</param>
            <param name="lineNumber">The line number where the boundary marker was found in the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartBoundaryBeginAsync(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when a multipart boundary is encountered in the stream.
            </summary>
            <remarks>
            Called when a multipart boundary is encountered in the stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="beginOffset">The offset into the stream where the boundary marker began.</param>
            <param name="lineNumber">The line number where the boundary marker was found in the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartBoundaryRead(System.Byte[],System.Int32,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when a multipart boundary is encountered in the stream.
            </summary>
            <remarks>
            Called when a multipart boundary is encountered in the stream.
            </remarks>
            <param name="buffer">The buffer containing the boundary marker.</param>
            <param name="startIndex">The index denoting the starting position of the boundary marker within the buffer.</param>
            <param name="count">The length of the boundary marker within the buffer, in bytes.</param>
            <param name="beginOffset">The offset into the stream where the boundary marker began.</param>
            <param name="lineNumber">The line number where the boundary marker exists within the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartBoundaryReadAsync(System.Byte[],System.Int32,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when a multipart boundary is encountered in the stream.
            </summary>
            <remarks>
            Called when a multipart boundary is encountered in the stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="buffer">The buffer containing the boundary marker.</param>
            <param name="startIndex">The index denoting the starting position of the boundary marker within the buffer.</param>
            <param name="count">The length of the boundary marker within the buffer, in bytes.</param>
            <param name="beginOffset">The offset into the stream where the boundary marker began.</param>
            <param name="lineNumber">The line number where the boundary marker exists within the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartBoundaryEnd(System.Int64,System.Int32,System.Int64,System.Threading.CancellationToken)">
            <summary>
            Called when a multipart boundary is encountered in the stream.
            </summary>
            <remarks>
            Called when a multipart boundary is encountered in the stream.
            </remarks>
            <param name="beginOffset">The offset into the stream where the boundary marker began.</param>
            <param name="lineNumber">The line number where the boundary marker was found in the stream.</param>
            <param name="endOffset">The offset into the stream where the boundary marker ended.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartBoundaryEndAsync(System.Int64,System.Int32,System.Int64,System.Threading.CancellationToken)">
            <summary>
            Called when a multipart boundary is encountered in the stream.
            </summary>
            <remarks>
            Called when a multipart boundary is encountered in the stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="beginOffset">The offset into the stream where the boundary marker began.</param>
            <param name="lineNumber">The line number where the boundary marker was found in the stream.</param>
            <param name="endOffset">The offset into the stream where the boundary marker ended.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartEndBoundary(System.String,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when a multipart end boundary is encountered in the stream.
            </summary>
            <remarks>
            Called when a multipart end boundary is encountered in the stream.
            </remarks>
            <param name="boundary">The multipart boundary string.</param>
            <param name="beginOffset">The offset into the stream where the boundary marker began.</param>
            <param name="endOffset">The offset into the stream where the boundary marker ended.</param>
            <param name="lineNumber">The line number where the boundary marker was found in the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartEndBoundaryAsync(System.String,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when a multipart end boundary is encountered in the stream.
            </summary>
            <remarks>
            Called when a multipart end boundary is encountered in the stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="boundary">The multipart boundary string.</param>
            <param name="beginOffset">The offset into the stream where the boundary marker began.</param>
            <param name="endOffset">The offset into the stream where the boundary marker ended.</param>
            <param name="lineNumber">The line number where the boundary marker was found in the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartEndBoundaryBegin(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when a multipart end boundary is encountered in the stream.
            </summary>
            <remarks>
            Called when a multipart end boundary is encountered in the stream.
            </remarks>
            <param name="beginOffset">The offset into the stream where the boundary marker began.</param>
            <param name="lineNumber">The line number where the boundary marker was found in the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartEndBoundaryBeginAsync(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when a multipart end boundary is encountered in the stream.
            </summary>
            <remarks>
            Called when a multipart end boundary is encountered in the stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="beginOffset">The offset into the stream where the boundary marker began.</param>
            <param name="lineNumber">The line number where the boundary marker was found in the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartEndBoundaryRead(System.Byte[],System.Int32,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when a multipart end boundary is encountered in the stream.
            </summary>
            <remarks>
            Called when a multipart end boundary is encountered in the stream.
            </remarks>
            <param name="buffer">The buffer containing the boundary marker.</param>
            <param name="startIndex">The index denoting the starting position of the boundary marker within the buffer.</param>
            <param name="count">The length of the boundary marker within the buffer, in bytes.</param>
            <param name="beginOffset">The offset into the stream where the boundary marker began.</param>
            <param name="lineNumber">The line number where the boundary marker exists within the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartEndBoundaryReadAsync(System.Byte[],System.Int32,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when a multipart end boundary is encountered in the stream.
            </summary>
            <remarks>
            Called when a multipart end boundary is encountered in the stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="buffer">The buffer containing the boundary marker.</param>
            <param name="startIndex">The index denoting the starting position of the boundary marker within the buffer.</param>
            <param name="count">The length of the boundary marker within the buffer, in bytes.</param>
            <param name="beginOffset">The offset into the stream where the boundary marker began.</param>
            <param name="lineNumber">The line number where the boundary marker exists within the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartEndBoundaryEnd(System.Int64,System.Int32,System.Int64,System.Threading.CancellationToken)">
            <summary>
            Called when a multipart end boundary is encountered in the stream.
            </summary>
            <remarks>
            Called when a multipart end boundary is encountered in the stream.
            </remarks>
            <param name="beginOffset">The offset into the stream where the boundary marker began.</param>
            <param name="lineNumber">The line number where the boundary marker was found in the stream.</param>
            <param name="endOffset">The offset into the stream where the boundary marker ended.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartEndBoundaryEndAsync(System.Int64,System.Int32,System.Int64,System.Threading.CancellationToken)">
            <summary>
            Called when a multipart end boundary is encountered in the stream.
            </summary>
            <remarks>
            Called when a multipart end boundary is encountered in the stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="beginOffset">The offset into the stream where the boundary marker began.</param>
            <param name="lineNumber">The line number where the boundary marker was found in the stream.</param>
            <param name="endOffset">The offset into the stream where the boundary marker ended.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartPreambleBegin(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of the preamble of a multipart is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of the preamble of a multipart is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMultipartPreambleEnd(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the preamble began.</param>
            <param name="beginLineNumber">The line number where the preamble began.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartPreambleBeginAsync(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of the preamble of a multipart is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of the preamble of a multipart is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMultipartPreambleEndAsync(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="beginOffset">The offset into the stream where the preamble began.</param>
            <param name="beginLineNumber">The line number where the preamble began.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartPreambleRead(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when multipart preamble text is read from the stream.
            </summary>
            <remarks>
            <para>Called when multipart preamble text is read from the stream.</para>
            </remarks>
            <param name="buffer">A buffer containing the multipart preamble text.</param>
            <param name="startIndex">The index denoting the starting position of the content within the buffer.</param>
            <param name="count">The length of the content within the buffer, in bytes.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartPreambleReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when multipart preamble text is read from the stream.
            </summary>
            <remarks>
            <para>Called when multipart preamble text is read from the stream.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="buffer">A buffer containing the multipart preamble text.</param>
            <param name="startIndex">The index denoting the starting position of the content within the buffer.</param>
            <param name="count">The length of the content within the buffer, in bytes.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartPreambleEnd(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of the preamble of a multipart is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of the preamble of a multipart is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMultipartPreambleBegin(System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the multipart preamble began.</param>
            <param name="beginLineNumber">The line number where the multipart preamble began.</param>
            <param name="endOffset">The offset into the stream where the multipart preamble ended.</param>
            <param name="lines">The length of the multipart preamble as measured in lines.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartPreambleEndAsync(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of the preamble of a multipart is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of the preamble of a multipart is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMultipartPreambleBeginAsync(System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="beginOffset">The offset into the stream where the multipart preamble began.</param>
            <param name="beginLineNumber">The line number where the multipart preamble began.</param>
            <param name="endOffset">The offset into the stream where the multipart preamble ended.</param>
            <param name="lines">The length of the multipart preamble as measured in lines.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartEpilogueBegin(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of the epilogue of a multipart is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of the epilogue of a multipart is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMultipartEpilogueEnd(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the epilogue began.</param>
            <param name="beginLineNumber">The line number where the epilogue began.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartEpilogueBeginAsync(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of the epilogue of a multipart is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of the epilogue of a multipart is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMultipartEpilogueEndAsync(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="beginOffset">The offset into the stream where the epilogue began.</param>
            <param name="beginLineNumber">The line number where the epilogue began.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartEpilogueRead(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when multipart epilogue text is read from the stream.
            </summary>
            <remarks>
            <para>Called when multipart epilogue text is read from the stream.</para>
            </remarks>
            <param name="buffer">A buffer containing the multipart epilogue text.</param>
            <param name="startIndex">The index denoting the starting position of the content within the buffer.</param>
            <param name="count">The length of the content within the buffer, in bytes.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartEpilogueReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when multipart epilogue text is read from the stream.
            </summary>
            <remarks>
            <para>Called when multipart epilogue text is read from the stream.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="buffer">A buffer containing the multipart epilogue text.</param>
            <param name="startIndex">The index denoting the starting position of the content within the buffer.</param>
            <param name="count">The length of the content within the buffer, in bytes.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartEpilogueEnd(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of the epilogue of a multipart is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of the epilogue of a multipart is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMultipartEpilogueBegin(System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the multipart epilogue began.</param>
            <param name="beginLineNumber">The line number where the multipart epilogue began.</param>
            <param name="endOffset">The offset into the stream where the multipart epilogue ended.</param>
            <param name="lines">The length of the multipart epilogue as measured in lines.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartEpilogueEndAsync(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of the epilogue of a multipart is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of the epilogue of a multipart is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMultipartEpilogueBeginAsync(System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="beginOffset">The offset into the stream where the multipart epilogue began.</param>
            <param name="beginLineNumber">The line number where the multipart epilogue began.</param>
            <param name="endOffset">The offset into the stream where the multipart epilogue ended.</param>
            <param name="lines">The length of the multipart epilogue as measured in lines.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartEnd(MimeKit.ContentType,System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of a multipart is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of a multipart is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMultipartBegin(MimeKit.ContentType,System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="contentType">The parsed <c>Content-Type</c> header of the multipart.</param>
            <param name="beginOffset">The offset into the stream where the multipart began.</param>
            <param name="beginLineNumber">The line number where the multipart began.</param>
            <param name="headersEndOffset">The offset into the stream where the multipart headers ended and the content began.</param>
            <param name="endOffset">The offset into the stream where the multipart ends.</param>
            <param name="lines">The length of the multipart as measured in lines.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.OnMultipartEndAsync(MimeKit.ContentType,System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of a multipart is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of a multipart is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.MimeReader.OnMultipartBegin(MimeKit.ContentType,System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="contentType">The parsed <c>Content-Type</c> header of the multipart.</param>
            <param name="beginOffset">The offset into the stream where the multipart began.</param>
            <param name="beginLineNumber">The line number where the multipart began.</param>
            <param name="headersEndOffset">The offset into the stream where the multipart headers ended and the content began.</param>
            <param name="endOffset">The offset into the stream where the multipart ends.</param>
            <param name="lines">The length of the multipart as measured in lines.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.MimeReader.ReadHeaders(System.Threading.CancellationToken)">
            <summary>
            Read a block of headers from the stream.
            </summary>
            <remarks>
            Reads a block of headers from the stream.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeReader.ReadEntity(System.Threading.CancellationToken)">
            <summary>
            Read an entity from the stream.
            </summary>
            <remarks>
            Reads an entity from the stream.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeReader.ReadMessage(System.Threading.CancellationToken)">
            <summary>
            Read a message from the stream.
            </summary>
            <remarks>
            Reads a message from the stream.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the message.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="T:MimeKit.AttachmentCollection">
            <summary>
            A collection of attachments.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.AttachmentCollection"/> is only used when building a message body with a <see cref="T:MimeKit.BodyBuilder"/>.
            </remarks>
            <example>
            <code language="c#" source="Examples\BodyBuilder.cs" region="Complex" />
            </example>
        </member>
        <member name="M:MimeKit.AttachmentCollection.#ctor(System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.AttachmentCollection"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.AttachmentCollection"/>.</para>
            <para>If <paramref name="linkedResources"/> is <see langword="true" />, then the attachments
            are treated as if they are linked to another <see cref="T:MimeKit.MimePart"/>.</para>
            </remarks>
            <param name="linkedResources">If set to <see langword="true" />; the attachments are treated as linked resources.</param>
        </member>
        <member name="M:MimeKit.AttachmentCollection.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.AttachmentCollection"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.AttachmentCollection"/>.
            </remarks>
        </member>
        <member name="P:MimeKit.AttachmentCollection.Count">
            <summary>
            Get the number of attachments currently in the collection.
            </summary>
            <remarks>
            Indicates the number of attachments in the collection.
            </remarks>
            <value>The number of attachments.</value>
        </member>
        <member name="P:MimeKit.AttachmentCollection.IsReadOnly">
            <summary>
            Get whther or not the collection is read-only.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.AttachmentCollection"/> is never read-only.
            </remarks>
            <value><see langword="true" /> if the collection is read only; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.AttachmentCollection.Item(System.Int32)">
            <summary>
            Get or set the <see cref="T:MimeKit.MimeEntity"/> at the specified index.
            </summary>
            <remarks>
            <para>Gets or sets the <see cref="T:MimeKit.MimeEntity"/> at the specified index.</para>
            <note type="note">It is the responsibility of the caller to dispose the original entity at the specified <paramref name="index"/>.</note>
            </remarks>
            <value>The attachment at the specified index.</value>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.AttachmentCollection.Add(System.String,System.Byte[],MimeKit.ContentType)">
            <summary>
            Add an attachment.
            </summary>
            <remarks>
            <para>Adds the specified data as an attachment using the supplied Content-Type.</para>
            <para>The file name parameter is used to set the Content-Location.</para>
            <para>For a list of known mime-types and their associated file extensions, see
            http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types</para>
            </remarks>
            <returns>The newly added attachment <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="fileName">The name of the file.</param>
            <param name="data">The file data.</param>
            <param name="contentType">The mime-type of the file.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="data"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="contentType"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The specified file path is empty.
            </exception>
        </member>
        <member name="M:MimeKit.AttachmentCollection.Add(System.String,System.IO.Stream,MimeKit.ContentType,System.Threading.CancellationToken)">
            <summary>
            Add an attachment.
            </summary>
            <remarks>
            <para>Adds the specified data as an attachment using the supplied Content-Type.</para>
            <para>The file name parameter is used to set the Content-Location.</para>
            <para>For a list of known mime-types and their associated file extensions, see
            http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types</para>
            </remarks>
            <returns>The newly added attachment <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="fileName">The name of the file.</param>
            <param name="stream">The content stream.</param>
            <param name="contentType">The mime-type of the file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="contentType"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The specified file path is empty.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.AttachmentCollection.AddAsync(System.String,System.IO.Stream,MimeKit.ContentType,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add an attachment.
            </summary>
            <remarks>
            <para>Asynchronously adds the specified data as an attachment using the supplied Content-Type.</para>
            <para>The file name parameter is used to set the Content-Location.</para>
            <para>For a list of known mime-types and their associated file extensions, see
            http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types</para>
            </remarks>
            <returns>The newly added attachment <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="fileName">The name of the file.</param>
            <param name="stream">The content stream.</param>
            <param name="contentType">The mime-type of the file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="contentType"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The specified file path is empty.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.AttachmentCollection.Add(System.String,System.Byte[])">
            <summary>
            Add an attachment.
            </summary>
            <remarks>
            <para>Adds the data as an attachment, using the specified file name for deducing
            the mime-type by extension and for setting the Content-Location.</para>
            </remarks>
            <returns>The newly added attachment <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="fileName">The name of the file.</param>
            <param name="data">The file data to attach.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="data"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The specified file path is empty.
            </exception>
        </member>
        <member name="M:MimeKit.AttachmentCollection.Add(System.String,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Add an attachment.
            </summary>
            <remarks>
            <para>Adds the stream as an attachment, using the specified file name for deducing
            the mime-type by extension and for setting the Content-Location.</para>
            </remarks>
            <returns>The newly added attachment <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="fileName">The name of the file.</param>
            <param name="stream">The content stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The specified file path is empty.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.AttachmentCollection.AddAsync(System.String,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add an attachment.
            </summary>
            <remarks>
            <para>Asynchronously adds the stream as an attachment, using the specified file name for deducing
            the mime-type by extension and for setting the Content-Location.</para>
            </remarks>
            <returns>The newly added attachment <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="fileName">The name of the file.</param>
            <param name="stream">The content stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The specified file path is empty.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.AttachmentCollection.Add(System.String,MimeKit.ContentType,System.Threading.CancellationToken)">
            <summary>
            Add an attachment.
            </summary>
            <remarks>
            <para>Adds the specified file as an attachment using the supplied Content-Type.</para>
            <para>For a list of known mime-types and their associated file extensions, see
            http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types</para>
            </remarks>
            <returns>The newly added attachment <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="fileName">The name of the file.</param>
            <param name="contentType">The mime-type of the file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="contentType"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The specified file path is empty.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.AttachmentCollection.AddAsync(System.String,MimeKit.ContentType,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add an attachment.
            </summary>
            <remarks>
            <para>Asynchronously adds the specified file as an attachment using the supplied Content-Type.</para>
            <para>For a list of known mime-types and their associated file extensions, see
            http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types</para>
            </remarks>
            <returns>The newly added attachment <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="fileName">The name of the file.</param>
            <param name="contentType">The mime-type of the file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="contentType"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The specified file path is empty.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.AttachmentCollection.Add(System.String,System.Threading.CancellationToken)">
            <summary>
            Add an attachment.
            </summary>
            <remarks>
            <para>Adds the specified file as an attachment.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\BodyBuilder.cs" region="Complex" />
            </example>
            <returns>The newly added attachment <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="fileName">The name of the file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.AttachmentCollection.AddAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add an attachment.
            </summary>
            <remarks>
            <para>Asynchronously adds the specified file as an attachment.</para>
            </remarks>
            <returns>The newly added attachment <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="fileName">The name of the file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.AttachmentCollection.Add(MimeKit.MimeEntity)">
            <summary>
            Add an attachment.
            </summary>
            <remarks>
            Adds the specified <see cref="T:MimeKit.MimePart"/> as an attachment.
            </remarks>
            <param name="attachment">The attachment.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="attachment"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.AttachmentCollection.Clear">
            <summary>
            Clear the attachment collection.
            </summary>
            <remarks>
            Removes all attachments from the collection.
            </remarks>
        </member>
        <member name="M:MimeKit.AttachmentCollection.Clear(System.Boolean)">
            <summary>
            Clear the attachment collection.
            </summary>
            <remarks>
            Removes all attachments from the collection, optionally disposing them in the process.
            </remarks>
            <param name="dispose"><see langword="true" /> if all the attachments should be disposed; otherwise, <see langword="false" />.</param>
        </member>
        <member name="M:MimeKit.AttachmentCollection.Contains(MimeKit.MimeEntity)">
            <summary>
            Check if the collection contains the specified attachment.
            </summary>
            <remarks>
            Determines whether the collection contains the specified attachment.
            </remarks>
            <returns><see langword="true" /> if the specified attachment exists;
            otherwise, <see langword="false" />.</returns>
            <param name="attachment">The attachment.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="attachment"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.AttachmentCollection.CopyTo(MimeKit.MimeEntity[],System.Int32)">
            <summary>
            Copy all the attachments in the collection to an array.
            </summary>
            <remarks>
            Copies all the attachments within the <see cref="T:MimeKit.AttachmentCollection"/> into the array,
            starting at the specified array index.
            </remarks>
            <param name="array">The array to copy the attachments to.</param>
            <param name="arrayIndex">The index into the array.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="array"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="arrayIndex"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.AttachmentCollection.IndexOf(MimeKit.MimeEntity)">
            <summary>
            Get the index of the requested attachment, if it exists.
            </summary>
            <remarks>
            Finds the index of the specified attachment, if it exists.
            </remarks>
            <returns>The index of the requested attachment; otherwise <value>-1</value>.</returns>
            <param name="attachment">The attachment.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="attachment"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.AttachmentCollection.Insert(System.Int32,MimeKit.MimeEntity)">
            <summary>
            Insert an attachment at the given index.
            </summary>
            <remarks>
            Inserts the attachment at the specified index.
            </remarks>
            <param name="index">The index to insert the attachment.</param>
            <param name="attachment">The attachment.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="attachment"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.AttachmentCollection.Remove(MimeKit.MimeEntity)">
            <summary>
            Remove an attachment.
            </summary>
            <remarks>
            Removes the specified attachment.
            </remarks>
            <returns><see langword="true" /> if the attachment was removed; otherwise, <see langword="false" />.</returns>
            <param name="attachment">The attachment.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="attachment"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.AttachmentCollection.RemoveAt(System.Int32)">
            <summary>
            Remove the attachment at the specified index.
            </summary>
            <remarks>
            <para>Removes the attachment at the specified index.</para>
            <note type="note">It is the responsibility of the caller to dispose the entity at the specified <paramref name="index"/>.</note>
            </remarks>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.AttachmentCollection.GetEnumerator">
            <summary>
            Get an enumerator for the list of attachments.
            </summary>
            <remarks>
            Gets an enumerator for the list of attachments.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MimeKit.AttachmentCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Get an enumerator for the list of attachments.
            </summary>
            <remarks>
            Gets an enumerator for the list of attachments.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="T:MimeKit.BodyBuilder">
            <summary>
            A message body builder.
            </summary>
            <remarks>
            <see cref="T:MimeKit.BodyBuilder"/> is a helper class for building common MIME body structures.
            </remarks>
            <example>
            <code language="c#" source="Examples\BodyBuilder.cs" region="Complex" />
            </example>
        </member>
        <member name="M:MimeKit.BodyBuilder.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.BodyBuilder"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.BodyBuilder"/>.
            </remarks>
            <example>
            <code language="c#" source="Examples\BodyBuilder.cs" region="Complex" />
            </example>
        </member>
        <member name="P:MimeKit.BodyBuilder.Attachments">
            <summary>
            Get the attachments.
            </summary>
            <remarks>
            Represents a collection of file attachments that will be included in the message.
            </remarks>
            <example>
            <code language="c#" source="Examples\BodyBuilder.cs" region="Complex" />
            </example>
            <value>The attachments.</value>
        </member>
        <member name="P:MimeKit.BodyBuilder.LinkedResources">
            <summary>
            Get the linked resources.
            </summary>
            <remarks>
            Linked resources are a special type of attachment which are linked to from the <see cref="P:MimeKit.BodyBuilder.HtmlBody"/>.
            </remarks>
            <example>
            <code language="c#" source="Examples\BodyBuilder.cs" region="Complex" />
            </example>
            <value>The linked resources.</value>
        </member>
        <member name="P:MimeKit.BodyBuilder.TextBody">
            <summary>
            Get or set the text body.
            </summary>
            <remarks>
            Represents the plain-text formatted version of the message body.
            </remarks>
            <example>
            <code language="c#" source="Examples\BodyBuilder.cs" region="Complex" />
            </example>
            <value>The text body.</value>
        </member>
        <member name="P:MimeKit.BodyBuilder.HtmlBody">
            <summary>
            Get or set the html body.
            </summary>
            <remarks>
            Represents the html formatted version of the message body and may link to any of the <see cref="P:MimeKit.BodyBuilder.LinkedResources"/>.
            </remarks>
            <example>
            <code language="c#" source="Examples\BodyBuilder.cs" region="Complex" />
            </example>
            <value>The html body.</value>
        </member>
        <member name="M:MimeKit.BodyBuilder.ToMessageBody">
            <summary>
            Construct the message body based on the text-based bodies, the linked resources, and the attachments.
            </summary>
            <remarks>
            Combines the <see cref="P:MimeKit.BodyBuilder.Attachments"/>, <see cref="P:MimeKit.BodyBuilder.LinkedResources"/>, <see cref="P:MimeKit.BodyBuilder.TextBody"/>,
            and <see cref="P:MimeKit.BodyBuilder.HtmlBody"/> into the proper MIME structure suitable for display in many common
            mail clients.
            </remarks>
            <example>
            <code language="c#" source="Examples\BodyBuilder.cs" region="Complex" />
            </example>
            <returns>The message body.</returns>
        </member>
        <member name="T:MimeKit.ContentDisposition">
            <summary>
            A class representing a Content-Disposition header value.
            </summary>
            <remarks>
            The Content-Disposition header is a way for the originating client to
            suggest to the receiving client whether to present the part to the user
            as an attachment or as part of the content (inline).
            </remarks>
        </member>
        <member name="F:MimeKit.ContentDisposition.Attachment">
            <summary>
            The attachment disposition.
            </summary>
            <remarks>
            Indicates that the <see cref="T:MimeKit.MimePart"/> should be treated as an attachment.
            </remarks>
        </member>
        <member name="F:MimeKit.ContentDisposition.FormData">
            <summary>
            The form-data disposition.
            </summary>
            <remarks>
            Indicates that the <see cref="T:MimeKit.MimePart"/> should be treated as form data.
            </remarks>
        </member>
        <member name="F:MimeKit.ContentDisposition.Inline">
            <summary>
            The inline disposition.
            </summary>
            <remarks>
            Indicates that the <see cref="T:MimeKit.MimePart"/> should be rendered inline.
            </remarks>
        </member>
        <member name="M:MimeKit.ContentDisposition.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.ContentDisposition"/> class.
            </summary>
            <remarks>
            The disposition should either be <see cref="F:MimeKit.ContentDisposition.Attachment"/>
            or <see cref="F:MimeKit.ContentDisposition.Inline"/>.
            </remarks>
            <param name="disposition">The disposition.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="disposition"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="disposition"/> is not <c>"attachment"</c> or <c>"inline"</c>.
            </exception>
        </member>
        <member name="M:MimeKit.ContentDisposition.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.ContentDisposition"/> class.
            </summary>
            <remarks>
            This is identical to <see cref="M:MimeKit.ContentDisposition.#ctor(System.String)"/> with a disposition
            value of <see cref="F:MimeKit.ContentDisposition.Attachment"/>.
            </remarks>
        </member>
        <member name="P:MimeKit.ContentDisposition.Disposition">
            <summary>
            Get or set the disposition.
            </summary>
            <remarks>
            The disposition is typically either <c>"attachment"</c> or <c>"inline"</c>.
            </remarks>
            <value>The disposition.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="value"/> is an invalid disposition value.
            </exception>
        </member>
        <member name="P:MimeKit.ContentDisposition.IsAttachment">
            <summary>
            Get or set a value indicating whether the <see cref="T:MimeKit.MimePart"/> is an attachment.
            </summary>
            <remarks>
            A convenience property to determine if the entity should be considered an attachment or not.
            </remarks>
            <value><see langword="true" /> if the <see cref="T:MimeKit.MimePart"/> is an attachment; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.ContentDisposition.Parameters">
            <summary>
            Get the list of parameters on the <see cref="T:MimeKit.ContentDisposition"/>.
            </summary>
            <remarks>
            In addition to specifying whether the entity should be treated as an
            attachment vs displayed inline, the Content-Disposition header may also
            contain parameters to provide further information to the receiving client
            such as the file attributes.
            </remarks>
            <example>
            <code language="c#" source="Examples\ParameterExamples.cs" region="OverrideFileNameParameterEncoding"/>
            </example>
            <value>The parameters.</value>
        </member>
        <member name="P:MimeKit.ContentDisposition.FileName">
            <summary>
            Get or set the name of the file.
            </summary>
            <remarks>
            When set, this can provide a useful hint for a default file name for the
            content when the user decides to save it to disk.
            </remarks>
            <example>
            <code language="c#" source="Examples\AttachmentExamples.cs" region="SaveAttachments" />
            </example>
            <value>The name of the file.</value>
        </member>
        <member name="P:MimeKit.ContentDisposition.CreationDate">
            <summary>
            Get or set the creation-date parameter.
            </summary>
            <remarks>
            Refers to the date and time that the content file was created on the
            originating system. This parameter serves little purpose and is
            typically not used by mail clients.
            </remarks>
            <value>The creation date.</value>
        </member>
        <member name="P:MimeKit.ContentDisposition.ModificationDate">
            <summary>
            Get or set the modification-date parameter.
            </summary>
            <remarks>
            Refers to the date and time that the content file was last modified on
            the originating system. This parameter serves little purpose and is
            typically not used by mail clients.
            </remarks>
            <value>The modification date.</value>
        </member>
        <member name="P:MimeKit.ContentDisposition.ReadDate">
            <summary>
            Get or set the read-date parameter.
            </summary>
            <remarks>
            Refers to the date and time that the content file was last read on the
            originating system. This parameter serves little purpose and is typically
            not used by mail clients.
            </remarks>
            <value>The read date.</value>
        </member>
        <member name="P:MimeKit.ContentDisposition.Size">
            <summary>
            Get or set the size parameter.
            </summary>
            <remarks>
            When set, the size parameter typically refers to the original size of the
            content on disk. This parameter is rarely used by mail clients as it serves
            little purpose.
            </remarks>
            <value>The size.</value>
        </member>
        <member name="M:MimeKit.ContentDisposition.Clone">
            <summary>
            Clone the content disposition.
            </summary>
            <remarks>
            Clones the content disposition.
            </remarks>
            <returns>The cloned content disposition.s</returns>
        </member>
        <member name="M:MimeKit.ContentDisposition.ToString(MimeKit.FormatOptions,System.Text.Encoding,System.Boolean)">
            <summary>
            Serialize the <see cref="T:MimeKit.ContentDisposition"/> to a string, optionally encoding the parameters.
            </summary>
            <remarks>
            Creates a string-representation of the <see cref="T:MimeKit.ContentDisposition"/>,
            optionally encoding the parameters as they would be encoded for transport.
            </remarks>
            <returns>The serialized string.</returns>
            <param name="options">The formatting options.</param>
            <param name="charset">The charset to be used when encoding the parameter values.</param>
            <param name="encode">If set to <see langword="true" />, the parameter values will be encoded.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.ContentDisposition.ToString(System.Text.Encoding,System.Boolean)">
            <summary>
            Serialize the <see cref="T:MimeKit.ContentDisposition"/> to a string, optionally encoding the parameters.
            </summary>
            <remarks>
            Creates a string-representation of the <see cref="T:MimeKit.ContentDisposition"/>,
            optionally encoding the parameters as they would be encoded for transport.
            </remarks>
            <returns>The serialized string.</returns>
            <param name="charset">The charset to be used when encoding the parameter values.</param>
            <param name="encode">If set to <see langword="true" />, the parameter values will be encoded.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="charset"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.ContentDisposition.ToString(System.Boolean)">
            <summary>
            Serialize the <see cref="T:MimeKit.ContentDisposition"/> to a string, optionally encoding the parameters.
            </summary>
            <remarks>
            Creates a string-representation of the <see cref="T:MimeKit.ContentDisposition"/>,
            optionally encoding the parameters as they would be encoded for transport.
            </remarks>
            <returns>The serialized string.</returns>
            <param name="encode">If set to <see langword="true" />, the parameter values will be encoded.</param>
        </member>
        <member name="M:MimeKit.ContentDisposition.ToString">
            <summary>
            Serialize the <see cref="T:MimeKit.ContentDisposition"/> to a string.
            </summary>
            <remarks>
            Creates a string-representation of the <see cref="T:MimeKit.ContentDisposition"/>.
            </remarks>
            <returns>A <see cref="T:System.String"/> that represents the current
            <see cref="T:MimeKit.ContentDisposition"/>.</returns>
        </member>
        <member name="M:MimeKit.ContentDisposition.TryParse(MimeKit.ParserOptions,System.Byte[],System.Int32,System.Int32,MimeKit.ContentDisposition@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.ContentDisposition"/> instance.
            </summary>
            <remarks>
            Parses a Content-Disposition value from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns><see langword="true" /> if the disposition was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <param name="disposition">The parsed disposition.</param>
        </member>
        <member name="M:MimeKit.ContentDisposition.TryParse(System.Byte[],System.Int32,System.Int32,MimeKit.ContentDisposition@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.ContentDisposition"/> instance.
            </summary>
            <remarks>
            Parses a Content-Disposition value from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns><see langword="true" /> if the disposition was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <param name="disposition">The parsed disposition.</param>
        </member>
        <member name="M:MimeKit.ContentDisposition.TryParse(MimeKit.ParserOptions,System.Byte[],System.Int32,MimeKit.ContentDisposition@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.ContentDisposition"/> instance.
            </summary>
            <remarks>
            Parses a Content-Disposition value from the supplied buffer starting at the specified index.
            </remarks>
            <returns><see langword="true" /> if the disposition was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="disposition">The parsed disposition.</param>
        </member>
        <member name="M:MimeKit.ContentDisposition.TryParse(System.Byte[],System.Int32,MimeKit.ContentDisposition@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.ContentDisposition"/> instance.
            </summary>
            <remarks>
            Parses a Content-Disposition value from the supplied buffer starting at the specified index.
            </remarks>
            <returns><see langword="true" /> if the disposition was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="disposition">The parsed disposition.</param>
        </member>
        <member name="M:MimeKit.ContentDisposition.TryParse(MimeKit.ParserOptions,System.Byte[],MimeKit.ContentDisposition@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.ContentDisposition"/> instance.
            </summary>
            <remarks>
            Parses a Content-Disposition value from the specified buffer.
            </remarks>
            <returns><see langword="true" /> if the disposition was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options.</param>
            <param name="buffer">The input buffer.</param>
            <param name="disposition">The parsed disposition.</param>
        </member>
        <member name="M:MimeKit.ContentDisposition.TryParse(System.Byte[],MimeKit.ContentDisposition@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.ContentDisposition"/> instance.
            </summary>
            <remarks>
            Parses a Content-Disposition value from the specified buffer.
            </remarks>
            <returns><see langword="true" /> if the disposition was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="disposition">The parsed disposition.</param>
        </member>
        <member name="M:MimeKit.ContentDisposition.TryParse(MimeKit.ParserOptions,System.String,MimeKit.ContentDisposition@)">
            <summary>
            Try to parse the given text into a new <see cref="T:MimeKit.ContentDisposition"/> instance.
            </summary>
            <remarks>
            Parses a Content-Disposition value from the supplied text.
            </remarks>
            <returns><see langword="true" /> if the disposition was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options.</param>
            <param name="text">The text to parse.</param>
            <param name="disposition">The parsed disposition.</param>
        </member>
        <member name="M:MimeKit.ContentDisposition.TryParse(System.String,MimeKit.ContentDisposition@)">
            <summary>
            Try to parse the given text into a new <see cref="T:MimeKit.ContentDisposition"/> instance.
            </summary>
            <remarks>
            Parses a Content-Disposition value from the supplied text.
            </remarks>
            <returns><see langword="true" /> if the disposition was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="text">The text to parse.</param>
            <param name="disposition">The parsed disposition.</param>
        </member>
        <member name="M:MimeKit.ContentDisposition.Parse(MimeKit.ParserOptions,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parse the specified input buffer into a new instance of the <see cref="T:MimeKit.ContentDisposition"/> class.
            </summary>
            <remarks>
            Parses a Content-Disposition value from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.ContentDisposition"/>.</returns>
            <param name="options">The parser options.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The start index of the buffer.</param>
            <param name="length">The length of the buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the byte array.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            The <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.ContentDisposition.Parse(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parse the specified input buffer into a new instance of the <see cref="T:MimeKit.ContentDisposition"/> class.
            </summary>
            <remarks>
            Parses a Content-Disposition value from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.ContentDisposition"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The start index of the buffer.</param>
            <param name="length">The length of the buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the byte array.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            The <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.ContentDisposition.Parse(MimeKit.ParserOptions,System.Byte[],System.Int32)">
            <summary>
            Parse the specified input buffer into a new instance of the <see cref="T:MimeKit.ContentDisposition"/> class.
            </summary>
            <remarks>
            Parses a Content-Disposition value from the supplied buffer starting at the specified index.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.ContentDisposition"/>.</returns>
            <param name="options">The parser options.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The start index of the buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is out of range.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            The <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.ContentDisposition.Parse(System.Byte[],System.Int32)">
            <summary>
            Parse the specified input buffer into a new instance of the <see cref="T:MimeKit.ContentDisposition"/> class.
            </summary>
            <remarks>
            Parses a Content-Disposition value from the supplied buffer starting at the specified index.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.ContentDisposition"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The start index of the buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is out of range.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            The <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.ContentDisposition.Parse(MimeKit.ParserOptions,System.Byte[])">
            <summary>
            Parse the specified input buffer into a new instance of the <see cref="T:MimeKit.ContentDisposition"/> class.
            </summary>
            <remarks>
            Parses a Content-Disposition value from the supplied buffer.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.ContentDisposition"/>.</returns>
            <param name="options">The parser options.</param>
            <param name="buffer">The input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.ParseException">
            The <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.ContentDisposition.Parse(System.Byte[])">
            <summary>
            Parse the specified input buffer into a new instance of the <see cref="T:MimeKit.ContentDisposition"/> class.
            </summary>
            <remarks>
            Parses a Content-Disposition value from the supplied buffer.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.ContentDisposition"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            The <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.ContentDisposition.Parse(MimeKit.ParserOptions,System.String)">
            <summary>
            Parse the specified text into a new instance of the <see cref="T:MimeKit.ContentDisposition"/> class.
            </summary>
            <remarks>
            Parses a Content-Disposition value from the specified text.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.ContentDisposition"/>.</returns>
            <param name="options">The parser options.</param>
            <param name="text">The input text.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="text"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.ParseException">
            The <paramref name="text"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.ContentDisposition.Parse(System.String)">
            <summary>
            Parse the specified text into a new instance of the <see cref="T:MimeKit.ContentDisposition"/> class.
            </summary>
            <remarks>
            Parses a Content-Disposition value from the specified text.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.ContentDisposition"/>.</returns>
            <param name="text">The input text.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            The <paramref name="text"/> could not be parsed.
            </exception>
        </member>
        <member name="T:MimeKit.ContentEncoding">
            <summary>
            An enumeration of all supported content transfer encodings.
            </summary>
            <remarks>
            Some older mail software is unable to properly deal with
            data outside the ASCII range, so it is sometimes
            necessary to encode the content of MIME entities.
            </remarks>
            <seealso cref="P:MimeKit.MimePart.ContentTransferEncoding"/>
        </member>
        <member name="F:MimeKit.ContentEncoding.Default">
            <summary>
            The default encoding (aka no encoding at all).
            </summary>
        </member>
        <member name="F:MimeKit.ContentEncoding.SevenBit">
            <summary>
            The 7bit content transfer encoding. This encoding should be restricted to textual content
            in the US-ASCII range.
            </summary>
        </member>
        <member name="F:MimeKit.ContentEncoding.EightBit">
            <summary>
            The 8bit content transfer encoding. This encoding should be restricted to textual content
            outside the US-ASCII range but may not be supported by all transport services such as
            older SMTP servers that do not support the 8BITMIME extension.
            </summary>
        </member>
        <member name="F:MimeKit.ContentEncoding.Binary">
            <summary>
            The binary content transfer encoding. This encoding is simply unencoded binary data. Typically
            not supported by standard message transport services such as SMTP.
            </summary>
        </member>
        <member name="F:MimeKit.ContentEncoding.Base64">
            <summary>
            The base64 content transfer encoding. This encoding is typically used for encoding binary data
            or textual content in a largely 8bit charset encoding and is supported by all message transport
            services.
            </summary>
        </member>
        <member name="F:MimeKit.ContentEncoding.QuotedPrintable">
            <summary>
            The quoted-printable content transfer encoding. This encoding is used for textual content that
            is in a charset that has a minority of characters outside the US-ASCII range (such as
            ISO-8859-1 and other single-byte charset encodings) and is supported by all message transport
            services.
            </summary>
        </member>
        <member name="F:MimeKit.ContentEncoding.UUEncode">
            <summary>
            The uuencode content transfer encoding. This is an obsolete encoding meant for encoding binary
            data and has largely been superseded by <see cref="F:MimeKit.ContentEncoding.Base64"/>.
            </summary>
        </member>
        <member name="T:MimeKit.ContentType">
            <summary>
            A class representing a Content-Type header value.
            </summary>
            <remarks>
            The Content-Type header is a way for the originating client to
            suggest to the receiving client the mime-type of the content and,
            depending on that mime-type, presentation options such as charset.
            </remarks>
        </member>
        <member name="M:MimeKit.ContentType.#ctor(System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.ContentType"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.ContentType"/> based on the media type and subtype provided.
            </remarks>
            <param name="mediaType">Media type.</param>
            <param name="mediaSubtype">Media subtype.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="mediaType"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="mediaSubtype"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="P:MimeKit.ContentType.MediaType">
            <summary>
            Get or set the type of the media.
            </summary>
            <remarks>
            Represents the media type of the <see cref="T:MimeKit.MimeEntity"/>. Examples include
            <c>"text"</c>, <c>"image"</c>, and <c>"application"</c>. This string should
            always be treated as case-insensitive.
            </remarks>
            <value>The type of the media.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.ContentType.MediaSubtype">
            <summary>
            Get or set the media subtype.
            </summary>
            <remarks>
            Represents the media subtype of the <see cref="T:MimeKit.MimeEntity"/>. Examples include
            <c>"html"</c>, <c>"jpeg"</c>, and <c>"octet-stream"</c>. This string should
            always be treated as case-insensitive.
            </remarks>
            <value>The media subtype.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.ContentType.Parameters">
            <summary>
            Get the list of parameters on the <see cref="T:MimeKit.ContentType"/>.
            </summary>
            <remarks>
            In addition to the media type and subtype, the Content-Type header may also
            contain parameters to provide further hints to the receiving client as to
            how to process or display the content.
            </remarks>
            <value>The parameters.</value>
        </member>
        <member name="P:MimeKit.ContentType.Boundary">
            <summary>
            Get or set the boundary parameter.
            </summary>
            <remarks>
            This is a special parameter on <see cref="T:MimeKit.Multipart"/> entities, designating to the
            parser a unique string that should be considered the boundary marker for each sub-part.
            </remarks>
            <value>The boundary.</value>
        </member>
        <member name="P:MimeKit.ContentType.Charset">
            <summary>
            Get or set the charset parameter.
            </summary>
            <remarks>
            Text-based <see cref="T:MimeKit.MimePart"/> entities will often include a charset parameter
            so that the receiving client can properly render the text.
            </remarks>
            <value>The charset.</value>
        </member>
        <member name="P:MimeKit.ContentType.CharsetEncoding">
            <summary>
            Get or set the charset parameter as an <see cref="T:System.Text.Encoding"/>.
            </summary>
            <remarks>
            Text-based <see cref="T:MimeKit.MimePart"/> entities will often include a charset parameter
            so that the receiving client can properly render the text.
            </remarks>
            <value>The charset encoding.</value>
        </member>
        <member name="P:MimeKit.ContentType.Format">
            <summary>
            Get or set the format parameter.
            </summary>
            <remarks>
            The format parameter is typically use with text/plain <see cref="T:MimeKit.MimePart"/>
            entities and will either have a value of <c>"fixed"</c> or <c>"flowed"</c>.
            </remarks>
            <value>The charset.</value>
        </member>
        <member name="P:MimeKit.ContentType.MimeType">
            <summary>
            Get the simple mime-type.
            </summary>
            <remarks>
            Gets the simple mime-type.
            </remarks>
            <value>The mime-type.</value>
        </member>
        <member name="P:MimeKit.ContentType.Name">
            <summary>
            Get or set the name parameter.
            </summary>
            <remarks>
            The name parameter is a way for the originating client to suggest
            to the receiving client a display-name for the content, which may
            be used by the receiving client if it cannot display the actual
            content to the user.
            </remarks>
            <value>The name.</value>
        </member>
        <member name="M:MimeKit.ContentType.Clone">
            <summary>
            Clone the content type.
            </summary>
            <remarks>
            Clones the content type.
            </remarks>
            <returns>The cloned content type.</returns>
        </member>
        <member name="M:MimeKit.ContentType.IsMimeType(System.String,System.String)">
            <summary>
            Check if this instance of <see cref="T:MimeKit.ContentType"/> matches
            the specified MIME media type and subtype.
            </summary>
            <remarks>
            If the specified <paramref name="mediaType"/> or <paramref name="mediaSubtype"/>
            are <c>"*"</c>, they match anything.
            </remarks>
            <returns><see langword="true" /> if the <see cref="T:MimeKit.ContentType"/> matches the
            provided media type and subtype.</returns>
            <param name="mediaType">The media type.</param>
            <param name="mediaSubtype">The media subtype.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="mediaType"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="mediaSubtype"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.ContentType.ToString(MimeKit.FormatOptions,System.Text.Encoding,System.Boolean)">
            <summary>
            Serialize the <see cref="T:MimeKit.ContentType"/> to a string, optionally encoding the parameters.
            </summary>
            <remarks>
            Creates a string-representation of the <see cref="T:MimeKit.ContentType"/>, optionally encoding
            the parameters as they would be encoded for transport.
            </remarks>
            <returns>The serialized string.</returns>
            <param name="options">The formatting options.</param>
            <param name="charset">The charset to be used when encoding the parameter values.</param>
            <param name="encode">If set to <see langword="true" />, the parameter values will be encoded.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.ContentType.ToString(System.Text.Encoding,System.Boolean)">
            <summary>
            Serialize the <see cref="T:MimeKit.ContentType"/> to a string, optionally encoding the parameters.
            </summary>
            <remarks>
            Creates a string-representation of the <see cref="T:MimeKit.ContentType"/>, optionally encoding
            the parameters as they would be encoded for transport.
            </remarks>
            <returns>The serialized string.</returns>
            <param name="charset">The charset to be used when encoding the parameter values.</param>
            <param name="encode">If set to <see langword="true" />, the parameter values will be encoded.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="charset"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.ContentType.ToString(System.Boolean)">
            <summary>
            Serialize the <see cref="T:MimeKit.ContentType"/> to a string, optionally encoding the parameters.
            </summary>
            <remarks>
            Creates a string-representation of the <see cref="T:MimeKit.ContentType"/>, optionally encoding
            the parameters as they would be encoded for transport.
            </remarks>
            <returns>The serialized string.</returns>
            <param name="encode">If set to <see langword="true" />, the parameter values will be encoded.</param>
        </member>
        <member name="M:MimeKit.ContentType.ToString">
            <summary>
            Serialize the <see cref="T:MimeKit.ContentType"/> to a string.
            </summary>
            <remarks>
            Creates a string-representation of the <see cref="T:MimeKit.ContentType"/>.
            </remarks>
            <returns>A <see cref="T:System.String"/> that represents the current
            <see cref="T:MimeKit.ContentType"/>.</returns>
        </member>
        <member name="M:MimeKit.ContentType.TryParse(MimeKit.ParserOptions,System.Byte[],System.Int32,System.Int32,MimeKit.ContentType@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.ContentType"/> instance.
            </summary>
            <remarks>
            Parses a Content-Type value from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns><see langword="true" /> if the content type was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <param name="type">The parsed content type.</param>
        </member>
        <member name="M:MimeKit.ContentType.TryParse(System.Byte[],System.Int32,System.Int32,MimeKit.ContentType@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.ContentType"/> instance.
            </summary>
            <remarks>
            Parses a Content-Type value from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns><see langword="true" /> if the content type was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <param name="type">The parsed content type.</param>
        </member>
        <member name="M:MimeKit.ContentType.TryParse(MimeKit.ParserOptions,System.Byte[],System.Int32,MimeKit.ContentType@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.ContentType"/> instance.
            </summary>
            <remarks>
            Parses a Content-Type value from the supplied buffer starting at the specified index.
            </remarks>
            <returns><see langword="true" /> if the content type was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="type">The parsed content type.</param>
        </member>
        <member name="M:MimeKit.ContentType.TryParse(System.Byte[],System.Int32,MimeKit.ContentType@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.ContentType"/> instance.
            </summary>
            <remarks>
            Parses a Content-Type value from the supplied buffer starting at the specified index.
            </remarks>
            <returns><see langword="true" /> if the content type was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="type">The parsed content type.</param>
        </member>
        <member name="M:MimeKit.ContentType.TryParse(MimeKit.ParserOptions,System.Byte[],MimeKit.ContentType@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.ContentType"/> instance.
            </summary>
            <remarks>
            Parses a Content-Type value from the specified buffer.
            </remarks>
            <returns><see langword="true" /> if the content type was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options.</param>
            <param name="buffer">The input buffer.</param>
            <param name="type">The parsed content type.</param>
        </member>
        <member name="M:MimeKit.ContentType.TryParse(System.Byte[],MimeKit.ContentType@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.ContentType"/> instance.
            </summary>
            <remarks>
            Parses a Content-Type value from the specified buffer.
            </remarks>
            <returns><see langword="true" /> if the content type was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="type">The parsed content type.</param>
        </member>
        <member name="M:MimeKit.ContentType.TryParse(MimeKit.ParserOptions,System.String,MimeKit.ContentType@)">
            <summary>
            Try to parse the given text into a new <see cref="T:MimeKit.ContentType"/> instance.
            </summary>
            <remarks>
            Parses a Content-Type value from the specified text.
            </remarks>
            <returns><see langword="true" /> if the content type was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options.</param>
            <param name="text">The text to parse.</param>
            <param name="type">The parsed content type.</param>
        </member>
        <member name="M:MimeKit.ContentType.TryParse(System.String,MimeKit.ContentType@)">
            <summary>
            Try to parse the given text into a new <see cref="T:MimeKit.ContentType"/> instance.
            </summary>
            <remarks>
            Parses a Content-Type value from the specified text.
            </remarks>
            <returns><see langword="true" /> if the content type was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="text">The text to parse.</param>
            <param name="type">The parsed content type.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.ContentType.Parse(MimeKit.ParserOptions,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parse the specified input buffer into a new instance of the <see cref="T:MimeKit.ContentType"/> class.
            </summary>
            <remarks>
            Parses a Content-Type value from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.ContentType"/>.</returns>
            <param name="options">The parser options.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The start index of the buffer.</param>
            <param name="length">The length of the buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the byte array.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            The <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.ContentType.Parse(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parse the specified input buffer into a new instance of the <see cref="T:MimeKit.ContentType"/> class.
            </summary>
            <remarks>
            Parses a Content-Type value from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.ContentType"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The start index of the buffer.</param>
            <param name="length">The length of the buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the byte array.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            The <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.ContentType.Parse(MimeKit.ParserOptions,System.Byte[],System.Int32)">
            <summary>
            Parse the specified input buffer into a new instance of the <see cref="T:MimeKit.ContentType"/> class.
            </summary>
            <remarks>
            Parses a Content-Type value from the supplied buffer starting at the specified index.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.ContentType"/>.</returns>
            <param name="options">The parser options.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The start index of the buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is out of range.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            The <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.ContentType.Parse(System.Byte[],System.Int32)">
            <summary>
            Parse the specified input buffer into a new instance of the <see cref="T:MimeKit.ContentType"/> class.
            </summary>
            <remarks>
            Parses a Content-Type value from the supplied buffer starting at the specified index.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.ContentType"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The start index of the buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is out of range.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            The <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.ContentType.Parse(MimeKit.ParserOptions,System.Byte[])">
            <summary>
            Parse the specified input buffer into a new instance of the <see cref="T:MimeKit.ContentType"/> class.
            </summary>
            <remarks>
            Parses a Content-Type value from the specified buffer.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.ContentType"/>.</returns>
            <param name="options">The parser options.</param>
            <param name="buffer">The input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.ParseException">
            The <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.ContentType.Parse(System.Byte[])">
            <summary>
            Parse the specified input buffer into a new instance of the <see cref="T:MimeKit.ContentType"/> class.
            </summary>
            <remarks>
            Parses a Content-Type value from the specified buffer.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.ContentType"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            The <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.ContentType.Parse(MimeKit.ParserOptions,System.String)">
            <summary>
            Parse the specified text into a new instance of the <see cref="T:MimeKit.ContentType"/> class.
            </summary>
            <remarks>
            Parses a Content-Type value from the specified text.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.ContentType"/>.</returns>
            <param name="options">The parser options.</param>
            <param name="text">The text.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="text"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.ParseException">
            The <paramref name="text"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.ContentType.Parse(System.String)">
            <summary>
            Parse the specified text into a new instance of the <see cref="T:MimeKit.ContentType"/> class.
            </summary>
            <remarks>
            Parses a Content-Type value from the specified text.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.ContentType"/>.</returns>
            <param name="text">The text.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            The <paramref name="text"/> could not be parsed.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.ApplicationPgpEncrypted">
            <summary>
            A MIME part with a Content-Type of application/pgp-encrypted.
            </summary>
            <remarks>
            An application/pgp-encrypted part will typically be the first child of
            a <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> part and contains only a Version
            header.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPgpEncrypted.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.ApplicationPgpEncrypted"/>
            class based on the <see cref="T:MimeKit.MimeEntityConstructorArgs"/>.
            </summary>
            <remarks>
            This constructor is used by <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPgpEncrypted.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.ApplicationPgpEncrypted"/> class.
            </summary>
            <remarks>
            Creates a new MIME part with a Content-Type of application/pgp-encrypted
            and content matching <c>"Version: 1\n"</c>.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPgpEncrypted.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.Cryptography.ApplicationPgpEncrypted"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitApplicationPgpEncrypted(MimeKit.Cryptography.ApplicationPgpEncrypted)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitApplicationPgpEncrypted(MimeKit.Cryptography.ApplicationPgpEncrypted)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.ApplicationPgpEncrypted"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.ApplicationPgpSignature">
            <summary>
            A MIME part with a Content-Type of application/pgp-signature.
            </summary>
            <remarks>
            <para>An application/pgp-signature part contains detatched pgp signature data
            and is typically contained within a <see cref="T:MimeKit.Cryptography.MultipartSigned"/> part.</para>
            <para>To verify the signature, use the one of the
            <a href="Overload_MimeKit_Cryptography_MultipartSigned_Verify.htm">Verify</a>
            methods on the parent multipart/signed part.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPgpSignature.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.ApplicationPgpSignature"/>
            class based on the <see cref="T:MimeKit.MimeEntityConstructorArgs"/>.
            </summary>
            <remarks>
            This constructor is used by <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPgpSignature.#ctor(System.IO.Stream)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.ApplicationPgpSignature"/>
            class with a Content-Type of application/pgp-signature.
            </summary>
            <remarks>
            Creates a new MIME part with a Content-Type of application/pgp-signature
            and the <paramref name="stream"/> as its content.
            </remarks>
            <param name="stream">The content stream.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="stream"/> does not support reading.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> does not support seeking.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPgpSignature.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.Cryptography.ApplicationPgpSignature"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitApplicationPgpSignature(MimeKit.Cryptography.ApplicationPgpSignature)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitApplicationPgpSignature(MimeKit.Cryptography.ApplicationPgpSignature)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.ApplicationPgpSignature"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.ApplicationPkcs7Mime">
            <summary>
            An S/MIME part with a Content-Type of application/pkcs7-mime.
            </summary>
            <remarks>
            An application/pkcs7-mime is an S/MIME part and may contain encrypted,
            signed or compressed data (or any combination of the above).
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> class.
            </summary>
            <remarks>
            This constructor is used by <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.#ctor(MimeKit.Cryptography.SecureMimeType,System.IO.Stream)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> class.
            </summary>
            <remarks>
            <para>Creates a new MIME part with a Content-Type of application/pkcs7-mime
            and the <paramref name="stream"/> as its content.</para>
            <para>Unless you are writing your own pkcs7 implementation, you'll probably
            want to use the <see cref="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Compress(MimeKit.MimeEntity,System.Threading.CancellationToken)"/>,
            <see cref="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Encrypt(MimeKit.Cryptography.CmsRecipientCollection,MimeKit.MimeEntity,System.Threading.CancellationToken)"/>, and/or
            <see cref="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Sign(MimeKit.Cryptography.CmsSigner,MimeKit.MimeEntity,System.Threading.CancellationToken)"/> method to create new instances
            of this class.</para>
            </remarks>
            <param name="type">The S/MIME type.</param>
            <param name="stream">The content stream.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="type"/> is not a valid value.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="stream"/> does not support reading.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> does not support seeking.</para>
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.ApplicationPkcs7Mime.SecureMimeType">
            <summary>
            Gets the value of the "smime-type" parameter.
            </summary>
            <remarks>
            Gets the value of the "smime-type" parameter.
            </remarks>
            <value>The value of the "smime-type" parameter.</value>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitApplicationPkcs7Mime(MimeKit.Cryptography.ApplicationPkcs7Mime)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitApplicationPkcs7Mime(MimeKit.Cryptography.ApplicationPkcs7Mime)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Decompress(MimeKit.Cryptography.SecureMimeContext,System.Threading.CancellationToken)">
            <summary>
            Decompress the compressed-data.
            </summary>
            <remarks>
            Decompresses the compressed-data using the specified <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The decompressed <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="ctx">The S/MIME context to use for decompressing.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "compressed-data".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.DecompressAsync(MimeKit.Cryptography.SecureMimeContext,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decompress the compressed-data.
            </summary>
            <remarks>
            Asynchronously decompresses the compressed-data using the specified <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The decompressed <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="ctx">The S/MIME context to use for decompressing.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "compressed-data".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Decompress(System.Threading.CancellationToken)">
            <summary>
            Decompress the compressed-data.
            </summary>
            <remarks>
            Decompresses the compressed-data using the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The decompressed <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "compressed-data".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.DecompressAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously decompress the compressed-data.
            </summary>
            <remarks>
            Asynchronously decompresses the compressed-data using the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The decompressed <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "compressed-data".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Decrypt(MimeKit.Cryptography.SecureMimeContext,System.Threading.CancellationToken)">
            <summary>
            Decrypt the enveloped-data.
            </summary>
            <remarks>
            Decrypts the enveloped-data using the specified <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="ctx">The S/MIME context to use for decrypting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "enveloped-data".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.DecryptAsync(MimeKit.Cryptography.SecureMimeContext,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decrypt the enveloped-data.
            </summary>
            <remarks>
            Asynchronously decrypts the enveloped-data using the specified <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="ctx">The S/MIME context to use for decrypting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "enveloped-data".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Decrypt(System.Threading.CancellationToken)">
            <summary>
            Decrypt the enveloped-data.
            </summary>
            <remarks>
            Decrypts the enveloped-data using the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "certs-only".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.DecryptAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously decrypt the enveloped-data.
            </summary>
            <remarks>
            Asynchronously decrypts the enveloped-data using the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "certs-only".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Import(MimeKit.Cryptography.SecureMimeContext,System.Threading.CancellationToken)">
            <summary>
            Import the certificates contained in the application/pkcs7-mime content.
            </summary>
            <remarks>
            Imports the certificates contained in the application/pkcs7-mime content.
            </remarks>
            <param name="ctx">The S/MIME context to import certificates into.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "certs-only".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.ImportAsync(MimeKit.Cryptography.SecureMimeContext,System.Threading.CancellationToken)">
            <summary>
            Asynchronously import the certificates contained in the application/pkcs7-mime content.
            </summary>
            <remarks>
            Asynchronously imports the certificates contained in the application/pkcs7-mime content.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="ctx">The S/MIME context to import certificates into.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "certs-only".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Verify(MimeKit.Cryptography.SecureMimeContext,MimeKit.MimeEntity@,System.Threading.CancellationToken)">
            <summary>
            Verify the signed-data and return the unencapsulated <see cref="T:MimeKit.MimeEntity"/>.
            </summary>
            <remarks>
            Verifies the signed-data and returns the unencapsulated <see cref="T:MimeKit.MimeEntity"/>.
            </remarks>
            <returns>The list of digital signatures.</returns>
            <param name="ctx">The S/MIME context to use for verifying the signature.</param>
            <param name="entity">The unencapsulated entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "signed-data".
            </exception>
            <exception cref="T:System.FormatException">
            The extracted content could not be parsed as a MIME entity.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Verify(MimeKit.MimeEntity@,System.Threading.CancellationToken)">
            <summary>
            Verifies the signed-data and returns the unencapsulated <see cref="T:MimeKit.MimeEntity"/>.
            </summary>
            <remarks>
            Verifies the signed-data using the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/> and returns the
            unencapsulated <see cref="T:MimeKit.MimeEntity"/>.
            </remarks>
            <returns>The list of digital signatures.</returns>
            <param name="entity">The unencapsulated entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "signed-data".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Compress(MimeKit.Cryptography.SecureMimeContext,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Compress the specified entity.
            </summary>
            <remarks>
            <para>Compresses the specified entity using the specified <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.</para>
            <note type="warning">Most mail clients, even among those that support S/MIME, do not support compression.</note>
            </remarks>
            <returns>The compressed entity.</returns>
            <param name="ctx">The S/MIME context to use for compressing.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.CompressAsync(MimeKit.Cryptography.SecureMimeContext,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously compress the specified entity.
            </summary>
            <remarks>
            <para>Asynchronously compresses the specified entity using the specified <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.</para>
            <note type="warning">Most mail clients, even among those that support S/MIME, do not support compression.</note>
            </remarks>
            <returns>The compressed entity.</returns>
            <param name="ctx">The S/MIME context to use for compressing.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Compress(MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Compress the specified entity.
            </summary>
            <remarks>
            <para>Compresses the specified entity using the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.</para>
            <note type="warning">Most mail clients, even among those that support S/MIME, do not support compression.</note>
            </remarks>
            <returns>The compressed entity.</returns>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="entity"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.CompressAsync(MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously compress the specified entity.
            </summary>
            <remarks>
            <para>Asynchronously compresses the specified entity using the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.</para>
            <note type="warning">Most mail clients, even among those that support S/MIME, do not support compression.</note>
            </remarks>
            <returns>The compressed entity.</returns>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="entity"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Encrypt(MimeKit.Cryptography.SecureMimeContext,MimeKit.Cryptography.CmsRecipientCollection,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Encrypt the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients using the supplied <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The encrypted entity.</returns>
            <param name="ctx">The S/MIME context to use for encrypting.</param>
            <param name="recipients">The recipients.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.EncryptAsync(MimeKit.Cryptography.SecureMimeContext,MimeKit.Cryptography.CmsRecipientCollection,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously encrypt the specified entity.
            </summary>
            <remarks>
            Asynchronously encrypts the entity to the specified recipients using the supplied <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The encrypted entity.</returns>
            <param name="ctx">The S/MIME context to use for encrypting.</param>
            <param name="recipients">The recipients.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Encrypt(MimeKit.Cryptography.CmsRecipientCollection,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Encrypt the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients using the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The encrypted entity.</returns>
            <param name="recipients">The recipients.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.EncryptAsync(MimeKit.Cryptography.CmsRecipientCollection,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously encrypt the specified entity.
            </summary>
            <remarks>
            Asynchronously encrypts the entity to the specified recipients using the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The encrypted entity.</returns>
            <param name="recipients">The recipients.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Encrypt(MimeKit.Cryptography.SecureMimeContext,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Encrypt the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients using the supplied <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The encrypted entity.</returns>
            <param name="ctx">The S/MIME context to use for encrypting.</param>
            <param name="recipients">The recipients.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            Valid certificates could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.EncryptAsync(MimeKit.Cryptography.SecureMimeContext,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously encrypt the specified entity.
            </summary>
            <remarks>
            Asynchronously encrypts the entity to the specified recipients using the supplied <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The encrypted entity.</returns>
            <param name="ctx">The S/MIME context to use for encrypting.</param>
            <param name="recipients">The recipients.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            Valid certificates could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Encrypt(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Encrypt the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients using the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The encrypted entity.</returns>
            <param name="recipients">The recipients.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            Valid certificates could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.EncryptAsync(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously encrypt the specified entity.
            </summary>
            <remarks>
            Asynchronously encrypts the entity to the specified recipients using the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The encrypted entity.</returns>
            <param name="recipients">The recipients.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            Valid certificates could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Sign(MimeKit.Cryptography.SecureMimeContext,MimeKit.Cryptography.CmsSigner,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Sign the specified entity.
            </summary>
            <remarks>
            <para>Signs the entity using the supplied signer and <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.</para>
            <para>For better interoperability with other mail clients, you should use
            <see cref="M:MimeKit.Cryptography.MultipartSigned.Create(MimeKit.Cryptography.SecureMimeContext,MimeKit.Cryptography.CmsSigner,MimeKit.MimeEntity,System.Threading.CancellationToken)"/>
            instead as the multipart/signed format is supported among a much larger
            subset of mail client software.</para>
            </remarks>
            <returns>The signed entity.</returns>
            <param name="ctx">The S/MIME context to use for signing.</param>
            <param name="signer">The signer.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.SignAsync(MimeKit.Cryptography.SecureMimeContext,MimeKit.Cryptography.CmsSigner,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign the specified entity.
            </summary>
            <remarks>
            <para>Asynchronously signs the entity using the supplied signer and <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.</para>
            <para>For better interoperability with other mail clients, you should use
            <see cref="M:MimeKit.Cryptography.MultipartSigned.CreateAsync(MimeKit.Cryptography.SecureMimeContext,MimeKit.Cryptography.CmsSigner,MimeKit.MimeEntity,System.Threading.CancellationToken)"/>
            instead as the multipart/signed format is supported among a much larger
            subset of mail client software.</para>
            </remarks>
            <returns>The signed entity.</returns>
            <param name="ctx">The S/MIME context to use for signing.</param>
            <param name="signer">The signer.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Sign(MimeKit.Cryptography.CmsSigner,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Sign the specified entity.
            </summary>
            <remarks>
            <para>Signs the entity using the supplied signer and the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.</para>
            <para>For better interoperability with other mail clients, you should use
            <see cref="M:MimeKit.Cryptography.MultipartSigned.Create(MimeKit.Cryptography.SecureMimeContext,MimeKit.Cryptography.CmsSigner,MimeKit.MimeEntity,System.Threading.CancellationToken)"/>
            instead as the multipart/signed format is supported among a much larger
            subset of mail client software.</para>
            </remarks>
            <returns>The signed entity.</returns>
            <param name="signer">The signer.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.SignAsync(MimeKit.Cryptography.CmsSigner,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign the specified entity.
            </summary>
            <remarks>
            <para>Asynchronously signs the entity using the supplied signer and the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.</para>
            <para>For better interoperability with other mail clients, you should use
            <see cref="M:MimeKit.Cryptography.MultipartSigned.CreateAsync(MimeKit.Cryptography.SecureMimeContext,MimeKit.Cryptography.CmsSigner,MimeKit.MimeEntity,System.Threading.CancellationToken)"/>
            instead as the multipart/signed format is supported among a much larger
            subset of mail client software.</para>
            </remarks>
            <returns>The signed entity.</returns>
            <param name="signer">The signer.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Sign(MimeKit.Cryptography.SecureMimeContext,MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Sign the specified entity.
            </summary>
            <remarks>
            <para>Signs the entity using the supplied signer, digest algorithm and <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.</para>
            <para>For better interoperability with other mail clients, you should use
            <see cref="M:MimeKit.Cryptography.MultipartSigned.Create(MimeKit.Cryptography.SecureMimeContext,MimeKit.Cryptography.CmsSigner,MimeKit.MimeEntity,System.Threading.CancellationToken)"/>
            instead as the multipart/signed format is supported among a much larger
            subset of mail client software.</para>
            </remarks>
            <returns>The signed entity.</returns>
            <param name="ctx">The S/MIME context to use for signing.</param>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.SignAsync(MimeKit.Cryptography.SecureMimeContext,MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign the specified entity.
            </summary>
            <remarks>
            <para>Asynchronously signs the entity using the supplied signer, digest algorithm and <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.</para>
            <para>For better interoperability with other mail clients, you should use
            <see cref="M:MimeKit.Cryptography.MultipartSigned.Create(MimeKit.Cryptography.SecureMimeContext,MimeKit.Cryptography.CmsSigner,MimeKit.MimeEntity,System.Threading.CancellationToken)"/>
            instead as the multipart/signed format is supported among a much larger
            subset of mail client software.</para>
            </remarks>
            <returns>The signed entity.</returns>
            <param name="ctx">The S/MIME context to use for signing.</param>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.Sign(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Sign the specified entity.
            </summary>
            <remarks>
            <para>Signs the entity using the supplied signer, digest algorithm and the default
            <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.</para>
            <para>For better interoperability with other mail clients, you should use
            <see cref="M:MimeKit.Cryptography.MultipartSigned.Create(MimeKit.Cryptography.SecureMimeContext,MimeKit.Cryptography.CmsSigner,MimeKit.MimeEntity,System.Threading.CancellationToken)"/>
            instead as the multipart/signed format is supported among a much larger
            subset of mail client software.</para>
            </remarks>
            <returns>The signed entity.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.SignAsync(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign the specified entity.
            </summary>
            <remarks>
            <para>Asynchronously signs the entity using the supplied signer, digest algorithm and the default
            <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.</para>
            <para>For better interoperability with other mail clients, you should use
            <see cref="M:MimeKit.Cryptography.MultipartSigned.CreateAsync(MimeKit.Cryptography.SecureMimeContext,MimeKit.Cryptography.CmsSigner,MimeKit.MimeEntity,System.Threading.CancellationToken)"/>
            instead as the multipart/signed format is supported among a much larger
            subset of mail client software.</para>
            </remarks>
            <returns>The signed entity.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.SignAndEncrypt(MimeKit.Cryptography.SecureMimeContext,MimeKit.Cryptography.CmsSigner,MimeKit.Cryptography.CmsRecipientCollection,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Sign and encrypt the specified entity.
            </summary>
            <remarks>
            Signs entity using the supplied signer and then encrypts the result to the specified recipients.
            </remarks>
            <returns>The signed and encrypted entity.</returns>
            <param name="ctx">The S/MIME context to use for signing and encrypting.</param>
            <param name="signer">The signer.</param>
            <param name="recipients">The recipients.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.SignAndEncryptAsync(MimeKit.Cryptography.SecureMimeContext,MimeKit.Cryptography.CmsSigner,MimeKit.Cryptography.CmsRecipientCollection,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign and encrypt the specified entity.
            </summary>
            <remarks>
            Asynchronously signs entity using the supplied signer and then encrypts the result to the specified recipients.
            </remarks>
            <returns>The signed and encrypted entity.</returns>
            <param name="ctx">The S/MIME context to use for signing and encrypting.</param>
            <param name="signer">The signer.</param>
            <param name="recipients">The recipients.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.SignAndEncrypt(MimeKit.Cryptography.CmsSigner,MimeKit.Cryptography.CmsRecipientCollection,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Sign and encrypt the specified entity.
            </summary>
            <remarks>
            Signs entity using the supplied signer and the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>
            and then encrypts the result to the specified recipients.
            </remarks>
            <returns>The signed and encrypted entity.</returns>
            <param name="signer">The signer.</param>
            <param name="recipients">The recipients.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.SignAndEncryptAsync(MimeKit.Cryptography.CmsSigner,MimeKit.Cryptography.CmsRecipientCollection,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchroinously sign and encrypt the specified entity.
            </summary>
            <remarks>
            Asynchronously signs entity using the supplied signer and the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>
            and then encrypts the result to the specified recipients.
            </remarks>
            <returns>The signed and encrypted entity.</returns>
            <param name="signer">The signer.</param>
            <param name="recipients">The recipients.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.SignAndEncrypt(MimeKit.Cryptography.SecureMimeContext,MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Sign and encrypt the specified entity.
            </summary>
            <remarks>
            Signs entity using the supplied signer and then encrypts the result to the specified recipients.
            </remarks>
            <returns>The signed and encrypted entity.</returns>
            <param name="ctx">The S/MIME context to use for signing and encrypting.</param>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="recipients">The recipients.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            <para>A signing certificate could not be found for <paramref name="signer"/>.</para>
            <para>-or-</para>
            <para>A certificate could not be found for one or more of the <paramref name="recipients"/>.</para>
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.SignAndEncryptAsync(MimeKit.Cryptography.SecureMimeContext,MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign and encrypt the specified entity.
            </summary>
            <remarks>
            Asynchronously signs entity using the supplied signer and then encrypts the result to the specified recipients.
            </remarks>
            <returns>The signed and encrypted entity.</returns>
            <param name="ctx">The S/MIME context to use for signing and encrypting.</param>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="recipients">The recipients.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            <para>A signing certificate could not be found for <paramref name="signer"/>.</para>
            <para>-or-</para>
            <para>A certificate could not be found for one or more of the <paramref name="recipients"/>.</para>
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.SignAndEncrypt(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Sign and encrypt the specified entity.
            </summary>
            <remarks>
            Signs entity using the supplied signer and the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>
            and then encrypts the result to the specified recipients.
            </remarks>
            <returns>The signed and encrypted entity.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="recipients">The recipients.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            <para>A signing certificate could not be found for <paramref name="signer"/>.</para>
            <para>-or-</para>
            <para>A certificate could not be found for one or more of the <paramref name="recipients"/>.</para>
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Mime.SignAndEncryptAsync(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign and encrypt the specified entity.
            </summary>
            <remarks>
            Asynchronously signs entity using the supplied signer and the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>
            and then encrypts the result to the specified recipients.
            </remarks>
            <returns>The signed and encrypted entity.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="recipients">The recipients.</param>
            <param name="entity">The entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            <para>A signing certificate could not be found for <paramref name="signer"/>.</para>
            <para>-or-</para>
            <para>A certificate could not be found for one or more of the <paramref name="recipients"/>.</para>
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.ApplicationPkcs7Signature">
            <summary>
            An S/MIME part with a Content-Type of application/pkcs7-signature.
            </summary>
            <remarks>
            <para>An application/pkcs7-signature part contains detatched pkcs7 signature data
            and is typically contained within a <see cref="T:MimeKit.Cryptography.MultipartSigned"/> part.</para>
            <para>To verify the signature, use one of the
            <a href="Overload_MimeKit_Cryptography_MultipartSigned_Verify.htm">Verify</a>
            methods on the parent multipart/signed part.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Signature.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Signature"/> class.
            </summary>
            <remarks>
            This constructor is used by <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Signature.#ctor(System.IO.Stream)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Signature"/>
            class with a Content-Type of application/pkcs7-signature.
            </summary>
            <remarks>
            Creates a new MIME part with a Content-Type of application/pkcs7-signature
            and the <paramref name="stream"/> as its content.
            </remarks>
            <param name="stream">The content stream.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="stream"/> does not support reading.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> does not support seeking.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ApplicationPkcs7Signature.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Signature"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitApplicationPkcs7Signature(MimeKit.Cryptography.ApplicationPkcs7Signature)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitApplicationPkcs7Signature(MimeKit.Cryptography.ApplicationPkcs7Signature)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Signature"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.ArcSigner">
            <summary>
            An ARC signer.
            </summary>
            <remarks>
            An ARC signer.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcSignerExample.cs" />
            </example>
        </member>
        <member name="M:MimeKit.Cryptography.ArcSigner.#ctor(System.String,System.String,MimeKit.Cryptography.DkimSignatureAlgorithm)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.ArcSigner"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.ArcSigner"/>.
            </remarks>
            <param name="domain">The domain that the signer represents.</param>
            <param name="selector">The selector subdividing the domain.</param>
            <param name="algorithm">The signature algorithm.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="domain"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="selector"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ArcSigner.#ctor(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.String,System.String,MimeKit.Cryptography.DkimSignatureAlgorithm)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.ArcSigner"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.ArcSigner"/>.
            </remarks>
            <param name="key">The signer's private key.</param>
            <param name="domain">The domain that the signer represents.</param>
            <param name="selector">The selector subdividing the domain.</param>
            <param name="algorithm">The signature algorithm.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="key"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="domain"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="selector"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="key"/> is not a private key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ArcSigner.#ctor(System.String,System.String,System.String,MimeKit.Cryptography.DkimSignatureAlgorithm)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.ArcSigner"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.ArcSigner"/>.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcSignerExample.cs" />
            </example>
            <param name="fileName">The file containing the private key.</param>
            <param name="domain">The domain that the signer represents.</param>
            <param name="selector">The selector subdividing the domain.</param>
            <param name="algorithm">The signature algorithm.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="domain"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="selector"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.FormatException">
            The file did not contain a private key.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ArcSigner.#ctor(System.IO.Stream,System.String,System.String,MimeKit.Cryptography.DkimSignatureAlgorithm)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.ArcSigner"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.ArcSigner"/>.
            </remarks>
            <param name="stream">The stream containing the private key.</param>
            <param name="domain">The domain that the signer represents.</param>
            <param name="selector">The selector subdividing the domain.</param>
            <param name="algorithm">The signature algorithm.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="domain"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="selector"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.FormatException">
            The file did not contain a private key.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ArcSigner.GenerateArcAuthenticationResults(MimeKit.FormatOptions,MimeKit.MimeMessage,System.Threading.CancellationToken)">
            <summary>
            Generate an ARC-Authentication-Results header.
            </summary>
            <remarks>
            <para>Generates an ARC-Authentication-Results header.</para>
            <para>If the returned <see cref="T:MimeKit.Cryptography.AuthenticationResults"/> contains a <see cref="T:MimeKit.Cryptography.AuthenticationMethodResult"/>
            with a <see cref="P:MimeKit.Cryptography.AuthenticationMethodResult.Method"/> equal to <c>"arc"</c>, then the
            <see cref="P:MimeKit.Cryptography.AuthenticationMethodResult.Result"/> will be used as the <c>cv=</c> tag value
            in the <c>ARC-Seal</c> header generated by the <see cref="T:MimeKit.Cryptography.ArcSigner"/>.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcSignerExample.cs" />
            </example>
            <param name="options">The format options.</param>
            <param name="message">The message to create the ARC-Authentication-Results header for.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The ARC-Authentication-Results header or <see langword="null"/> if the <see cref="T:MimeKit.Cryptography.ArcSigner"/> should not sign the message.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.ArcSigner.GenerateArcAuthenticationResultsAsync(MimeKit.FormatOptions,MimeKit.MimeMessage,System.Threading.CancellationToken)">
            <summary>
            Asynchronously generate an ARC-Authentication-Results header.
            </summary>
            <remarks>
            <para>Asynchronously generates an ARC-Authentication-Results header.</para>
            <para>If the returned <see cref="T:MimeKit.Cryptography.AuthenticationResults"/> contains a <see cref="T:MimeKit.Cryptography.AuthenticationMethodResult"/>
            with a <see cref="P:MimeKit.Cryptography.AuthenticationMethodResult.Method"/> equal to <c>"arc"</c>, then the
            <see cref="P:MimeKit.Cryptography.AuthenticationMethodResult.Result"/> will be used as the <c>cv=</c> tag value
            in the <c>ARC-Seal</c> header generated by the <see cref="T:MimeKit.Cryptography.ArcSigner"/>.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcSignerExample.cs" />
            </example>
            <param name="options">The format options.</param>
            <param name="message">The message to create the ARC-Authentication-Results header for.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The ARC-Authentication-Results header or <see langword="null"/> if the <see cref="T:MimeKit.Cryptography.ArcSigner"/> should not sign the message.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.ArcSigner.GetTimestamp">
            <summary>
            Get the timestamp value.
            </summary>
            <remarks>
            Gets the timestamp to use as the <c>t=</c> value in the ARC-Message-Signature and ARC-Seal headers.
            </remarks>
            <returns>A value representing the timestamp value.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.ArcSigner.Sign(MimeKit.FormatOptions,MimeKit.MimeMessage,System.Collections.Generic.IList{System.String},System.Threading.CancellationToken)">
            <summary>
            Digitally sign and seal a message using ARC.
            </summary>
            <remarks>
            Digitally signs and seals a message using ARC.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcSignerExample.cs" />
            </example>
            <param name="options">The formatting options.</param>
            <param name="message">The message to sign.</param>
            <param name="headers">The list of header fields to sign.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="headers"/> does not contain the 'From' header.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> contains one or more of the following headers: Return-Path,
            Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature.</para>
            </exception>
            <exception cref="T:System.FormatException">
            One or more ARC headers either did not contain an instance tag or the instance tag was invalid.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ArcSigner.SignAsync(MimeKit.FormatOptions,MimeKit.MimeMessage,System.Collections.Generic.IList{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously digitally sign and seal a message using ARC.
            </summary>
            <remarks>
            Asynchronously digitally signs and seals a message using ARC.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcSignerExample.cs" />
            </example>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message to sign.</param>
            <param name="headers">The list of header fields to sign.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="headers"/> does not contain the 'From' header.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> contains one or more of the following headers: Return-Path,
            Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature.</para>
            </exception>
            <exception cref="T:System.FormatException">
            One or more ARC headers either did not contain an instance tag or the instance tag was invalid.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ArcSigner.Sign(MimeKit.MimeMessage,System.Collections.Generic.IList{System.String},System.Threading.CancellationToken)">
            <summary>
            Digitally sign and seal a message using ARC.
            </summary>
            <remarks>
            Digitally signs and seals a message using ARC.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcSignerExample.cs" />
            </example>
            <param name="message">The message to sign.</param>
            <param name="headers">The list of header fields to sign.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="headers"/> does not contain the 'From' header.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> contains one or more of the following headers: Return-Path,
            Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature.</para>
            </exception>
            <exception cref="T:System.FormatException">
            One or more ARC headers either did not contain an instance tag or the instance tag was invalid.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ArcSigner.SignAsync(MimeKit.MimeMessage,System.Collections.Generic.IList{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously digitally sign and seal a message using ARC.
            </summary>
            <remarks>
            Asynchronously digitally signs and seals a message using ARC.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcSignerExample.cs" />
            </example>
            <returns>An awaitable task.</returns>
            <param name="message">The message to sign.</param>
            <param name="headers">The list of header fields to sign.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="headers"/> does not contain the 'From' header.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> contains one or more of the following headers: Return-Path,
            Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature.</para>
            </exception>
            <exception cref="T:System.FormatException">
            One or more ARC headers either did not contain an instance tag or the instance tag was invalid.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ArcSigner.Sign(MimeKit.FormatOptions,MimeKit.MimeMessage,System.Collections.Generic.IList{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Digitally sign and seal a message using ARC.
            </summary>
            <remarks>
            Digitally signs and seals a message using ARC.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcSignerExample.cs" />
            </example>
            <param name="options">The formatting options.</param>
            <param name="message">The message to sign.</param>
            <param name="headers">The list of header fields to sign.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="headers"/> does not contain the 'From' header.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> contains one or more of the following headers: Return-Path,
            Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature.</para>
            </exception>
            <exception cref="T:System.FormatException">
            One or more ARC headers either did not contain an instance tag or the instance tag was invalid.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ArcSigner.SignAsync(MimeKit.FormatOptions,MimeKit.MimeMessage,System.Collections.Generic.IList{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously digitally sign and seal a message using ARC.
            </summary>
            <remarks>
            Asynchronously digitally signs and seals a message using ARC.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcSignerExample.cs" />
            </example>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message to sign.</param>
            <param name="headers">The list of header fields to sign.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="headers"/> does not contain the 'From' header.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> contains one or more of the following headers: Return-Path,
            Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature.</para>
            </exception>
            <exception cref="T:System.FormatException">
            One or more ARC headers either did not contain an instance tag or the instance tag was invalid.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ArcSigner.Sign(MimeKit.MimeMessage,System.Collections.Generic.IList{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Digitally sign and seal a message using ARC.
            </summary>
            <remarks>
            Digitally signs and seals a message using ARC.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcSignerExample.cs" />
            </example>
            <param name="message">The message to sign.</param>
            <param name="headers">The list of header fields to sign.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="headers"/> does not contain the 'From' header.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> contains one or more of the following headers: Return-Path,
            Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature.</para>
            </exception>
            <exception cref="T:System.FormatException">
            One or more ARC headers either did not contain an instance tag or the instance tag was invalid.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ArcSigner.SignAsync(MimeKit.MimeMessage,System.Collections.Generic.IList{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously digitally sign and seal a message using ARC.
            </summary>
            <remarks>
            Asynchronously digitally signs and seals a message using ARC.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcSignerExample.cs" />
            </example>
            <returns>An awaitable task.</returns>
            <param name="message">The message to sign.</param>
            <param name="headers">The list of header fields to sign.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="headers"/> does not contain the 'From' header.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> contains one or more of the following headers: Return-Path,
            Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature.</para>
            </exception>
            <exception cref="T:System.FormatException">
            One or more ARC headers either did not contain an instance tag or the instance tag was invalid.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.ArcSignatureValidationResult">
            <summary>
            An ARC signature validation result.
            </summary>
            <remarks>
            An ARC signature validation result.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcVerifierExample.cs" />
            </example>
        </member>
        <member name="F:MimeKit.Cryptography.ArcSignatureValidationResult.None">
            <summary>
            No signatures to validate.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.ArcSignatureValidationResult.Pass">
            <summary>
            The validation passed.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.ArcSignatureValidationResult.Fail">
            <summary>
            The validation failed.
            </summary>
        </member>
        <member name="T:MimeKit.Cryptography.ArcValidationErrors">
            <summary>
            An enumeration of possible ARC validation errors.
            </summary>
            <remarks>
            An enumeration of possible ARC validation errors.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.ArcValidationErrors.None">
            <summary>
            No errors.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.ArcValidationErrors.DuplicateArcAuthenticationResults">
            <summary>
            One or more duplicate ARC-Authentication-Results headers exist.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.ArcValidationErrors.DuplicateArcMessageSignature">
            <summary>
            One or more duplicate ARC-Message-Signature headers exist.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.ArcValidationErrors.DuplicateArcSeal">
            <summary>
            One or more duplicate ARC-Seal headers exist.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.ArcValidationErrors.MissingArcAuthenticationResults">
            <summary>
            One or more ARC-Authentication-Results headers are missing.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.ArcValidationErrors.MissingArcMessageSignature">
            <summary>
            One or more ARC-Message-Signature headers are missing.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.ArcValidationErrors.MissingArcSeal">
            <summary>
            One or more ARC-Seal headers are missing.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.ArcValidationErrors.InvalidArcAuthenticationResults">
            <summary>
            One or more ARC-Authentication-Results headers could not be parsed.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.ArcValidationErrors.InvalidArcMessageSignature">
            <summary>
            One or more ARC-Message-Signature headers could not be parsed.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.ArcValidationErrors.InvalidArcSeal">
            <summary>
            One or more ARC-Seal headers could not be parsed.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.ArcValidationErrors.InvalidArcSealChainValidationValue">
            <summary>
            One or more ARC-Seal headers have an invalid <c>cv</c> value.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.ArcValidationErrors.MissingArcSealChainValidationValue">
            <summary>
            One or more ARC-Seal headers are missing a <c>cv</c> value.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.ArcValidationErrors.MessageSignatureValidationFailed">
            <summary>
            Validation failed for the most recent ARC-Message-Signature header.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.ArcValidationErrors.SealValidationFailed">
            <summary>
            Validation failed for one or more of the ARC-Seal headers.
            </summary>
        </member>
        <member name="T:MimeKit.Cryptography.ArcHeaderValidationResult">
            <summary>
            An ARC header validation result.
            </summary>
            <remarks>
            Represents an ARC header and its signature validation result.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcVerifierExample.cs" />
            </example>
        </member>
        <member name="M:MimeKit.Cryptography.ArcHeaderValidationResult.#ctor(MimeKit.Header)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.ArcHeaderValidationResult"/> class.
            </summary>
            <param name="header">The ARC header.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="header"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ArcHeaderValidationResult.#ctor(MimeKit.Header,MimeKit.Cryptography.ArcSignatureValidationResult)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.ArcHeaderValidationResult"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.ArcHeaderValidationResult"/>.
            </remarks>
            <param name="header">The ARC header.</param>
            <param name="signature">The signature validation result.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="header"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.ArcHeaderValidationResult.Signature">
            <summary>
            Get the signature validation result.
            </summary>
            <remarks>
            Gets the signature validation result.
            </remarks>
            <value>The signature validation result.</value>
        </member>
        <member name="P:MimeKit.Cryptography.ArcHeaderValidationResult.Header">
            <summary>
            Get the ARC header.
            </summary>
            <remarks>
            Gets the ARC header.
            </remarks>
            <value>The ARC header.</value>
        </member>
        <member name="T:MimeKit.Cryptography.ArcValidationResult">
            <summary>
            An ARC validation result.
            </summary>
            <remarks>
            <para>Represents the results of <a href="Overload_MimeKit_Cryptography_ArcVerifier_Verify">ArcVerifier.Verify</a>
            or <a href="Overload_MimeKit_Cryptography_ArcVerifier_VerifyAsync">ArcVerifier.VerifyAsync</a>.</para>
            <para>If no ARC headers are found on the <see cref="T:MimeKit.MimeMessage"/>, then the <see cref="P:MimeKit.Cryptography.ArcValidationResult.Chain"/> result will be
            <see cref="F:MimeKit.Cryptography.ArcSignatureValidationResult.None"/> and both <see cref="P:MimeKit.Cryptography.ArcValidationResult.MessageSignature"/> and <see cref="P:MimeKit.Cryptography.ArcValidationResult.Seals"/>
            will be <see langword="null"/>.</para>
            <para>If ARC headers are found on the <see cref="T:MimeKit.MimeMessage"/> but could not be parsed, then the
            <see cref="P:MimeKit.Cryptography.ArcValidationResult.Chain"/> result will be <see cref="F:MimeKit.Cryptography.ArcSignatureValidationResult.Fail"/> and both
            <see cref="P:MimeKit.Cryptography.ArcValidationResult.MessageSignature"/> and <see cref="P:MimeKit.Cryptography.ArcValidationResult.Seals"/> will be <see langword="null"/>.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcVerifierExample.cs" />
            </example>
        </member>
        <member name="M:MimeKit.Cryptography.ArcValidationResult.#ctor(MimeKit.Cryptography.ArcSignatureValidationResult,MimeKit.Cryptography.ArcHeaderValidationResult,MimeKit.Cryptography.ArcHeaderValidationResult[])">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.ArcValidationResult"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.ArcValidationResult"/>.
            </remarks>
            <param name="chain">The signature validation results of the entire chain.</param>
            <param name="messageSignature">The validation results for the ARC-Message-Signature header.</param>
            <param name="seals">The validation results for the ARC-Seal headers.</param>
        </member>
        <member name="P:MimeKit.Cryptography.ArcValidationResult.MessageSignature">
            <summary>
            Get the validation results for the ARC-Message-Signature header.
            </summary>
            <remarks>
            Gets the validation results for the ARC-Message-Signature header.
            </remarks>
            <value>The validation results for the ARC-Message-Signature header or <see langword="null"/>
            if the ARC-Message-Signature header was not found.</value>
        </member>
        <member name="P:MimeKit.Cryptography.ArcValidationResult.Seals">
            <summary>
            Get the validation results for each of the ARC-Seal headers.
            </summary>
            <remarks>
            Gets the validation results for each of the ARC-Seal headers in
            their instance order.
            </remarks>
            <value>The array of validation results for the ARC-Seal headers or <see langword="null"/>
            if no ARC-Seal headers were found.</value>
        </member>
        <member name="P:MimeKit.Cryptography.ArcValidationResult.Chain">
            <summary>
            Get the signature validation results of the entire chain.
            </summary>
            <remarks>
            Gets the signature validation results of the entire chain.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcVerifierExample.cs" />
            </example>
            <value>The signature validation results of the entire chain.</value>
        </member>
        <member name="P:MimeKit.Cryptography.ArcValidationResult.ChainErrors">
            <summary>
            Get the chain validation errors.
            </summary>
            <remarks>
            Gets the chain validation errors.
            </remarks>
            <value>The chain validation errors.</value>
        </member>
        <member name="T:MimeKit.Cryptography.ArcVerifier">
            <summary>
            An ARC verifier.
            </summary>
            <remarks>
            Validates Authenticated Received Chains.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcVerifierExample.cs" />
            </example>
        </member>
        <member name="M:MimeKit.Cryptography.ArcVerifier.#ctor(MimeKit.Cryptography.IDkimPublicKeyLocator)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.ArcVerifier"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.ArcVerifier"/>.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcVerifierExample.cs" />
            </example>
            <param name="publicKeyLocator">The public key locator.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="publicKeyLocator"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ArcVerifier.Verify(MimeKit.FormatOptions,MimeKit.MimeMessage,System.Threading.CancellationToken)">
            <summary>
            Verify the ARC signature chain.
            </summary>
            <remarks>
            Verifies the ARC signature chain.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcVerifierExample.cs" />
            </example>
            <returns>The ARC validation result.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message to verify.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ArcVerifier.VerifyAsync(MimeKit.FormatOptions,MimeKit.MimeMessage,System.Threading.CancellationToken)">
            <summary>
            Asynchronously verify the ARC signature chain.
            </summary>
            <remarks>
            Asynchronously verifies the ARC signature chain.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcVerifierExample.cs" />
            </example>
            <returns>The ARC validation result.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message to verify.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ArcVerifier.Verify(MimeKit.MimeMessage,System.Threading.CancellationToken)">
            <summary>
            Verify the ARC signature chain.
            </summary>
            <remarks>
            Verifies the ARC signature chain.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcVerifierExample.cs" />
            </example>
            <returns>The ARC validation result.</returns>
            <param name="message">The message to verify.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="message"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ArcVerifier.VerifyAsync(MimeKit.MimeMessage,System.Threading.CancellationToken)">
            <summary>
            Asynchronously verify the ARC signature chain.
            </summary>
            <remarks>
            Asynchronously verifies the ARC signature chain.
            </remarks>
            <example>
            <code language="c#" source="Examples\ArcVerifierExample.cs" />
            </example>
            <returns>The ARC validation result.</returns>
            <param name="message">The message to verify.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="message"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.AsymmetricAlgorithmExtensions">
            <summary>
            Extension methods for System.Security.Cryptography.AsymmetricAlgorithm.
            </summary>
            <remarks>
            Extension methods for System.Security.Cryptography.AsymmetricAlgorithm.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.AsymmetricAlgorithmExtensions.AsAsymmetricKeyParameter(System.Security.Cryptography.AsymmetricAlgorithm)">
            <summary>
            Convert an AsymmetricAlgorithm into a BouncyCastle AsymmetricKeyParameter.
            </summary>
            <remarks>
            <para>Converts an AsymmetricAlgorithm into a BouncyCastle AsymmetricKeyParameter.</para>
            <note type="note">Currently, only RSA and DSA keys are supported.</note>
            </remarks>
            <returns>The Bouncy Castle AsymmetricKeyParameter.</returns>
            <param name="key">The key.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="key"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="key"/> is an unsupported asymmetric algorithm.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.AsymmetricAlgorithmExtensions.AsAsymmetricCipherKeyPair(System.Security.Cryptography.AsymmetricAlgorithm)">
            <summary>
            Convert an AsymmetricAlgorithm into a BouncyCastle AsymmetricCipherKeyPair.
            </summary>
            <remarks>
            <para>Converts an AsymmetricAlgorithm into a BouncyCastle AsymmetricCipherKeyPair.</para>
            <note type="note">Currently, only RSA and DSA keys are supported.</note>
            </remarks>
            <returns>The Bouncy Castle AsymmetricCipherKeyPair.</returns>
            <param name="key">The key.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="key"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="key"/> is a public key.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="key"/> is an unsupported asymmetric algorithm.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.AsymmetricAlgorithmExtensions.AsAsymmetricAlgorithm(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
            <summary>
            Convert a BouncyCastle AsymmetricKeyParameter into an AsymmetricAlgorithm.
            </summary>
            <remarks>
            <para>Converts a BouncyCastle AsymmetricKeyParameter into an AsymmetricAlgorithm.</para>
            <note type="note">Currently, only RSA and DSA keys are supported.</note>
            </remarks>
            <returns>The AsymmetricAlgorithm.</returns>
            <param name="key">The AsymmetricKeyParameter.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="key"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="key"/> is an unsupported asymmetric key parameter.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.AsymmetricAlgorithmExtensions.AsAsymmetricAlgorithm(Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair)">
            <summary>
            Convert a BouncyCastle AsymmetricCipherKeyPair into an AsymmetricAlgorithm.
            </summary>
            <remarks>
            <para>Converts a BouncyCastle AsymmetricCipherKeyPair into an AsymmetricAlgorithm.</para>
            <note type="note">Currently, only RSA and DSA keys are supported.</note>
            </remarks>
            <returns>The AsymmetricAlgorithm.</returns>
            <param name="key">The AsymmetricCipherKeyPair.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="key"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="key"/> is an unsupported asymmetric algorithm.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.AuthenticationResults">
            <summary>
            A parsed representation of the Authentication-Results header.
            </summary>
            <remarks>
            The Authentication-Results header is used with electronic mail messages to
            indicate the results of message authentication efforts. Any receiver-side
            software, such as mail filters or Mail User Agents (MUAs), can use this header
            field to relay that information in a convenient and meaningful way to users or
            to make sorting and filtering decisions.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.AuthenticationResults.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.AuthenticationResults"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.AuthenticationResults"/>.
            </remarks>
            <param name="authservid">The authentication service identifier.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="authservid"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.AuthenticationResults.AuthenticationServiceIdentifier">
            <summary>
            Get the authentication service identifier.
            </summary>
            <remarks>
            <para>Gets the authentication service identifier.</para>
            <para>The authentication service identifier is the <c>authserv-id</c> token
            as defined in <a href="https://tools.ietf.org/html/rfc7601">rfc7601</a>.</para>
            </remarks>
            <value>The authserv-id token.</value>
        </member>
        <member name="P:MimeKit.Cryptography.AuthenticationResults.Instance">
            <summary>
            Get or set the instance value.
            </summary>
            <remarks>
            <para>Gets or sets the instance value.</para>
            <para>This value will only be set if the <see cref="T:MimeKit.Cryptography.AuthenticationResults"/>
            represents an ARC-Authentication-Results header value.</para>
            </remarks>
            <value>The instance.</value>
        </member>
        <member name="P:MimeKit.Cryptography.AuthenticationResults.Version">
            <summary>
            Get or set the Authentication-Results version.
            </summary>
            <remarks>
            <para>Gets or sets the Authentication-Results version.</para>
            <para>The version value is the <c>authres-version</c> token as defined in
            <a href="https://tools.ietf.org/html/rfc7601">rfc7601</a>.</para>
            </remarks>
            <value>The authres-version token.</value>
        </member>
        <member name="P:MimeKit.Cryptography.AuthenticationResults.Results">
            <summary>
            Get the list of authentication results.
            </summary>
            <remarks>
            Gets the list of authentication results.
            </remarks>
            <value>The list of authentication results.</value>
        </member>
        <member name="M:MimeKit.Cryptography.AuthenticationResults.ToString">
            <summary>
            Serializes the <see cref="T:MimeKit.Cryptography.AuthenticationMethodResult"/> to a string.
            </summary>
            <remarks>
            Creates a string-representation of the <see cref="T:MimeKit.Cryptography.AuthenticationMethodResult"/>.
            </remarks>
            <returns>The serialized string.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.AuthenticationResults.TryParse(System.Byte[],System.Int32,System.Int32,MimeKit.Cryptography.AuthenticationResults@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.Cryptography.AuthenticationResults"/> instance.
            </summary>
            <remarks>
            Parses an Authentication-Results header value from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns><see langword="true" /> if the authentication results were successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <param name="authres">The parsed authentication results.</param>
        </member>
        <member name="M:MimeKit.Cryptography.AuthenticationResults.TryParse(System.Byte[],MimeKit.Cryptography.AuthenticationResults@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.Cryptography.AuthenticationResults"/> instance.
            </summary>
            <remarks>
            Parses an Authentication-Results header value from the supplied buffer.
            </remarks>
            <returns><see langword="true" /> if the authentication results were successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="authres">The parsed authentication results.</param>
        </member>
        <member name="M:MimeKit.Cryptography.AuthenticationResults.Parse(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parse the specified input buffer into a new instance of the <see cref="T:MimeKit.Cryptography.AuthenticationResults"/> class.
            </summary>
            <remarks>
            Parses an Authentication-Results header value from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.Cryptography.AuthenticationResults"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The start index of the buffer.</param>
            <param name="length">The length of the buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the byte array.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            The <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.AuthenticationResults.Parse(System.Byte[])">
            <summary>
            Parse the specified input buffer into a new instance of the <see cref="T:MimeKit.Cryptography.AuthenticationResults"/> class.
            </summary>
            <remarks>
            Parses an Authentication-Results header value from the supplied buffer.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.Cryptography.AuthenticationResults"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            The <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.AuthenticationMethodResult">
            <summary>
            An authentication method results.
            </summary>
            <remarks>
            An authentication method results.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.AuthenticationMethodResult.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.AuthenticationMethodResult"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.AuthenticationMethodResult"/>.
            </remarks>
            <param name="method">The method used for authentication.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="method"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.AuthenticationMethodResult.#ctor(System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.AuthenticationMethodResult"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.AuthenticationMethodResult"/>.
            </remarks>
            <param name="method">The method used for authentication.</param>
            <param name="result">The result of the authentication method.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="method"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="result"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.AuthenticationMethodResult.Office365AuthenticationServiceIdentifier">
            <summary>
            Get the Office365 method-specific authserv-id.
            </summary>
            <remarks>
            <para>Gets the Office365 method-specific authserv-id.</para>
            <para>An authentication service identifier is the <c>authserv-id</c> token
            as defined in <a href="https://tools.ietf.org/html/rfc7601">rfc7601</a>.</para>
            <para>Instead of specifying a single authentication service identifier at the
            beginning of the header value, Office365 seems to provide a different
            authentication service identifier for each method.</para>
            </remarks>
            <value>The authserv-id token.</value>
        </member>
        <member name="P:MimeKit.Cryptography.AuthenticationMethodResult.Method">
            <summary>
            Get the authentication method.
            </summary>
            <remarks>
            Gets the authentication method.
            </remarks>
            <value>The authentication method.</value>
        </member>
        <member name="P:MimeKit.Cryptography.AuthenticationMethodResult.Version">
            <summary>
            Get the authentication method version.
            </summary>
            <remarks>
            Gets the authentication method version.
            </remarks>
            <value>The authentication method version.</value>
        </member>
        <member name="P:MimeKit.Cryptography.AuthenticationMethodResult.Result">
            <summary>
            Get the authentication method results.
            </summary>
            <remarks>
            Gets the authentication method results.
            </remarks>
            <value>The authentication method results.</value>
        </member>
        <member name="P:MimeKit.Cryptography.AuthenticationMethodResult.ResultComment">
            <summary>
            Get the comment regarding the authentication method result.
            </summary>
            <remarks>
            Gets the comment regarding the authentication method result.
            </remarks>
            <value>The comment regarding the authentication method result.</value>
        </member>
        <member name="P:MimeKit.Cryptography.AuthenticationMethodResult.Action">
            <summary>
            Get the action taken for the authentication method result.
            </summary>
            <remarks>
            Gets the action taken for the authentication method result.
            </remarks>
            <value>The action taken for the authentication method result.</value>
        </member>
        <member name="P:MimeKit.Cryptography.AuthenticationMethodResult.Reason">
            <summary>
            Get the reason for the authentication method result.
            </summary>
            <remarks>
            Gets the reason for the authentication method result.
            </remarks>
            <value>The reason for the authentication method result.</value>
        </member>
        <member name="P:MimeKit.Cryptography.AuthenticationMethodResult.Properties">
            <summary>
            Get the properties used by the authentication method.
            </summary>
            <remarks>
            Gets the properties used by the authentication method.
            </remarks>
            <value>The properties used by the authentication method.</value>
        </member>
        <member name="M:MimeKit.Cryptography.AuthenticationMethodResult.ToString">
            <summary>
            Serializes the <see cref="T:MimeKit.Cryptography.AuthenticationMethodResult"/> to a string.
            </summary>
            <remarks>
            Creates a string-representation of the <see cref="T:MimeKit.Cryptography.AuthenticationMethodResult"/>.
            </remarks>
            <returns>The serialized string.</returns>
        </member>
        <member name="T:MimeKit.Cryptography.AuthenticationMethodProperty">
            <summary>
            An authentication method property.
            </summary>
            <remarks>
            An authentication method property.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.AuthenticationMethodProperty.#ctor(System.String,System.String,System.String,System.Nullable{System.Boolean})">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.AuthenticationMethodProperty"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.AuthenticationMethodProperty"/>.
            </remarks>
            <param name="ptype">The property type.</param>
            <param name="property">The name of the property.</param>
            <param name="value">The value of the property.</param>
            <param name="quoted"><see langword="true" /> if the property value was originally quoted; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ptype"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="property"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.AuthenticationMethodProperty.#ctor(System.String,System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.AuthenticationMethodProperty"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.AuthenticationMethodProperty"/>.
            </remarks>
            <param name="ptype">The property type.</param>
            <param name="property">The name of the property.</param>
            <param name="value">The value of the property.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ptype"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="property"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.AuthenticationMethodProperty.PropertyType">
            <summary>
            Get the type of the property.
            </summary>
            <remarks>
            Gets the type of the property.
            </remarks>
            <value>The type of the property.</value>
        </member>
        <member name="P:MimeKit.Cryptography.AuthenticationMethodProperty.Property">
            <summary>
            Get the property name.
            </summary>
            <remarks>
            Gets the property name.
            </remarks>
            <value>The name of the property.</value>
        </member>
        <member name="P:MimeKit.Cryptography.AuthenticationMethodProperty.Value">
            <summary>
            Get the property value.
            </summary>
            <remarks>
            Gets the property value.
            </remarks>
            <value>The value of the property.</value>
        </member>
        <member name="M:MimeKit.Cryptography.AuthenticationMethodProperty.ToString">
            <summary>
            Serializes the <see cref="T:MimeKit.Cryptography.AuthenticationMethodProperty"/> to a string.
            </summary>
            <remarks>
            Creates a string-representation of the <see cref="T:MimeKit.Cryptography.AuthenticationMethodProperty"/>.
            </remarks>
            <returns>The serialized string.</returns>
        </member>
        <member name="T:MimeKit.Cryptography.BouncyCastleCertificateExtensions">
            <summary>
            Extension methods for use with BouncyCastle X509Certificates.
            </summary>
            <remarks>
            Extension methods for use with BouncyCastle X509Certificates.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleCertificateExtensions.AsX509Certificate2(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Convert a BouncyCastle certificate into an X509Certificate2.
            </summary>
            <remarks>
            Converts a BouncyCastle certificate into an X509Certificate2.
            </remarks>
            <returns>The X509Certificate2.</returns>
            <param name="certificate">The BouncyCastle certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleCertificateExtensions.IsSelfSigned(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Determines whether the specified certificate is self-signed.
            </summary>
            <remarks>
            A certificate is considered self-signed if the subject and issuer names are the same.
            </remarks>
            <param name="certificate">The certificate to check.</param>
            <returns><see langword="true" /> if the certificate is self-signed; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleCertificateExtensions.GetIssuerNameInfo(Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.Asn1.DerObjectIdentifier)">
            <summary>
            Gets the issuer name info.
            </summary>
            <remarks>
            For a list of available identifiers, see <see cref="T:Org.BouncyCastle.Asn1.X509.X509Name"/>.
            </remarks>
            <returns>The issuer name info.</returns>
            <param name="certificate">The certificate.</param>
            <param name="identifier">The name identifier.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleCertificateExtensions.GetSubjectNameInfo(Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.Asn1.DerObjectIdentifier)">
            <summary>
            Gets the issuer name info.
            </summary>
            <remarks>
            For a list of available identifiers, see <see cref="T:Org.BouncyCastle.Asn1.X509.X509Name"/>.
            </remarks>
            <returns>The issuer name info.</returns>
            <param name="certificate">The certificate.</param>
            <param name="identifier">The name identifier.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleCertificateExtensions.GetCommonName(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Gets the common name of the certificate.
            </summary>
            <remarks>
            Gets the common name of the certificate.
            </remarks>
            <returns>The common name.</returns>
            <param name="certificate">The certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleCertificateExtensions.GetSubjectName(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Gets the subject name of the certificate.
            </summary>
            <remarks>
            Gets the subject name of the certificate.
            </remarks>
            <returns>The subject name.</returns>
            <param name="certificate">The certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleCertificateExtensions.GetSubjectEmailAddress(Org.BouncyCastle.X509.X509Certificate,System.Boolean)">
            <summary>
            Get the subject email address of the certificate.
            </summary>
            <remarks>
            The email address component of the certificate's Subject identifier is
            sometimes used as a way of looking up certificates for a particular
            user if a fingerprint is not available.
            </remarks>
            <returns>The subject email address.</returns>
            <param name="certificate">The certificate.</param>
            <param name="idnEncode">If set to <see langword="true" />, international edomain names will be IDN encoded.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleCertificateExtensions.GetSubjectDnsNames(Org.BouncyCastle.X509.X509Certificate,System.Boolean)">
            <summary>
            Get the subject domain names of the certificate.
            </summary>
            <remarks>
            <para>Gets the subject DNS names of the certificate.</para>
            <para>Some S/MIME certificates are domain-bound instead of being bound to a
            particular email address.</para>
            </remarks>
            <returns>The subject DNS names.</returns>
            <param name="certificate">The certificate.</param>
            <param name="idnEncode">If set to <see langword="true" />, international domain names will be IDN encoded.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleCertificateExtensions.GetFingerprint(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Gets the fingerprint of the certificate.
            </summary>
            <remarks>
            A fingerprint is a SHA-1 hash of the raw certificate data and is often used
            as a unique identifier for a particular certificate in a certificate store.
            </remarks>
            <returns>The fingerprint.</returns>
            <param name="certificate">The certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleCertificateExtensions.GetPublicKeyAlgorithm(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Gets the public key algorithm for the certificate.
            </summary>
            <remarks>
            Gets the public key algorithm for the certificate.
            </remarks>
            <returns>The public key algorithm.</returns>
            <param name="certificate">The certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleCertificateExtensions.GetKeyUsageFlags(System.Boolean[])">
            <summary>
            Generates an X509KeyUsageFlags value based on the provided usage bit array.
            </summary>
            <param name="usage">A boolean array representing the key usage bits.
            Each index corresponds to a specific value defined  by <see cref="T:MimeKit.Cryptography.X509KeyUsageBits"/>
            </param>
            <returns>
            An X509KeyUsageFlags value that represents the combined key usage flags.
            </returns>
            <remarks>
            If the usage array is null, all key usage flags are considered enabled by
            returning a <see cref="F:MimeKit.Cryptography.X509KeyUsageFlags.None"/>
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleCertificateExtensions.GetKeyUsageFlags(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Gets the key usage flags.
            </summary>
            <remarks>
            The X.509 Key Usage Flags are used to determine which operations a certificate
            may be used for.
            </remarks>
            <returns>The key usage flags.</returns>
            <param name="certificate">The certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleCertificateExtensions.GetEncryptionAlgorithms(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Get the encryption algorithms that can be used with an X.509 certificate.
            </summary>
            <remarks>
            <para>Scans the X.509 certificate for the S/MIME capabilities extension. If found,
            the supported encryption algorithms will be decoded and returned.</para>
            <para>If no extension can be found, the <see cref="F:MimeKit.Cryptography.EncryptionAlgorithm.TripleDes"/>
            algorithm is returned.</para>
            </remarks>
            <returns>The encryption algorithms.</returns>
            <param name="certificate">The X.509 certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleCertificateExtensions.IsDelta(Org.BouncyCastle.X509.X509Crl)">
            <summary>
            Determines whether the specified X.509 CRL is a delta CRL.
            </summary>
            <remarks>
            A delta CRL contains updates to a previously issued CRL. This method checks
            if the CRL contains the Delta CRL Indicator extension.
            <note>The X.509 delta CRL indicator extension must be marked critical to be found.</note>
            </remarks>
            <param name="crl">The X.509 CRL to check.</param>
            <returns><see langword="true" /> if the specified CRL is a delta CRL; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="T:MimeKit.Cryptography.BouncyCastleSecureMimeContext">
            <summary>
            A Secure MIME (S/MIME) cryptography context.
            </summary>
            <remarks>
            An abstract S/MIME context built around the BouncyCastle API.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.SecureMimeContext"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.BouncyCastleSecureMimeContext"/>
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.#ctor(Org.BouncyCastle.Security.SecureRandom)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.SecureMimeContext"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.BouncyCastleSecureMimeContext"/>
            </remarks>
            <param name="random">A secure pseudo-random number generator.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="random"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.BouncyCastleSecureMimeContext.RandomNumberGenerator">
            <summary>
            Get the pseudo-random number generator.
            </summary>
            <remarks>
            Gets the pseudo-random number generator.
            </remarks>
            <value>The pseudo-random number generator.</value>
        </member>
        <member name="P:MimeKit.Cryptography.BouncyCastleSecureMimeContext.CheckCertificateRevocation">
            <summary>
            Get or set whether certificate revocation lists should be downloaded when verifying signatures.
            </summary>
            <remarks>
            <para>Gets or sets whether certificate revocation lists should be downloaded when verifying
            signatures.</para>
            <para>If enabled, the <see cref="T:MimeKit.Cryptography.BouncyCastleSecureMimeContext"/> will attempt to automatically download
            Certificate Revocation Lists (CRLs) from the internet based on the CRL Distribution Point extension on
            each certificate.</para>
            <note type="security">Enabling this feature opens the client up to potential privacy risks. An attacker
            can generate a custom X.509 certificate containing a CRL Distribution Point or OCSP URL pointing to an
            attacker-controlled server, thereby getting a notification when the user decrypts the message or verifies
            its digital signature.</note>
            </remarks>
            <value><see langword="true" /> if CRLs should be downloaded automatically; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Cryptography.BouncyCastleSecureMimeContext.HttpClient">
            <summary>
            Get the HTTP client to use for downloading CRLs.
            </summary>
            <remarks>
            Gets the HTTP client to use for downloading CRLs.
            </remarks>
            <value>The HTTP client used for downloading CRLs.</value>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.GetCertificate(Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Get the X.509 certificate matching the specified selector.
            </summary>
            <remarks>
            <para>Gets the first certificate that matches the specified selector.</para>
            <para>This method is used when constructing a certificate chain if the S/MIME
            signature does not include a signer's certificate.</para>
            </remarks>
            <returns>The certificate on success; otherwise <see langword="null"/>.</returns>
            <param name="selector">The search criteria for the certificate.</param>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.GetPrivateKey(Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Get the private key for the certificate matching the specified selector.
            </summary>
            <remarks>
            <para>Gets the private key for the first certificate that matches the specified selector.</para>
            <para>This method is used when signing or decrypting content.</para>
            </remarks>
            <returns>The private key on success; otherwise, <see langword="null"/>.</returns>
            <param name="selector">The search criteria for the private key.</param>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.GetTrustedAnchors">
            <summary>
            Get the trusted anchors.
            </summary>
            <remarks>
            <para>A trusted anchor is a trusted root-level X.509 certificate,
            generally issued by a certificate authority (CA).</para>
            <para>This method is used to build a certificate chain while verifying
            signed content.</para>
            <para>It is critical to always load the designated trust anchors,
            and not the anchor in the end certificate, when building a certificate chain
            when validating trust.</para>
            </remarks>
            <returns>The trusted anchors.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.GetIntermediateCertificates">
            <summary>
            Get the intermediate certificates.
            </summary>
            <remarks>
            <para>An intermediate certificate is any certificate that exists between the root
            certificate issued by a Certificate Authority (CA) and the certificate at
            the end of the chain.</para>
            <para>This method is used to build a certificate chain while verifying
            signed content.</para>
            </remarks>
            <returns>The intermediate certificates.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.GetCertificateRevocationLists">
            <summary>
            Get the certificate revocation lists.
            </summary>
            <remarks>
            A Certificate Revocation List (CRL) is a list of certificate serial numbers issued
            by a particular Certificate Authority (CA) that have been revoked, either by the CA
            itself or by the owner of the revoked certificate.
            </remarks>
            <returns>The certificate revocation lists.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.GetNextCertificateRevocationListUpdate(Org.BouncyCastle.Asn1.X509.X509Name)">
            <summary>
            Get the date &amp; time for the next scheduled certificate revocation list update for the specified issuer.
            </summary>
            <remarks>
            Gets the date &amp; time for the next scheduled certificate revocation list update for the specified issuer.
            </remarks>
            <returns>The date &amp; time for the next update (in UTC).</returns>
            <param name="issuer">The issuer.</param>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.GetCmsRecipient(MimeKit.MailboxAddress)">
            <summary>
            Get the <see cref="T:MimeKit.Cryptography.CmsRecipient"/> for the specified mailbox.
            </summary>
            <remarks>
            <para>Constructs a <see cref="T:MimeKit.Cryptography.CmsRecipient"/> with the appropriate certificate and
            <see cref="P:MimeKit.Cryptography.CmsRecipient.EncryptionAlgorithms"/> for the specified mailbox.</para>
            <para>If the mailbox is a <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/>, the
            <see cref="P:MimeKit.Cryptography.SecureMailboxAddress.Fingerprint"/> property will be used instead of
            the mailbox address.</para>
            </remarks>
            <returns>A <see cref="T:MimeKit.Cryptography.CmsRecipient"/>.</returns>
            <param name="mailbox">The mailbox.</param>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate for the specified <paramref name="mailbox"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.GetCmsRecipients(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress})">
            <summary>
            Get a collection of CmsRecipients for the specified mailboxes.
            </summary>
            <remarks>
            Gets a collection of CmsRecipients for the specified mailboxes.
            </remarks>
            <returns>A <see cref="T:MimeKit.Cryptography.CmsRecipientCollection"/>.</returns>
            <param name="mailboxes">The mailboxes.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailboxes"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate for one or more of the specified <paramref name="mailboxes"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.GetCmsSigner(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm)">
            <summary>
            Get the <see cref="T:MimeKit.Cryptography.CmsSigner"/> for the specified mailbox.
            </summary>
            <remarks>
            <para>Constructs a <see cref="T:MimeKit.Cryptography.CmsSigner"/> with the appropriate signing certificate
            for the specified mailbox.</para>
            <para>If the mailbox is a <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/>, the
            <see cref="P:MimeKit.Cryptography.SecureMailboxAddress.Fingerprint"/> property will be used instead of
            the mailbox address for database lookups.</para>
            </remarks>
            <returns>A <see cref="T:MimeKit.Cryptography.CmsSigner"/>.</returns>
            <param name="mailbox">The mailbox.</param>
            <param name="digestAlgo">The preferred digest algorithm.</param>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate for the specified <paramref name="mailbox"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.UpdateSecureMimeCapabilities(Org.BouncyCastle.X509.X509Certificate,MimeKit.Cryptography.EncryptionAlgorithm[],System.DateTime)">
            <summary>
            Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate.
            </summary>
            <remarks>
            <para>Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate.</para>
            <para>This method is called when decoding digital signatures that include S/MIME capabilities in the metadata, allowing custom
            implementations to update the X.509 certificate records with the list of preferred encryption algorithms specified by the
            sending client.</para>
            </remarks>
            <param name="certificate">The certificate.</param>
            <param name="algorithms">The encryption algorithm capabilities of the client (in preferred order).</param>
            <param name="timestamp">The timestamp.</param>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.EncapsulatedSign(MimeKit.Cryptography.CmsSigner,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign and encapsulate the content using the specified signer.
            </summary>
            <remarks>
            Signs and encapsulates the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.EncapsulatedSignAsync(MimeKit.Cryptography.CmsSigner,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously signs and encapsulate the content using the specified signer.
            </summary>
            <remarks>
            Asynchronously signs and encapsulates the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.EncapsulatedSign(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign and encapsulate the content using the specified signer and digest algorithm.
            </summary>
            <remarks>
            Signs and encapsulates the content using the specified signer and digest algorithm.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.EncapsulatedSignAsync(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign and encapsulate the content using the specified signer and digest algorithm.
            </summary>
            <remarks>
            Asynchronously signs and encapsulates the content using the specified signer and digest algorithm.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.Sign(MimeKit.Cryptography.CmsSigner,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign the content using the specified signer.
            </summary>
            <remarks>
            Signs the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Signature"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.SignAsync(MimeKit.Cryptography.CmsSigner,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign the content using the specified signer.
            </summary>
            <remarks>
            Asynchronously signs the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Signature"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.Sign(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign the content using the specified signer and digest algorithm.
            </summary>
            <remarks>
            Signs the content using the specified signer and digest algorithm.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.SignAsync(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign the content using the specified signer and digest algorithm.
            </summary>
            <remarks>
            Asynchronously signs the content using the specified signer and digest algorithm.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.BuildCertificateChain(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Build a certificate chain.
            </summary>
            <remarks>
            <para>Builds a certificate chain for the provided certificate to include when signing.</para>
            <para>This method is ideal for use with custom <see cref="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.GetCmsSigner(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm)"/>
            implementations when it is desirable to include the certificate chain
            in the signature.</para>
            </remarks>
            <param name="certificate">The certificate to build the chain for.</param>
            <returns>The certificate chain, including the specified certificate.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.TryGetDigestAlgorithm(Org.BouncyCastle.Asn1.X509.AlgorithmIdentifier,MimeKit.Cryptography.DigestAlgorithm@)">
            <summary>
            Attempts to map a <see cref="T:Org.BouncyCastle.Asn1.X509.AlgorithmIdentifier"/>
            to a <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/>.
            </summary>
            <remarks>
            Attempts to map a <see cref="T:Org.BouncyCastle.Asn1.X509.AlgorithmIdentifier"/>
            to a <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/>.
            </remarks>
            <returns><see langword="true" /> if the algorithm identifier was successfully mapped; otherwise, <see langword="false" />.</returns>
            <param name="identifier">The algorithm identifier.</param>
            <param name="algorithm">The encryption algorithm.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="identifier"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.TryGetEncryptionAlgorithm(Org.BouncyCastle.Asn1.X509.AlgorithmIdentifier,MimeKit.Cryptography.EncryptionAlgorithm@)">
            <summary>
            Attempts to map a <see cref="T:Org.BouncyCastle.Asn1.X509.AlgorithmIdentifier"/>
            to a <see cref="T:MimeKit.Cryptography.EncryptionAlgorithm"/>.
            </summary>
            <remarks>
            Attempts to map a <see cref="T:Org.BouncyCastle.Asn1.X509.AlgorithmIdentifier"/>
            to a <see cref="T:MimeKit.Cryptography.EncryptionAlgorithm"/>.
            </remarks>
            <returns><see langword="true" /> if the algorithm identifier was successfully mapped; otherwise, <see langword="false" />.</returns>
            <param name="identifier">The algorithm identifier.</param>
            <param name="algorithm">The encryption algorithm.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="identifier"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.GetDigitalSignatures(Org.BouncyCastle.Cms.CmsSignedDataParser,System.Threading.CancellationToken)">
            <summary>
            Get the list of digital signatures.
            </summary>
            <remarks>
            <para>Gets the list of digital signatures.</para>
            <para>This method is useful to call from within any custom
            <a href="Overload_MimeKit_Cryptography_SecureMimeContext_Verify.htm">Verify</a>
            method that you may implement in your own class.</para>
            </remarks>
            <returns>The digital signatures.</returns>
            <param name="parser">The CMS signed data parser.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.GetDigitalSignaturesAsync(Org.BouncyCastle.Cms.CmsSignedDataParser,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the list of digital signatures.
            </summary>
            <remarks>
            <para>Asynchronously gets the list of digital signatures.</para>
            <para>This method is useful to call from within any custom
            <a href="Overload_MimeKit_Cryptography_SecureMimeContext_VerifyAsync.htm">VerifyAsync</a>
            method that you may implement in your own class.</para>
            </remarks>
            <returns>The digital signatures.</returns>
            <param name="parser">The CMS signed data parser.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.Verify(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Verify the specified content using the detached signature data.
            </summary>
            <remarks>
            Verifies the specified content using the detached signature data.
            </remarks>
            <returns>A list of the digital signatures.</returns>
            <param name="content">The content.</param>
            <param name="signatureData">The detached signature data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signatureData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.VerifyAsync(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously verify the specified content using the detached signature data.
            </summary>
            <remarks>
            Verifies the specified content using the detached signature data.
            </remarks>
            <returns>A list of the digital signatures.</returns>
            <param name="content">The content.</param>
            <param name="signatureData">The detached signature data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signatureData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.Verify(System.IO.Stream,MimeKit.MimeEntity@,System.Threading.CancellationToken)">
            <summary>
            Verify the digital signatures of the specified signed data and extract the original content.
            </summary>
            <remarks>
            Verifies the digital signatures of the specified signed data and extracts the original content.
            </remarks>
            <returns>The list of digital signatures.</returns>
            <param name="signedData">The signed data.</param>
            <param name="entity">The extracted MIME entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.FormatException">
            The extracted content could not be parsed as a MIME entity.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.Verify(System.IO.Stream,MimeKit.Cryptography.DigitalSignatureCollection@,System.Threading.CancellationToken)">
            <summary>
            Verify the digital signatures of the specified signed data and extract the original content.
            </summary>
            <remarks>
            Verifies the digital signatures of the specified signed data and extracts the original content.
            </remarks>
            <returns>The extracted content stream.</returns>
            <param name="signedData">The signed data.</param>
            <param name="signatures">The digital signatures.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.BouncyCastleSecureMimeContext.RsaOaepAwareRecipientInfoGenerator">
            <summary>
            An RSA-OAEP aware recipient info generator.
            </summary>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.Encrypt(MimeKit.Cryptography.CmsRecipientCollection,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the encrypted content.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="recipients"/> is empty.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.EncryptAsync(MimeKit.Cryptography.CmsRecipientCollection,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Asynchronously encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the encrypted content.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="recipients"/> is empty.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.Encrypt(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            A certificate for one or more of the <paramref name="recipients"/> could not be found.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.EncryptAsync(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Asynchronously encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            A certificate for one or more of the <paramref name="recipients"/> could not be found.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.Decrypt(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Decrypt the specified encryptedData.
            </summary>
            <remarks>
            Decrypts the specified encryptedData.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="encryptedData">The encrypted data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="encryptedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.DecryptAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decrypt the specified encryptedData.
            </summary>
            <remarks>
            Asynchronously decrypts the specified encryptedData.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="encryptedData">The encrypted data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="encryptedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.DecryptTo(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Decrypt the specified encryptedData to an output stream.
            </summary>
            <remarks>
            Decrypts the specified encryptedData to an output stream.
            </remarks>
            <param name="encryptedData">The encrypted data.</param>
            <param name="decryptedData">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encryptedData"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="decryptedData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.DecryptToAsync(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decrypt the specified encryptedData to an output stream.
            </summary>
            <remarks>
            Asynchronously decrypts the specified encryptedData to an output stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="encryptedData">The encrypted data.</param>
            <param name="decryptedData">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encryptedData"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="decryptedData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.Export(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken)">
            <summary>
            Export the certificates for the specified mailboxes.
            </summary>
            <remarks>
            Exports the certificates for the specified mailboxes.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance containing
            the exported keys.</returns>
            <param name="mailboxes">The mailboxes.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailboxes"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            No mailboxes were specified.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate for one or more of the <paramref name="mailboxes"/> could not be found.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.BouncyCastleSecureMimeContext.ExportAsync(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken)">
            <summary>
            Asynchronously export the certificates for the specified mailboxes.
            </summary>
            <remarks>
            Asynchronously exports the certificates for the specified mailboxes.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance containing
            the exported keys.</returns>
            <param name="mailboxes">The mailboxes.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailboxes"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            No mailboxes were specified.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate for one or more of the <paramref name="mailboxes"/> could not be found.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.CertificateNotFoundException">
            <summary>
            An exception that is thrown when a certificate could not be found for a specified mailbox.
            </summary>
            <remarks>
            An exception that is thrown when a certificate could not be found for a specified mailbox.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.CertificateNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.CertificateNotFoundException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.CertificateNotFoundException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The stream context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CertificateNotFoundException.#ctor(MimeKit.MailboxAddress,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.CertificateNotFoundException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.CertificateNotFoundException"/>.
            </remarks>
            <param name="mailbox">The mailbox that could not be resolved to a valid certificate.</param>
            <param name="message">A message explaining the error.</param>
        </member>
        <member name="M:MimeKit.Cryptography.CertificateNotFoundException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            with information about the exception.
            </summary>
            <remarks>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            with information about the exception.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.CertificateNotFoundException.Mailbox">
            <summary>
            Gets the mailbox address that could not be resolved to a certificate.
            </summary>
            <remarks>
            Gets the mailbox address that could not be resolved to a certificate.
            </remarks>
            <value>The mailbox address.</value>
        </member>
        <member name="T:MimeKit.Cryptography.CmsRecipient">
            <summary>
            An S/MIME recipient.
            </summary>
            <remarks>
            If the X.509 certificates are known for each of the recipients, you
            may wish to use a <see cref="T:MimeKit.Cryptography.CmsRecipient"/> as opposed to having
            the <see cref="T:MimeKit.Cryptography.CryptographyContext"/> do its own certificate
            lookups for each <see cref="T:MimeKit.MailboxAddress"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.CmsRecipient.#ctor(Org.BouncyCastle.X509.X509Certificate,MimeKit.Cryptography.SubjectIdentifierType)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.CmsRecipient"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.Cryptography.CmsRecipient"/> based on the provided certificate.</para>
            <para>If the X.509 certificate contains an S/MIME capability extension, the initial value of the
            <see cref="P:MimeKit.Cryptography.CmsRecipient.EncryptionAlgorithms"/> property will be set to whatever encryption algorithms are
            defined by the S/MIME capability extension, otherwise int will be initialized to a list
            containing only the Triple-Des encryption algorithm which should be safe to assume for all
            modern S/MIME v3.x client implementations.</para>
            </remarks>
            <param name="certificate">The recipient's certificate.</param>
            <param name="recipientIdentifierType">The recipient identifier type.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CmsRecipient.#ctor(System.IO.Stream,MimeKit.Cryptography.SubjectIdentifierType)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.CmsRecipient"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.Cryptography.CmsRecipient"/>, loading the certificate from the specified stream.</para>
            <para>If the X.509 certificate contains an S/MIME capability extension, the initial value of the
            <see cref="P:MimeKit.Cryptography.CmsRecipient.EncryptionAlgorithms"/> property will be set to whatever encryption algorithms are
            defined by the S/MIME capability extension, otherwise int will be initialized to a list
            containing only the Triple-Des encryption algorithm which should be safe to assume for all
            modern S/MIME v3.x client implementations.</para>
            </remarks>
            <param name="stream">The stream containing the recipient's certificate.</param>
            <param name="recipientIdentifierType">The recipient identifier type.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.FormatException">
            The specified file does not contain a certificate.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CmsRecipient.#ctor(System.String,MimeKit.Cryptography.SubjectIdentifierType)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.CmsRecipient"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.Cryptography.CmsRecipient"/>, loading the certificate from the specified file.</para>
            <para>If the X.509 certificate contains an S/MIME capability extension, the initial value of the
            <see cref="P:MimeKit.Cryptography.CmsRecipient.EncryptionAlgorithms"/> property will be set to whatever encryption algorithms are
            defined by the S/MIME capability extension, otherwise int will be initialized to a list
            containing only the Triple-Des encryption algorithm which should be safe to assume for all
            modern S/MIME v3.x client implementations.</para>
            </remarks>
            <param name="fileName">The file containing the recipient's certificate.</param>
            <param name="recipientIdentifierType">The recipient identifier type.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.FormatException">
            The specified file does not contain a certificate.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CmsRecipient.#ctor(System.Security.Cryptography.X509Certificates.X509Certificate2,MimeKit.Cryptography.SubjectIdentifierType)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.CmsRecipient"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.Cryptography.CmsRecipient"/> based on the provided certificate.</para>
            <para>If the X.509 certificate contains an S/MIME capability extension, the initial value of the
            <see cref="P:MimeKit.Cryptography.CmsRecipient.EncryptionAlgorithms"/> property will be set to whatever encryption algorithms are
            defined by the S/MIME capability extension, otherwise int will be initialized to a list
            containing only the Triple-Des encryption algorithm which should be safe to assume for all
            modern S/MIME v3.x client implementations.</para>
            </remarks>
            <param name="certificate">The recipient's certificate.</param>
            <param name="recipientIdentifierType">The recipient identifier type.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.CmsRecipient.Certificate">
            <summary>
            Gets the recipient's certificate.
            </summary>
            <remarks>
            The certificate is used for the purpose of encrypting data.
            </remarks>
            <value>The certificate.</value>
        </member>
        <member name="P:MimeKit.Cryptography.CmsRecipient.RecipientIdentifierType">
            <summary>
            Gets the recipient identifier type.
            </summary>
            <remarks>
            Specifies how the certificate should be looked up on the recipient's end.
            </remarks>
            <value>The recipient identifier type.</value>
        </member>
        <member name="P:MimeKit.Cryptography.CmsRecipient.EncryptionAlgorithms">
            <summary>
            Gets or sets the known S/MIME encryption capabilities of the
            recipient's mail client, in their preferred order.
            </summary>
            <remarks>
            Provides the <see cref="T:MimeKit.Cryptography.SecureMimeContext"/> with an array of
            encryption algorithms that are known to be supported by the
            recpipient's client software and should be in the recipient's
            order of preference.
            </remarks>
            <value>The encryption algorithms.</value>
        </member>
        <member name="P:MimeKit.Cryptography.CmsRecipient.RsaEncryptionPadding">
            <summary>
            Get or set the RSA key encryption padding.
            </summary>
            <remarks>
            <para>Gets or sets the padding to use for key encryption when
            the <see cref="P:MimeKit.Cryptography.CmsRecipient.Certificate"/>'s public key is an RSA key.</para>
            </remarks>
            <value>The encryption padding scheme.</value>
        </member>
        <member name="T:MimeKit.Cryptography.CmsRecipientCollection">
            <summary>
            A collection of <see cref="T:MimeKit.Cryptography.CmsRecipient"/> objects.
            </summary>
            <remarks>
            If the X.509 certificates are known for each of the recipients, you
            may wish to use a <see cref="T:MimeKit.Cryptography.CmsRecipientCollection"/> as opposed to
            using the methods that take a list of <see cref="T:MimeKit.MailboxAddress"/>
            objects.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.CmsRecipientCollection.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.CmsRecipientCollection"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.CmsRecipientCollection"/>.
            </remarks>
        </member>
        <member name="P:MimeKit.Cryptography.CmsRecipientCollection.Count">
            <summary>
            Gets the number of recipients in the collection.
            </summary>
            <remarks>
            Indicates the number of recipients in the collection.
            </remarks>
            <value>The number of recipients in the collection.</value>
        </member>
        <member name="P:MimeKit.Cryptography.CmsRecipientCollection.IsReadOnly">
            <summary>
            Get a value indicating whether the <see cref="T:MimeKit.Cryptography.CmsRecipientCollection"/> is read only.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.Cryptography.CmsRecipientCollection"/> is never read-only.
            </remarks>
            <value><see langword="true" /> if this instance is read only; otherwise, <see langword="false" />.</value>
        </member>
        <member name="M:MimeKit.Cryptography.CmsRecipientCollection.Add(MimeKit.Cryptography.CmsRecipient)">
            <summary>
            Adds the specified recipient.
            </summary>
            <remarks>
            Adds the specified recipient.
            </remarks>
            <param name="recipient">The recipient.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="recipient"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CmsRecipientCollection.Clear">
            <summary>
            Clears the recipient collection.
            </summary>
            <remarks>
            Removes all the recipients from the collection.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.CmsRecipientCollection.Contains(MimeKit.Cryptography.CmsRecipient)">
            <summary>
            Checks if the collection contains the specified recipient.
            </summary>
            <remarks>
            Determines whether the collection contains the specified recipient.
            </remarks>
            <returns><see langword="true" /> if the specified recipient exists;
            otherwise, <see langword="false" />.</returns>
            <param name="recipient">The recipient.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="recipient"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CmsRecipientCollection.CopyTo(MimeKit.Cryptography.CmsRecipient[],System.Int32)">
            <summary>
            Copies all the recipients in the <see cref="T:MimeKit.Cryptography.CmsRecipientCollection"/> to the specified array.
            </summary>
            <remarks>
            Copies all the recipients within the <see cref="T:MimeKit.Cryptography.CmsRecipientCollection"/> into the array,
            starting at the specified array index.
            </remarks>
            <param name="array">The array.</param>
            <param name="arrayIndex">The array index.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="array"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="arrayIndex"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CmsRecipientCollection.Remove(MimeKit.Cryptography.CmsRecipient)">
            <summary>
            Removes the specified recipient.
            </summary>
            <remarks>
            Removes the specified recipient.
            </remarks>
            <returns><see langword="true" /> if the recipient was removed; otherwise, <see langword="false" />.</returns>
            <param name="recipient">The recipient.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="recipient"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CmsRecipientCollection.GetEnumerator">
            <summary>
            Gets an enumerator for the collection of recipients.
            </summary>
            <remarks>
            Gets an enumerator for the collection of recipients.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.CmsRecipientCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Gets an enumerator for the collection of recipients.
            </summary>
            <remarks>
            Gets an enumerator for the collection of recipients.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="T:MimeKit.Cryptography.CmsSigner">
            <summary>
            An S/MIME signer.
            </summary>
            <remarks>
            If the X.509 certificate is known for the signer, you may wish to use a
            <see cref="T:MimeKit.Cryptography.CmsSigner"/> as opposed to having the <see cref="T:MimeKit.Cryptography.CryptographyContext"/>
            do its own certificate lookup for the signer's <see cref="T:MimeKit.MailboxAddress"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.CmsSigner.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.CmsSigner"/> class.
            </summary>
            <remarks>
            <para>The initial value of the <see cref="P:MimeKit.Cryptography.CmsSigner.DigestAlgorithm"/> will be set to
            <see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha256"/> and both the
            <see cref="P:MimeKit.Cryptography.CmsSigner.SignedAttributes"/> and <see cref="P:MimeKit.Cryptography.CmsSigner.UnsignedAttributes"/> properties
            will be initialized to empty tables.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.CmsSigner.#ctor(System.Collections.Generic.IEnumerable{Org.BouncyCastle.X509.X509Certificate},Org.BouncyCastle.Crypto.AsymmetricKeyParameter,MimeKit.Cryptography.SubjectIdentifierType)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.CmsSigner"/> class.
            </summary>
            <remarks>
            <para>The initial value of the <see cref="P:MimeKit.Cryptography.CmsSigner.DigestAlgorithm"/> will be set to
            <see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha256"/> and both the
            <see cref="P:MimeKit.Cryptography.CmsSigner.SignedAttributes"/> and <see cref="P:MimeKit.Cryptography.CmsSigner.UnsignedAttributes"/> properties
            will be initialized to empty tables.</para>
            </remarks>
            <param name="chain">The chain of certificates starting with the signer's certificate back to the root.</param>
            <param name="key">The signer's private key.</param>
            <param name="signerIdentifierType">The scheme used for identifying the signer certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="chain"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="key"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="chain"/> did not contain any certificates.</para>
            <para>-or-</para>
            <para>The certificate cannot be used for signing.</para>
            <para>-or-</para>
            <para><paramref name="key"/> is not a private key.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CmsSigner.#ctor(Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,MimeKit.Cryptography.SubjectIdentifierType)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.CmsSigner"/> class.
            </summary>
            <remarks>
            <para>The initial value of the <see cref="P:MimeKit.Cryptography.CmsSigner.DigestAlgorithm"/> will
            be set to <see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha256"/> and both the
            <see cref="P:MimeKit.Cryptography.CmsSigner.SignedAttributes"/> and <see cref="P:MimeKit.Cryptography.CmsSigner.UnsignedAttributes"/> properties will be
            initialized to empty tables.</para>
            </remarks>
            <param name="certificate">The signer's certificate.</param>
            <param name="key">The signer's private key.</param>
            <param name="signerIdentifierType">The scheme used for identifying the signer certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="certificate"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="key"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="certificate"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para><paramref name="key"/> is not a private key.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CmsSigner.#ctor(System.IO.Stream,System.String,MimeKit.Cryptography.SubjectIdentifierType)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.CmsSigner"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.Cryptography.CmsSigner"/>, loading the X.509 certificate and private key
            from the specified stream.</para>
            <para>The initial value of the <see cref="P:MimeKit.Cryptography.CmsSigner.DigestAlgorithm"/> will
            be set to <see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha256"/> and both the
            <see cref="P:MimeKit.Cryptography.CmsSigner.SignedAttributes"/> and <see cref="P:MimeKit.Cryptography.CmsSigner.UnsignedAttributes"/> properties will be
            initialized to empty tables.</para>
            </remarks>
            <param name="stream">The raw certificate and key data in pkcs12 format.</param>
            <param name="password">The password to unlock the stream.</param>
            <param name="signerIdentifierType">The scheme used for identifying the signer certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="stream"/> does not contain a private key.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> does not contain a certificate that could be used for signing.</para>
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CmsSigner.#ctor(System.String,System.String,MimeKit.Cryptography.SubjectIdentifierType)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.CmsSigner"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.Cryptography.CmsSigner"/>, loading the X.509 certificate and private key
            from the specified file.</para>
            <para>The initial value of the <see cref="P:MimeKit.Cryptography.CmsSigner.DigestAlgorithm"/> will
            be set to <see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha256"/> and both the
            <see cref="P:MimeKit.Cryptography.CmsSigner.SignedAttributes"/> and <see cref="P:MimeKit.Cryptography.CmsSigner.UnsignedAttributes"/> properties will be
            initialized to empty tables.</para>
            </remarks>
            <param name="fileName">The raw certificate and key data in pkcs12 format.</param>
            <param name="password">The password to unlock the stream.</param>
            <param name="signerIdentifierType">The scheme used for identifying the signer certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> does not contain a private key.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> does not contain a certificate that could be used for signing.</para>
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CmsSigner.#ctor(System.Security.Cryptography.X509Certificates.X509Certificate2,MimeKit.Cryptography.SubjectIdentifierType)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.CmsSigner"/> class.
            </summary>
            <remarks>
            <para>The initial value of the <see cref="P:MimeKit.Cryptography.CmsSigner.DigestAlgorithm"/> will
            be set to <see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha256"/> and both the
            <see cref="P:MimeKit.Cryptography.CmsSigner.SignedAttributes"/> and <see cref="P:MimeKit.Cryptography.CmsSigner.UnsignedAttributes"/> properties will be
            initialized to empty tables.</para>
            </remarks>
            <param name="certificate">The signer's certificate.</param>
            <param name="signerIdentifierType">The scheme used for identifying the signer certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="certificate"/> cannot be used for signing.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.CmsSigner.Certificate">
            <summary>
            Get the signer's certificate.
            </summary>
            <remarks>
            The signer's certificate that contains a public key that can be used for
            verifying the digital signature.
            </remarks>
            <value>The signer's certificate.</value>
        </member>
        <member name="P:MimeKit.Cryptography.CmsSigner.CertificateChain">
            <summary>
            Get the certificate chain.
            </summary>
            <remarks>
            Gets the certificate chain.
            </remarks>
            <value>The certificate chain.</value>
        </member>
        <member name="P:MimeKit.Cryptography.CmsSigner.DigestAlgorithm">
            <summary>
            Get or set the digest algorithm.
            </summary>
            <remarks>
            Specifies which digest algorithm to use to generate the
            cryptographic hash of the content being signed.
            </remarks>
            <value>The digest algorithm.</value>
        </member>
        <member name="P:MimeKit.Cryptography.CmsSigner.PrivateKey">
            <summary>
            Get the private key.
            </summary>
            <remarks>
            The private key used for signing.
            </remarks>
            <value>The private key.</value>
        </member>
        <member name="P:MimeKit.Cryptography.CmsSigner.RsaSignaturePadding">
            <summary>
            Get or set the RSA signature padding.
            </summary>
            <remarks>
            <para>Gets or sets the signature padding to use for signing when
            the <see cref="P:MimeKit.Cryptography.CmsSigner.PrivateKey"/> is an RSA key.</para>
            </remarks>
            <value>The signature padding scheme.</value>
        </member>
        <member name="P:MimeKit.Cryptography.CmsSigner.SignerIdentifierType">
            <summary>
            Gets the signer identifier type.
            </summary>
            <remarks>
            Specifies how the certificate should be looked up on the recipient's end.
            </remarks>
            <value>The signer identifier type.</value>
        </member>
        <member name="P:MimeKit.Cryptography.CmsSigner.SignedAttributes">
            <summary>
            Get or set the signed attributes.
            </summary>
            <remarks>
            A table of attributes that should be included in the signature.
            </remarks>
            <value>The signed attributes.</value>
        </member>
        <member name="P:MimeKit.Cryptography.CmsSigner.UnsignedAttributes">
            <summary>
            Get or set the unsigned attributes.
            </summary>
            <remarks>
            A table of attributes that should not be signed in the signature,
            but still included in transport.
            </remarks>
            <value>The unsigned attributes.</value>
        </member>
        <member name="T:MimeKit.Cryptography.CryptographyContext">
            <summary>
            An abstract cryptography context.
            </summary>
            <remarks>
            Generally speaking, applications should not use a <see cref="T:MimeKit.Cryptography.CryptographyContext"/>
            directly, but rather via higher level APIs such as <see cref="T:MimeKit.Cryptography.MultipartSigned"/>,
            <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> and <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.CryptographyContext"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.Cryptography.CryptographyContext"/>.</para>
            <para>By default, only the 3DES encryption algorithm and the SHA-1 digest algorithm are enabled.</para>
            </remarks>
        </member>
        <member name="P:MimeKit.Cryptography.CryptographyContext.PrepareBeforeSigning">
            <summary>
            Get or set whether a <see cref="T:MimeKit.MimeEntity"/> should be prepared before signing.
            </summary>
            <remarks>
            Gets or sets whether a <see cref="T:MimeKit.MimeEntity"/> should be prepared before signing.
            </remarks>
            <value><see langword="true" /> if a MimeEntity should be prepared before signing; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Cryptography.CryptographyContext.SignatureProtocol">
            <summary>
            Get the signature protocol.
            </summary>
            <remarks>
            <para>The signature protocol is used by <see cref="T:MimeKit.Cryptography.MultipartSigned"/>
            in order to determine what the protocol parameter of the Content-Type
            header should be.</para>
            </remarks>
            <value>The signature protocol.</value>
        </member>
        <member name="P:MimeKit.Cryptography.CryptographyContext.EncryptionProtocol">
            <summary>
            Get the encryption protocol.
            </summary>
            <remarks>
            <para>The encryption protocol is used by <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/>
            in order to determine what the protocol parameter of the Content-Type
            header should be.</para>
            </remarks>
            <value>The encryption protocol.</value>
        </member>
        <member name="P:MimeKit.Cryptography.CryptographyContext.KeyExchangeProtocol">
            <summary>
            Get the key exchange protocol.
            </summary>
            <remarks>
            <para>The key exchange protocol is really only used for OpenPGP.</para>
            </remarks>
            <value>The key exchange protocol.</value>
        </member>
        <member name="P:MimeKit.Cryptography.CryptographyContext.EncryptionAlgorithmRank">
            <summary>
            Get the preferred rank order for the encryption algorithms; from the most preferred to the least.
            </summary>
            <remarks>
            Gets the preferred rank order for the encryption algorithms; from the most preferred to the least.
            </remarks>
            <value>The preferred encryption algorithm ranking.</value>
        </member>
        <member name="P:MimeKit.Cryptography.CryptographyContext.EnabledEncryptionAlgorithms">
            <summary>
            Get the enabled encryption algorithms in ranked order.
            </summary>
            <remarks>
            Gets the enabled encryption algorithms in ranked order.
            </remarks>
            <value>The enabled encryption algorithms.</value>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.Enable(MimeKit.Cryptography.EncryptionAlgorithm)">
            <summary>
            Enable the encryption algorithm.
            </summary>
            <remarks>
            Enables the encryption algorithm.
            </remarks>
            <param name="algorithm">The encryption algorithm.</param>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.Disable(MimeKit.Cryptography.EncryptionAlgorithm)">
            <summary>
            Disable the encryption algorithm.
            </summary>
            <remarks>
            Disables the encryption algorithm.
            </remarks>
            <param name="algorithm">The encryption algorithm.</param>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.IsEnabled(MimeKit.Cryptography.EncryptionAlgorithm)">
            <summary>
            Check whether the specified encryption algorithm is enabled.
            </summary>
            <remarks>
            Determines whether the specified encryption algorithm is enabled.
            </remarks>
            <returns><see langword="true" /> if the specified encryption algorithm is enabled; otherwise, <see langword="false" />.</returns>
            <param name="algorithm">The encryption algorithm.</param>
        </member>
        <member name="P:MimeKit.Cryptography.CryptographyContext.DigestAlgorithmRank">
            <summary>
            Get the preferred rank order for the digest algorithms; from the most preferred to the least.
            </summary>
            <remarks>
            Gets the preferred rank order for the digest algorithms; from the most preferred to the least.
            </remarks>
            <value>The preferred encryption algorithm ranking.</value>
        </member>
        <member name="P:MimeKit.Cryptography.CryptographyContext.EnabledDigestAlgorithms">
            <summary>
            Get the enabled digest algorithms in ranked order.
            </summary>
            <remarks>
            Gets the enabled digest algorithms in ranked order.
            </remarks>
            <value>The enabled encryption algorithms.</value>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.Enable(MimeKit.Cryptography.DigestAlgorithm)">
            <summary>
            Enable the digest algorithm.
            </summary>
            <remarks>
            Enables the digest algorithm.
            </remarks>
            <param name="algorithm">The digest algorithm.</param>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.Disable(MimeKit.Cryptography.DigestAlgorithm)">
            <summary>
            Disable the digest algorithm.
            </summary>
            <remarks>
            Disables the digest algorithm.
            </remarks>
            <param name="algorithm">The digest algorithm.</param>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.IsEnabled(MimeKit.Cryptography.DigestAlgorithm)">
            <summary>
            Check whether the specified digest algorithm is enabled.
            </summary>
            <remarks>
            Determines whether the specified digest algorithm is enabled.
            </remarks>
            <returns><see langword="true" /> if the specified digest algorithm is enabled; otherwise, <see langword="false" />.</returns>
            <param name="algorithm">The digest algorithm.</param>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.Supports(System.String)">
            <summary>
            Check whether the specified protocol is supported by the <see cref="T:MimeKit.Cryptography.CryptographyContext"/>.
            </summary>
            <remarks>
            Used in order to make sure that the protocol parameter value specified in either a multipart/signed
            or multipart/encrypted part is supported by the supplied cryptography context.
            </remarks>
            <returns><see langword="true" /> if the protocol is supported; otherwise, <see langword="false" /></returns>
            <param name="protocol">The protocol.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="protocol"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.GetDigestAlgorithmName(MimeKit.Cryptography.DigestAlgorithm)">
            <summary>
            Get the string name of the digest algorithm for use with the micalg parameter of a multipart/signed part.
            </summary>
            <remarks>
            Maps the <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> to the appropriate string identifier
            as used by the micalg parameter value of a multipart/signed Content-Type
            header.
            </remarks>
            <returns>The micalg value.</returns>
            <param name="micalg">The digest algorithm.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="micalg"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.GetDigestAlgorithm(System.String)">
            <summary>
            Get the digest algorithm from the micalg parameter value in a multipart/signed part.
            </summary>
            <remarks>
            Maps the micalg parameter value string back to the appropriate <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/>.
            </remarks>
            <returns>The digest algorithm.</returns>
            <param name="micalg">The micalg parameter value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="micalg"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.CanSign(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Check whether a particular mailbox address can be used for signing.
            </summary>
            <remarks>
            Checks whether as particular mailbocx address can be used for signing.
            </remarks>
            <returns><see langword="true" /> if the mailbox address can be used for signing; otherwise, <see langword="false" />.</returns>
            <param name="signer">The signer.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.CanSignAsync(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Asynchronously check whether a particular mailbox address can be used for signing.
            </summary>
            <remarks>
            Checks whether as particular mailbocx address can be used for signing.
            </remarks>
            <returns><see langword="true" /> if the mailbox address can be used for signing; otherwise, <see langword="false" />.</returns>
            <param name="signer">The signer.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.CanEncrypt(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Check whether the cryptography context can encrypt to a particular recipient.
            </summary>
            <remarks>
            Checks whether the cryptography context can be used to encrypt to a particular recipient.
            </remarks>
            <returns><see langword="true" /> if the cryptography context can be used to encrypt to the designated recipient; otherwise, <see langword="false" />.</returns>
            <param name="mailbox">The recipient's mailbox address.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailbox"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.CanEncryptAsync(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Asynchronously check whether the cryptography context can encrypt to a particular recipient.
            </summary>
            <remarks>
            Checks whether the cryptography context can be used to encrypt to a particular recipient.
            </remarks>
            <returns><see langword="true" /> if the cryptography context can be used to encrypt to the designated recipient; otherwise, <see langword="false" />.</returns>
            <param name="mailbox">The recipient's mailbox address.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailbox"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.Sign(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign the content using the specified signer and digest algorithm.
            </summary>
            <remarks>
            Signs the content using the specified signer and digest algorithm.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.SignAsync(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign the content using the specified signer and digest algorithm.
            </summary>
            <remarks>
            Asynchronously signs the content using the specified signer and digest algorithm.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.Verify(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Verify the specified content using the detached signatureData.
            </summary>
            <remarks>
            Verifies the specified content using the detached signatureData.
            </remarks>
            <returns>A list of digital signatures.</returns>
            <param name="content">The content.</param>
            <param name="signatureData">The signature data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signatureData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.VerifyAsync(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously verify the specified content using the detached signatureData.
            </summary>
            <remarks>
            Verifies the specified content using the detached signatureData.
            </remarks>
            <returns>A list of digital signatures.</returns>
            <param name="content">The content.</param>
            <param name="signatureData">The signature data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signatureData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.Encrypt(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance containing the encrypted data.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.EncryptAsync(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance containing the encrypted data.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.Decrypt(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Decrypt the specified encryptedData.
            </summary>
            <remarks>
            Decrypts the specified encryptedData.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="encryptedData">The encrypted data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="encryptedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.DecryptAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decrypt the specified encryptedData.
            </summary>
            <remarks>
            Asynchronously decrypts the specified encryptedData.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="encryptedData">The encrypted data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="encryptedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.Import(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Imports the public certificates or keys from the specified stream.
            </summary>
            <remarks>
            Imports the public certificates or keys from the specified stream.
            </remarks>
            <param name="stream">The raw certificate or key data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Importing keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.ImportAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously imports the public certificates or keys from the specified stream.
            </summary>
            <remarks>
            Asynchronously imports the public certificates or keys from the specified stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="stream">The raw certificate or key data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Importing keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.Export(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken)">
            <summary>
            Exports the keys for the specified mailboxes.
            </summary>
            <remarks>
            Exports the keys for the specified mailboxes.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance containing the exported keys.</returns>
            <param name="mailboxes">The mailboxes.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailboxes"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="mailboxes"/> was empty.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Exporting keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.ExportAsync(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken)">
            <summary>
            Asynchronously exports the keys for the specified mailboxes.
            </summary>
            <remarks>
            Asynchronously exports the keys for the specified mailboxes.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance containing the exported keys.</returns>
            <param name="mailboxes">The mailboxes.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailboxes"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="mailboxes"/> was empty.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Exporting keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.Cryptography.CryptographyContext"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.Cryptography.CryptographyContext"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.Dispose">
            <summary>
            Releases all resources used by the <see cref="T:MimeKit.Cryptography.CryptographyContext"/> object.
            </summary>
            <remarks>Call <see cref="M:MimeKit.Cryptography.CryptographyContext.Dispose"/> when you are finished using the <see cref="T:MimeKit.Cryptography.CryptographyContext"/>. The
            <see cref="M:MimeKit.Cryptography.CryptographyContext.Dispose"/> method leaves the <see cref="T:MimeKit.Cryptography.CryptographyContext"/> in an unusable state. After
            calling <see cref="M:MimeKit.Cryptography.CryptographyContext.Dispose"/>, you must release all references to the <see cref="T:MimeKit.Cryptography.CryptographyContext"/> so
            the garbage collector can reclaim the memory that the <see cref="T:MimeKit.Cryptography.CryptographyContext"/> was occupying.</remarks>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.Create(System.String)">
            <summary>
            Creates a new <see cref="T:MimeKit.Cryptography.CryptographyContext"/> for the specified protocol.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.Cryptography.CryptographyContext"/> for the specified protocol.</para>
            <para>The default <see cref="T:MimeKit.Cryptography.CryptographyContext"/> types can over overridden by calling
            the <see cref="M:MimeKit.Cryptography.CryptographyContext.Register(System.Type)"/> method with the preferred type.</para>
            </remarks>
            <returns>The <see cref="T:MimeKit.Cryptography.CryptographyContext"/> for the protocol.</returns>
            <param name="protocol">The protocol.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="protocol"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            There are no supported <see cref="T:MimeKit.Cryptography.CryptographyContext"/>s that support 
            the specified <paramref name="protocol"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.Register(System.Type)">
            <summary>
            Registers a default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/> or <see cref="T:MimeKit.Cryptography.OpenPgpContext"/>.
            </summary>
            <remarks>
            Registers the specified type as the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/> or
            <see cref="T:MimeKit.Cryptography.OpenPgpContext"/>.
            </remarks>
            <param name="type">A custom subclass of <see cref="T:MimeKit.Cryptography.SecureMimeContext"/> or
            <see cref="T:MimeKit.Cryptography.OpenPgpContext"/>.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="type"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="type"/> is not a subclass of
            <see cref="T:MimeKit.Cryptography.SecureMimeContext"/> or <see cref="T:MimeKit.Cryptography.OpenPgpContext"/>.</para>
            <para>-or-</para>
            <para><paramref name="type"/> does not have a parameterless constructor.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.Register(System.Func{MimeKit.Cryptography.SecureMimeContext})">
            <summary>
            Registers a default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/> factory.
            </summary>
            <remarks>
            Registers a factory that will return a new instance of the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <param name="factory">A factory that creates a new instance of <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="factory"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.CryptographyContext.Register(System.Func{MimeKit.Cryptography.OpenPgpContext})">
            <summary>
            Registers a default <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> factory.
            </summary>
            <remarks>
            Registers a factory that will return a new instance of the default <see cref="T:MimeKit.Cryptography.OpenPgpContext"/>.
            </remarks>
            <param name="factory">A factory that creates a new instance of <see cref="T:MimeKit.Cryptography.OpenPgpContext"/>.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="factory"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.DbExtensions">
            <summary>
            Useful extensions for working with System.Data types.
            </summary>
        </member>
        <member name="M:MimeKit.Cryptography.DbExtensions.AddParameterWithValue(System.Data.Common.DbCommand,System.String,System.Object)">
            <summary>
            Creates a <see cref="T:System.Data.IDbDataParameter"/> with the specified name and value and then adds it to the command's parameters.
            </summary>
            <param name="command">The database command.</param>
            <param name="name">The parameter name.</param>
            <param name="value">The parameter value.</param>
        </member>
        <member name="T:MimeKit.Cryptography.DefaultSecureMimeContext">
            <summary>
            A default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/> implementation that uses
            an SQLite database as a certificate and private key store.
            </summary>
            <remarks>
            The default S/MIME context is designed to be usable on any platform
            where there exists a .NET runtime by storing certificates, CRLs, and
            (encrypted) private keys in a SQL database.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.DefaultSecureMimeContext.DefaultDatabasePath">
            <summary>
            The default database path for certificates, private keys and CRLs.
            </summary>
            <remarks>
            <para>On Microsoft Windows-based systems, this path will be something like <c>C:\Users\UserName\AppData\Roaming\mimekit\smime.db</c>.</para>
            <para>On Unix systems such as Linux and Mac OS X, this path will be <c>~/.mimekit/smime.db</c>.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.#ctor(System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DefaultSecureMimeContext"/> class.
            </summary>
            <remarks>
            <para>Allows the program to specify its own location for the SQLite database. If the file does not exist,
            it will be created and the necessary tables and indexes will be constructed.</para>
            <para>Requires linking with Mono.Data.Sqlite.</para>
            </remarks>
            <param name="fileName">The path to the SQLite database.</param>
            <param name="password">The password used for encrypting and decrypting the private keys.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The specified file path is empty.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Mono.Data.Sqlite is not available.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occurred reading the file.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.#ctor(System.String,System.String,Org.BouncyCastle.Security.SecureRandom)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DefaultSecureMimeContext"/> class.
            </summary>
            <remarks>
            <para>Allows the program to specify its own location for the SQLite database. If the file does not exist,
            it will be created and the necessary tables and indexes will be constructed.</para>
            <para>Requires linking with Mono.Data.Sqlite.</para>
            </remarks>
            <param name="fileName">The path to the SQLite database.</param>
            <param name="password">The password used for encrypting and decrypting the private keys.</param>
            <param name="random">A secure pseudo-random number generator.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="random"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The specified file path is empty.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Mono.Data.Sqlite is not available.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occurred reading the file.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DefaultSecureMimeContext"/> class.
            </summary>
            <remarks>
            <para>Allows the program to specify its own password for the default database.</para>
            <para>Requires linking with Mono.Data.Sqlite.</para>
            </remarks>
            <param name="password">The password used for encrypting and decrypting the private keys.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="password"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.NotImplementedException">
            Mono.Data.Sqlite is not available.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the database at the default location.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occurred reading the database at the default location.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.#ctor(System.String,Org.BouncyCastle.Security.SecureRandom)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DefaultSecureMimeContext"/> class.
            </summary>
            <remarks>
            <para>Allows the program to specify its own password for the default database.</para>
            <para>Requires linking with Mono.Data.Sqlite.</para>
            </remarks>
            <param name="password">The password used for encrypting and decrypting the private keys.</param>
            <param name="random">A secure pseudo-random number generator.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="random"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.NotImplementedException">
            Mono.Data.Sqlite is not available.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the database at the default location.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occurred reading the database at the default location.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DefaultSecureMimeContext"/> class.
            </summary>
            <remarks>
            <para>Not recommended for production use as the password to unlock the private keys is hard-coded.</para>
            <para>Requires linking with Mono.Data.Sqlite.</para>
            </remarks>
            <exception cref="T:System.NotImplementedException">
            Mono.Data.Sqlite is not available.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the database at the default location.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occurred reading the database at the default location.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.#ctor(MimeKit.Cryptography.IX509CertificateDatabase)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DefaultSecureMimeContext"/> class.
            </summary>
            <remarks>
            This constructor is useful for supplying a custom <see cref="T:MimeKit.Cryptography.IX509CertificateDatabase"/>.
            </remarks>
            <param name="database">The certificate database.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="database"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.#ctor(MimeKit.Cryptography.IX509CertificateDatabase,Org.BouncyCastle.Security.SecureRandom)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DefaultSecureMimeContext"/> class.
            </summary>
            <remarks>
            This constructor is useful for supplying a custom <see cref="T:MimeKit.Cryptography.IX509CertificateDatabase"/>.
            </remarks>
            <param name="database">The certificate database.</param>
            <param name="random">A secure pseudo-random number generator.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="database"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="random"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.CanSign(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Check whether a particular mailbox address can be used for signing.
            </summary>
            <remarks>
            Checks whether as particular mailbocx address can be used for signing.
            </remarks>
            <returns><see langword="true" /> if the mailbox address can be used for signing; otherwise, <see langword="false" />.</returns>
            <param name="signer">The signer.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.CanEncrypt(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Check whether the cryptography context can encrypt to a particular recipient.
            </summary>
            <remarks>
            Checks whether the cryptography context can be used to encrypt to a particular recipient.
            </remarks>
            <returns><see langword="true" /> if the cryptography context can be used to encrypt to the designated recipient; otherwise, <see langword="false" />.</returns>
            <param name="mailbox">The recipient's mailbox address.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailbox"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.GetCertificate(Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Gets the X.509 certificate matching the specified selector.
            </summary>
            <remarks>
            Gets the first certificate that matches the specified selector.
            </remarks>
            <returns>The certificate on success; otherwise <see langword="null"/>.</returns>
            <param name="selector">The search criteria for the certificate.</param>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.GetPrivateKey(Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Gets the private key for the certificate matching the specified selector.
            </summary>
            <remarks>
            Gets the private key for the first certificate that matches the specified selector.
            </remarks>
            <returns>The private key on success; otherwise <see langword="null"/>.</returns>
            <param name="selector">The search criteria for the private key.</param>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.GetTrustedAnchors">
            <summary>
            Gets the trusted anchors.
            </summary>
            <remarks>
            A trusted anchor is a trusted root-level X.509 certificate,
            generally issued by a Certificate Authority (CA).
            </remarks>
            <returns>The trusted anchors.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.GetIntermediateCertificates">
            <summary>
            Gets the intermediate certificates.
            </summary>
            <remarks>
            An intermediate certificate is any certificate that exists between the root
            certificate issued by a Certificate Authority (CA) and the certificate at
            the end of the chain.
            </remarks>
            <returns>The intermediate certificates.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.GetCertificateRevocationLists">
            <summary>
            Gets the certificate revocation lists.
            </summary>
            <remarks>
            A Certificate Revocation List (CRL) is a list of certificate serial numbers issued
            by a particular Certificate Authority (CA) that have been revoked, either by the CA
            itself or by the owner of the revoked certificate.
            </remarks>
            <returns>The certificate revocation lists.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.GetNextCertificateRevocationListUpdate(Org.BouncyCastle.Asn1.X509.X509Name)">
            <summary>
            Get the date &amp; time for the next scheduled certificate revocation list update for the specified issuer.
            </summary>
            <remarks>
            Gets the date &amp; time for the next scheduled certificate revocation list update for the specified issuer.
            </remarks>
            <returns>The date &amp; time for the next update (in UTC).</returns>
            <param name="issuer">The issuer.</param>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.GetCmsRecipient(MimeKit.MailboxAddress)">
            <summary>
            Gets the <see cref="T:MimeKit.Cryptography.CmsRecipient"/> for the specified mailbox.
            </summary>
            <remarks>
            <para>Constructs a <see cref="T:MimeKit.Cryptography.CmsRecipient"/> with the appropriate certificate and
            <see cref="P:MimeKit.Cryptography.CmsRecipient.EncryptionAlgorithms"/> for the specified mailbox.</para>
            <para>If the mailbox is a <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/>, the
            <see cref="P:MimeKit.Cryptography.SecureMailboxAddress.Fingerprint"/> property will be used instead of
            the mailbox address for database lookups.</para>
            </remarks>
            <returns>A <see cref="T:MimeKit.Cryptography.CmsRecipient"/>.</returns>
            <param name="mailbox">The recipient's mailbox address.</param>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate for the specified <paramref name="mailbox"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.GetCmsSigner(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm)">
            <summary>
            Gets the <see cref="T:MimeKit.Cryptography.CmsSigner"/> for the specified mailbox.
            </summary>
            <remarks>
            <para>Constructs a <see cref="T:MimeKit.Cryptography.CmsSigner"/> with the appropriate signing certificate
            for the specified mailbox.</para>
            <para>If the mailbox is a <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/>, the
            <see cref="P:MimeKit.Cryptography.SecureMailboxAddress.Fingerprint"/> property will be used instead of
            the mailbox address for database lookups.</para>
            </remarks>
            <returns>A <see cref="T:MimeKit.Cryptography.CmsSigner"/>.</returns>
            <param name="mailbox">The signer's mailbox address.</param>
            <param name="digestAlgo">The preferred digest algorithm.</param>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate for the specified <paramref name="mailbox"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.UpdateSecureMimeCapabilities(Org.BouncyCastle.X509.X509Certificate,MimeKit.Cryptography.EncryptionAlgorithm[],System.DateTime)">
            <summary>
            Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate.
            </summary>
            <remarks>
            Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate.
            </remarks>
            <param name="certificate">The certificate.</param>
            <param name="algorithms">The encryption algorithm capabilities of the client (in preferred order).</param>
            <param name="timestamp">The timestamp in coordinated universal time (UTC).</param>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.Import(Org.BouncyCastle.X509.X509Certificate,System.Threading.CancellationToken)">
            <summary>
            Import a certificate.
            </summary>
            <remarks>
            Imports the specified certificate into the database.
            </remarks>
            <param name="certificate">The certificate.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.Import(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Threading.CancellationToken)">
            <summary>
            Import a certificate.
            </summary>
            <remarks>
            Imports a certificate.
            </remarks>
            <param name="certificate">The certificate.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.Import(Org.BouncyCastle.X509.X509Crl,System.Threading.CancellationToken)">
            <summary>
            Imports a certificate revocation list.
            </summary>
            <remarks>
            Imports the specified certificate revocation list.
            </remarks>
            <param name="crl">The certificate revocation list.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="crl"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.Import(System.IO.Stream,System.String,System.Threading.CancellationToken)">
            <summary>
            Imports certificates and keys from a pkcs12-encoded stream.
            </summary>
            <remarks>
            Imports all the certificates and keys from the pkcs12-encoded stream.
            </remarks>
            <param name="stream">The raw certificate and key data.</param>
            <param name="password">The password to unlock the data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.ImportAsync(System.IO.Stream,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously imports certificates and keys from a pkcs12-encoded stream.
            </summary>
            <remarks>
            Asynchronously imports all the certificates and keys from the pkcs12-encoded stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="stream">The raw certificate and key data.</param>
            <param name="password">The password to unlock the data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.Import(Org.BouncyCastle.X509.X509Certificate,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Import a certificate.
            </summary>
            <remarks>
            <para>Imports the certificate.</para>
            <para>If the certificate already exists in the database and <paramref name="trusted"/> is <see langword="true" />,
            then the IsTrusted state is updated otherwise the certificate is added to the database with the
            specified trust.</para>
            </remarks>
            <param name="certificate">The certificate.</param>
            <param name="trusted"><see langword="true" /> if the certificate is trusted; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.ImportAsync(Org.BouncyCastle.X509.X509Certificate,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously import a certificate.
            </summary>
            <remarks>
            <para>Asynchronously imports the certificate.</para>
            <para>If the certificate already exists in the database and <paramref name="trusted"/> is <see langword="true" />,
            then the IsTrusted state is updated otherwise the certificate is added to the database with the
            specified trust.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="certificate">The certificate.</param>
            <param name="trusted"><see langword="true" /> if the certificate is trusted; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.Import(System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Import a DER-encoded certificate stream.
            </summary>
            <remarks>
            Imports the certificate(s).
            </remarks>
            <param name="stream">The raw certificate(s).</param>
            <param name="trusted"><see langword="true" /> if the certificates are trusted; othewrwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.ImportAsync(System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously import a DER-encoded certificate stream.
            </summary>
            <remarks>
            Asynchronously imports the certificate(s).
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="stream">The raw certificate(s).</param>
            <param name="trusted"><see langword="true" /> if the certificates are trusted; othewrwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DefaultSecureMimeContext.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.Cryptography.DefaultSecureMimeContext"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.Cryptography.DefaultSecureMimeContext"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MimeKit.Cryptography.DigestAlgorithm">
            <summary>
            A digest algorithm.
            </summary>
            <remarks>
            <para>Digest algorithms are secure hashing algorithms that are used
            to generate unique fixed-length signatures for arbitrary data.</para>
            <para>The most commonly used digest algorithms are currently MD5
            and SHA-1, however, MD5 was successfully broken in 2008 and should
            be avoided. In late 2013, Microsoft announced that they would be
            retiring their use of SHA-1 in their products by 2016 with the
            assumption that its days as an unbroken digest algorithm were
            numbered. It is speculated that the SHA-1 digest algorithm will
            be vulnerable to collisions, and thus no longer considered secure,
            by 2018.</para>
            <para>Microsoft and other vendors plan to move to the SHA-2 suite of
            digest algorithms which includes the following 4 variants: SHA-224,
            SHA-256, SHA-384, and SHA-512.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.DigestAlgorithm.None">
            <summary>
            No digest algorithm specified.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.DigestAlgorithm.MD5">
            <summary>
            The MD5 digest algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.DigestAlgorithm.Sha1">
            <summary>
            The SHA-1 digest algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.DigestAlgorithm.RipeMD160">
            <summary>
            The Ripe-MD/160 digest algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.DigestAlgorithm.DoubleSha">
            <summary>
            The double-SHA digest algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.DigestAlgorithm.MD2">
            <summary>
            The MD2 digest algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.DigestAlgorithm.Tiger192">
            <summary>
            The TIGER/192 digest algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.DigestAlgorithm.Haval5160">
            <summary>
            The HAVAL 5-pass 160-bit digest algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.DigestAlgorithm.Sha256">
            <summary>
            The SHA-256 digest algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.DigestAlgorithm.Sha384">
            <summary>
            The SHA-384 digest algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.DigestAlgorithm.Sha512">
            <summary>
            The SHA-512 digest algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.DigestAlgorithm.Sha224">
            <summary>
            The SHA-224 digest algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.DigestAlgorithm.MD4">
            <summary>
            The MD4 digest algorithm.
            </summary>
        </member>
        <member name="T:MimeKit.Cryptography.DigitalSignatureCollection">
            <summary>
            A collection of digital signatures.
            </summary>
            <remarks>
            <para>When verifying a digitally signed MIME part such as a <see cref="T:MimeKit.Cryptography.MultipartSigned"/>
            or a <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/>, you will get back a collection of
            digital signatures. Typically, a signed message will only have a single signature
            (created by the sender of the message), but it is possible for there to be
            multiple signatures.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.DigitalSignatureCollection.#ctor(System.Collections.Generic.IList{MimeKit.Cryptography.IDigitalSignature})">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DigitalSignatureCollection"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.DigitalSignatureCollection"/>.
            </remarks>
            <param name="signatures">The signatures.</param>
        </member>
        <member name="T:MimeKit.Cryptography.DigitalSignatureVerifyException">
            <summary>
            An exception that is thrown when an error occurrs in <see cref="M:MimeKit.Cryptography.IDigitalSignature.Verify"/>.
            </summary>
            <remarks>
            For more information about the error condition, check the <see cref="P:System.Exception.InnerException"/> property.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.DigitalSignatureVerifyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DigitalSignatureVerifyException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.DigitalSignatureVerifyException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The stream context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DigitalSignatureVerifyException.#ctor(System.Int64,System.String,System.Exception)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DigitalSignatureVerifyException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.DigitalSignatureVerifyException"/>.
            </remarks>
            <param name="keyId">The key identifier.</param>
            <param name="message">The error message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:MimeKit.Cryptography.DigitalSignatureVerifyException.#ctor(System.Int64,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DigitalSignatureVerifyException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.DigitalSignatureVerifyException"/>.
            </remarks>
            <param name="keyId">The key identifier.</param>
            <param name="message">The error message.</param>
        </member>
        <member name="M:MimeKit.Cryptography.DigitalSignatureVerifyException.#ctor(System.String,System.Exception)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DigitalSignatureVerifyException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.DigitalSignatureVerifyException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:MimeKit.Cryptography.DigitalSignatureVerifyException.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DigitalSignatureVerifyException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.DigitalSignatureVerifyException"/>.
            </remarks>
            <param name="message">The error message.</param>
        </member>
        <member name="M:MimeKit.Cryptography.DigitalSignatureVerifyException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            with information about the exception.
            </summary>
            <remarks>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            with information about the exception.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.DigitalSignatureVerifyException.KeyId">
            <summary>
            Get the key identifier, if available.
            </summary>
            <remarks>
            Gets the key identifier, if available.
            </remarks>
            <value>The key identifier.</value>
        </member>
        <member name="T:MimeKit.Cryptography.DkimBodyFilter">
            <summary>
            A base implementation for DKIM body filters.
            </summary>
            <remarks>
            A base implementation for DKIM body filters.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.DkimBodyFilter.LastWasNewLine">
            <summary>
            Get or set whether the last filtered character was a newline.
            </summary>
            <remarks>
            Gets or sets whether the last filtered character was a newline.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.DkimBodyFilter.IsEmptyLine">
            <summary>
            Get or set whether the current line is empty.
            </summary>
            <remarks>
            Gets or sets whether the current line is empty.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.DkimBodyFilter.EmptyLines">
            <summary>
            Get or set the number of consecutive empty lines encountered.
            </summary>
            <remarks>
            Gets or sets the number of consecutive empty lines encountered.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.DkimBodyFilter.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DkimBodyFilter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.DkimBodyFilter"/>.
            </remarks>
        </member>
        <member name="T:MimeKit.Cryptography.DkimCanonicalizationAlgorithm">
            <summary>
            A DKIM canonicalization algorithm.
            </summary>
            <remarks>
            <para>Empirical evidence demonstrates that some mail servers and relay systems
            modify email in transit, potentially invalidating a signature. There are two
            competing perspectives on such modifications. For most signers, mild modification
            of email is immaterial to the authentication status of the email. For such signers,
            a canonicalization algorithm that survives modest in-transit modification is
            preferred.</para>
            <para>Other signers demand that any modification of the email, however minor,
            result in a signature verification failure. These signers prefer a canonicalization
            algorithm that does not tolerate in-transit modification of the signed email.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimExamples.cs" region="DkimSign" />
            </example>
        </member>
        <member name="F:MimeKit.Cryptography.DkimCanonicalizationAlgorithm.Simple">
            <summary>
            The simple canonicalization algorithm tolerates almost no modification
            by mail servers while the message is in-transit.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.DkimCanonicalizationAlgorithm.Relaxed">
            <summary>
            The relaxed canonicalization algorithm tolerates common modifications
            by mail servers while the message is in-transit such as whitespace
            replacement and header field line rewrapping.
            </summary>
        </member>
        <member name="T:MimeKit.Cryptography.DkimHashStream">
            <summary>
            A DKIM hash stream.
            </summary>
            <remarks>
            A DKIM hash stream.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.DkimHashStream.#ctor(MimeKit.Cryptography.DkimSignatureAlgorithm,System.Int32)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DkimHashStream"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.DkimHashStream"/>.
            </remarks>
            <param name="algorithm">The signature algorithm.</param>
            <param name="maxLength">The max length of data to hash.</param>
        </member>
        <member name="M:MimeKit.Cryptography.DkimHashStream.GenerateHash">
            <summary>
            Generate the hash.
            </summary>
            <remarks>
            Generates the hash.
            </remarks>
            <returns>The hash.</returns>
        </member>
        <member name="P:MimeKit.Cryptography.DkimHashStream.CanRead">
            <summary>
            Checks whether the stream supports reading.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.Cryptography.DkimHashStream"/> is not readable.
            </remarks>
            <value><see langword="true" /> if the stream supports reading; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Cryptography.DkimHashStream.CanWrite">
            <summary>
            Checks whether the stream supports writing.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.Cryptography.DkimHashStream"/> is always writable.
            </remarks>
            <value><see langword="true" /> if the stream supports writing; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Cryptography.DkimHashStream.CanSeek">
            <summary>
            Checks whether the stream supports seeking.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.Cryptography.DkimHashStream"/> is not seekable.
            </remarks>
            <value><see langword="true" /> if the stream supports seeking; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Cryptography.DkimHashStream.CanTimeout">
            <summary>
            Checks whether reading and writing to the stream can time out.
            </summary>
            <remarks>
            Writing to a <see cref="T:MimeKit.Cryptography.DkimHashStream"/> cannot timeout.
            </remarks>
            <value><see langword="true" /> if reading and writing to the stream can time out; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Cryptography.DkimHashStream.Length">
            <summary>
            Gets the length of the stream, in bytes.
            </summary>
            <remarks>
            The length of a <see cref="T:MimeKit.Cryptography.DkimHashStream"/> indicates the
            number of bytes that have been written to it.
            </remarks>
            <value>The length of the stream in bytes.</value>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.DkimHashStream.Position">
            <summary>
            Gets or sets the current position within the stream.
            </summary>
            <remarks>
            Since it is possible to seek within a <see cref="T:MimeKit.Cryptography.DkimHashStream"/>,
            it is possible that the position will not always be identical to the
            length of the stream, but typically it will be.
            </remarks>
            <value>The position of the stream.</value>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimHashStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reading from a <see cref="T:MimeKit.Cryptography.DkimHashStream"/> is not supported.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
            bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of bytes to read.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support reading.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimHashStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Increments the <see cref="P:MimeKit.Cryptography.DkimHashStream.Position"/> property by the number of bytes written.
            If the updated position is greater than the current length of the stream, then
            the <see cref="P:MimeKit.Cryptography.DkimHashStream.Length"/> property will be updated to be identical to the
            position.
            </remarks>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimHashStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Sets the position within the current stream.
            </summary>
            <remarks>
            Updates the <see cref="P:MimeKit.Cryptography.DkimHashStream.Position"/> within the stream.
            </remarks>
            <returns>The new position within the stream.</returns>
            <param name="offset">The offset into the stream relative to the <paramref name="origin"/>.</param>
            <param name="origin">The origin to seek from.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="origin"/> is not a valid <see cref="T:System.IO.SeekOrigin"/>. 
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimHashStream.Flush">
            <summary>
            Clears all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Since a <see cref="T:MimeKit.Cryptography.DkimHashStream"/> does not actually do anything other than
            count bytes, this method is a no-op.
            </remarks>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimHashStream.SetLength(System.Int64)">
            <summary>
            Sets the length of the stream.
            </summary>
            <remarks>
            Sets the <see cref="P:MimeKit.Cryptography.DkimHashStream.Length"/> to the specified value and updates
            <see cref="P:MimeKit.Cryptography.DkimHashStream.Position"/> to the specified value if (and only if)
            the current position is greater than the new length value.
            </remarks>
            <param name="value">The desired length of the stream in bytes.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimHashStream.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.Cryptography.DkimHashStream"/> and
            optionally releases the managed resources.
            </summary>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MimeKit.Cryptography.DkimPublicKeyLocatorBase">
            <summary>
            A base class for implemnentations of <see cref="T:MimeKit.Cryptography.IDkimPublicKeyLocator"/>.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.Cryptography.DkimPublicKeyLocatorBase"/> class provides a helpful
            method for parsing DNS TXT records in order to extract the public key.
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimVerifierExample.cs" />
            </example>
            <example>
            <code language="c#" source="Examples\ArcVerifierExample.cs" />
            </example>
        </member>
        <member name="M:MimeKit.Cryptography.DkimPublicKeyLocatorBase.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DkimPublicKeyLocatorBase"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.DkimPublicKeyLocatorBase"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.DkimPublicKeyLocatorBase.GetPublicKey(System.String)">
            <summary>
            Get the public key from a DNS TXT record.
            </summary>
            <remarks>
            Gets the public key from a DNS TXT record.
            </remarks>
            <param name="txt">The DNS TXT record.</param>
            <returns>The public key.</returns>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="txt"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            There was an error parsing the DNS TXT record.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimPublicKeyLocatorBase.LocatePublicKey(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Locate and retrieve the public key for the given domain and selector.
            </summary>
            <remarks>
            <para>Locates and retrieves the public key for the given domain and selector.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimVerifierExample.cs" />
            </example>
            <example>
            <code language="c#" source="Examples\ArcVerifierExample.cs" />
            </example>
            <seealso cref="T:MimeKit.Cryptography.ArcVerifier"/>
            <seealso cref="T:MimeKit.Cryptography.DkimVerifier"/>
            <returns>The public key.</returns>
            <param name="methods">A colon-separated list of query methods used to retrieve the public key. The default is <c>"dns/txt"</c>.</param>
            <param name="domain">The domain.</param>
            <param name="selector">The selector.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.Cryptography.DkimPublicKeyLocatorBase.LocatePublicKeyAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously locate and retrieve the public key for the given domain and selector.
            </summary>
            <remarks>
            <para>Locates and retrieves the public key for the given domain and selector.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimVerifierExample.cs" />
            </example>
            <example>
            <code language="c#" source="Examples\ArcVerifierExample.cs" />
            </example>
            <seealso cref="T:MimeKit.Cryptography.ArcVerifier"/>
            <seealso cref="T:MimeKit.Cryptography.DkimVerifier"/>
            <returns>The public key.</returns>
            <param name="methods">A colon-separated list of query methods used to retrieve the public key. The default is <c>"dns/txt"</c>.</param>
            <param name="domain">The domain.</param>
            <param name="selector">The selector.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="T:MimeKit.Cryptography.DkimRelaxedBodyFilter">
            <summary>
            A filter for the DKIM relaxed body canonicalization.
            </summary>
            <remarks>
            A filter for the DKIM relaxed body canonicalization.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.DkimRelaxedBodyFilter.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DkimRelaxedBodyFilter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.DkimRelaxedBodyFilter"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.DkimRelaxedBodyFilter.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer, starting at <paramref name="startIndex"/>.</param>
            <param name="outputIndex">The output index.</param>
            <param name="outputLength">The output length.</param>
            <param name="flush">If set to <see langword="true" />, all internally buffered data should be flushed to the output buffer.</param>
        </member>
        <member name="M:MimeKit.Cryptography.DkimRelaxedBodyFilter.Reset">
            <summary>
            Resets the filter.
            </summary>
            <remarks>
            Resets the filter.
            </remarks>
        </member>
        <member name="T:MimeKit.Cryptography.DkimSignatureAlgorithm">
            <summary>
            A DKIM signature algorithm.
            </summary>
            <remarks>
            A DKIM signature algorithm.
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimExamples.cs" region="DkimSign" />
            </example>
        </member>
        <member name="F:MimeKit.Cryptography.DkimSignatureAlgorithm.RsaSha1">
            <summary>
            The RSA-SHA1 signature algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.DkimSignatureAlgorithm.RsaSha256">
            <summary>
            The RSA-SHA256 signature algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.DkimSignatureAlgorithm.Ed25519Sha256">
            <summary>
            The Ed25519-SHA256 signature algorithm.
            </summary>
        </member>
        <member name="T:MimeKit.Cryptography.DkimSignatureStream">
            <summary>
            A DKIM signature stream.
            </summary>
            <remarks>
            A DKIM signature stream.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSignatureStream.#ctor(Org.BouncyCastle.Crypto.ISigner)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DkimSignatureStream"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.DkimSignatureStream"/>.
            </remarks>
            <param name="signer">The digest signer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signer"/>is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.DkimSignatureStream.Signer">
            <summary>
            Get the digest signer.
            </summary>
            <remarks>
            Gets the digest signer.
            </remarks>
            <value>The signer.</value>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSignatureStream.GenerateSignature">
            <summary>
            Generate the signature.
            </summary>
            <remarks>
            Generates the signature.
            </remarks>
            <returns>The signature.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSignatureStream.VerifySignature(System.String)">
            <summary>
            Verify the DKIM signature.
            </summary>
            <remarks>
            Verifies the DKIM signature.
            </remarks>
            <returns><see langword="true" /> if signature is valid; otherwise, <see langword="false" />.</returns>
            <param name="signature">The base64 encoded DKIM signature from the <c>b=</c> parameter.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signature"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.DkimSignatureStream.CanRead">
            <summary>
            Checks whether the stream supports reading.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.Cryptography.DkimSignatureStream"/> is not readable.
            </remarks>
            <value><see langword="true" /> if the stream supports reading; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Cryptography.DkimSignatureStream.CanWrite">
            <summary>
            Checks whether the stream supports writing.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.Cryptography.DkimSignatureStream"/> is always writable.
            </remarks>
            <value><see langword="true" /> if the stream supports writing; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Cryptography.DkimSignatureStream.CanSeek">
            <summary>
            Checks whether the stream supports seeking.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.Cryptography.DkimSignatureStream"/> is not seekable.
            </remarks>
            <value><see langword="true" /> if the stream supports seeking; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Cryptography.DkimSignatureStream.CanTimeout">
            <summary>
            Checks whether reading and writing to the stream can time out.
            </summary>
            <remarks>
            Writing to a <see cref="T:MimeKit.Cryptography.DkimSignatureStream"/> cannot time out.
            </remarks>
            <value><see langword="true" /> if reading and writing to the stream can time out; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Cryptography.DkimSignatureStream.Length">
            <summary>
            Gets the length of the stream, in bytes.
            </summary>
            <remarks>
            The length of a <see cref="T:MimeKit.Cryptography.DkimSignatureStream"/> indicates the
            number of bytes that have been written to it.
            </remarks>
            <value>The length of the stream in bytes.</value>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.DkimSignatureStream.Position">
            <summary>
            Gets or sets the current position within the stream.
            </summary>
            <remarks>
            Since it is possible to seek within a <see cref="T:MimeKit.Cryptography.DkimSignatureStream"/>,
            it is possible that the position will not always be identical to the
            length of the stream, but typically it will be.
            </remarks>
            <value>The position of the stream.</value>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSignatureStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reading from a <see cref="T:MimeKit.Cryptography.DkimSignatureStream"/> is not supported.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
            bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of bytes to read.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support reading.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSignatureStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Increments the <see cref="P:MimeKit.Cryptography.DkimSignatureStream.Position"/> property by the number of bytes written.
            If the updated position is greater than the current length of the stream, then
            the <see cref="P:MimeKit.Cryptography.DkimSignatureStream.Length"/> property will be updated to be identical to the
            position.
            </remarks>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSignatureStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Sets the position within the current stream.
            </summary>
            <remarks>
            Updates the <see cref="P:MimeKit.Cryptography.DkimSignatureStream.Position"/> within the stream.
            </remarks>
            <returns>The new position within the stream.</returns>
            <param name="offset">The offset into the stream relative to the <paramref name="origin"/>.</param>
            <param name="origin">The origin to seek from.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="origin"/> is not a valid <see cref="T:System.IO.SeekOrigin"/>. 
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSignatureStream.Flush">
            <summary>
            Clears all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Since a <see cref="T:MimeKit.Cryptography.DkimSignatureStream"/> does not actually do anything other than
            count bytes, this method is a no-op.
            </remarks>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSignatureStream.SetLength(System.Int64)">
            <summary>
            Sets the length of the stream.
            </summary>
            <remarks>
            Sets the <see cref="P:MimeKit.Cryptography.DkimSignatureStream.Length"/> to the specified value and updates
            <see cref="P:MimeKit.Cryptography.DkimSignatureStream.Position"/> to the specified value if (and only if)
            the current position is greater than the new length value.
            </remarks>
            <param name="value">The desired length of the stream in bytes.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSignatureStream.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.Cryptography.DkimSignatureStream"/> and
            optionally releases the managed resources.
            </summary>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MimeKit.Cryptography.DkimSigner">
            <summary>
            A DKIM signer.
            </summary>
            <remarks>
            A DKIM signer.
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimExamples.cs" region="DkimSign" />
            </example>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSigner.#ctor(System.String,System.String,MimeKit.Cryptography.DkimSignatureAlgorithm)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DkimSigner"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.Cryptography.DkimSigner"/>.</para>
            <note type="security">Due to the recognized weakness of the SHA-1 hash algorithm
            and the wide availability of the SHA-256 hash algorithm (it has been a required
            part of DKIM since it was originally standardized in 2007), it is recommended
            that <see cref="F:MimeKit.Cryptography.DkimSignatureAlgorithm.RsaSha1"/> NOT be used.</note>
            </remarks>
            <param name="domain">The domain that the signer represents.</param>
            <param name="selector">The selector subdividing the domain.</param>
            <param name="algorithm">The signature algorithm.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="domain"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="selector"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSigner.#ctor(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.String,System.String,MimeKit.Cryptography.DkimSignatureAlgorithm)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DkimSigner"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.Cryptography.DkimSigner"/>.</para>
            <note type="security">Due to the recognized weakness of the SHA-1 hash algorithm
            and the wide availability of the SHA-256 hash algorithm (it has been a required
            part of DKIM since it was originally standardized in 2007), it is recommended
            that <see cref="F:MimeKit.Cryptography.DkimSignatureAlgorithm.RsaSha1"/> NOT be used.</note>
            </remarks>
            <param name="key">The signer's private key.</param>
            <param name="domain">The domain that the signer represents.</param>
            <param name="selector">The selector subdividing the domain.</param>
            <param name="algorithm">The signature algorithm.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="key"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="domain"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="selector"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="key"/> is not a private key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSigner.#ctor(System.String,System.String,System.String,MimeKit.Cryptography.DkimSignatureAlgorithm)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DkimSigner"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.Cryptography.DkimSigner"/>.</para>
            <note type="security">Due to the recognized weakness of the SHA-1 hash algorithm
            and the wide availability of the SHA-256 hash algorithm (it has been a required
            part of DKIM since it was originally standardized in 2007), it is recommended
            that <see cref="F:MimeKit.Cryptography.DkimSignatureAlgorithm.RsaSha1"/> NOT be used.</note>
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimExamples.cs" region="DkimSign" />
            </example>
            <param name="fileName">The file containing the private key.</param>
            <param name="domain">The domain that the signer represents.</param>
            <param name="selector">The selector subdividing the domain.</param>
            <param name="algorithm">The signature algorithm.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="domain"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="selector"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.FormatException">
            The file did not contain a private key.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSigner.#ctor(System.IO.Stream,System.String,System.String,MimeKit.Cryptography.DkimSignatureAlgorithm)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DkimSigner"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.Cryptography.DkimSigner"/>.</para>
            <note type="security">Due to the recognized weakness of the SHA-1 hash algorithm
            and the wide availability of the SHA-256 hash algorithm (it has been a required
            part of DKIM since it was originally standardized in 2007), it is recommended
            that <see cref="F:MimeKit.Cryptography.DkimSignatureAlgorithm.RsaSha1"/> NOT be used.</note>
            </remarks>
            <param name="stream">The stream containing the private key.</param>
            <param name="domain">The domain that the signer represents.</param>
            <param name="selector">The selector subdividing the domain.</param>
            <param name="algorithm">The signature algorithm.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="domain"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="selector"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.FormatException">
            The file did not contain a private key.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.DkimSigner.AgentOrUserIdentifier">
            <summary>
            Get or set the agent or user identifier.
            </summary>
            <remarks>
            Gets or sets the agent or user identifier.
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimExamples.cs" region="DkimSign" />
            </example>
            <value>The agent or user identifier.</value>
        </member>
        <member name="P:MimeKit.Cryptography.DkimSigner.QueryMethod">
            <summary>
            Get or set the public key query method.
            </summary>
            <remarks>
            <para>Gets or sets the public key query method.</para>
            <para>The value should be a colon-separated list of query methods used to
            retrieve the public key (plain-text; OPTIONAL, default is "dns/txt"). Each
            query method is of the form "type[/options]", where the syntax and
            semantics of the options depend on the type and specified options.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimExamples.cs" region="DkimSign" />
            </example>
            <value>The public key query method.</value>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSigner.GetTimestamp">
            <summary>
            Get the timestamp value.
            </summary>
            <remarks>
            Gets the timestamp to use as the <c>t=</c> value in the DKIM-Signature header.
            </remarks>
            <returns>A value representing the timestamp value.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSigner.Sign(MimeKit.FormatOptions,MimeKit.MimeMessage,System.Collections.Generic.IList{System.String})">
            <summary>
            Digitally sign the message using a DomainKeys Identified Mail (DKIM) signature.
            </summary>
            <remarks>
            Digitally signs the message using a DomainKeys Identified Mail (DKIM) signature.
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimExamples.cs" region="DkimSign" />
            </example>
            <param name="options">The formatting options.</param>
            <param name="message">The message to sign.</param>
            <param name="headers">The list of header fields to sign.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="headers"/> does not contain the 'From' header.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> contains one or more of the following headers: Return-Path,
            Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSigner.Sign(MimeKit.MimeMessage,System.Collections.Generic.IList{System.String})">
            <summary>
            Digitally sign the message using a DomainKeys Identified Mail (DKIM) signature.
            </summary>
            <remarks>
            Digitally signs the message using a DomainKeys Identified Mail (DKIM) signature.
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimExamples.cs" region="DkimSign" />
            </example>
            <param name="message">The message to sign.</param>
            <param name="headers">The headers to sign.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="headers"/> does not contain the 'From' header.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> contains one or more of the following headers: Return-Path,
            Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSigner.Sign(MimeKit.FormatOptions,MimeKit.MimeMessage,System.Collections.Generic.IList{MimeKit.HeaderId})">
            <summary>
            Digitally sign the message using a DomainKeys Identified Mail (DKIM) signature.
            </summary>
            <remarks>
            Digitally signs the message using a DomainKeys Identified Mail (DKIM) signature.
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimExamples.cs" region="DkimSign" />
            </example>
            <param name="options">The formatting options.</param>
            <param name="message">The message to sign.</param>
            <param name="headers">The list of header fields to sign.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="headers"/> does not contain the 'From' header.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> contains one or more of the following headers: Return-Path,
            Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSigner.Sign(MimeKit.MimeMessage,System.Collections.Generic.IList{MimeKit.HeaderId})">
            <summary>
            Digitally sign the message using a DomainKeys Identified Mail (DKIM) signature.
            </summary>
            <remarks>
            Digitally signs the message using a DomainKeys Identified Mail (DKIM) signature.
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimExamples.cs" region="DkimSign" />
            </example>
            <param name="message">The message to sign.</param>
            <param name="headers">The headers to sign.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="headers"/> does not contain the 'From' header.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> contains one or more of the following headers: Return-Path,
            Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature.</para>
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.DkimSignerBase">
            <summary>
            A base class for DKIM and ARC signers.
            </summary>
            <remarks>
            The base class for <see cref="T:MimeKit.Cryptography.DkimSigner"/> and <see cref="T:MimeKit.Cryptography.ArcSigner"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSignerBase.#ctor(System.String,System.String,MimeKit.Cryptography.DkimSignatureAlgorithm)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DkimSignerBase"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.Cryptography.DkimSignerBase"/>.</para>
            <note type="security">Due to the recognized weakness of the SHA-1 hash algorithm
            and the wide availability of the SHA-256 hash algorithm (it has been a required
            part of DKIM since it was originally standardized in 2007), it is recommended
            that <see cref="F:MimeKit.Cryptography.DkimSignatureAlgorithm.RsaSha1"/> NOT be used.</note>
            </remarks>
            <param name="domain">The domain that the signer represents.</param>
            <param name="selector">The selector subdividing the domain.</param>
            <param name="algorithm">The signature algorithm.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="domain"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="selector"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.DkimSignerBase.Domain">
            <summary>
            Get the domain that the signer represents.
            </summary>
            <remarks>
            Gets the domain that the signer represents.
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimExamples.cs" region="DkimSign" />
            </example>
            <value>The domain.</value>
        </member>
        <member name="P:MimeKit.Cryptography.DkimSignerBase.Selector">
            <summary>
            Get the selector subdividing the domain.
            </summary>
            <remarks>
            Gets the selector subdividing the domain.
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimExamples.cs" region="DkimSign" />
            </example>
            <value>The selector.</value>
        </member>
        <member name="P:MimeKit.Cryptography.DkimSignerBase.SignatureAlgorithm">
            <summary>
            Get or set the algorithm to use for signing.
            </summary>
            <remarks>
            <para>Gets or sets the algorithm to use for signing.</para>
            <para>Creates a new <see cref="T:MimeKit.Cryptography.DkimSigner"/>.</para>
            <note type="security">Due to the recognized weakness of the SHA-1 hash algorithm
            and the wide availability of the SHA-256 hash algorithm (it has been a required
            part of DKIM since it was originally standardized in 2007), it is recommended
            that <see cref="F:MimeKit.Cryptography.DkimSignatureAlgorithm.RsaSha1"/> NOT be used.</note>
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimExamples.cs" region="DkimSign" />
            </example>
            <value>The signature algorithm.</value>
        </member>
        <member name="P:MimeKit.Cryptography.DkimSignerBase.BodyCanonicalizationAlgorithm">
            <summary>
            Get or set the canonicalization algorithm to use for the message body.
            </summary>
            <remarks>
            Gets or sets the canonicalization algorithm to use for the message body.
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimExamples.cs" region="DkimSign" />
            </example>
            <value>The canonicalization algorithm.</value>
        </member>
        <member name="P:MimeKit.Cryptography.DkimSignerBase.SignaturesExpireAfter">
            <summary>
            Get or set the timespan after which signatures are no longer valid.
            </summary>
            <remarks>
            Get or set the timespan after which signatures are no longer valid.
            </remarks>
            <value>The signatures expiration timespan value.</value>
        </member>
        <member name="P:MimeKit.Cryptography.DkimSignerBase.HeaderCanonicalizationAlgorithm">
            <summary>
            Get or set the canonicalization algorithm to use for the message headers.
            </summary>
            <remarks>
            Gets or sets the canonicalization algorithm to use for the message headers.
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimExamples.cs" region="DkimSign" />
            </example>
            <value>The canonicalization algorithm.</value>
        </member>
        <member name="P:MimeKit.Cryptography.DkimSignerBase.PrivateKey">
            <summary>
            Gets the private key.
            </summary>
            <remarks>
            The private key used for signing.
            </remarks>
            <value>The private key.</value>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSignerBase.CreateSigningContext">
            <summary>
            Create the digest signing context.
            </summary>
            <remarks>
            Creates a new digest signing context.
            </remarks>
            <returns>The digest signer.</returns>
            <exception cref="T:System.NotSupportedException">
            The <see cref="P:MimeKit.Cryptography.DkimSignerBase.SignatureAlgorithm"/> is not supported.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.DkimSimpleBodyFilter">
            <summary>
            A filter for the DKIM simple body canonicalization.
            </summary>
            <remarks>
            A filter for the DKIM simple body canonicalization.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSimpleBodyFilter.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DkimSimpleBodyFilter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.DkimSimpleBodyFilter"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSimpleBodyFilter.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer, starting at <paramref name="startIndex"/>.</param>
            <param name="outputIndex">The output index.</param>
            <param name="outputLength">The output length.</param>
            <param name="flush">If set to <see langword="true" />, all internally buffered data should be flushed to the output buffer.</param>
        </member>
        <member name="M:MimeKit.Cryptography.DkimSimpleBodyFilter.Reset">
            <summary>
            Resets the filter.
            </summary>
            <remarks>
            Resets the filter.
            </remarks>
        </member>
        <member name="T:MimeKit.Cryptography.DkimVerifier">
            <summary>
            A DKIM-Signature verifier.
            </summary>
            <remarks>
            Verifies DomainKeys Identified Mail (DKIM) signatures.
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimVerifierExample.cs" />
            </example>
        </member>
        <member name="M:MimeKit.Cryptography.DkimVerifier.#ctor(MimeKit.Cryptography.IDkimPublicKeyLocator)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DkimVerifier"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.DkimVerifier"/>.
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimVerifierExample.cs" />
            </example>
            <param name="publicKeyLocator">The public key locator.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="publicKeyLocator"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimVerifier.Verify(MimeKit.FormatOptions,MimeKit.MimeMessage,MimeKit.Header,System.Threading.CancellationToken)">
            <summary>
            Verify the specified DKIM-Signature header.
            </summary>
            <remarks>
            Verifies the specified DKIM-Signature header.
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimVerifierExample.cs" />
            </example>
            <returns><see langword="true" /> if the DKIM-Signature is valid; otherwise, <see langword="false" />.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message to verify.</param>
            <param name="dkimSignature">The DKIM-Signature header.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="dkimSignature"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="dkimSignature"/> is not a DKIM-Signature header.
            </exception>
            <exception cref="T:System.FormatException">
            The DKIM-Signature header value is malformed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimVerifier.VerifyAsync(MimeKit.FormatOptions,MimeKit.MimeMessage,MimeKit.Header,System.Threading.CancellationToken)">
            <summary>
            Asynchronously verify the specified DKIM-Signature header.
            </summary>
            <remarks>
            Verifies the specified DKIM-Signature header.
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimVerifierExample.cs" />
            </example>
            <returns><see langword="true" /> if the DKIM-Signature is valid; otherwise, <see langword="false" />.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message to verify.</param>
            <param name="dkimSignature">The DKIM-Signature header.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="dkimSignature"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="dkimSignature"/> is not a DKIM-Signature header.
            </exception>
            <exception cref="T:System.FormatException">
            The DKIM-Signature header value is malformed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimVerifier.Verify(MimeKit.MimeMessage,MimeKit.Header,System.Threading.CancellationToken)">
            <summary>
            Verify the specified DKIM-Signature header.
            </summary>
            <remarks>
            Verifies the specified DKIM-Signature header.
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimVerifierExample.cs" />
            </example>
            <returns><see langword="true" /> if the DKIM-Signature is valid; otherwise, <see langword="false" />.</returns>
            <param name="message">The message to verify.</param>
            <param name="dkimSignature">The DKIM-Signature header.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="dkimSignature"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="dkimSignature"/> is not a DKIM-Signature header.
            </exception>
            <exception cref="T:System.FormatException">
            The DKIM-Signature header value is malformed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.DkimVerifier.VerifyAsync(MimeKit.MimeMessage,MimeKit.Header,System.Threading.CancellationToken)">
            <summary>
            Asynchronously verify the specified DKIM-Signature header.
            </summary>
            <remarks>
            Verifies the specified DKIM-Signature header.
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimVerifierExample.cs" />
            </example>
            <returns><see langword="true" /> if the DKIM-Signature is valid; otherwise, <see langword="false" />.</returns>
            <param name="message">The message to verify.</param>
            <param name="dkimSignature">The DKIM-Signature header.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="dkimSignature"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="dkimSignature"/> is not a DKIM-Signature header.
            </exception>
            <exception cref="T:System.FormatException">
            The DKIM-Signature header value is malformed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.DkimVerifierBase">
            <summary>
            A base class for DKIM and ARC verifiers.
            </summary>
            <remarks>
            The base class for <see cref="T:MimeKit.Cryptography.DkimVerifier"/> and <see cref="T:MimeKit.Cryptography.ArcVerifier"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.DkimVerifierBase.#ctor(MimeKit.Cryptography.IDkimPublicKeyLocator)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.DkimVerifierBase"/> class.
            </summary>
            <remarks>
            Initializes the <see cref="T:MimeKit.Cryptography.DkimVerifierBase"/>.
            </remarks>
            <param name="publicKeyLocator">The public key locator.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="publicKeyLocator"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.DkimVerifierBase.PublicKeyLocator">
            <summary>
            Get the public key locator.
            </summary>
            <remarks>
            Gets the public key locator.
            </remarks>
            <value>The public key locator.</value>
        </member>
        <member name="P:MimeKit.Cryptography.DkimVerifierBase.MinimumRsaKeyLength">
            <summary>
            Get or set the minimum allowed RSA key length.
            </summary>
            <remarks>
            <para>Gets the minimum allowed RSA key length.</para>
            <note type="security">The DKIM specifications specify a single signing algorithm, RSA,
            and recommend key sizes of 1024 to 2048 bits (but require verification of 512-bit keys).
            As discussed in US-CERT Vulnerability Note VU#268267, the operational community has
            recognized that shorter keys compromise the effectiveness of DKIM. While 1024-bit
            signatures are common, stronger signatures are not. Widely used DNS configuration
            software places a practical limit on key sizes, because the software only handles a
            single 256-octet string in a TXT record, and RSA keys significantly longer than 1024
            bits don't fit in 256 octets.</note>
            </remarks>
            <value>The minimum allowed RSA key length.</value>
        </member>
        <member name="M:MimeKit.Cryptography.DkimVerifierBase.Enable(MimeKit.Cryptography.DkimSignatureAlgorithm)">
            <summary>
            Enable a DKIM signature algorithm.
            </summary>
            <remarks>
            <para>Enables the specified DKIM signature algorithm.</para>
            <note type="security">Due to the recognized weakness of the SHA-1 hash algorithm
            and the wide availability of the SHA-256 hash algorithm (it has been a required
            part of DKIM since it was originally standardized in 2007), it is recommended
            that <see cref="F:MimeKit.Cryptography.DkimSignatureAlgorithm.RsaSha1"/> NOT be enabled.</note>
            </remarks>
            <param name="algorithm">The DKIM signature algorithm.</param>
        </member>
        <member name="M:MimeKit.Cryptography.DkimVerifierBase.Disable(MimeKit.Cryptography.DkimSignatureAlgorithm)">
            <summary>
            Disable a DKIM signature algorithm.
            </summary>
            <remarks>
            <para>Disables the specified DKIM signature algorithm.</para>
            <note type="security">Due to the recognized weakness of the SHA-1 hash algorithm
            and the wide availability of the SHA-256 hash algorithm (it has been a required
            part of DKIM since it was originally standardized in 2007), it is recommended
            that <see cref="F:MimeKit.Cryptography.DkimSignatureAlgorithm.RsaSha1"/> NOT be enabled.</note>
            </remarks>
            <param name="algorithm">The DKIM signature algorithm.</param>
        </member>
        <member name="M:MimeKit.Cryptography.DkimVerifierBase.IsEnabled(MimeKit.Cryptography.DkimSignatureAlgorithm)">
            <summary>
            Check whether a DKIM signature algorithm is enabled.
            </summary>
            <remarks>
            <para>Determines whether the specified DKIM signature algorithm is enabled.</para>
            <note type="security">Due to the recognized weakness of the SHA-1 hash algorithm
            and the wide availability of the SHA-256 hash algorithm (it has been a required
            part of DKIM since it was originally standardized in 2007), it is recommended
            that <see cref="F:MimeKit.Cryptography.DkimSignatureAlgorithm.RsaSha1"/> NOT be enabled.</note>
            </remarks>
            <returns><see langword="true" /> if the specified DKIM signature algorithm is enabled; otherwise, <see langword="false" />.</returns>
            <param name="algorithm">The DKIM signature algorithm.</param>
        </member>
        <member name="M:MimeKit.Cryptography.DkimVerifierBase.CreateVerifyContext(MimeKit.Cryptography.DkimSignatureAlgorithm,Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
            <summary>
            Create the digest signing context.
            </summary>
            <remarks>
            Creates a new digest signing context that uses the specified algorithm.
            </remarks>
            <param name="algorithm">The DKIM signature algorithm.</param>
            <param name="key">The public key.</param>
            <returns>The digest signer.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.DkimVerifierBase.VerifyBodyHash(MimeKit.FormatOptions,MimeKit.MimeMessage,MimeKit.Cryptography.DkimSignatureAlgorithm,MimeKit.Cryptography.DkimCanonicalizationAlgorithm,System.Int32,System.String)">
            <summary>
            Verify the hash of the message body.
            </summary>
            <remarks>
            Verifies the hash of the message body.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="message">The signed MIME message.</param>
            <param name="signatureAlgorithm">The algorithm used to sign the message.</param>
            <param name="canonicalizationAlgorithm">The algorithm used to canonicalize the message body.</param>
            <param name="maxLength">The max length of the message body to hash or <c>-1</c> to hash the entire message body.</param>
            <param name="bodyHash">The expected message body hash encoded in base64.</param>
            <returns><see langword="true" /> if the calculated body hash matches <paramref name="bodyHash"/>; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.DkimVerifierBase.VerifySignature(MimeKit.FormatOptions,MimeKit.MimeMessage,MimeKit.Header,MimeKit.Cryptography.DkimSignatureAlgorithm,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.String[],MimeKit.Cryptography.DkimCanonicalizationAlgorithm,System.String)">
            <summary>
            Verify the signature of the message headers.
            </summary>
            <remarks>
            Verifies the signature of the message headers.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="message">The signed MIME message.</param>
            <param name="dkimSignature">The DKIM-Signature or ARC-Message-Signature header.</param>
            <param name="signatureAlgorithm">The algorithm used to sign the message headers.</param>
            <param name="key">The public key used to verify the signature.</param>
            <param name="headers">The list of headers that were signed.</param>
            <param name="canonicalizationAlgorithm">The algorithm used to canonicalize the headers.</param>
            <param name="signature">The expected signature of the headers encoded in base64.</param>
            <returns><see langword="true" /> if the calculated signature matches <paramref name="signature"/>; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="T:MimeKit.Cryptography.EncryptionAlgorithm">
            <summary>
            Encryption algorithms supported by S/MIME and OpenPGP.
            </summary>
            <remarks>
            <para>Represents the available encryption algorithms for use with S/MIME and OpenPGP.</para>
            <para>RC-2/40 was required by all S/MIME v2 implementations. However, since the
            mid-to-late 1990's, RC-2/40 has been considered to be extremely weak and starting with
            S/MIME v3.0 (published in 1999), all S/MIME implementations are required to implement
            support for Triple-DES (aka 3DES) and should no longer encrypt using RC-2/40 unless
            explicitly requested to do so by the user.</para>
            <para>These days, most S/MIME implementations support the AES-128 and AES-256
            algorithms which are the recommended algorithms specified in S/MIME v3.2 and
            should be preferred over the use of Triple-DES unless the client capabilities
            of one or more of the recipients is unknown (or only supports Triple-DES).</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.EncryptionAlgorithm.Aes128">
            <summary>
            The AES 128-bit encryption algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.EncryptionAlgorithm.Aes192">
            <summary>
            The AES 192-bit encryption algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.EncryptionAlgorithm.Aes256">
            <summary>
            The AES 256-bit encryption algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.EncryptionAlgorithm.Camellia128">
            <summary>
            The Camellia 128-bit encryption algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.EncryptionAlgorithm.Camellia192">
            <summary>
            The Camellia 192-bit encryption algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.EncryptionAlgorithm.Camellia256">
            <summary>
            The Camellia 256-bit encryption algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.EncryptionAlgorithm.Cast5">
            <summary>
            The Cast-5 128-bit encryption algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.EncryptionAlgorithm.Des">
            <summary>
            The DES 56-bit encryption algorithm.
            </summary>
            <remarks>
            This is extremely weak encryption and should not be used
            without consent from the user.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.EncryptionAlgorithm.TripleDes">
            <summary>
            The Triple-DES encryption algorithm.
            </summary>
            <remarks>
            This is the weakest recommended encryption algorithm for use
            starting with S/MIME v3 and should only be used as a fallback
            if it is unknown what encryption algorithms are supported by
            the recipient's mail client.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.EncryptionAlgorithm.Idea">
            <summary>
            The IDEA 128-bit encryption algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.EncryptionAlgorithm.Blowfish">
            <summary>
            The Blowfish encryption algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.EncryptionAlgorithm.Twofish">
            <summary>
            The Twofish encryption algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.EncryptionAlgorithm.RC240">
            <summary>
            The RC2 40-bit encryption algorithm (S/MIME only).
            </summary>
            <remarks>
            This is extremely weak encryption and should not be used
            without consent from the user.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.EncryptionAlgorithm.RC264">
            <summary>
            The RC2 64-bit encryption algorithm (S/MIME only).
            </summary>
            <remarks>
            This is very weak encryption and should not be used
            without consent from the user.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.EncryptionAlgorithm.RC2128">
            <summary>
            The RC2 128-bit encryption algorithm (S/MIME only).
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.EncryptionAlgorithm.Seed">
            <summary>
            The SEED 128-bit encryption algorithm (S/MIME only).
            </summary>
        </member>
        <member name="T:MimeKit.Cryptography.GnuPGContext">
            <summary>
            An <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> that uses the GnuPG keyrings.
            </summary>
            <remarks>
            An <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> that uses the GnuPG keyrings.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.GnuPGContext"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.GnuPGContext"/> using the default path for the GnuPG home directory.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.GnuPGContext"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.GnuPGContext"/> using the specified path for the GnuPG home directory.
            </remarks>
            <param name="gnupgDir">The path to the GnuPG home directory.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="gnupgDir"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.GnuPGContext.PublicKeyRingPath">
            <summary>
            Get the public keyring path.
            </summary>
            <remarks>
            Gets the public keyring path.
            </remarks>
            <value>The public key ring path.</value>
        </member>
        <member name="P:MimeKit.Cryptography.GnuPGContext.SecretKeyRingPath">
            <summary>
            Get the secret keyring path.
            </summary>
            <remarks>
            Gets the secret keyring path.
            </remarks>
            <value>The secret key ring path.</value>
        </member>
        <member name="P:MimeKit.Cryptography.GnuPGContext.PublicKeyRingBundle">
            <summary>
            Get the public keyring bundle.
            </summary>
            <remarks>
            Gets the public keyring bundle.
            </remarks>
            <value>The public keyring bundle.</value>
        </member>
        <member name="P:MimeKit.Cryptography.GnuPGContext.SecretKeyRingBundle">
            <summary>
            Get the secret keyring bundle.
            </summary>
            <remarks>
            Gets the secret keyring bundle.
            </remarks>
            <value>The secret keyring bundle.</value>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.GetPublicKeyRing(System.Int64,System.Threading.CancellationToken)">
            <summary>
            Get the public keyring that contains the specified key.
            </summary>
            <remarks>
            <para>Gets the public keyring that contains the specified key.</para>
            <note type="note">Implementations should first try to obtain the keyring stored (or cached) locally.
            Failing that, if <see cref="P:MimeKit.Cryptography.OpenPgpContext.AutoKeyRetrieve"/> is enabled, they should use
            <see cref="M:MimeKit.Cryptography.OpenPgpContext.RetrievePublicKeyRing(System.Int64,System.Threading.CancellationToken)"/> to attempt to
            retrieve the keyring from the configured <see cref="P:MimeKit.Cryptography.OpenPgpContext.KeyServer"/>.</note>
            </remarks>
            <param name="keyId">The public key identifier.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The public keyring that contains the specified key or <see langword="null"/> if the keyring could not be found.</returns>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.GetPublicKeyRingAsync(System.Int64,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the public keyring that contains the specified key.
            </summary>
            <remarks>
            <para>Gets the public keyring that contains the specified key.</para>
            <note type="note">Implementations should first try to obtain the keyring stored (or cached) locally.
            Failing that, if <see cref="P:MimeKit.Cryptography.OpenPgpContext.AutoKeyRetrieve"/> is enabled, they should use
            <see cref="M:MimeKit.Cryptography.OpenPgpContext.RetrievePublicKeyRingAsync(System.Int64,System.Threading.CancellationToken)"/> to attempt to
            retrieve the keyring from the configured <see cref="P:MimeKit.Cryptography.OpenPgpContext.KeyServer"/>.</note>
            </remarks>
            <param name="keyId">The public key identifier.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The public keyring that contains the specified key or <see langword="null"/> if the keyring could not be found.</returns>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.EnumeratePublicKeyRings">
            <summary>
            Enumerate all public keyrings.
            </summary>
            <remarks>
            Enumerates all public keyrings.
            </remarks>
            <returns>The list of available public keyrings.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.EnumeratePublicKeys">
            <summary>
            Enumerate all public keys.
            </summary>
            <remarks>
            Enumerates all public keys.
            </remarks>
            <returns>The list of available public keys.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.EnumeratePublicKeyRings(MimeKit.MailboxAddress)">
            <summary>
            Enumerate the public keyrings for a particular mailbox.
            </summary>
            <remarks>
            Enumerates all public keyrings for the specified mailbox.
            </remarks>
            <returns>The public keys.</returns>
            <param name="mailbox">Mailbox.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailbox"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.EnumeratePublicKeys(MimeKit.MailboxAddress)">
            <summary>
            Enumerate the public keys for a particular mailbox.
            </summary>
            <remarks>
            Enumerates all public keys for the specified mailbox.
            </remarks>
            <returns>The public keys.</returns>
            <param name="mailbox">The mailbox address.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailbox"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.EnumerateSecretKeyRings">
            <summary>
            Enumerate all secret keyrings.
            </summary>
            <remarks>
            Enumerates all secret keyrings.
            </remarks>
            <returns>The list of available secret keyrings.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.EnumerateSecretKeys">
            <summary>
            Enumerate all secret keys.
            </summary>
            <remarks>
            Enumerates all secret keys.
            </remarks>
            <returns>The list of available secret keys.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.EnumerateSecretKeyRings(MimeKit.MailboxAddress)">
            <summary>
            Enumerate the secret keyrings for a particular mailbox.
            </summary>
            <remarks>
            Enumerates all secret keyrings for the specified mailbox.
            </remarks>
            <returns>The secret keys.</returns>
            <param name="mailbox">The mailbox address.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailbox"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.EnumerateSecretKeys(MimeKit.MailboxAddress)">
            <summary>
            Enumerate the secret keys for a particular mailbox.
            </summary>
            <remarks>
            Enumerates all secret keys for the specified mailbox.
            </remarks>
            <returns>The public keys.</returns>
            <param name="mailbox">The mailbox address.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailbox"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.GetPublicKey(MimeKit.MailboxAddress)">
            <summary>
            Get the public key associated with the mailbox address.
            </summary>
            <remarks>
            Gets a valid public key associated with the mailbox address that can be used for encryption.
            </remarks>
            <returns>The public encryption key.</returns>
            <param name="mailbox">The mailbox.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailbox"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            The public key for the specified <paramref name="mailbox"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.GetPublicKeys(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken)">
            <summary>
            Get the public keys for the specified mailbox addresses.
            </summary>
            <remarks>
            Gets a list of valid public keys for the specified mailbox addresses that can be used for encryption.
            </remarks>
            <returns>The encryption keys.</returns>
            <param name="mailboxes">The mailboxes.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailboxes"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            A public key for one or more of the <paramref name="mailboxes"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.GetSecretKey(System.Int64,System.Threading.CancellationToken)">
            <summary>
            Get the secret key for a specified key identifier.
            </summary>
            <remarks>
            Gets the secret key for a specified key identifier.
            </remarks>
            <returns>The secret key.</returns>
            <param name="keyId">The key identifier for the desired secret key.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The secret key specified by the <paramref name="keyId"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.GetSigningKey(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Get the signing key associated with the mailbox address.
            </summary>
            <remarks>
            Gets the signing key associated with the mailbox address.
            </remarks>
            <returns>The signing key.</returns>
            <param name="mailbox">The mailbox.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailbox"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            A secret key for the specified <paramref name="mailbox"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.CanSign(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Check whether a particular mailbox address can be used for signing.
            </summary>
            <remarks>
            Checks whether as particular mailbocx address can be used for signing.
            </remarks>
            <returns><see langword="true" /> if the mailbox address can be used for signing; otherwise, <see langword="false" />.</returns>
            <param name="signer">The signer.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.CanEncrypt(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Check whether the cryptography context can encrypt to a particular recipient.
            </summary>
            <remarks>
            Checks whether the cryptography context can be used to encrypt to a particular recipient.
            </remarks>
            <returns><see langword="true" /> if the cryptography context can be used to encrypt to the designated recipient; otherwise, <see langword="false" />.</returns>
            <param name="mailbox">The recipient's mailbox address.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailbox"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.GenerateKeyPair(MimeKit.MailboxAddress,System.String,System.Nullable{System.DateTime},MimeKit.Cryptography.EncryptionAlgorithm,Org.BouncyCastle.Security.SecureRandom)">
            <summary>
            Generate a new key pair.
            </summary>
            <remarks>
            Generates a new RSA key pair.
            </remarks>
            <param name="mailbox">The mailbox to generate the key pair for.</param>
            <param name="password">The password to be set on the secret key.</param>
            <param name="expirationDate">The expiration date for the generated key pair.</param>
            <param name="algorithm">The symmetric key algorithm to use.</param>
            <param name="random">The source of randomness to use when generating the key pair.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="mailbox"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="expirationDate"/> is not a date in the future.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.SignKey(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,MimeKit.Cryptography.DigestAlgorithm,MimeKit.Cryptography.OpenPgpKeyCertification)">
            <summary>
            Sign a public key.
            </summary>
            <remarks>
            <para>Signs a public key using the specified secret key.</para>
            <para>Most OpenPGP implementations use <see cref="F:MimeKit.Cryptography.OpenPgpKeyCertification.GenericCertification"/>
            to make their "key signatures". Some implementations are known to use the other
            certification types, but few differentiate between them.</para>
            </remarks>
            <param name="secretKey">The secret key to use for signing.</param>
            <param name="publicKey">The public key to sign.</param>
            <param name="digestAlgo">The digest algorithm.</param>
            <param name="certification">The certification to give the signed key.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="secretKey"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="publicKey"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.SavePublicKeyRingBundle">
            <summary>
            Saves the public key-ring bundle.
            </summary>
            <remarks>
            <para>Atomically saves the public key-ring bundle to the path specified by <see cref="P:MimeKit.Cryptography.GnuPGContext.PublicKeyRingPath"/>.</para>
            <para>Called by <see cref="M:MimeKit.Cryptography.GnuPGContext.Import(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle,System.Threading.CancellationToken)"/> if any public keys were successfully imported.</para>
            </remarks>
            <exception cref="T:System.IO.IOException">
            An error occured while saving the public key-ring bundle.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.SaveSecretKeyRingBundle">
            <summary>
            Saves the secret key-ring bundle.
            </summary>
            <remarks>
            <para>Atomically saves the secret key-ring bundle to the path specified by <see cref="P:MimeKit.Cryptography.GnuPGContext.SecretKeyRingPath"/>.</para>
            <para>Called by <see cref="M:MimeKit.Cryptography.GnuPGContext.Import(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle,System.Threading.CancellationToken)"/> if any secret keys were successfully imported.</para>
            </remarks>
            <exception cref="T:System.IO.IOException">
            An error occured while saving the secret key-ring bundle.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.Import(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing,System.Threading.CancellationToken)">
            <summary>
            Import a public pgp keyring.
            </summary>
            <remarks>
            Imports a public pgp keyring.
            </remarks>
            <param name="keyring">The public key-ring to import.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keyring"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occured while saving the public key-ring.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.Import(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle,System.Threading.CancellationToken)">
            <summary>
            Import the specified public keyring bundle.
            </summary>
            <remarks>
            Imports the specified public keyring bundle.
            </remarks>
            <param name="bundle">The bundle of public keyrings to import.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="bundle"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occured while saving the public key-ring.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.Import(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing,System.Threading.CancellationToken)">
            <summary>
            Import a secret pgp keyring.
            </summary>
            <remarks>
            Imports a secret pgp keyring.
            </remarks>
            <param name="keyring">The secret key-ring to import.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keyring"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occured while saving the secret key-ring.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.Import(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle,System.Threading.CancellationToken)">
            <summary>
            Import a secret pgp keyring bundle.
            </summary>
            <remarks>
            Imports a secret pgp keyring bundle.
            </remarks>
            <param name="bundle">The bundle of secret keyrings to import.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="bundle"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occured while saving the secret key-ring bundle.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.Export(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken)">
            <summary>
            Export the public keys for the specified mailboxes.
            </summary>
            <remarks>
            Exports the public keys for the specified mailboxes.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance containing the exported public keys.</returns>
            <param name="mailboxes">The mailboxes associated with the public keys to export.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailboxes"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="mailboxes"/> was empty.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.ExportAsync(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken)">
            <summary>
            Asynchronously export the public keys for the specified mailboxes.
            </summary>
            <remarks>
            Asynchronously exports the public keys for the specified mailboxes.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance containing the exported public keys.</returns>
            <param name="mailboxes">The mailboxes associated with the public keys to export.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailboxes"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="mailboxes"/> was empty.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.Export(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Export the public keyrings for the specified mailboxes.
            </summary>
            <remarks>
            Exports the public keyrings for the specified mailboxes.
            </remarks>
            <param name="mailboxes">The mailboxes.</param>
            <param name="stream">The output stream.</param>
            <param name="armor"><see langword="true" /> if the output should be armored; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="mailboxes"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="mailboxes"/> was empty.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Exporting keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.ExportAsync(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously export the public keyrings for the specified mailboxes.
            </summary>
            <remarks>
            Asynchronously exports the public keyrings for the specified mailboxes.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="mailboxes">The mailboxes.</param>
            <param name="stream">The output stream.</param>
            <param name="armor"><see langword="true" /> if the output should be armored; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="mailboxes"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="mailboxes"/> was empty.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Exporting keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.Delete(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing)">
            <summary>
            Delete a public pgp keyring.
            </summary>
            <remarks>
            Deletes a public pgp keyring.
            </remarks>
            <param name="keyring">The pgp keyring.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keyring"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.GnuPGContext.Delete(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing)">
            <summary>
            Delete a secret pgp keyring.
            </summary>
            <remarks>
            Deletes a secret pgp keyring.
            </remarks>
            <param name="keyring">The pgp keyring.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keyring"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.IApplicationPgpEncrypted">
            <summary>
            An interface for a MIME part with a Content-Type of application/pgp-encrypted.
            </summary>
            <remarks>
            An application/pgp-encrypted part will typically be the first child of
            a <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> part and contains only a Version
            header.
            </remarks>
        </member>
        <member name="T:MimeKit.Cryptography.IApplicationPgpSignature">
            <summary>
            An interface for a MIME part with a Content-Type of application/pgp-signature.
            </summary>
            <remarks>
            <para>An application/pgp-signature part contains detatched pgp signature data
            and is typically contained within a <see cref="T:MimeKit.Cryptography.MultipartSigned"/> part.</para>
            <para>To verify the signature, use the one of the
            <a href="Overload_MimeKit_Cryptography_MultipartSigned_Verify.htm">Verify</a>
            methods on the parent multipart/signed part.</para>
            </remarks>
        </member>
        <member name="T:MimeKit.Cryptography.IApplicationPkcs7Mime">
            <summary>
            An interface for an S/MIME part with a Content-Type of application/pkcs7-mime.
            </summary>
            <remarks>
            An application/pkcs7-mime is an S/MIME part and may contain encrypted,
            signed or compressed data (or any combination of the above).
            </remarks>
        </member>
        <member name="P:MimeKit.Cryptography.IApplicationPkcs7Mime.SecureMimeType">
            <summary>
            Gets the value of the "smime-type" parameter.
            </summary>
            <remarks>
            Gets the value of the "smime-type" parameter.
            </remarks>
            <value>The value of the "smime-type" parameter.</value>
        </member>
        <member name="M:MimeKit.Cryptography.IApplicationPkcs7Mime.Decompress(MimeKit.Cryptography.SecureMimeContext,System.Threading.CancellationToken)">
            <summary>
            Decompress the compressed-data.
            </summary>
            <remarks>
            Decompresses the compressed-data using the specified <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The decompressed <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="ctx">The S/MIME context to use for decompressing.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "compressed-data".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.IApplicationPkcs7Mime.DecompressAsync(MimeKit.Cryptography.SecureMimeContext,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decompress the compressed-data.
            </summary>
            <remarks>
            Asynchronously decompresses the compressed-data using the specified <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The decompressed <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="ctx">The S/MIME context to use for decompressing.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "compressed-data".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.IApplicationPkcs7Mime.Decompress(System.Threading.CancellationToken)">
            <summary>
            Decompress the compressed-data.
            </summary>
            <remarks>
            Decompresses the compressed-data using the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The decompressed <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "compressed-data".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.IApplicationPkcs7Mime.DecompressAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously decompress the compressed-data.
            </summary>
            <remarks>
            Asynchronously decompresses the compressed-data using the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The decompressed <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "compressed-data".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.IApplicationPkcs7Mime.Decrypt(MimeKit.Cryptography.SecureMimeContext,System.Threading.CancellationToken)">
            <summary>
            Decrypt the enveloped-data.
            </summary>
            <remarks>
            Decrypts the enveloped-data using the specified <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="ctx">The S/MIME context to use for decrypting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "enveloped-data".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.IApplicationPkcs7Mime.DecryptAsync(MimeKit.Cryptography.SecureMimeContext,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decrypt the enveloped-data.
            </summary>
            <remarks>
            Asynchronously decrypts the enveloped-data using the specified <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="ctx">The S/MIME context to use for decrypting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "enveloped-data".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.IApplicationPkcs7Mime.Decrypt(System.Threading.CancellationToken)">
            <summary>
            Decrypt the enveloped-data.
            </summary>
            <remarks>
            Decrypts the enveloped-data using the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "certs-only".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.IApplicationPkcs7Mime.DecryptAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously decrypt the enveloped-data.
            </summary>
            <remarks>
            Asynchronously decrypts the enveloped-data using the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "certs-only".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.IApplicationPkcs7Mime.Import(MimeKit.Cryptography.SecureMimeContext,System.Threading.CancellationToken)">
            <summary>
            Import the certificates contained in the application/pkcs7-mime content.
            </summary>
            <remarks>
            Imports the certificates contained in the application/pkcs7-mime content.
            </remarks>
            <param name="ctx">The S/MIME context to import certificates into.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "certs-only".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.IApplicationPkcs7Mime.ImportAsync(MimeKit.Cryptography.SecureMimeContext,System.Threading.CancellationToken)">
            <summary>
            Asynchronously import the certificates contained in the application/pkcs7-mime content.
            </summary>
            <remarks>
            Asynchronously imports the certificates contained in the application/pkcs7-mime content.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="ctx">The S/MIME context to import certificates into.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "certs-only".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.IApplicationPkcs7Mime.Verify(MimeKit.Cryptography.SecureMimeContext,MimeKit.MimeEntity@,System.Threading.CancellationToken)">
            <summary>
            Verify the signed-data and return the unencapsulated <see cref="T:MimeKit.MimeEntity"/>.
            </summary>
            <remarks>
            Verifies the signed-data and returns the unencapsulated <see cref="T:MimeKit.MimeEntity"/>.
            </remarks>
            <returns>The list of digital signatures.</returns>
            <param name="ctx">The S/MIME context to use for verifying the signature.</param>
            <param name="entity">The unencapsulated entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "signed-data".
            </exception>
            <exception cref="T:System.FormatException">
            The extracted content could not be parsed as a MIME entity.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.IApplicationPkcs7Mime.Verify(MimeKit.MimeEntity@,System.Threading.CancellationToken)">
            <summary>
            Verifies the signed-data and returns the unencapsulated <see cref="T:MimeKit.MimeEntity"/>.
            </summary>
            <remarks>
            Verifies the signed-data using the default <see cref="T:MimeKit.Cryptography.SecureMimeContext"/> and returns the
            unencapsulated <see cref="T:MimeKit.MimeEntity"/>.
            </remarks>
            <returns>The list of digital signatures.</returns>
            <param name="entity">The unencapsulated entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.InvalidOperationException">
            The "smime-type" parameter on the Content-Type header is not "signed-data".
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IApplicationPkcs7Mime"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.IApplicationPkcs7Signature">
            <summary>
            An interface for an S/MIME part with a Content-Type of application/pkcs7-signature.
            </summary>
            <remarks>
            <para>An application/pkcs7-signature part contains detatched pkcs7 signature data
            and is typically contained within a <see cref="T:MimeKit.Cryptography.MultipartSigned"/> part.</para>
            <para>To verify the signature, use one of the
            <a href="Overload_MimeKit_Cryptography_MultipartSigned_Verify.htm">Verify</a>
            methods on the parent multipart/signed part.</para>
            </remarks>
        </member>
        <member name="T:MimeKit.Cryptography.ICryptographyContext">
            <summary>
            An abstract cryptography context interface.
            </summary>
            <remarks>
            Generally speaking, applications should not use a <see cref="T:MimeKit.Cryptography.ICryptographyContext"/>
            directly, but rather via higher level APIs such as <see cref="T:MimeKit.Cryptography.MultipartSigned"/>,
            <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> and <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/>.
            </remarks>
        </member>
        <member name="P:MimeKit.Cryptography.ICryptographyContext.PrepareBeforeSigning">
            <summary>
            Get or set whether a <see cref="T:MimeKit.MimeEntity"/> should be prepared before signing.
            </summary>
            <remarks>
            Gets or sets whether a <see cref="T:MimeKit.MimeEntity"/> should be prepared before signing.
            </remarks>
            <value><see langword="true" /> if a MimeEntity should be prepared before signing; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Cryptography.ICryptographyContext.SignatureProtocol">
            <summary>
            Get the signature protocol.
            </summary>
            <remarks>
            <para>The signature protocol is used by <see cref="T:MimeKit.Cryptography.MultipartSigned"/>
            in order to determine what the protocol parameter of the Content-Type
            header should be.</para>
            </remarks>
            <value>The signature protocol.</value>
        </member>
        <member name="P:MimeKit.Cryptography.ICryptographyContext.EncryptionProtocol">
            <summary>
            Get the encryption protocol.
            </summary>
            <remarks>
            <para>The encryption protocol is used by <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/>
            in order to determine what the protocol parameter of the Content-Type
            header should be.</para>
            </remarks>
            <value>The encryption protocol.</value>
        </member>
        <member name="P:MimeKit.Cryptography.ICryptographyContext.KeyExchangeProtocol">
            <summary>
            Get the key exchange protocol.
            </summary>
            <remarks>
            <para>The key exchange protocol is really only used for OpenPGP.</para>
            </remarks>
            <value>The key exchange protocol.</value>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.Supports(System.String)">
            <summary>
            Check whether the specified protocol is supported by the <see cref="T:MimeKit.Cryptography.ICryptographyContext"/>.
            </summary>
            <remarks>
            Used in order to make sure that the protocol parameter value specified in either a multipart/signed
            or multipart/encrypted part is supported by the supplied cryptography context.
            </remarks>
            <returns><see langword="true" /> if the protocol is supported; otherwise, <see langword="false" /></returns>
            <param name="protocol">The protocol.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="protocol"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.ICryptographyContext.EnabledDigestAlgorithms">
            <summary>
            Get the enabled digest algorithms in ranked order.
            </summary>
            <remarks>
            Gets the enabled digest algorithms in ranked order.
            </remarks>
            <value>The enabled encryption algorithms.</value>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.Enable(MimeKit.Cryptography.DigestAlgorithm)">
            <summary>
            Enable the digest algorithm.
            </summary>
            <remarks>
            Enables the digest algorithm.
            </remarks>
            <param name="algorithm">The digest algorithm.</param>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.Disable(MimeKit.Cryptography.DigestAlgorithm)">
            <summary>
            Disable the digest algorithm.
            </summary>
            <remarks>
            Disables the digest algorithm.
            </remarks>
            <param name="algorithm">The digest algorithm.</param>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.GetDigestAlgorithm(System.String)">
            <summary>
            Get the digest algorithm from the micalg parameter value in a multipart/signed part.
            </summary>
            <remarks>
            Maps the micalg parameter value string back to the appropriate <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/>.
            </remarks>
            <returns>The digest algorithm.</returns>
            <param name="micalg">The micalg parameter value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="micalg"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.GetDigestAlgorithmName(MimeKit.Cryptography.DigestAlgorithm)">
            <summary>
            Get the string name of the digest algorithm for use with the micalg parameter of a multipart/signed part.
            </summary>
            <remarks>
            Maps the <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> to the appropriate string identifier
            as used by the micalg parameter value of a multipart/signed Content-Type
            header.
            </remarks>
            <returns>The micalg value.</returns>
            <param name="micalg">The digest algorithm.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="micalg"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.IsEnabled(MimeKit.Cryptography.DigestAlgorithm)">
            <summary>
            Check whether the specified digest algorithm is enabled.
            </summary>
            <remarks>
            Determines whether the specified digest algorithm is enabled.
            </remarks>
            <returns><see langword="true" /> if the specified digest algorithm is enabled; otherwise, <see langword="false" />.</returns>
            <param name="algorithm">The digest algorithm.</param>
        </member>
        <member name="P:MimeKit.Cryptography.ICryptographyContext.EnabledEncryptionAlgorithms">
            <summary>
            Get the enabled encryption algorithms in ranked order.
            </summary>
            <remarks>
            Gets the enabled encryption algorithms in ranked order.
            </remarks>
            <value>The enabled encryption algorithms.</value>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.Enable(MimeKit.Cryptography.EncryptionAlgorithm)">
            <summary>
            Enable the encryption algorithm.
            </summary>
            <remarks>
            Enables the encryption algorithm.
            </remarks>
            <param name="algorithm">The encryption algorithm.</param>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.Disable(MimeKit.Cryptography.EncryptionAlgorithm)">
            <summary>
            Disable the encryption algorithm.
            </summary>
            <remarks>
            Disables the encryption algorithm.
            </remarks>
            <param name="algorithm">The encryption algorithm.</param>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.IsEnabled(MimeKit.Cryptography.EncryptionAlgorithm)">
            <summary>
            Check whether the specified encryption algorithm is enabled.
            </summary>
            <remarks>
            Determines whether the specified encryption algorithm is enabled.
            </remarks>
            <returns><see langword="true" /> if the specified encryption algorithm is enabled; otherwise, <see langword="false" />.</returns>
            <param name="algorithm">The encryption algorithm.</param>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.CanEncrypt(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Check whether the cryptography context can encrypt to a particular recipient.
            </summary>
            <remarks>
            Checks whether the cryptography context can be used to encrypt to a particular recipient.
            </remarks>
            <returns><see langword="true" /> if the cryptography context can be used to encrypt to the designated recipient; otherwise, <see langword="false" />.</returns>
            <param name="mailbox">The recipient's mailbox address.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailbox"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.CanEncryptAsync(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Asynchronously check whether the cryptography context can encrypt to a particular recipient.
            </summary>
            <remarks>
            Checks whether the cryptography context can be used to encrypt to a particular recipient.
            </remarks>
            <returns><see langword="true" /> if the cryptography context can be used to encrypt to the designated recipient; otherwise, <see langword="false" />.</returns>
            <param name="mailbox">The recipient's mailbox address.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailbox"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.Encrypt(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance containing the encrypted data.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.EncryptAsync(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance containing the encrypted data.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.Decrypt(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Decrypt the specified encryptedData.
            </summary>
            <remarks>
            Decrypts the specified encryptedData.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="encryptedData">The encrypted data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="encryptedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.DecryptAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decrypt the specified encryptedData.
            </summary>
            <remarks>
            Asynchronously decrypts the specified encryptedData.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="encryptedData">The encrypted data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="encryptedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.CanSign(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Check whether a particular mailbox address can be used for signing.
            </summary>
            <remarks>
            Checks whether as particular mailbocx address can be used for signing.
            </remarks>
            <returns><see langword="true" /> if the mailbox address can be used for signing; otherwise, <see langword="false" />.</returns>
            <param name="signer">The signer.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.CanSignAsync(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Asynchronously check whether a particular mailbox address can be used for signing.
            </summary>
            <remarks>
            Checks whether as particular mailbocx address can be used for signing.
            </remarks>
            <returns><see langword="true" /> if the mailbox address can be used for signing; otherwise, <see langword="false" />.</returns>
            <param name="signer">The signer.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.Sign(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign the content using the specified signer and digest algorithm.
            </summary>
            <remarks>
            Signs the content using the specified signer and digest algorithm.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.SignAsync(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign the content using the specified signer and digest algorithm.
            </summary>
            <remarks>
            Asynchronously signs the content using the specified signer and digest algorithm.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.Verify(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Verify the specified content using the detached signatureData.
            </summary>
            <remarks>
            Verifies the specified content using the detached signatureData.
            </remarks>
            <returns>A list of digital signatures.</returns>
            <param name="content">The content.</param>
            <param name="signatureData">The signature data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signatureData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.VerifyAsync(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously verify the specified content using the detached signatureData.
            </summary>
            <remarks>
            Verifies the specified content using the detached signatureData.
            </remarks>
            <returns>A list of digital signatures.</returns>
            <param name="content">The content.</param>
            <param name="signatureData">The signature data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signatureData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.Import(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Imports the public certificates or keys from the specified stream.
            </summary>
            <remarks>
            Imports the public certificates or keys from the specified stream.
            </remarks>
            <param name="stream">The raw certificate or key data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Importing keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.ImportAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously imports the public certificates or keys from the specified stream.
            </summary>
            <remarks>
            Asynchronously imports the public certificates or keys from the specified stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="stream">The raw certificate or key data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Importing keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.Export(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken)">
            <summary>
            Exports the keys for the specified mailboxes.
            </summary>
            <remarks>
            Exports the keys for the specified mailboxes.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance containing the exported keys.</returns>
            <param name="mailboxes">The mailboxes.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailboxes"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="mailboxes"/> was empty.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Exporting keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ICryptographyContext.ExportAsync(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken)">
            <summary>
            Asynchronously exports the keys for the specified mailboxes.
            </summary>
            <remarks>
            Asynchronously exports the keys for the specified mailboxes.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance containing the exported keys.</returns>
            <param name="mailboxes">The mailboxes.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailboxes"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="mailboxes"/> was empty.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Exporting keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.IDigitalCertificate">
            <summary>
            An interface for a digital certificate.
            </summary>
            <remarks>
            An interface for a digital certificate.
            </remarks>
        </member>
        <member name="P:MimeKit.Cryptography.IDigitalCertificate.PublicKeyAlgorithm">
            <summary>
            Gets the public key algorithm supported by the certificate.
            </summary>
            <remarks>
            Gets the public key algorithm supported by the certificate.
            </remarks>
            <value>The public key algorithm.</value>
        </member>
        <member name="P:MimeKit.Cryptography.IDigitalCertificate.CreationDate">
            <summary>
            Gets the date that the certificate was created.
            </summary>
            <remarks>
            Gets the date that the certificate was created.
            </remarks>
            <value>The creation date.</value>
        </member>
        <member name="P:MimeKit.Cryptography.IDigitalCertificate.ExpirationDate">
            <summary>
            Gets the expiration date of the certificate.
            </summary>
            <remarks>
            Gets the expiration date of the certificate.
            </remarks>
            <value>The expiration date.</value>
        </member>
        <member name="P:MimeKit.Cryptography.IDigitalCertificate.Fingerprint">
            <summary>
            Gets the fingerprint of the certificate.
            </summary>
            <remarks>
            Gets the fingerprint of the certificate.
            </remarks>
            <value>The fingerprint.</value>
        </member>
        <member name="P:MimeKit.Cryptography.IDigitalCertificate.Email">
            <summary>
            Gets the email address of the owner of the certificate.
            </summary>
            <remarks>
            Gets the email address of the owner of the certificate.
            </remarks>
            <value>The email address.</value>
        </member>
        <member name="P:MimeKit.Cryptography.IDigitalCertificate.Name">
            <summary>
            Gets the name of the owner of the certificate.
            </summary>
            <remarks>
            Gets the name of the owner of the certificate.
            </remarks>
            <value>The name of the owner.</value>
        </member>
        <member name="T:MimeKit.Cryptography.IDigitalSignature">
            <summary>
            An interface for a digital signature.
            </summary>
            <remarks>
            An interface for a digital signature.
            </remarks>
        </member>
        <member name="P:MimeKit.Cryptography.IDigitalSignature.SignerCertificate">
            <summary>
            Gets certificate used by the signer.
            </summary>
            <remarks>
            Gets certificate used by the signer.
            </remarks>
            <value>The signer's certificate.</value>
        </member>
        <member name="P:MimeKit.Cryptography.IDigitalSignature.PublicKeyAlgorithm">
            <summary>
            Gets the public key algorithm used for the signature.
            </summary>
            <remarks>
            Gets the public key algorithm used for the signature.
            </remarks>
            <value>The public key algorithm.</value>
        </member>
        <member name="P:MimeKit.Cryptography.IDigitalSignature.DigestAlgorithm">
            <summary>
            Gets the digest algorithm used for the signature.
            </summary>
            <remarks>
            Gets the digest algorithm used for the signature.
            </remarks>
            <value>The digest algorithm.</value>
        </member>
        <member name="P:MimeKit.Cryptography.IDigitalSignature.CreationDate">
            <summary>
            Gets the creation date of the digital signature.
            </summary>
            <remarks>
            Gets the creation date of the digital signature.
            </remarks>
            <value>The creation date.</value>
        </member>
        <member name="M:MimeKit.Cryptography.IDigitalSignature.Verify">
            <summary>
            Verifies the digital signature.
            </summary>
            <remarks>
            Verifies the digital signature.
            </remarks>
            <returns><see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
            <exception cref="T:MimeKit.Cryptography.DigitalSignatureVerifyException">
            An error verifying the signature has occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.IDigitalSignature.Verify(System.Boolean)">
            <summary>
            Verifies the digital signature.
            </summary>
            <remarks>
            Verifies the digital signature.
            </remarks>
            <param name="verifySignatureOnly"><see langword="true" /> if only the signature itself should be verified; otherwise, both the signature and the certificate chain are validated.</param>
            <returns><see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
            <exception cref="T:MimeKit.Cryptography.DigitalSignatureVerifyException">
            An error verifying the signature has occurred.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.IDkimPublicKeyLocator">
            <summary>
            An interface for a service which locates and retrieves DKIM public keys (probably via DNS).
            </summary>
            <remarks>
            <para>An interface for a service which locates and retrieves DKIM public keys (probably via DNS).</para>
            <para>Since MimeKit itself does not implement DNS, it is up to the client to implement public key lookups
            via DNS.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimVerifierExample.cs" />
            </example>
            <example>
            <code language="c#" source="Examples\ArcVerifierExample.cs" />
            </example>
            <seealso cref="T:MimeKit.Cryptography.DkimPublicKeyLocatorBase"/>
            <seealso cref="T:MimeKit.Cryptography.ArcVerifier"/>
            <seealso cref="T:MimeKit.Cryptography.DkimVerifier"/>
        </member>
        <member name="M:MimeKit.Cryptography.IDkimPublicKeyLocator.LocatePublicKey(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Locate and retrieve the public key for the given domain and selector.
            </summary>
            <remarks>
            <para>Locates and retrieves the public key for the given domain and selector.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimVerifierExample.cs" />
            </example>
            <example>
            <code language="c#" source="Examples\ArcVerifierExample.cs" />
            </example>
            <seealso cref="T:MimeKit.Cryptography.ArcVerifier"/>
            <seealso cref="T:MimeKit.Cryptography.DkimVerifier"/>
            <returns>The public key.</returns>
            <param name="methods">A colon-separated list of query methods used to retrieve the public key. The default is <c>"dns/txt"</c>.</param>
            <param name="domain">The domain.</param>
            <param name="selector">The selector.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.Cryptography.IDkimPublicKeyLocator.LocatePublicKeyAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously locate and retrieve the public key for the given domain and selector.
            </summary>
            <remarks>
            <para>Locates and retrieves the public key for the given domain and selector.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\DkimVerifierExample.cs" />
            </example>
            <example>
            <code language="c#" source="Examples\ArcVerifierExample.cs" />
            </example>
            <seealso cref="T:MimeKit.Cryptography.ArcVerifier"/>
            <seealso cref="T:MimeKit.Cryptography.DkimVerifier"/>
            <returns>The public key.</returns>
            <param name="methods">A colon-separated list of query methods used to retrieve the public key. The default is <c>"dns/txt"</c>.</param>
            <param name="domain">The domain.</param>
            <param name="selector">The selector.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="T:MimeKit.Cryptography.IMultipartEncrypted">
            <summary>
            An interface for a multipart MIME part with a ContentType of multipart/encrypted containing an encrypted MIME part.
            </summary>
            <remarks>
            This mime-type is common when dealing with PGP/MIME but is not used for S/MIME.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.IMultipartEncrypted.Decrypt(MimeKit.Cryptography.OpenPgpContext,MimeKit.Cryptography.DigitalSignatureCollection@,System.Threading.CancellationToken)">
            <summary>
            Decrypts the <see cref="T:MimeKit.Cryptography.IMultipartEncrypted"/> part.
            </summary>
            <remarks>
            Decrypts the <see cref="T:MimeKit.Cryptography.IMultipartEncrypted"/> and extracts any digital signatures in cases
            where the content was also signed.
            </remarks>
            <returns>The decrypted entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for decrypting.</param>
            <param name="signatures">A list of digital signatures if the data was both signed and encrypted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.FormatException">
            <para>The <c>protocol</c> parameter was not specified.</para>
            <para>-or-</para>
            <para>The multipart is malformed in some way.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            The provided <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> does not support the protocol parameter.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found to decrypt the encrypted data.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IMultipartEncrypted"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was cancelled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.IMultipartEncrypted.Decrypt(MimeKit.Cryptography.OpenPgpContext,System.Threading.CancellationToken)">
            <summary>
            Decrypts the <see cref="T:MimeKit.Cryptography.IMultipartEncrypted"/> part.
            </summary>
            <remarks>
            Decrypts the <see cref="T:MimeKit.Cryptography.IMultipartEncrypted"/> part.
            </remarks>
            <returns>The decrypted entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for decrypting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.FormatException">
            <para>The <c>protocol</c> parameter was not specified.</para>
            <para>-or-</para>
            <para>The multipart is malformed in some way.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            The provided <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> does not support the protocol parameter.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found to decrypt the encrypted data.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IMultipartEncrypted"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was cancelled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.IMultipartEncrypted.Decrypt(MimeKit.Cryptography.DigitalSignatureCollection@,System.Threading.CancellationToken)">
            <summary>
            Decrypts the <see cref="T:MimeKit.Cryptography.IMultipartEncrypted"/> part.
            </summary>
            <remarks>
            Decrypts the <see cref="T:MimeKit.Cryptography.IMultipartEncrypted"/> and extracts any digital signatures in cases
            where the content was also signed.
            </remarks>
            <returns>The decrypted entity.</returns>
            <param name="signatures">A list of digital signatures if the data was both signed and encrypted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.FormatException">
            <para>The <c>protocol</c> parameter was not specified.</para>
            <para>-or-</para>
            <para>The multipart is malformed in some way.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            A suitable <see cref="T:MimeKit.Cryptography.CryptographyContext"/> for
            decrypting could not be found.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found to decrypt the encrypted data.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IMultipartEncrypted"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was cancelled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.IMultipartEncrypted.Decrypt(System.Threading.CancellationToken)">
            <summary>
            Decrypts the <see cref="T:MimeKit.Cryptography.IMultipartEncrypted"/> part.
            </summary>
            <remarks>
            Decrypts the <see cref="T:MimeKit.Cryptography.IMultipartEncrypted"/> part.
            </remarks>
            <returns>The decrypted entity.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.FormatException">
            <para>The <c>protocol</c> parameter was not specified.</para>
            <para>-or-</para>
            <para>The multipart is malformed in some way.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            A suitable <see cref="T:MimeKit.Cryptography.CryptographyContext"/> for
            decrypting could not be found.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found to decrypt the encrypted data.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IMultipartEncrypted"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was cancelled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.IMultipartSigned">
            <summary>
            An interface for a signed multipart, as used by both S/MIME and PGP/MIME protocols.
            </summary>
            <remarks>
            The first child of a multipart/signed is the content while the second child
            is the detached signature data. Any other children are not defined and could
            be anything.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.IMultipartSigned.Verify(MimeKit.Cryptography.CryptographyContext,System.Threading.CancellationToken)">
            <summary>
            Verify the multipart/signed part.
            </summary>
            <remarks>
            Verifies the multipart/signed part using the supplied cryptography context.
            </remarks>
            <returns>A signer info collection.</returns>
            <param name="ctx">The cryptography context to use for verifying the signature.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.FormatException">
            The multipart is malformed in some way.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="ctx"/> does not support verifying the signature part.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IMultipartSigned"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.IMultipartSigned.VerifyAsync(MimeKit.Cryptography.CryptographyContext,System.Threading.CancellationToken)">
            <summary>
            Verify the multipart/signed part.
            </summary>
            <remarks>
            Verifies the multipart/signed part using the supplied cryptography context.
            </remarks>
            <returns>A signer info collection.</returns>
            <param name="ctx">The cryptography context to use for verifying the signature.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.FormatException">
            The multipart is malformed in some way.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="ctx"/> does not support verifying the signature part.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IMultipartSigned"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.IMultipartSigned.Verify(System.Threading.CancellationToken)">
            <summary>
            Verify the multipart/signed part.
            </summary>
            <remarks>
            Verifies the multipart/signed part using the default cryptography context.
            </remarks>
            <returns>A signer info collection.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.FormatException">
            <para>The <c>protocol</c> parameter was not specified.</para>
            <para>-or-</para>
            <para>The multipart is malformed in some way.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            A cryptography context suitable for verifying the signature could not be found.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IMultipartSigned"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.IMultipartSigned.VerifyAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously verify the multipart/signed part.
            </summary>
            <remarks>
            Verifies the multipart/signed part using the default cryptography context.
            </remarks>
            <returns>A signer info collection.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.FormatException">
            <para>The <c>protocol</c> parameter was not specified.</para>
            <para>-or-</para>
            <para>The multipart is malformed in some way.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            A cryptography context suitable for verifying the signature could not be found.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.IMultipartSigned"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.ISecureMimeContext">
            <summary>
            An interface for a Secure MIME (S/MIME) cryptography context.
            </summary>
            <remarks>
            Generally speaking, applications should not use a <see cref="T:MimeKit.Cryptography.ISecureMimeContext"/>
            directly, but rather via higher level APIs such as <see cref="T:MimeKit.Cryptography.MultipartSigned"/>
            and <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.Compress(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Compress the specified stream.
            </summary>
            <remarks>
            Compresses the specified stream.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the compressed content.</returns>
            <param name="stream">The stream to compress.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.CompressAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously compress the specified stream.
            </summary>
            <remarks>
            Asynchronously compresses the specified stream.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the compressed content.</returns>
            <param name="stream">The stream to compress.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.Decompress(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Decompress the specified stream.
            </summary>
            <remarks>
            Decompresses the specified stream.
            </remarks>
            <returns>The decompressed mime part.</returns>
            <param name="stream">The stream to decompress.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.DecompressAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decompress the specified stream.
            </summary>
            <remarks>
            Asynchronously decompresses the specified stream.
            </remarks>
            <returns>The decompressed mime part.</returns>
            <param name="stream">The stream to decompress.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.DecompressTo(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Decompress the specified stream to an output stream.
            </summary>
            <remarks>
            Decompresses the specified stream to an output stream.
            </remarks>
            <param name="stream">The stream to decompress.</param>
            <param name="output">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.DecompressToAsync(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decompress the specified stream to an output stream.
            </summary>
            <remarks>
            Asynchronously decompresses the specified stream to an output stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="stream">The stream to decompress.</param>
            <param name="output">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.Encrypt(MimeKit.Cryptography.CmsRecipientCollection,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Encrypts the specified content for the specified recipients.
            </summary>
            <remarks>
            Encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the encrypted content.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.EncryptAsync(MimeKit.Cryptography.CmsRecipientCollection,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously encrypts the specified content for the specified recipients.
            </summary>
            <remarks>
            Asynchronously encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the encrypted content.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.DecryptTo(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Decrypts the specified encryptedData to an output stream.
            </summary>
            <remarks>
            Decrypts the specified encryptedData to an output stream.
            </remarks>
            <param name="encryptedData">The encrypted data.</param>
            <param name="decryptedData">The stream to write the decrypted data to.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encryptedData"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="decryptedData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.DecryptToAsync(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decrypts the specified encryptedData to an output stream.
            </summary>
            <remarks>
            Asynchronously decrypts the specified encryptedData to an output stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="encryptedData">The encrypted data.</param>
            <param name="decryptedData">The stream to write the decrypted data to.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encryptedData"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="decryptedData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.EncapsulatedSign(MimeKit.Cryptography.CmsSigner,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign and encapsulate the content using the specified signer.
            </summary>
            <remarks>
            Signs and encapsulates the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.EncapsulatedSignAsync(MimeKit.Cryptography.CmsSigner,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign and encapsulate the content using the specified signer.
            </summary>
            <remarks>
            Asynchronously signs and encapsulates the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.EncapsulatedSign(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign and encapsulate the content using the specified signer and digest algorithm.
            </summary>
            <remarks>
            Signs and encapsulates the content using the specified signer and digest algorithm.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.EncapsulatedSignAsync(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign and encapsulate the content using the specified signer and digest algorithm.
            </summary>
            <remarks>
            Asynchronously signs and encapsulates the content using the specified signer and digest algorithm.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.Sign(MimeKit.Cryptography.CmsSigner,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign the content using the specified signer.
            </summary>
            <remarks>
            Signs the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Signature"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.SignAsync(MimeKit.Cryptography.CmsSigner,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign the content using the specified signer.
            </summary>
            <remarks>
            Asynchronously signs the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Signature"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.Verify(System.IO.Stream,MimeKit.MimeEntity@,System.Threading.CancellationToken)">
            <summary>
            Verify the digital signatures of the specified signed data and extract the original content.
            </summary>
            <remarks>
            Verifies the digital signatures of the specified signed data and extracts the original content.
            </remarks>
            <returns>The list of digital signatures.</returns>
            <param name="signedData">The signed data.</param>
            <param name="entity">The extracted MIME entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.FormatException">
            The extracted content could not be parsed as a MIME entity.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.Verify(System.IO.Stream,MimeKit.Cryptography.DigitalSignatureCollection@,System.Threading.CancellationToken)">
            <summary>
            Verify the digital signatures of the specified signed data and extract the original content.
            </summary>
            <remarks>
            Verifies the digital signatures of the specified signed data and extracts the original content.
            </remarks>
            <returns>The extracted content stream.</returns>
            <param name="signedData">The signed data.</param>
            <param name="signatures">The digital signatures.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.Import(System.IO.Stream,System.String,System.Threading.CancellationToken)">
            <summary>
            Imports certificates and keys from a pkcs12-encoded stream.
            </summary>
            <remarks>
            Imports certificates and keys from a pkcs12-encoded stream.
            </remarks>
            <param name="stream">The raw certificate and key data.</param>
            <param name="password">The password to unlock the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            Importing keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.ImportAsync(System.IO.Stream,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously imports certificates and keys from a pkcs12-encoded stream.
            </summary>
            <remarks>
            Asynchronously imports certificates and keys from a pkcs12-encoded stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="stream">The raw certificate and key data.</param>
            <param name="password">The password to unlock the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            Importing keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.Import(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Imports certificates and keys from a pkcs12 file.
            </summary>
            <remarks>
            Imports certificates and keys from a pkcs12 file.
            </remarks>
            <param name="fileName">The raw certificate and key data in pkcs12 format.</param>
            <param name="password">The password to unlock the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> does not contain a private key.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> does not contain a certificate that could be used for signing.</para>
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Importing keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.ImportAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously imports certificates and keys from a pkcs12 file.
            </summary>
            <remarks>
            Asynchronously imports certificates and keys from a pkcs12 file.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="fileName">The raw certificate and key data in pkcs12 format.</param>
            <param name="password">The password to unlock the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> does not contain a private key.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> does not contain a certificate that could be used for signing.</para>
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Importing keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.Import(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Threading.CancellationToken)">
            <summary>
            Import a certificate.
            </summary>
            <remarks>
            Imports a certificate.
            </remarks>
            <param name="certificate">The certificate.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.ISecureMimeContext.ImportAsync(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Threading.CancellationToken)">
            <summary>
            Asynchronously import a certificate.
            </summary>
            <remarks>
            Asynchronously imports a certificate.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="certificate">The certificate.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.IX509CertificateDatabase">
            <summary>
            An interface for an X.509 Certificate database.
            </summary>
            <remarks>
            An X.509 certificate database is used for storing certificates, metdata related to the certificates
            (such as encryption algorithms supported by the associated client), certificate revocation lists (CRLs),
            and private keys.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.IX509CertificateDatabase.Find(Org.BouncyCastle.X509.X509Certificate,MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Find the specified certificate.
            </summary>
            <remarks>
            Searches the database for the specified certificate, returning the matching
            record with the desired fields populated.
            </remarks>
            <returns>The matching record if found; otherwise <see langword="null"/>.</returns>
            <param name="certificate">The certificate.</param>
            <param name="fields">The desired fields.</param>
        </member>
        <member name="M:MimeKit.Cryptography.IX509CertificateDatabase.FindCertificates(Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Finds the certificates matching the specified selector.
            </summary>
            <remarks>
            Searches the database for certificates matching the selector, returning all
            matching certificates.
            </remarks>
            <returns>The matching certificates.</returns>
            <param name="selector">The match selector or <see langword="null"/> to return all certificates.</param>
        </member>
        <member name="M:MimeKit.Cryptography.IX509CertificateDatabase.FindPrivateKeys(Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Finds the private keys matching the specified selector.
            </summary>
            <remarks>
            Searches the database for certificate records matching the selector, returning the
            private keys for each matching record.
            </remarks>
            <returns>The matching certificates.</returns>
            <param name="selector">The match selector or <see langword="null"/> to return all private keys.</param>
        </member>
        <member name="M:MimeKit.Cryptography.IX509CertificateDatabase.Find(MimeKit.MailboxAddress,System.DateTime,System.Boolean,MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Finds the certificate records for the specified mailbox.
            </summary>
            <remarks>
            Searches the database for certificates matching the specified mailbox that are valid
            for the date and time specified, returning all matching records populated with the
            desired fields.
            </remarks>
            <returns>The matching certificate records populated with the desired fields.</returns>
            <param name="mailbox">The mailbox.</param>
            <param name="now">The date and time.</param>
            <param name="requirePrivateKey"><see langword="true" /> if a private key is required.</param>
            <param name="fields">The desired fields.</param>
        </member>
        <member name="M:MimeKit.Cryptography.IX509CertificateDatabase.Find(Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate},System.Boolean,MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Finds the certificate records matching the specified selector.
            </summary>
            <remarks>
            Searches the database for certificate records matching the selector, returning all
            the matching records populated with the desired fields.
            </remarks>
            <returns>The matching certificate records populated with the desired fields.</returns>
            <param name="selector">The match selector or <see langword="null"/> to match all certificates.</param>
            <param name="trustedAnchorsOnly"><see langword="true" /> if only trusted anchor certificates should be returned.</param>
            <param name="fields">The desired fields.</param>
        </member>
        <member name="M:MimeKit.Cryptography.IX509CertificateDatabase.Add(MimeKit.Cryptography.X509CertificateRecord)">
            <summary>
            Add the specified certificate record.
            </summary>
            <remarks>
            Adds the specified certificate record to the database.
            </remarks>
            <param name="record">The certificate record.</param>
        </member>
        <member name="M:MimeKit.Cryptography.IX509CertificateDatabase.Remove(MimeKit.Cryptography.X509CertificateRecord)">
            <summary>
            Remove the specified certificate record.
            </summary>
            <remarks>
            Removes the specified certificate record from the database.
            </remarks>
            <param name="record">The certificate record.</param>
        </member>
        <member name="M:MimeKit.Cryptography.IX509CertificateDatabase.Update(MimeKit.Cryptography.X509CertificateRecord,MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Update the specified certificate record.
            </summary>
            <remarks>
            Updates the specified fields of the record in the database.
            </remarks>
            <param name="record">The certificate record.</param>
            <param name="fields">The fields to update.</param>
        </member>
        <member name="M:MimeKit.Cryptography.IX509CertificateDatabase.Find(Org.BouncyCastle.Asn1.X509.X509Name,MimeKit.Cryptography.X509CrlRecordFields)">
            <summary>
            Finds the CRL records for the specified issuer.
            </summary>
            <remarks>
            Searches the database for CRL records matching the specified issuer, returning
            all matching records populated with the desired fields.
            </remarks>
            <returns>The matching CRL records populated with the desired fields.</returns>
            <param name="issuer">The issuer.</param>
            <param name="fields">The desired fields.</param>
        </member>
        <member name="M:MimeKit.Cryptography.IX509CertificateDatabase.Find(Org.BouncyCastle.X509.X509Crl,MimeKit.Cryptography.X509CrlRecordFields)">
            <summary>
            Finds the specified certificate revocation list.
            </summary>
            <remarks>
            Searches the database for the specified CRL, returning the matching record with
            the desired fields populated.
            </remarks>
            <returns>The matching record if found; otherwise <see langword="null"/>.</returns>
            <param name="crl">The certificate revocation list.</param>
            <param name="fields">The desired fields.</param>
        </member>
        <member name="M:MimeKit.Cryptography.IX509CertificateDatabase.Add(MimeKit.Cryptography.X509CrlRecord)">
            <summary>
            Add the specified CRL record.
            </summary>
            <remarks>
            Adds the specified CRL record to the database.
            </remarks>
            <param name="record">The CRL record.</param>
        </member>
        <member name="M:MimeKit.Cryptography.IX509CertificateDatabase.Remove(MimeKit.Cryptography.X509CrlRecord)">
            <summary>
            Remove the specified CRL record.
            </summary>
            <remarks>
            Removes the specified CRL record from the database.
            </remarks>
            <param name="record">The CRL record.</param>
        </member>
        <member name="M:MimeKit.Cryptography.IX509CertificateDatabase.Update(MimeKit.Cryptography.X509CrlRecord)">
            <summary>
            Update the specified CRL record.
            </summary>
            <remarks>
            Updates the specified fields of the record in the database.
            </remarks>
            <param name="record">The CRL record.</param>
        </member>
        <member name="M:MimeKit.Cryptography.IX509CertificateDatabase.GetCrlStore">
            <summary>
            Gets a certificate revocation list store.
            </summary>
            <remarks>
            Gets a certificate revocation list store.
            </remarks>
            <returns>A certificate recovation list store.</returns>
        </member>
        <member name="T:MimeKit.Cryptography.MultipartEncrypted">
            <summary>
            A multipart MIME part with a ContentType of multipart/encrypted containing an encrypted MIME part.
            </summary>
            <remarks>
            This mime-type is common when dealing with PGP/MIME but is not used for S/MIME.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> class.
            </summary>
            <remarks>
            This constructor is used by <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitMultipartEncrypted(MimeKit.Cryptography.MultipartEncrypted)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitMultipartEncrypted(MimeKit.Cryptography.MultipartEncrypted)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.SignAndEncrypt(MimeKit.Cryptography.OpenPgpContext,MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a multipart/encrypted MIME part by signing and encrypting the specified entity.
            </summary>
            <remarks>
            Signs the entity using the supplied signer and digest algorithm and then encrypts to
            the specified recipients, encapsulating the result in a new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the signed and encrypted version of the specified entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for singing and encrypting.</param>
            <param name="signer">The signer to use to sign the entity.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="cipherAlgo">The encryption algorithm.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="signer"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>The <paramref name="digestAlgo"/> is not supported.</para>
            <para>-or-</para>
            <para>The <paramref name="cipherAlgo"/> is not supported.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.SignAndEncryptAsync(MimeKit.Cryptography.OpenPgpContext,MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a multipart/encrypted MIME part by signing and encrypting the specified entity.
            </summary>
            <remarks>
            Signs the entity using the supplied signer and digest algorithm and then encrypts to
            the specified recipients, encapsulating the result in a new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the signed and encrypted version of the specified entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for singing and encrypting.</param>
            <param name="signer">The signer to use to sign the entity.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="cipherAlgo">The encryption algorithm.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="signer"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>The <paramref name="digestAlgo"/> is not supported.</para>
            <para>-or-</para>
            <para>The <paramref name="cipherAlgo"/> is not supported.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.SignAndEncrypt(MimeKit.Cryptography.OpenPgpContext,MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a multipart/encrypted MIME part by signing and encrypting the specified entity.
            </summary>
            <remarks>
            Signs the entity using the supplied signer and digest algorithm and then encrypts to
            the specified recipients, encapsulating the result in a new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the signed and encrypted version of the specified entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for signing and encrypting.</param>
            <param name="signer">The signer to use to sign the entity.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key for <paramref name="signer"/> could not be found.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            A public key for one or more of the <paramref name="recipients"/> could not be found.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.SignAndEncryptAsync(MimeKit.Cryptography.OpenPgpContext,MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a multipart/encrypted MIME part by signing and encrypting the specified entity.
            </summary>
            <remarks>
            Signs the entity using the supplied signer and digest algorithm and then encrypts to
            the specified recipients, encapsulating the result in a new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the signed and encrypted version of the specified entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for signing and encrypting.</param>
            <param name="signer">The signer to use to sign the entity.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key for <paramref name="signer"/> could not be found.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            A public key for one or more of the <paramref name="recipients"/> could not be found.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.SignAndEncrypt(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a multipart/encrypted MIME part by signing and encrypting the specified entity.
            </summary>
            <remarks>
            Signs the entity using the supplied signer and digest algorithm and then encrypts to
            the specified recipients, encapsulating the result in a new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the signed and encrypted version of the specified entity.</returns>
            <param name="signer">The signer to use to sign the entity.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="cipherAlgo">The encryption algorithm.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="signer"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>A default <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> has not been registered.</para>
            <para>-or-</para>
            <para>The <paramref name="digestAlgo"/> is not supported.</para>
            <para>-or-</para>
            <para>The <paramref name="cipherAlgo"/> is not supported.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.SignAndEncryptAsync(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a multipart/encrypted MIME part by signing and encrypting the specified entity.
            </summary>
            <remarks>
            Signs the entity using the supplied signer and digest algorithm and then encrypts to
            the specified recipients, encapsulating the result in a new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the signed and encrypted version of the specified entity.</returns>
            <param name="signer">The signer to use to sign the entity.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="cipherAlgo">The encryption algorithm.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="signer"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>A default <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> has not been registered.</para>
            <para>-or-</para>
            <para>The <paramref name="digestAlgo"/> is not supported.</para>
            <para>-or-</para>
            <para>The <paramref name="cipherAlgo"/> is not supported.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.SignAndEncrypt(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a multipart/encrypted MIME part by signing and encrypting the specified entity.
            </summary>
            <remarks>
            Signs the entity using the supplied signer and digest algorithm and then encrypts to
            the specified recipients, encapsulating the result in a new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the signed and encrypted version of the specified entity.</returns>
            <param name="signer">The signer to use to sign the entity.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            A default <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> has not been registered.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key for <paramref name="signer"/> could not be found.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            A public key for one or more of the <paramref name="recipients"/> could not be found.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The user chose to cancel the password prompt.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.SignAndEncryptAsync(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a multipart/encrypted MIME part by signing and encrypting the specified entity.
            </summary>
            <remarks>
            Signs the entity using the supplied signer and digest algorithm and then encrypts to
            the specified recipients, encapsulating the result in a new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the signed and encrypted version of the specified entity.</returns>
            <param name="signer">The signer to use to sign the entity.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            A default <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> has not been registered.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key for <paramref name="signer"/> could not be found.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            A public key for one or more of the <paramref name="recipients"/> could not be found.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The user chose to cancel the password prompt.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.SignAndEncrypt(MimeKit.Cryptography.OpenPgpContext,Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.Cryptography.DigestAlgorithm,MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a multipart/encrypted MIME part by signing and encrypting the specified entity.
            </summary>
            <remarks>
            Signs the entity using the supplied signer and digest algorithm and then encrypts to
            the specified recipients, encapsulating the result in a new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the signed and encrypted version of the specified entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for singing and encrypting.</param>
            <param name="signer">The signer to use to sign the entity.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="cipherAlgo">The encryption algorithm.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="signer"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>The <paramref name="digestAlgo"/> is not supported.</para>
            <para>-or-</para>
            <para>The <paramref name="cipherAlgo"/> is not supported.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.SignAndEncryptAsync(MimeKit.Cryptography.OpenPgpContext,Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.Cryptography.DigestAlgorithm,MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a multipart/encrypted MIME part by signing and encrypting the specified entity.
            </summary>
            <remarks>
            Signs the entity using the supplied signer and digest algorithm and then encrypts to
            the specified recipients, encapsulating the result in a new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the signed and encrypted version of the specified entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for singing and encrypting.</param>
            <param name="signer">The signer to use to sign the entity.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="cipherAlgo">The encryption algorithm.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="signer"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>The <paramref name="digestAlgo"/> is not supported.</para>
            <para>-or-</para>
            <para>The <paramref name="cipherAlgo"/> is not supported.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.SignAndEncrypt(MimeKit.Cryptography.OpenPgpContext,Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.Cryptography.DigestAlgorithm,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a multipart/encrypted MIME part by signing and encrypting the specified entity.
            </summary>
            <remarks>
            Signs the entity using the supplied signer and digest algorithm and then encrypts to
            the specified recipients, encapsulating the result in a new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the signed and encrypted version of the specified entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for singing and encrypting.</param>
            <param name="signer">The signer to use to sign the entity.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="signer"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <paramref name="digestAlgo"/> is not supported.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.SignAndEncryptAsync(MimeKit.Cryptography.OpenPgpContext,Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.Cryptography.DigestAlgorithm,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a multipart/encrypted MIME part by signing and encrypting the specified entity.
            </summary>
            <remarks>
            Signs the entity using the supplied signer and digest algorithm and then encrypts to
            the specified recipients, encapsulating the result in a new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the signed and encrypted version of the specified entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for singing and encrypting.</param>
            <param name="signer">The signer to use to sign the entity.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="signer"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <paramref name="digestAlgo"/> is not supported.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.SignAndEncrypt(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.Cryptography.DigestAlgorithm,MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a multipart/encrypted MIME part by signing and encrypting the specified entity.
            </summary>
            <remarks>
            Signs the entity using the supplied signer and digest algorithm and then encrypts to
            the specified recipients, encapsulating the result in a new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the signed and encrypted version of the specified entity.</returns>
            <param name="signer">The signer to use to sign the entity.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="cipherAlgo">The encryption algorithm.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="signer"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>A default <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> has not been registered.</para>
            <para>-or-</para>
            <para>The <paramref name="digestAlgo"/> is not supported.</para>
            <para>-or-</para>
            <para>The <paramref name="cipherAlgo"/> is not supported.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.SignAndEncryptAsync(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.Cryptography.DigestAlgorithm,MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a multipart/encrypted MIME part by signing and encrypting the specified entity.
            </summary>
            <remarks>
            Signs the entity using the supplied signer and digest algorithm and then encrypts to
            the specified recipients, encapsulating the result in a new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the signed and encrypted version of the specified entity.</returns>
            <param name="signer">The signer to use to sign the entity.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="cipherAlgo">The encryption algorithm.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="signer"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>A default <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> has not been registered.</para>
            <para>-or-</para>
            <para>The <paramref name="digestAlgo"/> is not supported.</para>
            <para>-or-</para>
            <para>The <paramref name="cipherAlgo"/> is not supported.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.SignAndEncrypt(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.Cryptography.DigestAlgorithm,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a multipart/encrypted MIME part by signing and encrypting the specified entity.
            </summary>
            <remarks>
            Signs the entity using the supplied signer and digest algorithm and then encrypts to
            the specified recipients, encapsulating the result in a new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the signed and encrypted version of the specified entity.</returns>
            <param name="signer">The signer to use to sign the entity.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="signer"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>A default <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> has not been registered.</para>
            <para>-or-</para>
            <para>The <paramref name="digestAlgo"/> is not supported.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.SignAndEncryptAsync(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.Cryptography.DigestAlgorithm,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a multipart/encrypted MIME part by signing and encrypting the specified entity.
            </summary>
            <remarks>
            Signs the entity using the supplied signer and digest algorithm and then encrypts to
            the specified recipients, encapsulating the result in a new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the signed and encrypted version of the specified entity.</returns>
            <param name="signer">The signer to use to sign the entity.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="signer"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>A default <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> has not been registered.</para>
            <para>-or-</para>
            <para>The <paramref name="digestAlgo"/> is not supported.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.Encrypt(MimeKit.Cryptography.OpenPgpContext,MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a multipart/encrypted MIME part by encrypting the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients, encapsulating the result in a
            new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the encrypted version of the specified entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for encrypting.</param>
            <param name="algorithm">The encryption algorithm.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the recipient keys cannot be used for encrypting.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified encryption algorithm is not supported.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.EncryptAsync(MimeKit.Cryptography.OpenPgpContext,MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a multipart/encrypted MIME part by encrypting the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients, encapsulating the result in a
            new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the encrypted version of the specified entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for encrypting.</param>
            <param name="algorithm">The encryption algorithm.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the recipient keys cannot be used for encrypting.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified encryption algorithm is not supported.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.Encrypt(MimeKit.Cryptography.OpenPgpContext,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a multipart/encrypted MIME part by encrypting the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients, encapsulating the result in a
            new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the encrypted version of the specified entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for encrypting.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            A public key for one or more of the <paramref name="recipients"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.EncryptAsync(MimeKit.Cryptography.OpenPgpContext,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a multipart/encrypted MIME part by encrypting the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients, encapsulating the result in a
            new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the encrypted version of the specified entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for encrypting.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            A public key for one or more of the <paramref name="recipients"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.Encrypt(MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a multipart/encrypted MIME part by encrypting the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients, encapsulating the result in a
            new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the encrypted version of the specified entity.</returns>
            <param name="algorithm">The encryption algorithm.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the recipient keys cannot be used for encrypting.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>A default <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> has not been registered.</para>
            <para>-or-</para>
            <para>The specified encryption algorithm is not supported.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.EncryptAsync(MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a multipart/encrypted MIME part by encrypting the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients, encapsulating the result in a
            new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the encrypted version of the specified entity.</returns>
            <param name="algorithm">The encryption algorithm.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the recipient keys cannot be used for encrypting.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>A default <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> has not been registered.</para>
            <para>-or-</para>
            <para>The specified encryption algorithm is not supported.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.Encrypt(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a multipart/encrypted MIME part by encrypting the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients, encapsulating the result in a
            new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the encrypted version of the specified entity.</returns>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            A default <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> has not been registered.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            A public key for one or more of the <paramref name="recipients"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.EncryptAsync(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a multipart/encrypted MIME part by encrypting the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients, encapsulating the result in a
            new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the encrypted version of the specified entity.</returns>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            A default <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> has not been registered.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            A public key for one or more of the <paramref name="recipients"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.Encrypt(MimeKit.Cryptography.OpenPgpContext,MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a multipart/encrypted MIME part by encrypting the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients, encapsulating the result in a
            new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the encrypted version of the specified entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for encrypting.</param>
            <param name="algorithm">The encryption algorithm.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the recipient keys cannot be used for encrypting.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified encryption algorithm is not supported.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.EncryptAsync(MimeKit.Cryptography.OpenPgpContext,MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a multipart/encrypted MIME part by encrypting the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients, encapsulating the result in a
            new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the encrypted version of the specified entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for encrypting.</param>
            <param name="algorithm">The encryption algorithm.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the recipient keys cannot be used for encrypting.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified encryption algorithm is not supported.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.Encrypt(MimeKit.Cryptography.OpenPgpContext,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a multipart/encrypted MIME part by encrypting the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients, encapsulating the result in a
            new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the encrypted version of the specified entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for encrypting.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the recipient keys cannot be used for encrypting.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.EncryptAsync(MimeKit.Cryptography.OpenPgpContext,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a multipart/encrypted MIME part by encrypting the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients, encapsulating the result in a
            new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the encrypted version of the specified entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for encrypting.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the recipient keys cannot be used for encrypting.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.Encrypt(MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a multipart/encrypted MIME part by encrypting the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients, encapsulating the result in a
            new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the encrypted version of the specified entity.</returns>
            <param name="algorithm">The encryption algorithm.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the recipient keys cannot be used for encrypting.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>A default <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> has not been registered.</para>
            <para>-or-</para>
            <para>The specified encryption algorithm is not supported.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.EncryptAsync(MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a multipart/encrypted MIME part by encrypting the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients, encapsulating the result in a
            new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the encrypted version of the specified entity.</returns>
            <param name="algorithm">The encryption algorithm.</param>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the recipient keys cannot be used for encrypting.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>A default <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> has not been registered.</para>
            <para>-or-</para>
            <para>The specified encryption algorithm is not supported.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.Encrypt(System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a multipart/encrypted MIME part by encrypting the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients, encapsulating the result in a
            new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the encrypted version of the specified entity.</returns>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the recipient keys cannot be used for encrypting.
            </exception>
            <exception cref="T:System.NotSupportedException">
            A default <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> has not been registered.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.EncryptAsync(System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a multipart/encrypted MIME part by encrypting the specified entity.
            </summary>
            <remarks>
            Encrypts the entity to the specified recipients, encapsulating the result in a
            new multipart/encrypted part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> instance containing
            the encrypted version of the specified entity.</returns>
            <param name="recipients">The recipients for the encrypted entity.</param>
            <param name="entity">The entity to sign and encrypt.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the recipient keys cannot be used for encrypting.
            </exception>
            <exception cref="T:System.NotSupportedException">
            A default <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> has not been registered.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.Decrypt(MimeKit.Cryptography.OpenPgpContext,MimeKit.Cryptography.DigitalSignatureCollection@,System.Threading.CancellationToken)">
            <summary>
            Decrypts the <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> part.
            </summary>
            <remarks>
            Decrypts the <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> and extracts any digital signatures in cases
            where the content was also signed.
            </remarks>
            <returns>The decrypted entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for decrypting.</param>
            <param name="signatures">A list of digital signatures if the data was both signed and encrypted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.FormatException">
            <para>The <c>protocol</c> parameter was not specified.</para>
            <para>-or-</para>
            <para>The multipart is malformed in some way.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            The provided <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> does not support the protocol parameter.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found to decrypt the encrypted data.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was cancelled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.Decrypt(MimeKit.Cryptography.OpenPgpContext,System.Threading.CancellationToken)">
            <summary>
            Decrypts the <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> part.
            </summary>
            <remarks>
            Decrypts the <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> part.
            </remarks>
            <returns>The decrypted entity.</returns>
            <param name="ctx">The OpenPGP cryptography context to use for decrypting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.FormatException">
            <para>The <c>protocol</c> parameter was not specified.</para>
            <para>-or-</para>
            <para>The multipart is malformed in some way.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            The provided <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> does not support the protocol parameter.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found to decrypt the encrypted data.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was cancelled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.Decrypt(MimeKit.Cryptography.DigitalSignatureCollection@,System.Threading.CancellationToken)">
            <summary>
            Decrypts the <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> part.
            </summary>
            <remarks>
            Decrypts the <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> and extracts any digital signatures in cases
            where the content was also signed.
            </remarks>
            <returns>The decrypted entity.</returns>
            <param name="signatures">A list of digital signatures if the data was both signed and encrypted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.FormatException">
            <para>The <c>protocol</c> parameter was not specified.</para>
            <para>-or-</para>
            <para>The multipart is malformed in some way.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            A suitable <see cref="T:MimeKit.Cryptography.CryptographyContext"/> for
            decrypting could not be found.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found to decrypt the encrypted data.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was cancelled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartEncrypted.Decrypt(System.Threading.CancellationToken)">
            <summary>
            Decrypts the <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> part.
            </summary>
            <remarks>
            Decrypts the <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> part.
            </remarks>
            <returns>The decrypted entity.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.FormatException">
            <para>The <c>protocol</c> parameter was not specified.</para>
            <para>-or-</para>
            <para>The multipart is malformed in some way.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            A suitable <see cref="T:MimeKit.Cryptography.CryptographyContext"/> for
            decrypting could not be found.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found to decrypt the encrypted data.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was cancelled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.MultipartSigned">
            <summary>
            A signed multipart, as used by both S/MIME and PGP/MIME protocols.
            </summary>
            <remarks>
            The first child of a multipart/signed is the content while the second child
            is the detached signature data. Any other children are not defined and could
            be anything.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartSigned.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.MultipartSigned"/> class.
            </summary>
            <remarks>This constructor is used by <see cref="T:MimeKit.MimeParser"/>.</remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartSigned.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.MultipartSigned"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.MultipartSigned"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartSigned.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.Cryptography.MultipartSigned"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitMultipartSigned(MimeKit.Cryptography.MultipartSigned)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitMultipartSigned(MimeKit.Cryptography.MultipartSigned)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.MultipartSigned"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartSigned.Create(MimeKit.Cryptography.CryptographyContext,MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a new <see cref="T:MimeKit.Cryptography.MultipartSigned"/>.
            </summary>
            <remarks>
            Cryptographically signs the entity using the supplied signer and digest algorithm in
            order to generate a detached signature and then adds the entity along with the
            detached signature data to a new multipart/signed part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartSigned"/> instance.</returns>
            <param name="ctx">The cryptography context to use for signing.</param>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="entity">The entity to sign.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <paramref name="digestAlgo"/> is not supported.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartSigned.CreateAsync(MimeKit.Cryptography.CryptographyContext,MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a new <see cref="T:MimeKit.Cryptography.MultipartSigned"/>.
            </summary>
            <remarks>
            Cryptographically signs the entity using the supplied signer and digest algorithm in
            order to generate a detached signature and then adds the entity along with the
            detached signature data to a new multipart/signed part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartSigned"/> instance.</returns>
            <param name="ctx">The cryptography context to use for signing.</param>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="entity">The entity to sign.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <paramref name="digestAlgo"/> is not supported.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartSigned.Create(MimeKit.Cryptography.OpenPgpContext,Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.Cryptography.DigestAlgorithm,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a new <see cref="T:MimeKit.Cryptography.MultipartSigned"/>.
            </summary>
            <remarks>
            Cryptographically signs the entity using the supplied signer and digest algorithm in
            order to generate a detached signature and then adds the entity along with the
            detached signature data to a new multipart/signed part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartSigned"/> instance.</returns>
            <param name="ctx">The OpenPGP context to use for signing.</param>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="entity">The entity to sign.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="signer"/> cannot be used for signing.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <paramref name="digestAlgo"/> is not supported.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">
            An error occurred in the OpenPGP subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartSigned.CreateAsync(MimeKit.Cryptography.OpenPgpContext,Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.Cryptography.DigestAlgorithm,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a new <see cref="T:MimeKit.Cryptography.MultipartSigned"/>.
            </summary>
            <remarks>
            Cryptographically signs the entity using the supplied signer and digest algorithm in
            order to generate a detached signature and then adds the entity along with the
            detached signature data to a new multipart/signed part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartSigned"/> instance.</returns>
            <param name="ctx">The OpenPGP context to use for signing.</param>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="entity">The entity to sign.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="signer"/> cannot be used for signing.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <paramref name="digestAlgo"/> is not supported.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">
            An error occurred in the OpenPGP subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartSigned.Create(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.Cryptography.DigestAlgorithm,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a new <see cref="T:MimeKit.Cryptography.MultipartSigned"/>.
            </summary>
            <remarks>
            Cryptographically signs the entity using the supplied signer and digest algorithm in
            order to generate a detached signature and then adds the entity along with the
            detached signature data to a new multipart/signed part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartSigned"/> instance.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="entity">The entity to sign.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="signer"/> cannot be used for signing.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>A cryptography context suitable for signing could not be found.</para>
            <para>-or-</para>
            <para>The <paramref name="digestAlgo"/> is not supported.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">
            An error occurred in the OpenPGP subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartSigned.CreateAsync(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.Cryptography.DigestAlgorithm,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a new <see cref="T:MimeKit.Cryptography.MultipartSigned"/>.
            </summary>
            <remarks>
            Cryptographically signs the entity using the supplied signer and digest algorithm in
            order to generate a detached signature and then adds the entity along with the
            detached signature data to a new multipart/signed part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartSigned"/> instance.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="entity">The entity to sign.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="signer"/> cannot be used for signing.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>A cryptography context suitable for signing could not be found.</para>
            <para>-or-</para>
            <para>The <paramref name="digestAlgo"/> is not supported.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">
            An error occurred in the OpenPGP subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartSigned.Create(MimeKit.Cryptography.SecureMimeContext,MimeKit.Cryptography.CmsSigner,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a new <see cref="T:MimeKit.Cryptography.MultipartSigned"/>.
            </summary>
            <remarks>
            Cryptographically signs the entity using the supplied signer in order
            to generate a detached signature and then adds the entity along with
            the detached signature data to a new multipart/signed part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartSigned"/> instance.</returns>
            <param name="ctx">The S/MIME context to use for signing.</param>
            <param name="signer">The signer.</param>
            <param name="entity">The entity to sign.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartSigned.CreateAsync(MimeKit.Cryptography.SecureMimeContext,MimeKit.Cryptography.CmsSigner,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a new <see cref="T:MimeKit.Cryptography.MultipartSigned"/>.
            </summary>
            <remarks>
            Cryptographically signs the entity using the supplied signer in order
            to generate a detached signature and then adds the entity along with
            the detached signature data to a new multipart/signed part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartSigned"/> instance.</returns>
            <param name="ctx">The S/MIME context to use for signing.</param>
            <param name="signer">The signer.</param>
            <param name="entity">The entity to sign.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="ctx"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartSigned.Create(MimeKit.Cryptography.CmsSigner,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Create a new <see cref="T:MimeKit.Cryptography.MultipartSigned"/>.
            </summary>
            <remarks>
            Cryptographically signs the entity using the supplied signer in order
            to generate a detached signature and then adds the entity along with
            the detached signature data to a new multipart/signed part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartSigned"/> instance.</returns>
            <param name="signer">The signer.</param>
            <param name="entity">The entity to sign.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            A cryptography context suitable for signing could not be found.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartSigned.CreateAsync(MimeKit.Cryptography.CmsSigner,MimeKit.MimeEntity,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a new <see cref="T:MimeKit.Cryptography.MultipartSigned"/>.
            </summary>
            <remarks>
            Cryptographically signs the entity using the supplied signer in order
            to generate a detached signature and then adds the entity along with
            the detached signature data to a new multipart/signed part.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.MultipartSigned"/> instance.</returns>
            <param name="signer">The signer.</param>
            <param name="entity">The entity to sign.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            A cryptography context suitable for signing could not be found.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="entity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartSigned.Prepare(MimeKit.EncodingConstraint,System.Int32)">
            <summary>
            Prepare the MIME entity for transport using the specified encoding constraints.
            </summary>
            <remarks>
            Prepares the MIME entity for transport using the specified encoding constraints.
            </remarks>
            <param name="constraint">The encoding constraint.</param>
            <param name="maxLineLength">The maximum number of octets allowed per line (not counting the CRLF). Must be between <c>60</c> and <c>998</c> (inclusive).</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="maxLineLength"/> is not between <c>60</c> and <c>998</c> (inclusive).</para>
            <para>-or-</para>
            <para><paramref name="constraint"/> is not a valid value.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartSigned.Verify(MimeKit.Cryptography.CryptographyContext,System.Threading.CancellationToken)">
            <summary>
            Verify the multipart/signed part.
            </summary>
            <remarks>
            Verifies the multipart/signed part using the supplied cryptography context.
            </remarks>
            <returns>A signer info collection.</returns>
            <param name="ctx">The cryptography context to use for verifying the signature.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.FormatException">
            The multipart is malformed in some way.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="ctx"/> does not support verifying the signature part.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.MultipartSigned"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartSigned.VerifyAsync(MimeKit.Cryptography.CryptographyContext,System.Threading.CancellationToken)">
            <summary>
            Verify the multipart/signed part.
            </summary>
            <remarks>
            Verifies the multipart/signed part using the supplied cryptography context.
            </remarks>
            <returns>A signer info collection.</returns>
            <param name="ctx">The cryptography context to use for verifying the signature.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.FormatException">
            The multipart is malformed in some way.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="ctx"/> does not support verifying the signature part.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.MultipartSigned"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartSigned.Verify(System.Threading.CancellationToken)">
            <summary>
            Verify the multipart/signed part.
            </summary>
            <remarks>
            Verifies the multipart/signed part using the default cryptography context.
            </remarks>
            <returns>A signer info collection.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.FormatException">
            <para>The <c>protocol</c> parameter was not specified.</para>
            <para>-or-</para>
            <para>The multipart is malformed in some way.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            A cryptography context suitable for verifying the signature could not be found.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.MultipartSigned"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.MultipartSigned.VerifyAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously verify the multipart/signed part.
            </summary>
            <remarks>
            Verifies the multipart/signed part using the default cryptography context.
            </remarks>
            <returns>A signer info collection.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.FormatException">
            <para>The <c>protocol</c> parameter was not specified.</para>
            <para>-or-</para>
            <para>The multipart is malformed in some way.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            A cryptography context suitable for verifying the signature could not be found.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Cryptography.MultipartSigned"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.OpenPgpBlockFilter">
            <summary>
            A filter to strip off data before and after an armored OpenPGP block.
            </summary>
            <remarks>
            Filters out data before and after armored OpenPGP blocks.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpBlockFilter.#ctor(System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.OpenPgpBlockFilter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.OpenPgpBlockFilter"/>.
            </remarks>
            <param name="beginMarker">An OpenPGP begin marker.</param>
            <param name="endMarker">An OpenPGP end marker.</param>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpBlockFilter.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer, starting at <paramref name="startIndex"/>.</param>
            <param name="outputIndex">The output index.</param>
            <param name="outputLength">The output length.</param>
            <param name="flush">If set to <see langword="true" />, all internally buffered data should be flushed to the output buffer.</param>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpBlockFilter.Reset">
            <summary>
            Resets the filter.
            </summary>
            <remarks>
            Resets the filter.
            </remarks>
        </member>
        <member name="T:MimeKit.Cryptography.OpenPgpContext">
            <summary>
            An abstract OpenPGP cryptography context which can be used for PGP/MIME.
            </summary>
            <remarks>
            <para>An abstract OpenPGP cryptography context which can be used for PGP/MIME.</para>
            <note type="note">Generally speaking, applications should not use an <see cref="T:MimeKit.Cryptography.OpenPgpContext"/>
            directly, but rather via higher level APIs such as <see cref="T:MimeKit.Cryptography.MultipartSigned"/>
            and <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/>.</note>
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.OpenPgpContext"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.GetPasswordForKey(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey)">
            <summary>
            Get the password for a secret key.
            </summary>
            <remarks>
            Gets the password for a secret key.
            </remarks>
            <returns>The password for the secret key.</returns>
            <param name="key">The secret key.</param>
            <exception cref="T:System.OperationCanceledException">
            The user chose to cancel the password request.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.GetPublicKeyRing(System.Int64,System.Threading.CancellationToken)">
            <summary>
            Get the public keyring that contains the specified key.
            </summary>
            <remarks>
            <para>Gets the public keyring that contains the specified key.</para>
            <note type="note">Implementations should first try to obtain the keyring stored (or cached) locally.
            Failing that, if <see cref="P:MimeKit.Cryptography.OpenPgpContext.AutoKeyRetrieve"/> is enabled, they should use
            <see cref="M:MimeKit.Cryptography.OpenPgpContext.RetrievePublicKeyRing(System.Int64,System.Threading.CancellationToken)"/> to attempt to
            retrieve the keyring from the configured <see cref="P:MimeKit.Cryptography.OpenPgpContext.KeyServer"/>.</note>
            </remarks>
            <param name="keyId">The public key identifier.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The public keyring that contains the specified key or <see langword="null"/> if the keyring could not be found.</returns>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.GetPublicKeyRingAsync(System.Int64,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the public keyring that contains the specified key asynchronously.
            </summary>
            <remarks>
            <para>Asynchronously gets the public keyring that contains the specified key.</para>
            <note type="note">Implementations should first try to obtain the keyring stored (or cached) locally.
            Failing that, if <see cref="P:MimeKit.Cryptography.OpenPgpContext.AutoKeyRetrieve"/> is enabled, they should use
            <see cref="M:MimeKit.Cryptography.OpenPgpContext.RetrievePublicKeyRingAsync(System.Int64,System.Threading.CancellationToken)"/> to attempt to
            retrieve the keyring from the configured <see cref="P:MimeKit.Cryptography.OpenPgpContext.KeyServer"/>.</note>
            </remarks>
            <param name="keyId">The public key identifier.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The public keyring that contains the specified key or <see langword="null"/> if the keyring could not be found.</returns>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.GetSecretKey(System.Int64,System.Threading.CancellationToken)">
            <summary>
            Get the secret key for a specified key identifier.
            </summary>
            <remarks>
            Gets the secret key for a specified key identifier.
            </remarks>
            <returns>The secret key.</returns>
            <param name="keyId">The key identifier for the desired secret key.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The secret key specified by the <paramref name="keyId"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.GetSecretKeyAsync(System.Int64,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the secret key for a specified key identifier.
            </summary>
            <remarks>
            Asynchronously gets the secret key for a specified key identifier.
            </remarks>
            <returns>The secret key.</returns>
            <param name="keyId">The key identifier for the desired secret key.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The secret key specified by the <paramref name="keyId"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.GetPublicKeys(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken)">
            <summary>
            Get the public keys for the specified mailbox addresses.
            </summary>
            <remarks>
            Gets a list of valid public keys for the specified mailbox addresses that can be used for encryption.
            </remarks>
            <returns>The encryption keys.</returns>
            <param name="mailboxes">The mailboxes.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailboxes"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            A public key for one or more of the <paramref name="mailboxes"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.GetPublicKeysAsync(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the public keys for the specified mailbox addresses.
            </summary>
            <remarks>
            Asynchronously gets a list of valid public keys for the specified mailbox addresses that can be used for encryption.
            </remarks>
            <returns>The encryption keys.</returns>
            <param name="mailboxes">The mailboxes.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailboxes"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            A public key for one or more of the <paramref name="mailboxes"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.GetSigningKey(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Get the signing key associated with the mailbox address.
            </summary>
            <remarks>
            Gets the signing key associated with the mailbox address.
            </remarks>
            <returns>The signing key.</returns>
            <param name="mailbox">The mailbox.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailbox"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            A secret key for the specified <paramref name="mailbox"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.GetSigningKeyAsync(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the signing key associated with the mailbox address.
            </summary>
            <remarks>
            Asynchronously gets the signing key associated with the mailbox address.
            </remarks>
            <returns>The signing key.</returns>
            <param name="mailbox">The mailbox.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailbox"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            A secret key for the specified <paramref name="mailbox"/> could not be found.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpContext.DefaultEncryptionAlgorithm">
            <summary>
            Get or set the default encryption algorithm.
            </summary>
            <remarks>
            Gets or sets the default encryption algorithm.
            </remarks>
            <value>The encryption algorithm.</value>
            <exception cref="T:System.NotSupportedException">
            The specified encryption algorithm is not supported.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpContext.KeyServer">
            <summary>
            Get or set the key server to use when automatically retrieving keys.
            </summary>
            <remarks>
            <para>Gets or sets the key server to use when verifying keys that are
            not already in the public keychain.</para>
            <note type="note">Only HTTP and HKP protocols are supported.</note>
            </remarks>
            <value>The key server.</value>
            <exception cref="T:System.ArgumentException">
            <paramref name="value"/> is not an absolute URI.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpContext.AutoKeyRetrieve">
            <summary>
            Get or set whether unknown PGP keys should automtically be retrieved.
            </summary>
            <remarks>
            <para>Gets or sets whether the <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> should automatically
            fetch keys as needed from the keyserver when verifying signatures.</para>
            <note type="note">Requires a valid <see cref="P:MimeKit.Cryptography.OpenPgpContext.KeyServer"/> to be set.</note>
            </remarks>
            <value><see langword="true" /> if unknown PGP keys should automatically be retrieved; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpContext.SignatureProtocol">
            <summary>
            Get the signature protocol.
            </summary>
            <remarks>
            <para>The signature protocol is used by <see cref="T:MimeKit.Cryptography.MultipartSigned"/>
            in order to determine what the protocol parameter of the Content-Type
            header should be.</para>
            </remarks>
            <value>The signature protocol.</value>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpContext.EncryptionProtocol">
            <summary>
            Get the encryption protocol.
            </summary>
            <remarks>
            <para>The encryption protocol is used by <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/>
            in order to determine what the protocol parameter of the Content-Type
            header should be.</para>
            </remarks>
            <value>The encryption protocol.</value>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpContext.KeyExchangeProtocol">
            <summary>
            Get the key exchange protocol.
            </summary>
            <remarks>
            Gets the key exchange protocol.
            </remarks>
            <value>The key exchange protocol.</value>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Supports(System.String)">
            <summary>
            Check whether the specified protocol is supported.
            </summary>
            <remarks>
            Used in order to make sure that the protocol parameter value specified in either a multipart/signed
            or multipart/encrypted part is supported by the supplied cryptography context.
            </remarks>
            <returns><see langword="true" /> if the protocol is supported; otherwise, <see langword="false" /></returns>
            <param name="protocol">The protocol.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="protocol"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.GetDigestAlgorithmName(MimeKit.Cryptography.DigestAlgorithm)">
            <summary>
            Get the string name of the digest algorithm for use with the micalg parameter of a multipart/signed part.
            </summary>
            <remarks>
            <para>Maps the <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> to the appropriate string identifier
            as used by the micalg parameter value of a multipart/signed Content-Type
            header. For example:</para>
            <list type="table">
            <listheader><term>Algorithm</term><description>Name</description></listheader>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.MD5"/></term><description>pgp-md5</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha1"/></term><description>pgp-sha1</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.RipeMD160"/></term><description>pgp-ripemd160</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.MD2"/></term><description>pgp-md2</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Tiger192"/></term><description>pgp-tiger192</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Haval5160"/></term><description>pgp-haval-5-160</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha256"/></term><description>pgp-sha256</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha384"/></term><description>pgp-sha384</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha512"/></term><description>pgp-sha512</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha224"/></term><description>pgp-sha224</description></item>
            </list>
            </remarks>
            <returns>The micalg value.</returns>
            <param name="micalg">The digest algorithm.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="micalg"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.GetDigestAlgorithm(System.String)">
            <summary>
            Get the digest algorithm from the micalg parameter value in a multipart/signed part.
            </summary>
            <remarks>
            Maps the micalg parameter value string back to the appropriate <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/>.
            </remarks>
            <returns>The digest algorithm.</returns>
            <param name="micalg">The micalg parameter value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="micalg"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.HexEncode(System.Byte[])">
            <summary>
            Hex encode an array of bytes.
            </summary>
            <remarks>
            This method is used to hex-encode the PGP key fingerprints.
            </remarks>
            <param name="data">The data to encode.</param>
            <returns>A string representing the hex-encoded data.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.IsMatch(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,MimeKit.MailboxAddress)">
            <summary>
            Check that a public key is a match for the specified mailbox.
            </summary>
            <remarks>
            <para>Checks that the public key is a match for the specified mailbox.</para>
            <para>If the <paramref name="mailbox"/> is a <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/> with a non-empty
            <see cref="P:MimeKit.Cryptography.SecureMailboxAddress.Fingerprint"/>, then the fingerprint is used to match the key's
            fingerprint. Otherwise, the email address(es) contained within the key's user identifier strings
            are compared to the mailbox address.</para>
            </remarks>
            <param name="key">The public key.</param>
            <param name="mailbox">The mailbox address.</param>
            <returns><see langword="true" /> if the key is a match for the specified mailbox; otherwise, <see langword="false" />.</returns>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="key"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="mailbox"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.IsMatch(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.MailboxAddress)">
            <summary>
            Check that a secret key is a match for the specified mailbox.
            </summary>
            <remarks>
            <para>Checks that the secret key is a match for the specified mailbox.</para>
            <para>If the <paramref name="mailbox"/> is a <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/> with a non-empty
            <see cref="P:MimeKit.Cryptography.SecureMailboxAddress.Fingerprint"/>, then the fingerprint is used to match the key's
            fingerprint. Otherwise, the email address(es) contained within the key's user identifier strings
            are compared to the mailbox address.</para>
            </remarks>
            <param name="key">The secret key.</param>
            <param name="mailbox">The mailbox address.</param>
            <returns><see langword="true" /> if the key is a match for the specified mailbox; otherwise, <see langword="false" />.</returns>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="key"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="mailbox"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.IsExpired(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
            <summary>
            Check if a public key is expired.
            </summary>
            <remarks>
            Checks if a public key is expired.
            </remarks>
            <param name="key">The public key.</param>
            <returns><see langword="true" /> if the public key is expired; otherwise, <see langword="false" />.</returns>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="key"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.RetrievePublicKeyRingAsync(System.Int64,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Retrieves the public keyring, using the preferred key server, automatically importing it afterward.
            </summary>
            <param name="keyId">The identifier of the key to be retrieved.</param>
            <param name="doAsync"><see langword="true" /> if this operation should be done asynchronously; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The public key ring.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.RetrievePublicKeyRing(System.Int64,System.Threading.CancellationToken)">
            <summary>
            Retrieve the public keyring using the configured key server.
            </summary>
            <remarks>
            <para>Retrieves the public keyring specified by the <paramref name="keyId"/> from the key server
            set on the <see cref="P:MimeKit.Cryptography.OpenPgpContext.KeyServer"/> property. If the keyring is successfully retrieved, it will
            be imported via <see cref="M:MimeKit.Cryptography.OpenPgpContext.Import(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle,System.Threading.CancellationToken)"/>.</para>
            <para>This method should be called by <see cref="M:MimeKit.Cryptography.OpenPgpContext.GetPublicKeyRing(System.Int64,System.Threading.CancellationToken)"/>
            when the keyring is not available locally.</para>
            </remarks>
            <param name="keyId">The identifier of the public key to be retrieved.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The public key ring.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.RetrievePublicKeyRingAsync(System.Int64,System.Threading.CancellationToken)">
            <summary>
            Asynchronously retrieve the public keyring using the configured key server.
            </summary>
            <remarks>
            <para>Retrieves the public keyring specified by the <paramref name="keyId"/> from the key server
            set on the <see cref="P:MimeKit.Cryptography.OpenPgpContext.KeyServer"/> property. If the keyring is successfully retrieved, it will
            be imported via <see cref="M:MimeKit.Cryptography.OpenPgpContext.Import(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle,System.Threading.CancellationToken)"/>.</para>
            <para>This method should be called by <see cref="M:MimeKit.Cryptography.OpenPgpContext.GetPublicKeyRingAsync(System.Int64,System.Threading.CancellationToken)"/>
            when the keyring is not available locally.</para>
            </remarks>
            <param name="keyId">The identifier of the public key to be retrieved.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The public key ring.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.GetPrivateKey(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey)">
            <summary>
            Gets the private key from the specified secret key.
            </summary>
            <remarks>
            Gets the private key from the specified secret key.
            </remarks>
            <returns>The private key.</returns>
            <param name="key">The secret key.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="key"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The user chose to cancel the password prompt.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.GetHashAlgorithm(MimeKit.Cryptography.DigestAlgorithm)">
            <summary>
            Gets the equivalent <see cref="T:Org.BouncyCastle.Bcpg.HashAlgorithmTag"/> for the
            specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/>.
            </summary>
            <remarks>
            Maps a <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> to the equivalent <see cref="T:Org.BouncyCastle.Bcpg.HashAlgorithmTag"/>.
            </remarks>
            <returns>The hash algorithm.</returns>
            <param name="digestAlgo">The digest algorithm.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="digestAlgo"/> is not a supported digest algorithm.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Sign(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign the content using the specified signer and digest algorithm.
            </summary>
            <remarks>
            Signs the content using the specified signer and digest algorithm.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            A signing key could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.SignAsync(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign the content using the specified signer and digest algorithm.
            </summary>
            <remarks>
            Asynchronously signs the content using the specified signer and digest algorithm.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            A signing key could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Sign(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign the content using the specified signer and digest algorithm.
            </summary>
            <remarks>
            Signs the content using the specified signer and digest algorithm.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="signer"/> cannot be used for signing.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <paramref name="digestAlgo"/> is not supported.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.SignAsync(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign the content using the specified signer and digest algorithm.
            </summary>
            <remarks>
            Asynchronously signs the content using the specified signer and digest algorithm.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="signer"/> cannot be used for signing.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <paramref name="digestAlgo"/> is not supported.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.GetDigestAlgorithm(Org.BouncyCastle.Bcpg.HashAlgorithmTag)">
            <summary>
            Gets the equivalent <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> for the specified
            <see cref="T:Org.BouncyCastle.Bcpg.HashAlgorithmTag"/>.
            </summary>
            <remarks>
            Gets the equivalent <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> for the specified
            <see cref="T:Org.BouncyCastle.Bcpg.HashAlgorithmTag"/>.
            </remarks>
            <returns>The digest algorithm.</returns>
            <param name="hashAlgorithm">The hash algorithm.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="hashAlgorithm"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="hashAlgorithm"/> does not have an equivalent <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> value.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.GetPublicKeyAlgorithm(Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag)">
            <summary>
            Gets the equivalent <see cref="T:MimeKit.Cryptography.PublicKeyAlgorithm"/> for the specified
            <see cref="T:Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag"/>.
            </summary>
            <remarks>
            Gets the equivalent <see cref="T:MimeKit.Cryptography.PublicKeyAlgorithm"/> for the specified
            <see cref="T:Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag"/>.
            </remarks>
            <returns>The public-key algorithm.</returns>
            <param name="algorithm">The public-key algorithm.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="algorithm"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="algorithm"/> does not have an equivalent <see cref="T:MimeKit.Cryptography.PublicKeyAlgorithm"/> value.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Verify(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Verify the specified content using the detached signatureData.
            </summary>
            <remarks>
            <para>Verifies the specified content using the detached signatureData.</para>
            <para>If any of the signatures were made with an unrecognized key and <see cref="P:MimeKit.Cryptography.OpenPgpContext.AutoKeyRetrieve"/> is enabled,
            an attempt will be made to retrieve said key(s). The <paramref name="cancellationToken"/> can be used to cancel
            key retrieval.</para>
            </remarks>
            <returns>A list of digital signatures.</returns>
            <param name="content">The content.</param>
            <param name="signatureData">The signature data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signatureData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.FormatException">
            <paramref name="signatureData"/> does not contain valid PGP signature data.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.VerifyAsync(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously verify the specified content using the detached signatureData.
            </summary>
            <remarks>
            <para>Verifies the specified content using the detached signatureData.</para>
            <para>If any of the signatures were made with an unrecognized key and <see cref="P:MimeKit.Cryptography.OpenPgpContext.AutoKeyRetrieve"/> is enabled,
            an attempt will be made to retrieve said key(s). The <paramref name="cancellationToken"/> can be used to cancel
            key retrieval.</para>
            </remarks>
            <returns>A list of digital signatures.</returns>
            <param name="content">The content.</param>
            <param name="signatureData">The signature data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signatureData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.FormatException">
            <paramref name="signatureData"/> does not contain valid PGP signature data.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Encrypt(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            A public key could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.EncryptAsync(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Asynchronously encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            A public key could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Encrypt(MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="algorithm">The encryption algorithm.</param>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            A public key could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified encryption algorithm is not supported.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.EncryptAsync(MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Asynchronously encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="algorithm">The encryption algorithm.</param>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            A public key could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified encryption algorithm is not supported.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Encrypt(MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="algorithm">The encryption algorithm.</param>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified encryption algorithm is not supported.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.EncryptAsync(MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Asynchronously encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="algorithm">The encryption algorithm.</param>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified encryption algorithm is not supported.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Encrypt(System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.EncryptAsync(System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Asynchronously encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.SignAndEncrypt(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign and encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Signs and encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            A public key could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.SignAndEncryptAsync(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign and encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Asynchronously signs and encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            A public key could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.SignAndEncrypt(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign and encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Signs and encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="cipherAlgo">The encryption algorithm.</param>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="signer"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified encryption algorithm is not supported.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.SignAndEncryptAsync(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign and encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Asynchronously signs and encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="cipherAlgo">The encryption algorithm.</param>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="signer"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified encryption algorithm is not supported.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.SignAndEncrypt(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.Cryptography.DigestAlgorithm,MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign and encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Signs and encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="cipherAlgo">The encryption algorithm.</param>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="signer"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified encryption algorithm is not supported.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.SignAndEncryptAsync(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.Cryptography.DigestAlgorithm,MimeKit.Cryptography.EncryptionAlgorithm,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign and encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Asynchronously signs and encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="cipherAlgo">The encryption algorithm.</param>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="signer"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified encryption algorithm is not supported.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.SignAndEncrypt(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.Cryptography.DigestAlgorithm,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign and encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Signs and encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="signer"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.SignAndEncryptAsync(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,MimeKit.Cryptography.DigestAlgorithm,System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign and encrypt the specified content for the specified recipients.
            </summary>
            <remarks>
            Asynchronously signs and encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="signer"/> cannot be used for signing.</para>
            <para>-or-</para>
            <para>One or more of the recipient keys cannot be used for encrypting.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.DecryptTo(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Decrypt an encrypted stream and extract the digital signers if the content was also signed.
            </summary>
            <remarks>
            <para>Decrypts an encrypted stream and extracts the digital signers if the content was also signed.</para>
            <para>If any of the signatures were made with an unrecognized key and <see cref="P:MimeKit.Cryptography.OpenPgpContext.AutoKeyRetrieve"/> is enabled,
            an attempt will be made to retrieve said key(s). The <paramref name="cancellationToken"/> can be used to cancel
            key retrieval.</para>
            </remarks>
            <returns>The list of digital signatures if the data was both signed and encrypted; otherwise, <see langword="null"/>.</returns>
            <param name="encryptedData">The encrypted data.</param>
            <param name="decryptedData">The stream to write the decrypted data to.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encryptedData"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="decryptedData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found to decrypt the stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">
            An OpenPGP error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.DecryptToAsync(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decrypt an encrypted stream and extract the digital signers if the content was also signed.
            </summary>
            <remarks>
            <para>Decrypts an encrypted stream and extracts the digital signers if the content was also signed.</para>
            <para>If any of the signatures were made with an unrecognized key and <see cref="P:MimeKit.Cryptography.OpenPgpContext.AutoKeyRetrieve"/> is enabled,
            an attempt will be made to retrieve said key(s). The <paramref name="cancellationToken"/> can be used to cancel
            key retrieval.</para>
            </remarks>
            <returns>The list of digital signatures if the data was both signed and encrypted; otherwise, <see langword="null"/>.</returns>
            <param name="encryptedData">The encrypted data.</param>
            <param name="decryptedData">The stream to write the decrypted data to.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encryptedData"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="decryptedData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found to decrypt the stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">
            An OpenPGP error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Decrypt(System.IO.Stream,MimeKit.Cryptography.DigitalSignatureCollection@,System.Threading.CancellationToken)">
            <summary>
            Decrypt the specified encryptedData and extracts the digital signers if the content was also signed.
            </summary>
            <remarks>
            Decrypts the specified encryptedData and extracts the digital signers if the content was also signed.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="encryptedData">The encrypted data.</param>
            <param name="signatures">A list of digital signatures if the data was both signed and encrypted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="encryptedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found to decrypt the stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">
            An OpenPGP error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Decrypt(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Decrypt the specified encryptedData.
            </summary>
            <remarks>
            Decrypts the specified encryptedData.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="encryptedData">The encrypted data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="encryptedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found to decrypt the stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">
            An OpenPGP error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.DecryptAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decrypt the specified encryptedData.
            </summary>
            <remarks>
            Asynchronously decrypts the specified encryptedData.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="encryptedData">The encrypted data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="encryptedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found to decrypt the stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            <para>The user chose to cancel the password prompt.</para>
            <para>-or-</para>
            <para>The operation was canceled via the cancellation token.</para>
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            3 bad attempts were made to unlock the secret key.
            </exception>
            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">
            An OpenPGP error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Import(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing,System.Threading.CancellationToken)">
            <summary>
            Import a public pgp keyring.
            </summary>
            <remarks>
            Imports a public pgp keyring.
            </remarks>
            <param name="keyring">The public key-ring to import.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keyring"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occured while saving the public key-ring.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Import(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle,System.Threading.CancellationToken)">
            <summary>
            Import the specified public keyring bundle.
            </summary>
            <remarks>
            Imports the specified public keyring bundle.
            </remarks>
            <param name="bundle">The bundle of public keyrings to import.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="bundle"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occured while saving the public key-ring.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Import(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing,System.Threading.CancellationToken)">
            <summary>
            Import a secret pgp keyring.
            </summary>
            <remarks>
            Imports a secret pgp keyring.
            </remarks>
            <param name="keyring">The secret key-ring to import.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keyring"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occured while saving the secret key-ring.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Import(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle,System.Threading.CancellationToken)">
            <summary>
            Import a secret pgp keyring bundle.
            </summary>
            <remarks>
            Imports a secret pgp keyring bundle.
            </remarks>
            <param name="bundle">The bundle of secret keyrings to import.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="bundle"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occured while saving the secret key-ring bundle.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Import(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Import public pgp keys from the specified stream.
            </summary>
            <remarks>
            Imports public pgp keys from the specified stream.
            </remarks>
            <param name="stream">The raw key data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.IOException">
            <para>An error occurred while parsing the raw key-ring data</para>
            <para>-or-</para>
            <para>An error occured while saving the public key-ring bundle.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.ImportAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously import public pgp keys from the specified stream.
            </summary>
            <remarks>
            Asynchronously imports public pgp keys from the specified stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="stream">The raw key data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.IOException">
            <para>An error occurred while parsing the raw key-ring data</para>
            <para>-or-</para>
            <para>An error occured while saving the public key-ring bundle.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Export(System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},System.Threading.CancellationToken)">
            <summary>
            Export the specified public keys.
            </summary>
            <remarks>
            Exports the specified public keys.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance containing the exported public keys.</returns>
            <param name="keys">The public keys to export.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keys"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.ExportAsync(System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},System.Threading.CancellationToken)">
            <summary>
            Asynchronously export the specified public keys.
            </summary>
            <remarks>
            Asynchronously exports the specified public keys.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance containing the exported public keys.</returns>
            <param name="keys">The public keys to export.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keys"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Export(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle,System.Threading.CancellationToken)">
            <summary>
            Export the specified public keys.
            </summary>
            <remarks>
            Exports the specified public keys.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance containing the exported public keys.</returns>
            <param name="keys">The public keys to export.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keys"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.ExportAsync(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle,System.Threading.CancellationToken)">
            <summary>
            Asynchronously export the specified public keys.
            </summary>
            <remarks>
            Asynchronously exports the specified public keys.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance containing the exported public keys.</returns>
            <param name="keys">The public keys to export.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keys"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Export(System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Export the specified public keys.
            </summary>
            <remarks>
            Exports the specified public keys.
            </remarks>
            <param name="keys">The public keys to export.</param>
            <param name="stream">The output stream.</param>
            <param name="armor"><see langword="true" /> if the output should be armored; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="keys"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.ExportAsync(System.Collections.Generic.IEnumerable{Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey},System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously export the specified public keys.
            </summary>
            <remarks>
            Asynchronously exports the specified public keys.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="keys">The public keys to export.</param>
            <param name="stream">The output stream.</param>
            <param name="armor"><see langword="true" /> if the output should be armored; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="keys"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Export(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Export the public keyring bundle.
            </summary>
            <remarks>
            Exports the public keyring bundle.
            </remarks>
            <param name="keys">The public keyring bundle to export.</param>
            <param name="stream">The output stream.</param>
            <param name="armor"><see langword="true" /> if the output should be armored; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="keys"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.ExportAsync(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously export the public keyring bundle.
            </summary>
            <remarks>
            Asynchronously exports the public keyring bundle.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="keys">The public keyring bundle to export.</param>
            <param name="stream">The output stream.</param>
            <param name="armor"><see langword="true" /> if the output should be armored; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="keys"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Export(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Export the public keyrings for the specified mailboxes.
            </summary>
            <remarks>
            Exports the public keyrings for the specified mailboxes.
            </remarks>
            <param name="mailboxes">The mailboxes.</param>
            <param name="stream">The output stream.</param>
            <param name="armor"><see langword="true" /> if the output should be armored; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="mailboxes"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="mailboxes"/> was empty.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Exporting keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.ExportAsync(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously export the public keyrings for the specified mailboxes.
            </summary>
            <remarks>
            Asynchronously exports the public keyrings for the specified mailboxes.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="mailboxes">The mailboxes.</param>
            <param name="stream">The output stream.</param>
            <param name="armor"><see langword="true" /> if the output should be armored; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="mailboxes"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="mailboxes"/> was empty.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Exporting keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpContext.Dispose(System.Boolean)">
            <summary>
            Releases all resources used by the <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> object.
            </summary>
            <remarks>Call <see cref="M:MimeKit.Cryptography.CryptographyContext.Dispose"/> when you are finished using the <see cref="T:MimeKit.Cryptography.OpenPgpContext"/>. The
            <see cref="M:MimeKit.Cryptography.CryptographyContext.Dispose"/> method leaves the <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> in an unusable state. After
            calling <see cref="M:MimeKit.Cryptography.CryptographyContext.Dispose"/>, you must release all references to the <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> so
            the garbage collector can reclaim the memory that the <see cref="T:MimeKit.Cryptography.OpenPgpContext"/> was occupying.</remarks>
        </member>
        <member name="T:MimeKit.Cryptography.OpenPgpDataType">
            <summary>
            An enum expressing a type of OpenPGP data.
            </summary>
            <remarks>
            An enum expressing a type of OpenPGP data.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.OpenPgpDataType.None">
            <summary>
            No OpenPGP data detected.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.OpenPgpDataType.SignedMessage">
            <summary>
            The OpenPGP data is a signed message.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.OpenPgpDataType.EncryptedMessage">
            <summary>
            The OpenPGP data is an encrypted message.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.OpenPgpDataType.PublicKey">
            <summary>
            The OpenPGP data is a public key.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.OpenPgpDataType.PrivateKey">
            <summary>
            The OpenPGP data is a private key.
            </summary>
        </member>
        <member name="T:MimeKit.Cryptography.OpenPgpDetectionFilter">
            <summary>
            A filter meant to aid in the detection of OpenPGP blocks.
            </summary>
            <remarks>
            Detects OpenPGP block markers and their byte offsets.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpDetectionFilter.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.OpenPgpDetectionFilter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.OpenPgpDetectionFilter"/>.
            </remarks>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpDetectionFilter.BeginOffset">
            <summary>
            Get the byte offset of the BEGIN marker, if available.
            </summary>
            <remarks>
            Gets the byte offset of the BEGIN marker if available.
            </remarks>
            <value>The byte offset.</value>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpDetectionFilter.EndOffset">
            <summary>
            Get the byte offset of the END marker, if available.
            </summary>
            <remarks>
            Gets the byte offset of the END marker if available.
            </remarks>
            <value>The byte offset.</value>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpDetectionFilter.DataType">
            <summary>
            Get the type of OpenPGP data detected.
            </summary>
            <remarks>
            Gets the type of OpenPGP data detected.
            </remarks>
            <value>The type of OpenPGP data detected.</value>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpDetectionFilter.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer, starting at <paramref name="startIndex"/>.</param>
            <param name="outputIndex">The output index.</param>
            <param name="outputLength">The output length.</param>
            <param name="flush">If set to <see langword="true" />, all internally buffered data should be flushed to the output buffer.</param>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpDetectionFilter.Reset">
            <summary>
            Resets the filter.
            </summary>
            <remarks>
            Resets the filter.
            </remarks>
        </member>
        <member name="T:MimeKit.Cryptography.OpenPgpDigitalCertificate">
            <summary>
            An OpenPGP digital certificate.
            </summary>
            <remarks>
            An OpenPGP digital certificate.
            </remarks>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpDigitalCertificate.KeyRing">
            <summary>
            Gets the public key ring.
            </summary>
            <remarks>
            Get the public key ring that <see cref="P:MimeKit.Cryptography.OpenPgpDigitalCertificate.PublicKey"/> is associated with.
            </remarks>
            <value>The key ring.</value>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpDigitalCertificate.PublicKey">
            <summary>
            Gets the public key.
            </summary>
            <remarks>
            Get the public key.
            </remarks>
            <value>The public key.</value>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpDigitalCertificate.PublicKeyAlgorithm">
            <summary>
            Gets the public key algorithm supported by the certificate.
            </summary>
            <remarks>
            Gets the public key algorithm supported by the certificate.
            </remarks>
            <value>The public key algorithm.</value>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpDigitalCertificate.CreationDate">
            <summary>
            Gets the date that the certificate was created.
            </summary>
            <remarks>
            Gets the date that the certificate was created.
            </remarks>
            <value>The creation date.</value>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpDigitalCertificate.ExpirationDate">
            <summary>
            Gets the expiration date of the certificate.
            </summary>
            <remarks>
            Gets the expiration date of the certificate.
            </remarks>
            <value>The expiration date.</value>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpDigitalCertificate.Fingerprint">
            <summary>
            Gets the fingerprint of the certificate.
            </summary>
            <remarks>
            Gets the fingerprint of the certificate.
            </remarks>
            <value>The fingerprint.</value>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpDigitalCertificate.Email">
            <summary>
            Gets the email address of the owner of the certificate.
            </summary>
            <remarks>
            Gets the email address of the owner of the certificate.
            </remarks>
            <value>The email address.</value>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpDigitalCertificate.Name">
            <summary>
            Gets the name of the owner of the certificate.
            </summary>
            <remarks>
            Gets the name of the owner of the certificate.
            </remarks>
            <value>The name of the owner.</value>
        </member>
        <member name="T:MimeKit.Cryptography.OpenPgpDigitalSignature">
            <summary>
            An OpenPGP digital signature.
            </summary>
            <remarks>
            An OpenPGP digital signature.
            </remarks>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpDigitalSignature.SignerCertificate">
            <summary>
            Gets certificate used by the signer.
            </summary>
            <remarks>
            Gets certificate used by the signer.
            </remarks>
            <value>The signer's certificate.</value>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpDigitalSignature.PublicKeyAlgorithm">
            <summary>
            Gets the public key algorithm used for the signature.
            </summary>
            <remarks>
            Gets the public key algorithm used for the signature.
            </remarks>
            <value>The public key algorithm.</value>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpDigitalSignature.DigestAlgorithm">
            <summary>
            Gets the digest algorithm used for the signature.
            </summary>
            <remarks>
            Gets the digest algorithm used for the signature.
            </remarks>
            <value>The digest algorithm.</value>
        </member>
        <member name="P:MimeKit.Cryptography.OpenPgpDigitalSignature.CreationDate">
            <summary>
            Gets the creation date of the digital signature.
            </summary>
            <remarks>
            Gets the creation date of the digital signature.
            </remarks>
            <value>The creation date.</value>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpDigitalSignature.Verify">
            <summary>
            Verifies the digital signature.
            </summary>
            <remarks>
            Verifies the digital signature.
            </remarks>
            <returns><see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
            <exception cref="T:MimeKit.Cryptography.DigitalSignatureVerifyException">
            An error verifying the signature has occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.OpenPgpDigitalSignature.Verify(System.Boolean)">
            <summary>
            Verifies the digital signature.
            </summary>
            <remarks>
            Verifies the digital signature.
            </remarks>
            <param name="verifySignatureOnly">This option is ignored for OpenPGP digital signatures.</param>
            <returns><see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
            <exception cref="T:MimeKit.Cryptography.DigitalSignatureVerifyException">
            An error verifying the signature has occurred.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.OpenPgpKeyCertification">
            <summary>
            An OpenPGP key certification.
            </summary>
            <remarks>
            An OpenPGP key certification.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.OpenPgpKeyCertification.GenericCertification">
            <summary>
            Generic certification of a User ID and Public-Key packet.
            The issuer of this certification does not make any particular
            assertion as to how well the certifier has checked that the owner
            of the key is in fact the person described by the User ID.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.OpenPgpKeyCertification.PersonaCertification">
            <summary>
            Persona certification of a User ID and Public-Key packet.
            The issuer of this certification has not done any verification of
            the claim that the owner of this key is the User ID specified.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.OpenPgpKeyCertification.CasualCertification">
            <summary>
            Casual certification of a User ID and Public-Key packet.
            The issuer of this certification has done some casual
            verification of the claim of identity.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.OpenPgpKeyCertification.PositiveCertification">
            <summary>
            Positive certification of a User ID and Public-Key packet.
            The issuer of this certification has done substantial
            verification of the claim of identity.
            </summary>
        </member>
        <member name="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            <summary>
            An exception that is thrown when a private key could not be found for a specified mailbox or key id.
            </summary>
            <remarks>
            An exception that is thrown when a private key could not be found for a specified mailbox or key id.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.PrivateKeyNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The stream context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.PrivateKeyNotFoundException.#ctor(MimeKit.MailboxAddress,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException"/>.
            </remarks>
            <param name="mailbox">The mailbox that could not be resolved to a valid private key.</param>
            <param name="message">A message explaining the error.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailbox"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.PrivateKeyNotFoundException.#ctor(System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException"/>.
            </remarks>
            <param name="keyid">The key id that could not be resolved to a valid certificate.</param>
            <param name="message">A message explaining the error.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keyid"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.PrivateKeyNotFoundException.#ctor(System.Int64,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException"/>.
            </remarks>
            <param name="keyid">The key id that could not be resolved to a valid certificate.</param>
            <param name="message">A message explaining the error.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keyid"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.PrivateKeyNotFoundException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            with information about the exception.
            </summary>
            <remarks>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            with information about the exception.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.PrivateKeyNotFoundException.KeyId">
            <summary>
            Gets the key id that could not be found.
            </summary>
            <remarks>
            Gets the key id that could not be found.
            </remarks>
            <value>The key id.</value>
        </member>
        <member name="T:MimeKit.Cryptography.PublicKeyAlgorithm">
            <summary>
            An enumeration of public key algorithms.
            </summary>
            <remarks>
            An enumeration of public key algorithms.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.PublicKeyAlgorithm.None">
            <summary>
            No public key algorithm specified.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.PublicKeyAlgorithm.RsaGeneral">
            <summary>
            The RSA algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.PublicKeyAlgorithm.RsaEncrypt">
            <summary>
            The RSA encryption-only algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.PublicKeyAlgorithm.RsaSign">
            <summary>
            The RSA sign-only algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.PublicKeyAlgorithm.ElGamalEncrypt">
            <summary>
            The El-Gamal encryption-only algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.PublicKeyAlgorithm.Dsa">
            <summary>
            The DSA algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.PublicKeyAlgorithm.EllipticCurve">
            <summary>
            The elliptic curve algorithm (aka EC or ECDH).
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.PublicKeyAlgorithm.EllipticCurveDsa">
            <summary>
            The elliptic curve DSA algorithm (aka ECDSA).
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.PublicKeyAlgorithm.ElGamalGeneral">
            <summary>
            The El-Gamal algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.PublicKeyAlgorithm.DiffieHellman">
            <summary>
            The Diffie-Hellman algorithm.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.PublicKeyAlgorithm.EdwardsCurveDsa">
            <summary>
            The Edwards-Curve DSA algorithm (aka EdDSA).
            </summary>
        </member>
        <member name="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            <summary>
            An exception that is thrown when a public key could not be found for a specified mailbox.
            </summary>
            <remarks>
            An exception that is thrown when a public key could not be found for a specified mailbox.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.PublicKeyNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.PublicKeyNotFoundException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.PublicKeyNotFoundException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The stream context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.PublicKeyNotFoundException.#ctor(MimeKit.MailboxAddress,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.PublicKeyNotFoundException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.PublicKeyNotFoundException"/>.
            </remarks>
            <param name="mailbox">The mailbox that could not be resolved to a valid private key.</param>
            <param name="message">A message explaining the error.</param>
        </member>
        <member name="M:MimeKit.Cryptography.PublicKeyNotFoundException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            with information about the exception.
            </summary>
            <remarks>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            with information about the exception.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.PublicKeyNotFoundException.Mailbox">
            <summary>
            Gets the key id that could not be found.
            </summary>
            <remarks>
            Gets the key id that could not be found.
            </remarks>
            <value>The key id.</value>
        </member>
        <member name="T:MimeKit.Cryptography.RsaEncryptionPadding">
            <summary>
            The RSA encryption padding schemes and parameters used by S/MIME.
            </summary>
            <remarks>
            The RSA encryption padding schemes and parameters used by S/MIME as described in
            <a href="https://tools.ietf.org/html/rfc8017">rfc8017</a>.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.RsaEncryptionPadding.Pkcs1">
            <summary>
            The PKCS #1 v1.5 encryption padding.
            </summary>
            <remarks>
            The PKCS #1 v1.5 encryption padding.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.RsaEncryptionPadding.OaepSha1">
            <summary>
            The Optimal Asymmetric Encryption Padding (OAEP) scheme using the default (SHA-1) hash algorithm.
            </summary>
            <remarks>
            The Optimal Asymmetric Encryption Padding (OAEP) scheme using the default (SHA-1) hash algorithm.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.RsaEncryptionPadding.OaepSha256">
            <summary>
            The Optimal Asymmetric Encryption Padding (OAEP) scheme using the SHA-256 hash algorithm.
            </summary>
            <remarks>
            The Optimal Asymmetric Encryption Padding (OAEP) scheme using the SHA-256 hash algorithm.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.RsaEncryptionPadding.OaepSha384">
            <summary>
            The Optimal Asymmetric Encryption Padding (OAEP) scheme using the SHA-384 hash algorithm.
            </summary>
            <remarks>
            The Optimal Asymmetric Encryption Padding (OAEP) scheme using the SHA-384 hash algorithm.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.RsaEncryptionPadding.OaepSha512">
            <summary>
            The Optimal Asymmetric Encryption Padding (OAEP) scheme using the SHA-512 hash algorithm.
            </summary>
            <remarks>
            The Optimal Asymmetric Encryption Padding (OAEP) scheme using the SHA-512 hash algorithm.
            </remarks>
        </member>
        <member name="P:MimeKit.Cryptography.RsaEncryptionPadding.Scheme">
            <summary>
            Get the RSA encryption padding scheme.
            </summary>
            <remarks>
            Gets the RSA encryption padding scheme.
            </remarks>
            <value>The RSA encryption padding scheme.</value>
        </member>
        <member name="P:MimeKit.Cryptography.RsaEncryptionPadding.OaepHashAlgorithm">
            <summary>
            Get the hash algorithm used for RSAES-OAEP padding.
            </summary>
            <remarks>
            Gets the hash algorithm used for RSAES-OAEP padding.
            </remarks>
            <value>The hash algorithm used for RSAES-OAEP padding.</value>
        </member>
        <member name="M:MimeKit.Cryptography.RsaEncryptionPadding.Equals(MimeKit.Cryptography.RsaEncryptionPadding)">
            <summary>
            Determines whether the specified <see cref="T:MimeKit.Cryptography.RsaEncryptionPadding"/> is equal to the current <see cref="T:MimeKit.Cryptography.RsaEncryptionPadding"/>.
            </summary>
            <remarks>
            Compares two RSA encryption paddings to determine if they are identical or not.
            </remarks>
            <param name="other">The <see cref="T:MimeKit.Cryptography.RsaEncryptionPadding"/> to compare with the current <see cref="T:MimeKit.Cryptography.RsaEncryptionPadding"/>.</param>
            <returns><see langword="true" /> if the specified <see cref="T:MimeKit.Cryptography.RsaEncryptionPadding"/> is equal to the current
            <see cref="T:MimeKit.Cryptography.RsaEncryptionPadding"/>; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.RsaEncryptionPadding.Equals(System.Object)">
            <summary>
            Determines whether the specified object is equal to the current object.
            </summary>
            <remarks>
            The type of comparison between the current instance and the <paramref name="obj"/> parameter depends on whether
            the current instance is a reference type or a value type.
            </remarks>
            <param name="obj">The object to compare with the current object.</param>
            <returns><see langword="true" /> if the specified object is equal to the current object; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.RsaEncryptionPadding.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <remarks>
            Returns the hash code for this instance.
            </remarks>
            <returns>A hash code for the current object.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.RsaEncryptionPadding.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current
            <see cref="T:MimeKit.Cryptography.RsaEncryptionPadding"/>.
            </summary>
            <remarks>
            Creates a string-representation of the <see cref="T:MimeKit.Cryptography.RsaEncryptionPadding"/>.
            </remarks>
            <returns>A <see cref="T:System.String"/> that represents the current
            <see cref="T:MimeKit.Cryptography.RsaEncryptionPadding"/>.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.RsaEncryptionPadding.op_Equality(MimeKit.Cryptography.RsaEncryptionPadding,MimeKit.Cryptography.RsaEncryptionPadding)">
            <summary>
            Compare two <see cref="T:MimeKit.Cryptography.RsaEncryptionPadding"/> objects for equality.
            </summary>
            <remarks>
            Compares two <see cref="T:MimeKit.Cryptography.RsaEncryptionPadding"/> objects for equality.
            </remarks>
            <param name="left">The first object to compare.</param>
            <param name="right">The second object to compare.</param>
            <returns><see langword="true" /> if <paramref name="left"/> and <paramref name="right"/> are equal; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.RsaEncryptionPadding.op_Inequality(MimeKit.Cryptography.RsaEncryptionPadding,MimeKit.Cryptography.RsaEncryptionPadding)">
            <summary>
            Compare two <see cref="T:MimeKit.Cryptography.RsaEncryptionPadding"/> objects for inequality.
            </summary>
            <remarks>
            Compares two <see cref="T:MimeKit.Cryptography.RsaEncryptionPadding"/> objects for inequality.
            </remarks>
            <param name="left">The first object to compare.</param>
            <param name="right">The second object to compare.</param>
            <returns><see langword="true" /> if <paramref name="left"/> and <paramref name="right"/> are unequal; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.RsaEncryptionPadding.CreateOaep(MimeKit.Cryptography.DigestAlgorithm)">
            <summary>
            Create a new <see cref="T:MimeKit.Cryptography.RsaEncryptionPadding"/> using <see cref="F:MimeKit.Cryptography.RsaEncryptionPaddingScheme.Oaep"/> and the specified hash algorithm.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.RsaEncryptionPadding"/> using <see cref="F:MimeKit.Cryptography.RsaEncryptionPaddingScheme.Oaep"/> and the specified hash algorithm.
            </remarks>
            <param name="hashAlgorithm">The hash algorithm.</param>
            <returns>An <see cref="T:MimeKit.Cryptography.RsaEncryptionPadding"/> using <see cref="F:MimeKit.Cryptography.RsaEncryptionPaddingScheme.Oaep"/> and the specified hash algorithm.</returns>
            <exception cref="T:System.NotSupportedException">
            The <paramref name="hashAlgorithm"/> is not supported.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.RsaEncryptionPaddingScheme">
            <summary>
            The RSA encryption padding schemes used by S/MIME.
            </summary>
            <remarks>
            The RSA encryption padding schemes used by S/MIME as described in
            <a href="https://tools.ietf.org/html/rfc8017">rfc8017</a>.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.RsaEncryptionPaddingScheme.Pkcs1">
            <summary>
            The PKCS #1 v1.5 encryption padding scheme.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.RsaEncryptionPaddingScheme.Oaep">
            <summary>
            The Optimal Asymmetric Encryption Padding (OAEP) scheme.
            </summary>
        </member>
        <member name="T:MimeKit.Cryptography.RsaSignaturePadding">
            <summary>
            The RSA signature padding schemes and parameters used by S/MIME.
            </summary>
            <remarks>
            The RSA signature padding schemes and parameters used by S/MIME as described in
            <a href="https://tools.ietf.org/html/rfc8017">rfc8017</a>.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.RsaSignaturePadding.Pkcs1">
            <summary>
            The PKCS #1 v1.5 signature padding.
            </summary>
            <remarks>
            The PKCS #1 v1.5 signature padding.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.RsaSignaturePadding.Pss">
            <summary>
            The Probibilistic Signature Scheme (PSS) padding.
            </summary>
            <remarks>
            The Probibilistic Signature Scheme (PSS) padding.
            </remarks>
        </member>
        <member name="P:MimeKit.Cryptography.RsaSignaturePadding.Scheme">
            <summary>
            Get the RSA signature padding scheme.
            </summary>
            <remarks>
            Gets the RSA signature padding scheme.
            </remarks>
            <value>The RSA signature padding scheme.</value>
        </member>
        <member name="M:MimeKit.Cryptography.RsaSignaturePadding.Equals(MimeKit.Cryptography.RsaSignaturePadding)">
            <summary>
            Determines whether the specified <see cref="T:MimeKit.Cryptography.RsaSignaturePadding"/> is equal to the current <see cref="T:MimeKit.Cryptography.RsaSignaturePadding"/>.
            </summary>
            <remarks>
            Compares two RSA Signature paddings to determine if they are identical or not.
            </remarks>
            <param name="other">The <see cref="T:MimeKit.Cryptography.RsaSignaturePadding"/> to compare with the current <see cref="T:MimeKit.Cryptography.RsaSignaturePadding"/>.</param>
            <returns><see langword="true" /> if the specified <see cref="T:MimeKit.Cryptography.RsaSignaturePadding"/> is equal to the current
            <see cref="T:MimeKit.Cryptography.RsaSignaturePadding"/>; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.RsaSignaturePadding.Equals(System.Object)">
            <summary>
            Determines whether the specified object is equal to the current object.
            </summary>
            <remarks>
            The type of comparison between the current instance and the <paramref name="obj"/> parameter depends on whether
            the current instance is a reference type or a value type.
            </remarks>
            <param name="obj">The object to compare with the current object.</param>
            <returns><see langword="true" /> if the specified object is equal to the current object; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.RsaSignaturePadding.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <remarks>
            Returns the hash code for this instance.
            </remarks>
            <returns>A hash code for the current object.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.RsaSignaturePadding.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current
            <see cref="T:MimeKit.Cryptography.RsaSignaturePadding"/>.
            </summary>
            <remarks>
            Creates a string-representation of the <see cref="T:MimeKit.Cryptography.RsaSignaturePadding"/>.
            </remarks>
            <returns>A <see cref="T:System.String"/> that represents the current
            <see cref="T:MimeKit.Cryptography.RsaSignaturePadding"/>.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.RsaSignaturePadding.op_Equality(MimeKit.Cryptography.RsaSignaturePadding,MimeKit.Cryptography.RsaSignaturePadding)">
            <summary>
            Compare two <see cref="T:MimeKit.Cryptography.RsaSignaturePadding"/> objects for equality.
            </summary>
            <remarks>
            Compares two <see cref="T:MimeKit.Cryptography.RsaSignaturePadding"/> objects for equality.
            </remarks>
            <param name="left">The first object to compare.</param>
            <param name="right">The second object to compare.</param>
            <returns><see langword="true" /> if <paramref name="left"/> and <paramref name="right"/> are equal; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.RsaSignaturePadding.op_Inequality(MimeKit.Cryptography.RsaSignaturePadding,MimeKit.Cryptography.RsaSignaturePadding)">
            <summary>
            Compare two <see cref="T:MimeKit.Cryptography.RsaSignaturePadding"/> objects for inequality.
            </summary>
            <remarks>
            Compares two <see cref="T:MimeKit.Cryptography.RsaSignaturePadding"/> objects for inequality.
            </remarks>
            <param name="left">The first object to compare.</param>
            <param name="right">The second object to compare.</param>
            <returns><see langword="true" /> if <paramref name="left"/> and <paramref name="right"/> are unequal; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="T:MimeKit.Cryptography.RsaSignaturePaddingScheme">
            <summary>
            The RSA signature padding schemes used by S/MIME.
            </summary>
            <remarks>
            The RSA signature padding schemes used by S/MIME as described in
            <a href="https://tools.ietf.org/html/rfc8017">rfc8017</a>.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.RsaSignaturePaddingScheme.Pkcs1">
            <summary>
            The PKCS #1 v1.5 signature padding scheme.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.RsaSignaturePaddingScheme.Pss">
            <summary>
            The Probibilistic Signature Scheme (PSS).
            </summary>
        </member>
        <member name="T:MimeKit.Cryptography.SecureMailboxAddress">
            <summary>
            A secure mailbox address which includes a fingerprint for a certificate.
            </summary>
            <remarks>
            <para>When signing or encrypting a message, it is necessary to look up the
            X.509 certificate in order to do the actual sign or encrypt operation. One
            way of accomplishing this is to use the email address of sender or recipient
            as a unique identifier. However, a better approach is to use the fingerprint
            (or 'thumbprint' in Microsoft parlance) of the user's certificate.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMailboxAddress.#ctor(System.Text.Encoding,System.String,System.Collections.Generic.IEnumerable{System.String},System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/> with the specified fingerprint.
            </remarks>
            <param name="encoding">The character encoding to be used for encoding the name.</param>
            <param name="name">The name of the mailbox.</param>
            <param name="route">The route of the mailbox.</param>
            <param name="address">The address of the mailbox.</param>
            <param name="fingerprint">The fingerprint of the certificate belonging to the owner of the mailbox.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="route"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="address"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fingerprint"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMailboxAddress.#ctor(System.String,System.Collections.Generic.IEnumerable{System.String},System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/> with the specified fingerprint.
            </remarks>
            <param name="name">The name of the mailbox.</param>
            <param name="route">The route of the mailbox.</param>
            <param name="address">The address of the mailbox.</param>
            <param name="fingerprint">The fingerprint of the certificate belonging to the owner of the mailbox.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="route"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="address"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fingerprint"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMailboxAddress.#ctor(System.Text.Encoding,System.String,System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/> with the specified fingerprint.
            </remarks>
            <param name="encoding">The character encoding to be used for encoding the name.</param>
            <param name="name">The name of the mailbox.</param>
            <param name="address">The address of the mailbox.</param>
            <param name="fingerprint">The fingerprint of the certificate belonging to the owner of the mailbox.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="address"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fingerprint"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMailboxAddress.#ctor(System.String,System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/> with the specified fingerprint.
            </remarks>
            <param name="name">The name of the mailbox.</param>
            <param name="address">The address of the mailbox.</param>
            <param name="fingerprint">The fingerprint of the certificate belonging to the owner of the mailbox.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="address"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fingerprint"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMailboxAddress.Fingerprint">
            <summary>
            Gets the fingerprint of the certificate and/or key to use for signing or encrypting.
            </summary>
            <remarks>
            A fingerprint is a SHA-1 hash of the raw certificate data and is often used
            as a unique identifier for a particular certificate in a certificate store.
            </remarks>
            <seealso cref="P:System.Security.Cryptography.X509Certificates.X509Certificate2.Thumbprint"/>
            <seealso cref="T:MimeKit.Cryptography.BouncyCastleCertificateExtensions"/>
            <value>The fingerprint of the certificate.</value>
        </member>
        <member name="T:MimeKit.Cryptography.SecureMimeContext">
            <summary>
            A Secure MIME (S/MIME) cryptography context.
            </summary>
            <remarks>
            Generally speaking, applications should not use a <see cref="T:MimeKit.Cryptography.SecureMimeContext"/>
            directly, but rather via higher level APIs such as <see cref="T:MimeKit.Cryptography.MultipartSigned"/>
            and <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.SecureMimeContext"/> class.
            </summary>
            <remarks>
            <para>Enables the following encryption algorithms by default:</para>
            <list type="bullet">
            <item><see cref="F:MimeKit.Cryptography.EncryptionAlgorithm.Aes256"/></item>
            <item><see cref="F:MimeKit.Cryptography.EncryptionAlgorithm.Aes192"/></item>
            <item><see cref="F:MimeKit.Cryptography.EncryptionAlgorithm.Aes128"/></item>
            <item><see cref="F:MimeKit.Cryptography.EncryptionAlgorithm.Camellia256"/></item>
            <item><see cref="F:MimeKit.Cryptography.EncryptionAlgorithm.Camellia192"/></item>
            <item><see cref="F:MimeKit.Cryptography.EncryptionAlgorithm.Camellia128"/></item>
            <item><see cref="F:MimeKit.Cryptography.EncryptionAlgorithm.Cast5"/></item>
            <item><see cref="F:MimeKit.Cryptography.EncryptionAlgorithm.TripleDes"/></item>
            <item><see cref="F:MimeKit.Cryptography.EncryptionAlgorithm.Seed"/></item>
            </list>
            </remarks>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeContext.SignatureProtocol">
            <summary>
            Get the signature protocol.
            </summary>
            <remarks>
            <para>The signature protocol is used by <see cref="T:MimeKit.Cryptography.MultipartSigned"/>
            in order to determine what the protocol parameter of the Content-Type
            header should be.</para>
            </remarks>
            <value>The signature protocol.</value>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeContext.EncryptionProtocol">
            <summary>
            Get the encryption protocol.
            </summary>
            <remarks>
            <para>The encryption protocol is used by <see cref="T:MimeKit.Cryptography.MultipartEncrypted"/>
            in order to determine what the protocol parameter of the Content-Type
            header should be.</para>
            </remarks>
            <value>The encryption protocol.</value>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeContext.KeyExchangeProtocol">
            <summary>
            Get the key exchange protocol.
            </summary>
            <remarks>
            Gets the key exchange protocol.
            </remarks>
            <value>The key exchange protocol.</value>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.Supports(System.String)">
            <summary>
            Check whether the specified protocol is supported by the <see cref="T:MimeKit.Cryptography.CryptographyContext"/>.
            </summary>
            <remarks>
            Used in order to make sure that the protocol parameter value specified in either a multipart/signed
            or multipart/encrypted part is supported by the supplied cryptography context.
            </remarks>
            <returns><see langword="true" /> if the protocol is supported; otherwise, <see langword="false" /></returns>
            <param name="protocol">The protocol.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="protocol"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.GetDigestAlgorithmName(MimeKit.Cryptography.DigestAlgorithm)">
            <summary>
            Get the string name of the digest algorithm for use with the micalg parameter of a multipart/signed part.
            </summary>
            <remarks>
            <para>Maps the <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> to the appropriate string identifier
            as used by the micalg parameter value of a multipart/signed Content-Type
            header. For example:</para>
            <list type="table">
            <listheader><term>Algorithm</term><description>Name</description></listheader>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.MD2"/></term><description>md2</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.MD4"/></term><description>md4</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.MD5"/></term><description>md5</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha1"/></term><description>sha-1</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha224"/></term><description>sha-224</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha256"/></term><description>sha-256</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha384"/></term><description>sha-384</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha512"/></term><description>sha-512</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Tiger192"/></term><description>tiger-192</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.RipeMD160"/></term><description>ripemd160</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Haval5160"/></term><description>haval-5-160</description></item>
            </list>
            </remarks>
            <returns>The micalg value.</returns>
            <param name="micalg">The digest algorithm.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="micalg"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.GetDigestAlgorithm(System.String)">
            <summary>
            Get the digest algorithm from the micalg parameter value in a multipart/signed part.
            </summary>
            <remarks>
            Maps the micalg parameter value string back to the appropriate <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/>.
            <para>Maps the micalg parameter value string back to the appropriate <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/></para>
            <list type="table">
            <listheader><term>Algorithm</term><description>Name</description></listheader>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.MD2"/></term><description>md2</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.MD4"/></term><description>md4</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.MD5"/></term><description>md5</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha1"/></term><description>sha-1</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha224"/></term><description>sha-224</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha256"/></term><description>sha-256</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha384"/></term><description>sha-384</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Sha512"/></term><description>sha-512</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Tiger192"/></term><description>tiger-192</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.RipeMD160"/></term><description>ripemd160</description></item>
            <item><term><see cref="F:MimeKit.Cryptography.DigestAlgorithm.Haval5160"/></term><description>haval-5-160</description></item>
            </list>
            </remarks>
            <returns>The digest algorithm.</returns>
            <param name="micalg">The micalg parameter value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="micalg"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.GetDigestOid(MimeKit.Cryptography.DigestAlgorithm)">
            <summary>
            Get the OID for the digest algorithm.
            </summary>
            <remarks>
            Gets the OID for the digest algorithm.
            </remarks>
            <returns>The digest oid.</returns>
            <param name="digestAlgo">The digest algorithm.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.GetPreferredEncryptionAlgorithm(MimeKit.Cryptography.CmsRecipientCollection)">
            <summary>
            Get the preferred encryption algorithm to use for encrypting to the specified recipients.
            </summary>
            <remarks>
            <para>Gets the preferred encryption algorithm to use for encrypting to the specified recipients
            based on the encryption algorithms supported by each of the recipients, the
            <see cref="P:MimeKit.Cryptography.CryptographyContext.EnabledEncryptionAlgorithms"/>, and the
            <see cref="P:MimeKit.Cryptography.CryptographyContext.EncryptionAlgorithmRank"/>.</para>
            <para>If the supported encryption algorithms are unknown for any recipient, it is assumed that
            the recipient supports at least the Triple-DES encryption algorithm.</para>
            </remarks>
            <returns>The preferred encryption algorithm.</returns>
            <param name="recipients">The recipients.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.Compress(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Compress the specified stream.
            </summary>
            <remarks>
            Compresses the specified stream.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the compressed content.</returns>
            <param name="stream">The stream to compress.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.CompressAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously compress the specified stream.
            </summary>
            <remarks>
            Asynchronously compresses the specified stream.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the compressed content.</returns>
            <param name="stream">The stream to compress.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.Decompress(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Decompress the specified stream.
            </summary>
            <remarks>
            Decompresses the specified stream.
            </remarks>
            <returns>The decompressed mime part.</returns>
            <param name="stream">The stream to decompress.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.DecompressAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decompress the specified stream.
            </summary>
            <remarks>
            Asynchronously decompresses the specified stream.
            </remarks>
            <returns>The decompressed mime part.</returns>
            <param name="stream">The stream to decompress.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.DecompressTo(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Decompress the specified stream to an output stream.
            </summary>
            <remarks>
            Decompresses the specified stream to an output stream.
            </remarks>
            <param name="stream">The stream to decompress.</param>
            <param name="output">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.DecompressToAsync(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decompress the specified stream to an output stream.
            </summary>
            <remarks>
            Asynchronously decompresses the specified stream to an output stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="stream">The stream to decompress.</param>
            <param name="output">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.EncapsulatedSign(MimeKit.Cryptography.CmsSigner,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign and encapsulate the content using the specified signer.
            </summary>
            <remarks>
            Signs and encapsulates the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.EncapsulatedSignAsync(MimeKit.Cryptography.CmsSigner,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign and encapsulate the content using the specified signer.
            </summary>
            <remarks>
            Asynchronously signs and encapsulates the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.EncapsulatedSign(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign and encapsulate the content using the specified signer and digest algorithm.
            </summary>
            <remarks>
            Signs and encapsulates the content using the specified signer and digest algorithm.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.EncapsulatedSignAsync(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign and encapsulate the content using the specified signer and digest algorithm.
            </summary>
            <remarks>
            Asynchronously signs and encapsulates the content using the specified signer and digest algorithm.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.Sign(MimeKit.Cryptography.CmsSigner,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign the content using the specified signer.
            </summary>
            <remarks>
            Signs the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Signature"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.SignAsync(MimeKit.Cryptography.CmsSigner,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign the content using the specified signer.
            </summary>
            <remarks>
            Asynchronously signs the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Signature"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.Verify(System.IO.Stream,MimeKit.MimeEntity@,System.Threading.CancellationToken)">
            <summary>
            Verify the digital signatures of the specified signed data and extract the original content.
            </summary>
            <remarks>
            Verifies the digital signatures of the specified signed data and extracts the original content.
            </remarks>
            <returns>The list of digital signatures.</returns>
            <param name="signedData">The signed data.</param>
            <param name="entity">The extracted MIME entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.FormatException">
            The extracted content could not be parsed as a MIME entity.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.Verify(System.IO.Stream,MimeKit.Cryptography.DigitalSignatureCollection@,System.Threading.CancellationToken)">
            <summary>
            Verify the digital signatures of the specified signed data and extract the original content.
            </summary>
            <remarks>
            Verifies the digital signatures of the specified signed data and extracts the original content.
            </remarks>
            <returns>The extracted content stream.</returns>
            <param name="signedData">The signed data.</param>
            <param name="signatures">The digital signatures.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.Encrypt(MimeKit.Cryptography.CmsRecipientCollection,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Encrypts the specified content for the specified recipients.
            </summary>
            <remarks>
            Encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the encrypted content.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.EncryptAsync(MimeKit.Cryptography.CmsRecipientCollection,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously encrypts the specified content for the specified recipients.
            </summary>
            <remarks>
            Asynchronously encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the encrypted content.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.DecryptTo(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Decrypts the specified encryptedData to an output stream.
            </summary>
            <remarks>
            Decrypts the specified encryptedData to an output stream.
            </remarks>
            <param name="encryptedData">The encrypted data.</param>
            <param name="decryptedData">The stream to write the decrypted data to.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encryptedData"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="decryptedData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.DecryptToAsync(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decrypts the specified encryptedData to an output stream.
            </summary>
            <remarks>
            Asynchronously decrypts the specified encryptedData to an output stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="encryptedData">The encrypted data.</param>
            <param name="decryptedData">The stream to write the decrypted data to.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encryptedData"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="decryptedData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.Import(System.IO.Stream,System.String,System.Threading.CancellationToken)">
            <summary>
            Imports certificates and keys from a pkcs12-encoded stream.
            </summary>
            <remarks>
            Imports certificates and keys from a pkcs12-encoded stream.
            </remarks>
            <param name="stream">The raw certificate and key data.</param>
            <param name="password">The password to unlock the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            Importing keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.ImportAsync(System.IO.Stream,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously imports certificates and keys from a pkcs12-encoded stream.
            </summary>
            <remarks>
            Asynchronously imports certificates and keys from a pkcs12-encoded stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="stream">The raw certificate and key data.</param>
            <param name="password">The password to unlock the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            Importing keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.Import(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Imports certificates and keys from a pkcs12 file.
            </summary>
            <remarks>
            Imports certificates and keys from a pkcs12 file.
            </remarks>
            <param name="fileName">The raw certificate and key data in pkcs12 format.</param>
            <param name="password">The password to unlock the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> does not contain a private key.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> does not contain a certificate that could be used for signing.</para>
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Importing keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.ImportAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously imports certificates and keys from a pkcs12 file.
            </summary>
            <remarks>
            Asynchronously imports certificates and keys from a pkcs12 file.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="fileName">The raw certificate and key data in pkcs12 format.</param>
            <param name="password">The password to unlock the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> does not contain a private key.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> does not contain a certificate that could be used for signing.</para>
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Importing keys is not supported by this cryptography context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.Import(Org.BouncyCastle.X509.X509Certificate,System.Threading.CancellationToken)">
            <summary>
            Import a certificate.
            </summary>
            <remarks>
            Imports a certificate.
            </remarks>
            <param name="certificate">The certificate.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.ImportAsync(Org.BouncyCastle.X509.X509Certificate,System.Threading.CancellationToken)">
            <summary>
            Asynchronously import a certificate.
            </summary>
            <remarks>
            Asynchronously imports a certificate.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="certificate">The certificate.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.Import(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Threading.CancellationToken)">
            <summary>
            Import a certificate.
            </summary>
            <remarks>
            Imports a certificate.
            </remarks>
            <param name="certificate">The certificate.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.ImportAsync(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Threading.CancellationToken)">
            <summary>
            Asynchronously import a certificate.
            </summary>
            <remarks>
            Asynchronously imports a certificate.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="certificate">The certificate.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.Import(Org.BouncyCastle.X509.X509Crl,System.Threading.CancellationToken)">
            <summary>
            Import a certificate revocation list.
            </summary>
            <remarks>
            Imports a certificate revocation list.
            </remarks>
            <param name="crl">The certificate revocation list.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="crl"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.ImportAsync(Org.BouncyCastle.X509.X509Crl,System.Threading.CancellationToken)">
            <summary>
            Asynchronously import a certificate revocation list.
            </summary>
            <remarks>
            Asynchronously imports a certificate revocation list.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="crl">The certificate revocation list.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="crl"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.Import(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Import certificates (as from a certs-only application/pkcs-mime part)
            from the specified stream.
            </summary>
            <remarks>
            Imports certificates (as from a certs-only application/pkcs-mime part)
            from the specified stream.
            </remarks>
            <param name="stream">The raw key data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeContext.ImportAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously import certificates (as from a certs-only application/pkcs-mime part)
            from the specified stream.
            </summary>
            <remarks>
            Asynchronously imports certificates (as from a certs-only application/pkcs-mime part)
            from the specified stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="stream">The raw key data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:Org.BouncyCastle.Cms.CmsException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.SecureMimeDigitalCertificate">
            <summary>
            An S/MIME digital certificate.
            </summary>
            <remarks>
            An S/MIME digital certificate.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeDigitalCertificate.#ctor(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.SecureMimeDigitalCertificate"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.SecureMimeDigitalCertificate"/>.
            </remarks>
            <param name="certificate">An X.509 certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeDigitalCertificate.Certificate">
            <summary>
            Get the X.509 certificate.
            </summary>
            <remarks>
            Gets the X.509 certificate.
            </remarks>
            <value>The certificate.</value>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeDigitalCertificate.PublicKeyAlgorithm">
            <summary>
            Get the public key algorithm supported by the certificate.
            </summary>
            <remarks>
            Gets the public key algorithm supported by the certificate.
            </remarks>
            <value>The public key algorithm.</value>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeDigitalCertificate.CreationDate">
            <summary>
            Get the date that the certificate was created.
            </summary>
            <remarks>
            Gets the date that the certificate was created.
            </remarks>
            <value>The creation date.</value>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeDigitalCertificate.ExpirationDate">
            <summary>
            Get the expiration date of the certificate.
            </summary>
            <remarks>
            Gets the expiration date of the certificate.
            </remarks>
            <value>The expiration date.</value>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeDigitalCertificate.Fingerprint">
            <summary>
            Get the fingerprint of the certificate.
            </summary>
            <remarks>
            Gets the fingerprint of the certificate.
            </remarks>
            <value>The fingerprint.</value>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeDigitalCertificate.Email">
            <summary>
            Get the email address of the owner of the certificate.
            </summary>
            <remarks>
            Gets the email address of the owner of the certificate.
            </remarks>
            <value>The email address.</value>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeDigitalCertificate.DnsNames">
            <summary>
            Get the DNS names of the owner of the certificate.
            </summary>
            <remarks>
            Gets the DNS names of the owner of the certificate.
            </remarks>
            <value>The DNS name.</value>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeDigitalCertificate.Name">
            <summary>
            Get the name of the owner of the certificate.
            </summary>
            <remarks>
            Gets the name of the owner of the certificate.
            </remarks>
            <value>The name of the owner.</value>
        </member>
        <member name="T:MimeKit.Cryptography.SecureMimeDigitalSignature">
            <summary>
            An S/MIME digital signature.
            </summary>
            <remarks>
            An S/MIME digital signature.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeDigitalSignature.#ctor(Org.BouncyCastle.Cms.SignerInformation,Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.SecureMimeDigitalSignature"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.SecureMimeDigitalSignature"/>.
            </remarks>
            <param name="signerInfo">The information about the signer.</param>
            <param name="certificate">The signer's certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signerInfo"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeDigitalSignature.SignerInfo">
            <summary>
            Gets the signer info.
            </summary>
            <remarks>
            Gets the signer info.
            </remarks>
            <value>The signer info.</value>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeDigitalSignature.EncryptionAlgorithms">
            <summary>
            Gets the list of encryption algorithms, in preferential order,
            that the signer's client supports.
            </summary>
            <remarks>
            Gets the list of encryption algorithms, in preferential order,
            that the signer's client supports.
            </remarks>
            <value>The S/MIME encryption algorithms.</value>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeDigitalSignature.Chain">
            <summary>
            Gets the certificate chain.
            </summary>
            <remarks>
            If building the certificate chain failed, this value will be <see langword="null"/> and
            <see cref="P:MimeKit.Cryptography.SecureMimeDigitalSignature.ChainException"/> will be set.
            </remarks>
            <value>The certificate chain.</value>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeDigitalSignature.ChainException">
            <summary>
            The exception that occurred, if any, while building the certificate chain.
            </summary>
            <remarks>
            This will only be set if building the certificate chain failed.
            </remarks>
            <value>The exception.</value>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeDigitalSignature.SignerCertificate">
            <summary>
            Gets certificate used by the signer.
            </summary>
            <remarks>
            Gets certificate used by the signer.
            </remarks>
            <value>The signer's certificate.</value>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeDigitalSignature.PublicKeyAlgorithm">
            <summary>
            Gets the public key algorithm used for the signature.
            </summary>
            <remarks>
            Gets the public key algorithm used for the signature.
            </remarks>
            <value>The public key algorithm.</value>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeDigitalSignature.DigestAlgorithm">
            <summary>
            Gets the digest algorithm used for the signature.
            </summary>
            <remarks>
            Gets the digest algorithm used for the signature.
            </remarks>
            <value>The digest algorithm.</value>
        </member>
        <member name="P:MimeKit.Cryptography.SecureMimeDigitalSignature.CreationDate">
            <summary>
            Gets the creation date of the digital signature.
            </summary>
            <remarks>
            Gets the creation date of the digital signature.
            </remarks>
            <value>The creation date in coordinated universal time (UTC).</value>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeDigitalSignature.Verify">
            <summary>
            Verifies the digital signature.
            </summary>
            <remarks>
            Verifies the digital signature.
            </remarks>
            <returns><see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
            <exception cref="T:MimeKit.Cryptography.DigitalSignatureVerifyException">
            An error verifying the signature has occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SecureMimeDigitalSignature.Verify(System.Boolean)">
            <summary>
            Verifies the digital signature.
            </summary>
            <remarks>
            Verifies the digital signature.
            </remarks>
            <param name="verifySignatureOnly"><see langword="true" /> if only the signature itself should be verified; otherwise, both the signature and the certificate chain are validated.</param>
            <returns><see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
            <exception cref="T:MimeKit.Cryptography.DigitalSignatureVerifyException">
            An error verifying the signature has occurred.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.SecureMimeType">
            <summary>
            The type of S/MIME data that an application/pkcs7-mime part contains.
            </summary>
            <remarks>
            The type of S/MIME data that an application/pkcs7-mime part contains.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.SecureMimeType.Unknown">
            <summary>
            The S/MIME data type is unknown.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.SecureMimeType.CompressedData">
            <summary>
            The S/MIME content is compressed.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.SecureMimeType.EnvelopedData">
            <summary>
            The S/MIME content is encrypted.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.SecureMimeType.SignedData">
            <summary>
            The S/MIME content is signed.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.SecureMimeType.CertsOnly">
            <summary>
            The S/MIME content contains only certificates.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.SecureMimeType.AuthEnvelopedData">
            <summary>
            The S/MIME content is both signed and encrypted.
            </summary>
        </member>
        <member name="T:MimeKit.Cryptography.SqlCertificateDatabase">
            <summary>
            An abstract X.509 certificate database built on generic SQL storage.
            </summary>
            <remarks>
            <para>An X.509 certificate database is used for storing certificates, metdata related to the certificates
            (such as encryption algorithms supported by the associated client), certificate revocation lists (CRLs),
            and private keys.</para>
            <para>This particular database uses SQLite to store the data.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.#ctor(System.Data.Common.DbConnection,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.SqlCertificateDatabase"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.SqlCertificateDatabase"/> using the provided database connection.
            </remarks>
            <param name="connection">The database connection.</param>
            <param name="password">The password used for encrypting and decrypting the private keys.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="connection"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.#ctor(System.Data.Common.DbConnection,System.String,Org.BouncyCastle.Security.SecureRandom)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.SqlCertificateDatabase"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.SqlCertificateDatabase"/> using the provided database connection.
            </remarks>
            <param name="connection">The database connection.</param>
            <param name="password">The password used for encrypting and decrypting the private keys.</param>
            <param name="random">The secure pseuido-random number generator.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="connection"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="random"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.SqlCertificateDatabase.CertificatesTable">
            <summary>
            Get the X.509 certificate table definition.
            </summary>
            <remarks>
            Gets the X.509 certificate table definition.
            </remarks>
            <value>The X.509 certificates table definition.</value>
        </member>
        <member name="P:MimeKit.Cryptography.SqlCertificateDatabase.CrlsTable">
            <summary>
            Get the X.509 certificate revocation lists (CRLs) table definition.
            </summary>
            <remarks>
            Gets the X.509 certificate revocation lists (CRLs) table definition.
            </remarks>
            <value>The X.509 certificate revocation lists table definition.</value>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.GetTableColumns(System.Data.Common.DbConnection,System.String)">
            <summary>
            Gets the columns for the specified table.
            </summary>
            <remarks>
            Gets the list of columns for the specified table.
            </remarks>
            <param name="connection">The database connection.</param>
            <param name="tableName">The name of the table.</param>
            <returns>The list of columns.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.CreateTable(System.Data.Common.DbConnection,System.Data.DataTable)">
            <summary>
            Gets the command to create a table.
            </summary>
            <remarks>
            Constructs the command to create a table.
            </remarks>
            <param name="connection">The database connection.</param>
            <param name="table">The table.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.AddTableColumn(System.Data.Common.DbConnection,System.Data.DataTable,System.Data.DataColumn)">
            <summary>
            Adds a column to a table.
            </summary>
            <remarks>
            Adds a column to a table.
            </remarks>
            <param name="connection">The database connection.</param>
            <param name="table">The table.</param>
            <param name="column">The column to add.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.GetIndexName(System.String,System.String[])">
            <summary>
            Gets the name of an index based on the table and columns that it is built against.
            </summary>
            <remarks>
            Gets the name of an index based on the table and columns that it is built against.
            </remarks>
            <param name="tableName">The name of the table.</param>
            <param name="columnNames">The names of the columns that are indexed.</param>
            <returns>The name of the index for the specified table and columns.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.CreateIndex(System.Data.Common.DbConnection,System.String,System.String[])">
            <summary>
            Creates an index for faster table lookups.
            </summary>
            <remarks>
            Creates an index for faster table lookups.
            </remarks>
            <param name="connection">The database connection.</param>
            <param name="tableName">The name of the table.</param>
            <param name="columnNames">The names of the columns to index.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.RemoveIndex(System.Data.Common.DbConnection,System.String,System.String[])">
            <summary>
            Removes an index that is no longer needed.
            </summary>
            <remarks>
            Removes an index that is no longer needed.
            </remarks>
            <param name="connection">The database connection.</param>
            <param name="tableName">The name of the table.</param>
            <param name="columnNames">The names of the columns that were indexed.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.CreateSelectQuery(MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Creates a SELECT query string builder for the specified fields of an X.509 certificate record.
            </summary>
            <remarks>
            Creates a SELECT query string builder for the specified fields of an X.509 certificate record.
            </remarks>
            <param name="fields">The X.509 certificate fields.</param>
            <returns>A <see cref="T:System.Text.StringBuilder"/> containing a basic SELECT query string.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.CreateSelectQuery(MimeKit.Cryptography.X509CrlRecordFields)">
            <summary>
            Creates a SELECT query string builder for the specified fields of an X.509 CRL record.
            </summary>
            <remarks>
            Creates a SELECT query string builder for the specified fields of an X.509 CRL record.
            </remarks>
            <param name="fields">The X.509 CRL fields.</param>
            <returns>A <see cref="T:System.Text.StringBuilder"/> containing a basic SELECT query string.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.GetSelectCommand(System.Data.Common.DbConnection,Org.BouncyCastle.X509.X509Certificate,MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Gets the database command to select the record matching the specified certificate.
            </summary>
            <remarks>
            Gets the database command to select the record matching the specified certificate.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="certificate">The certificate.</param>
            <param name="fields">The fields to return.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.GetSelectCommand(System.Data.Common.DbConnection,MimeKit.MailboxAddress,System.DateTime,System.Boolean,MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Get the database command to select the certificate records for the specified mailbox.
            </summary>
            <remarks>
            Gets the database command to select the certificate records for the specified mailbox.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="mailbox">The mailbox.</param>
            <param name="now">The date and time for which the certificate should be valid.</param>
            <param name="requirePrivateKey">true</param>
            <param name="fields">The fields to return.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.GetSelectCommand(System.Data.Common.DbConnection,Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate},System.Boolean,System.Boolean,MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Get the database command to select the requested certificate records.
            </summary>
            <remarks>
            Gets the database command to select the requested certificate records.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="selector">The certificate selector.</param>
            <param name="trustedAnchorsOnly"><see langword="true" /> if only trusted anchor certificates should be matched; otherwise, <see langword="false" />.</param>
            <param name="requirePrivateKey"><see langword="true" /> if the certificate must have a private key; otherwise, <see langword="false" />.</param>
            <param name="fields">The fields to return.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.GetSelectCommand(System.Data.Common.DbConnection,Org.BouncyCastle.Asn1.X509.X509Name,MimeKit.Cryptography.X509CrlRecordFields)">
            <summary>
            Gets the database command to select the CRL records matching the specified issuer.
            </summary>
            <remarks>
            Gets the database command to select the CRL records matching the specified issuer.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="issuer">The issuer.</param>
            <param name="fields">The fields to return.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.GetSelectCommand(System.Data.Common.DbConnection,Org.BouncyCastle.X509.X509Crl,MimeKit.Cryptography.X509CrlRecordFields)">
            <summary>
            Gets the database command to select the record for the specified CRL.
            </summary>
            <remarks>
            Gets the database command to select the record for the specified CRL.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="crl">The X.509 CRL.</param>
            <param name="fields">The fields to return.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.GetSelectAllCrlsCommand(System.Data.Common.DbConnection)">
            <summary>
            Gets the database command to select all CRLs in the table.
            </summary>
            <remarks>
            Gets the database command to select all CRLs in the table.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.GetDeleteCommand(System.Data.Common.DbConnection,MimeKit.Cryptography.X509CertificateRecord)">
            <summary>
            Gets the database command to delete the specified certificate record.
            </summary>
            <remarks>
            Gets the database command to delete the specified certificate record.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="record">The certificate record.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.GetDeleteCommand(System.Data.Common.DbConnection,MimeKit.Cryptography.X509CrlRecord)">
            <summary>
            Gets the database command to delete the specified CRL record.
            </summary>
            <remarks>
            Gets the database command to delete the specified CRL record.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="record">The record.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.GetInsertCommand(System.Data.Common.DbConnection,MimeKit.Cryptography.X509CertificateRecord)">
            <summary>
            Gets the database command to insert the specified certificate record.
            </summary>
            <remarks>
            Gets the database command to insert the specified certificate record.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="record">The certificate record.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.GetInsertCommand(System.Data.Common.DbConnection,MimeKit.Cryptography.X509CrlRecord)">
            <summary>
            Gets the database command to insert the specified CRL record.
            </summary>
            <remarks>
            Gets the database command to insert the specified CRL record.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="record">The CRL record.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.GetUpdateCommand(System.Data.Common.DbConnection,MimeKit.Cryptography.X509CertificateRecord,MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Gets the database command to update the specified record.
            </summary>
            <remarks>
            Gets the database command to update the specified record.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="record">The certificate record.</param>
            <param name="fields">The fields to update.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.GetUpdateCommand(System.Data.Common.DbConnection,MimeKit.Cryptography.X509CrlRecord)">
            <summary>
            Gets the database command to update the specified CRL record.
            </summary>
            <remarks>
            Gets the database command to update the specified CRL record.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="record">The CRL record.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SqlCertificateDatabase.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.Cryptography.SqlCertificateDatabase"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.Cryptography.SqlCertificateDatabase"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MimeKit.Cryptography.SqliteCertificateDatabase">
            <summary>
            An X.509 certificate database built on SQLite.
            </summary>
            <remarks>
            <para>An X.509 certificate database is used for storing certificates, metdata related to the certificates
            (such as encryption algorithms supported by the associated client), certificate revocation lists (CRLs),
            and private keys.</para>
            <para>This particular database uses SQLite to store the data.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.SqliteCertificateDatabase.#ctor(System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.SqliteCertificateDatabase"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.Cryptography.SqliteCertificateDatabase"/> and opens a connection to the
            SQLite database at the specified path using the Mono.Data.Sqlite binding to the native
            SQLite library.</para>
            <para>If Mono.Data.Sqlite is not available or if an alternative binding to the native
            SQLite library is preferred, then consider using
            <see cref="M:MimeKit.Cryptography.SqlCertificateDatabase.#ctor(System.Data.Common.DbConnection,System.String)"/> instead.</para>
            </remarks>
            <param name="fileName">The file name.</param>
            <param name="password">The password used for encrypting and decrypting the private keys.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The specified file path is empty.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occurred reading the file.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SqliteCertificateDatabase.#ctor(System.String,System.String,Org.BouncyCastle.Security.SecureRandom)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.SqliteCertificateDatabase"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.Cryptography.SqliteCertificateDatabase"/> and opens a connection to the
            SQLite database at the specified path using the Mono.Data.Sqlite binding to the native
            SQLite library.</para>
            <para>If Mono.Data.Sqlite is not available or if an alternative binding to the native
            SQLite library is preferred, then consider using
            <see cref="M:MimeKit.Cryptography.SqlCertificateDatabase.#ctor(System.Data.Common.DbConnection,System.String,Org.BouncyCastle.Security.SecureRandom)"/> instead.</para>
            </remarks>
            <param name="fileName">The file name.</param>
            <param name="password">The password used for encrypting and decrypting the private keys.</param>
            <param name="random">The secure pseudo-random number generator.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="random"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The specified file path is empty.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occurred reading the file.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SqliteCertificateDatabase.#ctor(System.Data.Common.DbConnection,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.SqliteCertificateDatabase"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.SqliteCertificateDatabase"/> using the provided SQLite database connection.
            </remarks>
            <param name="connection">The SQLite connection.</param>
            <param name="password">The password used for encrypting and decrypting the private keys.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="connection"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SqliteCertificateDatabase.#ctor(System.Data.Common.DbConnection,System.String,Org.BouncyCastle.Security.SecureRandom)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.SqliteCertificateDatabase"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.SqliteCertificateDatabase"/> using the provided SQLite database connection.
            </remarks>
            <param name="connection">The SQLite connection.</param>
            <param name="password">The password used for encrypting and decrypting the private keys.</param>
            <param name="random">The secure pseudo-random number generator.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="connection"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="random"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SqliteCertificateDatabase.GetTableColumns(System.Data.Common.DbConnection,System.String)">
            <summary>
            Gets the columns for the specified table.
            </summary>
            <remarks>
            Gets the list of columns for the specified table.
            </remarks>
            <param name="connection">The database connection.</param>
            <param name="tableName">The name of the table.</param>
            <returns>The list of columns.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.SqliteCertificateDatabase.CreateTable(System.Data.Common.DbConnection,System.Data.DataTable)">
            <summary>
            Create a table.
            </summary>
            <remarks>
            Creates the specified table.
            </remarks>
            <param name="connection">The database connection.</param>
            <param name="table">The table.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SqliteCertificateDatabase.AddTableColumn(System.Data.Common.DbConnection,System.Data.DataTable,System.Data.DataColumn)">
            <summary>
            Adds a column to a table.
            </summary>
            <remarks>
            Adds a column to a table.
            </remarks>
            <param name="connection">The database connection.</param>
            <param name="table">The table.</param>
            <param name="column">The column to add.</param>
        </member>
        <member name="T:MimeKit.Cryptography.SQLServerCertificateDatabase">
            <summary>
            An X.509 certificate database built on SQL Server.
            </summary>
            <remarks>
            <para>An X.509 certificate database is used for storing certificates, metdata related to the certificates
            (such as encryption algorithms supported by the associated client), certificate revocation lists (CRLs),
            and private keys.</para>
            <para>This particular database uses SQL Server to store the data.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.SQLServerCertificateDatabase.#ctor(System.Data.Common.DbConnection,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.SQLServerCertificateDatabase"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.SQLServerCertificateDatabase"/> using the provided SQL Server database connection.
            </remarks>
            <param name="connection">The SQL Server connection.</param>
            <param name="password">The password used for encrypting and decrypting the private keys.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="connection"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SQLServerCertificateDatabase.#ctor(System.Data.Common.DbConnection,System.String,Org.BouncyCastle.Security.SecureRandom)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.SQLServerCertificateDatabase"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.SQLServerCertificateDatabase"/> using the provided SQL Server database connection.
            </remarks>
            <param name="connection">The SQL Server connection.</param>
            <param name="password">The password used for encrypting and decrypting the private keys.</param>
            <param name="random">The secure pseudo-random number generator.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="connection"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="random"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.SQLServerCertificateDatabase.AddTableColumn(System.Data.Common.DbConnection,System.Data.DataTable,System.Data.DataColumn)">
            <summary>
            Adds a column to a table.
            </summary>
            <remarks>
            Adds a column to a table.
            </remarks>
            <param name="connection">The database connection.</param>
            <param name="table">The table.</param>
            <param name="column">The column to add.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SQLServerCertificateDatabase.CreateTable(System.Data.Common.DbConnection,System.Data.DataTable)">
            <summary>
            Create a table.
            </summary>
            <remarks>
            Creates the specified table.
            </remarks>
            <param name="connection">The database connection.</param>
            <param name="table">The table.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SQLServerCertificateDatabase.GetTableColumns(System.Data.Common.DbConnection,System.String)">
            <summary>
            Gets the columns for the specified table.
            </summary>
            <remarks>
            Gets the list of columns for the specified table.
            </remarks>
            <param name="connection">The database connection.</param>
            <param name="tableName">The name of the table.</param>
            <returns>The list of columns.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.SQLServerCertificateDatabase.CreateIndex(System.Data.Common.DbConnection,System.String,System.String[])">
            <summary>
            Creates an index for faster table lookups.
            </summary>
            <remarks>
            Creates an index for faster table lookups.
            </remarks>
            <param name="connection">The database connection.</param>
            <param name="tableName">The name of the table.</param>
            <param name="columnNames">The names of the columns to index.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SQLServerCertificateDatabase.RemoveIndex(System.Data.Common.DbConnection,System.String,System.String[])">
            <summary>
            Removes an index that is no longer needed.
            </summary>
            <remarks>
            Removes an index that is no longer needed.
            </remarks>
            <param name="connection">The database connection.</param>
            <param name="tableName">The name of the table.</param>
            <param name="columnNames">The names of the columns that were indexed.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SQLServerCertificateDatabase.GetSelectCommand(System.Data.Common.DbConnection,Org.BouncyCastle.X509.X509Certificate,MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Gets the database command to select the record matching the specified certificate.
            </summary>
            <remarks>
            Gets the database command to select the record matching the specified certificate.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="certificate">The certificate.</param>
            <param name="fields">The fields to return.</param>
        </member>
        <member name="M:MimeKit.Cryptography.SQLServerCertificateDatabase.GetInsertCommand(System.Data.Common.DbConnection,MimeKit.Cryptography.X509CertificateRecord)">
            <summary>
            Gets the database command to insert the specified certificate record.
            </summary>
            <remarks>
            Gets the database command to insert the specified certificate record.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="record">The certificate record.</param>
        </member>
        <member name="T:MimeKit.Cryptography.SubjectIdentifierType">
            <summary>
            The method to use for identifying a certificate.
            </summary>
            <remarks>
            The method to use for identifying a certificate.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.SubjectIdentifierType.Unknown">
            <summary>
            The identifier type is unknown.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.SubjectIdentifierType.IssuerAndSerialNumber">
            <summary>
            Identify the certificate by its Issuer and Serial Number properties.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.SubjectIdentifierType.SubjectKeyIdentifier">
            <summary>
            Identify the certificate by the sha1 hash of its public key.
            </summary>
        </member>
        <member name="T:MimeKit.Cryptography.TemporarySecureMimeContext">
            <summary>
            An S/MIME context that does not persist certificates, private keys or CRLs.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.Cryptography.TemporarySecureMimeContext"/> is a special S/MIME context that
            does not use a persistent store for certificates, private keys, or CRLs.
            Instead, certificates, private keys, and CRLs are maintained in memory only.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.TemporarySecureMimeContext.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.TemporarySecureMimeContext"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.TemporarySecureMimeContext"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.TemporarySecureMimeContext.#ctor(Org.BouncyCastle.Security.SecureRandom)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.TemporarySecureMimeContext"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.TemporarySecureMimeContext"/>.
            </remarks>
            <param name="random">A secure pseudo-random number generator.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="random"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.TemporarySecureMimeContext.CanSign(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Check whether a particular mailbox address can be used for signing.
            </summary>
            <remarks>
            Checks whether as particular mailbocx address can be used for signing.
            </remarks>
            <returns><see langword="true" /> if the mailbox address can be used for signing; otherwise, <see langword="false" />.</returns>
            <param name="signer">The signer.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.TemporarySecureMimeContext.CanEncrypt(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Check whether the cryptography context can encrypt to a particular recipient.
            </summary>
            <remarks>
            Checks whether the cryptography context can be used to encrypt to a particular recipient.
            </remarks>
            <returns><see langword="true" /> if the cryptography context can be used to encrypt to the designated recipient; otherwise, <see langword="false" />.</returns>
            <param name="mailbox">The recipient's mailbox address.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailbox"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.TemporarySecureMimeContext.GetCertificate(Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Gets the X.509 certificate matching the specified selector.
            </summary>
            <remarks>
            Gets the first certificate that matches the specified selector.
            </remarks>
            <returns>The certificate on success; otherwise <see langword="null"/>.</returns>
            <param name="selector">The search criteria for the certificate.</param>
        </member>
        <member name="M:MimeKit.Cryptography.TemporarySecureMimeContext.GetPrivateKey(Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Gets the private key for the certificate matching the specified selector.
            </summary>
            <remarks>
            Gets the private key for the first certificate that matches the specified selector.
            </remarks>
            <returns>The private key on success; otherwise <see langword="null"/>.</returns>
            <param name="selector">The search criteria for the private key.</param>
        </member>
        <member name="M:MimeKit.Cryptography.TemporarySecureMimeContext.GetTrustedAnchors">
            <summary>
            Gets the trusted anchors.
            </summary>
            <remarks>
            A trusted anchor is a trusted root-level X.509 certificate,
            generally issued by a certificate authority (CA).
            </remarks>
            <returns>The trusted anchors.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.TemporarySecureMimeContext.GetIntermediateCertificates">
            <summary>
            Gets the intermediate certificates.
            </summary>
            <remarks>
            An intermediate certificate is any certificate that exists between the root
            certificate issued by a Certificate Authority (CA) and the certificate at
            the end of the chain.
            </remarks>
            <returns>The intermediate certificates.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.TemporarySecureMimeContext.GetCertificateRevocationLists">
            <summary>
            Gets the certificate revocation lists.
            </summary>
            <remarks>
            A Certificate Revocation List (CRL) is a list of certificate serial numbers issued
            by a particular Certificate Authority (CA) that have been revoked, either by the CA
            itself or by the owner of the revoked certificate.
            </remarks>
            <returns>The certificate revocation lists.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.TemporarySecureMimeContext.GetNextCertificateRevocationListUpdate(Org.BouncyCastle.Asn1.X509.X509Name)">
            <summary>
            Get the date &amp; time for the next scheduled certificate revocation list update for the specified issuer.
            </summary>
            <remarks>
            Gets the date &amp; time for the next scheduled certificate revocation list update for the specified issuer.
            </remarks>
            <returns>The date &amp; time for the next update.</returns>
            <param name="issuer">The issuer.</param>
        </member>
        <member name="M:MimeKit.Cryptography.TemporarySecureMimeContext.GetCmsRecipient(MimeKit.MailboxAddress)">
            <summary>
            Gets the <see cref="T:MimeKit.Cryptography.CmsRecipient"/> for the specified mailbox.
            </summary>
            <remarks>
            <para>Constructs a <see cref="T:MimeKit.Cryptography.CmsRecipient"/> with the appropriate certificate and
            <see cref="P:MimeKit.Cryptography.CmsRecipient.EncryptionAlgorithms"/> for the specified mailbox.</para>
            <para>If the mailbox is a <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/>, the
            <see cref="P:MimeKit.Cryptography.SecureMailboxAddress.Fingerprint"/> property will be used instead of
            the mailbox address.</para>
            </remarks>
            <returns>A <see cref="T:MimeKit.Cryptography.CmsRecipient"/>.</returns>
            <param name="mailbox">The mailbox.</param>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate for the specified <paramref name="mailbox"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.TemporarySecureMimeContext.GetCmsSigner(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm)">
            <summary>
            Gets the <see cref="T:MimeKit.Cryptography.CmsSigner"/> for the specified mailbox.
            </summary>
            <remarks>
            <para>Constructs a <see cref="T:MimeKit.Cryptography.CmsSigner"/> with the appropriate signing certificate
            for the specified mailbox.</para>
            <para>If the mailbox is a <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/>, the
            <see cref="P:MimeKit.Cryptography.SecureMailboxAddress.Fingerprint"/> property will be used instead of
            the mailbox address for database lookups.</para>
            </remarks>
            <returns>A <see cref="T:MimeKit.Cryptography.CmsSigner"/>.</returns>
            <param name="mailbox">The mailbox.</param>
            <param name="digestAlgo">The preferred digest algorithm.</param>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate for the specified <paramref name="mailbox"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.TemporarySecureMimeContext.UpdateSecureMimeCapabilities(Org.BouncyCastle.X509.X509Certificate,MimeKit.Cryptography.EncryptionAlgorithm[],System.DateTime)">
            <summary>
            Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate.
            </summary>
            <remarks>
            Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate.
            </remarks>
            <param name="certificate">The certificate.</param>
            <param name="algorithms">The encryption algorithm capabilities of the client (in preferred order).</param>
            <param name="timestamp">The timestamp.</param>
        </member>
        <member name="M:MimeKit.Cryptography.TemporarySecureMimeContext.Import(System.IO.Stream,System.String,System.Threading.CancellationToken)">
            <summary>
            Imports certificates and keys from a pkcs12-encoded stream.
            </summary>
            <remarks>
            Imports certificates and keys from a pkcs12-encoded stream.
            </remarks>
            <param name="stream">The raw certificate and key data in pkcs12 format.</param>
            <param name="password">The password to unlock the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.TemporarySecureMimeContext.ImportAsync(System.IO.Stream,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously imports certificates and keys from a pkcs12-encoded stream.
            </summary>
            <remarks>
            Asynchronously imports certificates and keys from a pkcs12-encoded stream.
            </remarks>
            <returns>Ayn asynchronous task context.</returns>
            <param name="stream">The raw certificate and key data in pkcs12 format.</param>
            <param name="password">The password to unlock the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.TemporarySecureMimeContext.Import(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Threading.CancellationToken)">
            <summary>
            Import a certificate.
            </summary>
            <remarks>
            Imports a certificate.
            </remarks>
            <param name="certificate">The certificate.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.TemporarySecureMimeContext.Import(Org.BouncyCastle.X509.X509Certificate,System.Threading.CancellationToken)">
            <summary>
            Import a certificate.
            </summary>
            <remarks>
            Imports a certificate.
            </remarks>
            <param name="certificate">The certificate.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.TemporarySecureMimeContext.Import(Org.BouncyCastle.X509.X509Crl,System.Threading.CancellationToken)">
            <summary>
            Import a certificate revocation list.
            </summary>
            <remarks>
            Imports a certificate revocation list.
            </remarks>
            <param name="crl">The certificate revocation list.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="crl"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.WindowsSecureMimeContext">
            <summary>
            A Secure MIME (S/MIME) cryptography context.
            </summary>
            <remarks>
            An S/MIME cryptography context that uses <see cref="T:System.Security.Cryptography.X509Certificates.X509Store"/>
            for certificate storage and retrieval.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.#ctor(System.Security.Cryptography.X509Certificates.StoreLocation)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.WindowsSecureMimeContext"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.WindowsSecureMimeContext"/>.
            </remarks>
            <param name="location">The X.509 store location.</param>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.WindowsSecureMimeContext"/> class.
            </summary>
            <remarks>
            Constructs an S/MIME context using the current user's X.509 store location.
            </remarks>
        </member>
        <member name="P:MimeKit.Cryptography.WindowsSecureMimeContext.StoreLocation">
            <summary>
            Gets the X.509 store location.
            </summary>
            <remarks>
            Gets the X.509 store location.
            </remarks>
            <value>The store location.</value>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.CanSign(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Check whether a particular mailbox address can be used for signing.
            </summary>
            <remarks>
            Checks whether as particular mailbocx address can be used for signing.
            </remarks>
            <returns><see langword="true" /> if the mailbox address can be used for signing; otherwise, <see langword="false" />.</returns>
            <param name="signer">The signer.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.CanEncrypt(MimeKit.MailboxAddress,System.Threading.CancellationToken)">
            <summary>
            Check whether the cryptography context can encrypt to a particular recipient.
            </summary>
            <remarks>
            Checks whether the cryptography context can be used to encrypt to a particular recipient.
            </remarks>
            <returns><see langword="true" /> if the cryptography context can be used to encrypt to the designated recipient; otherwise, <see langword="false" />.</returns>
            <param name="mailbox">The recipient's mailbox address.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailbox"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.GetRecipientCertificate(MimeKit.MailboxAddress)">
            <summary>
            Get the certificate for the specified recipient.
            </summary>
            <remarks>
            <para>Gets the certificate for the specified recipient.</para>
            <para>If the mailbox is a <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/>, the
            <see cref="P:MimeKit.Cryptography.SecureMailboxAddress.Fingerprint"/> property will be used instead of
            the mailbox address.</para>
            </remarks>
            <returns>The certificate to use for the recipient; otherwise, or <see langword="null"/>.</returns>
            <param name="mailbox">The recipient's mailbox address.</param>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.GetCmsRecipient(MimeKit.MailboxAddress)">
            <summary>
            Get the <see cref="T:System.Security.Cryptography.Pkcs.CmsRecipient"/> for the specified mailbox.
            </summary>
            <remarks>
            <para>Constructs a <see cref="T:System.Security.Cryptography.Pkcs.CmsRecipient"/> with
            the appropriate certificate for the specified mailbox.</para>
            <para>If the mailbox is a <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/>, the
            <see cref="P:MimeKit.Cryptography.SecureMailboxAddress.Fingerprint"/> property will be used instead of
            the mailbox address.</para>
            </remarks>
            <returns>A <see cref="T:MimeKit.Cryptography.CmsRecipient"/>.</returns>
            <param name="mailbox">The recipient's mailbox address.</param>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate for the specified <paramref name="mailbox"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.GetCmsRecipients(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress})">
            <summary>
            Get a collection of <see cref="T:System.Security.Cryptography.Pkcs.CmsRecipient"/> for the specified mailboxes.
            </summary>
            <remarks>
            Gets a collection of <see cref="T:System.Security.Cryptography.Pkcs.CmsRecipient"/> for the specified mailboxes.
            </remarks>
            <returns>A <see cref="T:MimeKit.Cryptography.CmsRecipientCollection"/>.</returns>
            <param name="mailboxes">The recipient mailboxes.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailboxes"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="mailboxes"/> is empty.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate for one or more of the specified <paramref name="mailboxes"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.GetSignerCertificate(MimeKit.MailboxAddress)">
            <summary>
            Get the certificate for the specified signer.
            </summary>
            <remarks>
            <para>Gets the certificate for the specified signer.</para>
            <para>If the mailbox is a <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/>, the
            <see cref="P:MimeKit.Cryptography.SecureMailboxAddress.Fingerprint"/> property will be used instead of
            the mailbox address.</para>
            </remarks>
            <returns>The certificate to use for the signer; otherwise, or <see langword="null"/>.</returns>
            <param name="mailbox">The signer's mailbox address.</param>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.GetCmsSigner(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm)">
            <summary>
            Get the <see cref="T:System.Security.Cryptography.Pkcs.CmsSigner"/> for the specified mailbox.
            </summary>
            <remarks>
            <para>Constructs a <see cref="T:System.Security.Cryptography.Pkcs.CmsSigner"/> with
            the appropriate signing certificate for the specified mailbox.</para>
            <para>If the mailbox is a <see cref="T:MimeKit.Cryptography.SecureMailboxAddress"/>, the
            <see cref="P:MimeKit.Cryptography.SecureMailboxAddress.Fingerprint"/> property will be used instead of
            the mailbox address for database lookups.</para>
            </remarks>
            <returns>A <see cref="T:System.Security.Cryptography.Pkcs.CmsSigner"/>.</returns>
            <param name="mailbox">The signer's mailbox address.</param>
            <param name="digestAlgo">The preferred digest algorithm.</param>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate for the specified <paramref name="mailbox"/> could not be found.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.UpdateSecureMimeCapabilities(System.Security.Cryptography.X509Certificates.X509Certificate2,MimeKit.Cryptography.EncryptionAlgorithm[],System.DateTime)">
            <summary>
            Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate.
            </summary>
            <remarks>
            <para>Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate.</para>
            <para>This method is called when decoding digital signatures that include S/MIME capabilities in the metadata, allowing custom
            implementations to update the X.509 certificate records with the list of preferred encryption algorithms specified by the
            sending client.</para>
            </remarks>
            <param name="certificate">The certificate.</param>
            <param name="algorithms">The encryption algorithm capabilities of the client (in preferred order).</param>
            <param name="timestamp">The timestamp.</param>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.EncapsulatedSign(MimeKit.Cryptography.CmsSigner,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign and encapsulate the content using the specified signer.
            </summary>
            <remarks>
            Signs and encapsulates the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.EncapsulatedSignAsync(MimeKit.Cryptography.CmsSigner,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign and encapsulate the content using the specified signer.
            </summary>
            <remarks>
            Asynchronously signs and encapsulates the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.EncapsulatedSign(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign and encapsulate the content using the specified signer.
            </summary>
            <remarks>
            Signs and encapsulates the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.EncapsulatedSignAsync(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign and encapsulate the content using the specified signer.
            </summary>
            <remarks>
            Asynchronously signs and encapsulates the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.Sign(MimeKit.Cryptography.CmsSigner,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign the content using the specified signer.
            </summary>
            <remarks>
            Signs the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Signature"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.SignAsync(MimeKit.Cryptography.CmsSigner,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign the content using the specified signer.
            </summary>
            <remarks>
            Asynchronously signs the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Signature"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.Sign(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Sign the content using the specified signer.
            </summary>
            <remarks>
            Signs the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.SignAsync(MimeKit.MailboxAddress,MimeKit.Cryptography.DigestAlgorithm,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign the content using the specified signer.
            </summary>
            <remarks>
            Asynchronously signs the content using the specified signer.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the detached signature data.</returns>
            <param name="signer">The signer.</param>
            <param name="digestAlgo">The digest algorithm to use for signing.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="signer"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="digestAlgo"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The specified <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/> is not supported by this context.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for <paramref name="signer"/>.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.TryGetDigestAlgorithm(System.Security.Cryptography.Oid,MimeKit.Cryptography.DigestAlgorithm@)">
            <summary>
            Attempts to map a <see cref="T:System.Security.Cryptography.Oid"/>
            to a <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/>.
            </summary>
            <remarks>
            Attempts to map a <see cref="T:System.Security.Cryptography.Oid"/>
            to a <see cref="T:MimeKit.Cryptography.DigestAlgorithm"/>.
            </remarks>
            <returns><see langword="true" /> if the algorithm identifier was successfully mapped; otherwise, <see langword="false" />.</returns>
            <param name="identifier">The algorithm identifier.</param>
            <param name="algorithm">The encryption algorithm.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="identifier"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.Verify(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Verify the specified content using the detached signature data.
            </summary>
            <remarks>
            Verifies the specified content using the detached signature data.
            </remarks>
            <returns>A list of the digital signatures.</returns>
            <param name="content">The content.</param>
            <param name="signatureData">The detached signature data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signatureData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.VerifyAsync(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously verify the specified content using the detached signature data.
            </summary>
            <remarks>
            Verifies the specified content using the detached signature data.
            </remarks>
            <returns>A list of the digital signatures.</returns>
            <param name="content">The content.</param>
            <param name="signatureData">The detached signature data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="signatureData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.Verify(System.IO.Stream,MimeKit.MimeEntity@,System.Threading.CancellationToken)">
            <summary>
            Verify the digital signatures of the specified signed data and extract the original content.
            </summary>
            <remarks>
            Verifies the digital signatures of the specified signed data and extracts the original content.
            </remarks>
            <returns>The list of digital signatures.</returns>
            <param name="signedData">The signed data.</param>
            <param name="entity">The extracted MIME entity.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.FormatException">
            The extracted content could not be parsed as a MIME entity.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.Verify(System.IO.Stream,MimeKit.Cryptography.DigitalSignatureCollection@,System.Threading.CancellationToken)">
            <summary>
            Verify the digital signatures of the specified signed data and extract the original content.
            </summary>
            <remarks>
            Verifies the digital signatures of the specified signed data and extracts the original content.
            </remarks>
            <returns>The extracted content stream.</returns>
            <param name="signedData">The signed data.</param>
            <param name="signatures">The digital signatures.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.GetPreferredEncryptionAlgorithm(System.Security.Cryptography.Pkcs.CmsRecipientCollection)">
            <summary>
            Gets the preferred encryption algorithm to use for encrypting to the specified recipients.
            </summary>
            <remarks>
            <para>Gets the preferred encryption algorithm to use for encrypting to the specified recipients
            based on the encryption algorithms supported by each of the recipients, the
            <see cref="P:MimeKit.Cryptography.CryptographyContext.EnabledEncryptionAlgorithms"/>, and the
            <see cref="P:MimeKit.Cryptography.CryptographyContext.EncryptionAlgorithmRank"/>.</para>
            <para>If the supported encryption algorithms are unknown for any recipient, it is assumed that
            the recipient supports at least the Triple-DES encryption algorithm.</para>
            </remarks>
            <returns>The preferred encryption algorithm.</returns>
            <param name="recipients">The recipients.</param>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.Encrypt(MimeKit.Cryptography.CmsRecipientCollection,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Encrypts the specified content for the specified recipients.
            </summary>
            <remarks>
            Encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the encrypted content.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="recipients"/> is empty.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.EncryptAsync(MimeKit.Cryptography.CmsRecipientCollection,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously encrypts the specified content for the specified recipients.
            </summary>
            <remarks>
            Asynchronously encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance
            containing the encrypted content.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="recipients"/> is empty.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.Encrypt(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Encrypts the specified content for the specified recipients.
            </summary>
            <remarks>
            Encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>A certificate for one or more of the <paramref name="recipients"/> could not be found.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.EncryptAsync(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously encrypts the specified content for the specified recipients.
            </summary>
            <remarks>
            Asynchronously encrypts the specified content for the specified recipients.
            </remarks>
            <returns>A new <see cref="T:MimeKit.MimePart"/> instance
            containing the encrypted data.</returns>
            <param name="recipients">The recipients.</param>
            <param name="content">The content.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="recipients"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>A certificate for one or more of the <paramref name="recipients"/> could not be found.</para>
            <para>-or-</para>
            <para>No recipients were specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate could not be found for one or more of the <paramref name="recipients"/>.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.Decrypt(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Decrypt the encrypted data.
            </summary>
            <remarks>
            Decrypt the encrypted data.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="encryptedData">The encrypted data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="encryptedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.DecryptAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decrypt the encrypted data.
            </summary>
            <remarks>
            Asynchronously decrypt the encrypted data.
            </remarks>
            <returns>The decrypted <see cref="T:MimeKit.MimeEntity"/>.</returns>
            <param name="encryptedData">The encrypted data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="encryptedData"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.DecryptTo(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Decrypts the specified encryptedData to an output stream.
            </summary>
            <remarks>
            Decrypts the specified encryptedData to an output stream.
            </remarks>
            <param name="encryptedData">The encrypted data.</param>
            <param name="decryptedData">The decrypted data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encryptedData"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="decryptedData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.DecryptToAsync(System.IO.Stream,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decrypts the specified encryptedData to an output stream.
            </summary>
            <remarks>
            Asynchronously decrypts the specified encryptedData to an output stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="encryptedData">The encrypted data.</param>
            <param name="decryptedData">The decrypted data.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encryptedData"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="decryptedData"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.Import(System.Security.Cryptography.X509Certificates.StoreName,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Threading.CancellationToken)">
            <summary>
            Import the specified certificate.
            </summary>
            <remarks>
            Import the specified certificate.
            </remarks>
            <param name="storeName">The store to import the certificate into.</param>
            <param name="certificate">The certificate.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.Import(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Threading.CancellationToken)">
            <summary>
            Import a certificate.
            </summary>
            <remarks>
            Imports a certificate into the <see cref="F:System.Security.Cryptography.X509Certificates.StoreName.AddressBook"/> store.
            </remarks>
            <param name="certificate">The certificate.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.Import(System.Security.Cryptography.X509Certificates.StoreName,Org.BouncyCastle.X509.X509Certificate,System.Threading.CancellationToken)">
            <summary>
            Import the specified certificate.
            </summary>
            <remarks>
            Import the specified certificate.
            </remarks>
            <param name="storeName">The store to import the certificate into.</param>
            <param name="certificate">The certificate.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.Import(Org.BouncyCastle.X509.X509Certificate,System.Threading.CancellationToken)">
            <summary>
            Import a certificate.
            </summary>
            <remarks>
            Imports a certificate into the <see cref="F:System.Security.Cryptography.X509Certificates.StoreName.AddressBook"/> store.
            </remarks>
            <param name="certificate">The certificate.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.Import(Org.BouncyCastle.X509.X509Crl,System.Threading.CancellationToken)">
            <summary>
            Import a certificate revocation list.
            </summary>
            <remarks>
            Imports a certificate revocation list.
            </remarks>
            <param name="crl">The certificate revocation list.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="crl"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.Import(System.IO.Stream,System.String,System.Security.Cryptography.X509Certificates.X509KeyStorageFlags,System.Threading.CancellationToken)">
            <summary>
            Import certificates and keys from a pkcs12-encoded stream.
            </summary>
            <remarks>
            Imports certificates and keys from a pkcs12-encoded stream.
            </remarks>
            <param name="stream">The raw certificate and key data.</param>
            <param name="password">The password to unlock the stream.</param>
            <param name="flags">The storage flags to use when importing the certificate and private key.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.ImportAsync(System.IO.Stream,System.String,System.Security.Cryptography.X509Certificates.X509KeyStorageFlags,System.Threading.CancellationToken)">
            <summary>
            Asynchronously import certificates and keys from a pkcs12-encoded stream.
            </summary>
            <remarks>
            Asynchronously imports certificates and keys from a pkcs12-encoded stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="stream">The raw certificate and key data.</param>
            <param name="password">The password to unlock the stream.</param>
            <param name="flags">The storage flags to use when importing the certificate and private key.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.Import(System.IO.Stream,System.String,System.Threading.CancellationToken)">
            <summary>
            Import certificates and keys from a pkcs12-encoded stream.
            </summary>
            <remarks>
            Imports certificates and keys from a pkcs12-encoded stream.
            </remarks>
            <param name="stream">The raw certificate and key data.</param>
            <param name="password">The password to unlock the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.ImportAsync(System.IO.Stream,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously import certificates and keys from a pkcs12-encoded stream.
            </summary>
            <remarks>
            Asynchronously imports certificates and keys from a pkcs12-encoded stream.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="stream">The raw certificate and key data.</param>
            <param name="password">The password to unlock the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.Export(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken)">
            <summary>
            Exports the certificates for the specified mailboxes.
            </summary>
            <remarks>
            Exports the certificates for the specified mailboxes.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance containing
            the exported keys.</returns>
            <param name="mailboxes">The mailboxes.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailboxes"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            No mailboxes were specified.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate for one or more of the <paramref name="mailboxes"/> could not be found.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeContext.ExportAsync(System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken)">
            <summary>
            Asynchronously export the certificates for the specified mailboxes.
            </summary>
            <remarks>
            Asynchronously exports the certificates for the specified mailboxes.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Cryptography.ApplicationPkcs7Mime"/> instance containing
            the exported keys.</returns>
            <param name="mailboxes">The mailboxes.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailboxes"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            No mailboxes were specified.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate for one or more of the <paramref name="mailboxes"/> could not be found.
            </exception>
            <exception cref="T:System.Security.Cryptography.CryptographicException">
            An error occurred in the cryptographic message syntax subsystem.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.WindowsSecureMimeDigitalCertificate">
            <summary>
            An S/MIME digital certificate.
            </summary>
            <remarks>
            An S/MIME digital certificate that is used with the <see cref="T:MimeKit.Cryptography.WindowsSecureMimeContext"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeDigitalCertificate.#ctor(System.Security.Cryptography.X509Certificates.X509Certificate2)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.WindowsSecureMimeDigitalCertificate"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.WindowsSecureMimeDigitalCertificate"/>.
            </remarks>
            <param name="certificate">An X.509 certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.WindowsSecureMimeDigitalCertificate.Certificate">
            <summary>
            Get the X.509 certificate.
            </summary>
            <remarks>
            Gets the X.509 certificate.
            </remarks>
            <value>The certificate.</value>
        </member>
        <member name="P:MimeKit.Cryptography.WindowsSecureMimeDigitalCertificate.PublicKeyAlgorithm">
            <summary>
            Get the public key algorithm supported by the certificate.
            </summary>
            <remarks>
            Gets the public key algorithm supported by the certificate.
            </remarks>
            <value>The public key algorithm.</value>
        </member>
        <member name="P:MimeKit.Cryptography.WindowsSecureMimeDigitalCertificate.CreationDate">
            <summary>
            Get the date that the certificate was created.
            </summary>
            <remarks>
            Gets the date that the certificate was created.
            </remarks>
            <value>The creation date.</value>
        </member>
        <member name="P:MimeKit.Cryptography.WindowsSecureMimeDigitalCertificate.ExpirationDate">
            <summary>
            Get the expiration date of the certificate.
            </summary>
            <remarks>
            Gets the expiration date of the certificate.
            </remarks>
            <value>The expiration date.</value>
        </member>
        <member name="P:MimeKit.Cryptography.WindowsSecureMimeDigitalCertificate.Fingerprint">
            <summary>
            Get the fingerprint of the certificate.
            </summary>
            <remarks>
            Gets the fingerprint of the certificate.
            </remarks>
            <value>The fingerprint.</value>
        </member>
        <member name="P:MimeKit.Cryptography.WindowsSecureMimeDigitalCertificate.Email">
            <summary>
            Get the email address of the owner of the certificate.
            </summary>
            <remarks>
            Gets the email address of the owner of the certificate.
            </remarks>
            <value>The email address.</value>
        </member>
        <member name="P:MimeKit.Cryptography.WindowsSecureMimeDigitalCertificate.DnsNames">
            <summary>
            Get the DNS names of the owner of the certificate.
            </summary>
            <remarks>
            Gets the DNS names of the owner of the certificate.
            </remarks>
            <value>The DNS name.</value>
        </member>
        <member name="P:MimeKit.Cryptography.WindowsSecureMimeDigitalCertificate.Name">
            <summary>
            Get the name of the owner of the certificate.
            </summary>
            <remarks>
            Gets the name of the owner of the certificate.
            </remarks>
            <value>The name of the owner.</value>
        </member>
        <member name="T:MimeKit.Cryptography.WindowsSecureMimeDigitalSignature">
            <summary>
            An S/MIME digital signature.
            </summary>
            <remarks>
            An S/MIME digital signature that is used with the <see cref="T:MimeKit.Cryptography.WindowsSecureMimeContext"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeDigitalSignature.#ctor(System.Security.Cryptography.Pkcs.SignerInfo)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.WindowsSecureMimeDigitalSignature"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.WindowsSecureMimeDigitalSignature"/>.
            </remarks>
            <param name="signerInfo">The information about the signer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="signerInfo"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.WindowsSecureMimeDigitalSignature.SignerInfo">
            <summary>
            Gets the signer info.
            </summary>
            <remarks>
            Gets the signer info.
            </remarks>
            <value>The signer info.</value>
        </member>
        <member name="P:MimeKit.Cryptography.WindowsSecureMimeDigitalSignature.EncryptionAlgorithms">
            <summary>
            Gets the list of encryption algorithms, in preferential order,
            that the signer's client supports.
            </summary>
            <remarks>
            Gets the list of encryption algorithms, in preferential order,
            that the signer's client supports.
            </remarks>
            <value>The S/MIME encryption algorithms.</value>
        </member>
        <member name="P:MimeKit.Cryptography.WindowsSecureMimeDigitalSignature.SignerCertificate">
            <summary>
            Gets certificate used by the signer.
            </summary>
            <remarks>
            Gets certificate used by the signer.
            </remarks>
            <value>The signer's certificate.</value>
        </member>
        <member name="P:MimeKit.Cryptography.WindowsSecureMimeDigitalSignature.PublicKeyAlgorithm">
            <summary>
            Gets the public key algorithm used for the signature.
            </summary>
            <remarks>
            Gets the public key algorithm used for the signature.
            </remarks>
            <value>The public key algorithm.</value>
        </member>
        <member name="P:MimeKit.Cryptography.WindowsSecureMimeDigitalSignature.DigestAlgorithm">
            <summary>
            Gets the digest algorithm used for the signature.
            </summary>
            <remarks>
            Gets the digest algorithm used for the signature.
            </remarks>
            <value>The digest algorithm.</value>
        </member>
        <member name="P:MimeKit.Cryptography.WindowsSecureMimeDigitalSignature.CreationDate">
            <summary>
            Gets the creation date of the digital signature.
            </summary>
            <remarks>
            Gets the creation date of the digital signature.
            </remarks>
            <value>The creation date in coordinated universal time (UTC).</value>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeDigitalSignature.Verify">
            <summary>
            Verifies the digital signature.
            </summary>
            <remarks>
            Verifies the digital signature.
            </remarks>
            <returns><see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
            <exception cref="T:MimeKit.Cryptography.DigitalSignatureVerifyException">
            An error verifying the signature has occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.WindowsSecureMimeDigitalSignature.Verify(System.Boolean)">
            <summary>
            Verifies the digital signature.
            </summary>
            <remarks>
            Verifies the digital signature.
            </remarks>
            <param name="verifySignatureOnly"><see langword="true" /> if only the signature itself should be verified; otherwise, both the signature and the certificate chain are validated.</param>
            <returns><see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
            <exception cref="T:MimeKit.Cryptography.DigitalSignatureVerifyException">
            An error verifying the signature has occurred.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.X509Certificate2Extensions">
            <summary>
            Extension methods for X509Certificate2.
            </summary>
            <remarks>
            Extension methods for X509Certificate2.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.X509Certificate2Extensions.AsBouncyCastleCertificate(System.Security.Cryptography.X509Certificates.X509Certificate2)">
            <summary>
            Convert an X509Certificate2 into a BouncyCastle X509Certificate.
            </summary>
            <remarks>
            Converts an X509Certificate2 into a BouncyCastle X509Certificate.
            </remarks>
            <returns>The bouncy castle certificate.</returns>
            <param name="certificate">The certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509Certificate2Extensions.GetPublicKeyAlgorithm(System.Security.Cryptography.X509Certificates.X509Certificate2)">
            <summary>
            Gets the public key algorithm for the certificate.
            </summary>
            <remarks>
            Gets the public key algorithm for the ceretificate.
            </remarks>
            <returns>The public key algorithm.</returns>
            <param name="certificate">The certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509Certificate2Extensions.GetSubjectDnsNames(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Boolean)">
            <summary>
            Get the subject domain names of the certificate.
            </summary>
            <remarks>
            <para>Gets the subject DNS names of the certificate.</para>
            <para>Some S/MIME certificates are domain-bound instead of being bound to a
            particular email address.</para>
            </remarks>
            <returns>The subject DNS names.</returns>
            <param name="certificate">The certificate.</param>
            <param name="idnEncode">If set to <see langword="true" />, international domain names will be IDN encoded.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509Certificate2Extensions.GetEncryptionAlgorithms(System.Security.Cryptography.X509Certificates.X509Certificate2)">
            <summary>
            Get the encryption algorithms that can be used with an X.509 certificate.
            </summary>
            <remarks>
            <para>Scans the X.509 certificate for the S/MIME capabilities extension. If found,
            the supported encryption algorithms will be decoded and returned.</para>
            <para>If no extension can be found, the <see cref="F:MimeKit.Cryptography.EncryptionAlgorithm.TripleDes"/>
            algorithm is returned.</para>
            </remarks>
            <returns>The encryption algorithms.</returns>
            <param name="certificate">The X.509 certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509Certificate2Extensions.GetPrivateKeyAsAsymmetricKeyParameter(System.Security.Cryptography.X509Certificates.X509Certificate2)">
            <summary>
            Get the PrivateKey property as a BouncyCastle AsymmetricKeyParameter.
            </summary>
            <remarks>
            Gets the PrivateKey property as a BouncyCastle AsymmetricKeyParameter.
            </remarks>
            <returns>The asymmetric key parameter.</returns>
            <param name="certificate">The X.509 certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="T:MimeKit.Cryptography.X509CertificateChain">
            <summary>
            An X.509 certificate chain.
            </summary>
            <remarks>
            An X.509 certificate chain.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateChain.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.X509CertificateChain"/> class.
            </summary>
            <remarks>
            Creates a new X.509 certificate chain.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateChain.#ctor(System.Collections.Generic.IEnumerable{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.X509CertificateChain"/> class.
            </summary>
            <remarks>
            Creates a new X.509 certificate chain based on the specified collection of certificates.
            </remarks>
            <param name="collection">A collection of certificates.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="collection"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateChain.IndexOf(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Gets the index of the specified certificate within the chain.
            </summary>
            <remarks>
            Finds the index of the specified certificate, if it exists.
            </remarks>
            <returns>The index of the specified certificate if found; otherwise <c>-1</c>.</returns>
            <param name="certificate">The certificate to get the index of.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateChain.Insert(System.Int32,Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Inserts the certificate at the specified index.
            </summary>
            <remarks>
            Inserts the certificate at the specified index in the certificates.
            </remarks>
            <param name="index">The index to insert the certificate.</param>
            <param name="certificate">The certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateChain.RemoveAt(System.Int32)">
            <summary>
            Removes the certificate at the specified index.
            </summary>
            <remarks>
            Removes the certificate at the specified index.
            </remarks>
            <param name="index">The index of the certificate to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateChain.Item(System.Int32)">
            <summary>
            Gets or sets the certificate at the specified index.
            </summary>
            <remarks>
            Gets or sets the certificate at the specified index.
            </remarks>
            <value>The internet certificate at the specified index.</value>
            <param name="index">The index of the certificate to get or set.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateChain.Count">
            <summary>
            Gets the number of certificates in the chain.
            </summary>
            <remarks>
            Indicates the number of certificates in the chain.
            </remarks>
            <value>The number of certificates.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateChain.IsReadOnly">
            <summary>
            Get a value indicating whether the <see cref="T:MimeKit.Cryptography.X509CertificateChain"/> is read only.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.Cryptography.X509CertificateChain"/> is never read-only.
            </remarks>
            <value><see langword="true" /> if this instance is read only; otherwise, <see langword="false" />.</value>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateChain.Add(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Adds the specified certificate to the chain.
            </summary>
            <remarks>
            Adds the specified certificate to the chain.
            </remarks>
            <param name="certificate">The certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateChain.AddRange(System.Collections.Generic.IEnumerable{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Adds the specified range of certificates to the chain.
            </summary>
            <remarks>
            Adds the specified range of certificates to the chain.
            </remarks>
            <param name="certificates">The certificates.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificates"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateChain.Clear">
            <summary>
            Clears the certificate chain.
            </summary>
            <remarks>
            Removes all the certificates from the chain.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateChain.Contains(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Checks if the chain contains the specified certificate.
            </summary>
            <remarks>
            Determines whether the certificate chain contains the specified certificate.
            </remarks>
            <returns><see langword="true" /> if the specified certificate exists;
            otherwise, <see langword="false" />.</returns>
            <param name="certificate">The certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateChain.CopyTo(Org.BouncyCastle.X509.X509Certificate[],System.Int32)">
            <summary>
            Copies all the certificates in the chain to the specified array.
            </summary>
            <remarks>
            Copies all the certificates within the chain into the array,
            starting at the specified array index.
            </remarks>
            <param name="array">The array to copy the certificates to.</param>
            <param name="arrayIndex">The index into the array.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="array"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="arrayIndex"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateChain.Remove(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Removes the specified certificate from the chain.
            </summary>
            <remarks>
            Removes the specified certificate from the chain.
            </remarks>
            <returns><see langword="true" /> if the certificate was removed; otherwise, <see langword="false" />.</returns>
            <param name="certificate">The certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateChain.RemoveRange(System.Collections.Generic.IEnumerable{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Removes the specified range of certificates from the chain.
            </summary>
            <remarks>
            Removes the specified range of certificates from the chain.
            </remarks>
            <param name="certificates">The certificates.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificates"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateChain.GetEnumerator">
            <summary>
            Gets an enumerator for the list of certificates.
            </summary>
            <remarks>
            Gets an enumerator for the list of certificates.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateChain.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Gets an enumerator for the list of certificates.
            </summary>
            <remarks>
            Gets an enumerator for the list of certificates.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateChain.GetMatches(Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Gets an enumerator of matching X.509 certificates based on the specified selector.
            </summary>
            <remarks>
            Gets an enumerator of matching X.509 certificates based on the specified selector.
            </remarks>
            <returns>The matching certificates.</returns>
            <param name="selector">The match criteria.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateChain.Org#BouncyCastle#Utilities#Collections#IStore{Org#BouncyCastle#X509#X509Certificate}#EnumerateMatches(Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Gets a collection of matching X.509 certificates based on the specified selector.
            </summary>
            <remarks>
            Gets a collection of matching X.509 certificates based on the specified selector.
            </remarks>
            <returns>The matching certificates.</returns>
            <param name="selector">The match criteria.</param>
        </member>
        <member name="T:MimeKit.Cryptography.X509CertificateDatabase">
            <summary>
            An X.509 certificate database.
            </summary>
            <remarks>
            An X.509 certificate database is used for storing certificates, metadata related to the certificates
            (such as encryption algorithms supported by the associated client), certificate revocation lists (CRLs),
            and private keys.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificatesTableName">
            <summary>
            The name of the database table containing the certificates.
            </summary>
            <remarks>
            The name of the database table containing the certificates.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CrlsTableName">
            <summary>
            The name of the database table containing the CRLs.
            </summary>
            <remarks>
            The name of the database table containing the CRLs.
            </remarks>
        </member>
        <member name="T:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames">
            <summary>
            The column names for the certificates table.
            </summary>
            <remarks>
            The column names for the certificates table.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.Id">
            <summary>
            The auto-increment primary key identifier.
            </summary>
            <remarks>
            The auto-increment primary key identifier.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.Trusted">
            <summary>
            A column specifying whether the certificate is trusted or not.
            </summary>
            <remarks>
            <para>A column specifying whether the certificate is trusted or not.</para>
            <para>This data-type for this column should be <see langword="bool"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.Anchor">
            <summary>
            A column specifying whether the certificate is an anchor.
            </summary>
            <remarks>
            <para>A column specifying whether the certificate is an anchor.</para>
            <para>This data-type for this column should be <see langword="bool"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.BasicConstraints">
            <summary>
            A column specifying the basic constraints of the certificate.
            </summary>
            <remarks>
            <para>A column specifying the basic constraints of the certificate.</para>
            <para>This data-type for this column should be <see langword="int"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.KeyUsage">
            <summary>
            A column specifying the key usage of the certificate.
            </summary>
            <remarks>
            <para>A column specifying the key usage of the certificate.</para>
            <para>This data-type for this column should be <see langword="int"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.NotBefore">
            <summary>
            A column specifying the date and time when the certificate first becomes valid.
            </summary>
            <remarks>
            <para>A column specifying the date and time when the certificate first becomes valid.</para>
            <para>This data-type for this column should be <see langword="long"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.NotAfter">
            <summary>
            A column specifying the date and time after which the certificate becomes invalid.
            </summary>
            <remarks>
            <para>A column specifying the date and time after which the certificate becomes invalid.</para>
            <para>This data-type for this column should be <see langword="long"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.IssuerName">
            <summary>
            A column specifying the issuer name of the certificate.
            </summary>
            <remarks>
            <para>A column specifying the issuer name of the certificate.</para>
            <para>This data-type for this column should be <see langword="string"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.SerialNumber">
            <summary>
            A column specifying the serial number of the certificate.
            </summary>
            <remarks>
            <para>A column specifying the serial number of the certificate.</para>
            <para>This data-type for this column should be <see langword="string"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.SubjectName">
            <summary>
            A column specifying the subject name of the certificate.
            </summary>
            <remarks>
            <para>A column specifying the subject name of the certificate.</para>
            <para>This data-type for this column should be <see langword="string"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.SubjectKeyIdentifier">
            <summary>
            A column specifying the subject key identifier of the certificate.
            </summary>
            <remarks>
            <para>A column specifying the subject key identifier of the certificate.</para>
            <para>This data-type for this column should be <see langword="string"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.SubjectEmail">
            <summary>
            A column specifying the subject email address of the certificate.
            </summary>
            <remarks>
            <para>A column specifying the subject email address of the certificate.</para>
            <para>This data-type for this column should be <see langword="string"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.SubjectDnsNames">
            <summary>
            A column specifying the subject DNS names of the certificate.
            </summary>
            <remarks>
            <para>A column specifying the subject DNS names of the certificate.</para>
            <para>This data-type for this column should be <see langword="string"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.Fingerprint">
            <summary>
            A column specifying the fingerprint of the certificate.
            </summary>
            <remarks>
            <para>A column specifying the fingerprint of the certificate.</para>
            <para>This data-type for this column should be <see langword="string"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.Algorithms">
            <summary>
            A column specifying the encryption algorithms supported by the certificate.
            </summary>
            <remarks>
            <para>A column specifying the encryption algorithms supported by the certificate.</para>
            <para>This data-type for this column should be <see langword="string"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.AlgorithmsUpdated">
            <summary>
            A column specifying the date and time of the last update to the <see cref="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.Algorithms"/> column.
            </summary>
            <remarks>
            <para>A column specifying the date and time of the last update to the <see cref="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.Algorithms"/> column.</para>
            <para>This data-type for this column should be <see langword="long"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.Certificate">
            <summary>
            A column containing the raw certificate data.
            </summary>
            <remarks>
            <para>A column containing the raw certificate data.</para>
            <para>This data-type for this column should be <see langword="byte[]"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CertificateColumnNames.PrivateKey">
            <summary>
            A column containing the raw private key data.
            </summary>
            <remarks>
            <para>A column containing the raw private key data.</para>
            <para>This data-type for this column should be <see langword="byte[]"/>.</para>
            </remarks>
        </member>
        <member name="T:MimeKit.Cryptography.X509CertificateDatabase.CrlColumnNames">
            <summary>
            The column names for the CRLs table.
            </summary>
            <remarks>
            The column names for the CRLs table.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CrlColumnNames.Id">
            <summary>
            The auto-increment primary key identifier.
            </summary>
            <remarks>
            The auto-increment primary key identifier.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CrlColumnNames.Delta">
            <summary>
            A column specifying whether the CRL data is a delta update.
            </summary>
            <remarks>
            <para>A column specifying whether the CRL data is a delta update.</para>
            <para>This data-type for this column should be <see langword="bool"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CrlColumnNames.IssuerName">
            <summary>
            A column specifying the issuer name of the certificate.
            </summary>
            <remarks>
            <para>A column specifying the issuer name of the certificate.</para>
            <para>This data-type for this column should be <see langword="string"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CrlColumnNames.ThisUpdate">
            <summary>
            A column specifying the date and time of the last update.
            </summary>
            <remarks>
            <para>A column specifying the date and time of the last update.</para>
            <para>This data-type for this column should be <see langword="long"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CrlColumnNames.NextUpdate">
            <summary>
            A column specifying the date and time of the next update.
            </summary>
            <remarks>
            <para>A column specifying the date and time of the next update.</para>
            <para>This data-type for this column should be <see langword="long"/>.</para>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateDatabase.CrlColumnNames.Crl">
            <summary>
            A column containing the raw CRL data.
            </summary>
            <remarks>
            <para>A column containing the raw CRL data.</para>
            <para>This data-type for this column should be <see langword="byte[]"/>.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.#ctor(System.Data.Common.DbConnection,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.X509CertificateDatabase"/> class.
            </summary>
            <remarks>
            The password is used to encrypt and decrypt private keys in the database and cannot be null.
            </remarks>
            <param name="connection">The database connection.</param>
            <param name="password">The password used for encrypting and decrypting the private keys.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="connection"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.#ctor(System.Data.Common.DbConnection,System.String,Org.BouncyCastle.Security.SecureRandom)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.X509CertificateDatabase"/> class.
            </summary>
            <remarks>
            The password is used to encrypt and decrypt private keys in the database and cannot be null.
            </remarks>
            <param name="connection">The database connection.</param>
            <param name="password">The password used for encrypting and decrypting the private keys.</param>
            <param name="random">The secure pseudo-random number generator.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="connection"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="random"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.Finalize">
            <summary>
            Releases unmanaged resources and performs other cleanup operations before the
            <see cref="T:MimeKit.Cryptography.X509CertificateDatabase"/> is reclaimed by garbage collection.
            </summary>
            <remarks>
            Releases unmanaged resources and performs other cleanup operations before the
            <see cref="T:MimeKit.Cryptography.X509CertificateDatabase"/> is reclaimed by garbage collection.
            </remarks>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateDatabase.EncryptionAlgorithm">
            <summary>
            Gets or sets the algorithm used for encrypting the private keys.
            </summary>
            <remarks>
            <para>The encryption algorithm should be one of the PBE (password-based encryption) algorithms
            supported by Bouncy Castle.</para>
            <para>The default algorithm is SHA-256 + AES256.</para>
            </remarks>
            <value>The encryption algorithm.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateDatabase.MinIterations">
            <summary>
            Gets or sets the minimum iterations.
            </summary>
            <remarks>
            The default minimum number of iterations is <c>1024</c>.
            </remarks>
            <value>The minimum iterations.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateDatabase.RandomNumberGenerator">
            <summary>
            Get the secure pseudo-random number generator used when encrypting private keys.
            </summary>
            <remarks>
            Gets the secure pseudo-random number generator used when encrypting private keys.
            </remarks>
            <value>The secure pseudo-random number generator.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateDatabase.SaltSize">
            <summary>
            Gets or sets the size of the salt.
            </summary>
            <remarks>
            The default salt size is <c>20</c>.
            </remarks>
            <value>The size of the salt.</value>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.GetColumnNames(MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Gets the column names for the specified fields.
            </summary>
            <remarks>
            Gets the column names for the specified fields.
            </remarks>
            <returns>The column names.</returns>
            <param name="fields">The fields.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.CreateCommand">
            <summary>
            Create a new database command.
            </summary>
            <remarks>
            Creates a new database command.
            </remarks>
            <returns>A new database command.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.ExecuteWithinTransaction(System.Action)">
            <summary>
            Execute an action within a database transaction.
            </summary>
            <remarks>
            All database commands used within the <paramref name="action"/> must be created using <see cref="M:MimeKit.Cryptography.X509CertificateDatabase.CreateCommand"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.GetSelectCommand(System.Data.Common.DbConnection,Org.BouncyCastle.X509.X509Certificate,MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Gets the database command to select the record matching the specified certificate.
            </summary>
            <remarks>
            Gets the database command to select the record matching the specified certificate.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="certificate">The certificate.</param>
            <param name="fields">The fields to return.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.GetSelectCommand(System.Data.Common.DbConnection,MimeKit.MailboxAddress,System.DateTime,System.Boolean,MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Gets the database command to select the certificate records for the specified mailbox.
            </summary>
            <remarks>
            Gets the database command to select the certificate records for the specified mailbox.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="mailbox">The mailbox.</param>
            <param name="now">The date and time for which the certificate should be valid.</param>
            <param name="requirePrivateKey"><see langword="true" /> if the certificate must have a private key; otherwise, <see langword="false" />.</param>
            <param name="fields">The fields to return.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.GetSelectCommand(System.Data.Common.DbConnection,Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate},System.Boolean,System.Boolean,MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Gets the database command to select certificate records matching the specified selector.
            </summary>
            <remarks>
            Gets the database command to select certificate records matching the specified selector.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="selector">The certificate selector.</param>
            <param name="trustedAnchorsOnly"><see langword="true" /> if only trusted anchor certificates should be matched; otherwise, <see langword="false" />.</param>
            <param name="requirePrivateKey"><see langword="true" /> if the certificate must have a private key; otherwise, <see langword="false" />.</param>
            <param name="fields">The fields to return.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.GetColumnNames(MimeKit.Cryptography.X509CrlRecordFields)">
            <summary>
            Gets the column names for the specified fields.
            </summary>
            <remarks>
            Gets the column names for the specified fields.
            </remarks>
            <returns>The column names.</returns>
            <param name="fields">The fields.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.GetSelectCommand(System.Data.Common.DbConnection,Org.BouncyCastle.Asn1.X509.X509Name,MimeKit.Cryptography.X509CrlRecordFields)">
            <summary>
            Gets the database command to select the CRL records matching the specified issuer.
            </summary>
            <remarks>
            Gets the database command to select the CRL records matching the specified issuer.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="issuer">The issuer.</param>
            <param name="fields">The fields to return.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.GetSelectCommand(System.Data.Common.DbConnection,Org.BouncyCastle.X509.X509Crl,MimeKit.Cryptography.X509CrlRecordFields)">
            <summary>
            Gets the database command to select the record for the specified CRL.
            </summary>
            <remarks>
            Gets the database command to select the record for the specified CRL.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="crl">The X.509 CRL.</param>
            <param name="fields">The fields to return.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.GetSelectAllCrlsCommand(System.Data.Common.DbConnection)">
            <summary>
            Gets the database command to select all CRLs in the table.
            </summary>
            <remarks>
            Gets the database command to select all CRLs in the table.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.GetDeleteCommand(System.Data.Common.DbConnection,MimeKit.Cryptography.X509CertificateRecord)">
            <summary>
            Gets the database command to delete the specified certificate record.
            </summary>
            <remarks>
            Gets the database command to delete the specified certificate record.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="record">The certificate record.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.GetDeleteCommand(System.Data.Common.DbConnection,MimeKit.Cryptography.X509CrlRecord)">
            <summary>
            Gets the database command to delete the specified CRL record.
            </summary>
            <remarks>
            Gets the database command to delete the specified CRL record.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="record">The record.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.GetValue(MimeKit.Cryptography.X509CertificateRecord,System.String)">
            <summary>
            Gets the value for the specified column.
            </summary>
            <remarks>
            Gets the value for the specified column.
            </remarks>
            <returns>The value.</returns>
            <param name="record">The certificate record.</param>
            <param name="columnName">The column name.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="columnName"/> is not a known column name.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.GetValue(MimeKit.Cryptography.X509CrlRecord,System.String)">
            <summary>
            Gets the value for the specified column.
            </summary>
            <remarks>
            Gets the value for the specified column.
            </remarks>
            <returns>The value.</returns>
            <param name="record">The CRL record.</param>
            <param name="columnName">The column name.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="columnName"/> is not a known column name.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.GetInsertCommand(System.Data.Common.DbConnection,MimeKit.Cryptography.X509CertificateRecord)">
            <summary>
            Gets the database command to insert the specified certificate record.
            </summary>
            <remarks>
            Gets the database command to insert the specified certificate record.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="record">The certificate record.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.GetInsertCommand(System.Data.Common.DbConnection,MimeKit.Cryptography.X509CrlRecord)">
            <summary>
            Gets the database command to insert the specified CRL record.
            </summary>
            <remarks>
            Gets the database command to insert the specified CRL record.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="record">The CRL record.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.GetUpdateCommand(System.Data.Common.DbConnection,MimeKit.Cryptography.X509CertificateRecord,MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Gets the database command to update the specified record.
            </summary>
            <remarks>
            Gets the database command to update the specified record.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="record">The certificate record.</param>
            <param name="fields">The fields to update.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.GetUpdateCommand(System.Data.Common.DbConnection,MimeKit.Cryptography.X509CrlRecord)">
            <summary>
            Gets the database command to update the specified CRL record.
            </summary>
            <remarks>
            Gets the database command to update the specified CRL record.
            </remarks>
            <returns>The database command.</returns>
            <param name="connection">The database connection.</param>
            <param name="record">The CRL record.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.Find(Org.BouncyCastle.X509.X509Certificate,MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Find the specified certificate.
            </summary>
            <remarks>
            Searches the database for the specified certificate, returning the matching
            record with the desired fields populated.
            </remarks>
            <returns>The matching record if found; otherwise <see langword="null"/>.</returns>
            <param name="certificate">The certificate.</param>
            <param name="fields">The desired fields.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.FindCertificates(Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Finds the certificates matching the specified selector.
            </summary>
            <remarks>
            Searches the database for certificates matching the selector, returning all
            matching certificates.
            </remarks>
            <returns>The matching certificates.</returns>
            <param name="selector">The match selector or <see langword="null"/> to return all certificates.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.FindPrivateKeys(Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Finds the private keys matching the specified selector.
            </summary>
            <remarks>
            Searches the database for certificate records matching the selector, returning the
            private keys for each matching record.
            </remarks>
            <returns>The matching certificates.</returns>
            <param name="selector">The match selector or <see langword="null"/> to return all private keys.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.Find(MimeKit.MailboxAddress,System.DateTime,System.Boolean,MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Finds the certificate records for the specified mailbox.
            </summary>
            <remarks>
            Searches the database for certificates matching the specified mailbox that are valid
            for the date and time specified, returning all matching records populated with the
            desired fields.
            </remarks>
            <returns>The matching certificate records populated with the desired fields.</returns>
            <param name="mailbox">The mailbox.</param>
            <param name="now">The date and time.</param>
            <param name="requirePrivateKey"><see langword="true" /> if a private key is required.</param>
            <param name="fields">The desired fields.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mailbox"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.Find(Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate},System.Boolean,MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Finds the certificate records matching the specified selector.
            </summary>
            <remarks>
            Searches the database for certificate records matching the selector, returning all
            the matching records populated with the desired fields.
            </remarks>
            <returns>The matching certificate records populated with the desired fields.</returns>
            <param name="selector">The match selector or <see langword="null"/> to match all certificates.</param>
            <param name="trustedAnchorsOnly"><see langword="true" /> if only trusted anchor certificates should be returned.</param>
            <param name="fields">The desired fields.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.Add(MimeKit.Cryptography.X509CertificateRecord)">
            <summary>
            Add the specified certificate record.
            </summary>
            <remarks>
            Adds the specified certificate record to the database.
            </remarks>
            <param name="record">The certificate record.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="record"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.Remove(MimeKit.Cryptography.X509CertificateRecord)">
            <summary>
            Remove the specified certificate record.
            </summary>
            <remarks>
            Removes the specified certificate record from the database.
            </remarks>
            <param name="record">The certificate record.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="record"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.Update(MimeKit.Cryptography.X509CertificateRecord,MimeKit.Cryptography.X509CertificateRecordFields)">
            <summary>
            Update the specified certificate record.
            </summary>
            <remarks>
            Updates the specified fields of the record in the database.
            </remarks>
            <param name="record">The certificate record.</param>
            <param name="fields">The fields to update.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="record"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.Find(Org.BouncyCastle.Asn1.X509.X509Name,MimeKit.Cryptography.X509CrlRecordFields)">
            <summary>
            Finds the CRL records for the specified issuer.
            </summary>
            <remarks>
            Searches the database for CRL records matching the specified issuer, returning
            all matching records populated with the desired fields.
            </remarks>
            <returns>The matching CRL records populated with the desired fields.</returns>
            <param name="issuer">The issuer.</param>
            <param name="fields">The desired fields.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="issuer"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.Find(Org.BouncyCastle.X509.X509Crl,MimeKit.Cryptography.X509CrlRecordFields)">
            <summary>
            Finds the specified certificate revocation list.
            </summary>
            <remarks>
            Searches the database for the specified CRL, returning the matching record with
            the desired fields populated.
            </remarks>
            <returns>The matching record if found; otherwise <see langword="null"/>.</returns>
            <param name="crl">The certificate revocation list.</param>
            <param name="fields">The desired fields.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="crl"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.Add(MimeKit.Cryptography.X509CrlRecord)">
            <summary>
            Add the specified CRL record.
            </summary>
            <remarks>
            Adds the specified CRL record to the database.
            </remarks>
            <param name="record">The CRL record.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="record"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.Remove(MimeKit.Cryptography.X509CrlRecord)">
            <summary>
            Remove the specified CRL record.
            </summary>
            <remarks>
            Removes the specified CRL record from the database.
            </remarks>
            <param name="record">The CRL record.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="record"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.Update(MimeKit.Cryptography.X509CrlRecord)">
            <summary>
            Update the specified CRL record.
            </summary>
            <remarks>
            Updates the specified fields of the record in the database.
            </remarks>
            <param name="record">The CRL record.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="record"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.GetCrlStore">
            <summary>
            Gets a certificate revocation list store.
            </summary>
            <remarks>
            Gets a certificate revocation list store.
            </remarks>
            <returns>A certificate revocation list store.</returns>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.Org#BouncyCastle#Utilities#Collections#IStore{Org#BouncyCastle#X509#X509Certificate}#EnumerateMatches(Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Gets a collection of matching certificates matching the specified selector.
            </summary>
            <remarks>
            Gets a collection of matching certificates matching the specified selector.
            </remarks>
            <returns>The matching certificates.</returns>
            <param name="selector">The match criteria.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.Cryptography.X509CertificateDatabase"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.Cryptography.X509CertificateDatabase"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateDatabase.Dispose">
            <summary>
            Releases all resource used by the <see cref="T:MimeKit.Cryptography.X509CertificateDatabase"/> object.
            </summary>
            <remarks>Call <see cref="M:MimeKit.Cryptography.X509CertificateDatabase.Dispose"/> when you are finished using the
            <see cref="T:MimeKit.Cryptography.X509CertificateDatabase"/>. The <see cref="M:MimeKit.Cryptography.X509CertificateDatabase.Dispose"/> method leaves the
            <see cref="T:MimeKit.Cryptography.X509CertificateDatabase"/> in an unusable state. After calling
            <see cref="M:MimeKit.Cryptography.X509CertificateDatabase.Dispose"/>, you must release all references to the
            <see cref="T:MimeKit.Cryptography.X509CertificateDatabase"/> so the garbage collector can reclaim the memory that
            the <see cref="T:MimeKit.Cryptography.X509CertificateDatabase"/> was occupying.</remarks>
        </member>
        <member name="T:MimeKit.Cryptography.X509CertificateRecordFields">
            <summary>
            X.509 certificate record fields.
            </summary>
            <remarks>
            The record fields are used when querying the <see cref="T:MimeKit.Cryptography.IX509CertificateDatabase"/>
            for certificates.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateRecordFields.Id">
            <summary>
            The "id" field is typically just the ROWID in the database.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateRecordFields.Trusted">
            <summary>
            The "trusted" field is a boolean value indicating whether the certificate
            is trusted.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateRecordFields.Algorithms">
            <summary>
            The "algorithms" field is used for storing the last known list of
            <see cref="T:MimeKit.Cryptography.EncryptionAlgorithm"/> values that are supported by the
            client associated with the certificate.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateRecordFields.AlgorithmsUpdated">
            <summary>
            The "algorithms updated" field is used to store the timestamp of the
            most recent update to the Algorithms field.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateRecordFields.Certificate">
            <summary>
            The "certificate" field is sued for storing the binary data of the actual
            certificate.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509CertificateRecordFields.PrivateKey">
            <summary>
            The "private key" field is used to store the encrypted binary data of the
            private key associated with the certificate, if available.
            </summary>
        </member>
        <member name="T:MimeKit.Cryptography.X509CertificateRecord">
            <summary>
            An X.509 certificate record.
            </summary>
            <remarks>
            Represents an X.509 certificate record loaded from a database.
            </remarks>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateRecord.Id">
            <summary>
            Gets the identifier.
            </summary>
            <remarks>
            The id is typically the ROWID of the certificate in the database and is not
            generally useful outside the internals of the database implementation.
            </remarks>
            <value>The identifier.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateRecord.BasicConstraints">
            <summary>
            Gets the basic constraints of the certificate.
            </summary>
            <remarks>
            Gets the basic constraints of the certificate.
            </remarks>
            <value>The basic constraints of the certificate.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateRecord.IsTrusted">
            <summary>
            Gets or sets a value indicating whether the certificate is trusted.
            </summary>
            <remarks>
            Indicates whether the certificate is trusted.
            </remarks>
            <value><see langword="true" /> if the certificate is trusted; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateRecord.IsAnchor">
            <summary>
            Gets whether the certificate is an anchor.
            </summary>
            <remarks>
            Gets whether the certificate is an anchor.
            </remarks>
            <value><see langword="true" /> if the certificate is an anchor; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateRecord.KeyUsage">
            <summary>
            Gets the key usage flags for the certificate.
            </summary>
            <remarks>
            Gets the key usage flags for the certificate.
            </remarks>
            <value>The X.509 key usage.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateRecord.NotBefore">
            <summary>
            Gets the starting date and time for which the certificate is valid.
            </summary>
            <remarks>
            Gets the starting date and time for which the certificate is valid.
            </remarks>
            <value>The date and time in coordinated universal time (UTC).</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateRecord.NotAfter">
            <summary>
            Gets the end date and time for which the certificate is valid.
            </summary>
            <remarks>
            Gets the end date and time for which the certificate is valid.
            </remarks>
            <value>The date and time in coordinated universal time (UTC).</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateRecord.IssuerName">
            <summary>
            Gets the certificate's issuer name.
            </summary>
            <remarks>
            Gets the certificate's issuer name.
            </remarks>
            <value>The certificate's issuer name.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateRecord.SerialNumber">
            <summary>
            Gets the serial number of the certificate.
            </summary>
            <remarks>
            Gets the serial number of the certificate.
            </remarks>
            <value>The serial number.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateRecord.SubjectName">
            <summary>
            Gets the certificate's subject name.
            </summary>
            <remarks>
            Gets the certificate's subject name.
            </remarks>
            <value>The certificate's subject name.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateRecord.SubjectKeyIdentifier">
            <summary>
            Gets the certificate's subject key identifier.
            </summary>
            <remarks>
            Gets the certificate's subject key identifier.
            </remarks>
            <value>The certificate's subject key identifier.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateRecord.SubjectEmail">
            <summary>
            Gets the subject email address.
            </summary>
            <remarks>
            Gets the subject email address.
            </remarks>
            <value>The subject email address.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateRecord.SubjectDnsNames">
            <summary>
            Gets the subject DNS names.
            </summary>
            <remarks>
            Gets the subject DNS names.
            </remarks>
            <value>The subject DNS names.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateRecord.Fingerprint">
            <summary>
            Gets the fingerprint of the certificate.
            </summary>
            <remarks>
            Gets the fingerprint of the certificate.
            </remarks>
            <value>The fingerprint.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateRecord.Algorithms">
            <summary>
            Gets or sets the encryption algorithm capabilities.
            </summary>
            <remarks>
            Gets or sets the encryption algorithm capabilities.
            </remarks>
            <value>The encryption algorithms.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateRecord.AlgorithmsUpdated">
            <summary>
            Gets or sets the date when the algorithms were last updated.
            </summary>
            <remarks>
            Gets or sets the date when the algorithms were last updated.
            </remarks>
            <value>The date the algorithms were updated.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateRecord.Certificate">
            <summary>
            Gets the certificate.
            </summary>
            <remarks>
            Gets the certificate.
            </remarks>
            <value>The certificate.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateRecord.PrivateKey">
            <summary>
            Gets the private key.
            </summary>
            <remarks>
            Gets the private key.
            </remarks>
            <value>The private key.</value>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateRecord.#ctor(Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.X509CertificateRecord"/> class.
            </summary>
            <remarks>
            Creates a new certificate record with a private key for storing in a
            <see cref="T:MimeKit.Cryptography.IX509CertificateDatabase"/>.
            </remarks>
            <param name="certificate">The certificate.</param>
            <param name="key">The private key.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="certificate"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="key"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="key"/> is not a private key.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateRecord.#ctor(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.X509CertificateRecord"/> class.
            </summary>
            <remarks>
            Creates a new certificate record for storing in a <see cref="T:MimeKit.Cryptography.IX509CertificateDatabase"/>.
            </remarks>
            <param name="certificate">The certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateRecord.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.X509CertificateRecord"/> class.
            </summary>
            <remarks>
            This constructor is only meant to be used by implementors of <see cref="T:MimeKit.Cryptography.IX509CertificateDatabase"/>
            when loading records from the database.
            </remarks>
        </member>
        <member name="T:MimeKit.Cryptography.X509CertificateStore">
            <summary>
            A store for X.509 certificates and keys.
            </summary>
            <remarks>
            A store for X.509 certificates and keys.
            </remarks>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateStore.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.X509CertificateStore"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Cryptography.X509CertificateStore"/>.
            </remarks>
        </member>
        <member name="P:MimeKit.Cryptography.X509CertificateStore.Certificates">
            <summary>
            Enumerates the certificates currently in the store.
            </summary>
            <remarks>
            Enumerates the certificates currently in the store.
            </remarks>
            <value>The certificates.</value>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateStore.GetPrivateKey(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Gets the private key for the specified certificate.
            </summary>
            <remarks>
            Gets the private key for the specified certificate, if it exists.
            </remarks>
            <returns>The private key on success; otherwise <see langword="null"/>.</returns>
            <param name="certificate">The certificate.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateStore.Add(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Adds the specified certificate to the store.
            </summary>
            <remarks>
            Adds the specified certificate to the store.
            </remarks>
            <param name="certificate">The certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateStore.AddRange(System.Collections.Generic.IEnumerable{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Adds the specified range of certificates to the store.
            </summary>
            <remarks>
            Adds the specified range of certificates to the store.
            </remarks>
            <param name="certificates">The certificates.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificates"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateStore.Remove(Org.BouncyCastle.X509.X509Certificate)">
            <summary>
            Removes the specified certificate from the store.
            </summary>
            <remarks>
            Removes the specified certificate from the store.
            </remarks>
            <param name="certificate">The certificate.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificate"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateStore.RemoveRange(System.Collections.Generic.IEnumerable{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Removes the specified range of certificates from the store.
            </summary>
            <remarks>
            Removes the specified range of certificates from the store.
            </remarks>
            <param name="certificates">The certificates.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="certificates"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateStore.Import(System.IO.Stream)">
            <summary>
            Imports the certificate(s) from the specified stream.
            </summary>
            <remarks>
            Imports the certificate(s) from the specified stream.
            </remarks>
            <param name="stream">The stream to import.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occurred reading the stream.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateStore.Import(System.String)">
            <summary>
            Imports the certificate(s) from the specified file.
            </summary>
            <remarks>
            Imports the certificate(s) from the specified file.
            </remarks>
            <param name="fileName">The name of the file to import.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file could not be found.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occurred reading the file.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateStore.Import(System.Byte[])">
            <summary>
            Imports the certificate(s) from the specified byte array.
            </summary>
            <remarks>
            Imports the certificate(s) from the specified byte array.
            </remarks>
            <param name="rawData">The raw certificate data.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="rawData"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateStore.Import(System.IO.Stream,System.String)">
            <summary>
            Imports certificates and private keys from the specified stream.
            </summary>
            <remarks>
            <para>Imports certificates and private keys from the specified pkcs12 stream.</para>
            </remarks>
            <param name="stream">The stream to import.</param>
            <param name="password">The password to unlock the stream.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occurred reading the stream.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateStore.Import(System.String,System.String)">
            <summary>
            Imports certificates and private keys from the specified file.
            </summary>
            <remarks>
            <para>Imports certificates and private keys from the specified pkcs12 stream.</para>
            </remarks>
            <param name="fileName">The name of the file to import.</param>
            <param name="password">The password to unlock the file.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occurred reading the file.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateStore.Import(System.Byte[],System.String)">
            <summary>
            Imports certificates and private keys from the specified byte array.
            </summary>
            <remarks>
            <para>Imports certificates and private keys from the specified pkcs12 stream.</para>
            </remarks>
            <param name="rawData">The raw certificate data.</param>
            <param name="password">The password to unlock the raw data.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="rawData"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateStore.Export(System.IO.Stream)">
            <summary>
            Exports the certificates to an unencrypted stream.
            </summary>
            <remarks>
            Exports the certificates to an unencrypted stream.
            </remarks>
            <param name="stream">The output stream.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occurred while writing to the stream.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateStore.Export(System.String)">
            <summary>
            Exports the certificates to an unencrypted file.
            </summary>
            <remarks>
            Exports the certificates to an unencrypted file.
            </remarks>
            <param name="fileName">The file path to write to.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.IO.PathTooLongException">
            The specified path exceeds the maximum allowed path length of the system.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            A directory in the specified path does not exist.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to create the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occurred while writing to the stream.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateStore.Export(System.IO.Stream,System.String)">
            <summary>
            Exports the specified stream and password to a pkcs12 encrypted file.
            </summary>
            <remarks>
            Exports the specified stream and password to a pkcs12 encrypted file.
            </remarks>
            <param name="stream">The output stream.</param>
            <param name="password">The password to use to lock the private keys.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occurred while writing to the stream.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateStore.Export(System.String,System.String)">
            <summary>
            Exports the specified stream and password to a pkcs12 encrypted file.
            </summary>
            <remarks>
            Exports the specified stream and password to a pkcs12 encrypted file.
            </remarks>
            <param name="fileName">The file path to write to.</param>
            <param name="password">The password to use to lock the private keys.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.IO.PathTooLongException">
            The specified path exceeds the maximum allowed path length of the system.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            A directory in the specified path does not exist.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to create the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An error occurred while writing to the stream.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateStore.GetMatches(Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Gets an enumerator of matching X.509 certificates based on the specified selector.
            </summary>
            <remarks>
            Gets an enumerator of matching X.509 certificates based on the specified selector.
            </remarks>
            <returns>The matching certificates.</returns>
            <param name="selector">The match criteria.</param>
        </member>
        <member name="M:MimeKit.Cryptography.X509CertificateStore.Org#BouncyCastle#Utilities#Collections#IStore{Org#BouncyCastle#X509#X509Certificate}#EnumerateMatches(Org.BouncyCastle.Utilities.Collections.ISelector{Org.BouncyCastle.X509.X509Certificate})">
            <summary>
            Gets a collection of matching X.509 certificates based on the specified selector.
            </summary>
            <remarks>
            Gets a collection of matching X.509 certificates based on the specified selector.
            </remarks>
            <returns>The matching certificates.</returns>
            <param name="selector">The match criteria.</param>
        </member>
        <member name="T:MimeKit.Cryptography.X509CrlRecordFields">
            <summary>
            X.509 certificate revocation list record fields.
            </summary>
            <remarks>
            The record fields are used when querying the <see cref="T:MimeKit.Cryptography.IX509CertificateDatabase"/>
            for certificate revocation lists.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509CrlRecordFields.Id">
            <summary>
            The "id" field is typically just the ROWID in the database.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509CrlRecordFields.IsDelta">
            <summary>
            The "delta" field is a boolean value indicating whether the certificate
            revocation list is a delta.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509CrlRecordFields.IssuerName">
            <summary>
            The "issuer name" field stores the issuer name of the certificate revocation list.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509CrlRecordFields.ThisUpdate">
            <summary>
            The "this update" field stores the date and time of the most recent update.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509CrlRecordFields.NextUpdate">
            <summary>
            The "next update" field stores the date and time of the next scheduled update.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509CrlRecordFields.Crl">
            <summary>
            The "crl" field stores the raw binary data of the certificate revocation list.
            </summary>
        </member>
        <member name="T:MimeKit.Cryptography.X509CrlRecord">
            <summary>
            An X.509 certificate revocation list (CRL) record.
            </summary>
            <remarks>
            Represents an X.509 certificate revocation list record loaded from a database.
            </remarks>
        </member>
        <member name="P:MimeKit.Cryptography.X509CrlRecord.Id">
            <summary>
            Gets the identifier.
            </summary>
            <remarks>
            The id is typically the ROWID of the certificate revocation list in the
            database and is not generally useful outside the internals of the
            database implementation.
            </remarks>
            <value>The identifier.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CrlRecord.IsDelta">
            <summary>
            Gets whether this certificate revocation list is a delta.
            </summary>
            <remarks>
            Indicates whether this certificate revocation list is a delta.
            </remarks>
            <value><see langword="true" /> if th crl is delta; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CrlRecord.IssuerName">
            <summary>
            Gets the issuer name of the certificate revocation list.
            </summary>
            <remarks>
            Gets the issuer name of the certificate revocation list.
            </remarks>
            <value>The issuer's name.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CrlRecord.ThisUpdate">
            <summary>
            Gets the date and time of the most recent update.
            </summary>
            <remarks>
            Gets the date and time of the most recent update.
            </remarks>
            <value>The date and time.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CrlRecord.NextUpdate">
            <summary>
            Gets the date and time when the next CRL update will be published.
            </summary>
            <remarks>
            Gets the date and time when the next CRL update will be published.
            </remarks>
            <value>The date and time.</value>
        </member>
        <member name="P:MimeKit.Cryptography.X509CrlRecord.Crl">
            <summary>
            Gets the certificate revocation list.
            </summary>
            <remarks>
            Gets the certificate revocation list.
            </remarks>
            <value>The certificate revocation list.</value>
        </member>
        <member name="M:MimeKit.Cryptography.X509CrlRecord.#ctor(Org.BouncyCastle.X509.X509Crl)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.X509CrlRecord"/> class.
            </summary>
            <remarks>
            Creates a new CRL record for storing in a <see cref="T:MimeKit.Cryptography.IX509CertificateDatabase"/>.
            </remarks>
            <param name="crl">The certificate revocation list.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="crl"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Cryptography.X509CrlRecord.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Cryptography.X509CrlRecord"/> class.
            </summary>
            <remarks>
            This constructor is only meant to be used by implementors of <see cref="T:MimeKit.Cryptography.IX509CertificateDatabase"/>
            when loading records from the database.
            </remarks>
        </member>
        <member name="T:MimeKit.Cryptography.X509KeyUsageFlags">
            <summary>
            X.509 key usage flags.
            </summary>
            <remarks>
            <para>The X.509 Key Usage Flags can be used to determine what operations
            a certificate can be used for.</para>
            <note type="tip">A value of <see cref="F:MimeKit.Cryptography.X509KeyUsageFlags.None"/> indicates that
            there are no restrictions on the use of the
            <see cref="T:Org.BouncyCastle.X509.X509Certificate"/>.</note>
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageFlags.None">
            <summary>
            No limitations for the key usage are set.
            </summary>
            <remarks>
            The key may be used for anything.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageFlags.EncipherOnly">
            <summary>
            The key may only be used for enciphering data during key agreement.
            </summary>
            <remarks>
            When both the <see cref="F:MimeKit.Cryptography.X509KeyUsageFlags.EncipherOnly"/> bit and the 
            <see cref="F:MimeKit.Cryptography.X509KeyUsageFlags.KeyAgreement"/> bit are both set, the key 
            may be used only for enciphering data while
            performing key agreement.
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageFlags.CrlSign">
            <summary>
            The key may be used for verifying signatures on
            certificate revocation lists (CRLs).
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageFlags.KeyCertSign">
            <summary>
            The key may be used for verifying signatures on certificates.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageFlags.KeyAgreement">
            <summary>
            The key is meant to be used for key agreement.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageFlags.DataEncipherment">
            <summary>
            The key may be used for data encipherment.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageFlags.KeyEncipherment">
            <summary>
            The key is meant to be used for key encipherment.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageFlags.NonRepudiation">
            <summary>
            The key may be used to verify digital signatures used to
            provide a non-repudiation service.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageFlags.DigitalSignature">
            <summary>
            The key may be used for digitally signing data.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageFlags.DecipherOnly">
            <summary>
            The key may only be used for deciphering data during key agreement.
            </summary>
            <remarks>
            When both the <see cref="F:MimeKit.Cryptography.X509KeyUsageFlags.DecipherOnly"/> bit and the 
            <see cref="F:MimeKit.Cryptography.X509KeyUsageFlags.KeyAgreement"/> bit are both set, the key
            may be used only for deciphering data while
            performing key agreement.
            </remarks>
        </member>
        <member name="T:MimeKit.Cryptography.X509KeyUsageBits">
            <summary>
            X.509 key usage bits.
            </summary>
            <remarks>
            <para>The X.509 Key Usage Bits can be used to determine what operations
            a certificate can be used for which is similar to <see cref="T:MimeKit.Cryptography.X509KeyUsageFlags"/> but
            the usage of this is enum represents a position in a bit array.</para> 
            </remarks>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageBits.DigitalSignature">
            <summary>
            The key may be used for digitally signing data.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageBits.NonRepudiation">
            <summary>
            The key may be used to verify digital signatures used to
            provide a non-repudiation service.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageBits.KeyEncipherment">
            <summary>
            The key is meant to be used for key encipherment.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageBits.DataEncipherment">
            <summary>
            The key may be used for data encipherment.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageBits.KeyAgreement">
            <summary>
            The key is meant to be used for key agreement.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageBits.KeyCertSign">
            <summary>
            The key may be used for verifying signatures on certificates.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageBits.CrlSign">
            <summary>
            The key may be used for verifying signatures on
            certificate revocation lists (CRLs).
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageBits.EncipherOnly">
            <summary>
            The key may only be used for enciphering data during key agreement.
            </summary>
        </member>
        <member name="F:MimeKit.Cryptography.X509KeyUsageBits.DecipherOnly">
            <summary>
            The key may only be used for deciphering data during key agreement.
            </summary>
        </member>
        <member name="T:MimeKit.DomainList">
            <summary>
            A domain list.
            </summary>
            <remarks>
            Represents a list of domains, such as those that an email was routed through.
            </remarks>
        </member>
        <member name="M:MimeKit.DomainList.#ctor(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.DomainList"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.DomainList"/> based on the domains provided.
            </remarks>
            <param name="domains">A domain list.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="domains"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.DomainList.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.DomainList"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.DomainList"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.DomainList.IndexOf(System.String)">
            <summary>
            Get the index of the requested domain, if it exists.
            </summary>
            <remarks>
            Finds the index of the specified domain, if it exists.
            </remarks>
            <returns>The index of the requested domain; otherwise <value>-1</value>.</returns>
            <param name="domain">The domain.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="domain"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.DomainList.Insert(System.Int32,System.String)">
            <summary>
            Insert a domain at the specified index.
            </summary>
            <remarks>
            Inserts the domain at the specified index in the list.
            </remarks>
            <param name="index">The index to insert the domain.</param>
            <param name="domain">The domain to insert.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="domain"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.DomainList.RemoveAt(System.Int32)">
            <summary>
            Remove the domain at the specified index.
            </summary>
            <remarks>
            Removes the domain at the specified index.
            </remarks>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="P:MimeKit.DomainList.Item(System.Int32)">
            <summary>
            Get or set the domain at the specified index.
            </summary>
            <remarks>
            Gets or sets the domain at the specified index.
            </remarks>
            <value>The domain at the specified index.</value>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.DomainList.Add(System.String)">
            <summary>
            Add a domain.
            </summary>
            <remarks>
            Adds the specified domain to the end of the list.
            </remarks>
            <param name="domain">The domain.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="domain"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.DomainList.Clear">
            <summary>
            Clear the domain list.
            </summary>
            <remarks>
            Removes all the domains in the list.
            </remarks>
        </member>
        <member name="M:MimeKit.DomainList.Contains(System.String)">
            <summary>
            Check if the <see cref="T:MimeKit.DomainList"/> contains the specified domain.
            </summary>
            <remarks>
            Determines whether the domain list contains the specified domain.
            </remarks>
            <returns><see langword="true" /> if the specified domain is contained;
            otherwise, <see langword="false" />.</returns>
            <param name="domain">The domain.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="domain"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.DomainList.CopyTo(System.String[],System.Int32)">
            <summary>
            Copy all the domains in the <see cref="T:MimeKit.DomainList"/> to an array.
            </summary>
            <remarks>
            Copies all the domains within the <see cref="T:MimeKit.DomainList"/> into the array,
            starting at the specified array index.
            </remarks>
            <param name="array">The array to copy the domains to.</param>
            <param name="arrayIndex">The index into the array.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="array"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="arrayIndex"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.DomainList.Remove(System.String)">
            <summary>
            Remove a domain.
            </summary>
            <remarks>
            Removes the first instance of the specified domain from the list if it exists.
            </remarks>
            <returns><see langword="true" /> if the domain was removed; otherwise, <see langword="false" />.</returns>
            <param name="domain">The domain.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="domain"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.DomainList.Count">
            <summary>
            Get the number of domains in the <see cref="T:MimeKit.DomainList"/>.
            </summary>
            <remarks>
            Indicates the number of domains in the list.
            </remarks>
            <value>The number of domains.</value>
        </member>
        <member name="P:MimeKit.DomainList.IsReadOnly">
            <summary>
            Get a value indicating whether the <see cref="T:MimeKit.DomainList"/> is read only.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.DomainList"/> is never read-only.
            </remarks>
            <value><see langword="true" /> if this instance is read only; otherwise, <see langword="false" />.</value>
        </member>
        <member name="M:MimeKit.DomainList.GetEnumerator">
            <summary>
            Get an enumerator for the list of domains.
            </summary>
            <remarks>
            Gets an enumerator for the list of domains.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MimeKit.DomainList.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Get an enumerator for the list of domains.
            </summary>
            <remarks>
            Gets an enumerator for the list of domains.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MimeKit.DomainList.ToString">
            <summary>
            Return a string representation of the list of domains.
            </summary>
            <remarks>
            <para>Each non-empty domain string will be prepended by an '@'.</para>
            <para>If there are multiple domains in the list, they will be separated by a comma.</para>
            </remarks>
            <returns>A string representing the <see cref="T:MimeKit.DomainList"/>.</returns>
        </member>
        <member name="M:MimeKit.DomainList.TryParse(System.Byte[],System.Int32@,System.Int32,System.Boolean,MimeKit.DomainList@)">
            <summary>
            Try to parse a list of domains.
            </summary>
            <remarks>
            Attempts to parse a <see cref="T:MimeKit.DomainList"/> from the text buffer starting at the
            specified index. The index will only be updated if a <see cref="T:MimeKit.DomainList"/> was
            successfully parsed.
            </remarks>
            <returns><see langword="true" /> if a <see cref="T:MimeKit.DomainList"/> was successfully parsed;
            otherwise, <see langword="false" />.</returns>
            <param name="buffer">The buffer to parse.</param>
            <param name="index">The index to start parsing.</param>
            <param name="endIndex">An index of the end of the input.</param>
            <param name="throwOnError">A flag indicating whether an
            exception should be thrown on error.</param>
            <param name="route">The parsed DomainList.</param>
        </member>
        <member name="M:MimeKit.DomainList.TryParse(System.String,MimeKit.DomainList@)">
            <summary>
            Try to parse a list of domains.
            </summary>
            <remarks>
            Attempts to parse a <see cref="T:MimeKit.DomainList"/> from the supplied text. The index
            will only be updated if a <see cref="T:MimeKit.DomainList"/> was successfully parsed.
            </remarks>
            <returns><see langword="true" /> if a <see cref="T:MimeKit.DomainList"/> was successfully parsed;
            otherwise, <see langword="false" />.</returns>
            <param name="text">The text to parse.</param>
            <param name="route">The parsed DomainList.</param>
        </member>
        <member name="T:MimeKit.EncodingConstraint">
            <summary>
            A content encoding constraint.
            </summary>
            <remarks>
            Not all message transports support binary or 8-bit data, so it becomes
            necessary to constrain the content encoding to a subset of the possible
            Content-Transfer-Encoding values.
            </remarks>
        </member>
        <member name="F:MimeKit.EncodingConstraint.None">
            <summary>
            There are no encoding constraints, the content may contain any byte.
            </summary>
        </member>
        <member name="F:MimeKit.EncodingConstraint.EightBit">
            <summary>
            The content may contain bytes with the high bit set, but must not contain any zero-bytes.
            </summary>
        </member>
        <member name="F:MimeKit.EncodingConstraint.SevenBit">
            <summary>
            The content may only contain bytes within the 7-bit ASCII range.
            </summary>
        </member>
        <member name="T:MimeKit.Encodings.Base64Decoder">
            <summary>
            Incrementally decodes content encoded with the base64 encoding.
            </summary>
            <remarks>
            Base64 is an encoding often used in MIME to encode binary content such
            as images and other types of multimedia to ensure that the data remains
            intact when sent via 7bit transports such as SMTP.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.Base64Decoder.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.Base64Decoder"/> class.
            </summary>
            <remarks>
            Creates a new base64 decoder.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.Base64Decoder.Clone">
            <summary>
            Clone the <see cref="T:MimeKit.Encodings.Base64Decoder"/> with its current state.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Encodings.Base64Decoder"/> with exactly the same state as the current decoder.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Encodings.Base64Decoder"/> with identical state.</returns>
        </member>
        <member name="P:MimeKit.Encodings.Base64Decoder.Encoding">
            <summary>
            Get the encoding.
            </summary>
            <remarks>
            Gets the encoding that the decoder supports.
            </remarks>
            <value>The encoding.</value>
        </member>
        <member name="M:MimeKit.Encodings.Base64Decoder.EstimateOutputLength(System.Int32)">
            <summary>
            Estimate the length of the output.
            </summary>
            <remarks>
            Estimates the number of bytes needed to decode the specified number of input bytes.
            </remarks>
            <returns>The estimated output length.</returns>
            <param name="inputLength">The input length.</param>
        </member>
        <member name="M:MimeKit.Encodings.Base64Decoder.Decode(System.Byte*,System.Int32,System.Byte*)">
            <summary>
            Decode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Decodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            decoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.Base64Decoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">A pointer to the beginning of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">A pointer to the beginning of the output buffer.</param>
        </member>
        <member name="M:MimeKit.Encodings.Base64Decoder.Decode(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Decode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Decodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            decoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.Base64Decoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.Base64Decoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.Base64Decoder.Reset">
            <summary>
            Reset the decoder.
            </summary>
            <remarks>
            Resets the state of the decoder.
            </remarks>
        </member>
        <member name="T:MimeKit.Encodings.Base64Encoder">
            <summary>
            Incrementally encodes content using the base64 encoding.
            </summary>
            <remarks>
            Base64 is an encoding often used in MIME to encode binary content such
            as images and other types of multimedia to ensure that the data remains
            intact when sent via 7bit transports such as SMTP.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.Base64Encoder.#ctor(System.Boolean,System.Int32)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.Base64Encoder"/> class.
            </summary>
            <remarks>
            Creates a new base64 encoder.
            </remarks>
            <param name="rfc2047"><see langword="true" /> if this encoder will be used to encode rfc2047 encoded-word payloads; otherwise, <see langword="false" />.</param>
            <param name="maxLineLength">The maximum number of octets allowed per line (not counting the CRLF). Must be between <c>60</c> and <c>998</c> (inclusive).</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="maxLineLength"/> is not between <c>60</c> and <c>998</c> (inclusive).
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.Base64Encoder.#ctor(System.Int32)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.Base64Encoder"/> class.
            </summary>
            <remarks>
            Creates a new base64 encoder.
            </remarks>
            <param name="maxLineLength">The maximum number of octets allowed per line (not counting the CRLF). Must be between <c>60</c> and <c>998</c> (inclusive).</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="maxLineLength"/> is not between <c>60</c> and <c>998</c> (inclusive).
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.Base64Encoder.Clone">
            <summary>
            Clone the <see cref="T:MimeKit.Encodings.Base64Encoder"/> with its current state.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Encodings.Base64Encoder"/> with exactly the same state as the current encoder.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Encodings.Base64Encoder"/> with identical state.</returns>
        </member>
        <member name="P:MimeKit.Encodings.Base64Encoder.Encoding">
            <summary>
            Get the encoding.
            </summary>
            <remarks>
            Gets the encoding that the encoder supports.
            </remarks>
            <value>The encoding.</value>
        </member>
        <member name="M:MimeKit.Encodings.Base64Encoder.EstimateOutputLength(System.Int32)">
            <summary>
            Estimate the length of the output.
            </summary>
            <remarks>
            Estimates the number of bytes needed to encode the specified number of input bytes.
            </remarks>
            <returns>The estimated output length.</returns>
            <param name="inputLength">The input length.</param>
        </member>
        <member name="M:MimeKit.Encodings.Base64Encoder.Encode(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Encode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Encodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            encoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.Base64Encoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.Base64Encoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.Base64Encoder.Flush(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Encode the specified input into the output buffer, flushing any internal buffer state as well.
            </summary>
            <remarks>
            <para>Encodes the specified input into the output buffer, flushing any internal state as well.</para>
            <para>The output buffer should be large enough to hold all the
            encoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.Base64Encoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.Base64Encoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.Base64Encoder.Reset">
            <summary>
            Reset the encoder.
            </summary>
            <remarks>
            Resets the state of the encoder.
            </remarks>
        </member>
        <member name="T:MimeKit.Encodings.HexDecoder">
            <summary>
            Incrementally decodes content encoded with a Uri hex encoding.
            </summary>
            <remarks>
            This is mostly meant for decoding parameter values encoded using
            the rules specified by rfc2184 and rfc2231.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.HexDecoder.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.HexDecoder"/> class.
            </summary>
            <remarks>
            Creates a new hex decoder.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.HexDecoder.Clone">
            <summary>
            Clone the <see cref="T:MimeKit.Encodings.HexDecoder"/> with its current state.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Encodings.HexDecoder"/> with exactly the same state as the current decoder.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Encodings.HexDecoder"/> with identical state.</returns>
        </member>
        <member name="P:MimeKit.Encodings.HexDecoder.Encoding">
            <summary>
            Get the encoding.
            </summary>
            <remarks>
            Gets the encoding that the decoder supports.
            </remarks>
            <value>The encoding.</value>
        </member>
        <member name="M:MimeKit.Encodings.HexDecoder.EstimateOutputLength(System.Int32)">
            <summary>
            Estimate the length of the output.
            </summary>
            <remarks>
            Estimates the number of bytes needed to decode the specified number of input bytes.
            </remarks>
            <returns>The estimated output length.</returns>
            <param name="inputLength">The input length.</param>
        </member>
        <member name="M:MimeKit.Encodings.HexDecoder.Decode(System.Byte*,System.Int32,System.Byte*)">
            <summary>
            Decode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Decodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            decoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.HexDecoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">A pointer to the beginning of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">A pointer to the beginning of the output buffer.</param>
        </member>
        <member name="M:MimeKit.Encodings.HexDecoder.Decode(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Decode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Decodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            decoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.HexDecoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.HexDecoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.HexDecoder.Reset">
            <summary>
            Reset the decoder.
            </summary>
            <remarks>
            Resets the state of the decoder.
            </remarks>
        </member>
        <member name="T:MimeKit.Encodings.HexEncoder">
            <summary>
            Incrementally encodes content using a Uri hex encoding.
            </summary>
            <remarks>
            This is mostly meant for decoding parameter values encoded using
            the rules specified by rfc2184 and rfc2231.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.HexEncoder.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.HexEncoder"/> class.
            </summary>
            <remarks>
            Creates a new hex encoder.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.HexEncoder.Clone">
            <summary>
            Clone the <see cref="T:MimeKit.Encodings.HexEncoder"/> with its current state.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Encodings.HexEncoder"/> with exactly the same state as the current encoder.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Encodings.HexEncoder"/> with identical state.</returns>
        </member>
        <member name="P:MimeKit.Encodings.HexEncoder.Encoding">
            <summary>
            Get the encoding.
            </summary>
            <remarks>
            Gets the encoding that the encoder supports.
            </remarks>
            <value>The encoding.</value>
        </member>
        <member name="M:MimeKit.Encodings.HexEncoder.EstimateOutputLength(System.Int32)">
            <summary>
            Estimate the length of the output.
            </summary>
            <remarks>
            Estimates the number of bytes needed to encode the specified number of input bytes.
            </remarks>
            <returns>The estimated output length.</returns>
            <param name="inputLength">The input length.</param>
        </member>
        <member name="M:MimeKit.Encodings.HexEncoder.Encode(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Encode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Encodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            encoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.HexEncoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.HexEncoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.HexEncoder.Flush(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Encode the specified input into the output buffer, flushing any internal buffer state as well.
            </summary>
            <remarks>
            <para>Encodes the specified input into the output buffer, flushing any internal state as well.</para>
            <para>The output buffer should be large enough to hold all the
            encoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.HexEncoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.HexEncoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.HexEncoder.Reset">
            <summary>
            Reset the encoder.
            </summary>
            <remarks>
            Resets the state of the encoder.
            </remarks>
        </member>
        <member name="T:MimeKit.Encodings.IMimeDecoder">
            <summary>
            An interface for incrementally decoding content.
            </summary>
            <remarks>
            An interface for incrementally decoding content.
            </remarks>
        </member>
        <member name="P:MimeKit.Encodings.IMimeDecoder.Encoding">
            <summary>
            Get the encoding.
            </summary>
            <remarks>
            Gets the encoding that the decoder supports.
            </remarks>
            <value>The encoding.</value>
        </member>
        <member name="M:MimeKit.Encodings.IMimeDecoder.Clone">
            <summary>
            Clone the <see cref="T:MimeKit.Encodings.IMimeDecoder"/> with its current state.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Encodings.IMimeDecoder"/> with exactly the same state as the current decoder.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Encodings.IMimeDecoder"/> with identical state.</returns>
        </member>
        <member name="M:MimeKit.Encodings.IMimeDecoder.EstimateOutputLength(System.Int32)">
            <summary>
            Estimate the length of the output.
            </summary>
            <remarks>
            Estimates the number of bytes needed to decode the specified number of input bytes.
            </remarks>
            <returns>The estimated output length.</returns>
            <param name="inputLength">The input length.</param>
        </member>
        <member name="M:MimeKit.Encodings.IMimeDecoder.Decode(System.Byte*,System.Int32,System.Byte*)">
            <summary>
            Decode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Decodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            decoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.IMimeDecoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">A pointer to the beginning of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">A pointer to the beginning of the output buffer.</param>
        </member>
        <member name="M:MimeKit.Encodings.IMimeDecoder.Decode(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Decode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Decodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            decoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.IMimeDecoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.IMimeDecoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.IMimeDecoder.Reset">
            <summary>
            Reset the decoder.
            </summary>
            <remarks>
            Resets the state of the decoder.
            </remarks>
        </member>
        <member name="T:MimeKit.Encodings.IMimeEncoder">
            <summary>
            An interface for incrementally encoding content.
            </summary>
            <remarks>
            An interface for incrementally encoding content.
            </remarks>
        </member>
        <member name="P:MimeKit.Encodings.IMimeEncoder.Encoding">
            <summary>
            Get the encoding.
            </summary>
            <remarks>
            Gets the encoding that the encoder supports.
            </remarks>
            <value>The encoding.</value>
        </member>
        <member name="M:MimeKit.Encodings.IMimeEncoder.Clone">
            <summary>
            Clone the <see cref="T:MimeKit.Encodings.IMimeEncoder"/> with its current state.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Encodings.IMimeEncoder"/> with exactly the same state as the current encoder.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Encodings.IMimeEncoder"/> with identical state.</returns>
        </member>
        <member name="M:MimeKit.Encodings.IMimeEncoder.EstimateOutputLength(System.Int32)">
            <summary>
            Estimate the length of the output.
            </summary>
            <remarks>
            Estimates the number of bytes needed to encode the specified number of input bytes.
            </remarks>
            <returns>The estimated output length.</returns>
            <param name="inputLength">The input length.</param>
        </member>
        <member name="M:MimeKit.Encodings.IMimeEncoder.Encode(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Encode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Encodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            encoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.IMimeEncoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.IMimeEncoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.IMimeEncoder.Flush(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Encode the specified input into the output buffer, flushing any internal buffer state as well.
            </summary>
            <remarks>
            <para>Encodes the specified input into the output buffer, flusing any internal state as well.</para>
            <para>The output buffer should be large enough to hold all the
            encoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.IMimeEncoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.IMimeEncoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.IMimeEncoder.Reset">
            <summary>
            Reset the encoder.
            </summary>
            <remarks>
            Resets the state of the encoder.
            </remarks>
        </member>
        <member name="T:MimeKit.Encodings.IPunycode">
            <summary>
            An interface for encoding and decoding international domain names.
            </summary>
            <remarks>
            An interface for encoding and decoding international domain names.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.IPunycode.Encode(System.String)">
            <summary>
            Encode a Unicode domain name, converting it to an ASCII-safe representation.
            </summary>
            <remarks>
            Encodes a Unicode domain name, converting it to an ASCII-safe representation
            according to the rules defined by the IDNA standard.
            </remarks>
            <param name="domain">The Unicode domain name.</param>
            <returns>The ASCII-encoded domain name.</returns>
        </member>
        <member name="M:MimeKit.Encodings.IPunycode.Encode(System.String,System.Int32)">
            <summary>
            Encode a Unicode domain name, converting it to an ASCII-safe representation.
            </summary>
            <remarks>
            Encodes a Unicode domain name, converting it to an ASCII-safe representation
            according to the rules defined by the IDNA standard.
            </remarks>
            <param name="domain">The Unicode domain name.</param>
            <param name="index">A zero-based offset into <paramref name="domain"/> that
            specifies the start of the substring to convert. The conversion operation continues
            to the end of the string.</param>
            <returns>The ASCII-encoded domain name.</returns>
        </member>
        <member name="M:MimeKit.Encodings.IPunycode.Encode(System.String,System.Int32,System.Int32)">
            <summary>
            Encode a Unicode domain name, converting it to an ASCII-safe representation.
            </summary>
            <remarks>
            Encodes a Unicode domain name, converting it to an ASCII-safe representation
            according to the rules defined by the IDNA standard.
            </remarks>
            <param name="domain">The Unicode domain name.</param>
            <param name="index">A zero-based offset into <paramref name="domain"/> that
            specifies the start of the substring to convert. The conversion operation continues
            to the end of the string.</param>
            <param name="count">The number of characters to convert in the substring that starts
            at the position specified by <paramref name="index"/> in the <paramref name="domain"/>
            string.</param>
            <returns>The ASCII-encoded domain name.</returns>
        </member>
        <member name="M:MimeKit.Encodings.IPunycode.Decode(System.String)">
            <summary>
            Decode a domain name, converting it to a string of Unicode characters.
            </summary>
            <remarks>
            Decodes a domain name, converting it to Unicode, according to the rules defined by the IDNA standard.
            </remarks>
            <param name="domain">The ASCII-encoded domain name.</param>
            <returns>The Unicode domain name.</returns>
        </member>
        <member name="M:MimeKit.Encodings.IPunycode.Decode(System.String,System.Int32)">
            <summary>
            Decode a domain name, converting it to a string of Unicode characters.
            </summary>
            <remarks>
            Decodes a domain name, converting it to Unicode, according to the rules defined by the IDNA standard.
            </remarks>
            <param name="domain">The ASCII-encoded domain name.</param>
            <param name="index">A zero-based offset into <paramref name="domain"/> that
            specifies the start of the substring to convert. The conversion operation continues
            to the end of the string.</param>
            <returns>The Unicode domain name.</returns>
        </member>
        <member name="M:MimeKit.Encodings.IPunycode.Decode(System.String,System.Int32,System.Int32)">
            <summary>
            Decode a domain name, converting it to a string of Unicode characters.
            </summary>
            <remarks>
            Decodes a domain name, converting it to Unicode, according to the rules defined by the IDNA standard.
            </remarks>
            <param name="domain">The ASCII-encoded domain name.</param>
            <param name="index">A zero-based offset into <paramref name="domain"/> that
            specifies the start of the substring to convert. The conversion operation continues
            to the end of the string.</param>
            <param name="count">The number of characters to convert in the substring that starts
            at the position specified by <paramref name="index"/> in the <paramref name="domain"/>
            string.</param>
            <returns>The Unicode domain name.</returns>
        </member>
        <member name="T:MimeKit.Encodings.PassThroughDecoder">
            <summary>
            A pass-through decoder implementing the <see cref="T:MimeKit.Encodings.IMimeDecoder"/> interface.
            </summary>
            <remarks>
            Simply copies data as-is from the input buffer into the output buffer.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.PassThroughDecoder.#ctor(MimeKit.ContentEncoding)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.PassThroughDecoder"/> class.
            </summary>
            <param name="encoding">The encoding to return in the <see cref="P:MimeKit.Encodings.PassThroughDecoder.Encoding"/> property.</param>
            <remarks>
            Creates a new pass-through decoder.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.PassThroughDecoder.Clone">
            <summary>
            Clone the <see cref="T:MimeKit.Encodings.PassThroughDecoder"/> with its current state.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Encodings.PassThroughDecoder"/> with exactly the same state as the current decoder.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Encodings.PassThroughDecoder"/> with identical state.</returns>
        </member>
        <member name="P:MimeKit.Encodings.PassThroughDecoder.Encoding">
            <summary>
            Get the encoding.
            </summary>
            <remarks>
            Gets the encoding that the decoder supports.
            </remarks>
            <value>The encoding.</value>
        </member>
        <member name="M:MimeKit.Encodings.PassThroughDecoder.EstimateOutputLength(System.Int32)">
            <summary>
            Estimate the length of the output.
            </summary>
            <remarks>
            Estimates the number of bytes needed to decode the specified number of input bytes.
            </remarks>
            <returns>The estimated output length.</returns>
            <param name="inputLength">The input length.</param>
        </member>
        <member name="M:MimeKit.Encodings.PassThroughDecoder.Decode(System.Byte*,System.Int32,System.Byte*)">
            <summary>
            Decode the specified input into the output buffer.
            </summary>
            <remarks>
            Copies the input buffer into the output buffer, verbatim.
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">A pointer to the beginning of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">A pointer to the beginning of the output buffer.</param>
        </member>
        <member name="M:MimeKit.Encodings.PassThroughDecoder.Decode(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Decode the specified input into the output buffer.
            </summary>
            <remarks>
            Copies the input buffer into the output buffer, verbatim.
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.PassThroughDecoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.PassThroughDecoder.Reset">
            <summary>
            Reset the decoder.
            </summary>
            <remarks>
            Resets the state of the decoder.
            </remarks>
        </member>
        <member name="T:MimeKit.Encodings.PassThroughEncoder">
            <summary>
            A pass-through encoder implementing the <see cref="T:MimeKit.Encodings.IMimeDecoder"/> interface.
            </summary>
            <remarks>
            Simply copies data as-is from the input buffer into the output buffer.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.PassThroughEncoder.#ctor(MimeKit.ContentEncoding)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.PassThroughEncoder"/> class.
            </summary>
            <param name="encoding">The encoding to return in the <see cref="P:MimeKit.Encodings.PassThroughEncoder.Encoding"/> property.</param>
            <remarks>
            Creates a new pass-through encoder.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.PassThroughEncoder.Clone">
            <summary>
            Clone the <see cref="T:MimeKit.Encodings.PassThroughEncoder"/> with its current state.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Encodings.PassThroughEncoder"/> with exactly the same state as the current encoder.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Encodings.PassThroughEncoder"/> with identical state.</returns>
        </member>
        <member name="P:MimeKit.Encodings.PassThroughEncoder.Encoding">
            <summary>
            Get the encoding.
            </summary>
            <remarks>
            Gets the encoding that the encoder supports.
            </remarks>
            <value>The encoding.</value>
        </member>
        <member name="M:MimeKit.Encodings.PassThroughEncoder.EstimateOutputLength(System.Int32)">
            <summary>
            Estimate the length of the output.
            </summary>
            <remarks>
            Estimates the number of bytes needed to encode the specified number of input bytes.
            </remarks>
            <returns>The estimated output length.</returns>
            <param name="inputLength">The input length.</param>
        </member>
        <member name="M:MimeKit.Encodings.PassThroughEncoder.Encode(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Encode the specified input into the output buffer.
            </summary>
            <remarks>
            Copies the input buffer into the output buffer, verbatim.
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.PassThroughEncoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.PassThroughEncoder.Flush(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Encode the specified input into the output buffer, flushing any internal buffer state as well.
            </summary>
            <remarks>
            Copies the input buffer into the output buffer, verbatim.
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.PassThroughEncoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.PassThroughEncoder.Reset">
            <summary>
            Reset the encoder.
            </summary>
            <remarks>
            Resets the state of the encoder.
            </remarks>
        </member>
        <member name="T:MimeKit.Encodings.Punycode">
            <summary>
            A class for encoding and decoding international domain names.
            </summary>
            <remarks>
            A class for encoding and decoding international domain names.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.Punycode.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.Punycode"/> class.
            </summary>
            <remarks>
            Creates a new instance of <see cref="T:MimeKit.Encodings.Punycode"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.Punycode.#ctor(System.Globalization.IdnMapping)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.Punycode"/> class.
            </summary>
            <remarks>
            Creates a new instance of <see cref="T:MimeKit.Encodings.Punycode"/>.
            </remarks>
            <param name="idnMapping">The <see cref="T:System.Globalization.IdnMapping"/> to use for encoding and decoding international domain names.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="idnMapping"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.Punycode.Encode(System.String)">
            <summary>
            Encode a Unicode domain name, converting it to an ASCII-safe representation.
            </summary>
            <remarks>
            Encodes a Unicode domain name, converting it to an ASCII-safe representation
            according to the rules defined by the IDNA standard.
            </remarks>
            <param name="unicode">The Unicode domain name.</param>
            <returns>The ASCII-encoded domain name.</returns>
        </member>
        <member name="M:MimeKit.Encodings.Punycode.Encode(System.String,System.Int32)">
            <summary>
            Encode a Unicode domain name, converting it to an ASCII-safe representation.
            </summary>
            <remarks>
            Encodes a Unicode domain name, converting it to an ASCII-safe representation
            according to the rules defined by the IDNA standard.
            </remarks>
            <param name="unicode">The Unicode domain name.</param>
            <param name="index">A zero-based offset into <paramref name="unicode"/> that
            specifies the start of the substring to convert. The conversion operation continues
            to the end of the string.</param>
            <returns>The ASCII-encoded domain name.</returns>
        </member>
        <member name="M:MimeKit.Encodings.Punycode.Encode(System.String,System.Int32,System.Int32)">
            <summary>
            Encode a Unicode domain name, converting it to an ASCII-safe representation.
            </summary>
            <remarks>
            Encodes a Unicode domain name, converting it to an ASCII-safe representation
            according to the rules defined by the IDNA standard.
            </remarks>
            <param name="unicode">The Unicode domain name.</param>
            <param name="index">A zero-based offset into <paramref name="unicode"/> that
            specifies the start of the substring to convert. The conversion operation continues
            to the end of the string.</param>
            <param name="count">The number of characters to convert in the substring that starts
            at the position specified by <paramref name="index"/> in the <paramref name="unicode"/>
            string.</param>
            <returns>The ASCII-encoded domain name.</returns>
        </member>
        <member name="M:MimeKit.Encodings.Punycode.Decode(System.String)">
            <summary>
            Decode a domain name, converting it to a string of Unicode characters.
            </summary>
            <remarks>
            Decodes a domain name, converting it to Unicode, according to the rules defined by the IDNA standard.
            </remarks>
            <param name="ascii">The ASCII-encoded domain name.</param>
            <returns>The Unicode domain name.</returns>
        </member>
        <member name="M:MimeKit.Encodings.Punycode.Decode(System.String,System.Int32)">
            <summary>
            Decode a domain name, converting it to a string of Unicode characters.
            </summary>
            <remarks>
            Decodes a domain name, converting it to Unicode, according to the rules defined by the IDNA standard.
            </remarks>
            <param name="ascii">The ASCII-encoded domain name.</param>
            <param name="index">A zero-based offset into <paramref name="ascii"/> that
            specifies the start of the substring to convert. The conversion operation continues
            to the end of the string.</param>
            <returns>The Unicode domain name.</returns>
        </member>
        <member name="M:MimeKit.Encodings.Punycode.Decode(System.String,System.Int32,System.Int32)">
            <summary>
            Decode a domain name, converting it to a string of Unicode characters.
            </summary>
            <remarks>
            Decodes a domain name, converting it to Unicode, according to the rules defined by the IDNA standard.
            </remarks>
            <param name="ascii">The ASCII-encoded domain name.</param>
            <param name="index">A zero-based offset into <paramref name="ascii"/> that
            specifies the start of the substring to convert. The conversion operation continues
            to the end of the string.</param>
            <param name="count">The number of characters to convert in the substring that starts
            at the position specified by <paramref name="index"/> in the <paramref name="ascii"/>
            string.</param>
            <returns>The Unicode domain name.</returns>
        </member>
        <member name="T:MimeKit.Encodings.QEncodeMode">
            <summary>
            Q-Encoding mode.
            </summary>
            <remarks>
            The encoding mode for the 'Q' encoding used in rfc2047.
            </remarks>
        </member>
        <member name="F:MimeKit.Encodings.QEncodeMode.Phrase">
            <summary>
            A mode for encoding phrases, as defined by rfc822.
            </summary>
        </member>
        <member name="F:MimeKit.Encodings.QEncodeMode.Text">
            <summary>
            A mode for encoding text.
            </summary>
        </member>
        <member name="T:MimeKit.Encodings.QEncoder">
            <summary>
            Incrementally encodes content using a variation of the quoted-printable encoding
            that is specifically meant to be used for rfc2047 encoded-word tokens.
            </summary>
            <remarks>
            The Q-Encoding is an encoding often used in MIME to encode textual content outside
            the ASCII range within an rfc2047 encoded-word token in order to ensure that
            the text remains intact when sent via 7bit transports such as SMTP.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.QEncoder.#ctor(MimeKit.Encodings.QEncodeMode)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.QEncoder"/> class.
            </summary>
            <remarks>
            Creates a new rfc2047 quoted-printable encoder.
            </remarks>
            <param name="mode">The rfc2047 encoding mode.</param>
        </member>
        <member name="M:MimeKit.Encodings.QEncoder.Clone">
            <summary>
            Clone the <see cref="T:MimeKit.Encodings.QEncoder"/> with its current state.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Encodings.QEncoder"/> with exactly the same state as the current encoder.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Encodings.QEncoder"/> with identical state.</returns>
        </member>
        <member name="P:MimeKit.Encodings.QEncoder.Encoding">
            <summary>
            Get the encoding.
            </summary>
            <remarks>
            Gets the encoding that the encoder supports.
            </remarks>
            <value>The encoding.</value>
        </member>
        <member name="M:MimeKit.Encodings.QEncoder.EstimateOutputLength(System.Int32)">
            <summary>
            Estimate the length of the output.
            </summary>
            <remarks>
            Estimates the number of bytes needed to encode the specified number of input bytes.
            </remarks>
            <returns>The estimated output length.</returns>
            <param name="inputLength">The input length.</param>
        </member>
        <member name="M:MimeKit.Encodings.QEncoder.Encode(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Encode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Encodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            encoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.QEncoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.QEncoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.QEncoder.Flush(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Encode the specified input into the output buffer, flushing any internal buffer state as well.
            </summary>
            <remarks>
            <para>Encodes the specified input into the output buffer, flushing any internal state as well.</para>
            <para>The output buffer should be large enough to hold all the
            encoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.QEncoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.QEncoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.QEncoder.Reset">
            <summary>
            Reset the encoder.
            </summary>
            <remarks>
            Resets the state of the encoder.
            </remarks>
        </member>
        <member name="T:MimeKit.Encodings.QuotedPrintableDecoder">
            <summary>
            Incrementally decodes content encoded with the quoted-printable encoding.
            </summary>
            <remarks>
            Quoted-Printable is an encoding often used in MIME to textual content outside
            the ASCII range in order to ensure that the text remains intact when sent
            via 7bit transports such as SMTP.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.QuotedPrintableDecoder.#ctor(System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.QuotedPrintableDecoder"/> class.
            </summary>
            <remarks>
            Creates a new quoted-printable decoder.
            </remarks>
            <param name="rfc2047"><see langword="true" /> if this decoder will be used to decode rfc2047 encoded-word tokens; otherwise, <see langword="false" />.</param>
        </member>
        <member name="M:MimeKit.Encodings.QuotedPrintableDecoder.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.QuotedPrintableDecoder"/> class.
            </summary>
            <remarks>
            Creates a new quoted-printable decoder.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.QuotedPrintableDecoder.Clone">
            <summary>
            Clone the <see cref="T:MimeKit.Encodings.QuotedPrintableDecoder"/> with its current state.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Encodings.QuotedPrintableDecoder"/> with exactly the same state as the current decoder.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Encodings.QuotedPrintableDecoder"/> with identical state.</returns>
        </member>
        <member name="P:MimeKit.Encodings.QuotedPrintableDecoder.Encoding">
            <summary>
            Get the encoding.
            </summary>
            <remarks>
            Gets the encoding that the decoder supports.
            </remarks>
            <value>The encoding.</value>
        </member>
        <member name="M:MimeKit.Encodings.QuotedPrintableDecoder.EstimateOutputLength(System.Int32)">
            <summary>
            Estimate the length of the output.
            </summary>
            <remarks>
            Estimates the number of bytes needed to decode the specified number of input bytes.
            </remarks>
            <returns>The estimated output length.</returns>
            <param name="inputLength">The input length.</param>
        </member>
        <member name="M:MimeKit.Encodings.QuotedPrintableDecoder.Decode(System.Byte*,System.Int32,System.Byte*)">
            <summary>
            Decode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Decodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            decoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.QuotedPrintableDecoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">A pointer to the beginning of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">A pointer to the beginning of the output buffer.</param>
        </member>
        <member name="M:MimeKit.Encodings.QuotedPrintableDecoder.Decode(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Decode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Decodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            decoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.QuotedPrintableDecoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.QuotedPrintableDecoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.QuotedPrintableDecoder.Reset">
            <summary>
            Reset the decoder.
            </summary>
            <remarks>
            Resets the state of the decoder.
            </remarks>
        </member>
        <member name="T:MimeKit.Encodings.QuotedPrintableEncoder">
            <summary>
            Incrementally encodes content using the quoted-printable encoding.
            </summary>
            <remarks>
            Quoted-Printable is an encoding often used in MIME to encode textual content
            outside the ASCII range in order to ensure that the text remains intact
            when sent via 7bit transports such as SMTP.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.QuotedPrintableEncoder.#ctor(System.Int32)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.QuotedPrintableEncoder"/> class.
            </summary>
            <remarks>
            Creates a new quoted-printable encoder.
            </remarks>
            <param name="maxLineLength">The maximum number of octets allowed per line (not counting the CRLF). Must be between <c>60</c> and <c>998</c> (inclusive).</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="maxLineLength"/> is not between <c>60</c> and <c>998</c> (inclusive).
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.QuotedPrintableEncoder.Clone">
            <summary>
            Clone the <see cref="T:MimeKit.Encodings.QuotedPrintableEncoder"/> with its current state.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Encodings.QuotedPrintableEncoder"/> with exactly the same state as the current encoder.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Encodings.QuotedPrintableEncoder"/> with identical state.</returns>
        </member>
        <member name="P:MimeKit.Encodings.QuotedPrintableEncoder.Encoding">
            <summary>
            Get the encoding.
            </summary>
            <remarks>
            Gets the encoding that the encoder supports.
            </remarks>
            <value>The encoding.</value>
        </member>
        <member name="M:MimeKit.Encodings.QuotedPrintableEncoder.EstimateOutputLength(System.Int32)">
            <summary>
            Estimate the length of the output.
            </summary>
            <remarks>
            Estimates the number of bytes needed to encode the specified number of input bytes.
            </remarks>
            <returns>The estimated output length.</returns>
            <param name="inputLength">The input length.</param>
        </member>
        <member name="M:MimeKit.Encodings.QuotedPrintableEncoder.Encode(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Encode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Encodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            encoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.QuotedPrintableEncoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.QuotedPrintableEncoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.QuotedPrintableEncoder.Flush(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Encode the specified input into the output buffer, flushing any internal buffer state as well.
            </summary>
            <remarks>
            <para>Encodes the specified input into the output buffer, flushing any internal state as well.</para>
            <para>The output buffer should be large enough to hold all the
            encoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.QuotedPrintableEncoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.QuotedPrintableEncoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.QuotedPrintableEncoder.Reset">
            <summary>
            Reset the encoder.
            </summary>
            <remarks>
            Resets the state of the encoder.
            </remarks>
        </member>
        <member name="T:MimeKit.Encodings.UUDecoder">
            <summary>
            Incrementally decodes content encoded with the Unix-to-Unix encoding.
            </summary>
            <remarks>
            <para>The UUEncoding is an encoding that predates MIME and was used to encode
            binary content such as images and other types of multimedia to ensure
            that the data remained intact when sent via 7bit transports such as SMTP.</para>
            <para>These days, the UUEncoding has largely been deprecated in favour of
            the base64 encoding, however, some older mail clients still use it.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.UUDecoder.#ctor(System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.UUDecoder"/> class.
            </summary>
            <remarks>
            Creates a new Unix-to-Unix decoder.
            </remarks>
            <param name="payloadOnly">
            If <see langword="true" />, decoding begins immediately rather than after finding a begin-line.
            </param>
        </member>
        <member name="M:MimeKit.Encodings.UUDecoder.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.UUDecoder"/> class.
            </summary>
            <remarks>
            Creates a new Unix-to-Unix decoder.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.UUDecoder.Clone">
            <summary>
            Clone the <see cref="T:MimeKit.Encodings.UUDecoder"/> with its current state.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Encodings.UUDecoder"/> with exactly the same state as the current decoder.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Encodings.UUDecoder"/> with identical state.</returns>
        </member>
        <member name="P:MimeKit.Encodings.UUDecoder.Encoding">
            <summary>
            Get the encoding.
            </summary>
            <remarks>
            Gets the encoding that the decoder supports.
            </remarks>
            <value>The encoding.</value>
        </member>
        <member name="M:MimeKit.Encodings.UUDecoder.EstimateOutputLength(System.Int32)">
            <summary>
            Estimate the length of the output.
            </summary>
            <remarks>
            Estimates the number of bytes needed to decode the specified number of input bytes.
            </remarks>
            <returns>The estimated output length.</returns>
            <param name="inputLength">The input length.</param>
        </member>
        <member name="M:MimeKit.Encodings.UUDecoder.Decode(System.Byte*,System.Int32,System.Byte*)">
            <summary>
            Decode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Decodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            decoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.UUDecoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">A pointer to the beginning of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">A pointer to the beginning of the output buffer.</param>
        </member>
        <member name="M:MimeKit.Encodings.UUDecoder.Decode(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Decode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Decodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            decoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.UUDecoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.UUDecoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.UUDecoder.Reset">
            <summary>
            Reset the decoder.
            </summary>
            <remarks>
            Resets the state of the decoder.
            </remarks>
        </member>
        <member name="T:MimeKit.Encodings.UUEncoder">
            <summary>
            Incrementally encodes content using the Unix-to-Unix encoding.
            </summary>
            <remarks>
            <para>The UUEncoding is an encoding that predates MIME and was used to encode
            binary content such as images and other types of multimedia to ensure
            that the data remained intact when sent via 7bit transports such as SMTP.</para>
            <para>These days, the UUEncoding has largely been deprecated in favour of
            the base64 encoding, however, some older mail clients still use it.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.UUEncoder.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.UUEncoder"/> class.
            </summary>
            <remarks>
            Creates a new Unix-to-Unix encoder.
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.UUEncoder.Clone">
            <summary>
            Clone the <see cref="T:MimeKit.Encodings.UUEncoder"/> with its current state.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Encodings.UUEncoder"/> with exactly the same state as the current encoder.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Encodings.UUEncoder"/> with identical state.</returns>
        </member>
        <member name="P:MimeKit.Encodings.UUEncoder.Encoding">
            <summary>
            Get the encoding.
            </summary>
            <remarks>
            Gets the encoding that the encoder supports.
            </remarks>
            <value>The encoding.</value>
        </member>
        <member name="M:MimeKit.Encodings.UUEncoder.EstimateOutputLength(System.Int32)">
            <summary>
            Estimate the length of the output.
            </summary>
            <remarks>
            Estimates the number of bytes needed to encode the specified number of input bytes.
            </remarks>
            <returns>The estimated output length.</returns>
            <param name="inputLength">The input length.</param>
        </member>
        <member name="M:MimeKit.Encodings.UUEncoder.Encode(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Encode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Encodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            encoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.UUEncoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.UUEncoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.UUEncoder.Flush(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Encode the specified input into the output buffer, flushing any internal buffer state as well.
            </summary>
            <remarks>
            <para>Encodes the specified input into the output buffer, flushing any internal state as well.</para>
            <para>The output buffer should be large enough to hold all the
            encoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.UUEncoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.UUEncoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.UUEncoder.Reset">
            <summary>
            Reset the encoder.
            </summary>
            <remarks>
            Resets the state of the encoder.
            </remarks>
        </member>
        <member name="T:MimeKit.Encodings.YDecoder">
            <summary>
            Incrementally decodes content encoded with the yEnc encoding.
            </summary>
            <remarks>
            <para>The yEncoding is an encoding that is most commonly used with Usenet and
            is a binary encoding that includes a 32-bit cyclic redundancy check.</para>
            <para>For more information, see <a href="http://www.yenc.org">www.yenc.org</a>.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.YDecoder.#ctor(System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.YDecoder"/> class.
            </summary>
            <remarks>
            Creates a new yEnc decoder.
            </remarks>
            <param name="payloadOnly">
            If <see langword="true" />, decoding begins immediately rather than after finding an =ybegin line.
            </param>
        </member>
        <member name="M:MimeKit.Encodings.YDecoder.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.YDecoder"/> class.
            </summary>
            <remarks>
            Creates a new yEnc decoder.
            </remarks>
        </member>
        <member name="P:MimeKit.Encodings.YDecoder.Checksum">
            <summary>
            Get the checksum.
            </summary>
            <remarks>
            Gets the checksum.
            </remarks>
            <value>The checksum.</value>
        </member>
        <member name="M:MimeKit.Encodings.YDecoder.Clone">
            <summary>
            Clone the <see cref="T:MimeKit.Encodings.YDecoder"/> with its current state.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Encodings.YDecoder"/> with exactly the same state as the current decoder.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Encodings.YDecoder"/> with identical state.</returns>
        </member>
        <member name="P:MimeKit.Encodings.YDecoder.Encoding">
            <summary>
            Get the encoding.
            </summary>
            <remarks>
            Gets the encoding that the decoder supports.
            </remarks>
            <value>The encoding.</value>
        </member>
        <member name="M:MimeKit.Encodings.YDecoder.EstimateOutputLength(System.Int32)">
            <summary>
            Estimate the length of the output.
            </summary>
            <remarks>
            Estimates the number of bytes needed to decode the specified number of input bytes.
            </remarks>
            <returns>The estimated output length.</returns>
            <param name="inputLength">The input length.</param>
        </member>
        <member name="M:MimeKit.Encodings.YDecoder.Decode(System.Byte*,System.Int32,System.Byte*)">
            <summary>
            Decode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Decodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            decoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.YDecoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">A pointer to the beginning of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">A pointer to the beginning of the output buffer.</param>
        </member>
        <member name="M:MimeKit.Encodings.YDecoder.Decode(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Decode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Decodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            decoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.YDecoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.YDecoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.YDecoder.Reset">
            <summary>
            Reset the decoder.
            </summary>
            <remarks>
            Resets the state of the decoder.
            </remarks>
        </member>
        <member name="T:MimeKit.Encodings.YEncoder">
            <summary>
            Incrementally encodes content using the yEnc encoding.
            </summary>
            <remarks>
            <para>The yEncoding is an encoding that is most commonly used with Usenet and
            is a binary encoding that includes a 32-bit cyclic redundancy check.</para>
            <para>For more information, see <a href="http://www.yenc.org">www.yenc.org</a>.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.Encodings.YEncoder.#ctor(System.Int32)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Encodings.YEncoder"/> class.
            </summary>
            <remarks>
            Creates a new yEnc encoder.
            </remarks>
            <param name="maxLineLength">The line length to use.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="maxLineLength"/> is not within the range of <c>60</c> to <c>998</c>.
            </exception>
        </member>
        <member name="P:MimeKit.Encodings.YEncoder.Checksum">
            <summary>
            Get the checksum.
            </summary>
            <remarks>
            Gets the checksum.
            </remarks>
            <value>The checksum.</value>
        </member>
        <member name="M:MimeKit.Encodings.YEncoder.Clone">
            <summary>
            Clone the <see cref="T:MimeKit.Encodings.YEncoder"/> with its current state.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Encodings.YEncoder"/> with exactly the same state as the current encoder.
            </remarks>
            <returns>A new <see cref="T:MimeKit.Encodings.YEncoder"/> with identical state.</returns>
        </member>
        <member name="P:MimeKit.Encodings.YEncoder.Encoding">
            <summary>
            Get the encoding.
            </summary>
            <remarks>
            Gets the encoding that the encoder supports.
            </remarks>
            <value>The encoding.</value>
        </member>
        <member name="M:MimeKit.Encodings.YEncoder.EstimateOutputLength(System.Int32)">
            <summary>
            Estimate the length of the output.
            </summary>
            <remarks>
            Estimates the number of bytes needed to encode the specified number of input bytes.
            </remarks>
            <returns>The estimated output length.</returns>
            <param name="inputLength">The input length.</param>
        </member>
        <member name="M:MimeKit.Encodings.YEncoder.Encode(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Encode the specified input into the output buffer.
            </summary>
            <remarks>
            <para>Encodes the specified input into the output buffer.</para>
            <para>The output buffer should be large enough to hold all the
            encoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.YEncoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.YEncoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.YEncoder.Flush(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Encode the specified input into the output buffer, flushing any internal buffer state as well.
            </summary>
            <remarks>
            <para>Encodes the specified input into the output buffer, flushing any internal state as well.</para>
            <para>The output buffer should be large enough to hold all the
            encoded input. For estimating the size needed for the output buffer,
            see <see cref="M:MimeKit.Encodings.YEncoder.EstimateOutputLength(System.Int32)"/>.</para>
            </remarks>
            <returns>The number of bytes written to the output buffer.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer.</param>
            <param name="output">The output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="input"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="output"/> is not large enough to contain the encoded content.</para>
            <para>Use the <see cref="M:MimeKit.Encodings.YEncoder.EstimateOutputLength(System.Int32)"/> method to properly determine the 
            necessary length of the <paramref name="output"/> byte array.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Encodings.YEncoder.Reset">
            <summary>
            Reset the encoder.
            </summary>
            <remarks>
            Resets the state of the encoder.
            </remarks>
        </member>
        <member name="T:MimeKit.ExperimentalMimeParser">
            <summary>
            An experimental replacement for <see cref="T:MimeKit.MimeParser"/>.
            </summary>
            <remarks>
            An experimental replacement for <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.#ctor(System.IO.Stream,MimeKit.MimeFormat,System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeParser"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.ExperimentalMimeParser"/> that will parse the specified stream.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.ExperimentalMimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.ExperimentalMimeParser"/>
            performance.</para>
            <para>It should be noted, however, that disposing <paramref name="stream"/> will make it impossible
            for <see cref="T:MimeKit.MimeContent"/> to read the content.</para>
            </remarks>
            <param name="stream">The stream to parse.</param>
            <param name="format">The format of the stream.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.#ctor(System.IO.Stream,System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.ExperimentalMimeParser"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.ExperimentalMimeParser"/> that will parse the specified stream.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.ExperimentalMimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.ExperimentalMimeParser"/>
            performance.</para>
            <para>It should be noted, however, that disposing <paramref name="stream"/> will make it impossible
            for <see cref="T:MimeKit.MimeContent"/> to read the content.</para>
            </remarks>
            <param name="stream">The stream to parse.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.#ctor(MimeKit.ParserOptions,System.IO.Stream,System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.ExperimentalMimeParser"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.ExperimentalMimeParser"/> that will parse the specified stream.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.ExperimentalMimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.ExperimentalMimeParser"/>
            performance.</para>
            <para>It should be noted, however, that disposing <paramref name="stream"/> will make it impossible
            for <see cref="T:MimeKit.MimeContent"/> to read the content.</para>
            </remarks>
            <param name="options">The parser options.</param>
            <param name="stream">The stream to parse.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.#ctor(MimeKit.ParserOptions,System.IO.Stream,MimeKit.MimeFormat,System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.ExperimentalMimeParser"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.ExperimentalMimeParser"/> that will parse the specified stream.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.ExperimentalMimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.ExperimentalMimeParser"/>
            performance.</para>
            <para>It should be noted, however, that disposing <paramref name="stream"/> will make it impossible
            for <see cref="T:MimeKit.MimeContent"/> to read the content.</para>
            </remarks>
            <param name="options">The parser options.</param>
            <param name="stream">The stream to parse.</param>
            <param name="format">The format of the stream.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="P:MimeKit.ExperimentalMimeParser.MboxMarkerOffset">
            <summary>
            Gets the most recent mbox marker offset.
            </summary>
            <remarks>
            Gets the most recent mbox marker offset.
            </remarks>
            <value>The mbox marker offset.</value>
        </member>
        <member name="P:MimeKit.ExperimentalMimeParser.MboxMarker">
            <summary>
            Gets the most recent mbox marker.
            </summary>
            <remarks>
            Gets the most recent mbox marker.
            </remarks>
            <value>The mbox marker.</value>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.SetStream(System.IO.Stream,MimeKit.MimeFormat,System.Boolean)">
            <summary>
            Set the stream to parse.
            </summary>
            <remarks>
            <para>Sets the stream to parse.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            <para>It should be noted, however, that disposing <paramref name="stream"/> will make it impossible
            for <see cref="T:MimeKit.MimeContent"/> to read the content.</para>
            </remarks>
            <param name="stream">The stream to parse.</param>
            <param name="format">The format of the stream.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.SetStream(System.IO.Stream,MimeKit.MimeFormat)">
            <summary>
            Set the stream to parse.
            </summary>
            <remarks>
            Sets the stream to parse.
            </remarks>
            <param name="stream">The stream to parse.</param>
            <param name="format">The format of the stream.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.SetStream(System.IO.Stream,System.Boolean)">
            <summary>
            Set the stream to parse.
            </summary>
            <remarks>
            <para>Sets the stream to parse.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            <para>It should be noted, however, that disposing <paramref name="stream"/> will make it impossible
            for <see cref="T:MimeKit.MimeContent"/> to read the content.</para>
            </remarks>
            <param name="stream">The stream to parse.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMboxMarkerBegin(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when an Mbox marker is encountered in the stream.
            </summary>
            <remarks>
            <para>When the stream is specified to be in <see cref="F:MimeKit.MimeFormat.Mbox"/> format, this method will be called whenever the parser encounters an Mbox marker.</para>
            <para>It is not necessary to override this method unless it is desirable to track the offsets of mbox markers within a stream or to extract the mbox marker itself.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the mbox marker begins.</param>
            <param name="lineNumber">The line number where the mbox marker exists within the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMboxMarkerRead(System.Byte[],System.Int32,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when an Mbox marker is encountered in the stream.
            </summary>
            <remarks>
            <para>When the stream is specified to be in <see cref="F:MimeKit.MimeFormat.Mbox"/> format, this method will be called whenever the parser encounters an Mbox marker.</para>
            <para>It is not necessary to override this method unless it is desirable to track the offsets of mbox markers within a stream or to extract the mbox marker itself.</para>
            </remarks>
            <param name="buffer">The buffer containing the mbox marker.</param>
            <param name="startIndex">The index denoting the starting position of the mbox marker within the buffer.</param>
            <param name="count">The length of the mbox marker within the buffer, in bytes.</param>
            <param name="beginOffset">The offset into the stream where the mbox marker begins.</param>
            <param name="lineNumber">The line number where the mbox marker exists within the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnHeadersBegin(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of a list of headers is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of a list of headers is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.ExperimentalMimeParser.OnHeadersEnd(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)"/> when the end of the list of headers are found.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the headers begin.</param>
            <param name="beginLineNumber">The line number where the list of headers begin.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnHeaderRead(MimeKit.Header,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when a message or MIME part header is read from the stream.
            </summary>
            <remarks>
            This method will be called whenever a message or MIME part header is encountered within the stream.
            </remarks>
            <param name="header">The header that was read from the stream.</param>
            <param name="beginLineNumber">The line number where the header exists within the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnHeadersEnd(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of a list of headers is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of a list of headers is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.ExperimentalMimeParser.OnHeadersBegin(System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the headers began.</param>
            <param name="beginLineNumber">The line number where the list of headers began.</param>
            <param name="endOffset">The offset into the stream where the list of headers ended.</param>
            <param name="endLineNumber">The line number headers where the list of headers ended.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnBodySeparator(System.Int64,System.Int32,System.Int64,System.Threading.CancellationToken)">
            <summary>
            Called when the body separator is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the body separator is encountered in the stream.</para>
            <para>This method is always called before <see cref="M:MimeKit.ExperimentalMimeParser.OnHeadersEnd(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)"/> if a body separator is found.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the body separator began.</param>
            <param name="lineNumber">The line number where the body separator was found.</param>
            <param name="endOffset">The offset into the stream where the body separator ended.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMimeMessageBegin(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of a message is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of a message is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.ExperimentalMimeParser.OnMimeMessageEnd(System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)"/> when the end of the message is found.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the message begins.</param>
            <param name="beginLineNumber">The line number where the message begins.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMimeMessageEnd(System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of a message is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of a message is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.ExperimentalMimeParser.OnMimeMessageBegin(System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the message began.</param>
            <param name="beginLineNumber">The line number where the message began.</param>
            <param name="headersEndOffset">The offset into the stream where the message headers ended and the content began.</param>
            <param name="endOffset">The offset into the stream where the message ended.</param>
            <param name="lines">The length of the message as measured in lines.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMimePartBegin(MimeKit.ContentType,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of a MIME part is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of a MIME part is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.ExperimentalMimeParser.OnMimePartEnd(MimeKit.ContentType,System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)"/> when the end of the MIME part is found.</para>
            </remarks>
            <param name="contentType">The parsed <c>Content-Type</c> header of the MIME part.</param>
            <param name="beginOffset">The offset into the stream where the MIME part begins.</param>
            <param name="beginLineNumber">The line number where the MIME part begins.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMimePartContentBegin(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of a MIME part's content is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of a MIME part's content is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.ExperimentalMimeParser.OnMimePartContentEnd(System.Int64,System.Int32,System.Int64,System.Int32,System.Nullable{MimeKit.NewLineFormat},System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the MIME part content began.</param>
            <param name="beginLineNumber">The line number where the MIME part content began.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMimePartContentRead(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when MIME part content is read from the stream.
            </summary>
            <remarks>
            <para>Called when MIME part content is read from the stream.</para>
            </remarks>
            <param name="buffer">A buffer containing the MIME part content.</param>
            <param name="startIndex">The index denoting the starting position of the content within the buffer.</param>
            <param name="count">The length of the content within the buffer, in bytes.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMimePartContentEnd(System.Int64,System.Int32,System.Int64,System.Int32,System.Nullable{MimeKit.NewLineFormat},System.Threading.CancellationToken)">
            <summary>
            Called when the end of a MIME part's content is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of a MIME part's content is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.ExperimentalMimeParser.OnMimePartContentBegin(System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the MIME part content began.</param>
            <param name="beginLineNumber">The line number where the MIME part content began.</param>
            <param name="endOffset">The offset into the stream where the MIME part content ended.</param>
            <param name="lines">The length of the MIME part content as measured in lines.</param>
            <param name="newLineFormat">The new-line format of the content, if known.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMimePartEnd(MimeKit.ContentType,System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of a MIME part is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of a MIME part is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.ExperimentalMimeParser.OnMimePartBegin(MimeKit.ContentType,System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="contentType">The parsed <c>Content-Type</c> header of the MIME part.</param>
            <param name="beginOffset">The offset into the stream where the MIME part began.</param>
            <param name="beginLineNumber">The line number where the MIME part began.</param>
            <param name="headersEndOffset">The offset into the stream where the MIME part headers ended and the content began.</param>
            <param name="endOffset">The offset into the stream where the MIME part ends.</param>
            <param name="lines">The length of the MIME part as measured in lines.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMessagePartBegin(MimeKit.ContentType,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of a message part is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of a message part is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.ExperimentalMimeParser.OnMessagePartEnd(MimeKit.ContentType,System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)"/> when the end of the message part is found.</para>
            </remarks>
            <param name="contentType">The parsed <c>Content-Type</c> header of the MIME part.</param>
            <param name="beginOffset">The offset into the stream where the message part begins.</param>
            <param name="beginLineNumber">The line number where the message part begins.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMessagePartEnd(MimeKit.ContentType,System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of a message part is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of a message part is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.ExperimentalMimeParser.OnMessagePartBegin(MimeKit.ContentType,System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="contentType">The parsed <c>Content-Type</c> header of the MIME part.</param>
            <param name="beginOffset">The offset into the stream where the message part began.</param>
            <param name="beginLineNumber">The line number where the message part began.</param>
            <param name="headersEndOffset">The offset into the stream where the MIME part headers ended and the content began.</param>
            <param name="endOffset">The offset into the stream where the MIME part ends.</param>
            <param name="lines">The length of the MIME part as measured in lines.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMultipartBegin(MimeKit.ContentType,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of a multipart is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of a multipart is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.ExperimentalMimeParser.OnMultipartEnd(MimeKit.ContentType,System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)"/> when the end of the multipart is found.</para>
            </remarks>
            <param name="contentType">The parsed <c>Content-Type</c> header of the multipart.</param>
            <param name="beginOffset">The offset into the stream where the multipart begins.</param>
            <param name="beginLineNumber">The line number where the multipart begins.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMultipartPreambleBegin(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of the preamble of a multipart is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of the preamble of a multipart is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.ExperimentalMimeParser.OnMultipartPreambleEnd(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the preamble began.</param>
            <param name="beginLineNumber">The line number where the preamble began.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMultipartPreambleRead(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when multipart preamble text is read from the stream.
            </summary>
            <remarks>
            <para>Called when multipart preamble text is read from the stream.</para>
            </remarks>
            <param name="buffer">A buffer containing the multipart preamble text.</param>
            <param name="startIndex">The index denoting the starting position of the content within the buffer.</param>
            <param name="count">The length of the content within the buffer, in bytes.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMultipartPreambleEnd(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of the preamble of a multipart is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of the preamble of a multipart is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.ExperimentalMimeParser.OnMultipartPreambleBegin(System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the multipart preamble began.</param>
            <param name="beginLineNumber">The line number where the multipart preamble began.</param>
            <param name="endOffset">The offset into the stream where the multipart preamble ended.</param>
            <param name="lines">The length of the multipart preamble as measured in lines.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMultipartBoundaryRead(System.Byte[],System.Int32,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when a multipart boundary is encountered in the stream.
            </summary>
            <remarks>
            Called when a multipart boundary is encountered in the stream.
            </remarks>
            <param name="buffer">The buffer containing the boundary marker.</param>
            <param name="startIndex">The index denoting the starting position of the boundary marker within the buffer.</param>
            <param name="count">The length of the boundary marker within the buffer, in bytes.</param>
            <param name="beginOffset">The offset into the stream where the boundary marker began.</param>
            <param name="lineNumber">The line number where the boundary marker exists within the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMultipartEndBoundaryRead(System.Byte[],System.Int32,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when a multipart end boundary is encountered in the stream.
            </summary>
            <remarks>
            Called when a multipart end boundary is encountered in the stream.
            </remarks>
            <param name="buffer">The buffer containing the boundary marker.</param>
            <param name="startIndex">The index denoting the starting position of the boundary marker within the buffer.</param>
            <param name="count">The length of the boundary marker within the buffer, in bytes.</param>
            <param name="beginOffset">The offset into the stream where the boundary marker began.</param>
            <param name="lineNumber">The line number where the boundary marker exists within the stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMultipartEpilogueBegin(System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the beginning of the epilogue of a multipart is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the beginning of the epilogue of a multipart is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.ExperimentalMimeParser.OnMultipartEpilogueEnd(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the epilogue began.</param>
            <param name="beginLineNumber">The line number where the epilogue began.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMultipartEpilogueRead(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when multipart epilogue text is read from the stream.
            </summary>
            <remarks>
            <para>Called when multipart epilogue text is read from the stream.</para>
            </remarks>
            <param name="buffer">A buffer containing the multipart epilogue text.</param>
            <param name="startIndex">The index denoting the starting position of the content within the buffer.</param>
            <param name="count">The length of the content within the buffer, in bytes.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMultipartEpilogueEnd(System.Int64,System.Int32,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of the epilogue of a multipart is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of the epilogue of a multipart is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.ExperimentalMimeParser.OnMultipartEpilogueBegin(System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="beginOffset">The offset into the stream where the multipart epilogue began.</param>
            <param name="beginLineNumber">The line number where the multipart epilogue began.</param>
            <param name="endOffset">The offset into the stream where the multipart epilogue ended.</param>
            <param name="lines">The length of the multipart epilogue as measured in lines.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.OnMultipartEnd(MimeKit.ContentType,System.Int64,System.Int32,System.Int64,System.Int64,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Called when the end of a multipart is encountered in the stream.
            </summary>
            <remarks>
            <para>Called when the end of a multipart is encountered in the stream.</para>
            <para>This method is always paired with a corresponding call to <see cref="M:MimeKit.ExperimentalMimeParser.OnMultipartBegin(MimeKit.ContentType,System.Int64,System.Int32,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <param name="contentType">The parsed <c>Content-Type</c> header of the multipart.</param>
            <param name="beginOffset">The offset into the stream where the multipart began.</param>
            <param name="beginLineNumber">The line number where the multipart began.</param>
            <param name="headersEndOffset">The offset into the stream where the multipart headers ended and the content began.</param>
            <param name="endOffset">The offset into the stream where the multipart ends.</param>
            <param name="lines">The length of the multipart as measured in lines.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.ParseHeaders(System.Threading.CancellationToken)">
            <summary>
            Parse a list of headers from the stream.
            </summary>
            <remarks>
            Parses a list of headers from the stream.
            </remarks>
            <returns>The parsed list of headers.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the headers.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.ParseHeadersAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously parse a list of headers from the stream.
            </summary>
            <remarks>
            Asynchronously parses a list of headers from the stream.
            </remarks>
            <returns>The parsed list of headers.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the headers.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.ParseEntity(System.Threading.CancellationToken)">
            <summary>
            Parse an entity from the stream.
            </summary>
            <remarks>
            Parses an entity from the stream.
            </remarks>
            <returns>The parsed entity.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.ParseEntityAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously parse an entity from the stream.
            </summary>
            <remarks>
            Asynchronously parses an entity from the stream.
            </remarks>
            <returns>The parsed entity.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.ParseMessage(System.Threading.CancellationToken)">
            <summary>
            Parse a message from the stream.
            </summary>
            <remarks>
            Parses a message from the stream.
            </remarks>
            <returns>The parsed message.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the message.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.ExperimentalMimeParser.ParseMessageAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously parse a message from the stream.
            </summary>
            <remarks>
            Asynchronously parses a message from the stream.
            </remarks>
            <returns>The parsed message.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the message.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="T:MimeKit.FormatOptions">
            <summary>
            Format options for serializing various MimeKit objects.
            </summary>
            <remarks>
            Represents the available options for formatting MIME messages
            and entities when writing them to a stream.
            </remarks>
        </member>
        <member name="F:MimeKit.FormatOptions.Default">
            <summary>
            The default formatting options.
            </summary>
            <remarks>
            If a custom <see cref="T:MimeKit.FormatOptions"/> is not passed to methods such as
            <see cref="M:MimeKit.MimeMessage.WriteTo(MimeKit.FormatOptions,System.IO.Stream,System.Threading.CancellationToken)"/>,
            the default options will be used.
            </remarks>
        </member>
        <member name="P:MimeKit.FormatOptions.MaxLineLength">
            <summary>
            Get or set the maximum line length used by the encoders. The encoders
            use this value to determine where to place line breaks.
            </summary>
            <remarks>
            Specifies the maximum line length to use when line-wrapping headers.
            </remarks>
            <value>The maximum line length.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is out of range. It must be between 60 and 998.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <see cref="F:MimeKit.FormatOptions.Default"/> cannot be changed.
            </exception>
        </member>
        <member name="P:MimeKit.FormatOptions.NewLineFormat">
            <summary>
            Get or set the new-line format.
            </summary>
            <remarks>
            Specifies the new-line encoding to use when writing the message
            or entity to a stream.
            </remarks>
            <value>The new-line format.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"> is not a valid <see cref="P:MimeKit.FormatOptions.NewLineFormat"/>.</paramref>
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <see cref="F:MimeKit.FormatOptions.Default"/> cannot be changed.
            </exception>
        </member>
        <member name="P:MimeKit.FormatOptions.EnsureNewLine">
            <summary>
            Get or set whether the formatter should ensure that messages end with a new-line sequence.
            </summary>
            <remarks>
            <para>By default, when writing a <see cref="T:MimeKit.MimeMessage"/> to a stream, the serializer attempts to
            maintain byte-for-byte compatibility with the original stream that the message was parsed from.
            This means that if the ogirinal message stream did not end with a new-line sequence, then the
            output of writing the message back to a stream will also not end with a new-line sequence.</para>
            <para>To override this behavior, you can set this property to <see langword="true" /> in order to ensure
            that writing the message back to a stream will always end with a new-line sequence.</para>
            </remarks>
            <value><see langword="true" /> in order to ensure that the message will end with a new-line sequence; otherwise, <see langword="false" />.</value>
            <exception cref="T:System.InvalidOperationException">
            <see cref="F:MimeKit.FormatOptions.Default"/> cannot be changed.
            </exception>
        </member>
        <member name="P:MimeKit.FormatOptions.HiddenHeaders">
            <summary>
            Get the message headers that should be hidden.
            </summary>
            <remarks>
            <para>Specifies the set of headers that should be removed when
            writing a <see cref="T:MimeKit.MimeMessage"/> to a stream.</para>
            <para>This is primarily meant for the purposes of removing Bcc
            and Resent-Bcc headers when sending via a transport such as
            SMTP.</para>
            </remarks>
            <value>The message headers.</value>
        </member>
        <member name="P:MimeKit.FormatOptions.International">
            <summary>
            Get or set whether the new "Internationalized Email" formatting standards should be used.
            </summary>
            <remarks>
            <para>The new "Internationalized Email" format is defined by
            <a href="https://tools.ietf.org/html/rfc6530">rfc6530</a> and
            <a href="https://tools.ietf.org/html/rfc6532">rfc6532</a>.</para>
            <para>This feature should only be used when formatting messages meant to be sent via
            SMTP using the SMTPUTF8 extension (<a href="https://tools.ietf.org/html/rfc6531">rfc6531</a>)
            or when appending messages to an IMAP folder via UTF8 APPEND
            (<a href="https://tools.ietf.org/html/rfc6855">rfc6855</a>).</para>
            </remarks>
            <value><see langword="true" /> if the new internationalized formatting should be used; otherwise, <see langword="false" />.</value>
            <exception cref="T:System.InvalidOperationException">
            <see cref="F:MimeKit.FormatOptions.Default"/> cannot be changed.
            </exception>
        </member>
        <member name="P:MimeKit.FormatOptions.AllowMixedHeaderCharsets">
            <summary>
            Get or set whether the formatter should allow mixed charsets in the headers.
            </summary>
            <remarks>
            <para>When this option is enabled, the MIME formatter will try to use us-ascii and/or
            iso-8859-1 to encode headers when appropriate rather than being forced to use the
            specified charset for all encoded-word tokens in order to maximize readability.</para>
            <para>Unfortunately, mail clients like Outlook and Thunderbird do not treat
            encoded-word tokens individually and assume that all tokens are encoded using the
            charset declared in the first encoded-word token despite the specification
            explicitly stating that each encoded-word token should be treated independently.</para>
            <para>The Thunderbird bug can be tracked at
            <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=317263">
            https://bugzilla.mozilla.org/show_bug.cgi?id=317263</a>.</para>
            </remarks>
            <value><see langword="true" /> if the formatter should be allowed to use us-ascii and/or iso-8859-1 when encoding headers; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.FormatOptions.ParameterEncodingMethod">
            <summary>
            Get or set the method to use for encoding Content-Type and Content-Disposition parameter values.
            </summary>
            <remarks>
            <para>The method to use for encoding Content-Type and Content-Disposition parameter
            values when the <see cref="P:MimeKit.Parameter.EncodingMethod"/> is set to
            <see cref="F:MimeKit.ParameterEncodingMethod.Default"/>.</para>
            <para>The MIME specifications specify that the proper method for encoding Content-Type
            and Content-Disposition parameter values is the method described in
            <a href="https://tools.ietf.org/html/rfc2231">rfc2231</a>. However, it is common for
            some older email clients to improperly encode using the method described in
            <a href="https://tools.ietf.org/html/rfc2047">rfc2047</a> instead.</para>
            </remarks>
            <value>The parameter encoding method that will be used.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is not a valid value.
            </exception>
        </member>
        <member name="P:MimeKit.FormatOptions.AlwaysQuoteParameterValues">
            <summary>
            Get or set whether Content-Type and Content-Disposition parameter values should always be quoted even when they don't need to be.
            </summary>
            <remarks>
            <para>Gets or sets whether Content-Type and Content-Disposition parameter values should always be quoted even when they don't need to be.</para>
            <para>Technically, Content-Type and Content-Disposition parameter values only require quoting when they contain characters
            that have special meaning to a MIME parser. However, for compatibility with email processing solutions that do not properly
            adhere to the MIME specifications, this property can be used to force MimeKit to quote parameter values that would normally
            not require quoting.</para>
            </remarks>
            <value><see langword="true" /> if Content-Type and Content-Disposition parameters should always be quoted; otherwise, <see langword="false" />.</value>
        </member>
        <member name="M:MimeKit.FormatOptions.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.FormatOptions"/> class.
            </summary>
            <remarks>
            Creates a new set of formatting options for use with methods such as
            <see cref="M:MimeKit.MimeMessage.WriteTo(System.IO.Stream,System.Threading.CancellationToken)"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.FormatOptions.Clone">
            <summary>
            Clone an instance of <see cref="T:MimeKit.FormatOptions"/>.
            </summary>
            <remarks>
            Clones the formatting options.
            </remarks>
            <returns>An exact copy of the <see cref="T:MimeKit.FormatOptions"/>.</returns>
        </member>
        <member name="T:MimeKit.GroupAddress">
            <summary>
            An address group, as specified by rfc0822.
            </summary>
            <remarks>
            Group addresses are rarely used anymore. Typically, if you see a group address,
            it will be of the form: <c>"undisclosed-recipients: ;"</c>.
            </remarks>
        </member>
        <member name="M:MimeKit.GroupAddress.#ctor(System.Text.Encoding,System.String,System.Collections.Generic.IEnumerable{MimeKit.InternetAddress})">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.GroupAddress"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.GroupAddress"/> with the specified name and list of addresses. The
            specified text encoding is used when encoding the name according to the rules of rfc2047.
            </remarks>
            <param name="encoding">The character encoding to be used for encoding the name.</param>
            <param name="name">The name of the group.</param>
            <param name="addresses">A list of addresses.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="encoding"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.GroupAddress.#ctor(System.String,System.Collections.Generic.IEnumerable{MimeKit.InternetAddress})">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.GroupAddress"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.GroupAddress"/> with the specified name and list of addresses.
            </remarks>
            <param name="name">The name of the group.</param>
            <param name="addresses">A list of addresses.</param>
        </member>
        <member name="M:MimeKit.GroupAddress.#ctor(System.Text.Encoding,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.GroupAddress"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.GroupAddress"/> with the specified name. The specified
            text encoding is used when encoding the name according to the rules of rfc2047.
            </remarks>
            <param name="encoding">The character encoding to be used for encoding the name.</param>
            <param name="name">The name of the group.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="encoding"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.GroupAddress.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.GroupAddress"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.GroupAddress"/> with the specified name.
            </remarks>
            <param name="name">The name of the group.</param>
        </member>
        <member name="M:MimeKit.GroupAddress.Clone">
            <summary>
            Clone the group address.
            </summary>
            <remarks>
            Clones the group address.
            </remarks>
            <returns>The cloned group address.</returns>
        </member>
        <member name="P:MimeKit.GroupAddress.Members">
            <summary>
            Get the members of the group.
            </summary>
            <remarks>
            <para>Represents the member addresses of the group. If the group address properly conforms
            to the internet standards, every group member should be of the <see cref="T:MimeKit.MailboxAddress"/>
            variety. When handling group addresses constructed by third-party software, it is possible
            for groups to contain members of the <see cref="T:MimeKit.GroupAddress"/> variety.</para>
            <para>When constructing new messages, it is recommended that address groups not contain
            anything other than <see cref="T:MimeKit.MailboxAddress"/> members in order to comply with internet
            standards.</para>
            </remarks>
            <value>The list of members.</value>
        </member>
        <member name="M:MimeKit.GroupAddress.ToString(MimeKit.FormatOptions,System.Boolean)">
            <summary>
            Return a string representation of the <see cref="T:MimeKit.GroupAddress"/>,
            optionally encoding it for transport.
            </summary>
            <remarks>
            Returns a string containing the formatted group of addresses. If the <paramref name="encode"/>
            parameter is <see langword="true" />, then the name of the group and all member addresses will be encoded
            according to the rules defined in rfc2047, otherwise the names will not be encoded at all and
            will therefor only be suitable for display purposes.
            </remarks>
            <returns>A string representing the <see cref="T:MimeKit.GroupAddress"/>.</returns>
            <param name="options">The formatting options.</param>
            <param name="encode">If set to <see langword="true" />, the <see cref="T:MimeKit.GroupAddress"/> will be encoded.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="options"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.GroupAddress.Equals(MimeKit.InternetAddress)">
            <summary>
            Determine whether the specified <see cref="T:MimeKit.GroupAddress"/> is equal to the current <see cref="T:MimeKit.GroupAddress"/>.
            </summary>
            <remarks>
            Compares two group addresses to determine if they are identical or not.
            </remarks>
            <param name="other">The <see cref="T:MimeKit.GroupAddress"/> to compare with the current <see cref="T:MimeKit.GroupAddress"/>.</param>
            <returns><see langword="true" /> if the specified <see cref="T:MimeKit.GroupAddress"/> is equal to the current
            <see cref="T:MimeKit.GroupAddress"/>; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.GroupAddress.TryParse(MimeKit.ParserOptions,System.Byte[],System.Int32,System.Int32,MimeKit.GroupAddress@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.GroupAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.GroupAddress"/>. If the address is not a group address or
            there is more than a single group address, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <param name="group">The parsed group address.</param>
        </member>
        <member name="M:MimeKit.GroupAddress.TryParse(System.Byte[],System.Int32,System.Int32,MimeKit.GroupAddress@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.GroupAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.GroupAddress"/>. If the address is not a group address or
            there is more than a single group address, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <param name="group">The parsed group address.</param>
        </member>
        <member name="M:MimeKit.GroupAddress.TryParse(MimeKit.ParserOptions,System.Byte[],System.Int32,MimeKit.GroupAddress@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.GroupAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.GroupAddress"/>. If the address is not a group address or
            there is more than a single group address, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="group">The parsed group address.</param>
        </member>
        <member name="M:MimeKit.GroupAddress.TryParse(System.Byte[],System.Int32,MimeKit.GroupAddress@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.GroupAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.GroupAddress"/>. If the address is not a group address or
            there is more than a single group address, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="group">The parsed group address.</param>
        </member>
        <member name="M:MimeKit.GroupAddress.TryParse(MimeKit.ParserOptions,System.Byte[],MimeKit.GroupAddress@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.GroupAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.GroupAddress"/>. If the address is not a group address or
            there is more than a single group address, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="group">The parsed group address.</param>
        </member>
        <member name="M:MimeKit.GroupAddress.TryParse(System.Byte[],MimeKit.GroupAddress@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.GroupAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.GroupAddress"/>. If the address is not a group address or
            there is more than a single group address, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="group">The parsed group address.</param>
        </member>
        <member name="M:MimeKit.GroupAddress.TryParse(MimeKit.ParserOptions,System.String,MimeKit.GroupAddress@)">
            <summary>
            Try to parse the given text into a new <see cref="T:MimeKit.GroupAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.GroupAddress"/>. If the address is not a group address or
            there is more than a single group address, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="text">The text.</param>
            <param name="group">The parsed group address.</param>
        </member>
        <member name="M:MimeKit.GroupAddress.TryParse(System.String,MimeKit.GroupAddress@)">
            <summary>
            Try to parse the given text into a new <see cref="T:MimeKit.GroupAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.GroupAddress"/>. If the address is not a group address or
            there is more than a single group address, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="text">The text.</param>
            <param name="group">The parsed group address.</param>
        </member>
        <member name="M:MimeKit.GroupAddress.Parse(MimeKit.ParserOptions,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.GroupAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.GroupAddress"/>. If the address is not a group address or
            there is more than a single group address, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.GroupAddress"/>.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the byte array.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.GroupAddress.Parse(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.GroupAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.GroupAddress"/>. If the address is not a group address or
            there is more than a single group address, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.GroupAddress"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the byte array.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.GroupAddress.Parse(MimeKit.ParserOptions,System.Byte[],System.Int32)">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.GroupAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.GroupAddress"/>. If the address is not a group address or
            there is more than a single group address, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.GroupAddress"/>.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/>is out of range.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.GroupAddress.Parse(System.Byte[],System.Int32)">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.GroupAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.GroupAddress"/>. If the address is not a group address or
            there is more than a single group address, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.GroupAddress"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is out of range.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.GroupAddress.Parse(MimeKit.ParserOptions,System.Byte[])">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.GroupAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.GroupAddress"/>. If the address is not a group address or
            there is more than a single group address, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.GroupAddress"/>.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.GroupAddress.Parse(System.Byte[])">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.GroupAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.GroupAddress"/>. If the address is not a group address or
            there is more than a single group address, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.GroupAddress"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.GroupAddress.Parse(MimeKit.ParserOptions,System.String)">
            <summary>
            Parse the given text into a new <see cref="T:MimeKit.GroupAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.GroupAddress"/>. If the address is not a group address or
            there is more than a single group address, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.GroupAddress"/>.</returns>
            <param name="options">The parser options to use.</param>
            <param name="text">The text.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="text"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="text"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.GroupAddress.Parse(System.String)">
            <summary>
            Parse the given text into a new <see cref="T:MimeKit.GroupAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.GroupAddress"/>. If the address is not a group address or
            there is more than a single group address, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.GroupAddress"/>.</returns>
            <param name="text">The text.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="text"/> could not be parsed.
            </exception>
        </member>
        <member name="T:MimeKit.Header">
            <summary>
            A class representing a Message or MIME header.
            </summary>
            <remarks>
            Represents a single header field and value pair.
            </remarks>
        </member>
        <member name="M:MimeKit.Header.#ctor(System.Text.Encoding,MimeKit.HeaderId,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Header"/> class.
            </summary>
            <remarks>
            Creates a new message or entity header for the specified field and
            value pair. The encoding is used to determine which charset to use
            when encoding the value according to the rules of rfc2047.
            </remarks>
            <param name="encoding">The character encoding that should be used to
            encode the header value.</param>
            <param name="id">The header identifier.</param>
            <param name="value">The value of the header.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="id"/> is not a valid <see cref="T:MimeKit.HeaderId"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Header.#ctor(System.String,MimeKit.HeaderId,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Header"/> class.
            </summary>
            <remarks>
            Creates a new message or entity header for the specified field and
            value pair. The encoding is used to determine which charset to use
            when encoding the value according to the rules of rfc2047.
            </remarks>
            <param name="charset">The charset that should be used to encode the
            header value.</param>
            <param name="id">The header identifier.</param>
            <param name="value">The value of the header.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="id"/> is not a valid <see cref="T:MimeKit.HeaderId"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="charset"/> is not supported.
            </exception>
        </member>
        <member name="M:MimeKit.Header.#ctor(MimeKit.HeaderId,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Header"/> class.
            </summary>
            <remarks>
            Creates a new message or entity header for the specified field and
            value pair with the UTF-8 encoding.
            </remarks>
            <param name="id">The header identifier.</param>
            <param name="value">The value of the header.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="id"/> is not a valid <see cref="T:MimeKit.HeaderId"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Header.#ctor(System.Text.Encoding,System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Header"/> class.
            </summary>
            <remarks>
            Creates a new message or entity header for the specified field and
            value pair. The encoding is used to determine which charset to use
            when encoding the value according to the rules of rfc2047.
            </remarks>
            <param name="encoding">The character encoding that should be used
            to encode the header value.</param>
            <param name="field">The name of the header field.</param>
            <param name="value">The value of the header.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="field"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="field"/> contains illegal characters.
            </exception>
        </member>
        <member name="M:MimeKit.Header.#ctor(System.String,System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Header"/> class.
            </summary>
            <remarks>
            Creates a new message or entity header for the specified field and
            value pair. The encoding is used to determine which charset to use
            when encoding the value according to the rules of rfc2047.
            </remarks>
            <param name="charset">The charset that should be used to encode the
            header value.</param>
            <param name="field">The name of the header field.</param>
            <param name="value">The value of the header.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="field"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="field"/> contains illegal characters.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="charset"/> is not supported.
            </exception>
        </member>
        <member name="M:MimeKit.Header.#ctor(System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Header"/> class.
            </summary>
            <remarks>
            Creates a new message or entity header for the specified field and
            value pair with the UTF-8 encoding.
            </remarks>
            <param name="field">The name of the header field.</param>
            <param name="value">The value of the header.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="field"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="field"/> contains illegal characters.
            </exception>
        </member>
        <member name="M:MimeKit.Header.#ctor(MimeKit.ParserOptions,MimeKit.HeaderId,System.String,System.Byte[],System.Byte[])">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Header"/> class.
            </summary>
            <remarks>
            <para>Creates a new message or entity header with the specified values.</para>
            <para>This constructor is used by <see cref="M:MimeKit.Header.Clone"/>.</para>
            </remarks>
            <param name="options">The parser options used.</param>
            <param name="id">The id of the header.</param>
            <param name="name">The name of the header field.</param>
            <param name="field">The raw header field.</param>
            <param name="value">The raw value of the header.</param>
        </member>
        <member name="M:MimeKit.Header.#ctor(MimeKit.ParserOptions,System.Byte[],System.Int32,System.Byte[],System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Header"/> class.
            </summary>
            <remarks>
            <para>Creates a new message or entity header with the specified raw values.</para>
            <para>This constructor is used by the
            <a href="Overload_MimeKit_Header_TryParse.htm">TryParse</a> methods.</para>
            </remarks>
            <param name="options">The parser options used.</param>
            <param name="field">The raw header field.</param>
            <param name="fieldNameLength">The length of the field name (not including trailing whitespace).</param>
            <param name="value">The raw value of the header.</param>
            <param name="invalid"><see langword="true" /> if the header field is invalid; otherwise, <see langword="false" />.</param>
        </member>
        <member name="M:MimeKit.Header.#ctor(MimeKit.ParserOptions,System.Byte[],System.Byte[],System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Header"/> class.
            </summary>
            <remarks>
            <para>Creates a new message or entity header with the specified raw values.</para>
            <para>This constructor is used by the
            <a href="Overload_MimeKit_Header_TryParse.htm">TryParse</a> methods.</para>
            </remarks>
            <param name="options">The parser options used.</param>
            <param name="field">The raw header field.</param>
            <param name="value">The raw value of the header.</param>
            <param name="invalid"><see langword="true" /> if the header field is invalid; otherwise, <see langword="false" />.</param>
        </member>
        <member name="M:MimeKit.Header.#ctor(MimeKit.ParserOptions,MimeKit.HeaderId,System.String,System.Byte[])">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Header"/> class.
            </summary>
            <remarks>
            <para>Creates a new message or entity header with the specified raw values.</para>
            <para>This constructor is used by <see cref="T:MimeKit.MimeMessage"/> and <see cref="T:MimeKit.MimeEntity"/>
            when serializing new values for headers.</para>
            </remarks>
            <param name="options">The parser options used.</param>
            <param name="id">The id of the header.</param>
            <param name="field">The raw header field.</param>
            <param name="value">The raw value of the header.</param>
        </member>
        <member name="M:MimeKit.Header.Clone">
            <summary>
            Clone the header.
            </summary>
            <remarks>
            Clones the header, copying the current RawValue.
            </remarks>
            <returns>A copy of the header with its current state.</returns>
        </member>
        <member name="P:MimeKit.Header.Offset">
            <summary>
            Get the stream offset of the beginning of the header.
            </summary>
            <remarks>
            If the offset is set, it refers to the byte offset where it
            was found in the stream it was parsed from.
            </remarks>
            <value>The stream offset.</value>
        </member>
        <member name="P:MimeKit.Header.Field">
            <summary>
            Get the name of the header field.
            </summary>
            <remarks>
            Represents the field name of the header.
            </remarks>
            <value>The name of the header field.</value>
        </member>
        <member name="P:MimeKit.Header.Id">
            <summary>
            Get the header identifier.
            </summary>
            <remarks>
            This property is mainly used for switch-statements for performance reasons.
            </remarks>
            <value>The header identifier.</value>
        </member>
        <member name="P:MimeKit.Header.RawField">
            <summary>
            Get the raw field name of the header.
            </summary>
            <remarks>
            Contains the raw field name of the header.
            </remarks>
            <value>The raw field name of the header.</value>
        </member>
        <member name="P:MimeKit.Header.RawValue">
            <summary>
            Get the raw value of the header.
            </summary>
            <remarks>
            Contains the raw value of the header, before any decoding or charset conversion.
            </remarks>
            <value>The raw value of the header.</value>
        </member>
        <member name="P:MimeKit.Header.Value">
            <summary>
            Get or sets the header value.
            </summary>
            <remarks>
            Represents the decoded header value and is suitable for displaying to the user.
            </remarks>
            <value>The header value.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Header.GetValue(System.Text.Encoding)">
            <summary>
            Get the header value using the specified character encoding.
            </summary>
            <remarks>
            <para>If the raw header value does not properly encode non-ASCII text, the decoder
            will fall back to a default charset encoding. Sometimes, however, this
            default charset fallback is wrong and the mail client may wish to override
            that default charset on a per-header basis.</para>
            <para>By using this method, the client is able to override the fallback charset
            on a per-header basis.</para>
            </remarks>
            <returns>The value.</returns>
            <param name="encoding">The character encoding to use as a fallback.</param>
        </member>
        <member name="M:MimeKit.Header.GetValue(System.String)">
            <summary>
            Get the header value using the specified charset.
            </summary>
            <remarks>
            <para>If the raw header value does not properly encode non-ASCII text, the decoder
            will fall back to a default charset encoding. Sometimes, however, this
            default charset fallback is wrong and the mail client may wish to override
            that default charset on a per-header basis.</para>
            <para>By using this method, the client is able to override the fallback charset
            on a per-header basis.</para>
            </remarks>
            <returns>The value.</returns>
            <param name="charset">The charset to use as a fallback.</param>
        </member>
        <member name="M:MimeKit.Header.FormatRawValue(MimeKit.FormatOptions,System.Text.Encoding,System.String)">
            <summary>
            Format the raw value of the header to conform with the specified formatting options.
            </summary>
            <remarks>
            <para>This method is called by the <a href="Overload_MimeKit_Header_SetValue.htm">SetValue</a>
            methods.</para>
            <para>This method should encode unicode characters according to the rules of rfc2047 (when
            <see cref="P:MimeKit.FormatOptions.International"/> is <see langword="false" />) as well as properly folding the
            value to conform with rfc5322.</para>
            </remarks>
            <param name="format">The formatting options.</param>
            <param name="encoding">The character encoding to be used.</param>
            <param name="value">The decoded (and unfolded) header value.</param>
            <returns>A byte array containing the raw header value that should be written.</returns>
        </member>
        <member name="M:MimeKit.Header.SetValue(MimeKit.FormatOptions,System.Text.Encoding,System.String)">
            <summary>
            Ses the header value using the specified formatting options and character encoding.
            </summary>
            <remarks>
            When a particular charset is desired for encoding the header value
            according to the rules of rfc2047, this method should be used
            instead of the <see cref="P:MimeKit.Header.Value"/> setter.
            </remarks>
            <param name="format">The formatting options.</param>
            <param name="encoding">A character encoding.</param>
            <param name="value">The header value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="format"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Header.SetValue(System.Text.Encoding,System.String)">
            <summary>
            Set the header value using the specified character encoding.
            </summary>
            <remarks>
            When a particular charset is desired for encoding the header value
            according to the rules of rfc2047, this method should be used
            instead of the <see cref="P:MimeKit.Header.Value"/> setter.
            </remarks>
            <param name="encoding">A character encoding.</param>
            <param name="value">The header value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Header.SetValue(MimeKit.FormatOptions,System.String,System.String)">
            <summary>
            Set the header value using the specified formatting options and charset.
            </summary>
            <remarks>
            When a particular charset is desired for encoding the header value
            according to the rules of rfc2047, this method should be used
            instead of the <see cref="P:MimeKit.Header.Value"/> setter.
            </remarks>
            <param name="format">The formatting options.</param>
            <param name="charset">A charset encoding.</param>
            <param name="value">The header value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="format"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="charset"/> is not supported.
            </exception>
        </member>
        <member name="M:MimeKit.Header.SetValue(System.String,System.String)">
            <summary>
            Set the header value using the specified charset.
            </summary>
            <remarks>
            When a particular charset is desired for encoding the header value
            according to the rules of rfc2047, this method should be used
            instead of the <see cref="P:MimeKit.Header.Value"/> setter.
            </remarks>
            <param name="charset">A charset encoding.</param>
            <param name="value">The header value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="charset"/> is not supported.
            </exception>
        </member>
        <member name="M:MimeKit.Header.SetRawValue(System.Byte[])">
            <summary>
            Set the raw header value.
            </summary>
            <remarks>
            <para>Sets the raw header value.</para>
            <para>This method can be used to override default encoding and folding behavior
            for a particular header.</para>
            </remarks>
            <param name="value">The raw header value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="value"/> does not end with a new-line character.
            </exception>
        </member>
        <member name="M:MimeKit.Header.ToString">
            <summary>
            Return a string representation of the header.
            </summary>
            <remarks>
            Formats the header field and value in a way that is suitable for display.
            </remarks>
            <returns>A string representing the <see cref="T:MimeKit.Header"/>.</returns>
        </member>
        <member name="M:MimeKit.Header.Unfold(System.String)">
            <summary>
            Unfold the specified header value.
            </summary>
            <remarks>
            Unfolds the header value so that it becomes suitable for display.
            Since <see cref="P:MimeKit.Header.Value"/> is already unfolded, this method is really
            only needed when working with raw header strings.
            </remarks>
            <returns>The unfolded header value.</returns>
            <param name="text">The header text.</param>
        </member>
        <member name="M:MimeKit.Header.TryParse(MimeKit.ParserOptions,System.Byte[],System.Int32,System.Int32,MimeKit.Header@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.Header"/> instance.
            </summary>
            <remarks>
            Parses a header from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns><see langword="true" /> if the header was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <param name="header">The parsed header.</param>
        </member>
        <member name="M:MimeKit.Header.TryParse(System.Byte[],System.Int32,System.Int32,MimeKit.Header@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.Header"/> instance.
            </summary>
            <remarks>
            Parses a header from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns><see langword="true" /> if the header was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <param name="header">The parsed header.</param>
        </member>
        <member name="M:MimeKit.Header.TryParse(MimeKit.ParserOptions,System.Byte[],System.Int32,MimeKit.Header@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.Header"/> instance.
            </summary>
            <remarks>
            Parses a header from the supplied buffer starting at the specified index.
            </remarks>
            <returns><see langword="true" /> if the header was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="header">The parsed header.</param>
        </member>
        <member name="M:MimeKit.Header.TryParse(System.Byte[],System.Int32,MimeKit.Header@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.Header"/> instance.
            </summary>
            <remarks>
            Parses a header from the supplied buffer starting at the specified index.
            </remarks>
            <returns><see langword="true" /> if the header was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="header">The parsed header.</param>
        </member>
        <member name="M:MimeKit.Header.TryParse(MimeKit.ParserOptions,System.Byte[],MimeKit.Header@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.Header"/> instance.
            </summary>
            <remarks>
            Parses a header from the specified buffer.
            </remarks>
            <returns><see langword="true" /> if the header was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="header">The parsed header.</param>
        </member>
        <member name="M:MimeKit.Header.TryParse(System.Byte[],MimeKit.Header@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.Header"/> instance.
            </summary>
            <remarks>
            Parses a header from the specified buffer.
            </remarks>
            <returns><see langword="true" /> if the header was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="header">The parsed header.</param>
        </member>
        <member name="M:MimeKit.Header.TryParse(MimeKit.ParserOptions,System.String,MimeKit.Header@)">
            <summary>
            Try to parse the given text into a new <see cref="T:MimeKit.Header"/> instance.
            </summary>
            <remarks>
            Parses a header from the specified text.
            </remarks>
            <returns><see langword="true" /> if the header was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="text">The text to parse.</param>
            <param name="header">The parsed header.</param>
        </member>
        <member name="M:MimeKit.Header.TryParse(System.String,MimeKit.Header@)">
            <summary>
            Try to parse the given text into a new <see cref="T:MimeKit.Header"/> instance.
            </summary>
            <remarks>
            Parses a header from the specified text.
            </remarks>
            <returns><see langword="true" /> if the header was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="text">The text to parse.</param>
            <param name="header">The parsed header.</param>
        </member>
        <member name="T:MimeKit.HeaderId">
            <summary>
            An enumeration of common header fields.
            </summary>
            <remarks>
            Comparing enum  values is not only faster, but less error-prone than
            comparing strings.
            </remarks>
        </member>
        <member name="F:MimeKit.HeaderId.AcceptLanguage">
            <summary>
            The Accept-Language header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.AdHoc">
            <summary>
            The Ad-Hoc header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.AlternateRecipient">
            <summary>
            The Alternate-Recipient header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ApparentlyTo">
            <summary>
            The Apparently-To header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Approved">
            <summary>
            The Approved header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ArcAuthenticationResults">
            <summary>
            The ARC-Authentication-Results header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ArcMessageSignature">
            <summary>
            The ARC-Message-Signature header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ArcSeal">
            <summary>
            The ARC-Seal header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Archive">
            <summary>
            The Archive header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ArchivedAt">
            <summary>
            The Archived-At header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Article">
            <summary>
            The Article header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.AuthenticationResults">
            <summary>
            The Authentication-Results header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Autocrypt">
            <summary>
            The Autocrypt header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.AutocryptGossip">
            <summary>
            The Autocrypt-Gossip header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.AutocryptSetupMessage">
            <summary>
            The Autocrypt-Setup-Message header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Autoforwarded">
            <summary>
            The Autoforwarded header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.AutoSubmitted">
            <summary>
            The Auto-Submitted header field.
            </summary>
            <remarks>
            The header as defined in <a href="https://www.rfc-editor.org/rfc/rfc3834">RFC3834</a>.
            </remarks>
        </member>
        <member name="F:MimeKit.HeaderId.Autosubmitted">
            <summary>
            The Autosubmitted header field.
            </summary>
            <remarks>
            <note type="warning">
            <para>This is a legacy header as defined in <a href="https://datatracker.ietf.org/doc/html/rfc2156">RFC2156</a>.</para>
            <para>Most likely, you want to use <see cref="F:MimeKit.HeaderId.AutoSubmitted"/> instead.</para>
            </note>
            </remarks>
        </member>
        <member name="F:MimeKit.HeaderId.Base">
            <summary>
            The Base header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Bcc">
            <summary>
            The Bcc header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Body">
            <summary>
            The Body header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Bytes">
            <summary>
            The Bytes header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Cc">
            <summary>
            The Cc header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Comments">
            <summary>
            The Comments header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ContentAlternative">
            <summary>
            The Content-Alternative header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ContentBase">
            <summary>
            The Content-Base header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ContentClass">
            <summary>
            The Content-Class header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ContentDescription">
            <summary>
            The Content-Description header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ContentDisposition">
            <summary>
            The Content-Disposition header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ContentDuration">
            <summary>
            The Content-Duration header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ContentFeatures">
            <summary>
            The Content-Features header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ContentId">
            <summary>
            The Content-Id header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ContentIdentifier">
            <summary>
            The Content-Identifier header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ContentLanguage">
            <summary>
            The Content-Language header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ContentLength">
            <summary>
            The Content-Length header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ContentLocation">
            <summary>
            The Content-Location header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ContentMd5">
            <summary>
            The Content-Md5 header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ContentReturn">
            <summary>
            The Content-Return header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ContentTransferEncoding">
            <summary>
            The Content-Transfer-Encoding header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ContentTranslationType">
            <summary>
            The Content-Translation-Type header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ContentType">
            <summary>
            The Content-Type header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Control">
            <summary>
            The Control header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Conversion">
            <summary>
            The Conversion header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ConversionWithLoss">
            <summary>
            The Conversion-With-Loss header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Date">
            <summary>
            The Date header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.DateReceived">
            <summary>
            The Date-Received header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.DeferredDelivery">
            <summary>
            The Deferred-Delivery header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.DeliveryDate">
            <summary>
            The Delivery-Date header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.DiscloseRecipients">
            <summary>
            The Disclose-Recipients header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.DispositionNotificationOptions">
            <summary>
            The Disposition-Notification-Options header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.DispositionNotificationTo">
            <summary>
            The Disposition-Notification-To header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Distribution">
            <summary>
            The Distribution header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.DkimSignature">
            <summary>
            The DKIM-Signature header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.DomainKeySignature">
            <summary>
            The DomainKey-Signature header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Encoding">
            <summary>
            The Encoding header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Encrypted">
            <summary>
            The Encrypted header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Expires">
            <summary>
            The Expires header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ExpiryDate">
            <summary>
            The Expiry-Date header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.FollowupTo">
            <summary>
            The Followup-To header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.From">
            <summary>
            The From header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.GenerateDeliveryReport">
            <summary>
            The Generate-Delivery-Report header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Importance">
            <summary>
            The Importance header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.InjectionDate">
            <summary>
            The Injection-Date header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.InjectionInfo">
            <summary>
            The Injection-Info header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.InReplyTo">
            <summary>
            The In-Reply-To header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Keywords">
            <summary>
            The Keywords header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Language">
            <summary>
            The Language header.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.LatestDeliveryTime">
            <summary>
            The Latest-Delivery-Time header.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Lines">
            <summary>
            The Lines header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ListArchive">
            <summary>
            The List-Archive header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ListHelp">
            <summary>
            The List-Help header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ListId">
            <summary>
            The List-Id header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ListOwner">
            <summary>
            The List-Owner header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ListPost">
            <summary>
            The List-Post header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ListSubscribe">
            <summary>
            The List-Subscribe header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ListUnsubscribe">
            <summary>
            The List-Unsubscribe header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ListUnsubscribePost">
            <summary>
            The List-Unsubscribe-Post header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.MessageId">
            <summary>
            The Message-Id header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.MimeVersion">
            <summary>
            The MIME-Version header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Newsgroups">
            <summary>
            The Newsgroups header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.NntpPostingHost">
            <summary>
            The Nntp-Posting-Host header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Organization">
            <summary>
            The Organization header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.OriginalFrom">
            <summary>
            The Original-From header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.OriginalMessageId">
            <summary>
            The Original-Message-Id header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.OriginalRecipient">
            <summary>
            The Original-Recipient header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.OriginalReturnAddress">
            <summary>
            The Original-Return-Address header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.OriginalSubject">
            <summary>
            The Original-Subject header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Path">
            <summary>
            The Path header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Precedence">
            <summary>
            The Precedence header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.PreventNonDeliveryReport">
            <summary>
            The Prevent-NonDelivery-Report header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Priority">
            <summary>
            The Priority header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Received">
            <summary>
            The Received header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ReceivedSPF">
            <summary>
            The Received-SPF header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.References">
            <summary>
            The References header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.RelayVersion">
            <summary>
            The Relay-Version header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ReplyBy">
            <summary>
            The Reply-By header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ReplyTo">
            <summary>
            The Reply-To header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.RequireRecipientValidSince">
            <summary>
            The Require-Recipient-Valid-Since header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ResentBcc">
            <summary>
            The Resent-Bcc header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ResentCc">
            <summary>
            The Resent-Cc header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ResentDate">
            <summary>
            The Resent-Date header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ResentFrom">
            <summary>
            The Resent-From header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ResentMessageId">
            <summary>
            The Resent-Message-Id header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ResentReplyTo">
            <summary>
            The Resent-Reply-To header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ResentSender">
            <summary>
            The Resent-Sender header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ResentTo">
            <summary>
            The Resent-To header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ReturnPath">
            <summary>
            The Return-Path header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.ReturnReceiptTo">
            <summary>
            The Return-Receipt-To header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.SeeAlso">
            <summary>
            The See-Also header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Sender">
            <summary>
            The Sender header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Sensitivity">
            <summary>
            The Sensitivity header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Solicitation">
            <summary>
            The Solicitation header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Status">
            <summary>
            The Status header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Subject">
            <summary>
            The Subject header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Summary">
            <summary>
            The Summary header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Supersedes">
            <summary>
            The Supersedes header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.TLSRequired">
            <summary>
            The TLS-Required header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.To">
            <summary>
            The To header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.UserAgent">
            <summary>
            The User-Agent header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.X400ContentIdentifier">
            <summary>
            The X400-Content-Identifier header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.X400ContentReturn">
            <summary>
            The X400-Content-Return header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.X400ContentType">
            <summary>
            The X400-Content-Type header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.X400MTSIdentifier">
            <summary>
            The X400-MTS-Identifier header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.X400Originator">
            <summary>
            The X400-Originator header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.X400Received">
            <summary>
            The X400-Received header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.X400Recipients">
            <summary>
            The X400-Recipients header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.X400Trace">
            <summary>
            The X400-Trace header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.XMailer">
            <summary>
            The X-Mailer header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.XMSMailPriority">
            <summary>
            The X-MSMail-Priority header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.XPriority">
            <summary>
            The X-Priority header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.XStatus">
            <summary>
            The X-Status header field.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderId.Unknown">
            <summary>
            An unknown header field.
            </summary>
        </member>
        <member name="T:MimeKit.HeaderIdExtensions">
            <summary>
            <see cref="T:MimeKit.HeaderId"/> extension methods.
            </summary>
            <remarks>
            <see cref="T:MimeKit.HeaderId"/> extension methods.
            </remarks>
        </member>
        <member name="M:MimeKit.HeaderIdExtensions.ToHeaderName(MimeKit.HeaderId)">
            <summary>
            Converts the enum value into the equivalent header field name.
            </summary>
            <remarks>
            Converts the enum value into the equivalent header field name.
            </remarks>
            <returns>The header name.</returns>
            <param name="value">The enum value.</param>
        </member>
        <member name="T:MimeKit.HeaderList">
            <summary>
            A list of <see cref="T:MimeKit.Header"/>s.
            </summary>
            <remarks>
            Represents a list of headers as found in a <see cref="T:MimeKit.MimeMessage"/>
            or <see cref="T:MimeKit.MimeEntity"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.HeaderList.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.HeaderList"/> class.
            </summary>
            <remarks>
            Creates a new empty header list.
            </remarks>
        </member>
        <member name="P:MimeKit.HeaderList.HasBodySeparator">
            <summary>
            Get or set whether or not the header list has a body separator.
            </summary>
            <remarks>
            Get or set whether or not the header list has a body separator.
            </remarks>
            <value><see langword="true"/> if the header list has a body separator; otherwise, <see langword="false"/>.</value>
        </member>
        <member name="M:MimeKit.HeaderList.Add(MimeKit.HeaderId,System.String)">
            <summary>
            Add a header with the specified field and value.
            </summary>
            <remarks>
            Adds a new header for the specified field and value pair.
            </remarks>
            <param name="id">The header identifier.</param>
            <param name="value">The header value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="id"/> is not a valid <see cref="T:MimeKit.HeaderId"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Add(System.String,System.String)">
            <summary>
            Add a header with the specified field and value.
            </summary>
            <remarks>
            Adds a new header for the specified field and value pair.
            </remarks>
            <param name="field">The name of the header field.</param>
            <param name="value">The header value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="field"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="field"/> contains illegal characters.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Add(MimeKit.HeaderId,System.Text.Encoding,System.String)">
            <summary>
            Add a header with the specified field and value.
            </summary>
            <remarks>
            Adds a new header for the specified field and value pair.
            </remarks>
            <param name="id">The header identifier.</param>
            <param name="encoding">The character encoding to use for the value.</param>
            <param name="value">The header value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="id"/> is not a valid <see cref="T:MimeKit.HeaderId"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Add(System.String,System.Text.Encoding,System.String)">
            <summary>
            Add a header with the specified field and value.
            </summary>
            <remarks>
            Adds a new header for the specified field and value pair.
            </remarks>
            <param name="field">The name of the header field.</param>
            <param name="encoding">The character encoding to use for the value.</param>
            <param name="value">The header value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="field"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="field"/> contains illegal characters.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Contains(MimeKit.HeaderId)">
            <summary>
            Check if the <see cref="T:MimeKit.HeaderList"/> contains a header with the specified field name.
            </summary>
            <remarks>
            Determines whether the header list contains the specified header.
            </remarks>
            <returns><see langword="true" /> if the requested header exists;
            otherwise, <see langword="false" />.</returns>
            <param name="id">The header identifier.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="id"/> is not a valid <see cref="T:MimeKit.HeaderId"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Contains(System.String)">
            <summary>
            Check if the <see cref="T:MimeKit.HeaderList"/> contains a header with the specified field name.
            </summary>
            <remarks>
            Determines whether the header list contains the specified header.
            </remarks>
            <returns><see langword="true" /> if the requested header exists;
            otherwise, <see langword="false" />.</returns>
            <param name="field">The name of the header field.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="field"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.IndexOf(MimeKit.HeaderId)">
            <summary>
            Get the index of the requested header, if it exists.
            </summary>
            <remarks>
            Finds the first index of the specified header, if it exists.
            </remarks>
            <returns>The index of the requested header; otherwise <value>-1</value>.</returns>
            <param name="id">The header id.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="id"/> is not a valid <see cref="T:MimeKit.HeaderId"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.IndexOf(System.String)">
            <summary>
            Get the index of the requested header, if it exists.
            </summary>
            <remarks>
            Finds the first index of the specified header, if it exists.
            </remarks>
            <returns>The index of the requested header; otherwise <value>-1</value>.</returns>
            <param name="field">The name of the header field.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="field"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Insert(System.Int32,MimeKit.HeaderId,System.String)">
            <summary>
            Insert a header with the specified field and value at the given index.
            </summary>
            <remarks>
            Inserts the header at the specified index in the list.
            </remarks>
            <param name="index">The index to insert the header.</param>
            <param name="id">The header identifier.</param>
            <param name="value">The header value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="id"/> is not a valid <see cref="T:MimeKit.HeaderId"/>.</para>
            <para>-or-</para>
            <para><paramref name="index"/> is out of range.</para>
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Insert(System.Int32,System.String,System.String)">
            <summary>
            Insert a header with the specified field and value at the given index.
            </summary>
            <remarks>
            Inserts the header at the specified index in the list.
            </remarks>
            <param name="index">The index to insert the header.</param>
            <param name="field">The name of the header field.</param>
            <param name="value">The header value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="field"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="field"/> contains illegal characters.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Insert(System.Int32,MimeKit.HeaderId,System.Text.Encoding,System.String)">
            <summary>
            Insert a header with the specified field and value at the given index.
            </summary>
            <remarks>
            Inserts the header at the specified index in the list.
            </remarks>
            <param name="index">The index to insert the header.</param>
            <param name="id">The header identifier.</param>
            <param name="encoding">The character encoding to use for the value.</param>
            <param name="value">The header value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="id"/> is not a valid <see cref="T:MimeKit.HeaderId"/>.</para>
            <para>-or-</para>
            <para><paramref name="index"/> is out of range.</para>
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Insert(System.Int32,System.String,System.Text.Encoding,System.String)">
            <summary>
            Insert a header with the specified field and value at the given index.
            </summary>
            <remarks>
            Inserts the header at the specified index in the list.
            </remarks>
            <param name="index">The index to insert the header.</param>
            <param name="field">The name of the header field.</param>
            <param name="encoding">The character encoding to use for the value.</param>
            <param name="value">The header value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="field"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="field"/> contains illegal characters.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.LastIndexOf(MimeKit.HeaderId)">
            <summary>
            Get the last index of the requested header, if it exists.
            </summary>
            <remarks>
            Finds the last index of the specified header, if it exists.
            </remarks>
            <returns>The last index of the requested header; otherwise <value>-1</value>.</returns>
            <param name="id">The header id.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="id"/> is not a valid <see cref="T:MimeKit.HeaderId"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.LastIndexOf(System.String)">
            <summary>
            Get the last index of the requested header, if it exists.
            </summary>
            <remarks>
            Finds the last index of the specified header, if it exists.
            </remarks>
            <returns>The last index of the requested header; otherwise <value>-1</value>.</returns>
            <param name="field">The name of the header field.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="field"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Remove(MimeKit.HeaderId)">
            <summary>
            Remove the first occurrence of the specified header field.
            </summary>
            <remarks>
            Removes the first occurrence of the specified header field, if any exist.
            </remarks>
            <returns><see langword="true" /> if the first occurrence of the specified
            header was removed; otherwise, <see langword="false" />.</returns>
            <param name="id">The header identifier.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="id"/> is is not a valid <see cref="T:MimeKit.HeaderId"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Remove(System.String)">
            <summary>
            Remove the first occurrence of the specified header field.
            </summary>
            <remarks>
            Removes the first occurrence of the specified header field, if any exist.
            </remarks>
            <returns><see langword="true" /> if the first occurrence of the specified
            header was removed; otherwise, <see langword="false" />.</returns>
            <param name="field">The name of the header field.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="field"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.RemoveAll(MimeKit.HeaderId)">
            <summary>
            Remove all the headers matching the specified field name.
            </summary>
            <remarks>
            Removes all the headers matching the specified field name.
            </remarks>
            <param name="id">The header identifier.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="id"/> is not a valid <see cref="T:MimeKit.HeaderId"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.RemoveAll(System.String)">
            <summary>
            Remove all the headers matching the specified field name.
            </summary>
            <remarks>
            Removes all the headers matching the specified field name.
            </remarks>
            <param name="field">The name of the header field.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="field"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Replace(MimeKit.HeaderId,System.Text.Encoding,System.String)">
            <summary>
            Replace all headers with identical field names with the single specified header.
            </summary>
            <remarks>
            <para>Replaces all headers with identical field names with the single specified header.</para>
            <para>If no headers with the specified field name exist, it is simply added.</para>
            </remarks>
            <param name="id">The header identifier.</param>
            <param name="encoding">The character encoding to use for the value.</param>
            <param name="value">The header value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="id"/> is not a valid <see cref="T:MimeKit.HeaderId"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Replace(MimeKit.HeaderId,System.String)">
            <summary>
            Replace all headers with identical field names with the single specified header.
            </summary>
            <remarks>
            <para>Replaces all headers with identical field names with the single specified header.</para>
            <para>If no headers with the specified field name exist, it is simply added.</para>
            </remarks>
            <param name="id">The header identifier.</param>
            <param name="value">The header value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="id"/> is not a valid <see cref="T:MimeKit.HeaderId"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Replace(System.String,System.Text.Encoding,System.String)">
            <summary>
            Replace all headers with identical field names with the single specified header.
            </summary>
            <remarks>
            <para>Replaces all headers with identical field names with the single specified header.</para>
            <para>If no headers with the specified field name exist, it is simply added.</para>
            </remarks>
            <param name="field">The name of the header field.</param>
            <param name="encoding">The character encoding to use for the value.</param>
            <param name="value">The header value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="field"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Replace(System.String,System.String)">
            <summary>
            Replace all headers with identical field names with the single specified header.
            </summary>
            <remarks>
            <para>Replaces all headers with identical field names with the single specified header.</para>
            <para>If no headers with the specified field name exist, it is simply added.</para>
            </remarks>
            <param name="field">The name of the header field.</param>
            <param name="value">The header value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="field"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="field"/> contains illegal characters.
            </exception>
        </member>
        <member name="P:MimeKit.HeaderList.Item(MimeKit.HeaderId)">
            <summary>
            Get or set the value of the first occurrence of a header
            with the specified field name.
            </summary>
            <remarks>
            Gets or sets the value of the first occurrence of a header
            with the specified field name.
            </remarks>
            <value>The value of the first occurrence of the specified header if it exists; otherwise <see langword="null"/>.</value>
            <param name="id">The header identifier.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.HeaderList.Item(System.String)">
            <summary>
            Get or set the value of the first occurrence of a header
            with the specified field name.
            </summary>
            <remarks>
            Gets or sets the value of the first occurrence of a header
            with the specified field name.
            </remarks>
            <value>The value of the first occurrence of the specified header if it exists; otherwise <see langword="null"/>.</value>
            <param name="field">The name of the header field.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="field"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.WriteTo(MimeKit.FormatOptions,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.HeaderList"/> to the specified output stream.
            </summary>
            <remarks>
            Writes all the headers to the output stream.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.WriteToAsync(MimeKit.FormatOptions,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.HeaderList"/> to the specified output stream.
            </summary>
            <remarks>
            Writes all the headers to the output stream.
            </remarks>
            <returns>A task that represents the asynchronous write operation.</returns>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.WriteTo(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.HeaderList"/> to the specified output stream.
            </summary>
            <remarks>
            Writes all the headers to the output stream.
            </remarks>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.WriteToAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.HeaderList"/> to the specified output stream.
            </summary>
            <remarks>
            Writes all the headers to the output stream.
            </remarks>
            <returns>A task that represents the asynchronous write operation.</returns>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="P:MimeKit.HeaderList.Count">
            <summary>
            Get the number of headers in the list.
            </summary>
            <remarks>
            Gets the number of headers in the list.
            </remarks>
            <value>The number of headers.</value>
        </member>
        <member name="P:MimeKit.HeaderList.IsReadOnly">
            <summary>
            Get whether the header list is read only.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.HeaderList"/> is never read-only.
            </remarks>
            <value><see langword="true" /> if this instance is read only; otherwise, <see langword="false" />.</value>
        </member>
        <member name="M:MimeKit.HeaderList.Add(MimeKit.Header)">
            <summary>
            Add the specified header.
            </summary>
            <remarks>
            Adds the specified header to the end of the header list.
            </remarks>
            <param name="header">The header to add.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="header"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Clear">
            <summary>
            Clear the header list.
            </summary>
            <remarks>
            Removes all the headers from the list.
            </remarks>
        </member>
        <member name="M:MimeKit.HeaderList.Contains(MimeKit.Header)">
            <summary>
            Check if the <see cref="T:MimeKit.HeaderList"/> contains the specified header.
            </summary>
            <remarks>
            Determines whether the header list contains the specified header.
            </remarks>
            <returns><see langword="true" /> if the specified header is contained;
            otherwise, <see langword="false" />.</returns>
            <param name="header">The header.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="header"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.CopyTo(MimeKit.Header[],System.Int32)">
            <summary>
            Copy all the headers in the <see cref="T:MimeKit.HeaderList"/> to the specified array.
            </summary>
            <remarks>
            Copies all the headers within the <see cref="T:MimeKit.HeaderList"/> into the array,
            starting at the specified array index.
            </remarks>
            <param name="array">The array to copy the headers to.</param>
            <param name="arrayIndex">The index into the array.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="array"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="arrayIndex"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Remove(MimeKit.Header)">
            <summary>
            Remove the specified header.
            </summary>
            <remarks>
            Removes the specified header from the list if it exists.
            </remarks>
            <returns><see langword="true" /> if the specified header was removed;
            otherwise, <see langword="false" />.</returns>
            <param name="header">The header.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="header"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Replace(MimeKit.Header)">
            <summary>
            Replace all headers with identical field names with the single specified header.
            </summary>
            <remarks>
            <para>Replaces all headers with identical field names with the single specified header.</para>
            <para>If no headers with the specified field name exist, it is simply added.</para>
            </remarks>
            <param name="header">The header.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="header"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.IndexOf(MimeKit.Header)">
            <summary>
            Get the index of the requested header, if it exists.
            </summary>
            <remarks>
            Finds the index of the specified header, if it exists.
            </remarks>
            <returns>The index of the requested header; otherwise <value>-1</value>.</returns>
            <param name="header">The header.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="header"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Insert(System.Int32,MimeKit.Header)">
            <summary>
            Insert the specified header at the given index.
            </summary>
            <remarks>
            Inserts the header at the specified index in the list.
            </remarks>
            <param name="index">The index to insert the header.</param>
            <param name="header">The header.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="header"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.RemoveAt(System.Int32)">
            <summary>
            Remove the header at the specified index.
            </summary>
            <remarks>
            Removes the header at the specified index.
            </remarks>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="P:MimeKit.HeaderList.Item(System.Int32)">
            <summary>
            Get or set the <see cref="T:MimeKit.Header"/> at the specified index.
            </summary>
            <remarks>
            Gets or sets the <see cref="T:MimeKit.Header"/> at the specified index.
            </remarks>
            <value>The header at the specified index.</value>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.GetEnumerator">
            <summary>
            Get an enumerator for the list of headers.
            </summary>
            <remarks>
            Gets an enumerator for the list of headers.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MimeKit.HeaderList.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Get an enumerator for the list of headers.
            </summary>
            <remarks>
            Gets an enumerator for the list of headers.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MimeKit.HeaderList.Load(MimeKit.ParserOptions,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Load a <see cref="T:MimeKit.HeaderList"/> from the specified stream.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.HeaderList"/> from the given stream, using the
            specified <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed list of headers.</returns>
            <param name="options">The parser options.</param>
            <param name="stream">The stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the headers.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.LoadAsync(MimeKit.ParserOptions,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously load a <see cref="T:MimeKit.HeaderList"/> from the specified stream.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.HeaderList"/> from the given stream, using the
            specified <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed list of headers.</returns>
            <param name="options">The parser options.</param>
            <param name="stream">The stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the headers.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Load(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Load a <see cref="T:MimeKit.HeaderList"/> from the specified stream.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.HeaderList"/> from the given stream, using the
            default <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed list of headers.</returns>
            <param name="stream">The stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.LoadAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously load a <see cref="T:MimeKit.HeaderList"/> from the specified stream.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.HeaderList"/> from the given stream, using the
            default <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed list of headers.</returns>
            <param name="stream">The stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Load(MimeKit.ParserOptions,System.String,System.Threading.CancellationToken)">
            <summary>
            Load a <see cref="T:MimeKit.HeaderList"/> from the specified file.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.HeaderList"/> from the file at the give file path,
            using the specified <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed list of headers.</returns>
            <param name="options">The parser options.</param>
            <param name="fileName">The name of the file to load.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the headers.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.LoadAsync(MimeKit.ParserOptions,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously load a <see cref="T:MimeKit.HeaderList"/> from the specified file.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.HeaderList"/> from the file at the give file path,
            using the specified <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed list of headers.</returns>
            <param name="options">The parser options.</param>
            <param name="fileName">The name of the file to load.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the headers.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.Load(System.String,System.Threading.CancellationToken)">
            <summary>
            Load a <see cref="T:MimeKit.HeaderList"/> from the specified file.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.HeaderList"/> from the file at the give file path,
            using the default <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed list of headers.</returns>
            <param name="fileName">The name of the file to load.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the headers.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderList.LoadAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously load a <see cref="T:MimeKit.HeaderList"/> from the specified file.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.HeaderList"/> from the file at the give file path,
            using the default <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed list of headers.</returns>
            <param name="fileName">The name of the file to load.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the headers.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="T:MimeKit.HeaderListChangedAction">
            <summary>
            Header list changed action.
            </summary>
            <remarks>
            Specifies the way that a <see cref="T:MimeKit.HeaderList"/> was changed.
            </remarks>
        </member>
        <member name="F:MimeKit.HeaderListChangedAction.Added">
            <summary>
            A header was added.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderListChangedAction.Changed">
            <summary>
            A header was changed.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderListChangedAction.Removed">
            <summary>
            A header was removed.
            </summary>
        </member>
        <member name="F:MimeKit.HeaderListChangedAction.Cleared">
            <summary>
            The header list was cleared.
            </summary>
        </member>
        <member name="T:MimeKit.HeaderListCollection">
            <summary>
            A collection of <see cref="T:MimeKit.HeaderList"/> groups.
            </summary>
            <remarks>
            A collection of <see cref="T:MimeKit.HeaderList"/> groups used with
            <see cref="T:MimeKit.MessageDeliveryStatus"/>.
            </remarks>
            <seealso cref="T:MimeKit.MessageDeliveryStatus"/>
        </member>
        <member name="M:MimeKit.HeaderListCollection.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.HeaderListCollection"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.HeaderListCollection"/>.
            </remarks>
        </member>
        <member name="P:MimeKit.HeaderListCollection.Count">
            <summary>
            Gets the number of groups in the collection.
            </summary>
            <remarks>
            Gets the number of groups in the collection.
            </remarks>
            <value>The number of groups.</value>
        </member>
        <member name="P:MimeKit.HeaderListCollection.IsReadOnly">
            <summary>
            Gets whether the header list collection is read only.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.HeaderListCollection"/> is never read-only.
            </remarks>
            <value><see langword="true" /> if this instance is read only; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.HeaderListCollection.Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:MimeKit.HeaderList"/> at the specified index.
            </summary>
            <remarks>
            Gets or sets the <see cref="T:MimeKit.HeaderList"/> at the specified index.
            </remarks>
            <value>The group of headers at the specified index.</value>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderListCollection.Add(MimeKit.HeaderList)">
            <summary>
            Adds the group of headers to the collection.
            </summary>
            <remarks>
            Adds the group of headers to the collection.
            </remarks>
            <param name="group">The group of headers.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="group"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderListCollection.Clear">
            <summary>
            Clears the header list collection.
            </summary>
            <remarks>
            Removes all the groups from the collection.
            </remarks>
        </member>
        <member name="M:MimeKit.HeaderListCollection.Contains(MimeKit.HeaderList)">
            <summary>
            Checks if the collection contains the specified group of headers.
            </summary>
            <remarks>
            Determines whether the collection contains the specified group of headers.
            </remarks>
            <returns><see langword="true" /> if the specified group of headers is contained;
            otherwise, <see langword="false" />.</returns>
            <param name="group">The group of headers.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="group"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderListCollection.CopyTo(MimeKit.HeaderList[],System.Int32)">
            <summary>
            Copies all the header groups in the <see cref="T:MimeKit.HeaderListCollection"/> to the specified array.
            </summary>
            <remarks>
            Copies all the header groups within the <see cref="T:MimeKit.HeaderListCollection"/> into the array,
            starting at the specified array index.
            </remarks>
            <param name="array">The array to copy the headers to.</param>
            <param name="arrayIndex">The index into the array.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="array"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="arrayIndex"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderListCollection.Remove(MimeKit.HeaderList)">
            <summary>
            Removes the specified header group.
            </summary>
            <remarks>
            Removes the specified header group from the collection, if it exists.
            </remarks>
            <returns><see langword="true" /> if the specified header group was removed;
            otherwise, <see langword="false" />.</returns>
            <param name="group">The group of headers.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="group"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.HeaderListCollection.GetEnumerator">
            <summary>
            Gets an enumerator for the groups of headers.
            </summary>
            <remarks>
            Gets an enumerator for the groups of headers.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MimeKit.HeaderListCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Gets an enumerator for the groups of headers.
            </summary>
            <remarks>
            Gets an enumerator for the groups of headers.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="T:MimeKit.IMessageDeliveryStatus">
            <summary>
            An interface for a message delivery status MIME part.
            </summary>
            <remarks>
            <para>A message delivery status MIME part is a machine-readable notification denoting the
            delivery status of a message and has a MIME-type of message/delivery-status.</para>
            <para>For more information, see <a href="https://tools.ietf.org/html/rfc3464">rfc3464</a>.</para>
            <seealso cref="T:MimeKit.MultipartReport"/>
            </remarks>
            <example>
            <code language="c#" source="Examples\MessageDeliveryStatusExamples.cs" region="ProcessDeliveryStatusNotification" />
            </example>
        </member>
        <member name="P:MimeKit.IMessageDeliveryStatus.StatusGroups">
            <summary>
            Get the groups of delivery status fields.
            </summary>
            <remarks>
            <para>Gets the groups of delivery status fields. The first <see cref="T:MimeKit.HeaderList"/>
            contains the per-message fields while each remaining <see cref="T:MimeKit.HeaderList"/> contains
            fields that pertain to particular recipients of the message.</para>
            <para>For more information about these fields and their values, check out
            <a href="https://tools.ietf.org/html/rfc3464">rfc3464</a>.</para>
            <para><a href="https://tools.ietf.org/html/rfc3464#section-2.2">Section 2.2</a> defines
            the per-message fields while
            <a href="https://tools.ietf.org/html/rfc3464#section-2.3">Section 2.3</a> defines
            the per-recipient fields.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\MessageDeliveryStatusExamples.cs" region="ProcessDeliveryStatusNotification" />
            </example>
            <value>The fields.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMessageDeliveryStatus"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.IMessageDispositionNotification">
            <summary>
            An interface for a message disposition notification MIME part.
            </summary>
            <remarks>
            A message disposition notification MIME part is a machine-readable notification
            denoting the disposition of a message once it has been successfully delivered 
            and has a MIME-type of message/disposition-notification.
            <seealso cref="T:MimeKit.MultipartReport"/>
            </remarks>
        </member>
        <member name="P:MimeKit.IMessageDispositionNotification.Fields">
            <summary>
            Get the disposition notification fields.
            </summary>
            <remarks>
            Gets the disposition notification fields.
            </remarks>
            <value>The disposition notification fields.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMessageDispositionNotification"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.IMessageFeedbackReport">
            <summary>
            An interface for a message feedback report MIME part.
            </summary>
            <remarks>
            A <c>message/feedback-report</c> MIME part is a machine-readable feedback report.
            <seealso cref="T:MimeKit.MultipartReport"/>
            </remarks>
        </member>
        <member name="P:MimeKit.IMessageFeedbackReport.Fields">
            <summary>
            Get the feedback report fields.
            </summary>
            <remarks>
            Gets the feedback report fields.
            </remarks>
            <value>The feedback report fields.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMessageFeedbackReport"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.IMessagePart">
            <summary>
            An interface for a MIME part containing a <see cref="T:MimeKit.MimeMessage"/> as its content.
            </summary>
            <remarks>
            Represents MIME entities such as those with a Content-Type of message/rfc822 or message/news.
            </remarks>
        </member>
        <member name="P:MimeKit.IMessagePart.Message">
            <summary>
            Gets or sets the message content.
            </summary>
            <remarks>
            Gets or sets the message content.
            </remarks>
            <value>The message content.</value>
        </member>
        <member name="T:MimeKit.IMessagePartial">
            <summary>
            An interface for a MIME part containing a partial message as its content.
            </summary>
            <remarks>
            <para>The "message/partial" MIME-type is used to split large messages into
            multiple parts, typically to work around transport systems that have size
            limitations (for example, some SMTP servers limit have a maximum message
            size that they will accept).</para>
            </remarks>
        </member>
        <member name="P:MimeKit.IMessagePartial.Id">
            <summary>
            Get the "id" parameter of the Content-Type header.
            </summary>
            <remarks>
            The "id" parameter is a unique identifier used to match the parts together.
            </remarks>
            <value>The identifier.</value>
        </member>
        <member name="P:MimeKit.IMessagePartial.Number">
            <summary>
            Get the "number" parameter of the Content-Type header.
            </summary>
            <remarks>
            The "number" parameter is the sequential (1-based) index of the partial message fragment.
            </remarks>
            <value>The part number.</value>
        </member>
        <member name="P:MimeKit.IMessagePartial.Total">
            <summary>
            Get the "total" parameter of the Content-Type header.
            </summary>
            <remarks>
            The "total" parameter is the total number of pieces that make up the complete message.
            </remarks>
            <value>The total number of parts.</value>
        </member>
        <member name="T:MimeKit.IMimeContent">
            <summary>
            An interface for content stream encapsulation as used by <see cref="T:MimeKit.MimePart"/>.
            </summary>
            <remarks>
            Implemented by <see cref="T:MimeKit.MimeContent"/>.
            </remarks>
            <example>
            <code language="c#" source="Examples\AttachmentExamples.cs" region="SaveAttachments" />
            </example>
        </member>
        <member name="P:MimeKit.IMimeContent.Encoding">
            <summary>
            Get the content encoding.
            </summary>
            <remarks>
            If the <see cref="P:MimeKit.IMimeContent.Stream"/> is not encoded, this value will be
            <see cref="F:MimeKit.ContentEncoding.Default"/>. Otherwise, it will be
            set to the raw content encoding of the stream.
            </remarks>
            <value>The encoding.</value>
        </member>
        <member name="P:MimeKit.IMimeContent.NewLineFormat">
            <summary>
            Get the new-line format, if known.
            </summary>
            <remarks>
            <para>This property is typically only set by the <see cref="T:MimeKit.MimeParser"/> as it parses
            the content of a <see cref="T:MimeKit.MimePart"/> and is only used as a hint when verifying
            digital signatures.</para>
            </remarks>
            <value>The new-line format, if known.</value>
        </member>
        <member name="P:MimeKit.IMimeContent.Stream">
            <summary>
            Get the content stream.
            </summary>
            <remarks>
            Gets the content stream.
            </remarks>
            <value>The stream.</value>
        </member>
        <member name="M:MimeKit.IMimeContent.Open">
            <summary>
            Open the decoded content stream.
            </summary>
            <remarks>
            Provides a means of reading the decoded content without having to first write it to another
            stream using <see cref="M:MimeKit.IMimeContent.DecodeTo(System.IO.Stream,System.Threading.CancellationToken)"/>.
            </remarks>
            <returns>The decoded content stream.</returns>
        </member>
        <member name="M:MimeKit.IMimeContent.DecodeTo(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Decode the content stream into another stream.
            </summary>
            <remarks>
            If the content stream is encoded, this method will decode it into the output stream
            using a suitable decoder based on the <see cref="P:MimeKit.IMimeContent.Encoding"/> property, otherwise the
            stream will be copied into the output stream as-is.
            </remarks>
            <example>
            <code language="c#" source="Examples\AttachmentExamples.cs" region="SaveAttachments" />
            </example>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeContent.DecodeToAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decode the content stream into another stream.
            </summary>
            <remarks>
            If the content stream is encoded, this method will decode it into the output stream
            using a suitable decoder based on the <see cref="P:MimeKit.IMimeContent.Encoding"/> property, otherwise the
            stream will be copied into the output stream as-is.
            </remarks>
            <example>
            <code language="c#" source="Examples\AttachmentExamples.cs" region="SaveAttachments" />
            </example>
            <returns>An awaitable task.</returns>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeContent.WriteTo(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Copy the content stream to the specified output stream.
            </summary>
            <remarks>
            <para>This is equivalent to simply using <see cref="M:System.IO.Stream.CopyTo(System.IO.Stream)"/>
            to copy the content stream to the output stream except that this method is cancellable.</para>
            <note type="note">If you want the decoded content, use
            <see cref="M:MimeKit.IMimeContent.DecodeTo(System.IO.Stream,System.Threading.CancellationToken)"/> instead.</note>
            </remarks>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeContent.WriteToAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copy the content stream to the specified output stream.
            </summary>
            <remarks>
            <para>This is equivalent to simply using <see cref="M:System.IO.Stream.CopyTo(System.IO.Stream)"/>
            to copy the content stream to the output stream except that this method is cancellable.</para>
            <note type="note">If you want the decoded content, use
            <see cref="M:MimeKit.IMimeContent.DecodeTo(System.IO.Stream,System.Threading.CancellationToken)"/> instead.</note>
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was cancelled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="T:MimeKit.IMimeEntity">
            <summary>
            An interface for a MIME entity.
            </summary>
            <remarks>
            <para>A MIME entity is really just a node in a tree structure of MIME parts in a MIME message.</para>
            <para>There are 3 basic types of entities: <see cref="T:MimeKit.MimePart"/>, <see cref="T:MimeKit.Multipart"/>,
            and <see cref="T:MimeKit.MessagePart"/> (which is actually just a special variation of
            <see cref="T:MimeKit.MimePart"/> who's content is another MIME message/document). All other types are
            derivatives of one of those.</para>
            </remarks>
        </member>
        <member name="P:MimeKit.IMimeEntity.Headers">
            <summary>
            Get the list of headers.
            </summary>
            <remarks>
            Represents the list of headers for a MIME part. Typically, the headers of
            a MIME part will be various Content-* headers such as Content-Type or
            Content-Disposition, but may include just about anything.
            </remarks>
            <value>The list of headers.</value>
        </member>
        <member name="P:MimeKit.IMimeEntity.ContentDisposition">
            <summary>
            Get or set the content disposition.
            </summary>
            <remarks>
            Represents the pre-parsed Content-Disposition header value, if present.
            If the Content-Disposition header is not set, then this property will
            be <see langword="null"/>.
            </remarks>
            <value>The content disposition.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.IMimeEntity.ContentType">
            <summary>
            Get the type of the content.
            </summary>
            <remarks>
            <para>The Content-Type header specifies information about the type of content contained
            within the MIME entity.</para>
            </remarks>
            <value>The type of the content.</value>
        </member>
        <member name="P:MimeKit.IMimeEntity.ContentBase">
            <summary>
            Get or set the base content URI.
            </summary>
            <remarks>
            <para>The Content-Base header specifies the base URI for the <see cref="T:MimeKit.MimeEntity"/>
            in cases where the <see cref="P:MimeKit.IMimeEntity.ContentLocation"/> is a relative URI.</para>
            <para>The Content-Base URI must be an absolute URI.</para>
            <para>For more information, see <a href="https://tools.ietf.org/html/rfc2110">rfc2110</a>.</para>
            </remarks>
            <value>The base content URI or <see langword="null"/>.</value>
            <exception cref="T:System.ArgumentException">
            <paramref name="value"/> is not an absolute URI.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.IMimeEntity.ContentLocation">
            <summary>
            Get or set the content location.
            </summary>
            <remarks>
            <para>The Content-Location header specifies the URI for a MIME entity and can be
            either absolute or relative.</para>
            <para>Setting a Content-Location URI allows other <see cref="T:MimeKit.MimePart"/> objects
            within the same multipart/related container to reference this part by URI. This
            can be useful, for example, when constructing an HTML message body that needs to
            reference image attachments.</para>
            <para>For more information, see <a href="https://tools.ietf.org/html/rfc2110">rfc2110</a>.</para>
            </remarks>
            <value>The content location or <see langword="null"/>.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.IMimeEntity.ContentId">
            <summary>
            Get or set the Content-Id.
            </summary>
            <remarks>
            <para>The <c>Content-Id</c> header is used for uniquely identifying a particular entity and
            uses the same syntax as the <c>Message-Id</c> header on MIME messages.</para>
            <para>Setting a <c>Content-Id</c> allows other <see cref="T:MimeKit.MimePart"/> objects within the same
            multipart/related container to reference this part by its unique identifier, typically
            by using a "cid:" URI in an HTML-formatted message body. This can be useful, for example,
            when the HTML-formatted message body needs to reference image attachments.</para>
            <note type="note">It is recommended that <see cref="M:MimeKit.Utils.MimeUtils.GenerateMessageId"/> or
            <see cref="M:MimeKit.Utils.MimeUtils.GenerateMessageId(System.String)"/> be used to generate a valid
            <c>Content-Id</c> value.</note>
            </remarks>
            <value>The content identifier.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.IMimeEntity.IsAttachment">
            <summary>
            Get a value indicating whether this entity is an attachment.
            </summary>
            <remarks>
            If the Content-Disposition header is set and has a value of <c>"attachment"</c>,
            then this property returns <see langword="true" />. Otherwise, it is assumed that the
            entity is not meant to be treated as an attachment.
            </remarks>
            <value><see langword="true" /> if this entity is an attachment; otherwise, <see langword="false" />.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeEntity.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            Dispatches to the specific visit method for this MIME entity.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeEntity.Prepare(MimeKit.EncodingConstraint,System.Int32)">
            <summary>
            Prepare the MIME entity for transport using the specified encoding constraints.
            </summary>
            <remarks>
            Prepares the MIME entity for transport using the specified encoding constraints.
            </remarks>
            <param name="constraint">The encoding constraint.</param>
            <param name="maxLineLength">The maximum allowable length for a line (not counting the CRLF). Must be between <c>72</c> and <c>998</c> (inclusive).</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="maxLineLength"/> is not between <c>72</c> and <c>998</c> (inclusive).</para>
            <para>-or-</para>
            <para><paramref name="constraint"/> is not a valid value.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeEntity.WriteTo(MimeKit.FormatOptions,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.IMimeEntity"/> to the specified output stream.
            </summary>
            <remarks>
            <para>Writes the headers to the output stream, followed by a blank line.</para>
            <para>Subclasses should override this method to write the content of the entity.</para>
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeEntity.WriteToAsync(MimeKit.FormatOptions,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.IMimeEntity"/> to the specified output stream.
            </summary>
            <remarks>
            <para>Asynchronously writes the headers to the output stream, followed by a blank line.</para>
            <para>Subclasses should override this method to write the content of the entity.</para>
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeEntity.WriteTo(MimeKit.FormatOptions,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.IMimeEntity"/> to the specified output stream.
            </summary>
            <remarks>
            <para>Writes the headers to the output stream, followed by a blank line.</para>
            <para>Subclasses should override this method to write the content of the entity.</para>
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeEntity.WriteToAsync(MimeKit.FormatOptions,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.IMimeEntity"/> to the specified output stream.
            </summary>
            <remarks>
            <para>Asynchronously writes the headers to the output stream, followed by a blank line.</para>
            <para>Subclasses should override this method to write the content of the entity.</para>
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeEntity.WriteTo(System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.IMimeEntity"/> to the specified output stream.
            </summary>
            <remarks>
            Writes the entity to the output stream.
            </remarks>
            <param name="stream">The output stream.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeEntity.WriteToAsync(System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.IMimeEntity"/> to the specified output stream.
            </summary>
            <remarks>
            Asynchronously writes the entity to the output stream.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="stream">The output stream.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeEntity.WriteTo(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.IMimeEntity"/> to the specified output stream.
            </summary>
            <remarks>
            Writes the entity to the output stream.
            </remarks>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeEntity.WriteToAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.IMimeEntity"/> to the specified output stream.
            </summary>
            <remarks>
            Asynchronously writes the entity to the output stream.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeEntity.WriteTo(MimeKit.FormatOptions,System.String,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.IMimeEntity"/> to the specified file.
            </summary>
            <remarks>
            Writes the entity to the specified file using the provided formatting options.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="fileName">The file.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeEntity.WriteToAsync(MimeKit.FormatOptions,System.String,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.IMimeEntity"/> to the specified file.
            </summary>
            <remarks>
            Asynchronously writes the entity to the specified file using the provided formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="fileName">The file.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeEntity.WriteTo(MimeKit.FormatOptions,System.String,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.IMimeEntity"/> to the specified file.
            </summary>
            <remarks>
            Writes the entity to the specified file using the provided formatting options.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="fileName">The file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeEntity.WriteToAsync(MimeKit.FormatOptions,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.IMimeEntity"/> to the specified file.
            </summary>
            <remarks>
            Asynchronously writes the entity to the specified file using the provided formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="fileName">The file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeEntity.WriteTo(System.String,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.IMimeEntity"/> to the specified file.
            </summary>
            <remarks>
            Writes the entity to the specified file using the default formatting options.
            </remarks>
            <param name="fileName">The file.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeEntity.WriteToAsync(System.String,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.IMimeEntity"/> to the specified file.
            </summary>
            <remarks>
            Asynchronously writes the entity to the specified file using the default formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="fileName">The file.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeEntity.WriteTo(System.String,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.IMimeEntity"/> to the specified file.
            </summary>
            <remarks>
            Writes the entity to the specified file using the default formatting options.
            </remarks>
            <param name="fileName">The file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeEntity.WriteToAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.IMimeEntity"/> to the specified file.
            </summary>
            <remarks>
            Asynchronously writes the entity to the specified file using the default formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="fileName">The file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="T:MimeKit.IMimeMessage">
            <summary>
            An interface for a MIME message.
            </summary>
            <remarks>
            <para>A message consists of header fields and, optionally, a body.</para>
            <para>The body of the message can either be plain text or it can be a
            tree of MIME entities such as a text/plain MIME part and a collection
            of file attachments.</para>
            </remarks>
        </member>
        <member name="P:MimeKit.IMimeMessage.Headers">
            <summary>
            Get the list of headers.
            </summary>
            <remarks>
            <para>Represents the list of headers for a message. Typically, the headers of
            a message will contain transmission headers such as From and To along
            with metadata headers such as Subject and Date, but may include just
            about anything.</para>
            <note type="tip">To access any MIME headers such as <see cref="F:MimeKit.HeaderId.ContentType"/>,
            <see cref="F:MimeKit.HeaderId.ContentDisposition"/>, <see cref="F:MimeKit.HeaderId.ContentTransferEncoding"/>
            or any other <c>Content-*</c> header, you will need to access the
            <see cref="P:MimeKit.MimeEntity.Headers"/> property of the <see cref="P:MimeKit.IMimeMessage.Body"/>.
            </note>
            </remarks>
            <value>The list of headers.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.Importance">
            <summary>
            Get or set the value of the Importance header.
            </summary>
            <remarks>
            Gets or sets the value of the Importance header.
            </remarks>
            <value>The importance.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is not a valid <see cref="T:MimeKit.MessageImportance"/>.
            </exception>
        </member>
        <member name="P:MimeKit.IMimeMessage.Priority">
            <summary>
            Get or set the value of the Priority header.
            </summary>
            <remarks>
            Gets or sets the value of the Priority header.
            </remarks>
            <value>The priority.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is not a valid <see cref="T:MimeKit.MessagePriority"/>.
            </exception>
        </member>
        <member name="P:MimeKit.IMimeMessage.XPriority">
            <summary>
            Get or set the value of the X-Priority header.
            </summary>
            <remarks>
            Gets or sets the value of the X-Priority header.
            </remarks>
            <value>The priority.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is not a valid <see cref="T:MimeKit.MessagePriority"/>.
            </exception>
        </member>
        <member name="P:MimeKit.IMimeMessage.Sender">
            <summary>
            Get or set the address in the Sender header.
            </summary>
            <remarks>
            The sender may differ from the addresses in <see cref="P:MimeKit.IMimeMessage.From"/> if
            the message was sent by someone on behalf of someone else.
            </remarks>
            <value>The address in the Sender header.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.ResentSender">
            <summary>
            Get or set the address in the Resent-Sender header.
            </summary>
            <remarks>
            The resent sender may differ from the addresses in <see cref="P:MimeKit.IMimeMessage.ResentFrom"/> if
            the message was sent by someone on behalf of someone else.
            </remarks>
            <value>The address in the Resent-Sender header.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.From">
            <summary>
            Get the list of addresses in the From header.
            </summary>
            <remarks>
            <para>The "From" header specifies the author(s) of the message.</para>
            <para>If more than one <see cref="T:MimeKit.MailboxAddress"/> is added to the
            list of "From" addresses, the <see cref="P:MimeKit.IMimeMessage.Sender"/> should be set to the
            single <see cref="T:MimeKit.MailboxAddress"/> of the personal actually sending
            the message.</para>
            </remarks>
            <value>The list of addresses in the From header.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.ResentFrom">
            <summary>
            Get the list of addresses in the Resent-From header.
            </summary>
            <remarks>
            <para>The "Resent-From" header specifies the author(s) of the messagebeing
            resent.</para>
            <para>If more than one <see cref="T:MimeKit.MailboxAddress"/> is added to the
            list of "Resent-From" addresses, the <see cref="P:MimeKit.IMimeMessage.ResentSender"/> should
            be set to the single <see cref="T:MimeKit.MailboxAddress"/> of the personal actually
            sending the message.</para>
            </remarks>
            <value>The list of addresses in the Resent-From header.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.ReplyTo">
            <summary>
            Get the list of addresses in the Reply-To header.
            </summary>
            <remarks>
            <para>When the list of addresses in the Reply-To header is not empty,
            it contains the address(es) where the author(s) of the message prefer
            that replies be sent.</para>
            <para>When the list of addresses in the Reply-To header is empty,
            replies should be sent to the mailbox(es) specified in the From
            header.</para>
            </remarks>
            <value>The list of addresses in the Reply-To header.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.ResentReplyTo">
            <summary>
            Get the list of addresses in the Resent-Reply-To header.
            </summary>
            <remarks>
            <para>When the list of addresses in the Resent-Reply-To header is not empty,
            it contains the address(es) where the author(s) of the resent message prefer
            that replies be sent.</para>
            <para>When the list of addresses in the Resent-Reply-To header is empty,
            replies should be sent to the mailbox(es) specified in the Resent-From
            header.</para>
            </remarks>
            <value>The list of addresses in the Resent-Reply-To header.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.To">
            <summary>
            Get the list of addresses in the To header.
            </summary>
            <remarks>
            The addresses in the To header are the primary recipients of
            the message.
            </remarks>
            <value>The list of addresses in the To header.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.ResentTo">
            <summary>
            Get the list of addresses in the Resent-To header.
            </summary>
            <remarks>
            The addresses in the Resent-To header are the primary recipients of
            the message.
            </remarks>
            <value>The list of addresses in the Resent-To header.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.Cc">
            <summary>
            Get the list of addresses in the Cc header.
            </summary>
            <remarks>
            The addresses in the Cc header are secondary recipients of the message
            and are usually not the individuals being directly addressed in the
            content of the message.
            </remarks>
            <value>The list of addresses in the Cc header.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.ResentCc">
            <summary>
            Get the list of addresses in the Resent-Cc header.
            </summary>
            <remarks>
            The addresses in the Resent-Cc header are secondary recipients of the message
            and are usually not the individuals being directly addressed in the
            content of the message.
            </remarks>
            <value>The list of addresses in the Resent-Cc header.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.Bcc">
            <summary>
            Get the list of addresses in the Bcc header.
            </summary>
            <remarks>
            Recipients in the Blind-Carbon-Copy list will not be visible to
            the other recipients of the message.
            </remarks>
            <value>The list of addresses in the Bcc header.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.ResentBcc">
            <summary>
            Get the list of addresses in the Resent-Bcc header.
            </summary>
            <remarks>
            Recipients in the Resent-Bcc list will not be visible to
            the other recipients of the message.
            </remarks>
            <value>The list of addresses in the Resent-Bcc header.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.Subject">
            <summary>
            Get or set the subject of the message.
            </summary>
            <remarks>
            <para>The Subject is typically a short string denoting the topic of the message.</para>
            <para>Replies will often use <c>"Re: "</c> followed by the Subject of the original message.</para>
            </remarks>
            <value>The subject of the message.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.IMimeMessage.Date">
            <summary>
            Get or set the date of the message.
            </summary>
            <remarks>
            If the date is not explicitly set before the message is written to a stream,
            the date will default to the exact moment when it is written to said stream.
            </remarks>
            <value>The date of the message.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.ResentDate">
            <summary>
            Get or set the Resent-Date of the message.
            </summary>
            <remarks>
            Gets or sets the Resent-Date of the message.
            </remarks>
            <value>The Resent-Date of the message.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.References">
            <summary>
            Get the list of references to other messages.
            </summary>
            <remarks>
            The References header contains a chain of Message-Ids back to the
            original message that started the thread.
            </remarks>
            <value>The references.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.InReplyTo">
            <summary>
            Get or set the Message-Id that this message is replying to.
            </summary>
            <remarks>
            If the message is a reply to another message, it will typically
            use the In-Reply-To header to specify the Message-Id of the
            original message being replied to.
            </remarks>
            <value>The message id that this message is in reply to.</value>
            <exception cref="T:System.ArgumentException">
            <paramref name="value"/> is improperly formatted.
            </exception>
        </member>
        <member name="P:MimeKit.IMimeMessage.MessageId">
            <summary>
            Get or set the message identifier.
            </summary>
            <remarks>
            <para>The Message-Id is meant to be a globally unique identifier for
            a message.</para>
            <para><see cref="M:MimeKit.Utils.MimeUtils.GenerateMessageId"/> can be used
            to generate this value.</para>
            </remarks>
            <value>The message identifier.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="value"/> is improperly formatted.
            </exception>
        </member>
        <member name="P:MimeKit.IMimeMessage.ResentMessageId">
            <summary>
            Get or set the Resent-Message-Id header.
            </summary>
            <remarks>
            <para>The Resent-Message-Id is meant to be a globally unique identifier for
            a message.</para>
            <para><see cref="M:MimeKit.Utils.MimeUtils.GenerateMessageId"/> can be used
            to generate this value.</para>
            </remarks>
            <value>The Resent-Message-Id.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="value"/> is improperly formatted.
            </exception>
        </member>
        <member name="P:MimeKit.IMimeMessage.MimeVersion">
            <summary>
            Get or set the MIME-Version.
            </summary>
            <remarks>
            The MIME-Version header specifies the version of the MIME specification
            that the message was created for.
            </remarks>
            <value>The MIME version.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.IMimeMessage.Body">
            <summary>
            Get or set the body of the message.
            </summary>
            <remarks>
            <para>The body of the message can either be plain text or it can be a
            tree of MIME entities such as a text/plain MIME part and a collection
            of file attachments.</para>
            <para>For a convenient way of constructing message bodies, see the
            <see cref="T:MimeKit.BodyBuilder"/> class.</para>
            </remarks>
            <value>The body of the message.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.TextBody">
            <summary>
            Get the text body of the message if it exists.
            </summary>
            <remarks>
            <para>Gets the text content of the first text/plain body part that is found (in depth-first
            search order) which is not an attachment.</para>
            </remarks>
            <value>The text body if it exists; otherwise, <see langword="null"/>.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.HtmlBody">
            <summary>
            Get the html body of the message if it exists.
            </summary>
            <remarks>
            <para>Gets the HTML-formatted body of the message if it exists.</para>
            </remarks>
            <value>The html body if it exists; otherwise, <see langword="null"/>.</value>
        </member>
        <member name="M:MimeKit.IMimeMessage.GetTextBody(MimeKit.Text.TextFormat)">
            <summary>
            Get the text body in the specified format.
            </summary>
            <remarks>
            Gets the text body in the specified format, if it exists.
            </remarks>
            <returns>The text body in the desired format if it exists; otherwise, <see langword="null"/>.</returns>
            <param name="format">The desired text format.</param>
        </member>
        <member name="P:MimeKit.IMimeMessage.BodyParts">
            <summary>
            Get the body parts of the message.
            </summary>
            <remarks>
            Traverses over the MIME tree, enumerating all the <see cref="T:MimeKit.MimeEntity"/> objects,
            but does not traverse into the bodies of attached messages.
            </remarks>
            <example>
            <code language="c#" source="Examples\AttachmentExamples.cs" region="SaveBodyParts" />
            </example>
            <value>The body parts.</value>
        </member>
        <member name="P:MimeKit.IMimeMessage.Attachments">
            <summary>
            Get the attachments.
            </summary>
            <remarks>
            Traverses over the MIME tree, enumerating all the <see cref="T:MimeKit.MimeEntity"/> objects that
            have a Content-Disposition header set to <c>"attachment"</c>.
            </remarks>
            <example>
            <code language="c#" source="Examples\AttachmentExamples.cs" region="SaveAttachments" />
            </example>
            <value>The attachments.</value>
        </member>
        <member name="M:MimeKit.IMimeMessage.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME message.
            </summary>
            <remarks>
            Dispatches to the specific visit method for this MIME message.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeMessage.Prepare(MimeKit.EncodingConstraint,System.Int32)">
            <summary>
            Prepare the message for transport using the specified encoding constraints.
            </summary>
            <remarks>
            Prepares the message for transport using the specified encoding constraints.
            </remarks>
            <param name="constraint">The encoding constraint.</param>
            <param name="maxLineLength">The maximum allowable length for a line (not counting the CRLF). Must be between <c>60</c> and <c>998</c> (inclusive).</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="maxLineLength"/> is not between <c>60</c> and <c>998</c> (inclusive).</para>
            <para>-or-</para>
            <para><paramref name="constraint"/> is not a valid value.</para>
            </exception>
        </member>
        <member name="M:MimeKit.IMimeMessage.WriteTo(MimeKit.FormatOptions,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Write the message to the specified output stream.
            </summary>
            <remarks>
            Writes the message to the output stream using the provided formatting options.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="headersOnly"><see langword="true" /> if only the headers should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeMessage.WriteToAsync(MimeKit.FormatOptions,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the message to the specified output stream.
            </summary>
            <remarks>
            Asynchronously writes the message to the output stream using the provided formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="headersOnly"><see langword="true" /> if only the headers should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeMessage.WriteTo(MimeKit.FormatOptions,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Write the message to the specified output stream.
            </summary>
            <remarks>
            Writes the message to the output stream using the provided formatting options.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeMessage.WriteToAsync(MimeKit.FormatOptions,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the message to the specified output stream.
            </summary>
            <remarks>
            Asynchronously writes the message to the output stream using the provided formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeMessage.WriteTo(System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Write the message to the specified output stream.
            </summary>
            <remarks>
            Writes the message to the output stream using the default formatting options.
            </remarks>
            <param name="stream">The output stream.</param>
            <param name="headersOnly"><see langword="true" /> if only the headers should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeMessage.WriteToAsync(System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the message to the specified output stream.
            </summary>
            <remarks>
            Asynchronously writes the message to the output stream using the default formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="stream">The output stream.</param>
            <param name="headersOnly"><see langword="true" /> if only the headers should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeMessage.WriteTo(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Write the message to the specified output stream.
            </summary>
            <remarks>
            Writes the message to the output stream using the default formatting options.
            </remarks>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeMessage.WriteToAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the message to the specified output stream.
            </summary>
            <remarks>
            Asynchronously writes the message to the output stream using the default formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeMessage.WriteTo(MimeKit.FormatOptions,System.String,System.Threading.CancellationToken)">
            <summary>
            Write the message to the specified file.
            </summary>
            <remarks>
            Writes the message to the specified file using the provided formatting options.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="fileName">The file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeMessage.WriteToAsync(MimeKit.FormatOptions,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the message to the specified file.
            </summary>
            <remarks>
            Asynchronously writes the message to the specified file using the provided formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="fileName">The file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeMessage.WriteTo(System.String,System.Threading.CancellationToken)">
            <summary>
            Write the message to the specified file.
            </summary>
            <remarks>
            Writes the message to the specified file using the default formatting options.
            </remarks>
            <param name="fileName">The file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeMessage.WriteToAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the message to the specified file.
            </summary>
            <remarks>
            Asynchronously writes the message to the specified file using the default formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="fileName">The file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="T:MimeKit.IMimeParser">
            <summary>
            An interface for parsing messages, entities, and/or headers.
            </summary>
            <remarks>
            An interface for parsing messages, entities, and/or headers. Implemented by <see cref="T:MimeKit.MimeParser"/> and
            <see cref="T:MimeKit.ExperimentalMimeParser"/>.
            </remarks>
        </member>
        <member name="P:MimeKit.IMimeParser.Options">
            <summary>
            Get or set the parser options.
            </summary>
            <remarks>
            Gets or sets the parser options.
            </remarks>
            <value>The parser options.</value>
        </member>
        <member name="P:MimeKit.IMimeParser.IsEndOfStream">
            <summary>
            Get a value indicating whether the parser has reached the end of the input stream.
            </summary>
            <remarks>
            Gets a value indicating whether the parser has reached the end of the input stream.
            </remarks>
            <value><see langword="true" /> if this parser has reached the end of the input stream;
            otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IMimeParser.Position">
            <summary>
            Get the current position of the parser within the stream.
            </summary>
            <remarks>
            Gets the current position of the parser within the stream.
            </remarks>
            <value>The stream offset.</value>
        </member>
        <member name="P:MimeKit.IMimeParser.MboxMarkerOffset">
            <summary>
            Gets the most recent mbox marker offset.
            </summary>
            <remarks>
            Gets the most recent mbox marker offset.
            </remarks>
            <value>The mbox marker offset.</value>
        </member>
        <member name="P:MimeKit.IMimeParser.MboxMarker">
            <summary>
            Gets the most recent mbox marker.
            </summary>
            <remarks>
            Gets the most recent mbox marker.
            </remarks>
            <value>The mbox marker.</value>
        </member>
        <member name="M:MimeKit.IMimeParser.SetStream(System.IO.Stream,MimeKit.MimeFormat,System.Boolean)">
            <summary>
            Set the stream to parse.
            </summary>
            <remarks>
            <para>Sets the stream to parse.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            <para>It should be noted, however, that disposing <paramref name="stream"/> will make it impossible
            for <see cref="T:MimeKit.MimeContent"/> to read the content.</para>
            </remarks>
            <param name="stream">The stream to parse.</param>
            <param name="format">The format of the stream.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeParser.SetStream(System.IO.Stream,MimeKit.MimeFormat)">
            <summary>
            Set the stream to parse.
            </summary>
            <remarks>
            Sets the stream to parse.
            </remarks>
            <param name="stream">The stream to parse.</param>
            <param name="format">The format of the stream.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeParser.SetStream(System.IO.Stream,System.Boolean)">
            <summary>
            Set the stream to parse.
            </summary>
            <remarks>
            <para>Sets the stream to parse.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            <para>It should be noted, however, that disposing <paramref name="stream"/> will make it impossible
            for <see cref="T:MimeKit.MimeContent"/> to read the content.</para>
            </remarks>
            <param name="stream">The stream to parse.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeParser.ParseHeaders(System.Threading.CancellationToken)">
            <summary>
            Parse a list of headers from the stream.
            </summary>
            <remarks>
            Parses a list of headers from the stream.
            </remarks>
            <returns>The parsed list of headers.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the headers.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeParser.ParseHeadersAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously parse a list of headers from the stream.
            </summary>
            <remarks>
            Asynchronously parses a list of headers from the stream.
            </remarks>
            <returns>The parsed list of headers.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the headers.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeParser.ParseEntity(System.Threading.CancellationToken)">
            <summary>
            Parse an entity from the stream.
            </summary>
            <remarks>
            Parses an entity from the stream.
            </remarks>
            <returns>The parsed entity.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeParser.ParseEntityAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously parse an entity from the stream.
            </summary>
            <remarks>
            Asynchronously parses an entity from the stream.
            </remarks>
            <returns>The parsed entity.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeParser.ParseMessage(System.Threading.CancellationToken)">
            <summary>
            Parse a message from the stream.
            </summary>
            <remarks>
            Parses a message from the stream.
            </remarks>
            <returns>The parsed message.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the message.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimeParser.ParseMessageAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously parse a message from the stream.
            </summary>
            <remarks>
            Asynchronously parses a message from the stream.
            </remarks>
            <returns>The parsed message.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the message.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="T:MimeKit.IMimePart">
            <summary>
            An interface for a leaf-node MIME part that contains content such as the message body text or an attachment.
            </summary>
            <remarks>
            A leaf-node MIME part that contains content such as the message body text or an attachment.
            </remarks>
            <example>
            <code language="c#" source="Examples\AttachmentExamples.cs" region="SaveAttachments" />
            </example>
        </member>
        <member name="P:MimeKit.IMimePart.ContentDescription">
            <summary>
            Get or set the description of the content if available.
            </summary>
            <remarks>
            <para>The Content-Description header can be used to set a description of the content.</para>
            </remarks>
            <value>The description of the content.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is negative.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimePart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.IMimePart.ContentDuration">
            <summary>
            Get or set the duration of the content if available.
            </summary>
            <remarks>
            <para>The Content-Duration header specifies duration of timed media,
            such as audio or video, in seconds.</para>
            </remarks>
            <value>The duration of the content.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is negative.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimePart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.IMimePart.ContentMd5">
            <summary>
            Get or set the md5sum of the content.
            </summary>
            <remarks>
            <para>The Content-MD5 header specifies the base64-encoded MD5 checksum of the content
            in its canonical format.</para>
            <para>For more information, see <a href="https://tools.ietf.org/html/rfc1864">rfc1864</a>.</para>
            </remarks>
            <value>The md5sum of the content.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimePart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.IMimePart.ContentTransferEncoding">
            <summary>
            Get or set the content transfer encoding.
            </summary>
            <remarks>
            The Content-Transfer-Encoding header specifies an auxiliary encoding
            that was applied to the content in order to allow it to pass through
            mail transport mechanisms (such as SMTP) which may have limitations
            in the byte ranges that it accepts. For example, many SMTP servers
            do not accept data outside the 7-bit ASCII range and so sending
            binary attachments or even non-English text is not possible without
            applying an encoding such as base64 or quoted-printable.
            </remarks>
            <value>The content transfer encoding.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is not a valid content encoding.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimePart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.IMimePart.FileName">
            <summary>
            Get or set the name of the file.
            </summary>
            <remarks>
            <para>First checks for the "filename" parameter on the Content-Disposition header. If
            that does not exist, then the "name" parameter on the Content-Type header is used.</para>
            <para>When setting the filename, both the "filename" parameter on the Content-Disposition
            header and the "name" parameter on the Content-Type header are set.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\AttachmentExamples.cs" region="SaveAttachments" />
            </example>
            <value>The name of the file.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimePart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.IMimePart.Content">
            <summary>
            Get or set the MIME content.
            </summary>
            <remarks>
            Gets or sets the MIME content.
            </remarks>
            <example>
            <code language="c#" source="Examples\AttachmentExamples.cs" region="SaveAttachments" />
            </example>
            <value>The MIME content.</value>
        </member>
        <member name="M:MimeKit.IMimePart.GetBestEncoding(MimeKit.EncodingConstraint,System.Threading.CancellationToken)">
            <summary>
            Calculate the most efficient content encoding given the specified constraint.
            </summary>
            <remarks>
            If no <see cref="P:MimeKit.IMimePart.Content"/> is set, <see cref="F:MimeKit.ContentEncoding.SevenBit"/> will be returned.
            </remarks>
            <returns>The most efficient content encoding.</returns>
            <param name="constraint">The encoding constraint.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="constraint"/> is not a valid value.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimePart"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimePart.GetBestEncoding(MimeKit.EncodingConstraint,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Calculate the most efficient content encoding given the specified constraint.
            </summary>
            <remarks>
            If no <see cref="P:MimeKit.IMimePart.Content"/> is set, <see cref="F:MimeKit.ContentEncoding.SevenBit"/> will be returned.
            </remarks>
            <returns>The most efficient content encoding.</returns>
            <param name="constraint">The encoding constraint.</param>
            <param name="maxLineLength">The maximum allowable length for a line (not counting the CRLF). Must be between <c>72</c> and <c>998</c> (inclusive).</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="maxLineLength"/> is not between <c>72</c> and <c>998</c> (inclusive).</para>
            <para>-or-</para>
            <para><paramref name="constraint"/> is not a valid value.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimePart"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IMimePart.ComputeContentMd5">
            <summary>
            Compute the MD5 checksum of the content.
            </summary>
            <remarks>
            Computes the MD5 checksum of the MIME content in its canonical
            format and then base64-encodes the result.
            </remarks>
            <returns>The md5sum of the content.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimePart"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="P:MimeKit.IMimePart.Content"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.IMimePart.VerifyContentMd5">
            <summary>
            Verify the Content-Md5 value against an independently computed md5sum.
            </summary>
            <remarks>
            Computes the MD5 checksum of the MIME content and compares it with the
            value in the Content-MD5 header, returning <see langword="true" /> if and only if
            the values match.
            </remarks>
            <returns><see langword="true" /> if content MD5 checksum was verified; otherwise, <see langword="false" />.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMimePart"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.IMultipart">
            <summary>
            An interface for a multipart MIME entity which may contain a collection of MIME entities.
            </summary>
            <remarks>
            <para>All multipart MIME entities will have a Content-Type with a media type of <c>"multipart"</c>.
            The most common multipart MIME entity used in email is the <c>"multipart/mixed"</c> entity.</para>
            <para>Four (4) initial subtypes were defined in the original MIME specifications: mixed, alternative,
            digest, and parallel.</para>
            <para>The "multipart/mixed" type is a sort of general-purpose container. When used in email, the
            first entity is typically the "body" of the message while additional entities are most often
            file attachments.</para>
            <para>Speaking of message "bodies", the "multipart/alternative" type is used to offer a list of
            alternative formats for the main body of the message (usually they will be "text/plain" and
            "text/html"). These alternatives are in order of increasing faithfulness to the original document
            (in other words, the last entity will be in a format that, when rendered, will most closely match
            what the sending client's WYSISYG editor produced).</para>
            <para>The "multipart/digest" type will typically contain a digest of MIME messages and is most
            commonly used by mailing-list software.</para>
            <para>The "multipart/parallel" type contains entities that are all meant to be shown (or heard)
            in parallel.</para>
            <para>Another commonly used type is the "multipart/related" type which contains, as one might expect,
            inter-related MIME parts which typically reference each other via URIs based on the Content-Id and/or
            Content-Location headers.</para>
            </remarks>
        </member>
        <member name="P:MimeKit.IMultipart.Boundary">
            <summary>
            Get or set the boundary.
            </summary>
            <remarks>
            Gets or sets the boundary parameter on the Content-Type header.
            </remarks>
            <value>The boundary.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.IMultipart.Preamble">
            <summary>
            Get or set the preamble.
            </summary>
            <remarks>
            A multipart preamble appears before the first child entity of the
            multipart and is typically used only in the top-level multipart
            of the message to specify that the message is in MIME format and
            therefore requires a MIME compliant email application to render
            it correctly.
            </remarks>
            <value>The preamble.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMultipart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.IMultipart.Epilogue">
            <summary>
            Get or set the epilogue.
            </summary>
            <remarks>
            A multipart epiloque is the text that appears after the closing boundary
            of the multipart and is typically either empty or a single new line
            character sequence.
            </remarks>
            <value>The epilogue.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMultipart"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.IMultipartAlternative">
            <summary>
            An interface for a multipart/alternative MIME entity.
            </summary>
            <remarks>
            A multipart/alternative MIME entity contains, as one might expect, is used to offer a list of
            alternative formats for the main body of the message (usually they will be "text/plain" and
            "text/html"). These alternatives are in order of increasing faithfulness to the original document
            (in other words, the last entity will be in a format that, when rendered, will most closely match
            what the sending client's WYSISYG editor produced).
            </remarks>
        </member>
        <member name="P:MimeKit.IMultipartAlternative.TextBody">
            <summary>
            Get the text of the text/plain alternative.
            </summary>
            <remarks>
            Gets the text of the text/plain alternative, if it exists.
            </remarks>
            <value>The text if a text/plain alternative exists; otherwise, <see langword="null"/>.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMultipartAlternative"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.IMultipartAlternative.HtmlBody">
            <summary>
            Get the HTML-formatted text of the text/html alternative.
            </summary>
            <remarks>
            Gets the HTML-formatted text of the text/html alternative, if it exists.
            </remarks>
            <value>The HTML if a text/html alternative exists; otherwise, <see langword="null"/>.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMultipartAlternative"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.IMultipartAlternative.GetTextBody(MimeKit.Text.TextFormat)">
            <summary>
            Get the text body in the specified format.
            </summary>
            <remarks>
            Gets the text body in the specified format, if it exists.
            </remarks>
            <returns>The text body in the desired format if it exists; otherwise, <see langword="null"/>.</returns>
            <param name="format">The desired text format.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMultipartAlternative"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.IMultipartRelated">
            <summary>
            An interface for a multipart/related MIME entity.
            </summary>
            <remarks>
            A multipart/related MIME entity contains, as one might expect, inter-related MIME parts which
            typically reference each other via URIs based on the Content-Id and/or Content-Location headers.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
        </member>
        <member name="P:MimeKit.IMultipartRelated.Root">
            <summary>
            Get or set the root document of the multipart/related part and the appropriate Content-Type parameters.
            </summary>
            <remarks>
            <para>Gets or sets the root document that references the other MIME parts within the multipart/related.</para>
            <para>When getting the root document, the <c>"start"</c> parameter of the Content-Type header is used to
            determine which of the parts is the root. If the <c>"start"</c> parameter does not exist or does not reference
            any of the child parts, then the first child is assumed to be the root.</para>
            <para>When setting the root document MIME part, the Content-Type header of the multipart/related part is also
            updated with a appropriate <c>"start"</c> and <c>"type"</c> parameters.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <value>The root MIME part.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMultipartRelated"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.IMultipartRelated.Contains(System.Uri)">
            <summary>
            Check if the <see cref="T:MimeKit.IMultipartRelated"/> contains a part matching the specified URI.
            </summary>
            <remarks>
            Determines whether the multipart/related entity contains a part matching the specified URI.
            </remarks>
            <returns><see langword="true" /> if the specified part exists; otherwise, <see langword="false" />.</returns>
            <param name="uri">The URI of the MIME part.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uri"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMultipartRelated"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.IMultipartRelated.IndexOf(System.Uri)">
            <summary>
            Get the index of the part matching the specified URI.
            </summary>
            <remarks>
            <para>Finds the index of the part matching the specified URI, if it exists.</para>
            <para>If the URI scheme is <c>"cid"</c>, then matching is performed based on the Content-Id header
            values, otherwise the Content-Location headers are used. If the provided URI is absolute and a child
            part's Content-Location is relative, then the child part's Content-Location URI will be combined
            with the value of its Content-Base header, if available, otherwise it will be combined with the
            multipart/related part's Content-Base header in order to produce an absolute URI that can be
            compared with the provided absolute URI.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <returns>The index of the part matching the specified URI if found; otherwise <c>-1</c>.</returns>
            <param name="uri">The URI of the MIME part.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uri"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMultipartRelated"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.IMultipartRelated.Open(System.Uri,System.String@,System.String@)">
            <summary>
            Open a stream for reading the decoded content of the MIME part specified by the provided URI.
            </summary>
            <remarks>
            Opens a stream for reading the decoded content of the MIME part specified by the provided URI.
            </remarks>
            <returns>A stream for reading the decoded content of the MIME part specified by the provided URI.</returns>
            <param name="uri">The URI.</param>
            <param name="mimeType">The mime-type of the content.</param>
            <param name="charset">The charset of the content (if the content is text-based)</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uri"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The MIME part for the specified URI could not be found.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMultipartRelated"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.IMultipartRelated.Open(System.Uri)">
            <summary>
            Open a stream for reading the decoded content of the MIME part specified by the provided URI.
            </summary>
            <remarks>
            Opens a stream for reading the decoded content of the MIME part specified by the provided URI.
            </remarks>
            <returns>A stream for reading the decoded content of the MIME part specified by the provided URI.</returns>
            <param name="uri">The URI.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uri"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The MIME part for the specified URI could not be found.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMultipartRelated"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.IMultipartReport">
            <summary>
            An interface for a multipart/report MIME entity.
            </summary>
            <remarks>
            A multipart/related MIME entity is a general container part for electronic mail
            reports of any kind.
            <seealso cref="T:MimeKit.MessageDeliveryStatus"/>
            <seealso cref="T:MimeKit.MessageDispositionNotification"/>
            </remarks>
            <example>
            <code language="c#" source="Examples\MessageDeliveryStatusExamples.cs" region="ProcessDeliveryStatusNotification" />
            </example>
        </member>
        <member name="P:MimeKit.IMultipartReport.ReportType">
            <summary>
            Get or set the type of the report.
            </summary>
            <remarks>
            <para>Gets or sets the type of the report.</para>
            <para>The report type should be the subtype of the second <see cref="T:MimeKit.MimeEntity"/>
            of the multipart/report.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\MessageDeliveryStatusExamples.cs" region="ProcessDeliveryStatusNotification" />
            </example>
            <value>The type of the report.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.IMultipartReport"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.InternetAddress">
            <summary>
            An abstract internet address, as specified by rfc0822.
            </summary>
            <remarks>
            <para>An <see cref="T:MimeKit.InternetAddress"/> can be any type of address defined by the
            original Internet Message specification.</para>
            <para>There are effectively two (2) types of addresses: mailboxes and groups.</para>
            <para>Mailbox addresses are what are most commonly known as email addresses and are
            represented by the <see cref="T:MimeKit.MailboxAddress"/> class.</para>
            <para>Group addresses are themselves lists of addresses and are represented by the
            <see cref="T:MimeKit.GroupAddress"/> class. While rare, it is still important to handle these
            types of addresses. They typically only contain mailbox addresses, but may also
            contain other group addresses.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.InternetAddress.#ctor(System.Text.Encoding,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.InternetAddress"/> class.
            </summary>
            <remarks>
            Initializes the <see cref="P:MimeKit.InternetAddress.Encoding"/> and <see cref="P:MimeKit.InternetAddress.Name"/> properties of the internet address.
            </remarks>
            <param name="encoding">The character encoding to be used for encoding the name.</param>
            <param name="name">The name of the mailbox or group.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="encoding"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.InternetAddress.Encoding">
            <summary>
            Get or set the character encoding to use when encoding the name of the address.
            </summary>
            <remarks>
            The character encoding is used to convert the <see cref="P:MimeKit.InternetAddress.Name"/> property, if it is set,
            to a stream of bytes when encoding the internet address for transport.
            </remarks>
            <value>The character encoding.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.InternetAddress.Name">
            <summary>
            Get or set the display name of the address.
            </summary>
            <remarks>
            <para>A name is optional and is typically set to the name of the person
            or group that own the internet address.</para>
            <para>For example, the <see cref="P:MimeKit.InternetAddress.Name"/> property of the following <see cref="T:MimeKit.MailboxAddress"/> would be <c>"John Smith"</c>.</para>
            <para><c>John Smith &lt;j.smith@example.com&gt;</c></para>
            <para>Likewise, the <see cref="P:MimeKit.InternetAddress.Name"/> property of the following <see cref="T:MimeKit.GroupAddress"/> would be <c>"undisclosed-recipients"</c>.</para>
            <para><c>undisclosed-recipients: Alice &lt;alice@wonderland.com&gt;, Bob &lt;bob@the-builder.com&gt;;</c></para>
            </remarks>
            <value>The name of the address.</value>
        </member>
        <member name="M:MimeKit.InternetAddress.Clone">
            <summary>
            Clone the address.
            </summary>
            <remarks>
            Clones the address.
            </remarks>
            <returns>The cloned address.</returns>
        </member>
        <member name="M:MimeKit.InternetAddress.CompareTo(MimeKit.InternetAddress)">
            <summary>
            Compares two internet addresses.
            </summary>
            <remarks>
            Compares two internet addresses for the purpose of sorting.
            </remarks>
            <returns>The sort order of the current internet address compared to the other internet address.</returns>
            <param name="other">The internet address to compare to.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="other"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddress.Equals(MimeKit.InternetAddress)">
            <summary>
            Determine whether the specified <see cref="T:MimeKit.InternetAddress"/> is equal to the current <see cref="T:MimeKit.InternetAddress"/>.
            </summary>
            <remarks>
            Compares two internet addresses to determine if they are identical or not.
            </remarks>
            <param name="other">The <see cref="T:MimeKit.InternetAddress"/> to compare with the current <see cref="T:MimeKit.InternetAddress"/>.</param>
            <returns><see langword="true" /> if the specified <see cref="T:MimeKit.InternetAddress"/> is equal to the current
            <see cref="T:MimeKit.InternetAddress"/>; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.InternetAddress.Equals(System.Object)">
            <summary>
            Determine whether the specified object is equal to the current object.
            </summary>
            <remarks>
            The type of comparison between the current instance and the <paramref name="obj"/> parameter depends on whether
            the current instance is a reference type or a value type.
            </remarks>
            <param name="obj">The object to compare with the current object.</param>
            <returns><see langword="true" /> if the specified object is equal to the current object; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.InternetAddress.GetHashCode">
            <summary>
            Return the hash code for this instance.
            </summary>
            <remarks>
            Returns the hash code for this instance.
            </remarks>
            <returns>A hash code for the current object.</returns>
        </member>
        <member name="M:MimeKit.InternetAddress.ToString(MimeKit.FormatOptions,System.Boolean)">
            <summary>
            Serialize an <see cref="T:MimeKit.InternetAddress"/> to a string, optionally encoding it for transport.
            </summary>
            <remarks>
            <para>If the <paramref name="encode"/> parameter is <see langword="true" />, then this method will return
            an encoded version of the internet address according to the rules described in rfc2047.</para>
            <para>However, if the <paramref name="encode"/> parameter is <see langword="false" />, then this method will
            return a string suitable only for display purposes.</para>
            </remarks>
            <returns>A string representing the <see cref="T:MimeKit.InternetAddress"/>.</returns>
            <param name="options">The formatting options.</param>
            <param name="encode">If set to <see langword="true" />, the <see cref="T:MimeKit.InternetAddress"/> will be encoded.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="options"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddress.ToString(System.Boolean)">
            <summary>
            Serialize an <see cref="T:MimeKit.InternetAddress"/> to a string, optionally encoding it for transport.
            </summary>
            <remarks>
            <para>If the <paramref name="encode"/> parameter is <see langword="true" />, then this method will return
            an encoded version of the internet address according to the rules described in rfc2047.</para>
            <para>However, if the <paramref name="encode"/> parameter is <see langword="false" />, then this method will
            return a string suitable only for display purposes.</para>
            </remarks>
            <returns>A string representing the <see cref="T:MimeKit.InternetAddress"/>.</returns>
            <param name="encode">If set to <see langword="true" />, the <see cref="T:MimeKit.InternetAddress"/> will be encoded.</param>
        </member>
        <member name="M:MimeKit.InternetAddress.ToString">
            <summary>
            Serialize an <see cref="T:MimeKit.InternetAddress"/> to a string suitable for display.
            </summary>
            <remarks>
            The string returned by this method is suitable only for display purposes.
            </remarks>
            <returns>A string representing the <see cref="T:MimeKit.InternetAddress"/>.</returns>
        </member>
        <member name="M:MimeKit.InternetAddress.OnChanged">
            <summary>
            Raise the internal changed event used by <see cref="T:MimeKit.MimeMessage"/> to keep headers in sync.
            </summary>
            <remarks>
            This method is called whenever a property of the internet address is changed.
            </remarks>
        </member>
        <member name="M:MimeKit.InternetAddress.TryParse(MimeKit.ParserOptions,System.Byte[],System.Int32,System.Int32,MimeKit.InternetAddress@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.InternetAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/> or <see cref="T:MimeKit.GroupAddress"/>. If the buffer contains
            more data, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <param name="address">The parsed address.</param>
        </member>
        <member name="M:MimeKit.InternetAddress.TryParse(System.Byte[],System.Int32,System.Int32,MimeKit.InternetAddress@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.InternetAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/> or <see cref="T:MimeKit.GroupAddress"/>. If the buffer contains
            more data, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <param name="address">The parsed address.</param>
        </member>
        <member name="M:MimeKit.InternetAddress.TryParse(MimeKit.ParserOptions,System.Byte[],System.Int32,MimeKit.InternetAddress@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.InternetAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/> or <see cref="T:MimeKit.GroupAddress"/>. If the buffer contains
            more data, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="address">The parsed address.</param>
        </member>
        <member name="M:MimeKit.InternetAddress.TryParse(System.Byte[],System.Int32,MimeKit.InternetAddress@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.InternetAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/> or <see cref="T:MimeKit.GroupAddress"/>. If the buffer contains
            more data, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="address">The parsed address.</param>
        </member>
        <member name="M:MimeKit.InternetAddress.TryParse(MimeKit.ParserOptions,System.Byte[],MimeKit.InternetAddress@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.InternetAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/> or <see cref="T:MimeKit.GroupAddress"/>. If the buffer contains
            more data, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="address">The parsed address.</param>
        </member>
        <member name="M:MimeKit.InternetAddress.TryParse(System.Byte[],MimeKit.InternetAddress@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.InternetAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/> or <see cref="T:MimeKit.GroupAddress"/>. If the buffer contains
            more data, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="address">The parsed address.</param>
        </member>
        <member name="M:MimeKit.InternetAddress.TryParse(MimeKit.ParserOptions,System.String,MimeKit.InternetAddress@)">
            <summary>
            Try to parse the given text into a new <see cref="T:MimeKit.InternetAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/> or <see cref="T:MimeKit.GroupAddress"/>. If the text contains
            more data, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="text">The text.</param>
            <param name="address">The parsed address.</param>
        </member>
        <member name="M:MimeKit.InternetAddress.TryParse(System.String,MimeKit.InternetAddress@)">
            <summary>
            Try to parse the given text into a new <see cref="T:MimeKit.InternetAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/> or <see cref="T:MimeKit.GroupAddress"/>. If the text contains
            more data, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="text">The text.</param>
            <param name="address">The parsed address.</param>
        </member>
        <member name="M:MimeKit.InternetAddress.Parse(MimeKit.ParserOptions,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.InternetAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/> or <see cref="T:MimeKit.GroupAddress"/>. If the buffer contains
            more data, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.InternetAddress"/>.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the byte array.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddress.Parse(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.InternetAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/> or <see cref="T:MimeKit.GroupAddress"/>. If the buffer contains
            more data, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.InternetAddress"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the byte array.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddress.Parse(MimeKit.ParserOptions,System.Byte[],System.Int32)">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.InternetAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/> or <see cref="T:MimeKit.GroupAddress"/>. If the buffer contains
            more data, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.InternetAddress"/>.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/>is out of range.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddress.Parse(System.Byte[],System.Int32)">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.InternetAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/> or <see cref="T:MimeKit.GroupAddress"/>. If the buffer contains
            more data, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.InternetAddress"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is out of range.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddress.Parse(MimeKit.ParserOptions,System.Byte[])">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.InternetAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/> or <see cref="T:MimeKit.GroupAddress"/>. If the buffer contains
            more data, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.InternetAddress"/>.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddress.Parse(System.Byte[])">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.InternetAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/> or <see cref="T:MimeKit.GroupAddress"/>. If the buffer contains
            more data, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.InternetAddress"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddress.Parse(MimeKit.ParserOptions,System.String)">
            <summary>
            Parse the given text into a new <see cref="T:MimeKit.InternetAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/> or <see cref="T:MimeKit.GroupAddress"/>. If the text contains
            more data, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.InternetAddress"/>.</returns>
            <param name="options">The parser options to use.</param>
            <param name="text">The text.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="text"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="text"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddress.Parse(System.String)">
            <summary>
            Parse the given text into a new <see cref="T:MimeKit.InternetAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/> or <see cref="T:MimeKit.GroupAddress"/>. If the text contains
            more data, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.InternetAddress"/>.</returns>
            <param name="text">The text.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="text"/> could not be parsed.
            </exception>
        </member>
        <member name="T:MimeKit.InternetAddressConverter">
            <summary>
            A type converter for converting between <see cref="T:MimeKit.InternetAddress"/> and string.
            </summary>
            <remarks>
            Provides a way of converting between <see cref="T:MimeKit.InternetAddress"/> and <see langword="string"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.InternetAddressConverter.Register(MimeKit.ParserOptions)">
            <summary>
            Register the type converter so that it's available through <see cref="M:System.ComponentModel.TypeDescriptor.GetConverter(System.Object)"/>.
            </summary>
            <remarks>
            Registers the type converter so that it's available through <see cref="M:System.ComponentModel.TypeDescriptor.GetConverter(System.Object)"/>.
            </remarks>
            <param name="options">The <see cref="T:MimeKit.ParserOptions"/> to use when converting from string or <see langword="null"/> to use the default options.</param>
            <exception cref="T:System.InvalidOperationException">
            The Register method was called more than once.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressConverter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MimeKit.InternetAddressConverter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.InternetAddressConverter"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.InternetAddressConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context.
            </summary>
            <remarks>
            Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context.
            </remarks>
            <returns><see langword="true"/> if this converter can perform the conversion; otherwise, <see langword="false"/>.</returns>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="sourceType">A <see cref="T:System.Type"/> that represents the type you want to convert from.</param>
        </member>
        <member name="M:MimeKit.InternetAddressConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Returns whether this converter can convert the object to the specified type, using the specified context.
            </summary>
            <remarks>
            <para>Use the <paramref name="context"/> parameter to extract additional information about the environment
            from which this converter is invoked. This parameter can be <see langword="null"/>, so always check it. Also,
            properties on the context object can return <see langword="null"/>.</para>
            <para>If <paramref name="destinationType"/> is a string, the default implementation of <see cref="M:MimeKit.InternetAddressConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)"/>
            always returns <see langword="true"/>.</para>
            </remarks>
            <returns><see langword="true"/> if this converter can perform the conversion; otherwise, <see langword="false"/>.</returns>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="destinationType">A <see cref="T:System.Type"/> that represents the type you want to convert to.</param>
        </member>
        <member name="M:MimeKit.InternetAddressConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <summary>
            Converts the given object to the type of this converter, using the specified context and culture information.
            </summary>
            <remarks>
            Converts the given object to the type of this converter, using the specified context and culture information.
            </remarks>
            <returns>An <see cref="T:System.Object"/> that represents the converted value.</returns>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="culture">The <see cref="T:System.Globalization.CultureInfo"/> to use as the current culture.</param>
            <param name="value">The <see cref="T:System.Object"/> to convert.</param>
            <exception cref="T:System.NotSupportedException">
            The conversion cannot be performed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
            <summary>
            Converts the given value object to the specified type, using the specified context and culture information.
            </summary>
            <remarks>
            Converts the given value object to the specified type, using the specified context and culture information.
            </remarks>
            <returns>An <see cref="T:System.Object"/> that represents the converted value.</returns>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="culture">A <see cref="T:System.Globalization.CultureInfo"/>. If <see langword="null"/>, the current culture is assumed.</param>
            <param name="value">The <see cref="T:System.Object"/> to convert.</param>
            <param name="destinationType">The <see cref="T:System.Type"/> to convert the value to.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="destinationType"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The conversion cannot be performed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressConverter.IsValid(System.ComponentModel.ITypeDescriptorContext,System.Object)">
            <summary>
            Returns whether the given value object is valid for this type and for the specified context.
            </summary>
            <remarks>
            <para>Use the <paramref name="context"/> parameter to extract additional information about the environment from which
            this converter is invoked. This parameter can be <see langword="null"/>, so always check it. Also, properties on the
            context object can return <see langword="null"/>.</para>
            <para>Starting in .NET Framework 4, the <see cref="M:MimeKit.InternetAddressConverter.IsValid(System.ComponentModel.ITypeDescriptorContext,System.Object)"/> method catches exceptions from the <see cref="M:MimeKit.InternetAddressConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)"/>
            and <see cref="M:MimeKit.InternetAddressConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)"/> methods. If the input value type causes <see cref="M:MimeKit.InternetAddressConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)"/> to return <see langword="false"/>,
            or if the input value causes <see cref="M:MimeKit.InternetAddressConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)"/> to raise an exception, the <see cref="M:MimeKit.InternetAddressConverter.IsValid(System.ComponentModel.ITypeDescriptorContext,System.Object)"/> method returns
            <see langword="false"/>.</para>
            </remarks>
            <returns><see langword="true"/> if the specified value is valid for this object; otherwise, <see langword="false"/>.</returns>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="value">The <see cref="T:System.Object"/> to test for validity.</param>
        </member>
        <member name="T:MimeKit.InternetAddressList">
            <summary>
            A list of email addresses. 
            </summary>
            <remarks>
            <para>An <see cref="T:MimeKit.InternetAddressList"/> may contain any number of addresses of any type
            defined by the original Internet Message specification.</para>
            <para>There are effectively two (2) types of addresses: mailboxes and groups.</para>
            <para>Mailbox addresses are what are most commonly known as email addresses and are
            represented by the <see cref="T:MimeKit.MailboxAddress"/> class.</para>
            <para>Group addresses are themselves lists of addresses and are represented by the
            <see cref="T:MimeKit.GroupAddress"/> class. While rare, it is still important to handle these
            types of addresses. They typically only contain mailbox addresses, but may also
            contain other group addresses.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.InternetAddressList.#ctor(System.Collections.Generic.IEnumerable{MimeKit.InternetAddress})">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.InternetAddressList"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.InternetAddressList"/> containing the supplied addresses.
            </remarks>
            <param name="addresses">An initial list of addresses.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="addresses"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressList.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.InternetAddressList"/> class.
            </summary>
            <remarks>
            Creates a new, empty, <see cref="T:MimeKit.InternetAddressList"/>.
            </remarks>
        </member>
        <member name="P:MimeKit.InternetAddressList.Mailboxes">
            <summary>
            Recursively get all the mailboxes contained within the <see cref="T:MimeKit.InternetAddressList"/>.
            </summary>
            <remarks>
            This API is useful for collecting a flattened list of <see cref="T:MimeKit.MailboxAddress"/>
            recipients for use with sending via SMTP or for encrypting via S/MIME or PGP/MIME.
            </remarks>
            <value>The mailboxes.</value>
        </member>
        <member name="M:MimeKit.InternetAddressList.IndexOf(MimeKit.InternetAddress)">
            <summary>
            Get the index of the specified address.
            </summary>
            <remarks>
            Finds the index of the specified address, if it exists.
            </remarks>
            <returns>The index of the specified address if found; otherwise <c>-1</c>.</returns>
            <param name="address">The address to get the index of.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="address"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressList.Insert(System.Int32,MimeKit.InternetAddress)">
            <summary>
            Insert an address at the specified index.
            </summary>
            <remarks>
            Inserts the address at the specified index in the list.
            </remarks>
            <param name="index">The index to insert the address.</param>
            <param name="address">The address.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="address"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressList.RemoveAt(System.Int32)">
            <summary>
            Remove the address at the specified index.
            </summary>
            <remarks>
            Removes the address at the specified index.
            </remarks>
            <param name="index">The index of the address to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="P:MimeKit.InternetAddressList.Item(System.Int32)">
            <summary>
            Get or set the <see cref="T:MimeKit.InternetAddress"/> at the specified index.
            </summary>
            <remarks>
            Gets or sets the <see cref="T:MimeKit.InternetAddress"/> at the specified index.
            </remarks>
            <value>The internet address at the specified index.</value>
            <param name="index">The index of the address to get or set.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="P:MimeKit.InternetAddressList.Count">
            <summary>
            Get the number of addresses in the <see cref="T:MimeKit.InternetAddressList"/>.
            </summary>
            <remarks>
            Indicates the number of addresses in the list.
            </remarks>
            <value>The number of addresses.</value>
        </member>
        <member name="P:MimeKit.InternetAddressList.IsReadOnly">
            <summary>
            Get a value indicating whether the <see cref="T:MimeKit.InternetAddressList"/> is read only.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.InternetAddressList"/> is never read-only.
            </remarks>
            <value><see langword="true" /> if this instance is read only; otherwise, <see langword="false" />.</value>
        </member>
        <member name="M:MimeKit.InternetAddressList.Add(MimeKit.InternetAddress)">
            <summary>
            Add an address to the <see cref="T:MimeKit.InternetAddressList"/>.
            </summary>
            <remarks>
            Adds the specified address to the end of the address list.
            </remarks>
            <param name="address">The address.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="address"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressList.AddRange(System.Collections.Generic.IEnumerable{MimeKit.InternetAddress})">
            <summary>
            Add a collection of addresses to the <see cref="T:MimeKit.InternetAddressList"/>.
            </summary>
            <remarks>
            Adds a range of addresses to the end of the address list.
            </remarks>
            <param name="addresses">A colelction of addresses.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="addresses"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressList.Clear">
            <summary>
            Clear the address list.
            </summary>
            <remarks>
            Removes all the addresses from the list.
            </remarks>
        </member>
        <member name="M:MimeKit.InternetAddressList.Contains(MimeKit.InternetAddress)">
            <summary>
            Check if the <see cref="T:MimeKit.InternetAddressList"/> contains the specified address.
            </summary>
            <remarks>
            Determines whether the address list contains the specified address.
            </remarks>
            <returns><see langword="true" /> if the specified address exists;
            otherwise, <see langword="false" />.</returns>
            <param name="address">The address.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="address"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressList.CopyTo(MimeKit.InternetAddress[],System.Int32)">
            <summary>
            Copy all the addresses in the <see cref="T:MimeKit.InternetAddressList"/> to the specified array.
            </summary>
            <remarks>
            Copies all the addresses within the <see cref="T:MimeKit.InternetAddressList"/> into the array,
            starting at the specified array index.
            </remarks>
            <param name="array">The array to copy the addresses to.</param>
            <param name="arrayIndex">The index into the array.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="array"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="arrayIndex"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressList.Remove(MimeKit.InternetAddress)">
            <summary>
            Remove the specified address from the <see cref="T:MimeKit.InternetAddressList"/>.
            </summary>
            <remarks>
            Removes the specified address.
            </remarks>
            <returns><see langword="true" /> if the address was removed; otherwise, <see langword="false" />.</returns>
            <param name="address">The address.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="address"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressList.GetEnumerator">
            <summary>
            Get an enumerator for the list of addresses.
            </summary>
            <remarks>
            Gets an enumerator for the list of addresses.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MimeKit.InternetAddressList.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Get an enumerator for the list of addresses.
            </summary>
            <remarks>
            Gets an enumerator for the list of addresses.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MimeKit.InternetAddressList.Equals(MimeKit.InternetAddressList)">
            <summary>
            Determine whether the specified <see cref="T:MimeKit.InternetAddressList"/> is equal to the current <see cref="T:MimeKit.InternetAddressList"/>.
            </summary>
            <remarks>
            Determines whether the specified <see cref="T:MimeKit.InternetAddressList"/> is equal to the current <see cref="T:MimeKit.InternetAddressList"/>.
            </remarks>
            <param name="other">The <see cref="T:MimeKit.InternetAddressList"/> to compare with the current <see cref="T:MimeKit.InternetAddressList"/>.</param>
            <returns><see langword="true" /> if the specified <see cref="T:MimeKit.InternetAddressList"/> is equal to the current
            <see cref="T:MimeKit.InternetAddressList"/>; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.InternetAddressList.CompareTo(MimeKit.InternetAddressList)">
            <summary>
            Compare two internet address lists.
            </summary>
            <remarks>
            Compares two internet address lists for the purpose of sorting.
            </remarks>
            <returns>The sort order of the current internet address list compared to the other internet address list.</returns>
            <param name="other">The internet address list to compare to.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="other"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressList.Equals(System.Object)">
            <summary>
            Determine whether the specified object is equal to the current object.
            </summary>
            <remarks>
            The type of comparison between the current instance and the <paramref name="obj"/> parameter depends on whether
            the current instance is a reference type or a value type.
            </remarks>
            <param name="obj">The object to compare with the current object.</param>
            <returns><see langword="true" /> if the specified object is equal to the current object; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.InternetAddressList.GetHashCode">
            <summary>
            Return the hash code for this instance.
            </summary>
            <remarks>
            Returns the hash code for this instance.
            </remarks>
            <returns>A hash code for the current object.</returns>
        </member>
        <member name="M:MimeKit.InternetAddressList.ToString(MimeKit.FormatOptions,System.Boolean)">
            <summary>
            Serialize an <see cref="T:MimeKit.InternetAddressList"/> to a string, optionally encoding the list of addresses for transport.
            </summary>
            <remarks>
            <para>If <paramref name="encode"/> is <see langword="true" />, each address in the list will be encoded
            according to the rules defined in rfc2047.</para>
            <para>If there are multiple addresses in the list, they will be separated by a comma.</para>
            </remarks>
            <returns>A string representing the <see cref="T:MimeKit.InternetAddressList"/>.</returns>
            <param name="options">The formatting options.</param>
            <param name="encode">If set to <see langword="true" />, each <see cref="T:MimeKit.InternetAddress"/> in the list will be encoded.</param>
        </member>
        <member name="M:MimeKit.InternetAddressList.ToString(System.Boolean)">
            <summary>
            Serialize an <see cref="T:MimeKit.InternetAddressList"/> to a string, optionally encoding the list of addresses for transport.
            </summary>
            <remarks>
            <para>If <paramref name="encode"/> is <see langword="true" />, each address in the list will be encoded
            according to the rules defined in rfc2047.</para>
            <para>If there are multiple addresses in the list, they will be separated by a comma.</para>
            </remarks>
            <returns>A string representing the <see cref="T:MimeKit.InternetAddressList"/>.</returns>
            <param name="encode">If set to <see langword="true" />, each <see cref="T:MimeKit.InternetAddress"/> in the list will be encoded.</param>
        </member>
        <member name="M:MimeKit.InternetAddressList.ToString">
            <summary>
            Serialize an <see cref="T:MimeKit.InternetAddressList"/> to a string suitable for display.
            </summary>
            <remarks>
            If there are multiple addresses in the list, they will be separated by a comma.
            </remarks>
            <returns>A string representing the <see cref="T:MimeKit.InternetAddressList"/>.</returns>
        </member>
        <member name="M:MimeKit.InternetAddressList.TryParse(MimeKit.ParserOptions,System.Byte[],System.Int32,System.Int32,MimeKit.InternetAddressList@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.InternetAddressList"/> instance.
            </summary>
            <remarks>
            Parses a list of addresses from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns><see langword="true" /> if the address list was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <param name="addresses">The parsed addresses.</param>
        </member>
        <member name="M:MimeKit.InternetAddressList.TryParse(System.Byte[],System.Int32,System.Int32,MimeKit.InternetAddressList@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.InternetAddressList"/> instance.
            </summary>
            <remarks>
            Parses a list of addresses from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns><see langword="true" /> if the address list was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <param name="addresses">The parsed addresses.</param>
        </member>
        <member name="M:MimeKit.InternetAddressList.TryParse(MimeKit.ParserOptions,System.Byte[],System.Int32,MimeKit.InternetAddressList@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.InternetAddressList"/> instance.
            </summary>
            <remarks>
            Parses a list of addresses from the supplied buffer starting at the specified index.
            </remarks>
            <returns><see langword="true" /> if the address list was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="addresses">The parsed addresses.</param>
        </member>
        <member name="M:MimeKit.InternetAddressList.TryParse(System.Byte[],System.Int32,MimeKit.InternetAddressList@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.InternetAddressList"/> instance.
            </summary>
            <remarks>
            Parses a list of addresses from the supplied buffer starting at the specified index.
            </remarks>
            <returns><see langword="true" /> if the address list was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="addresses">The parsed addresses.</param>
        </member>
        <member name="M:MimeKit.InternetAddressList.TryParse(MimeKit.ParserOptions,System.Byte[],MimeKit.InternetAddressList@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.InternetAddressList"/> instance.
            </summary>
            <remarks>
            Parses a list of addresses from the specified buffer.
            </remarks>
            <returns><see langword="true" /> if the address list was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="addresses">The parsed addresses.</param>
        </member>
        <member name="M:MimeKit.InternetAddressList.TryParse(System.Byte[],MimeKit.InternetAddressList@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.InternetAddressList"/> instance.
            </summary>
            <remarks>
            Parses a list of addresses from the specified buffer.
            </remarks>
            <returns><see langword="true" /> if the address list was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="addresses">The parsed addresses.</param>
        </member>
        <member name="M:MimeKit.InternetAddressList.TryParse(MimeKit.ParserOptions,System.String,MimeKit.InternetAddressList@)">
            <summary>
            Try to parse the given text into a new <see cref="T:MimeKit.InternetAddressList"/> instance.
            </summary>
            <remarks>
            Parses a list of addresses from the specified text.
            </remarks>
            <returns><see langword="true" /> if the address list was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="text">The text.</param>
            <param name="addresses">The parsed addresses.</param>
        </member>
        <member name="M:MimeKit.InternetAddressList.TryParse(System.String,MimeKit.InternetAddressList@)">
            <summary>
            Try to parse the given text into a new <see cref="T:MimeKit.InternetAddressList"/> instance.
            </summary>
            <remarks>
            Parses a list of addresses from the specified text.
            </remarks>
            <returns><see langword="true" /> if the address list was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="text">The text.</param>
            <param name="addresses">The parsed addresses.</param>
        </member>
        <member name="M:MimeKit.InternetAddressList.Parse(MimeKit.ParserOptions,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.InternetAddressList"/> instance.
            </summary>
            <remarks>
            Parses a list of addresses from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.InternetAddressList"/>.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the byte array.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressList.Parse(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.InternetAddressList"/> instance.
            </summary>
            <remarks>
            Parses a list of addresses from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.InternetAddressList"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the byte array.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressList.Parse(MimeKit.ParserOptions,System.Byte[],System.Int32)">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.InternetAddressList"/> instance.
            </summary>
            <remarks>
            Parses a list of addresses from the supplied buffer starting at the specified index.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.InternetAddressList"/>.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/>is out of range.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressList.Parse(System.Byte[],System.Int32)">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.InternetAddressList"/> instance.
            </summary>
            <remarks>
            Parses a list of addresses from the supplied buffer starting at the specified index.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.InternetAddressList"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is out of range.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressList.Parse(MimeKit.ParserOptions,System.Byte[])">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.InternetAddressList"/> instance.
            </summary>
            <remarks>
            Parses a list of addresses from the specified buffer.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.InternetAddressList"/>.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressList.Parse(System.Byte[])">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.InternetAddressList"/> instance.
            </summary>
            <remarks>
            Parses a list of addresses from the specified buffer.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.InternetAddressList"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressList.Parse(MimeKit.ParserOptions,System.String)">
            <summary>
            Parse the given text into a new <see cref="T:MimeKit.InternetAddressList"/> instance.
            </summary>
            <remarks>
            Parses a list of addresses from the specified text.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.InternetAddressList"/>.</returns>
            <param name="options">The parser options to use.</param>
            <param name="text">The text.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="text"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="text"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressList.Parse(System.String)">
            <summary>
            Parse the given text into a new <see cref="T:MimeKit.InternetAddressList"/> instance.
            </summary>
            <remarks>
            Parses a list of addresses from the specified text.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.InternetAddressList"/>.</returns>
            <param name="text">The text.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="text"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressList.op_Explicit(MimeKit.InternetAddressList)~System.Net.Mail.MailAddressCollection">
            <summary>
            Explicit cast to convert a <see cref="T:MimeKit.InternetAddressList"/> to a
            <see cref="T:System.Net.Mail.MailAddressCollection"/>.
            </summary>
            <remarks>
            Casts a <see cref="T:MimeKit.InternetAddressList"/> to a <see cref="T:System.Net.Mail.MailAddressCollection"/>
            in cases where you might want to make use of the System.Net.Mail APIs.
            </remarks>
            <returns>The equivalent <see cref="T:System.Net.Mail.MailAddressCollection"/>.</returns>
            <param name="addresses">The addresses.</param>
            <exception cref="T:System.InvalidCastException">
            <paramref name="addresses"/> contains one or more group addresses and cannot be converted.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressList.op_Explicit(System.Net.Mail.MailAddressCollection)~MimeKit.InternetAddressList">
            <summary>
            Explicit cast to convert a <see cref="T:System.Net.Mail.MailAddressCollection"/>
            to a <see cref="T:MimeKit.InternetAddressList"/>.
            </summary>
            <remarks>
            Casts a <see cref="T:System.Net.Mail.MailAddressCollection"/> to a <see cref="T:MimeKit.InternetAddressList"/>
            in cases where you might want to make use of the superior MimeKit APIs.
            </remarks>
            <returns>The equivalent <see cref="T:MimeKit.InternetAddressList"/>.</returns>
            <param name="addresses">The mail address.</param>
        </member>
        <member name="T:MimeKit.InternetAddressListConverter">
            <summary>
            A type converter for converting between <see cref="T:MimeKit.InternetAddressList"/> and string.
            </summary>
            <remarks>
            Provides a way of converting between <see cref="T:MimeKit.InternetAddressList"/> and <see langword="string"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.InternetAddressListConverter.Register(MimeKit.ParserOptions)">
            <summary>
            Register the type converter so that it's available through <see cref="M:System.ComponentModel.TypeDescriptor.GetConverter(System.Object)"/>.
            </summary>
            <remarks>
            Registers the type converter so that it's available through <see cref="M:System.ComponentModel.TypeDescriptor.GetConverter(System.Object)"/>.
            </remarks>
            <param name="options">The <see cref="T:MimeKit.ParserOptions"/> to use when converting from string or <see langword="null"/> to use the default options.</param>
            <exception cref="T:System.InvalidOperationException">
            The Register method was called more than once.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressListConverter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MimeKit.InternetAddressListConverter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.InternetAddressListConverter"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.InternetAddressListConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context.
            </summary>
            <remarks>
            Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context.
            </remarks>
            <returns><see langword="true"/> if this converter can perform the conversion; otherwise, <see langword="false"/>.</returns>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="sourceType">A <see cref="T:System.Type"/> that represents the type you want to convert from.</param>
        </member>
        <member name="M:MimeKit.InternetAddressListConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Returns whether this converter can convert the object to the specified type, using the specified context.
            </summary>
            <remarks>
            <para>Use the <paramref name="context"/> parameter to extract additional information about the environment
            from which this converter is invoked. This parameter can be <see langword="null"/>, so always check it. Also,
            properties on the context object can return <see langword="null"/>.</para>
            <para>If <paramref name="destinationType"/> is a string, the default implementation of <see cref="M:MimeKit.InternetAddressListConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)"/>
            always returns <see langword="true"/>.</para>
            </remarks>
            <returns><see langword="true"/> if this converter can perform the conversion; otherwise, <see langword="false"/>.</returns>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="destinationType">A <see cref="T:System.Type"/> that represents the type you want to convert to.</param>
        </member>
        <member name="M:MimeKit.InternetAddressListConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <summary>
            Converts the given object to the type of this converter, using the specified context and culture information.
            </summary>
            <remarks>
            Converts the given object to the type of this converter, using the specified context and culture information.
            </remarks>
            <returns>An <see cref="T:System.Object"/> that represents the converted value.</returns>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="culture">The <see cref="T:System.Globalization.CultureInfo"/> to use as the current culture.</param>
            <param name="value">The <see cref="T:System.Object"/> to convert.</param>
            <exception cref="T:System.NotSupportedException">
            The conversion cannot be performed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressListConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
            <summary>
            Converts the given value object to the specified type, using the specified context and culture information.
            </summary>
            <remarks>
            Converts the given value object to the specified type, using the specified context and culture information.
            </remarks>
            <returns>An <see cref="T:System.Object"/> that represents the converted value.</returns>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="culture">A <see cref="T:System.Globalization.CultureInfo"/>. If <see langword="null"/>, the current culture is assumed.</param>
            <param name="value">The <see cref="T:System.Object"/> to convert.</param>
            <param name="destinationType">The <see cref="T:System.Type"/> to convert the value to.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="destinationType"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The conversion cannot be performed.
            </exception>
        </member>
        <member name="M:MimeKit.InternetAddressListConverter.IsValid(System.ComponentModel.ITypeDescriptorContext,System.Object)">
            <summary>
            Returns whether the given value object is valid for this type and for the specified context.
            </summary>
            <remarks>
            <para>Use the <paramref name="context"/> parameter to extract additional information about the environment from which
            this converter is invoked. This parameter can be <see langword="null"/>, so always check it. Also, properties on the
            context object can return <see langword="null"/>.</para>
            <para>Starting in .NET Framework 4, the <see cref="M:MimeKit.InternetAddressListConverter.IsValid(System.ComponentModel.ITypeDescriptorContext,System.Object)"/> method catches exceptions from the <see cref="M:MimeKit.InternetAddressListConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)"/>
            and <see cref="M:MimeKit.InternetAddressListConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)"/> methods. If the input value type causes <see cref="M:MimeKit.InternetAddressListConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)"/> to return <see langword="false"/>,
            or if the input value causes <see cref="M:MimeKit.InternetAddressListConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)"/> to raise an exception, the <see cref="M:MimeKit.InternetAddressListConverter.IsValid(System.ComponentModel.ITypeDescriptorContext,System.Object)"/> method returns
            <see langword="false"/>.</para>
            </remarks>
            <returns><see langword="true"/> if the specified value is valid for this object; otherwise, <see langword="false"/>.</returns>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="value">The <see cref="T:System.Object"/> to test for validity.</param>
        </member>
        <member name="T:MimeKit.IO.BoundStream">
            <summary>
            A bounded stream, confined to reading and writing data to a limited subset of the overall source stream.
            </summary>
            <remarks>
            <para>Wraps an arbitrary stream, limiting I/O operations to a subset of the source stream.
            If the <see cref="P:MimeKit.IO.BoundStream.EndBoundary"/> is <c>-1</c>, then the end of the stream is unbound.</para>
            <para>When a <see cref="T:MimeKit.MimeParser"/> is set to parse a persistent stream, it will construct
            <see cref="T:MimeKit.MimeContent"/>s using bounded streams instead of loading the content into memory.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.IO.BoundStream.#ctor(System.IO.Stream,System.Int64,System.Int64,System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.BoundStream"/> class.
            </summary>
            <remarks>
            If the <paramref name="endBoundary"/> is less than <c>0</c>, then the end of the stream
            is unbounded.
            </remarks>
            <param name="baseStream">The underlying stream.</param>
            <param name="startBoundary">The offset in the base stream that will mark the start of this substream.</param>
            <param name="endBoundary">The offset in the base stream that will mark the end of this substream.</param>
            <param name="leaveOpen"><see langword="true" /> to leave the baseStream open after the
            <see cref="T:MimeKit.IO.BoundStream"/> is disposed; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="baseStream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="startBoundary"/> is less than zero.</para>
            <para>-or-</para>
            <para><paramref name="endBoundary"/> is greater than or equal to zero
            -and- is less than <paramref name="startBoundary"/>.</para>
            </exception>
        </member>
        <member name="P:MimeKit.IO.BoundStream.BaseStream">
            <summary>
            Get the underlying stream.
            </summary>
            <remarks>
            All I/O is performed on the base stream.
            </remarks>
            <value>The underlying stream.</value>
        </member>
        <member name="P:MimeKit.IO.BoundStream.StartBoundary">
            <summary>
            Get the start boundary offset of the underlying stream.
            </summary>
            <remarks>
            The start boundary is the byte offset into the <see cref="P:MimeKit.IO.BoundStream.BaseStream"/>
            that marks the beginning of the substream.
            </remarks>
            <value>The start boundary offset of the underlying stream.</value>
        </member>
        <member name="P:MimeKit.IO.BoundStream.EndBoundary">
            <summary>
            Get the end boundary offset of the underlying stream.
            </summary>
            <remarks>
            The end boundary is the byte offset into the <see cref="P:MimeKit.IO.BoundStream.BaseStream"/>
            that marks the end of the substream. If the value is less than 0,
            then the end of the stream is treated as unbound.
            </remarks>
            <value>The end boundary offset of the underlying stream.</value>
        </member>
        <member name="P:MimeKit.IO.BoundStream.LeaveOpen">
            <summary>
            Check whether the underlying stream will remain open after
            the <see cref="T:MimeKit.IO.BoundStream"/> is disposed.
            </summary>
            <remarks>
            Checks whether the underlying stream will remain open after
            the <see cref="T:MimeKit.IO.BoundStream"/> is disposed.
            </remarks>
            <value><see langword="true" /> if the underlying stream should remain open after the
            <see cref="T:MimeKit.IO.BoundStream"/> is disposed; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.BoundStream.CanRead">
            <summary>
            Check whether the stream supports reading.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.IO.BoundStream"/> will only support reading if the
            <see cref="P:MimeKit.IO.BoundStream.BaseStream"/> supports it.
            </remarks>
            <value><see langword="true" /> if the stream supports reading; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.BoundStream.CanWrite">
            <summary>
            Check whether the stream supports writing.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.IO.BoundStream"/> will only support writing if the
            <see cref="P:MimeKit.IO.BoundStream.BaseStream"/> supports it.
            </remarks>
            <value><see langword="true" /> if the stream supports writing; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.BoundStream.CanSeek">
            <summary>
            Check whether the stream supports seeking.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.IO.BoundStream"/> will only support seeking if the
            <see cref="P:MimeKit.IO.BoundStream.BaseStream"/> supports it.
            </remarks>
            <value><see langword="true" /> if the stream supports seeking; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.BoundStream.CanTimeout">
            <summary>
            Check whether I/O operations can time out.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.IO.BoundStream"/> will only support timing out if the
            <see cref="P:MimeKit.IO.BoundStream.BaseStream"/> supports it.
            </remarks>
            <value><see langword="true" /> if I/O operations can time out; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.BoundStream.Length">
            <summary>
            Get the length of the stream, in bytes.
            </summary>
            <remarks>
            If the <see cref="P:MimeKit.IO.BoundStream.EndBoundary"/> property is greater than or equal to <c>0</c>,
            then the length will be calculated by subtracting the <see cref="P:MimeKit.IO.BoundStream.StartBoundary"/>
            from the <see cref="P:MimeKit.IO.BoundStream.EndBoundary"/>. If the end of the stream is unbound, then the
            <see cref="P:MimeKit.IO.BoundStream.StartBoundary"/> will be subtracted from the length of the
            <see cref="P:MimeKit.IO.BoundStream.BaseStream"/>.
            </remarks>
            <value>The length of the stream in bytes.</value>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.IO.BoundStream.Position">
            <summary>
            Get or sets the current position within the stream.
            </summary>
            <remarks>
            The <see cref="P:MimeKit.IO.BoundStream.Position"/> is relative to the <see cref="P:MimeKit.IO.BoundStream.StartBoundary"/>.
            </remarks>
            <value>The position of the stream.</value>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.IO.BoundStream.ReadTimeout">
            <summary>
            Get or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.
            </summary>
            <remarks>
            Gets or sets the <see cref="P:MimeKit.IO.BoundStream.BaseStream"/>'s read timeout.
            </remarks>
            <value>A value, in milliseconds, that determines how long the stream will attempt to read before timing out.</value>
        </member>
        <member name="P:MimeKit.IO.BoundStream.WriteTimeout">
            <summary>
            Get or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.
            </summary>
            <remarks>
            Gets or sets the <see cref="P:MimeKit.IO.BoundStream.BaseStream"/>'s write timeout.
            </remarks>
            <value>A value, in milliseconds, that determines how long the stream will attempt to write before timing out.</value>
        </member>
        <member name="M:MimeKit.IO.BoundStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Read a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reads data from the <see cref="P:MimeKit.IO.BoundStream.BaseStream"/>, not allowing it to
            read beyond the <see cref="P:MimeKit.IO.BoundStream.EndBoundary"/>.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if
            that many bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of bytes to read.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support reading.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.BoundStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously read a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reads data from the <see cref="P:MimeKit.IO.BoundStream.BaseStream"/>, not allowing it to
            read beyond the <see cref="P:MimeKit.IO.BoundStream.EndBoundary"/>.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if
            that many bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of bytes to read.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support reading.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.BoundStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Write a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Writes data to the <see cref="P:MimeKit.IO.BoundStream.BaseStream"/>, not allowing it to
            write beyond the <see cref="P:MimeKit.IO.BoundStream.EndBoundary"/>.
            </remarks>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.BoundStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Writes data to the <see cref="P:MimeKit.IO.BoundStream.BaseStream"/>, not allowing it to
            write beyond the <see cref="P:MimeKit.IO.BoundStream.EndBoundary"/>.
            </remarks>
            <returns>A task that represents the asynchronous write operation.</returns>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.BoundStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Set the position within the current stream.
            </summary>
            <remarks>
            Seeks within the confines of the <see cref="P:MimeKit.IO.BoundStream.StartBoundary"/> and the <see cref="P:MimeKit.IO.BoundStream.EndBoundary"/>.
            </remarks>
            <returns>The new position within the stream.</returns>
            <param name="offset">The offset into the stream relative to the <paramref name="origin"/>.</param>
            <param name="origin">The origin to seek from.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="origin"/> is not a valid <see cref="T:System.IO.SeekOrigin"/>. 
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.BoundStream.Flush">
            <summary>
            Clear all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Flushes the <see cref="P:MimeKit.IO.BoundStream.BaseStream"/>.
            </remarks>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.BoundStream.FlushAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously clear all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Flushes the <see cref="P:MimeKit.IO.BoundStream.BaseStream"/>.
            </remarks>
            <returns>A task that represents the asynchronous flush operation.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.BoundStream.SetLength(System.Int64)">
            <summary>
            Set the length of the stream.
            </summary>
            <remarks>
            Updates the <see cref="P:MimeKit.IO.BoundStream.EndBoundary"/> to be <see cref="P:MimeKit.IO.BoundStream.StartBoundary"/> plus
            the specified new length. If the <see cref="P:MimeKit.IO.BoundStream.BaseStream"/> needs to be grown
            to allow this, then the length of the <see cref="P:MimeKit.IO.BoundStream.BaseStream"/> will also be
            updated.
            </remarks>
            <param name="value">The desired length of the stream in bytes.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support setting the length.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.BoundStream.Dispose(System.Boolean)">
            <summary>
            Release the unmanaged resources used by the <see cref="T:MimeKit.IO.BoundStream"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            If the <see cref="P:MimeKit.IO.BoundStream.LeaveOpen"/> property is <see langword="false" />, then
            the <see cref="P:MimeKit.IO.BoundStream.BaseStream"/> is also disposed.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MimeKit.IO.ChainedStream">
            <summary>
            A chained stream.
            </summary>
            <remarks>
            Chains multiple streams together such that reading or writing beyond the end
            of one stream spills over into the next stream in the chain. The idea is to
            make it appear is if the chain of streams is all one continuous stream.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.ChainedStream.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.ChainedStream"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.ChainedStream"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.ChainedStream.Add(System.IO.Stream,System.Boolean)">
            <summary>
            Add a stream to the chained stream.
            </summary>
            <remarks>
            Adds the stream to the end of the chain.
            </remarks>
            <param name="stream">The stream.</param>
            <param name="leaveOpen"><see langword="true" /> if the <paramref name="stream"/>
            should remain open after the <see cref="T:MimeKit.IO.ChainedStream"/> is disposed;
            otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.IO.ChainedStream.CanRead">
            <summary>
            Check whether the stream supports reading.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.IO.ChainedStream"/> only supports reading if all of its
            streams support it.
            </remarks>
            <value><see langword="true" /> if the stream supports reading; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.ChainedStream.CanWrite">
            <summary>
            Check whether the stream supports writing.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.IO.ChainedStream"/> only supports writing if all of its
            streams support it.
            </remarks>
            <value><see langword="true" /> if the stream supports writing; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.ChainedStream.CanSeek">
            <summary>
            Check whether the stream supports seeking.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.IO.ChainedStream"/> only supports seeking if all of its
            streams support it.
            </remarks>
            <value><see langword="true" /> if the stream supports seeking; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.ChainedStream.CanTimeout">
            <summary>
            Check whether I/O operations can time out.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.IO.ChainedStream"/> only supports timeouts if all of its
            streams support them.
            </remarks>
            <value><see langword="true" /> if I/O operations can time out; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.ChainedStream.Length">
            <summary>
            Get the length of the stream, in bytes.
            </summary>
            <remarks>
            The length of a <see cref="T:MimeKit.IO.ChainedStream"/> is the combined lenths of all
            of its chained streams.
            </remarks>
            <value>The length of the stream in bytes.</value>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.IO.ChainedStream.Position">
            <summary>
            Get or set the current position within the stream.
            </summary>
            <remarks>
            It is always possible to get the position of a <see cref="T:MimeKit.IO.ChainedStream"/>,
            but setting the position is only possible if all of its streams are seekable.
            </remarks>
            <value>The position of the stream.</value>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.IO.ChainedStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Read a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reads up to the requested number of bytes if reading is supported. If the
            current child stream does not have enough remaining data to complete the
            read, the read will progress into the next stream in the chain in order
            to complete the read.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if
            that many bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of bytes to read.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support reading.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.ChainedStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously read a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reads up to the requested number of bytes if reading is supported. If the
            current child stream does not have enough remaining data to complete the
            read, the read will progress into the next stream in the chain in order
            to complete the read.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if
            that many bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of bytes to read.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support reading.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.ChainedStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Write a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Writes the requested number of bytes if writing is supported. If the
            current child stream does not have enough remaining space to fit the
            complete buffer, the data will spill over into the next stream in the
            chain in order to complete the write.
            </remarks>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.ChainedStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Writes the requested number of bytes if writing is supported. If the
            current child stream does not have enough remaining space to fit the
            complete buffer, the data will spill over into the next stream in the
            chain in order to complete the write.
            </remarks>
            <returns>A task that represents the asynchronous write operation.</returns>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.ChainedStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Set the position within the current stream.
            </summary>
            <remarks>
            Seeks to the specified position within the stream if all child streams
            support seeking.
            </remarks>
            <returns>The new position within the stream.</returns>
            <param name="offset">The offset into the stream relative to the <paramref name="origin"/>.</param>
            <param name="origin">The origin to seek from.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="origin"/> is not a valid <see cref="T:System.IO.SeekOrigin"/>. 
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.ChainedStream.Flush">
            <summary>
            Clear all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            If all the child streams support writing, then the current child stream
            will be flushed.
            </remarks>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.ChainedStream.FlushAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously clear all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            If all the child streams support writing, then the current child stream
            will be flushed.
            </remarks>
            <returns>A task that represents the asynchronous flush operation.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.ChainedStream.SetLength(System.Int64)">
            <summary>
            Set the length of the stream.
            </summary>
            <remarks>
            Setting the length of a <see cref="T:MimeKit.IO.ChainedStream"/> is not supported.
            </remarks>
            <param name="value">The desired length of the stream in bytes.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support setting the length.
            </exception>
        </member>
        <member name="M:MimeKit.IO.ChainedStream.Dispose(System.Boolean)">
            <summary>
            Release the unmanaged resources used by the <see cref="T:MimeKit.IO.ChainedStream"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.IO.ChainedStream"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MimeKit.IO.FilteredStream">
            <summary>
            A stream which filters data as it is read or written.
            </summary>
            <remarks>
            Passes data through each <see cref="T:MimeKit.IO.Filters.IMimeFilter"/> as the data is read or written.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.FilteredStream.#ctor(System.IO.Stream)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.FilteredStream"/> class.
            </summary>
            <remarks>
            <para>Creates a filtered stream using the specified source stream.</para>
            <para>The source stream will be left open when this <see cref="T:MimeKit.IO.FilteredStream"/> is disposed.</para>
            </remarks>
            <param name="source">The underlying stream to filter.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="source"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.IO.FilteredStream.Source">
            <summary>
            Get the underlying source stream.
            </summary>
            <remarks>
            In general, it is not a good idea to manipulate the underlying
            source stream because most <see cref="T:MimeKit.IO.Filters.IMimeFilter"/>s store
            important state about previous bytes read from or written to
            the source stream.
            </remarks>
            <value>The underlying source stream.</value>
        </member>
        <member name="M:MimeKit.IO.FilteredStream.Add(MimeKit.IO.Filters.IMimeFilter)">
            <summary>
            Add a filter.
            </summary>
            <remarks>
            Adds the <paramref name="filter"/> to the end of the list of filters
            that data will pass through as data is read from or written to the
            underlying source stream.
            </remarks>
            <param name="filter">The filter.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="filter"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.IO.FilteredStream.Contains(MimeKit.IO.Filters.IMimeFilter)">
            <summary>
            Check if the filtered stream contains the specified filter.
            </summary>
            <remarks>
            Determines whether the filtered stream contains the specified filter.
            </remarks>
            <returns><see langword="true" /> if the specified filter exists;
            otherwise, <see langword="false" />.</returns>
            <param name="filter">The filter.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="filter"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.IO.FilteredStream.Remove(MimeKit.IO.Filters.IMimeFilter)">
            <summary>
            Remove a filter.
            </summary>
            <remarks>
            Removes the specified filter from the list if it exists.
            </remarks>
            <returns><see langword="true" /> if the filter was removed; otherwise, <see langword="false" />.</returns>
            <param name="filter">The filter.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="filter"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.IO.FilteredStream.CanRead">
            <summary>
            Check whether the stream supports reading.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.IO.FilteredStream"/> will only support reading if the
            <see cref="P:MimeKit.IO.FilteredStream.Source"/> supports it.
            </remarks>
            <value><see langword="true" /> if the stream supports reading; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.FilteredStream.CanWrite">
            <summary>
            Check whether the stream supports writing.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.IO.FilteredStream"/> will only support writing if the
            <see cref="P:MimeKit.IO.FilteredStream.Source"/> supports it.
            </remarks>
            <value><see langword="true" /> if the stream supports writing; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.FilteredStream.CanSeek">
            <summary>
            Check whether the stream supports seeking.
            </summary>
            <remarks>
            Seeking is not supported by the <see cref="T:MimeKit.IO.FilteredStream"/>.
            </remarks>
            <value><see langword="true" /> if the stream supports seeking; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.FilteredStream.CanTimeout">
            <summary>
            Check whether I/O operations can time out.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.IO.FilteredStream"/> will only support timing out if the
            <see cref="P:MimeKit.IO.FilteredStream.Source"/> supports it.
            </remarks>
            <value><see langword="true" /> if I/O operations can time out; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.FilteredStream.Length">
            <summary>
            Get the length of the stream, in bytes.
            </summary>
            <remarks>
            Getting the length of a <see cref="T:MimeKit.IO.FilteredStream"/> is not supported.
            </remarks>
            <value>The length of the stream in bytes.</value>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
        </member>
        <member name="P:MimeKit.IO.FilteredStream.Position">
            <summary>
            Get or set the current position within the stream.
            </summary>
            <remarks>
            Getting and setting the position of a <see cref="T:MimeKit.IO.FilteredStream"/> is not supported.
            </remarks>
            <value>The position of the stream.</value>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
        </member>
        <member name="P:MimeKit.IO.FilteredStream.ReadTimeout">
            <summary>
            Get or set a value, in milliseconds, that determines how long the stream will attempt to read before timing out.
            </summary>
            <remarks>
            Gets or sets the read timeout on the <see cref="P:MimeKit.IO.FilteredStream.Source"/> stream.
            </remarks>
            <value>A value, in milliseconds, that determines how long the stream will attempt to read before timing out.</value>
        </member>
        <member name="P:MimeKit.IO.FilteredStream.WriteTimeout">
            <summary>
            Get or set a value, in milliseconds, that determines how long the stream will attempt to write before timing out.
            </summary>
            <remarks>
            Gets or sets the write timeout on the <see cref="P:MimeKit.IO.FilteredStream.Source"/> stream.
            </remarks>
            <value>A value, in milliseconds, that determines how long the stream will attempt to write before timing out.</value>
        </member>
        <member name="M:MimeKit.IO.FilteredStream.Read(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Read a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reads up to the requested number of bytes, passing the data read from the <see cref="P:MimeKit.IO.FilteredStream.Source"/> stream
            through each of the filters before finally copying the result into the provided buffer.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if
            that many bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of bytes to read.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support reading.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.FilteredStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Read a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reads up to the requested number of bytes, passing the data read from the <see cref="P:MimeKit.IO.FilteredStream.Source"/> stream
            through each of the filters before finally copying the result into the provided buffer.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if
            that many bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of bytes to read.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support reading.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.FilteredStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously read a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reads up to the requested number of bytes, passing the data read from the <see cref="P:MimeKit.IO.FilteredStream.Source"/> stream
            through each of the filters before finally copying the result into the provided buffer.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if
            that many bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of bytes to read.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support reading.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.FilteredStream.Write(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Write a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Filters the provided buffer through each of the filters before finally writing
            the result to the underlying <see cref="P:MimeKit.IO.FilteredStream.Source"/> stream.
            </remarks>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.FilteredStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Write a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Filters the provided buffer through each of the filters before finally writing
            the result to the underlying <see cref="P:MimeKit.IO.FilteredStream.Source"/> stream.
            </remarks>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.FilteredStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Filters the provided buffer through each of the filters before finally writing
            the result to the underlying <see cref="P:MimeKit.IO.FilteredStream.Source"/> stream.
            </remarks>
            <returns>A task that represents the asynchronous write operation.</returns>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.FilteredStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Set the position within the current stream.
            </summary>
            <remarks>
            Seeking is not supported by the <see cref="T:MimeKit.IO.FilteredStream"/>.
            </remarks>
            <returns>The new position within the stream.</returns>
            <param name="offset">The offset into the stream relative to the <paramref name="origin"/>.</param>
            <param name="origin">The origin to seek from.</param>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
        </member>
        <member name="M:MimeKit.IO.FilteredStream.Flush(System.Threading.CancellationToken)">
            <summary>
            Clear all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Flushes the state of all filters, writing any output to the underlying <see cref="P:MimeKit.IO.FilteredStream.Source"/>
            stream and then calling <see cref="M:System.IO.Stream.Flush"/> on the <see cref="P:MimeKit.IO.FilteredStream.Source"/>.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.FilteredStream.Flush">
            <summary>
            Clear all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Flushes the state of all filters, writing any output to the underlying <see cref="P:MimeKit.IO.FilteredStream.Source"/>
            stream and then calling <see cref="M:System.IO.Stream.Flush"/> on the <see cref="P:MimeKit.IO.FilteredStream.Source"/>.
            </remarks>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.FilteredStream.FlushAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously clear all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Flushes the state of all filters, writing any output to the underlying <see cref="P:MimeKit.IO.FilteredStream.Source"/>
            stream and then calling <see cref="M:System.IO.Stream.Flush"/> on the <see cref="P:MimeKit.IO.FilteredStream.Source"/>.
            </remarks>
            <returns>A task that represents the asynchronous flush operation.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.FilteredStream.SetLength(System.Int64)">
            <summary>
            Set the length of the stream.
            </summary>
            <remarks>
            Setting the length of a <see cref="T:MimeKit.IO.FilteredStream"/> is not supported.
            </remarks>
            <param name="value">The desired length of the stream in bytes.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support setting the length.
            </exception>
        </member>
        <member name="M:MimeKit.IO.FilteredStream.Dispose(System.Boolean)">
            <summary>
            Release the unmanaged resources used by the <see cref="T:MimeKit.IO.FilteredStream"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.IO.FilteredStream"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MimeKit.IO.Filters.AnonymizeFilter">
            <summary>
            A filter for anonymizing content.
            </summary>
            <remarks>
            Replaces all non-whitespace characters with an 'x'.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.Filters.AnonymizeFilter.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.Filters.AnonymizeFilter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.Filters.AnonymizeFilter"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.Filters.AnonymizeFilter.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer, starting at <paramref name="startIndex"/>.</param>
            <param name="outputIndex">The output index.</param>
            <param name="outputLength">The output length.</param>
            <param name="flush">If set to <see langword="true" />, all internally buffered data should be flushed to the output buffer.</param>
        </member>
        <member name="T:MimeKit.IO.Filters.ArmoredFromFilter">
            <summary>
            A filter that armors lines beginning with "From " by encoding the 'F' with the
            Quoted-Printable encoding.
            </summary>
            <remarks>
            <para>From-armoring serves a similar purpose as the <see cref="T:MimeKit.IO.Filters.MboxFromFilter"/>, but uses
            quoted-printable encoding to replace lines beginning with "From " using "=46rom " instead
            of replacing those lines with ">From " (which is irreversable). From-armoring is a better
            alternative to using the <see cref="T:MimeKit.IO.Filters.MboxFromFilter"/>, but also requires the
            <see cref="P:MimeKit.MimePart.ContentTransferEncoding"/> property of the <see cref="T:MimeKit.MimePart"/>
            containing the content modified by this filter to be set to
            <see cref="F:MimeKit.ContentEncoding.QuotedPrintable"/> in order to work properly.</para>
            <para>This armoring technique ensures that the receiving client will still
            be able to verify PGP/MIME and S/MIME signatures.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.IO.Filters.ArmoredFromFilter.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.Filters.ArmoredFromFilter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.Filters.ArmoredFromFilter"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.Filters.ArmoredFromFilter.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer, starting at <paramref name="startIndex"/>.</param>
            <param name="outputIndex">The output index.</param>
            <param name="outputLength">The output length.</param>
            <param name="flush">If set to <see langword="true" />, all internally buffered data should be flushed to the output buffer.</param>
        </member>
        <member name="M:MimeKit.IO.Filters.ArmoredFromFilter.Reset">
            <summary>
            Reset the filter.
            </summary>
            <remarks>
            Resets the filter.
            </remarks>
        </member>
        <member name="T:MimeKit.IO.Filters.BestEncodingFilter">
            <summary>
            A filter that can be used to determine the most efficient Content-Transfer-Encoding.
            </summary>
            <remarks>
            Keeps track of the content that gets passed through the filter in order to
            determine the most efficient <see cref="T:MimeKit.ContentEncoding"/> to use.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.Filters.BestEncodingFilter.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.Filters.BestEncodingFilter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.Filters.BestEncodingFilter"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.Filters.BestEncodingFilter.GetBestEncoding(MimeKit.EncodingConstraint,System.Int32)">
            <summary>
            Get the best encoding given the specified constraints.
            </summary>
            <remarks>
            Gets the best encoding given the specified constraints.
            </remarks>
            <returns>The best encoding.</returns>
            <param name="constraint">The encoding constraint.</param>
            <param name="maxLineLength">The maximum allowable line length (not counting the CRLF). Must be between <c>60</c> and <c>998</c> (inclusive).</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="maxLineLength"/> is not between <c>60</c> and <c>998</c> (inclusive).</para>
            <para>-or-</para>
            <para><paramref name="constraint"/> is not a valid value.</para>
            </exception>
        </member>
        <member name="M:MimeKit.IO.Filters.BestEncodingFilter.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes of the input to filter.</param>
            <param name="outputIndex">The starting index of the output in the returned buffer.</param>
            <param name="outputLength">The length of the output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="input"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
        </member>
        <member name="M:MimeKit.IO.Filters.BestEncodingFilter.Flush(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@)">
            <summary>
            Filter the specified input, flushing all internally buffered data to the output.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes of the input to filter.</param>
            <param name="outputIndex">The starting index of the output in the returned buffer.</param>
            <param name="outputLength">The length of the output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="input"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
        </member>
        <member name="M:MimeKit.IO.Filters.BestEncodingFilter.Reset">
            <summary>
            Reset the filter.
            </summary>
            <remarks>
            Resets the filter.
            </remarks>
        </member>
        <member name="T:MimeKit.IO.Filters.CharsetFilter">
            <summary>
            A charset filter for incrementally converting text streams from
            one charset encoding to another.
            </summary>
            <remarks>
            Incrementally converts text from one charset encoding to another.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.Filters.CharsetFilter.#ctor(System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.Filters.CharsetFilter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.Filters.CharsetFilter"/> to convert text from the specified
            source encoding into the target charset encoding.
            </remarks>
            <param name="sourceEncodingName">Source encoding name.</param>
            <param name="targetEncodingName">Target encoding name.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="sourceEncodingName"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="targetEncodingName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>The <paramref name="sourceEncodingName"/> is not supported by the system.</para>
            <para>-or-</para>
            <para>The <paramref name="targetEncodingName"/> is not supported by the system.</para>
            </exception>
        </member>
        <member name="M:MimeKit.IO.Filters.CharsetFilter.#ctor(System.Int32,System.Int32)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.Filters.CharsetFilter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.Filters.CharsetFilter"/> to convert text from the specified
            source encoding into the target charset encoding.
            </remarks>
            <param name="sourceCodePage">Source code page.</param>
            <param name="targetCodePage">Target code page.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="sourceCodePage"/> is less than zero or greater than 65535.</para>
            <para>-or-</para>
            <para><paramref name="targetCodePage"/> is less than zero or greater than 65535.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>The <paramref name="sourceCodePage"/> is not supported by the system.</para>
            <para>-or-</para>
            <para>The <paramref name="targetCodePage"/> is not supported by the system.</para>
            </exception>
        </member>
        <member name="M:MimeKit.IO.Filters.CharsetFilter.#ctor(System.Text.Encoding,System.Text.Encoding)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.Filters.CharsetFilter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.Filters.CharsetFilter"/> to convert text from the specified
            source encoding into the target charset encoding.
            </remarks>
            <param name="sourceEncoding">Source encoding.</param>
            <param name="targetEncoding">Target encoding.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="sourceEncoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="targetEncoding"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="P:MimeKit.IO.Filters.CharsetFilter.SourceEncoding">
            <summary>
            Get the source encoding.
            </summary>
            <remarks>
            Gets the source encoding.
            </remarks>
            <value>The source encoding.</value>
        </member>
        <member name="P:MimeKit.IO.Filters.CharsetFilter.TargetEncoding">
            <summary>
            Get the target encoding.
            </summary>
            <remarks>
            Gets the target encoding.
            </remarks>
            <value>The target encoding.</value>
        </member>
        <member name="M:MimeKit.IO.Filters.CharsetFilter.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer, starting at <paramref name="startIndex"/>.</param>
            <param name="outputIndex">The output index.</param>
            <param name="outputLength">The output length.</param>
            <param name="flush">If set to <see langword="true" />, all internally buffered data should be flushed to the output buffer.</param>
        </member>
        <member name="M:MimeKit.IO.Filters.CharsetFilter.Reset">
            <summary>
            Reset the filter.
            </summary>
            <remarks>
            Resets the filter.
            </remarks>
        </member>
        <member name="T:MimeKit.IO.Filters.DecoderFilter">
            <summary>
            A filter for decoding MIME content.
            </summary>
            <remarks>
            Uses a <see cref="T:MimeKit.Encodings.IMimeDecoder"/> to incrementally decode data.
            </remarks>
        </member>
        <member name="P:MimeKit.IO.Filters.DecoderFilter.Decoder">
            <summary>
            Get the decoder used by this filter.
            </summary>
            <remarks>
            Gets the decoder used by this filter.
            </remarks>
            <value>The decoder.</value>
        </member>
        <member name="P:MimeKit.IO.Filters.DecoderFilter.Encoding">
            <summary>
            Get the encoding.
            </summary>
            <remarks>
            Gets the encoding that the decoder supports.
            </remarks>
            <value>The encoding.</value>
        </member>
        <member name="M:MimeKit.IO.Filters.DecoderFilter.#ctor(MimeKit.Encodings.IMimeDecoder)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.Filters.DecoderFilter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.Filters.DecoderFilter"/> using the specified decoder.
            </remarks>
            <param name="decoder">A specific decoder for the filter to use.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="decoder"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.IO.Filters.DecoderFilter.Create(MimeKit.ContentEncoding)">
            <summary>
            Create a filter that will decode the specified encoding.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.Filters.DecoderFilter"/> for the specified encoding.
            </remarks>
            <returns>A new decoder filter.</returns>
            <param name="encoding">The encoding to create a filter for.</param>
        </member>
        <member name="M:MimeKit.IO.Filters.DecoderFilter.Create(System.String)">
            <summary>
            Create a filter that will decode the specified encoding.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.Filters.DecoderFilter"/> for the specified encoding.
            </remarks>
            <returns>A new decoder filter.</returns>
            <param name="name">The name of the encoding to create a filter for.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.IO.Filters.DecoderFilter.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer, starting at <paramref name="startIndex"/>.</param>
            <param name="outputIndex">The output index.</param>
            <param name="outputLength">The output length.</param>
            <param name="flush">If set to <see langword="true" />, all internally buffered data should be flushed to the output buffer.</param>
        </member>
        <member name="M:MimeKit.IO.Filters.DecoderFilter.Reset">
            <summary>
            Reset the filter.
            </summary>
            <remarks>
            Resets the filter.
            </remarks>
        </member>
        <member name="T:MimeKit.IO.Filters.Dos2UnixFilter">
            <summary>
            A filter that will convert from Windows/DOS line endings to Unix line endings.
            </summary>
            <remarks>
            Converts from Windows/DOS line endings to Unix line endings.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.Filters.Dos2UnixFilter.#ctor(System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.Filters.Dos2UnixFilter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.Filters.Dos2UnixFilter"/>.
            </remarks>
            <param name="ensureNewLine">Ensure that the stream ends with a new line.</param>
        </member>
        <member name="M:MimeKit.IO.Filters.Dos2UnixFilter.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer, starting at <paramref name="startIndex"/>.</param>
            <param name="outputIndex">The output index.</param>
            <param name="outputLength">The output length.</param>
            <param name="flush">If set to <see langword="true" />, all internally buffered data should be flushed to the output buffer.</param>
        </member>
        <member name="M:MimeKit.IO.Filters.Dos2UnixFilter.Reset">
            <summary>
            Reset the filter.
            </summary>
            <remarks>
            Resets the filter.
            </remarks>
        </member>
        <member name="T:MimeKit.IO.Filters.EncoderFilter">
            <summary>
            A filter for encoding MIME content.
            </summary>
            <remarks>
            Uses a <see cref="T:MimeKit.Encodings.IMimeEncoder"/> to incrementally encode data.
            </remarks>
        </member>
        <member name="P:MimeKit.IO.Filters.EncoderFilter.Encoder">
            <summary>
            Get the encoder used by this filter.
            </summary>
            <remarks>
            Gets the encoder used by this filter.
            </remarks>
            <value>The encoder.</value>
        </member>
        <member name="P:MimeKit.IO.Filters.EncoderFilter.Encoding">
            <summary>
            Get the encoding.
            </summary>
            <remarks>
            Gets the encoding that the encoder supports.
            </remarks>
            <value>The encoding.</value>
        </member>
        <member name="M:MimeKit.IO.Filters.EncoderFilter.#ctor(MimeKit.Encodings.IMimeEncoder)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.Filters.EncoderFilter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.Filters.IMimeFilter"/> using the specified encoder.
            </remarks>
            <param name="encoder">A specific encoder for the filter to use.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="encoder"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.IO.Filters.EncoderFilter.Create(MimeKit.ContentEncoding,System.Int32)">
            <summary>
            Create a filter that will encode using specified encoding.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.Filters.IMimeFilter"/> for the specified encoding.
            </remarks>
            <returns>A new encoder filter.</returns>
            <param name="encoding">The encoding to create a filter for.</param>
            <param name="maxLineLength">The maximum number of octets allowed per line (not counting the CRLF). Must be between <c>60</c> and <c>998</c> (inclusive).</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="maxLineLength"/> is not between <c>60</c> and <c>998</c> (inclusive).
            </exception>
        </member>
        <member name="M:MimeKit.IO.Filters.EncoderFilter.Create(System.String,System.Int32)">
            <summary>
            Create a filter that will encode using specified encoding.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.Filters.EncoderFilter"/> for the specified encoding.
            </remarks>
            <returns>A new encoder filter.</returns>
            <param name="name">The name of the encoding to create a filter for.</param>
            <param name="maxLineLength">The maximum number of octets allowed per line (not counting the CRLF). Must be between <c>60</c> and <c>998</c> (inclusive).</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="maxLineLength"/> is not between <c>60</c> and <c>998</c> (inclusive).
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.IO.Filters.EncoderFilter.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer, starting at <paramref name="startIndex"/>.</param>
            <param name="outputIndex">The output index.</param>
            <param name="outputLength">The output length.</param>
            <param name="flush">If set to <see langword="true" />, all internally buffered data should be flushed to the output buffer.</param>
        </member>
        <member name="M:MimeKit.IO.Filters.EncoderFilter.Reset">
            <summary>
            Reset the filter.
            </summary>
            <remarks>
            Resets the filter.
            </remarks>
        </member>
        <member name="T:MimeKit.IO.Filters.IMimeFilter">
            <summary>
            An interface for incrementally filtering data.
            </summary>
            <remarks>
            An interface for incrementally filtering data.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.Filters.IMimeFilter.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes of the input to filter.</param>
            <param name="outputIndex">The starting index of the output in the returned buffer.</param>
            <param name="outputLength">The length of the output buffer.</param>
        </member>
        <member name="M:MimeKit.IO.Filters.IMimeFilter.Flush(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@)">
            <summary>
            Filter the specified input, flushing all internally buffered data to the output.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes of the input to filter.</param>
            <param name="outputIndex">The starting index of the output in the returned buffer.</param>
            <param name="outputLength">The length of the output buffer.</param>
        </member>
        <member name="M:MimeKit.IO.Filters.IMimeFilter.Reset">
            <summary>
            Reset the filter.
            </summary>
            <remarks>
            Resets the filter.
            </remarks>
        </member>
        <member name="T:MimeKit.IO.Filters.MboxFromFilter">
            <summary>
            A filter that munges lines beginning with "From " by stuffing a '&gt;' into the beginning of the line.
            </summary>
            <remarks>
            <para>Munging Mbox-style "From "-lines is a workaround to prevent Mbox parsers from misinterpreting a
            line beginning with "From " as an mbox marker delineating messages. This munging is non-reversable but
            is necessary to properly format a message for saving to an Mbox file.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.IO.Filters.MboxFromFilter.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.Filters.MboxFromFilter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.Filters.MboxFromFilter"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.Filters.MboxFromFilter.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer, starting at <paramref name="startIndex"/>.</param>
            <param name="outputIndex">The output index.</param>
            <param name="outputLength">The output length.</param>
            <param name="flush">If set to <see langword="true" />, all internally buffered data should be flushed to the output buffer.</param>
        </member>
        <member name="M:MimeKit.IO.Filters.MboxFromFilter.Reset">
            <summary>
            Reset the filter.
            </summary>
            <remarks>
            Resets the filter.
            </remarks>
        </member>
        <member name="T:MimeKit.IO.Filters.MimeFilterBase">
            <summary>
            A base implementation for MIME filters.
            </summary>
            <remarks>
            A base implementation for MIME filters.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.Filters.MimeFilterBase.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.Filters.MimeFilterBase"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.Filters.MimeFilterBase"/>.
            </remarks>
        </member>
        <member name="P:MimeKit.IO.Filters.MimeFilterBase.OutputBuffer">
            <summary>
            Get the output buffer.
            </summary>
            <remarks>
            Gets the output buffer.
            </remarks>
            <value>The output buffer.</value>
        </member>
        <member name="M:MimeKit.IO.Filters.MimeFilterBase.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer, starting at <paramref name="startIndex"/>.</param>
            <param name="outputIndex">The output index.</param>
            <param name="outputLength">The output length.</param>
            <param name="flush">If set to <see langword="true" />, all internally buffered data should be flushed to the output buffer.</param>
        </member>
        <member name="M:MimeKit.IO.Filters.MimeFilterBase.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes of the input to filter.</param>
            <param name="outputIndex">The starting index of the output in the returned buffer.</param>
            <param name="outputLength">The length of the output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="input"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
        </member>
        <member name="M:MimeKit.IO.Filters.MimeFilterBase.Flush(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@)">
            <summary>
            Filter the specified input, flushing all internally buffered data to the output.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes of the input to filter.</param>
            <param name="outputIndex">The starting index of the output in the returned buffer.</param>
            <param name="outputLength">The length of the output buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="input"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the <paramref name="input"/> byte array.
            </exception>
        </member>
        <member name="M:MimeKit.IO.Filters.MimeFilterBase.Reset">
            <summary>
            Reset the filter.
            </summary>
            <remarks>
            Resets the filter.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.Filters.MimeFilterBase.SaveRemainingInput(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Save the remaining input for the next round of processing.
            </summary>
            <remarks>
            Saves the remaining input for the next round of processing.
            </remarks>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the buffer to save.</param>
            <param name="length">The length of the buffer to save, starting at <paramref name="startIndex"/>.</param>
        </member>
        <member name="M:MimeKit.IO.Filters.MimeFilterBase.EnsureOutputSize(System.Int32,System.Boolean)">
            <summary>
            Ensure that the output buffer is greater than or equal to the specified size.
            </summary>
            <remarks>
            Ensures that the output buffer is greater than or equal to the specified size.
            </remarks>
            <param name="size">The minimum size needed.</param>
            <param name="keep">If set to <see langword="true" />, the current output should be preserved.</param>
        </member>
        <member name="T:MimeKit.IO.Filters.PassThroughFilter">
            <summary>
            A filter that simply passes data through without any processing.
            </summary>
            <remarks>
            Passes data through without any processing.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.Filters.PassThroughFilter.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.Filters.PassThroughFilter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.Filters.PassThroughFilter"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.Filters.PassThroughFilter.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes of the input to filter.</param>
            <param name="outputIndex">The starting index of the output in the returned buffer.</param>
            <param name="outputLength">The length of the output buffer.</param>
        </member>
        <member name="M:MimeKit.IO.Filters.PassThroughFilter.Flush(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@)">
            <summary>
            Filter the specified input, flushing all internally buffered data to the output.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes of the input to filter.</param>
            <param name="outputIndex">The starting index of the output in the returned buffer.</param>
            <param name="outputLength">The length of the output buffer.</param>
        </member>
        <member name="M:MimeKit.IO.Filters.PassThroughFilter.Reset">
            <summary>
            Reset the filter.
            </summary>
            <remarks>
            Resets the filter.
            </remarks>
        </member>
        <member name="T:MimeKit.IO.Filters.TrailingWhitespaceFilter">
            <summary>
            A filter for stripping trailing whitespace from lines in a textual stream.
            </summary>
            <remarks>
            Strips trailing whitespace from lines in a textual stream.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.Filters.TrailingWhitespaceFilter.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.Filters.TrailingWhitespaceFilter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.Filters.TrailingWhitespaceFilter"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.Filters.TrailingWhitespaceFilter.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer, starting at <paramref name="startIndex"/>.</param>
            <param name="outputIndex">The output index.</param>
            <param name="outputLength">The output length.</param>
            <param name="flush">If set to <see langword="true" />, all internally buffered data should be flushed to the output buffer.</param>
        </member>
        <member name="M:MimeKit.IO.Filters.TrailingWhitespaceFilter.Reset">
            <summary>
            Reset the filter.
            </summary>
            <remarks>
            Resets the filter.
            </remarks>
        </member>
        <member name="T:MimeKit.IO.Filters.Unix2DosFilter">
            <summary>
            A filter that will convert from Unix line endings to Windows/DOS line endings.
            </summary>
            <remarks>
            Converts from Unix line endings to Windows/DOS line endings.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.Filters.Unix2DosFilter.#ctor(System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.Filters.Unix2DosFilter"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.Filters.Unix2DosFilter"/>.
            </remarks>
            <param name="ensureNewLine">Ensure that the stream ends with a new line.</param>
        </member>
        <member name="M:MimeKit.IO.Filters.Unix2DosFilter.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>
            Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.
            </remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The length of the input buffer, starting at <paramref name="startIndex"/>.</param>
            <param name="outputIndex">The output index.</param>
            <param name="outputLength">The output length.</param>
            <param name="flush">If set to <see langword="true" />, all internally buffered data should be flushed to the output buffer.</param>
        </member>
        <member name="M:MimeKit.IO.Filters.Unix2DosFilter.Reset">
            <summary>
            Reset the filter.
            </summary>
            <remarks>
            Resets the filter.
            </remarks>
        </member>
        <member name="T:MimeKit.IO.ICancellableStream">
            <summary>
            An interface allowing for a cancellable stream reading operation.
            </summary>
            <remarks>
            <para>This interface is meant to extend the functionality of a <see cref="T:System.IO.Stream"/>,
            allowing the <see cref="T:MimeKit.MimeParser"/> to have much finer-grained canellability.</para>
            <para>When a custom stream implementation also implements this interface,
            the <see cref="T:MimeKit.MimeParser"/> will opt to use this interface
            instead of the normal <see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)"/>
            API to read data from the stream.</para>
            <para>This is really useful when parsing a message or other MIME entity
            directly from a network-based stream.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.IO.ICancellableStream.Read(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Read a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            <para>When a custom stream implementation also implements this interface,
            the <see cref="T:MimeKit.MimeParser"/> will opt to use this interface
            instead of the normal <see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)"/>
            API to read data from the stream.</para>
            <para>This is really useful when parsing a message or other MIME entity
            directly from a network-based stream.</para>
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
            bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of bytes to read.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MimeKit.IO.ICancellableStream.Write(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Write a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            <para>When a custom stream implementation also implements this interface,
            writing a <see cref="T:MimeKit.MimeMessage"/> or <see cref="T:MimeKit.MimeEntity"/>
            to the custom stream will opt to use this interface
            instead of the normal <see cref="M:System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)"/>
            API to write data to the stream.</para>
            <para>This is really useful when writing a message or other MIME entity
            directly to a network-based stream.</para>
            </remarks>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <param name="cancellationToken">The cancellation token</param>
        </member>
        <member name="M:MimeKit.IO.ICancellableStream.Flush(System.Threading.CancellationToken)">
            <summary>
            Clear all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Clears all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="T:MimeKit.IO.MeasuringStream">
            <summary>
            A stream useful for measuring the amount of data written.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.IO.MeasuringStream"/> keeps track of the number of bytes
            that have been written to it. This is useful, for example, when you
            need to know how large a <see cref="T:MimeKit.MimeMessage"/> is without
            actually writing it to disk or into a memory buffer.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.MeasuringStream.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.MeasuringStream"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.MeasuringStream"/>.
            </remarks>
        </member>
        <member name="P:MimeKit.IO.MeasuringStream.CanRead">
            <summary>
            Check whether the stream supports reading.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.IO.MeasuringStream"/> is not readable.
            </remarks>
            <value><see langword="true" /> if the stream supports reading; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.MeasuringStream.CanWrite">
            <summary>
            Check whether the stream supports writing.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.IO.MeasuringStream"/> is always writable.
            </remarks>
            <value><see langword="true" /> if the stream supports writing; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.MeasuringStream.CanSeek">
            <summary>
            Check whether the stream supports seeking.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.IO.MeasuringStream"/> is always seekable.
            </remarks>
            <value><see langword="true" /> if the stream supports seeking; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.MeasuringStream.CanTimeout">
            <summary>
            Check whether reading and writing to the stream can time out.
            </summary>
            <remarks>
            Writing to a <see cref="T:MimeKit.IO.MeasuringStream"/> cannot timeout.
            </remarks>
            <value><see langword="true" /> if reading and writing to the stream can time out; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.MeasuringStream.Length">
            <summary>
            Get the length of the stream, in bytes.
            </summary>
            <remarks>
            The length of a <see cref="T:MimeKit.IO.MeasuringStream"/> indicates the
            number of bytes that have been written to it.
            </remarks>
            <value>The length of the stream in bytes.</value>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.IO.MeasuringStream.Position">
            <summary>
            Get or set the current position within the stream.
            </summary>
            <remarks>
            Since it is possible to seek within a <see cref="T:MimeKit.IO.MeasuringStream"/>,
            it is possible that the position will not always be identical to the
            length of the stream, but typically it will be.
            </remarks>
            <value>The position of the stream.</value>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.IO.MeasuringStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Read a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reading from a <see cref="T:MimeKit.IO.MeasuringStream"/> is not supported.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if
            that many bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of bytes to read.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support reading.
            </exception>
        </member>
        <member name="M:MimeKit.IO.MeasuringStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously read a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reading from a <see cref="T:MimeKit.IO.MeasuringStream"/> is not supported.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if
            that many bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of bytes to read.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support reading.
            </exception>
        </member>
        <member name="M:MimeKit.IO.MeasuringStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Write a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Increments the <see cref="P:MimeKit.IO.MeasuringStream.Position"/> property by the number of bytes written.
            If the updated position is greater than the current length of the stream, then
            the <see cref="P:MimeKit.IO.MeasuringStream.Length"/> property will be updated to be identical to the
            position.
            </remarks>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.MeasuringStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Increments the <see cref="P:MimeKit.IO.MeasuringStream.Position"/> property by the number of bytes written.
            If the updated position is greater than the current length of the stream, then
            the <see cref="P:MimeKit.IO.MeasuringStream.Length"/> property will be updated to be identical to the
            position.
            </remarks>
            <returns>A task that represents the asynchronous write operation.</returns>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.MeasuringStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Set the position within the current stream.
            </summary>
            <remarks>
            Updates the <see cref="P:MimeKit.IO.MeasuringStream.Position"/> within the stream.
            </remarks>
            <returns>The new position within the stream.</returns>
            <param name="offset">The offset into the stream relative to the <paramref name="origin"/>.</param>
            <param name="origin">The origin to seek from.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="origin"/> is not a valid <see cref="T:System.IO.SeekOrigin"/>. 
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.IO.MeasuringStream.Flush">
            <summary>
            Clear all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Since a <see cref="T:MimeKit.IO.MeasuringStream"/> does not actually do anything other than
            count bytes, this method is a no-op.
            </remarks>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.IO.MeasuringStream.FlushAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously clear all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Since a <see cref="T:MimeKit.IO.MeasuringStream"/> does not actually do anything other than
            count bytes, this method is a no-op.
            </remarks>
            <returns>A task that represents the asynchronous flush operation.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.IO.MeasuringStream.SetLength(System.Int64)">
            <summary>
            Set the length of the stream.
            </summary>
            <remarks>
            Sets the <see cref="P:MimeKit.IO.MeasuringStream.Length"/> to the specified value and updates
            <see cref="P:MimeKit.IO.MeasuringStream.Position"/> to the specified value if (and only if)
            the current position is greater than the new length value.
            </remarks>
            <param name="value">The desired length of the stream in bytes.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.IO.MeasuringStream.Dispose(System.Boolean)">
            <summary>
            Release the unmanaged resources used by the <see cref="T:MimeKit.IO.MeasuringStream"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.IO.MeasuringStream"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MimeKit.IO.MemoryBlockStream">
            <summary>
            An efficient memory stream implementation that sacrifices the ability to
            get access to the internal byte buffer in order to drastically improve
            performance.
            </summary>
            <remarks>
            Instead of resizing an internal byte array, the <see cref="T:MimeKit.IO.MemoryBlockStream"/>
            chains blocks of non-contiguous memory. This helps improve performance by avoiding
            unneeded copying of data from the old array to the newly allocated array as well
            as the zeroing of the newly allocated array.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.MemoryBlockStream.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.IO.MemoryBlockStream"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.IO.MemoryBlockStream"/> with an initial memory block
            of 2048 bytes.
            </remarks>
        </member>
        <member name="M:MimeKit.IO.MemoryBlockStream.ToArray">
            <summary>
            Copy the memory stream into a byte array.
            </summary>
            <remarks>
            Copies all the stream data into a newly allocated byte array.
            </remarks>
            <returns>The array.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.IO.MemoryBlockStream.CanRead">
            <summary>
            Check whether the stream supports reading.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.IO.MemoryBlockStream"/> is always readable.
            </remarks>
            <value><see langword="true" /> if the stream supports reading; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.MemoryBlockStream.CanWrite">
            <summary>
            Check whether the stream supports writing.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.IO.MemoryBlockStream"/> is always writable.
            </remarks>
            <value><see langword="true" /> if the stream supports writing; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.MemoryBlockStream.CanSeek">
            <summary>
            Check whether the stream supports seeking.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.IO.MemoryBlockStream"/> is always seekable.
            </remarks>
            <value><see langword="true" /> if the stream supports seeking; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.MemoryBlockStream.CanTimeout">
            <summary>
            Check whether reading and writing to the stream can time out.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.IO.MemoryBlockStream"/> does not support timing out.
            </remarks>
            <value><see langword="true" /> if reading and writing to the stream can time out; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.IO.MemoryBlockStream.Length">
            <summary>
            Get the length of the stream, in bytes.
            </summary>
            <remarks>
            Gets the length of the stream, in bytes.
            </remarks>
            <value>The length of the stream, in bytes.</value>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.IO.MemoryBlockStream.Position">
            <summary>
            Get or set the current position within the stream.
            </summary>
            <remarks>
            Gets or sets the current position within the stream.
            </remarks>
            <value>The position of the stream.</value>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.IO.MemoryBlockStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Read a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if
            that many bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of bytes to read.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.MemoryBlockStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously read a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if
            that many bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of bytes to read.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.MemoryBlockStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Write a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Writes the entire buffer to the stream and advances the current position
            within the stream by the number of bytes written, adding memory blocks as
            needed in order to contain the newly written bytes.
            </remarks>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.MemoryBlockStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Writes the entire buffer to the stream and advances the current position
            within the stream by the number of bytes written, adding memory blocks as
            needed in order to contain the newly written bytes.
            </remarks>
            <returns>A task that represents the asynchronous write operation.</returns>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.MemoryBlockStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Set the position within the current stream.
            </summary>
            <remarks>
            Sets the position within the current stream.
            </remarks>
            <returns>The new position within the stream.</returns>
            <param name="offset">The offset into the stream relative to the <paramref name="origin"/>.</param>
            <param name="origin">The origin to seek from.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="origin"/> is not a valid <see cref="T:System.IO.SeekOrigin"/>. 
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.IO.MemoryBlockStream.Flush">
            <summary>
            Clear all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            This method does not do anything.
            </remarks>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.IO.MemoryBlockStream.FlushAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously clear all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            This method does not do anything.
            </remarks>
            <returns>A task that represents the asynchronous flush operation.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.IO.MemoryBlockStream.SetLength(System.Int64)">
            <summary>
            Set the length of the stream.
            </summary>
            <remarks>
            Sets the length of the stream.
            </remarks>
            <param name="value">The desired length of the stream in bytes.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.IO.MemoryBlockStream.Dispose(System.Boolean)">
            <summary>
            Release the unmanaged resources used by the <see cref="T:MimeKit.IO.MemoryBlockStream"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.IO.MemoryBlockStream"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MimeKit.ITextPart">
            <summary>
            An interface for a textual MIME part.
            </summary>
            <remarks>
            <para>Unless overridden, all textual parts parsed by the <see cref="T:MimeKit.MimeParser"/>,
            such as text/plain or text/html, will be represented by a <see cref="T:MimeKit.TextPart"/>.</para>
            <para>For more information about text media types, see section 4.1 of
            <a href="https://tools.ietf.org/html/rfc2046#section-4.1">rfc2046</a>.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
        </member>
        <member name="P:MimeKit.ITextPart.Format">
            <summary>
            Get the text format of the content.
            </summary>
            <remarks>
            Gets the text format of the content.
            </remarks>
            <value>The text format of the content.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.ITextPart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.ITextPart.IsEnriched">
            <summary>
            Get whether this text part contains enriched text.
            </summary>
            <remarks>
            Checks whether the text part's Content-Type is <c>text/enriched</c> or its
            predecessor, <c>text/richtext</c> (not to be confused with <c>text/rtf</c>).
            </remarks>
            <value><see langword="true" /> if the text is enriched; otherwise, <see langword="false" />.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.ITextPart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.ITextPart.IsFlowed">
            <summary>
            Get whether this text part contains flowed text.
            </summary>
            <remarks>
            Checks whether the text part's Content-Type is <c>text/plain</c> and
            has a format parameter with a value of <c>flowed</c>.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <value><see langword="true" /> if the text is flowed; otherwise, <see langword="false" />.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.ITextPart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.ITextPart.IsHtml">
            <summary>
            Get whether this text part contains HTML.
            </summary>
            <remarks>
            Checks whether the text part's Content-Type is <c>text/html</c>.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <value><see langword="true" /> if the text is html; otherwise, <see langword="false" />.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.ITextPart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.ITextPart.IsPlain">
            <summary>
            Get whether this text part contains plain text.
            </summary>
            <remarks>
            Checks whether the text part's Content-Type is <c>text/plain</c>.
            </remarks>
            <value><see langword="true" /> if the text is html; otherwise, <see langword="false" />.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.ITextPart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.ITextPart.IsRichText">
            <summary>
            Get whether this text part contains RTF.
            </summary>
            <remarks>
            Checks whether the text part's Content-Type is <c>text/rtf</c>.
            </remarks>
            <value><see langword="true" /> if the text is RTF; otherwise, <see langword="false" />.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.ITextPart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.ITextPart.Text">
            <summary>
            Get the decoded text content.
            </summary>
            <remarks>
            <para>If the charset parameter on the <see cref="P:MimeKit.IMimeEntity.ContentType"/>
            is set, it will be used in order to convert the raw content into unicode.
            If that fails or if the charset parameter is not set, the first 2 bytes of
            the content will be checked for a unicode BOM. If a BOM exists, then that
            will be used for conversion. If no BOM is found, then UTF-8 is attempted.
            If conversion fails, then iso-8859-1 will be used as the final fallback.</para>
            <para>For more control, use <see cref="M:MimeKit.ITextPart.GetText(System.Text.Encoding)"/>
            or <see cref="M:MimeKit.ITextPart.GetText(System.String)"/>.</para>
            </remarks>
            <value>The decocded text.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.ITextPart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.ITextPart.TryDetectEncoding(System.Text.Encoding@,MimeKit.Text.TextEncodingConfidence@)">
            <summary>
            Try to detect the encoding of the text content.
            </summary>
            <remarks>
            <para>Attempts to detect the encoding of the text content.</para>
            <para>If no content is defined, then <paramref name="encoding"/> is set to ASCII and <paramref name="confidence"/>
            is set to <see cref="F:MimeKit.Text.TextEncodingConfidence.Irrelevant"/>.</para>
            <para>If a charset is specified on the <c>Content-Type</c> header and it is a supported encoding, then
            <paramref name="encoding"/> is set to the encoding for the specified charset and <paramref name="confidence"/>
            is set to <see cref="F:MimeKit.Text.TextEncodingConfidence.Certain"/>.</para>
            <para>If a Byte-Order-Mark (BOM) is found, then <paramref name="encoding"/> is set to the corresponding unicode
            encoding and <paramref name="confidence"/> is set to <see cref="F:MimeKit.Text.TextEncodingConfidence.Certain"/>.</para>
            <para>If the content is in HTML format, then the first 1024 bytes are processed for <c>&lt;meta&gt;</c> tags
            containing charset information. If charset information is found and the charset is a supported encoding, then
            <paramref name="encoding"/> is set to the encoding for the specified charset and <paramref name="confidence"/> is
            set to <see cref="F:MimeKit.Text.TextEncodingConfidence.Tentative"/>.</para>
            </remarks>
            <returns><see langword="true" /> if an encoding was detected; otherwise, <see langword="false" />.</returns>
            <param name="encoding">The detected encoding; otherwise, <see langword="null"/>.</param>
            <param name="confidence">The confidence in the detected encoding being correct.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.ITextPart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.ITextPart.GetText(System.Text.Encoding@)">
            <summary>
            Get the decoded text and the encoding used to convert it into unicode.
            </summary>
            <remarks>
            <para>If the charset parameter on the <see cref="P:MimeKit.IMimeEntity.ContentType"/>
            is set, it will be used in order to convert the raw content into unicode.
            If that fails or if the charset parameter is not set, the first 3 bytes of
            the content will be checked for a unicode BOM. If a BOM exists, then that
            will be used for conversion. If no BOM is found, then UTF-8 is attempted.
            If conversion fails, then iso-8859-1 will be used as the final fallback.</para>
            <para>For more control, use <see cref="M:MimeKit.ITextPart.GetText(System.Text.Encoding)"/>
            or <see cref="M:MimeKit.ITextPart.GetText(System.String)"/>.</para>
            </remarks>
            <param name="encoding">The encoding used to convert the text into unicode.</param>
            <returns>The decoded text.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.ITextPart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.ITextPart.GetText(System.Text.Encoding)">
            <summary>
            Get the decoded text content using the provided charset encoding to
            override the charset specified in the Content-Type parameters.
            </summary>
            <remarks>
            Uses the provided charset encoding to convert the raw text content
            into a unicode string, overriding any charset specified in the
            Content-Type header.
            </remarks>
            <returns>The decoded text.</returns>
            <param name="encoding">The charset encoding to use.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="encoding"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.ITextPart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.ITextPart.GetText(System.String)">
            <summary>
            Get the decoded text content using the provided charset to override
            the charset specified in the Content-Type parameters.
            </summary>
            <remarks>
            Uses the provided charset encoding to convert the raw text content
            into a unicode string, overriding any charset specified in the
            Content-Type header.
            </remarks>
            <returns>The decoded text.</returns>
            <param name="charset">The charset encoding to use.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="charset"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <paramref name="charset"/> is not supported.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.ITextPart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.ITextPart.SetText(System.Text.Encoding,System.String)">
            <summary>
            Set the text content and the charset parameter in the Content-Type header.
            </summary>
            <remarks>
            This method is similar to setting the <see cref="P:MimeKit.ITextPart.Text"/> property,
            but allows specifying a charset encoding to use. Also updates the
            <see cref="P:MimeKit.ContentType.Charset"/> property.
            </remarks>
            <param name="encoding">The charset encoding.</param>
            <param name="text">The text content.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="text"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.ITextPart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.ITextPart.SetText(System.String,System.String)">
            <summary>
            Set the text content and the charset parameter in the Content-Type header.
            </summary>
            <remarks>
            This method is similar to setting the <see cref="P:MimeKit.ITextPart.Text"/> property,
            but allows specifying a charset encoding to use. Also updates the
            <see cref="P:MimeKit.ContentType.Charset"/> property.
            </remarks>
            <param name="charset">The charset encoding.</param>
            <param name="text">The text content.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="text"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <paramref name="charset"/> is not supported.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.ITextPart"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.ITextRfc822Headers">
            <summary>
            An interface for a MIME part containing message headers as its content.
            </summary>
            <remarks>
            Represents MIME entities with a Content-Type of text/rfc822-headers.
            </remarks>
        </member>
        <member name="T:MimeKit.MailboxAddress">
            <summary>
            A mailbox address, as specified by rfc822.
            </summary>
            <remarks>
            Represents a mailbox address (commonly referred to as an email address)
            for a single recipient.
            </remarks>
        </member>
        <member name="P:MimeKit.MailboxAddress.IdnMapping">
            <summary>
            Get or set the punycode implementation that should be used for encoding and decoding mailbox addresses.
            </summary>
            <remarks>
            Gets or sets the punycode implementation that should be used for encoding and decoding mailbox addresses.
            </remarks>
            <value>The punycode implementation.</value>
        </member>
        <member name="M:MimeKit.MailboxAddress.#ctor(System.Text.Encoding,System.String,System.Collections.Generic.IEnumerable{System.String},System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MailboxAddress"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MailboxAddress"/> with the specified name, address and route. The
            specified text encoding is used when encoding the name according to the rules of rfc2047.
            </remarks>
            <param name="encoding">The character encoding to be used for encoding the name.</param>
            <param name="name">The name of the mailbox.</param>
            <param name="route">The route of the mailbox.</param>
            <param name="address">The address of the mailbox.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="route"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="address"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="address"/> is malformed.
            </exception>
        </member>
        <member name="M:MimeKit.MailboxAddress.#ctor(System.String,System.Collections.Generic.IEnumerable{System.String},System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MailboxAddress"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MailboxAddress"/> with the specified name, address and route.
            </remarks>
            <param name="name">The name of the mailbox.</param>
            <param name="route">The route of the mailbox.</param>
            <param name="address">The address of the mailbox.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="route"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="address"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="address"/> is malformed.
            </exception>
        </member>
        <member name="M:MimeKit.MailboxAddress.#ctor(System.Text.Encoding,System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MailboxAddress"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MailboxAddress"/> with the specified name and address. The
            specified text encoding is used when encoding the name according to the rules of rfc2047.
            </remarks>
            <param name="encoding">The character encoding to be used for encoding the name.</param>
            <param name="name">The name of the mailbox.</param>
            <param name="address">The address of the mailbox.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="address"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="address"/> is malformed.
            </exception>
        </member>
        <member name="M:MimeKit.MailboxAddress.#ctor(System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MailboxAddress"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MailboxAddress"/> with the specified name and address.
            </remarks>
            <param name="name">The name of the mailbox.</param>
            <param name="address">The address of the mailbox.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="address"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="address"/> is malformed.
            </exception>
        </member>
        <member name="M:MimeKit.MailboxAddress.Clone">
            <summary>
            Clone the mailbox address.
            </summary>
            <remarks>
            Clones the mailbox address.
            </remarks>
            <returns>The cloned mailbox address.</returns>
        </member>
        <member name="P:MimeKit.MailboxAddress.Route">
            <summary>
            Get the mailbox route.
            </summary>
            <remarks>
            A route is convention that is rarely seen in modern email systems, but is supported
            for compatibility with email archives.
            </remarks>
            <value>The mailbox route.</value>
        </member>
        <member name="P:MimeKit.MailboxAddress.Address">
            <summary>
            Get or set the mailbox address.
            </summary>
            <remarks>
            Represents the actual email address and is in the form of <c>user@domain.com</c>.
            </remarks>
            <value>The mailbox address.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="value"/> is malformed.
            </exception>
        </member>
        <member name="P:MimeKit.MailboxAddress.LocalPart">
            <summary>
            Get the local-part of the email address.
            </summary>
            <remarks>
            Gets the local-part of the email address, sometimes referred to as the "user" portion of an email address.
            </remarks>
            <value>The local-part portion of the mailbox address.</value>
        </member>
        <member name="P:MimeKit.MailboxAddress.Domain">
            <summary>
            Get the domain of the email address.
            </summary>
            <remarks>
            Gets the domain of the email address.
            </remarks>
            <value>The domain portion of the mailbox address.</value>
        </member>
        <member name="P:MimeKit.MailboxAddress.IsInternational">
            <summary>
            Get whether the address is an international address.
            </summary>
            <remarks>
            <para>International addresses are addresses that contain international
            characters in either their local-parts or their domains.</para>
            <para>For more information, see section 3.2 of
            <a href="https://tools.ietf.org/html/rfc6532#section-3.2">rfc6532</a>.</para>
            </remarks>
            <value><see langword="true" /> if the address is an international address; otherwise, <see langword="false" />.</value>
        </member>
        <member name="M:MimeKit.MailboxAddress.EncodeAddrspec(System.String)">
            <summary>
            Encode an addrspec token according to IDN encoding rules.
            </summary>
            <remarks>
            Encodes an addrspec token according to IDN encoding rules.
            </remarks>
            <returns>The encoded addrspec token.</returns>
            <param name="addrspec">The addrspec token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="addrspec"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MailboxAddress.DecodeAddrspec(System.String)">
            <summary>
            Decode an addrspec token according to IDN decoding rules.
            </summary>
            <remarks>
            Decodes an addrspec token according to IDN decoding rules.
            </remarks>
            <returns>The decoded addrspec token.</returns>
            <param name="addrspec">The addrspec token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="addrspec"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MailboxAddress.GetAddress(System.Boolean)">
            <summary>
            Get the mailbox address, optionally encoded according to IDN encoding rules.
            </summary>
            <remarks>
            If <paramref name="idnEncode"/> is <see langword="true" />, then the returned mailbox address will be encoded according to the IDN encoding rules.
            </remarks>
            <param name="idnEncode"><see langword="true" /> if the address should be encoded according to IDN encoding rules; otherwise, <see langword="false" />.</param>
            <returns>The mailbox address.</returns>
        </member>
        <member name="M:MimeKit.MailboxAddress.ToString(MimeKit.FormatOptions,System.Boolean)">
            <summary>
            Return a string representation of the <see cref="T:MimeKit.MailboxAddress"/>,
            optionally encoding it for transport.
            </summary>
            <remarks>
            Returns a string containing the formatted mailbox address. If the <paramref name="encode"/>
            parameter is <see langword="true" />, then the mailbox name will be encoded according to the rules defined
            in rfc2047, otherwise the name will not be encoded at all and will therefor only be suitable
            for display purposes.
            </remarks>
            <returns>A string representing the <see cref="T:MimeKit.MailboxAddress"/>.</returns>
            <param name="options">The formatting options.</param>
            <param name="encode">If set to <see langword="true" />, the <see cref="T:MimeKit.MailboxAddress"/> will be encoded.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="options"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MailboxAddress.Equals(MimeKit.InternetAddress)">
            <summary>
            Determine whether the specified <see cref="T:MimeKit.MailboxAddress"/> is equal to the current <see cref="T:MimeKit.MailboxAddress"/>.
            </summary>
            <remarks>
            Compares two mailbox addresses to determine if they are identical or not.
            </remarks>
            <param name="other">The <see cref="T:MimeKit.MailboxAddress"/> to compare with the current <see cref="T:MimeKit.MailboxAddress"/>.</param>
            <returns><see langword="true" /> if the specified <see cref="T:MimeKit.MailboxAddress"/> is equal to the current
            <see cref="T:MimeKit.MailboxAddress"/>; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.MailboxAddress.TryParse(MimeKit.ParserOptions,System.Byte[],System.Int32,System.Int32,MimeKit.MailboxAddress@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.MailboxAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/>. If the address is not a mailbox address or
            there is more than a single mailbox address, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <param name="mailbox">The parsed mailbox address.</param>
        </member>
        <member name="M:MimeKit.MailboxAddress.TryParse(System.Byte[],System.Int32,System.Int32,MimeKit.MailboxAddress@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.MailboxAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/>. If the address is not a mailbox address or
            there is more than a single mailbox address, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <param name="mailbox">The parsed mailbox address.</param>
        </member>
        <member name="M:MimeKit.MailboxAddress.TryParse(MimeKit.ParserOptions,System.Byte[],System.Int32,MimeKit.MailboxAddress@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.MailboxAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/>. If the address is not a mailbox address or
            there is more than a single mailbox address, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="mailbox">The parsed mailbox address.</param>
        </member>
        <member name="M:MimeKit.MailboxAddress.TryParse(System.Byte[],System.Int32,MimeKit.MailboxAddress@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.MailboxAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/>. If the address is not a mailbox address or
            there is more than a single mailbox address, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="mailbox">The parsed mailbox address.</param>
        </member>
        <member name="M:MimeKit.MailboxAddress.TryParse(MimeKit.ParserOptions,System.Byte[],MimeKit.MailboxAddress@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.MailboxAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/>. If the address is not a mailbox address or
            there is more than a single mailbox address, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="mailbox">The parsed mailbox address.</param>
        </member>
        <member name="M:MimeKit.MailboxAddress.TryParse(System.Byte[],MimeKit.MailboxAddress@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:MimeKit.MailboxAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/>. If the address is not a mailbox address or
            there is more than a single mailbox address, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="mailbox">The parsed mailbox address.</param>
        </member>
        <member name="M:MimeKit.MailboxAddress.TryParse(MimeKit.ParserOptions,System.String,MimeKit.MailboxAddress@)">
            <summary>
            Try to parse the given text into a new <see cref="T:MimeKit.MailboxAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/>. If the address is not a mailbox address or
            there is more than a single mailbox address, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="options">The parser options to use.</param>
            <param name="text">The text.</param>
            <param name="mailbox">The parsed mailbox address.</param>
        </member>
        <member name="M:MimeKit.MailboxAddress.TryParse(System.String,MimeKit.MailboxAddress@)">
            <summary>
            Try to parse the given text into a new <see cref="T:MimeKit.MailboxAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/>. If the address is not a mailbox address or
            there is more than a single mailbox address, then parsing will fail.
            </remarks>
            <returns><see langword="true" /> if the address was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="text">The text.</param>
            <param name="mailbox">The parsed mailbox address.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MailboxAddress.Parse(MimeKit.ParserOptions,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.MailboxAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/>. If the address is not a mailbox address or
            there is more than a single mailbox address, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.MailboxAddress"/>.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the byte array.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.MailboxAddress.Parse(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.MailboxAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/>. If the address is not a mailbox address or
            there is more than a single mailbox address, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.MailboxAddress"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the byte array.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.MailboxAddress.Parse(MimeKit.ParserOptions,System.Byte[],System.Int32)">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.MailboxAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/>. If the address is not a mailbox address or
            there is more than a single mailbox address, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.MailboxAddress"/>.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/>is out of range.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.MailboxAddress.Parse(System.Byte[],System.Int32)">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.MailboxAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/>. If the address is not a mailbox address or
            there is more than a single mailbox address, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.MailboxAddress"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is out of range.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.MailboxAddress.Parse(MimeKit.ParserOptions,System.Byte[])">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.MailboxAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/>. If the address is not a mailbox address or
            there is more than a single mailbox address, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.MailboxAddress"/>.</returns>
            <param name="options">The parser options to use.</param>
            <param name="buffer">The input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.MailboxAddress.Parse(System.Byte[])">
            <summary>
            Parse the given input buffer into a new <see cref="T:MimeKit.MailboxAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/>. If the address is not a mailbox address or
            there is more than a single mailbox address, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.MailboxAddress"/>.</returns>
            <param name="buffer">The input buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="buffer"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.MailboxAddress.Parse(MimeKit.ParserOptions,System.String)">
            <summary>
            Parse the given text into a new <see cref="T:MimeKit.MailboxAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/>. If the address is not a mailbox address or
            there is more than a single mailbox address, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.MailboxAddress"/>.</returns>
            <param name="options">The parser options to use.</param>
            <param name="text">The text.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="text"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="text"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.MailboxAddress.Parse(System.String)">
            <summary>
            Parse the given text into a new <see cref="T:MimeKit.MailboxAddress"/> instance.
            </summary>
            <remarks>
            Parses a single <see cref="T:MimeKit.MailboxAddress"/>. If the address is not a mailbox address or
            there is more than a single mailbox address, then parsing will fail.
            </remarks>
            <returns>The parsed <see cref="T:MimeKit.MailboxAddress"/>.</returns>
            <param name="text">The text.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="text"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.MailboxAddress.op_Explicit(MimeKit.MailboxAddress)~System.Net.Mail.MailAddress">
            <summary>
            Explicit cast to convert a <see cref="T:MimeKit.MailboxAddress"/> to a
            <see cref="T:System.Net.Mail.MailAddress"/>.
            </summary>
            <remarks>
            Casts a <see cref="T:MimeKit.MailboxAddress"/> to a <see cref="T:System.Net.Mail.MailAddress"/>
            in cases where you might want to make use of the System.Net.Mail APIs.
            </remarks>
            <returns>The equivalent <see cref="T:System.Net.Mail.MailAddress"/>.</returns>
            <param name="mailbox">The mailbox.</param>
        </member>
        <member name="M:MimeKit.MailboxAddress.op_Explicit(System.Net.Mail.MailAddress)~MimeKit.MailboxAddress">
            <summary>
            Explicit cast to convert a <see cref="T:System.Net.Mail.MailAddress"/>
            to a <see cref="T:MimeKit.MailboxAddress"/>.
            </summary>
            <remarks>
            Casts a <see cref="T:System.Net.Mail.MailAddress"/> to a <see cref="T:MimeKit.MailboxAddress"/>
            in cases where you might want to make use of the superior MimeKit APIs.
            </remarks>
            <returns>The equivalent <see cref="T:MimeKit.MailboxAddress"/>.</returns>
            <param name="address">The mail address.</param>
        </member>
        <member name="T:MimeKit.MessageDeliveryStatus">
            <summary>
            A message delivery status MIME part.
            </summary>
            <remarks>
            <para>A message delivery status MIME part is a machine-readable notification denoting the
            delivery status of a message and has a MIME-type of message/delivery-status.</para>
            <para>For more information, see <a href="https://tools.ietf.org/html/rfc3464">rfc3464</a>.</para>
            <seealso cref="T:MimeKit.MultipartReport"/>
            </remarks>
            <example>
            <code language="c#" source="Examples\MessageDeliveryStatusExamples.cs" region="ProcessDeliveryStatusNotification" />
            </example>
        </member>
        <member name="M:MimeKit.MessageDeliveryStatus.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MessageDeliveryStatus"/> class.
            </summary>
            <remarks>
            This constructor is used by <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MessageDeliveryStatus.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MessageDeliveryStatus"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MessageDeliveryStatus"/>.
            </remarks>
        </member>
        <member name="P:MimeKit.MessageDeliveryStatus.StatusGroups">
            <summary>
            Get the groups of delivery status fields.
            </summary>
            <remarks>
            <para>Gets the groups of delivery status fields. The first <see cref="T:MimeKit.HeaderList"/>
            contains the per-message fields while each remaining <see cref="T:MimeKit.HeaderList"/> contains
            fields that pertain to particular recipients of the message.</para>
            <para>For more information about these fields and their values, check out
            <a href="https://tools.ietf.org/html/rfc3464">rfc3464</a>.</para>
            <para><a href="https://tools.ietf.org/html/rfc3464#section-2.2">Section 2.2</a> defines
            the per-message fields while
            <a href="https://tools.ietf.org/html/rfc3464#section-2.3">Section 2.3</a> defines
            the per-recipient fields.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\MessageDeliveryStatusExamples.cs" region="ProcessDeliveryStatusNotification" />
            </example>
            <value>The fields.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MessageDeliveryStatus"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MessageDeliveryStatus.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.MessageDeliveryStatus"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitMessageDeliveryStatus(MimeKit.MessageDeliveryStatus)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitMessageDeliveryStatus(MimeKit.MessageDeliveryStatus)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MessageDeliveryStatus"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.MessageDispositionNotification">
            <summary>
            A message disposition notification MIME part.
            </summary>
            <remarks>
            A message disposition notification MIME part is a machine-readable notification
            denoting the disposition of a message once it has been successfully delivered 
            and has a MIME-type of message/disposition-notification.
            <seealso cref="T:MimeKit.MultipartReport"/>
            </remarks>
        </member>
        <member name="M:MimeKit.MessageDispositionNotification.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MessageDispositionNotification"/> class.
            </summary>
            <remarks>
            This constructor is used by <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MessageDispositionNotification.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MessageDispositionNotification"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MessageDispositionNotification"/>.
            </remarks>
        </member>
        <member name="P:MimeKit.MessageDispositionNotification.Fields">
            <summary>
            Get the disposition notification fields.
            </summary>
            <remarks>
            Gets the disposition notification fields.
            </remarks>
            <value>The disposition notification fields.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MessageDispositionNotification"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MessageDispositionNotification.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.MessageDispositionNotification"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitMessageDispositionNotification(MimeKit.MessageDispositionNotification)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitMessageDispositionNotification(MimeKit.MessageDispositionNotification)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MessageDispositionNotification"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.MessageFeedbackReport">
            <summary>
            A message feedback report MIME part.
            </summary>
            <remarks>
            A <c>message/feedback-report</c> MIME part is a machine-readable feedback report.
            <seealso cref="T:MimeKit.MultipartReport"/>
            </remarks>
        </member>
        <member name="M:MimeKit.MessageFeedbackReport.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MessageFeedbackReport"/> class.
            </summary>
            <remarks>
            This constructor is used by <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MessageFeedbackReport.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MessageFeedbackReport"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MessageFeedbackReport"/>.
            </remarks>
        </member>
        <member name="P:MimeKit.MessageFeedbackReport.Fields">
            <summary>
            Get the feedback report fields.
            </summary>
            <remarks>
            Gets the feedback report fields.
            </remarks>
            <value>The feedback report fields.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MessageFeedbackReport"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MessageFeedbackReport.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.MessageFeedbackReport"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitMessageFeedbackReport(MimeKit.MessageFeedbackReport)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitMessageFeedbackReport(MimeKit.MessageFeedbackReport)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MessageFeedbackReport"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.MessageIdList">
            <summary>
            A list of Message-Ids.
            </summary>
            <remarks>
            Used by the <see cref="P:MimeKit.MimeMessage.References"/> property.
            </remarks>
        </member>
        <member name="M:MimeKit.MessageIdList.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MessageIdList"/> class.
            </summary>
            <remarks>
            Creates a new, empty, <see cref="T:MimeKit.MessageIdList"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.MessageIdList.Clone">
            <summary>
            Clone the <see cref="T:MimeKit.MessageIdList"/>.
            </summary>
            <remarks>
            Creates an exact copy of the <see cref="T:MimeKit.MessageIdList"/>.
            </remarks>
            <returns>An exact copy of the <see cref="T:MimeKit.MessageIdList"/>.</returns>
        </member>
        <member name="M:MimeKit.MessageIdList.IndexOf(System.String)">
            <summary>
            Get the index of the requested Message-Id, if it exists.
            </summary>
            <remarks>
            Finds the index of the specified Message-Id, if it exists.
            </remarks>
            <returns>The index of the requested Message-Id; otherwise <value>-1</value>.</returns>
            <param name="messageId">The Message-Id.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="messageId"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MessageIdList.Insert(System.Int32,System.String)">
            <summary>
            Insert a Message-Id at the specified index.
            </summary>
            <remarks>
            Inserts the Message-Id at the specified index in the list.
            </remarks>
            <param name="index">The index to insert the Message-Id.</param>
            <param name="messageId">The Message-Id to insert.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="messageId"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.MessageIdList.RemoveAt(System.Int32)">
            <summary>
            Remove the Message-Id at the specified index.
            </summary>
            <remarks>
            Removes the Message-Id at the specified index.
            </remarks>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="P:MimeKit.MessageIdList.Item(System.Int32)">
            <summary>
            Get or set the Message-Id at the specified index.
            </summary>
            <remarks>
            Gets or sets the Message-Id at the specified index.
            </remarks>
            <value>The Message-Id at the specified index.</value>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.MessageIdList.Add(System.String)">
            <summary>
            Add a Message-Id.
            </summary>
            <remarks>
            Adds the specified Message-Id to the end of the list.
            </remarks>
            <param name="messageId">The Message-Id.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="messageId"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MessageIdList.AddRange(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Add a collection of Message-Ids.
            </summary>
            <remarks>
            Adds a collection of Message-Id items to append to the list.
            </remarks>
            <param name="items">The Message-Id items to add.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="items"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MessageIdList.Clear">
            <summary>
            Clear the Message-Id list.
            </summary>
            <remarks>
            Removes all the Message-Ids in the list.
            </remarks>
        </member>
        <member name="M:MimeKit.MessageIdList.Contains(System.String)">
            <summary>
            Check if the <see cref="T:MimeKit.MessageIdList"/> contains the specified Message-Id.
            </summary>
            <remarks>
            Determines whether the list contains the specified Message-Id.
            </remarks>
            <returns><see langword="true" /> if the specified Message-Id is contained;
            otherwise, <see langword="false" />.</returns>
            <param name="messageId">The Message-Id.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="messageId"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MessageIdList.CopyTo(System.String[],System.Int32)">
            <summary>
            Copy all the Message-Ids in the <see cref="T:MimeKit.MessageIdList"/> to the specified array.
            </summary>
            <remarks>
            Copies all the Message-Ids within the <see cref="T:MimeKit.MessageIdList"/> into the array,
            starting at the specified array index.
            </remarks>
            <param name="array">The array to copy the Message-Ids to.</param>
            <param name="arrayIndex">The index into the array.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="array"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="arrayIndex"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.MessageIdList.Remove(System.String)">
            <summary>
            Remove a Message-Id from the <see cref="T:MimeKit.MessageIdList"/>.
            </summary>
            <remarks>
            Removes the first instance of the specified Message-Id from the list if it exists.
            </remarks>
            <returns><see langword="true" /> if the specified Message-Id was removed;
            otherwise, <see langword="false" />.</returns>
            <param name="messageId">The Message-Id.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="messageId"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.MessageIdList.Count">
            <summary>
            Get the number of Message-Ids in the <see cref="T:MimeKit.MessageIdList"/>.
            </summary>
            <remarks>
            Indicates the number of Message-Ids in the list.
            </remarks>
            <value>The number of Message-Ids.</value>
        </member>
        <member name="P:MimeKit.MessageIdList.IsReadOnly">
            <summary>
            Get a value indicating whether the <see cref="T:MimeKit.MessageIdList"/> is read only.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.MessageIdList"/> is never read-only.
            </remarks>
            <value><see langword="true" /> if this instance is read only; otherwise, <see langword="false" />.</value>
        </member>
        <member name="M:MimeKit.MessageIdList.GetEnumerator">
            <summary>
            Get an enumerator for the list of Message-Ids.
            </summary>
            <remarks>
            Gets an enumerator for the list of Message-Ids.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MimeKit.MessageIdList.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Get an enumerator for the list of Message-Ids.
            </summary>
            <remarks>
            Gets an enumerator for the list of Message-Ids.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MimeKit.MessageIdList.ToString">
            <summary>
            Serialize a <see cref="T:MimeKit.MessageIdList"/> to a string.
            </summary>
            <remarks>
            <para>Each Message-Id will be surrounded by angle brackets.</para>
            <para>If there are multiple Message-Ids in the list, they will be separated by whitespace.</para>
            </remarks>
            <returns>A string representing the <see cref="T:MimeKit.MessageIdList"/>.</returns>
        </member>
        <member name="T:MimeKit.MessageImportance">
            <summary>
            An enumeration of message importance values.
            </summary>
            <remarks>
            Indicates the importance of a message.
            </remarks>
        </member>
        <member name="F:MimeKit.MessageImportance.Low">
            <summary>
            The message is of low importance.
            </summary>
        </member>
        <member name="F:MimeKit.MessageImportance.Normal">
            <summary>
            The message is of normal importance.
            </summary>
        </member>
        <member name="F:MimeKit.MessageImportance.High">
            <summary>
            The message is of high importance.
            </summary>
        </member>
        <member name="T:MimeKit.MessagePart">
            <summary>
            A MIME part containing a <see cref="T:MimeKit.MimeMessage"/> as its content.
            </summary>
            <remarks>
            Represents MIME entities such as those with a Content-Type of message/rfc822 or message/news.
            </remarks>
        </member>
        <member name="M:MimeKit.MessagePart.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MessagePart"/> class.
            </summary>
            <remarks>
            This constructor is used by <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MessagePart.#ctor(System.String,System.Object[])">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MessagePart"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MessagePart"/>.
            </remarks>
            <param name="subtype">The message subtype.</param>
            <param name="args">An array of initialization parameters: headers and message parts.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="subtype"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="args"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="args"/> contains more than one <see cref="T:MimeKit.MimeMessage"/>.</para>
            <para>-or-</para>
            <para><paramref name="args"/> contains one or more arguments of an unknown type.</para>
            </exception>
        </member>
        <member name="M:MimeKit.MessagePart.#ctor(System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MessagePart"/> class.
            </summary>
            <remarks>
            Initializes the <see cref="T:MimeKit.ContentType"/> based on the provided media type and subtype.
            </remarks>
            <param name="mediaType">The media type.</param>
            <param name="mediaSubtype">The media subtype.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="mediaType"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="mediaSubtype"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.MessagePart.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MessagePart"/> class.
            </summary>
            <remarks>
            Creates a new MIME message entity with the specified subtype.
            </remarks>
            <param name="subtype">The message subtype.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="subtype"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MessagePart.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MessagePart"/> class.
            </summary>
            <remarks>
            Creates a new message/rfc822 MIME entity.
            </remarks>
        </member>
        <member name="P:MimeKit.MessagePart.Message">
            <summary>
            Gets or sets the message content.
            </summary>
            <remarks>
            Gets or sets the message content.
            </remarks>
            <value>The message content.</value>
        </member>
        <member name="M:MimeKit.MessagePart.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.MessagePart"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitMessagePart(MimeKit.MessagePart)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitMessagePart(MimeKit.MessagePart)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MessagePart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MessagePart.Prepare(MimeKit.EncodingConstraint,System.Int32)">
            <summary>
            Prepare the MIME entity for transport using the specified encoding constraints.
            </summary>
            <remarks>
            Prepares the MIME entity for transport using the specified encoding constraints.
            </remarks>
            <param name="constraint">The encoding constraint.</param>
            <param name="maxLineLength">The maximum number of octets allowed per line (not counting the CRLF). Must be between <c>60</c> and <c>998</c> (inclusive).</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="maxLineLength"/> is not between <c>60</c> and <c>998</c> (inclusive).</para>
            <para>-or-</para>
            <para><paramref name="constraint"/> is not a valid value.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MessagePart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MessagePart.WriteTo(MimeKit.FormatOptions,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.MessagePart"/> to the output stream.
            </summary>
            <remarks>
            Writes the MIME entity and its message to the output stream.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MessagePart"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MessagePart.WriteToAsync(MimeKit.FormatOptions,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.MessagePart"/> to the output stream.
            </summary>
            <remarks>
            Asynchronously writes the MIME entity and its message to the output stream.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MessagePart"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MessagePart.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.MessagePart"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.MessagePart"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MimeKit.MessagePartial">
            <summary>
            A MIME part containing a partial message as its content.
            </summary>
            <remarks>
            <para>The "message/partial" MIME-type is used to split large messages into
            multiple parts, typically to work around transport systems that have size
            limitations (for example, some SMTP servers limit have a maximum message
            size that they will accept).</para>
            </remarks>
        </member>
        <member name="M:MimeKit.MessagePartial.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MessagePartial"/> class.
            </summary>
            <remarks>
            This constructor is used by <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MessagePartial.#ctor(System.String,System.Int32,System.Int32)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MessagePartial"/> class.
            </summary>
            <remarks>
            <para>Creates a new message/partial entity.</para>
            <para>Three (3) parameters must be specified in the Content-Type header
            of a message/partial: id, number, and total.</para>
            <para>The "id" parameter is a unique identifier used to match the parts together.</para>
            <para>The "number" parameter is the sequential (1-based) index of the partial message fragment.</para>
            <para>The "total" parameter is the total number of pieces that make up the complete message.</para>
            </remarks>
            <param name="id">The id value shared among the partial message parts.</param>
            <param name="number">The (1-based) part number for this partial message part.</param>
            <param name="total">The total number of partial message parts.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="id"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="number"/> is less than <c>1</c>.</para>
            <para>-or-</para>
            <para><paramref name="total"/> is less than <paramref name="number"/>.</para>
            </exception>
        </member>
        <member name="P:MimeKit.MessagePartial.Id">
            <summary>
            Get the "id" parameter of the Content-Type header.
            </summary>
            <remarks>
            The "id" parameter is a unique identifier used to match the parts together.
            </remarks>
            <value>The identifier.</value>
        </member>
        <member name="P:MimeKit.MessagePartial.Number">
            <summary>
            Get the "number" parameter of the Content-Type header.
            </summary>
            <remarks>
            The "number" parameter is the sequential (1-based) index of the partial message fragment.
            </remarks>
            <value>The part number.</value>
        </member>
        <member name="P:MimeKit.MessagePartial.Total">
            <summary>
            Get the "total" parameter of the Content-Type header.
            </summary>
            <remarks>
            The "total" parameter is the total number of pieces that make up the complete message.
            </remarks>
            <value>The total number of parts.</value>
        </member>
        <member name="M:MimeKit.MessagePartial.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.MessagePartial"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitMessagePartial(MimeKit.MessagePartial)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitMessagePartial(MimeKit.MessagePartial)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MessagePartial"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MessagePartial.Split(MimeKit.MimeMessage,System.Int32)">
            <summary>
            Split a message into multiple messages.
            </summary>
            <remarks>
            Splits the specified message into multiple messages, each with a
            message/partial body no larger than the max size specified.
            </remarks>
            <returns>An enumeration of partial messages.</returns>
            <param name="message">The message.</param>
            <param name="maxSize">The maximum size for each message body.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="message"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="maxSize"/> is less than <c>1</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            <paramref name="message"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MessagePartial.Join(MimeKit.ParserOptions,MimeKit.MimeMessage,System.Collections.Generic.IEnumerable{MimeKit.MessagePartial})">
            <summary>
            Join the specified message/partial parts into the complete message.
            </summary>
            <remarks>
            Combines all the message/partial fragments into its original,
            complete, message.
            </remarks>
            <returns>The re-combined message.</returns>
            <param name="options">The parser options to use.</param>
            <param name="message">The message that contains the first `message/partial` part.</param>
            <param name="partials">The list of partial message parts.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="message"/>is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="partials"/>is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>The last partial does not have a "total" parameter in the Content-Type header.</para>
            <para>-or-</para>
            <para>The number of partials provided does not match the expected count.</para>
            <para>-or-</para>
            <para>One or more partials is missing.</para>
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>One or more <paramref name="partials"/> has a mismatching id parameter in the Content-Type header.</para>
            <para>-or-</para>
            <para>One or more <paramref name="partials"/> has a missing number parameter in the Content-Type header.</para>
            </exception>
        </member>
        <member name="M:MimeKit.MessagePartial.Join(MimeKit.MimeMessage,System.Collections.Generic.IEnumerable{MimeKit.MessagePartial})">
            <summary>
            Join the specified message/partial parts into the complete message.
            </summary>
            <remarks>
            Combines all the message/partial fragments into its original,
            complete, message.
            </remarks>
            <returns>The re-combined message.</returns>
            <param name="message">The message that contains the first `message/partial` part.</param>
            <param name="partials">The list of partial message parts.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="message"/>is <see langword="null"/></para>.
            <para>-or-</para>
            <para><paramref name="partials"/>is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>The last partial does not have a "total" parameter in the Content-Type header.</para>
            <para>-or-</para>
            <para>The number of partials provided does not match the expected count.</para>
            <para>-or-</para>
            <para>One or more partials is missing.</para>
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>One or more <paramref name="partials"/> has a mismatching id parameter in the Content-Type header.</para>
            <para>-or-</para>
            <para>One or more <paramref name="partials"/> has a missing number parameter in the Content-Type header.</para>
            </exception>
        </member>
        <member name="T:MimeKit.MessagePriority">
            <summary>
            An enumeration of message priority values.
            </summary>
            <remarks>
            Indicates the priority of a message.
            </remarks>
        </member>
        <member name="F:MimeKit.MessagePriority.NonUrgent">
            <summary>
            The message has non-urgent priority.
            </summary>
        </member>
        <member name="F:MimeKit.MessagePriority.Normal">
            <summary>
            The message has normal priority.
            </summary>
        </member>
        <member name="F:MimeKit.MessagePriority.Urgent">
            <summary>
            The message has urgent priority.
            </summary>
        </member>
        <member name="T:MimeKit.MimeAnonymizer">
            <summary>
            A tool for anonymizing a message or MIME entity.
            </summary>
            <remarks>
            Allows you to anonymize a <see cref="T:MimeKit.MimeMessage"/> or <see cref="T:MimeKit.MimeEntity"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.MimeAnonymizer.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeAnonymizer"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimeAnonymizer"/>.
            </remarks>
        </member>
        <member name="P:MimeKit.MimeAnonymizer.PreserveHeaders">
            <summary>
            Get the set of headers that this anonymizer is configured to preserve.
            </summary>
            <remarks>
            <para>Gets the set of headers that this anonymizer is configured to preserve.</para>
            <para>Headers can be added or removed from this set in order to influence the output of the anonymizer.</para>
            <note type="note">This set of headers to preserve also applies to the status headers in the content of
            message/delivery-status parts as well.</note>
            </remarks>
            <value>The set of headers that the anonymizer is configured to preserve.</value>
        </member>
        <member name="M:MimeKit.MimeAnonymizer.Anonymize(MimeKit.MimeMessage,System.IO.Stream)">
            <summary>
            Anonymize a <see cref="T:MimeKit.MimeMessage"/>.
            </summary>
            <remarks>
            Writes an anonymized version of the message to a stream.
            </remarks>
            <param name="message">The message to anonymize.</param>
            <param name="stream">The stream to write the anonymized message to.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.MimeAnonymizer.Anonymize(MimeKit.FormatOptions,MimeKit.MimeMessage,System.IO.Stream)">
            <summary>
            Anonymize a <see cref="T:MimeKit.MimeMessage"/>.
            </summary>
            <remarks>
            Writes an anonymized version of the message to a stream.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="message">The message to anonymize.</param>
            <param name="stream">The stream to write the anonymized message to.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.MimeAnonymizer.Anonymize(MimeKit.MimeEntity,System.IO.Stream)">
            <summary>
            Anonymize a <see cref="T:MimeKit.MimeEntity"/>.
            </summary>
            <remarks>
            Writes an anonymized version of the entity to a stream.
            </remarks>
            <param name="entity">The MIME entity to anonymize.</param>
            <param name="stream">The stream to write the anonymized entity to.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.MimeAnonymizer.Anonymize(MimeKit.FormatOptions,MimeKit.MimeEntity,System.IO.Stream)">
            <summary>
            Anonymize a <see cref="T:MimeKit.MimeEntity"/>.
            </summary>
            <remarks>
            Writes an anonymized version of the entity to a stream.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="entity">The MIME entity to anonymize.</param>
            <param name="stream">The stream to write the anonymized entity to.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="T:MimeKit.MimeContent">
            <summary>
            Encapsulates a content stream used by <see cref="T:MimeKit.MimePart"/>.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.MimeContent"/> represents the content of a <see cref="T:MimeKit.MimePart"/>.
            The content has both a stream and an encoding (typically <see cref="F:MimeKit.ContentEncoding.Default"/>).
            </remarks>
            <example>
            <code language="c#" source="Examples\AttachmentExamples.cs" region="SaveAttachments" />
            </example>
        </member>
        <member name="M:MimeKit.MimeContent.#ctor(System.IO.Stream,MimeKit.ContentEncoding)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeContent"/> class.
            </summary>
            <remarks>
            When creating new <see cref="T:MimeKit.MimePart"/>s, the <paramref name="encoding"/>
            should typically be <see cref="F:MimeKit.ContentEncoding.Default"/> unless the
            <paramref name="stream"/> has already been encoded.
            </remarks>
            <param name="stream">The content stream.</param>
            <param name="encoding">The stream encoding.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="stream"/> does not support reading.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> does not support seeking.</para>
            </exception>
        </member>
        <member name="M:MimeKit.MimeContent.Finalize">
            <summary>
            Releases unmanaged resources and performs other cleanup operations before the
            <see cref="T:MimeKit.MimeContent"/> is reclaimed by garbage collection.
            </summary>
            <remarks>
            Releases unmanaged resources and performs other cleanup operations before the
            <see cref="T:MimeKit.MimeContent"/> is reclaimed by garbage collection.
            </remarks>
        </member>
        <member name="P:MimeKit.MimeContent.Encoding">
            <summary>
            Get or set the content encoding.
            </summary>
            <remarks>
            If the <see cref="T:MimeKit.MimePart"/> was parsed from an existing stream, the
            encoding will be identical to the <see cref="P:MimeKit.MimePart.ContentTransferEncoding"/>,
            otherwise it will typically be <see cref="F:MimeKit.ContentEncoding.Default"/>.
            </remarks>
            <value>The content encoding.</value>
        </member>
        <member name="P:MimeKit.MimeContent.NewLineFormat">
            <summary>
            Get the new-line format, if known.
            </summary>
            <remarks>
            <para>This property is typically only set by the <see cref="T:MimeKit.MimeParser"/> as it parses
            the content of a <see cref="T:MimeKit.MimePart"/> and is only used as a hint when verifying
            digital signatures.</para>
            </remarks>
            <value>The new-line format, if known.</value>
        </member>
        <member name="P:MimeKit.MimeContent.Stream">
            <summary>
            Get the content stream.
            </summary>
            <remarks>
            Gets the content stream.
            </remarks>
            <value>The stream.</value>
        </member>
        <member name="M:MimeKit.MimeContent.Open">
            <summary>
            Open the decoded content stream.
            </summary>
            <remarks>
            Provides a means of reading the decoded content without having to first write it to another
            stream using <see cref="M:MimeKit.MimeContent.DecodeTo(System.IO.Stream,System.Threading.CancellationToken)"/>.
            </remarks>
            <returns>The decoded content stream.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeContent"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MimeContent.WriteTo(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Copy the content stream to the specified output stream.
            </summary>
            <remarks>
            <para>This is equivalent to simply using <see cref="M:System.IO.Stream.CopyTo(System.IO.Stream)"/>
            to copy the content stream to the output stream except that this method is cancellable.</para>
            <note type="note">If you want the decoded content, use
            <see cref="M:MimeKit.MimeContent.DecodeTo(System.IO.Stream,System.Threading.CancellationToken)"/> instead.</note>
            </remarks>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeContent"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeContent.WriteToAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copy the content stream to the specified output stream.
            </summary>
            <remarks>
            <para>This is equivalent to simply using <see cref="M:System.IO.Stream.CopyTo(System.IO.Stream)"/>
            to copy the content stream to the output stream except that this method is cancellable.</para>
            <note type="note">If you want the decoded content, use
            <see cref="M:MimeKit.MimeContent.DecodeTo(System.IO.Stream,System.Threading.CancellationToken)"/> instead.</note>
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeContent"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeContent.DecodeTo(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Decode the content stream into another stream.
            </summary>
            <remarks>
            If the content stream is encoded, this method will decode it into the output stream
            using a suitable decoder based on the <see cref="P:MimeKit.MimeContent.Encoding"/> property, otherwise the
            stream will be copied into the output stream as-is.
            </remarks>
            <example>
            <code language="c#" source="Examples\AttachmentExamples.cs" region="SaveAttachments" />
            </example>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeContent"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeContent.DecodeToAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously decode the content stream into another stream.
            </summary>
            <remarks>
            If the content stream is encoded, this method will decode it into the output stream
            using a suitable decoder based on the <see cref="P:MimeKit.MimeContent.Encoding"/> property, otherwise the
            stream will be copied into the output stream as-is.
            </remarks>
            <example>
            <code language="c#" source="Examples\AttachmentExamples.cs" region="SaveAttachments" />
            </example>
            <returns>An awaitable task.</returns>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeContent"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeContent.Dispose(System.Boolean)">
            <summary>
            Release the unmanaged resources used by the <see cref="T:MimeKit.MimeContent"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.MimeContent"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="M:MimeKit.MimeContent.Dispose">
            <summary>
            Release all resources used by the <see cref="T:MimeKit.MimeContent"/> object.
            </summary>
            <remarks>Call <see cref="M:MimeKit.MimeContent.Dispose"/> when you are finished using the <see cref="T:MimeKit.MimeContent"/>. The
            <see cref="M:MimeKit.MimeContent.Dispose"/> method leaves the <see cref="T:MimeKit.MimeContent"/> in an unusable state. After
            calling <see cref="M:MimeKit.MimeContent.Dispose"/>, you must release all references to the <see cref="T:MimeKit.MimeContent"/> so
            the garbage collector can reclaim the memory that the <see cref="T:MimeKit.MimeContent"/> was occupying.</remarks>
        </member>
        <member name="T:MimeKit.MimeEntity">
            <summary>
            An abstract MIME entity.
            </summary>
            <remarks>
            <para>A MIME entity is really just a node in a tree structure of MIME parts in a MIME message.</para>
            <para>There are 3 basic types of entities: <see cref="T:MimeKit.MimePart"/>, <see cref="T:MimeKit.Multipart"/>,
            and <see cref="T:MimeKit.MessagePart"/> (which is actually just a special variation of
            <see cref="T:MimeKit.MimePart"/> who's content is another MIME message/document). All other types are
            derivatives of one of those.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.MimeEntity.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeEntity"/> class
            based on the <see cref="T:MimeKit.MimeEntityConstructorArgs"/>.
            </summary>
            <remarks>
            Custom <see cref="T:MimeKit.MimeEntity"/> subclasses MUST implement this constructor
            in order to register it using <see cref="M:MimeKit.ParserOptions.RegisterMimeType(System.String,System.Type)"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.#ctor(System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeEntity"/> class.
            </summary>
            <remarks>
            Initializes the <see cref="P:MimeKit.MimeEntity.ContentType"/> based on the provided media type and subtype.
            </remarks>
            <param name="mediaType">The media type.</param>
            <param name="mediaSubtype">The media subtype.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="mediaType"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="mediaSubtype"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.#ctor(MimeKit.ContentType)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeEntity"/> class.
            </summary>
            <remarks>
            Initializes the <see cref="P:MimeKit.MimeEntity.ContentType"/> to the one provided.
            </remarks>
            <param name="contentType">The content type.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="contentType"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.Finalize">
            <summary>
            Releases unmanaged resources and performs other cleanup operations before the
            <see cref="T:MimeKit.MimeEntity"/> is reclaimed by garbage collection.
            </summary>
            <remarks>
            Releases unmanaged resources and performs other cleanup operations before the
            <see cref="T:MimeKit.MimeEntity"/> is reclaimed by garbage collection.
            </remarks>
        </member>
        <member name="M:MimeKit.MimeEntity.TryInit(System.Object)">
            <summary>
            Tries to use the given object to initialize the appropriate property.
            </summary>
            <remarks>
            Initializes the appropriate property based on the type of the object.
            </remarks>
            <param name="obj">The object.</param>
            <returns><see langword="true" /> if the object was recognized and used; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="P:MimeKit.MimeEntity.Headers">
            <summary>
            Get the list of headers.
            </summary>
            <remarks>
            Represents the list of headers for a MIME part. Typically, the headers of
            a MIME part will be various Content-* headers such as Content-Type or
            Content-Disposition, but may include just about anything.
            </remarks>
            <value>The list of headers.</value>
        </member>
        <member name="P:MimeKit.MimeEntity.ContentDisposition">
            <summary>
            Get or set the content disposition.
            </summary>
            <remarks>
            Represents the pre-parsed Content-Disposition header value, if present.
            If the Content-Disposition header is not set, then this property will
            be <see langword="null"/>.
            </remarks>
            <value>The content disposition.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.MimeEntity.ContentType">
            <summary>
            Get the type of the content.
            </summary>
            <remarks>
            <para>The Content-Type header specifies information about the type of content contained
            within the MIME entity.</para>
            </remarks>
            <value>The type of the content.</value>
        </member>
        <member name="P:MimeKit.MimeEntity.ContentBase">
            <summary>
            Get or set the base content URI.
            </summary>
            <remarks>
            <para>The Content-Base header specifies the base URI for the <see cref="T:MimeKit.MimeEntity"/>
            in cases where the <see cref="P:MimeKit.MimeEntity.ContentLocation"/> is a relative URI.</para>
            <para>The Content-Base URI must be an absolute URI.</para>
            <para>For more information, see <a href="https://tools.ietf.org/html/rfc2110">rfc2110</a>.</para>
            </remarks>
            <value>The base content URI or <see langword="null"/>.</value>
            <exception cref="T:System.ArgumentException">
            <paramref name="value"/> is not an absolute URI.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.MimeEntity.ContentLocation">
            <summary>
            Get or set the content location.
            </summary>
            <remarks>
            <para>The Content-Location header specifies the URI for a MIME entity and can be
            either absolute or relative.</para>
            <para>Setting a Content-Location URI allows other <see cref="T:MimeKit.MimePart"/> objects
            within the same multipart/related container to reference this part by URI. This
            can be useful, for example, when constructing an HTML message body that needs to
            reference image attachments.</para>
            <para>For more information, see <a href="https://tools.ietf.org/html/rfc2110">rfc2110</a>.</para>
            </remarks>
            <value>The content location or <see langword="null"/>.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.MimeEntity.ContentId">
            <summary>
            Get or set the Content-Id.
            </summary>
            <remarks>
            <para>The <c>Content-Id</c> header is used for uniquely identifying a particular entity and
            uses the same syntax as the <c>Message-Id</c> header on MIME messages.</para>
            <para>Setting a <c>Content-Id</c> allows other <see cref="T:MimeKit.MimePart"/> objects within the same
            multipart/related container to reference this part by its unique identifier, typically
            by using a "cid:" URI in an HTML-formatted message body. This can be useful, for example,
            when the HTML-formatted message body needs to reference image attachments.</para>
            <note type="note">It is recommended that <see cref="M:MimeKit.Utils.MimeUtils.GenerateMessageId"/> or
            <see cref="M:MimeKit.Utils.MimeUtils.GenerateMessageId(System.String)"/> be used to generate a valid
            <c>Content-Id</c> value.</note>
            </remarks>
            <value>The content identifier.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.MimeEntity.IsAttachment">
            <summary>
            Get a value indicating whether this <see cref="T:MimeKit.MimePart"/> is an attachment.
            </summary>
            <remarks>
            If the Content-Disposition header is set and has a value of <c>"attachment"</c>,
            then this property returns <see langword="true" />. Otherwise, it is assumed that the
            <see cref="T:MimeKit.MimePart"/> is not meant to be treated as an attachment.
            </remarks>
            <value><see langword="true" /> if this <see cref="T:MimeKit.MimePart"/> is an attachment; otherwise, <see langword="false" />.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.ToString">
            <summary>
            Return a <see cref="T:System.String"/> that represents the <see cref="T:MimeKit.MimeEntity"/> for debugging purposes.
            </summary>
            <remarks>
            <para>Returns a <see cref="T:System.String"/> that represents the <see cref="T:MimeKit.MimeEntity"/> for debugging purposes.</para>
            <note type="warning"><para>In general, the string returned from this method SHOULD NOT be used for serializing
            the entity to disk. It is recommended that you use <see cref="M:MimeKit.MimeEntity.WriteTo(System.IO.Stream,System.Threading.CancellationToken)"/> instead.</para>
            <para>If this method is used for serializing the entity to disk, the iso-8859-1 text encoding should be used for
            conversion.</para></note>
            </remarks>
            <returns>A <see cref="T:System.String"/> that represents the <see cref="T:MimeKit.MimeEntity"/> for debugging purposes.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.MimeEntity"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitMimeEntity(MimeKit.MimeEntity)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitMimeEntity(MimeKit.MimeEntity)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.Prepare(MimeKit.EncodingConstraint,System.Int32)">
            <summary>
            Prepare the MIME entity for transport using the specified encoding constraints.
            </summary>
            <remarks>
            Prepares the MIME entity for transport using the specified encoding constraints.
            </remarks>
            <param name="constraint">The encoding constraint.</param>
            <param name="maxLineLength">The maximum allowable length for a line (not counting the CRLF). Must be between <c>72</c> and <c>998</c> (inclusive).</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="maxLineLength"/> is not between <c>72</c> and <c>998</c> (inclusive).</para>
            <para>-or-</para>
            <para><paramref name="constraint"/> is not a valid value.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.WriteTo(MimeKit.FormatOptions,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.MimeEntity"/> to the specified output stream.
            </summary>
            <remarks>
            <para>Writes the headers to the output stream, followed by a blank line.</para>
            <para>Subclasses should override this method to write the content of the entity.</para>
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.WriteToAsync(MimeKit.FormatOptions,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.MimeEntity"/> to the specified output stream.
            </summary>
            <remarks>
            <para>Asynchronously writes the headers to the output stream, followed by a blank line.</para>
            <para>Subclasses should override this method to write the content of the entity.</para>
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.WriteTo(MimeKit.FormatOptions,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.MimeEntity"/> to the specified output stream.
            </summary>
            <remarks>
            <para>Writes the headers to the output stream, followed by a blank line.</para>
            <para>Subclasses should override this method to write the content of the entity.</para>
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.WriteToAsync(MimeKit.FormatOptions,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.MimeEntity"/> to the specified output stream.
            </summary>
            <remarks>
            <para>Asynchronously writes the headers to the output stream, followed by a blank line.</para>
            <para>Subclasses should override this method to write the content of the entity.</para>
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.WriteTo(System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.MimeEntity"/> to the specified output stream.
            </summary>
            <remarks>
            Writes the entity to the output stream.
            </remarks>
            <param name="stream">The output stream.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.WriteToAsync(System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.MimeEntity"/> to the specified output stream.
            </summary>
            <remarks>
            Asynchronously writes the entity to the output stream.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="stream">The output stream.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.WriteTo(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.MimeEntity"/> to the specified output stream.
            </summary>
            <remarks>
            Writes the entity to the output stream.
            </remarks>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.WriteToAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.MimeEntity"/> to the specified output stream.
            </summary>
            <remarks>
            Asynchronously writes the entity to the output stream.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.WriteTo(MimeKit.FormatOptions,System.String,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.MimeEntity"/> to the specified file.
            </summary>
            <remarks>
            Writes the entity to the specified file using the provided formatting options.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="fileName">The file.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.WriteToAsync(MimeKit.FormatOptions,System.String,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.MimeEntity"/> to the specified file.
            </summary>
            <remarks>
            Asynchronously writes the entity to the specified file using the provided formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="fileName">The file.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.WriteTo(MimeKit.FormatOptions,System.String,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.MimeEntity"/> to the specified file.
            </summary>
            <remarks>
            Writes the entity to the specified file using the provided formatting options.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="fileName">The file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.WriteToAsync(MimeKit.FormatOptions,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.MimeEntity"/> to the specified file.
            </summary>
            <remarks>
            Asynchronously writes the entity to the specified file using the provided formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="fileName">The file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.WriteTo(System.String,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.MimeEntity"/> to the specified file.
            </summary>
            <remarks>
            Writes the entity to the specified file using the default formatting options.
            </remarks>
            <param name="fileName">The file.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.WriteToAsync(System.String,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.MimeEntity"/> to the specified file.
            </summary>
            <remarks>
            Asynchronously writes the entity to the specified file using the default formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="fileName">The file.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.WriteTo(System.String,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.MimeEntity"/> to the specified file.
            </summary>
            <remarks>
            Writes the entity to the specified file using the default formatting options.
            </remarks>
            <param name="fileName">The file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.WriteToAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.MimeEntity"/> to the specified file.
            </summary>
            <remarks>
            Asynchronously writes the entity to the specified file using the default formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="fileName">The file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimeEntity"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.RemoveHeader(System.String)">
            <summary>
            Remove a header by name.
            </summary>
            <remarks>
            Removes all headers matching the specified name without
            calling <see cref="M:MimeKit.MimeEntity.OnHeadersChanged(MimeKit.HeaderListChangedAction,MimeKit.Header)"/>.
            </remarks>
            <param name="name">The name of the header.</param>
        </member>
        <member name="M:MimeKit.MimeEntity.SetHeader(System.String,System.String)">
            <summary>
            Set the value of a header.
            </summary>
            <remarks>
            Sets the header to the specified value without
            calling <see cref="M:MimeKit.MimeEntity.OnHeadersChanged(MimeKit.HeaderListChangedAction,MimeKit.Header)"/>.
            </remarks>
            <param name="name">The name of the header.</param>
            <param name="value">The value of the header.</param>
        </member>
        <member name="M:MimeKit.MimeEntity.SetHeader(System.String,System.Byte[])">
            <summary>
            Set the value of a header using the raw value.
            </summary>
            <remarks>
            Sets the header to the specified value without
            calling <see cref="M:MimeKit.MimeEntity.OnHeadersChanged(MimeKit.HeaderListChangedAction,MimeKit.Header)"/>.
            </remarks>
            <param name="name">The name of the header.</param>
            <param name="rawValue">The raw value of the header.</param>
        </member>
        <member name="M:MimeKit.MimeEntity.OnHeadersChanged(MimeKit.HeaderListChangedAction,MimeKit.Header)">
            <summary>
            Called when the headers change in some way.
            </summary>
            <remarks>
            <para>Whenever a header is added, changed, or removed, this method will
            be called in order to allow custom <see cref="T:MimeKit.MimeEntity"/> subclasses
            to update their state.</para>
            <para>Overrides of this method should call the base method so that their
            superclass may also update its own state.</para>
            </remarks>
            <param name="action">The type of change.</param>
            <param name="header">The header being added, changed or removed.</param>
        </member>
        <member name="M:MimeKit.MimeEntity.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.MimeEntity"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.MimeEntity"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="M:MimeKit.MimeEntity.Dispose">
            <summary>
            Releases all resources used by the <see cref="T:MimeKit.MimeEntity"/> object.
            </summary>
            <remarks>Call <see cref="M:MimeKit.MimeEntity.Dispose"/> when you are finished using the <see cref="T:MimeKit.MimeEntity"/>. The
            <see cref="M:MimeKit.MimeEntity.Dispose"/> method leaves the <see cref="T:MimeKit.MimeEntity"/> in an unusable state. After
            calling <see cref="M:MimeKit.MimeEntity.Dispose"/>, you must release all references to the <see cref="T:MimeKit.MimeEntity"/> so
            the garbage collector can reclaim the memory that the <see cref="T:MimeKit.MimeEntity"/> was occupying.</remarks>
        </member>
        <member name="M:MimeKit.MimeEntity.Load(MimeKit.ParserOptions,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Load a <see cref="T:MimeKit.MimeEntity"/> from the specified stream.
            </summary>
            <remarks>
            <para>Loads a <see cref="T:MimeKit.MimeEntity"/> from the given stream, using the
            specified <see cref="T:MimeKit.ParserOptions"/>.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save mmeory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            </remarks>
            <returns>The parsed MIME entity.</returns>
            <param name="options">The parser options.</param>
            <param name="stream">The stream.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.LoadAsync(MimeKit.ParserOptions,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously load a <see cref="T:MimeKit.MimeEntity"/> from the specified stream.
            </summary>
            <remarks>
            <para>Loads a <see cref="T:MimeKit.MimeEntity"/> from the given stream, using the
            specified <see cref="T:MimeKit.ParserOptions"/>.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save mmeory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            </remarks>
            <returns>The parsed MIME entity.</returns>
            <param name="options">The parser options.</param>
            <param name="stream">The stream.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.Load(MimeKit.ParserOptions,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Load a <see cref="T:MimeKit.MimeEntity"/> from the specified stream.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.MimeEntity"/> from the given stream, using the
            specified <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed MIME entity.</returns>
            <param name="options">The parser options.</param>
            <param name="stream">The stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.LoadAsync(MimeKit.ParserOptions,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously load a <see cref="T:MimeKit.MimeEntity"/> from the specified stream.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.MimeEntity"/> from the given stream, using the
            specified <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed MIME entity.</returns>
            <param name="options">The parser options.</param>
            <param name="stream">The stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.Load(System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Load a <see cref="T:MimeKit.MimeEntity"/> from the specified stream.
            </summary>
            <remarks>
            <para>Loads a <see cref="T:MimeKit.MimeEntity"/> from the given stream, using the
            default <see cref="T:MimeKit.ParserOptions"/>.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save mmeory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            </remarks>
            <returns>The parsed MIME entity.</returns>
            <param name="stream">The stream.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.LoadAsync(System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously load a <see cref="T:MimeKit.MimeEntity"/> from the specified stream.
            </summary>
            <remarks>
            <para>Loads a <see cref="T:MimeKit.MimeEntity"/> from the given stream, using the
            default <see cref="T:MimeKit.ParserOptions"/>.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            </remarks>
            <returns>The parsed MIME entity.</returns>
            <param name="stream">The stream.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.Load(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Load a <see cref="T:MimeKit.MimeEntity"/> from the specified stream.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.MimeEntity"/> from the given stream, using the
            default <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed MIME entity.</returns>
            <param name="stream">The stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.LoadAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously load a <see cref="T:MimeKit.MimeEntity"/> from the specified stream.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.MimeEntity"/> from the given stream, using the
            default <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed MIME entity.</returns>
            <param name="stream">The stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.Load(MimeKit.ParserOptions,System.String,System.Threading.CancellationToken)">
            <summary>
            Load a <see cref="T:MimeKit.MimeEntity"/> from the specified file.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.MimeEntity"/> from the file at the give file path,
            using the specified <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed entity.</returns>
            <param name="options">The parser options.</param>
            <param name="fileName">The name of the file to load.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.LoadAsync(MimeKit.ParserOptions,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously load a <see cref="T:MimeKit.MimeEntity"/> from the specified file.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.MimeEntity"/> from the file at the give file path,
            using the specified <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed entity.</returns>
            <param name="options">The parser options.</param>
            <param name="fileName">The name of the file to load.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.Load(System.String,System.Threading.CancellationToken)">
            <summary>
            Load a <see cref="T:MimeKit.MimeEntity"/> from the specified file.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.MimeEntity"/> from the file at the give file path,
            using the default <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed entity.</returns>
            <param name="fileName">The name of the file to load.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.LoadAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously load a <see cref="T:MimeKit.MimeEntity"/> from the specified file.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.MimeEntity"/> from the file at the give file path,
            using the default <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed entity.</returns>
            <param name="fileName">The name of the file to load.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.Load(MimeKit.ParserOptions,MimeKit.ContentType,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Load a <see cref="T:MimeKit.MimeEntity"/> from the specified content stream.
            </summary>
            <remarks>
            This method is mostly meant for use with APIs such as <see cref="T:System.Net.HttpWebResponse"/>
            where the headers are parsed separately from the content.
            </remarks>
            <returns>The parsed MIME entity.</returns>
            <param name="options">The parser options.</param>
            <param name="contentType">The Content-Type of the stream.</param>
            <param name="content">The content stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="contentType"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.LoadAsync(MimeKit.ParserOptions,MimeKit.ContentType,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously load a <see cref="T:MimeKit.MimeEntity"/> from the specified content stream.
            </summary>
            <remarks>
            This method is mostly meant for use with APIs such as <see cref="T:System.Net.HttpWebResponse"/>
            where the headers are parsed separately from the content.
            </remarks>
            <returns>The parsed MIME entity.</returns>
            <param name="options">The parser options.</param>
            <param name="contentType">The Content-Type of the stream.</param>
            <param name="content">The content stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="contentType"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.Load(MimeKit.ContentType,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Load a <see cref="T:MimeKit.MimeEntity"/> from the specified content stream.
            </summary>
            <remarks>
            This method is mostly meant for use with APIs such as <see cref="T:System.Net.HttpWebResponse"/>
            where the headers are parsed separately from the content.
            </remarks>
            <example>
            <code language="c#" source="Examples\MultipartFormDataExamples.cs" region="ParseMultipartFormDataSimple" />
            </example>
            <returns>The parsed MIME entity.</returns>
            <param name="contentType">The Content-Type of the stream.</param>
            <param name="content">The content stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="contentType"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntity.LoadAsync(MimeKit.ContentType,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously load a <see cref="T:MimeKit.MimeEntity"/> from the specified content stream.
            </summary>
            <remarks>
            This method is mostly meant for use with APIs such as <see cref="T:System.Net.HttpWebResponse"/>
            where the headers are parsed separately from the content.
            </remarks>
            <returns>The parsed MIME entity.</returns>
            <param name="contentType">The Content-Type of the stream.</param>
            <param name="content">The content stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="contentType"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="content"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="T:MimeKit.MimeEntityBeginEventArgs">
            <summary>
            Event args emitted by the <see cref="T:MimeKit.MimeParser"/> when it begins parsing a <see cref="T:MimeKit.MimeEntity"/>.
            </summary>
            <remarks>
            Event args emitted by the <see cref="T:MimeKit.MimeParser"/> when it begins parsing a <see cref="T:MimeKit.MimeEntity"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.MimeEntityBeginEventArgs.#ctor(MimeKit.MimeEntity)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeEntityBeginEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimeEntityBeginEventArgs"/>.
            </remarks>
            <param name="entity">The entity that is being parsed.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="entity"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntityBeginEventArgs.#ctor(MimeKit.MimeEntity,MimeKit.Multipart)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeEntityBeginEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimeEntityBeginEventArgs"/>.
            </remarks>
            <param name="entity">The entity that is being parsed.</param>
            <param name="parent">The parent multipart.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="parent"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="P:MimeKit.MimeEntityBeginEventArgs.Entity">
            <summary>
            Get the MIME entity.
            </summary>
            <remarks>
            Gets the MIME entity.
            </remarks>
            <value>The MIME entity.</value>
        </member>
        <member name="P:MimeKit.MimeEntityBeginEventArgs.Parent">
            <summary>
            Get the parent <see cref="T:MimeKit.Multipart"/> if this entity is a child.
            </summary>
            <remarks>
            Gets the parent <see cref="T:MimeKit.Multipart"/> if this entity is a child.
            </remarks>
            <value>The parent <see cref="T:MimeKit.Multipart"/>.</value>
        </member>
        <member name="P:MimeKit.MimeEntityBeginEventArgs.BeginOffset">
            <summary>
            Get or set the stream offset that marks the beginning of the entity.
            </summary>
            <remarks>
            Gets or sets the stream offset that marks the beginning of the entity.
            </remarks>
            <value>The stream offset.</value>
        </member>
        <member name="P:MimeKit.MimeEntityBeginEventArgs.LineNumber">
            <summary>
            Get or set the line number of the beginning of the entity.
            </summary>
            <remarks>
            Gets or sets the line number of the beginning of the entity.
            </remarks>
            <value>The line number.</value>
        </member>
        <member name="T:MimeKit.MimeEntityConstructorArgs">
            <summary>
            MIME entity constructor arguments.
            </summary>
            <remarks>
            MIME entity constructor arguments.
            </remarks>
        </member>
        <member name="T:MimeKit.MimeEntityEndEventArgs">
            <summary>
            Event args emitted by the <see cref="T:MimeKit.MimeParser"/> when a <see cref="T:MimeKit.MimeEntity"/> is parsed.
            </summary>
            <remarks>
            Event args emitted by the <see cref="T:MimeKit.MimeParser"/> when a <see cref="T:MimeKit.MimeEntity"/> is parsed.
            </remarks>
        </member>
        <member name="M:MimeKit.MimeEntityEndEventArgs.#ctor(MimeKit.MimeEntity)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeEntityEndEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimeEntityEndEventArgs"/>.
            </remarks>
            <param name="entity">The entity that was parsed.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="entity"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimeEntityEndEventArgs.#ctor(MimeKit.MimeEntity,MimeKit.Multipart)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeEntityEndEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimeEntityEndEventArgs"/>.
            </remarks>
            <param name="entity">The entity that was parsed.</param>
            <param name="parent">The parent multipart.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="entity"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="parent"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="P:MimeKit.MimeEntityEndEventArgs.HeadersEndOffset">
            <summary>
            Get or set the stream offset that marks the end of the entity's headers.
            </summary>
            <remarks>
            Gets or sets the stream offset that marks the end of the entity's headers.
            </remarks>
            <value>The stream offset.</value>
        </member>
        <member name="P:MimeKit.MimeEntityEndEventArgs.EndOffset">
            <summary>
            Get or set the stream offset that marks the end of the entity.
            </summary>
            <remarks>
            Gets or sets the stream offset that marks the end of the entity.
            </remarks>
            <value>The stream offset.</value>
        </member>
        <member name="P:MimeKit.MimeEntityEndEventArgs.Lines">
            <summary>
            Get or set the content length of the entity as measured in lines.
            </summary>
            <remarks>
            <para>Get or set the content length of the entity as measured in lines.</para>
            <note type="note">The line count reported by this property is the number of lines in its
            content transfer encoding and not the resulting line count after any decoding.</note>
            </remarks>
            <value>The length of the content in lines.</value>
        </member>
        <member name="T:MimeKit.MimeFormat">
            <summary>
            The format of the MIME stream.
            </summary>
            <remarks>
            The format of the MIME stream.
            </remarks>
        </member>
        <member name="F:MimeKit.MimeFormat.Entity">
            <summary>
            The stream contains a single MIME entity or message.
            </summary>
        </member>
        <member name="F:MimeKit.MimeFormat.Mbox">
            <summary>
            The stream is in the Unix mbox format and may contain
            more than a single message.
            </summary>
        </member>
        <member name="F:MimeKit.MimeFormat.Default">
            <summary>
            The default stream format.
            </summary>
        </member>
        <member name="T:MimeKit.MimeIterator">
            <summary>
            An iterator for a MIME tree structure.
            </summary>
            <remarks>
            Walks the MIME tree structure of a <see cref="T:MimeKit.MimeMessage"/> in depth-first order.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeIterator.cs" />
            </example>
        </member>
        <member name="M:MimeKit.MimeIterator.#ctor(MimeKit.MimeMessage)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeIterator"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimeIterator"/> for the specified message.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeIterator.cs" />
            </example>
            <param name="message">The message.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="message"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimeIterator.Finalize">
            <summary>
            Releases unmanaged resources and performs other cleanup operations before
            the <see cref="T:MimeKit.MimeIterator"/> is reclaimed by garbage collection.
            </summary>
            <remarks>
            Releases unmanaged resources and performs other cleanup operations before
            the <see cref="T:MimeKit.MimeIterator"/> is reclaimed by garbage collection.
            </remarks>
        </member>
        <member name="P:MimeKit.MimeIterator.Message">
            <summary>
            Get the top-level message.
            </summary>
            <remarks>
            Gets the top-level message.
            </remarks>
            <value>The message.</value>
        </member>
        <member name="P:MimeKit.MimeIterator.Parent">
            <summary>
            Get the parent of the current entity.
            </summary>
            <remarks>
            <para>After an iterator is created or after the <see cref="M:MimeKit.MimeIterator.Reset"/> method is called,
            the <see cref="M:MimeKit.MimeIterator.MoveNext"/> method must be called to advance the iterator to the
            first entity of the message before reading the value of the Parent property;
            otherwise, Parent throws a <see cref="T:System.InvalidOperationException"/>. Parent
            also throws a <see cref="T:System.InvalidOperationException"/> if the last call to
            <see cref="M:MimeKit.MimeIterator.MoveNext"/> returned false, which indicates the end of the message.</para>
            <para>If the current entity is the top-level entity of the message, then the parent
            will be <see langword="null"/>; otherwise the parent will be either be a
            <see cref="T:MimeKit.MessagePart"/> or a <see cref="T:MimeKit.Multipart"/>.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeIterator.cs" />
            </example>
            <value>The parent entity.</value>
            <exception cref="T:System.InvalidOperationException">
            Either <see cref="M:MimeKit.MimeIterator.MoveNext"/> has not been called or <see cref="M:MimeKit.MimeIterator.MoveNext"/>
            has moved beyond the end of the message.
            </exception>
        </member>
        <member name="P:MimeKit.MimeIterator.Current">
            <summary>
            Get the current entity.
            </summary>
            <remarks>
            After an iterator is created or after the <see cref="M:MimeKit.MimeIterator.Reset"/> method is called,
            the <see cref="M:MimeKit.MimeIterator.MoveNext"/> method must be called to advance the iterator to the
            first entity of the message before reading the value of the Current property;
            otherwise, Current throws a <see cref="T:System.InvalidOperationException"/>. Current
            also throws a <see cref="T:System.InvalidOperationException"/> if the last call to
            <see cref="M:MimeKit.MimeIterator.MoveNext"/> returned false, which indicates the end of the message.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeIterator.cs" />
            </example>
            <value>The current entity.</value>
            <exception cref="T:System.InvalidOperationException">
            Either <see cref="M:MimeKit.MimeIterator.MoveNext"/> has not been called or <see cref="M:MimeKit.MimeIterator.MoveNext"/>
            has moved beyond the end of the message.
            </exception>
        </member>
        <member name="P:MimeKit.MimeIterator.System#Collections#IEnumerator#Current">
            <summary>
            Get the current entity.
            </summary>
            <remarks>
            After an iterator is created or after the <see cref="M:MimeKit.MimeIterator.Reset"/> method is called,
            the <see cref="M:MimeKit.MimeIterator.MoveNext"/> method must be called to advance the iterator to the
            first entity of the message before reading the value of the Current property;
            otherwise, Current throws a <see cref="T:System.InvalidOperationException"/>. Current
            also throws a <see cref="T:System.InvalidOperationException"/> if the last call to
            <see cref="M:MimeKit.MimeIterator.MoveNext"/> returned false, which indicates the end of the message.
            </remarks>
            <value>The current entity.</value>
            <exception cref="T:System.InvalidOperationException">
            Either <see cref="M:MimeKit.MimeIterator.MoveNext"/> has not been called or <see cref="M:MimeKit.MimeIterator.MoveNext"/>
            has moved beyond the end of the message.
            </exception>
        </member>
        <member name="P:MimeKit.MimeIterator.PathSpecifier">
            <summary>
            Get the path specifier for the current entity.
            </summary>
            <remarks>
            After an iterator is created or after the <see cref="M:MimeKit.MimeIterator.Reset"/> method is called,
            the <see cref="M:MimeKit.MimeIterator.MoveNext"/> method must be called to advance the iterator to the
            first entity of the message before reading the value of the PathSpecifier property;
            otherwise, PathSpecifier throws a <see cref="T:System.InvalidOperationException"/>.
            PathSpecifier also throws a <see cref="T:System.InvalidOperationException"/> if the
            last call to <see cref="M:MimeKit.MimeIterator.MoveNext"/> returned false, which indicates the end of
            the message.
            </remarks>
            <value>The path specifier.</value>
            <exception cref="T:System.InvalidOperationException">
            Either <see cref="M:MimeKit.MimeIterator.MoveNext"/> has not been called or <see cref="M:MimeKit.MimeIterator.MoveNext"/>
            has moved beyond the end of the message.
            </exception>
        </member>
        <member name="P:MimeKit.MimeIterator.Depth">
            <summary>
            Get the depth of the current entity.
            </summary>
            <remarks>
            After an iterator is created or after the <see cref="M:MimeKit.MimeIterator.Reset"/> method is called,
            the <see cref="M:MimeKit.MimeIterator.MoveNext"/> method must be called to advance the iterator to the
            first entity of the message before reading the value of the Depth property;
            otherwise, Depth throws a <see cref="T:System.InvalidOperationException"/>. Depth
            also throws a <see cref="T:System.InvalidOperationException"/> if the last call to
            <see cref="M:MimeKit.MimeIterator.MoveNext"/> returned false, which indicates the end of the message.
            </remarks>
            <value>The depth.</value>
            <exception cref="T:System.InvalidOperationException">
            Either <see cref="M:MimeKit.MimeIterator.MoveNext"/> has not been called or <see cref="M:MimeKit.MimeIterator.MoveNext"/>
            has moved beyond the end of the message.
            </exception>
        </member>
        <member name="M:MimeKit.MimeIterator.MoveNext">
            <summary>
            Advance the iterator to the next depth-first entity of the tree structure.
            </summary>
            <remarks>
            After an iterator is created or after the <see cref="M:MimeKit.MimeIterator.Reset"/> method is called,
            an iterator is positioned before the first entity of the message, and the first
            call to the MoveNext method moves the iterator to the first entity of the message.
            If MoveNext advances beyond the last entity of the message, MoveNext returns false.
            When the iterator is at this position, subsequent calls to MoveNext also return
            false until <see cref="M:MimeKit.MimeIterator.Reset"/> is called.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeIterator.cs" />
            </example>
            <returns><see langword="true" /> if the iterator was successfully advanced to the next entity; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.MimeIterator.MoveTo(System.String)">
            <summary>
            Advance to the entity specified by the path specifier.
            </summary>
            <remarks>
            <para>Advances the iterator to the entity specified by the path specifier which
            must be in the same format as returned by <see cref="P:MimeKit.MimeIterator.PathSpecifier"/>.</para>
            <para>If the iterator has already advanced beyond the entity at the specified
            path, the iterator will <see cref="M:MimeKit.MimeIterator.Reset"/> and advance as normal.</para>
            </remarks>
            <returns><see langword="true" /> if advancing to the specified entity was successful; otherwise, <see langword="false" />.</returns>
            <param name="pathSpecifier">The path specifier.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="pathSpecifier"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="pathSpecifier"/> is empty.
            </exception>
            <exception cref="T:System.FormatException">
            <paramref name="pathSpecifier"/> is in an invalid format.
            </exception>
        </member>
        <member name="M:MimeKit.MimeIterator.Reset">
            <summary>
            Reset the iterator to its initial state.
            </summary>
            <remarks>
            Resets the iterator to its initial state.
            </remarks>
        </member>
        <member name="M:MimeKit.MimeIterator.Dispose(System.Boolean)">
            <summary>
            Release the unmanaged resources used by the <see cref="T:MimeKit.MimeIterator"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.MimeIterator"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="M:MimeKit.MimeIterator.Dispose">
            <summary>
            Release all resources used by the <see cref="T:MimeKit.MimeIterator"/> object.
            </summary>
            <remarks>Call <see cref="M:MimeKit.MimeIterator.Dispose"/> when you are finished using the <see cref="T:MimeKit.MimeIterator"/>. The
            <see cref="M:MimeKit.MimeIterator.Dispose"/> method leaves the <see cref="T:MimeKit.MimeIterator"/> in an unusable state. After
            calling <see cref="M:MimeKit.MimeIterator.Dispose"/>, you must release all references to the <see cref="T:MimeKit.MimeIterator"/> so
            the garbage collector can reclaim the memory that the <see cref="T:MimeKit.MimeIterator"/> was occupying.</remarks>
        </member>
        <member name="T:MimeKit.MimeMessage">
            <summary>
            A MIME message.
            </summary>
            <remarks>
            <para>A message consists of header fields and, optionally, a body.</para>
            <para>The body of the message can either be plain text or it can be a
            tree of MIME entities such as a text/plain MIME part and a collection
            of file attachments.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.MimeMessage.#ctor(System.Object[])">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeMessage"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimeMessage"/>.
            </remarks>
            <param name="args">An array of initialization parameters: headers and message parts.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="args"/> contains more than one <see cref="T:MimeKit.MimeEntity"/>.</para>
            <para>-or-</para>
            <para><paramref name="args"/> contains one or more arguments of an unknown type.</para>
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.#ctor(System.Collections.Generic.IEnumerable{MimeKit.Header})">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeMessage"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimeMessage"/>.
            </remarks>
            <param name="headers">A list of initial message headers.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="headers"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.#ctor(System.Collections.Generic.IEnumerable{MimeKit.InternetAddress},System.Collections.Generic.IEnumerable{MimeKit.InternetAddress},System.String,MimeKit.MimeEntity)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeMessage"/> class.
            </summary>
            <remarks>
            Creates a new MIME message, specifying details at creation time.
            </remarks>
            <param name="from">The list of addresses in the From header.</param>
            <param name="to">The list of addresses in the To header.</param>
            <param name="subject">The subject of the message.</param>
            <param name="body">The body of the message.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="from"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="to"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="subject"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeMessage"/> class.
            </summary>
            <remarks>
            Creates a new MIME message.
            </remarks>
        </member>
        <member name="M:MimeKit.MimeMessage.Finalize">
            <summary>
            Releases unmanaged resources and performs other cleanup operations before the
            <see cref="T:MimeKit.MimeMessage"/> is reclaimed by garbage collection.
            </summary>
            <remarks>
            Releases unmanaged resources and performs other cleanup operations before the
            <see cref="T:MimeKit.MimeMessage"/> is reclaimed by garbage collection.
            </remarks>
        </member>
        <member name="P:MimeKit.MimeMessage.MboxMarker">
            <summary>
            Get or set the mbox marker.
            </summary>
            <remarks>
            Set by the <see cref="T:MimeKit.MimeParser"/> when parsing attached message/rfc822 parts
            so that the message/rfc822 part can be reserialized back to its original form.
            </remarks>
            <value>The mbox marker.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.Headers">
            <summary>
            Get the list of headers.
            </summary>
            <remarks>
            <para>Represents the list of headers for a message. Typically, the headers of
            a message will contain transmission headers such as From and To along
            with metadata headers such as Subject and Date, but may include just
            about anything.</para>
            <note type="tip">To access any MIME headers such as <see cref="F:MimeKit.HeaderId.ContentType"/>,
            <see cref="F:MimeKit.HeaderId.ContentDisposition"/>, <see cref="F:MimeKit.HeaderId.ContentTransferEncoding"/>
            or any other <c>Content-*</c> header, you will need to access the
            <see cref="P:MimeKit.MimeEntity.Headers"/> property of the <see cref="P:MimeKit.MimeMessage.Body"/>.
            </note>
            </remarks>
            <value>The list of headers.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.Importance">
            <summary>
            Get or set the value of the Importance header.
            </summary>
            <remarks>
            Gets or sets the value of the Importance header.
            </remarks>
            <value>The importance.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is not a valid <see cref="T:MimeKit.MessageImportance"/>.
            </exception>
        </member>
        <member name="P:MimeKit.MimeMessage.Priority">
            <summary>
            Get or set the value of the Priority header.
            </summary>
            <remarks>
            Gets or sets the value of the Priority header.
            </remarks>
            <value>The priority.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is not a valid <see cref="T:MimeKit.MessagePriority"/>.
            </exception>
        </member>
        <member name="P:MimeKit.MimeMessage.XPriority">
            <summary>
            Get or set the value of the X-Priority header.
            </summary>
            <remarks>
            Gets or sets the value of the X-Priority header.
            </remarks>
            <value>The priority.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is not a valid <see cref="T:MimeKit.MessagePriority"/>.
            </exception>
        </member>
        <member name="P:MimeKit.MimeMessage.Sender">
            <summary>
            Get or set the address in the Sender header.
            </summary>
            <remarks>
            <para>The "Sender" field specifies the mailbox of the agent responsible for
            the actual transmission of the message. For example, if a secretary were to send a
            message for another person, the mailbox of the secretary would appear in the
            "Sender" field and the mailbox of the actual author would appear in the "From"
            field. If the originator of the message can be indicated by a single mailbox and
            the author and transmitter are identical, the "Sender" field SHOULD NOT be used.
            Otherwise, both fields SHOULD appear.</para>
            </remarks>
            <value>The address in the Sender header, if available.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.ResentSender">
            <summary>
            Get or set the address in the Resent-Sender header.
            </summary>
            <remarks>
            The resent sender may differ from the addresses in <see cref="P:MimeKit.MimeMessage.ResentFrom"/> if
            the message was sent by someone on behalf of someone else.
            </remarks>
            <value>The address in the Resent-Sender header.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.From">
            <summary>
            Get the list of addresses in the From header.
            </summary>
            <remarks>
            <para>The "From" header specifies the author(s) of the message.</para>
            <para>If more than one <see cref="T:MimeKit.MailboxAddress"/> is added to the
            list of "From" addresses, the <see cref="P:MimeKit.MimeMessage.Sender"/> should be set to the
            single <see cref="T:MimeKit.MailboxAddress"/> of the personal actually sending
            the message.</para>
            </remarks>
            <value>The list of addresses in the From header.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.ResentFrom">
            <summary>
            Get the list of addresses in the Resent-From header.
            </summary>
            <remarks>
            <para>The "Resent-From" header specifies the author(s) of the messagebeing
            resent.</para>
            <para>If more than one <see cref="T:MimeKit.MailboxAddress"/> is added to the
            list of "Resent-From" addresses, the <see cref="P:MimeKit.MimeMessage.ResentSender"/> should
            be set to the single <see cref="T:MimeKit.MailboxAddress"/> of the personal actually
            sending the message.</para>
            </remarks>
            <value>The list of addresses in the Resent-From header.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.ReplyTo">
            <summary>
            Get the list of addresses in the Reply-To header.
            </summary>
            <remarks>
            <para>When the list of addresses in the Reply-To header is not empty,
            it contains the address(es) where the author(s) of the message prefer
            that replies be sent.</para>
            <para>When the list of addresses in the Reply-To header is empty,
            replies should be sent to the mailbox(es) specified in the From
            header.</para>
            </remarks>
            <value>The list of addresses in the Reply-To header.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.ResentReplyTo">
            <summary>
            Get the list of addresses in the Resent-Reply-To header.
            </summary>
            <remarks>
            <para>When the list of addresses in the Resent-Reply-To header is not empty,
            it contains the address(es) where the author(s) of the resent message prefer
            that replies be sent.</para>
            <para>When the list of addresses in the Resent-Reply-To header is empty,
            replies should be sent to the mailbox(es) specified in the Resent-From
            header.</para>
            </remarks>
            <value>The list of addresses in the Resent-Reply-To header.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.To">
            <summary>
            Get the list of addresses in the To header.
            </summary>
            <remarks>
            The addresses in the To header are the primary recipients of
            the message.
            </remarks>
            <value>The list of addresses in the To header.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.ResentTo">
            <summary>
            Get the list of addresses in the Resent-To header.
            </summary>
            <remarks>
            The addresses in the Resent-To header are the primary recipients of
            the message.
            </remarks>
            <value>The list of addresses in the Resent-To header.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.Cc">
            <summary>
            Get the list of addresses in the Cc header.
            </summary>
            <remarks>
            The addresses in the Cc header are secondary recipients of the message
            and are usually not the individuals being directly addressed in the
            content of the message.
            </remarks>
            <value>The list of addresses in the Cc header.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.ResentCc">
            <summary>
            Get the list of addresses in the Resent-Cc header.
            </summary>
            <remarks>
            The addresses in the Resent-Cc header are secondary recipients of the message
            and are usually not the individuals being directly addressed in the
            content of the message.
            </remarks>
            <value>The list of addresses in the Resent-Cc header.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.Bcc">
            <summary>
            Get the list of addresses in the Bcc header.
            </summary>
            <remarks>
            Recipients in the Blind-Carbon-Copy list will not be visible to
            the other recipients of the message.
            </remarks>
            <value>The list of addresses in the Bcc header.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.ResentBcc">
            <summary>
            Get the list of addresses in the Resent-Bcc header.
            </summary>
            <remarks>
            Recipients in the Resent-Bcc list will not be visible to
            the other recipients of the message.
            </remarks>
            <value>The list of addresses in the Resent-Bcc header.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.Subject">
            <summary>
            Get or set the subject of the message.
            </summary>
            <remarks>
            <para>The Subject is typically a short string denoting the topic of the message.</para>
            <para>Replies will often use <c>"Re: "</c> followed by the Subject of the original message.</para>
            </remarks>
            <value>The subject of the message.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.MimeMessage.Date">
            <summary>
            Get or set the date of the message.
            </summary>
            <remarks>
            If the date is not explicitly set before the message is written to a stream,
            the date will default to the exact moment when it is written to said stream.
            </remarks>
            <value>The date of the message.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.ResentDate">
            <summary>
            Get or set the Resent-Date of the message.
            </summary>
            <remarks>
            Gets or sets the Resent-Date of the message.
            </remarks>
            <value>The Resent-Date of the message.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.References">
            <summary>
            Get the list of references to other messages.
            </summary>
            <remarks>
            The References header contains a chain of Message-Ids back to the
            original message that started the thread.
            </remarks>
            <value>The references.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.InReplyTo">
            <summary>
            Get or set the Message-Id that this message is replying to.
            </summary>
            <remarks>
            If the message is a reply to another message, it will typically
            use the In-Reply-To header to specify the Message-Id of the
            original message being replied to.
            </remarks>
            <value>The message id that this message is in reply to.</value>
            <exception cref="T:System.ArgumentException">
            <paramref name="value"/> is improperly formatted.
            </exception>
        </member>
        <member name="P:MimeKit.MimeMessage.MessageId">
            <summary>
            Get or set the message identifier.
            </summary>
            <remarks>
            <para>The Message-Id is meant to be a globally unique identifier for
            a message.</para>
            <para><see cref="M:MimeKit.Utils.MimeUtils.GenerateMessageId"/> can be used
            to generate this value.</para>
            </remarks>
            <value>The message identifier.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="value"/> is improperly formatted.
            </exception>
        </member>
        <member name="P:MimeKit.MimeMessage.ResentMessageId">
            <summary>
            Get or set the Resent-Message-Id header.
            </summary>
            <remarks>
            <para>The Resent-Message-Id is meant to be a globally unique identifier for
            a message.</para>
            <para><see cref="M:MimeKit.Utils.MimeUtils.GenerateMessageId"/> can be used
            to generate this value.</para>
            </remarks>
            <value>The Resent-Message-Id.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="value"/> is improperly formatted.
            </exception>
        </member>
        <member name="P:MimeKit.MimeMessage.MimeVersion">
            <summary>
            Get or set the MIME-Version.
            </summary>
            <remarks>
            The MIME-Version header specifies the version of the MIME specification
            that the message was created for.
            </remarks>
            <value>The MIME version.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.MimeMessage.Body">
            <summary>
            Get or set the body of the message.
            </summary>
            <remarks>
            <para>The body of the message can either be plain text or it can be a
            tree of MIME entities such as a text/plain MIME part and a collection
            of file attachments.</para>
            <para>For a convenient way of constructing message bodies, see the
            <see cref="T:MimeKit.BodyBuilder"/> class.</para>
            </remarks>
            <value>The body of the message.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.TextBody">
            <summary>
            Get the text body of the message if it exists.
            </summary>
            <remarks>
            <para>Gets the text content of the first text/plain body part that is found (in depth-first
            search order) which is not an attachment.</para>
            </remarks>
            <value>The text body if it exists; otherwise, <see langword="null"/>.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.HtmlBody">
            <summary>
            Get the html body of the message if it exists.
            </summary>
            <remarks>
            <para>Gets the HTML-formatted body of the message if it exists.</para>
            </remarks>
            <value>The html body if it exists; otherwise, <see langword="null"/>.</value>
        </member>
        <member name="M:MimeKit.MimeMessage.GetTextBody(MimeKit.Text.TextFormat)">
            <summary>
            Get the text body in the specified format.
            </summary>
            <remarks>
            Gets the text body in the specified format, if it exists.
            </remarks>
            <returns>The text body in the desired format if it exists; otherwise, <see langword="null"/>.</returns>
            <param name="format">The desired text format.</param>
        </member>
        <member name="P:MimeKit.MimeMessage.BodyParts">
            <summary>
            Get the body parts of the message.
            </summary>
            <remarks>
            Traverses over the MIME tree, enumerating all the <see cref="T:MimeKit.MimeEntity"/> objects,
            but does not traverse into the bodies of attached messages.
            </remarks>
            <example>
            <code language="c#" source="Examples\AttachmentExamples.cs" region="SaveBodyParts" />
            </example>
            <value>The body parts.</value>
        </member>
        <member name="P:MimeKit.MimeMessage.Attachments">
            <summary>
            Get the attachments.
            </summary>
            <remarks>
            Traverses over the MIME tree, enumerating all the <see cref="T:MimeKit.MimeEntity"/> objects that
            have a Content-Disposition header set to <c>"attachment"</c>.
            </remarks>
            <example>
            <code language="c#" source="Examples\AttachmentExamples.cs" region="SaveAttachments" />
            </example>
            <value>The attachments.</value>
        </member>
        <member name="M:MimeKit.MimeMessage.GetRecipients(System.Boolean)">
            <summary>
            Get the concatenated list of recipients.
            </summary>
            <remarks>
            <para>Gets the concatenated list of recipients.</para>
            <para>If the <c>Resent-Sender</c> or <c>Resent-From</c> headers exist, then the recipients defined by the <c>Resent-To</c>,
            <c>Resent-Cc</c> and <c>Resent-Bcc</c> headers will be used. Otherwise, the recipients defined by the <c>To</c>, <c>Cc</c>
            and <c>Bcc</c> headers will be used.</para>
            </remarks>
            <param name="onlyUnique">If <see langword="true" />, only mailboxes with a unique address will be included.</param>
            <returns>The concatenated list of recipients.</returns>
        </member>
        <member name="M:MimeKit.MimeMessage.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the <see cref="T:MimeKit.MimeMessage"/> for debugging purposes.
            </summary>
            <remarks>
            <para>Returns a <see cref="T:System.String"/> that represents the <see cref="T:MimeKit.MimeMessage"/> for debugging purposes.</para>
            <note type="warning"><para>In general, the string returned from this method SHOULD NOT be used for serializing
            the message to disk. It is recommended that you use <see cref="M:MimeKit.MimeMessage.WriteTo(System.IO.Stream,System.Threading.CancellationToken)"/> instead.</para>
            <para>If this method is used for serializing the message to disk, the iso-8859-1 text encoding should be used for
            conversion.</para></note>
            </remarks>
            <returns>A <see cref="T:System.String"/> that represents the <see cref="T:MimeKit.MimeMessage"/> for debugging purposes.</returns>
        </member>
        <member name="M:MimeKit.MimeMessage.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME message.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.MimeMessage"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitMimeMessage(MimeKit.MimeMessage)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitMimeMessage(MimeKit.MimeMessage)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.Prepare(MimeKit.EncodingConstraint,System.Int32)">
            <summary>
            Prepare the message for transport using the specified encoding constraints.
            </summary>
            <remarks>
            Prepares the message for transport using the specified encoding constraints.
            </remarks>
            <param name="constraint">The encoding constraint.</param>
            <param name="maxLineLength">The maximum allowable length for a line (not counting the CRLF). Must be between <c>60</c> and <c>998</c> (inclusive).</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="maxLineLength"/> is not between <c>60</c> and <c>998</c> (inclusive).</para>
            <para>-or-</para>
            <para><paramref name="constraint"/> is not a valid value.</para>
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.WriteTo(MimeKit.FormatOptions,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Write the message to the specified output stream.
            </summary>
            <remarks>
            Writes the message to the output stream using the provided formatting options.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="headersOnly"><see langword="true" /> if only the headers should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.WriteToAsync(MimeKit.FormatOptions,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the message to the specified output stream.
            </summary>
            <remarks>
            Asynchronously writes the message to the output stream using the provided formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="headersOnly"><see langword="true" /> if only the headers should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.WriteTo(MimeKit.FormatOptions,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Write the message to the specified output stream.
            </summary>
            <remarks>
            Writes the message to the output stream using the provided formatting options.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.WriteToAsync(MimeKit.FormatOptions,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the message to the specified output stream.
            </summary>
            <remarks>
            Asynchronously writes the message to the output stream using the provided formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.WriteTo(System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Write the message to the specified output stream.
            </summary>
            <remarks>
            Writes the message to the output stream using the default formatting options.
            </remarks>
            <param name="stream">The output stream.</param>
            <param name="headersOnly"><see langword="true" /> if only the headers should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.WriteToAsync(System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the message to the specified output stream.
            </summary>
            <remarks>
            Asynchronously writes the message to the output stream using the default formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="stream">The output stream.</param>
            <param name="headersOnly"><see langword="true" /> if only the headers should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.WriteTo(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Write the message to the specified output stream.
            </summary>
            <remarks>
            Writes the message to the output stream using the default formatting options.
            </remarks>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.WriteToAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the message to the specified output stream.
            </summary>
            <remarks>
            Asynchronously writes the message to the output stream using the default formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="stream">The output stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.WriteTo(MimeKit.FormatOptions,System.String,System.Threading.CancellationToken)">
            <summary>
            Write the message to the specified file.
            </summary>
            <remarks>
            Writes the message to the specified file using the provided formatting options.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="fileName">The file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.WriteToAsync(MimeKit.FormatOptions,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the message to the specified file.
            </summary>
            <remarks>
            Asynchronously writes the message to the specified file using the provided formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="fileName">The file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.WriteTo(System.String,System.Threading.CancellationToken)">
            <summary>
            Write the message to the specified file.
            </summary>
            <remarks>
            Writes the message to the specified file using the default formatting options.
            </remarks>
            <param name="fileName">The file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.WriteToAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the message to the specified file.
            </summary>
            <remarks>
            Asynchronously writes the message to the specified file using the default formatting options.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="fileName">The file.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to write to the specified file.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.Sign(MimeKit.Cryptography.CryptographyContext,MimeKit.Cryptography.DigestAlgorithm,System.Threading.CancellationToken)">
            <summary>
            Sign the message using the specified cryptography context and digest algorithm.
            </summary>
            <remarks>
            If either of the Resent-Sender or Resent-From headers are set, then the message
            will be signed using the Resent-Sender (or first mailbox in the Resent-From)
            address as the signer address, otherwise the Sender or From address will be
            used instead.
            </remarks>
            <param name="ctx">The cryptography context.</param>
            <param name="digestAlgo">The digest algorithm.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>The <see cref="P:MimeKit.MimeMessage.Body"/> has not been set.</para>
            <para>-or-</para>
            <para>A sender has not been specified.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <paramref name="digestAlgo"/> is not supported.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for the sender.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found for the sender.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.SignAsync(MimeKit.Cryptography.CryptographyContext,MimeKit.Cryptography.DigestAlgorithm,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign the message using the specified cryptography context and digest algorithm.
            </summary>
            <remarks>
            If either of the Resent-Sender or Resent-From headers are set, then the message
            will be signed using the Resent-Sender (or first mailbox in the Resent-From)
            address as the signer address, otherwise the Sender or From address will be
            used instead.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="ctx">The cryptography context.</param>
            <param name="digestAlgo">The digest algorithm.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>The <see cref="P:MimeKit.MimeMessage.Body"/> has not been set.</para>
            <para>-or-</para>
            <para>A sender has not been specified.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <paramref name="digestAlgo"/> is not supported.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for the sender.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found for the sender.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.Sign(MimeKit.Cryptography.CryptographyContext,System.Threading.CancellationToken)">
            <summary>
            Sign the message using the specified cryptography context and the SHA-1 digest algorithm.
            </summary>
            <remarks>
            If either of the Resent-Sender or Resent-From headers are set, then the message
            will be signed using the Resent-Sender (or first mailbox in the Resent-From)
            address as the signer address, otherwise the Sender or From address will be
            used instead.
            </remarks>
            <param name="ctx">The cryptography context.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>The <see cref="P:MimeKit.MimeMessage.Body"/> has not been set.</para>
            <para>-or-</para>
            <para>A sender has not been specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for the sender.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found for the sender.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.SignAsync(MimeKit.Cryptography.CryptographyContext,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign the message using the specified cryptography context and the SHA-1 digest algorithm.
            </summary>
            <remarks>
            If either of the Resent-Sender or Resent-From headers are set, then the message
            will be signed using the Resent-Sender (or first mailbox in the Resent-From)
            address as the signer address, otherwise the Sender or From address will be
            used instead.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="ctx">The cryptography context.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>The <see cref="P:MimeKit.MimeMessage.Body"/> has not been set.</para>
            <para>-or-</para>
            <para>A sender has not been specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A signing certificate could not be found for the sender.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found for the sender.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.Encrypt(MimeKit.Cryptography.CryptographyContext,System.Threading.CancellationToken)">
            <summary>
            Encrypt the message to the sender and all the recipients
            using the specified cryptography context.
            </summary>
            <remarks>
            If either of the Resent-Sender or Resent-From headers are set, then the message
            will be encrypted to all the addresses specified in the Resent headers
            (Resent-Sender, Resent-From, Resent-To, Resent-Cc, and Resent-Bcc),
            otherwise the message will be encrypted to all the addresses specified in
            the standard address headers (Sender, From, To, Cc, and Bcc).
            </remarks>
            <param name="ctx">The cryptography context.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            An unknown type of cryptography context was used.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>The <see cref="P:MimeKit.MimeMessage.Body"/> has not been set.</para>
            <para>-or-</para>
            <para>No recipients have been specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate could not be found for one or more of the recipients.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            The public key could not be found for one or more of the recipients.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.EncryptAsync(MimeKit.Cryptography.CryptographyContext,System.Threading.CancellationToken)">
            <summary>
            Asynchronously encrypt the message to the sender and all the recipients
            using the specified cryptography context.
            </summary>
            <remarks>
            If either of the Resent-Sender or Resent-From headers are set, then the message
            will be encrypted to all the addresses specified in the Resent headers
            (Resent-Sender, Resent-From, Resent-To, Resent-Cc, and Resent-Bcc),
            otherwise the message will be encrypted to all the addresses specified in
            the standard address headers (Sender, From, To, Cc, and Bcc).
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="ctx">The cryptography context.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            An unknown type of cryptography context was used.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>The <see cref="P:MimeKit.MimeMessage.Body"/> has not been set.</para>
            <para>-or-</para>
            <para>No recipients have been specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate could not be found for one or more of the recipients.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            The public key could not be found for one or more of the recipients.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.SignAndEncrypt(MimeKit.Cryptography.CryptographyContext,MimeKit.Cryptography.DigestAlgorithm,System.Threading.CancellationToken)">
            <summary>
            Sign and encrypt the message to the sender and all the recipients using
            the specified cryptography context and the specified digest algorithm.
            </summary>
            <remarks>
            <para>If either of the Resent-Sender or Resent-From headers are set, then the message
            will be signed using the Resent-Sender (or first mailbox in the Resent-From)
            address as the signer address, otherwise the Sender or From address will be
            used instead.</para>
            <para>Likewise, if either of the Resent-Sender or Resent-From headers are set, then the
            message will be encrypted to all the addresses specified in the Resent headers
            (Resent-Sender, Resent-From, Resent-To, Resent-Cc, and Resent-Bcc),
            otherwise the message will be encrypted to all the addresses specified in
            the standard address headers (Sender, From, To, Cc, and Bcc).</para>
            </remarks>
            <param name="ctx">The cryptography context.</param>
            <param name="digestAlgo">The digest algorithm.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            An unknown type of cryptography context was used.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>The <see cref="P:MimeKit.MimeMessage.Body"/> has not been set.</para>
            <para>-or-</para>
            <para>No sender has been specified.</para>
            <para>-or-</para>
            <para>No recipients have been specified.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <paramref name="digestAlgo"/> is not supported.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate could not be found for the signer or one or more of the recipients.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found for the sender.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            The public key could not be found for one or more of the recipients.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.SignAndEncryptAsync(MimeKit.Cryptography.CryptographyContext,MimeKit.Cryptography.DigestAlgorithm,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign and encrypt the message to the sender and all the recipients using
            the specified cryptography context and the specified digest algorithm.
            </summary>
            <remarks>
            <para>If either of the Resent-Sender or Resent-From headers are set, then the message
            will be signed using the Resent-Sender (or first mailbox in the Resent-From)
            address as the signer address, otherwise the Sender or From address will be
            used instead.</para>
            <para>Likewise, if either of the Resent-Sender or Resent-From headers are set, then the
            message will be encrypted to all the addresses specified in the Resent headers
            (Resent-Sender, Resent-From, Resent-To, Resent-Cc, and Resent-Bcc),
            otherwise the message will be encrypted to all the addresses specified in
            the standard address headers (Sender, From, To, Cc, and Bcc).</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="ctx">The cryptography context.</param>
            <param name="digestAlgo">The digest algorithm.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            An unknown type of cryptography context was used.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="digestAlgo"/> was out of range.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>The <see cref="P:MimeKit.MimeMessage.Body"/> has not been set.</para>
            <para>-or-</para>
            <para>No sender has been specified.</para>
            <para>-or-</para>
            <para>No recipients have been specified.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <paramref name="digestAlgo"/> is not supported.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate could not be found for the signer or one or more of the recipients.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found for the sender.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            The public key could not be found for one or more of the recipients.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.SignAndEncrypt(MimeKit.Cryptography.CryptographyContext,System.Threading.CancellationToken)">
            <summary>
            Sign and encrypt the message to the sender and all the recipients using
            the specified cryptography context and the SHA-1 digest algorithm.
            </summary>
            <remarks>
            <para>If either of the Resent-Sender or Resent-From headers are set, then the message
            will be signed using the Resent-Sender (or first mailbox in the Resent-From)
            address as the signer address, otherwise the Sender or From address will be
            used instead.</para>
            <para>Likewise, if either of the Resent-Sender or Resent-From headers are set, then the
            message will be encrypted to all the addresses specified in the Resent headers
            (Resent-Sender, Resent-From, Resent-To, Resent-Cc, and Resent-Bcc),
            otherwise the message will be encrypted to all the addresses specified in
            the standard address headers (Sender, From, To, Cc, and Bcc).</para>
            </remarks>
            <param name="ctx">The cryptography context.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            An unknown type of cryptography context was used.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>The <see cref="P:MimeKit.MimeMessage.Body"/> has not been set.</para>
            <para>-or-</para>
            <para>No sender has been specified.</para>
            <para>-or-</para>
            <para>No recipients have been specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate could not be found for the signer or one or more of the recipients.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found for the sender.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            The public key could not be found for one or more of the recipients.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.SignAndEncryptAsync(MimeKit.Cryptography.CryptographyContext,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sign and encrypt the message to the sender and all the recipients using
            the specified cryptography context and the SHA-1 digest algorithm.
            </summary>
            <remarks>
            <para>If either of the Resent-Sender or Resent-From headers are set, then the message
            will be signed using the Resent-Sender (or first mailbox in the Resent-From)
            address as the signer address, otherwise the Sender or From address will be
            used instead.</para>
            <para>Likewise, if either of the Resent-Sender or Resent-From headers are set, then the
            message will be encrypted to all the addresses specified in the Resent headers
            (Resent-Sender, Resent-From, Resent-To, Resent-Cc, and Resent-Bcc),
            otherwise the message will be encrypted to all the addresses specified in
            the standard address headers (Sender, From, To, Cc, and Bcc).</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="ctx">The cryptography context.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ctx"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            An unknown type of cryptography context was used.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>The <see cref="P:MimeKit.MimeMessage.Body"/> has not been set.</para>
            <para>-or-</para>
            <para>No sender has been specified.</para>
            <para>-or-</para>
            <para>No recipients have been specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MimeKit.Cryptography.CertificateNotFoundException">
            A certificate could not be found for the signer or one or more of the recipients.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PrivateKeyNotFoundException">
            The private key could not be found for the sender.
            </exception>
            <exception cref="T:MimeKit.Cryptography.PublicKeyNotFoundException">
            The public key could not be found for one or more of the recipients.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.MimeMessage"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.MimeMessage"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="M:MimeKit.MimeMessage.Dispose">
            <summary>
            Releases all resources used by the <see cref="T:MimeKit.MimeMessage"/> object.
            </summary>
            <remarks>Call <see cref="M:MimeKit.MimeMessage.Dispose"/> when you are finished using the <see cref="T:MimeKit.MimeMessage"/>. The
            <see cref="M:MimeKit.MimeMessage.Dispose"/> method leaves the <see cref="T:MimeKit.MimeMessage"/> in an unusable state. After
            calling <see cref="M:MimeKit.MimeMessage.Dispose"/>, you must release all references to the <see cref="T:MimeKit.MimeMessage"/> so
            the garbage collector can reclaim the memory that the <see cref="T:MimeKit.MimeMessage"/> was occupying.</remarks>
        </member>
        <member name="M:MimeKit.MimeMessage.Load(MimeKit.ParserOptions,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Load a <see cref="T:MimeKit.MimeMessage"/> from the specified stream.
            </summary>
            <remarks>
            <para>Loads a <see cref="T:MimeKit.MimeMessage"/> from the given stream, using the
            specified <see cref="T:MimeKit.ParserOptions"/>.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            </remarks>
            <returns>The parsed message.</returns>
            <param name="options">The parser options.</param>
            <param name="stream">The stream.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.LoadAsync(MimeKit.ParserOptions,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously load a <see cref="T:MimeKit.MimeMessage"/> from the specified stream.
            </summary>
            <remarks>
            <para>Loads a <see cref="T:MimeKit.MimeMessage"/> from the given stream, using the
            specified <see cref="T:MimeKit.ParserOptions"/>.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            </remarks>
            <returns>The parsed message.</returns>
            <param name="options">The parser options.</param>
            <param name="stream">The stream.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.Load(MimeKit.ParserOptions,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Load a <see cref="T:MimeKit.MimeMessage"/> from the specified stream.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.MimeMessage"/> from the given stream, using the
            specified <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed message.</returns>
            <param name="options">The parser options.</param>
            <param name="stream">The stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.LoadAsync(MimeKit.ParserOptions,System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously load a <see cref="T:MimeKit.MimeMessage"/> from the specified stream.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.MimeMessage"/> from the given stream, using the
            specified <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed message.</returns>
            <param name="options">The parser options.</param>
            <param name="stream">The stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.Load(System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Load a <see cref="T:MimeKit.MimeMessage"/> from the specified stream.
            </summary>
            <remarks>
            <para>Loads a <see cref="T:MimeKit.MimeMessage"/> from the given stream, using the
            default <see cref="T:MimeKit.ParserOptions"/>.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            </remarks>
            <returns>The parsed message.</returns>
            <param name="stream">The stream.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.LoadAsync(System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously load a <see cref="T:MimeKit.MimeMessage"/> from the specified stream.
            </summary>
            <remarks>
            <para>Loads a <see cref="T:MimeKit.MimeMessage"/> from the given stream, using the
            default <see cref="T:MimeKit.ParserOptions"/>.</para>
            <para>If <paramref name="persistent"/> is <see langword="true" /> and <paramref name="stream"/> is seekable, then
            the <see cref="T:MimeKit.MimeParser"/> will not copy the content of <see cref="T:MimeKit.MimePart"/>s into memory. Instead,
            it will use a <see cref="T:MimeKit.IO.BoundStream"/> to reference a substream of <paramref name="stream"/>.
            This has the potential to not only save memory usage, but also improve <see cref="T:MimeKit.MimeParser"/>
            performance.</para>
            </remarks>
            <returns>The parsed message.</returns>
            <param name="stream">The stream.</param>
            <param name="persistent"><see langword="true" /> if the stream is persistent; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.Load(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Load a <see cref="T:MimeKit.MimeMessage"/> from the specified stream.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.MimeMessage"/> from the given stream, using the
            default <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed message.</returns>
            <param name="stream">The stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.LoadAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously load a <see cref="T:MimeKit.MimeMessage"/> from the specified stream.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.MimeMessage"/> from the given stream, using the
            default <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed message.</returns>
            <param name="stream">The stream.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="stream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.Load(MimeKit.ParserOptions,System.String,System.Threading.CancellationToken)">
            <summary>
            Load a <see cref="T:MimeKit.MimeMessage"/> from the specified file.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.MimeMessage"/> from the file at the given path, using the
            specified <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed message.</returns>
            <param name="options">The parser options.</param>
            <param name="fileName">The name of the file to load.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.LoadAsync(MimeKit.ParserOptions,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously load a <see cref="T:MimeKit.MimeMessage"/> from the specified file.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.MimeMessage"/> from the file at the given path, using the
            specified <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed message.</returns>
            <param name="options">The parser options.</param>
            <param name="fileName">The name of the file to load.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="fileName"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.Load(System.String,System.Threading.CancellationToken)">
            <summary>
            Load a <see cref="T:MimeKit.MimeMessage"/> from the specified file.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.MimeMessage"/> from the file at the given path, using the
            default <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed message.</returns>
            <param name="fileName">The name of the file to load.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.LoadAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously load a <see cref="T:MimeKit.MimeMessage"/> from the specified file.
            </summary>
            <remarks>
            Loads a <see cref="T:MimeKit.MimeMessage"/> from the file at the given path, using the
            default <see cref="T:MimeKit.ParserOptions"/>.
            </remarks>
            <returns>The parsed message.</returns>
            <param name="fileName">The name of the file to load.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="fileName"/> is a zero-length string, contains only white space, or
            contains one or more invalid characters.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            <paramref name="fileName"/> is an invalid file path.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The specified file path could not be found.
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            The user does not have access to read the specified file.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.FormatException">
            There was an error parsing the entity.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.CreateFromMailMessage(System.Net.Mail.MailMessage)">
            <summary>
            Create a new <see cref="T:MimeKit.MimeMessage"/> from a <see cref="T:System.Net.Mail.MailMessage"/>.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimeMessage"/> from a <see cref="T:System.Net.Mail.MailMessage"/>.
            </remarks>
            <returns>The equivalent <see cref="T:MimeKit.MimeMessage"/>.</returns>
            <param name="message">The message.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="message"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessage.op_Explicit(System.Net.Mail.MailMessage)~MimeKit.MimeMessage">
            <summary>
            Explicit cast to convert a <see cref="T:System.Net.Mail.MailMessage"/> to a
            <see cref="T:MimeKit.MimeMessage"/>.
            </summary>
            <remarks>
            Allows creation of messages using Microsoft's System.Net.Mail APIs.
            </remarks>
            <returns>The equivalent <see cref="T:MimeKit.MimeMessage"/>.</returns>
            <param name="message">The message.</param>
        </member>
        <member name="T:MimeKit.MimeMessageBeginEventArgs">
            <summary>
            Event args emitted by the <see cref="T:MimeKit.MimeParser"/> when it begins parsing a <see cref="T:MimeKit.MimeMessage"/>.
            </summary>
            <remarks>
            Event args emitted by the <see cref="T:MimeKit.MimeParser"/> when it begins parsing a <see cref="T:MimeKit.MimeMessage"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.MimeMessageBeginEventArgs.#ctor(MimeKit.MimeMessage)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeMessageBeginEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimeMessageBeginEventArgs"/>.
            </remarks>
            <param name="message">The message that was parsed.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="message"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessageBeginEventArgs.#ctor(MimeKit.MimeMessage,MimeKit.MessagePart)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeMessageBeginEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimeMessageBeginEventArgs"/>.
            </remarks>
            <param name="message">The message that was parsed.</param>
            <param name="parent">The parent message part.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="parent"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="P:MimeKit.MimeMessageBeginEventArgs.Message">
            <summary>
            Get the message that was parsed.
            </summary>
            <remarks>
            Gets the message that was parsed.
            </remarks>
            <value>The message.</value>
        </member>
        <member name="P:MimeKit.MimeMessageBeginEventArgs.Parent">
            <summary>
            Get the parent <see cref="T:MimeKit.MessagePart"/> if this message is an attachment.
            </summary>
            <remarks>
            Gets the parent <see cref="T:MimeKit.MessagePart"/> if this message is an attachment.
            </remarks>
            <value>The parent <see cref="T:MimeKit.MessagePart"/>.</value>
        </member>
        <member name="P:MimeKit.MimeMessageBeginEventArgs.BeginOffset">
            <summary>
            Get or set the stream offset that marks the beginning of the message.
            </summary>
            <remarks>
            Gets or sets the stream offset that marks the beginning of the message.
            </remarks>
            <value>The stream offset.</value>
        </member>
        <member name="P:MimeKit.MimeMessageBeginEventArgs.LineNumber">
            <summary>
            Get or set the line number of the beginning of the message.
            </summary>
            <remarks>
            Gets or sets the line number of the beginning of the message.
            </remarks>
            <value>The line number.</value>
        </member>
        <member name="T:MimeKit.MimeMessageEndEventArgs">
            <summary>
            Event args emitted by the <see cref="T:MimeKit.MimeParser"/> when a <see cref="T:MimeKit.MimeMessage"/> is parsed.
            </summary>
            <remarks>
            Event args emitted by the <see cref="T:MimeKit.MimeParser"/> when a <see cref="T:MimeKit.MimeMessage"/> is parsed.
            </remarks>
        </member>
        <member name="M:MimeKit.MimeMessageEndEventArgs.#ctor(MimeKit.MimeMessage)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeMessageEndEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimeMessageEndEventArgs"/>.
            </remarks>
            <param name="message">The message that was parsed.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="message"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimeMessageEndEventArgs.#ctor(MimeKit.MimeMessage,MimeKit.MessagePart)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeMessageEndEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimeMessageEndEventArgs"/>.
            </remarks>
            <param name="message">The message that was parsed.</param>
            <param name="parent">The parent message part.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="message"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="parent"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="P:MimeKit.MimeMessageEndEventArgs.HeadersEndOffset">
            <summary>
            Get or set the stream offset that marks the end of the message headers.
            </summary>
            <remarks>
            Gets or sets the stream offset that marks the end of the message headers.
            </remarks>
            <value>The stream offset.</value>
        </member>
        <member name="P:MimeKit.MimeMessageEndEventArgs.EndOffset">
            <summary>
            Get or set the stream offset that marks the end of the message.
            </summary>
            <remarks>
            Gets or sets the stream offset that marks the end of the message.
            </remarks>
            <value>The stream offset.</value>
        </member>
        <member name="T:MimeKit.MimePart">
            <summary>
            A leaf-node MIME part that contains content such as the message body text or an attachment.
            </summary>
            <remarks>
            A leaf-node MIME part that contains content such as the message body text or an attachment.
            </remarks>
            <example>
            <code language="c#" source="Examples\AttachmentExamples.cs" region="SaveAttachments" />
            </example>
        </member>
        <member name="M:MimeKit.MimePart.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimePart"/> class
            based on the <see cref="T:MimeKit.MimeEntityConstructorArgs"/>.
            </summary>
            <remarks>
            This constructor is used by <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimePart.#ctor(System.String,System.String,System.Object[])">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimePart"/> class
            with the specified media type and subtype.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimePart"/> with the specified media type and subtype.
            </remarks>
            <param name="mediaType">The media type.</param>
            <param name="mediaSubtype">The media subtype.</param>
            <param name="args">An array of initialization parameters: headers and part content.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="mediaType"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="mediaSubtype"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="args"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="args"/> contains more than one <see cref="T:MimeKit.IMimeContent"/> or
            <see cref="T:System.IO.Stream"/>.</para>
            <para>-or-</para>
            <para><paramref name="args"/> contains one or more arguments of an unknown type.</para>
            </exception>
        </member>
        <member name="M:MimeKit.MimePart.#ctor(System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimePart"/> class
            with the specified media type and subtype.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimePart"/> with the specified media type and subtype.
            </remarks>
            <param name="mediaType">The media type.</param>
            <param name="mediaSubtype">The media subtype.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="mediaType"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="mediaSubtype"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.MimePart.#ctor(MimeKit.ContentType)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimePart"/> class
            with the specified content type.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimePart"/> with the specified Content-Type value.
            </remarks>
            <param name="contentType">The content type.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="contentType"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimePart.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimePart"/> class
            with the specified content type.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimePart"/> with the specified Content-Type value.
            </remarks>
            <param name="contentType">The content type.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="contentType"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:MimeKit.ParseException">
            <paramref name="contentType"/> could not be parsed.
            </exception>
        </member>
        <member name="M:MimeKit.MimePart.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimePart"/> class
            with the default Content-Type of application/octet-stream.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimePart"/> with a Content-Type of application/octet-stream.
            </remarks>
        </member>
        <member name="P:MimeKit.MimePart.ContentDescription">
            <summary>
            Get or set the description of the content if available.
            </summary>
            <remarks>
            <para>The Content-Description header can be used to set a description of the content.</para>
            </remarks>
            <value>The description of the content.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is negative.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimePart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.MimePart.ContentDuration">
            <summary>
            Get or set the duration of the content if available.
            </summary>
            <remarks>
            <para>The Content-Duration header specifies duration of timed media,
            such as audio or video, in seconds.</para>
            </remarks>
            <value>The duration of the content.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is negative.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimePart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.MimePart.ContentMd5">
            <summary>
            Get or set the md5sum of the content.
            </summary>
            <remarks>
            <para>The Content-MD5 header specifies the base64-encoded MD5 checksum of the content
            in its canonical format.</para>
            <para>For more information, see <a href="https://tools.ietf.org/html/rfc1864">rfc1864</a>.</para>
            </remarks>
            <value>The md5sum of the content.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimePart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.MimePart.ContentTransferEncoding">
            <summary>
            Get or set the content transfer encoding.
            </summary>
            <remarks>
            The Content-Transfer-Encoding header specifies an auxiliary encoding
            that was applied to the content in order to allow it to pass through
            mail transport mechanisms (such as SMTP) which may have limitations
            in the byte ranges that it accepts. For example, many SMTP servers
            do not accept data outside the 7-bit ASCII range and so sending
            binary attachments or even non-English text is not possible without
            applying an encoding such as base64 or quoted-printable.
            </remarks>
            <value>The content transfer encoding.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is not a valid content encoding.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimePart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.MimePart.FileName">
            <summary>
            Get or set the name of the file.
            </summary>
            <remarks>
            <para>First checks for the "filename" parameter on the Content-Disposition header. If
            that does not exist, then the "name" parameter on the Content-Type header is used.</para>
            <para>When setting the filename, both the "filename" parameter on the Content-Disposition
            header and the "name" parameter on the Content-Type header are set.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\AttachmentExamples.cs" region="SaveAttachments" />
            </example>
            <value>The name of the file.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimePart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.MimePart.Content">
            <summary>
            Get or set the MIME content.
            </summary>
            <remarks>
            Gets or sets the MIME content.
            </remarks>
            <example>
            <code language="c#" source="Examples\AttachmentExamples.cs" region="SaveAttachments" />
            </example>
            <value>The MIME content.</value>
        </member>
        <member name="M:MimeKit.MimePart.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.MimePart"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitMimePart(MimeKit.MimePart)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitMimePart(MimeKit.MimePart)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimePart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MimePart.GetBestEncoding(MimeKit.EncodingConstraint,System.Threading.CancellationToken)">
            <summary>
            Calculate the most efficient content encoding given the specified constraint.
            </summary>
            <remarks>
            If no <see cref="P:MimeKit.MimePart.Content"/> is set, <see cref="F:MimeKit.ContentEncoding.SevenBit"/> will be returned.
            </remarks>
            <returns>The most efficient content encoding.</returns>
            <param name="constraint">The encoding constraint.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="constraint"/> is not a valid value.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimePart"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimePart.GetBestEncoding(MimeKit.EncodingConstraint,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Calculate the most efficient content encoding given the specified constraint.
            </summary>
            <remarks>
            If no <see cref="P:MimeKit.MimePart.Content"/> is set, <see cref="F:MimeKit.ContentEncoding.SevenBit"/> will be returned.
            </remarks>
            <returns>The most efficient content encoding.</returns>
            <param name="constraint">The encoding constraint.</param>
            <param name="maxLineLength">The maximum allowable length for a line (not counting the CRLF). Must be between <c>72</c> and <c>998</c> (inclusive).</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="maxLineLength"/> is not between <c>72</c> and <c>998</c> (inclusive).</para>
            <para>-or-</para>
            <para><paramref name="constraint"/> is not a valid value.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimePart"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimePart.ComputeContentMd5">
            <summary>
            Compute the MD5 checksum of the content.
            </summary>
            <remarks>
            Computes the MD5 checksum of the MIME content in its canonical
            format and then base64-encodes the result.
            </remarks>
            <returns>The md5sum of the content.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimePart"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="P:MimeKit.MimePart.Content"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimePart.VerifyContentMd5">
            <summary>
            Verify the Content-Md5 value against an independently computed md5sum.
            </summary>
            <remarks>
            Computes the MD5 checksum of the MIME content and compares it with the
            value in the Content-MD5 header, returning <see langword="true" /> if and only if
            the values match.
            </remarks>
            <returns><see langword="true" /> if content MD5 checksum was verified; otherwise, <see langword="false" />.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimePart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MimePart.Prepare(MimeKit.EncodingConstraint,System.Int32)">
            <summary>
            Prepare the MIME entity for transport using the specified encoding constraints.
            </summary>
            <remarks>
            Prepares the MIME entity for transport using the specified encoding constraints.
            </remarks>
            <param name="constraint">The encoding constraint.</param>
            <param name="maxLineLength">The maximum number of octets allowed per line (not counting the CRLF). Must be between <c>60</c> and <c>998</c> (inclusive).</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="maxLineLength"/> is not between <c>60</c> and <c>998</c> (inclusive).</para>
            <para>-or-</para>
            <para><paramref name="constraint"/> is not a valid value.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimePart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MimePart.WriteTo(MimeKit.FormatOptions,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.MimePart"/> to the specified output stream.
            </summary>
            <remarks>
            Writes the MIME part to the output stream.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimePart"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimePart.WriteToAsync(MimeKit.FormatOptions,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.MimePart"/> to the specified output stream.
            </summary>
            <remarks>
            Asynchronously writes the MIME part to the output stream.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MimePart"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.MimePart.OnHeadersChanged(MimeKit.HeaderListChangedAction,MimeKit.Header)">
            <summary>
            Called when the headers change in some way.
            </summary>
            <remarks>
            Updates the <see cref="P:MimeKit.MimePart.ContentTransferEncoding"/>, <see cref="P:MimeKit.MimePart.ContentDuration"/>,
            and <see cref="P:MimeKit.MimePart.ContentMd5"/> properties if the corresponding headers have changed.
            </remarks>
            <param name="action">The type of change.</param>
            <param name="header">The header being added, changed or removed.</param>
        </member>
        <member name="M:MimeKit.MimePart.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.MimePart"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.MimePart"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MimeKit.MimeTypes">
            <summary>
            A mapping of file name extensions to the corresponding MIME-type.
            </summary>
            <remarks>
            A mapping of file name extensions to the corresponding MIME-type.
            </remarks>
        </member>
        <member name="M:MimeKit.MimeTypes.GetMimeType(System.String)">
            <summary>
            Get the MIME-type of a file.
            </summary>
            <remarks>
            Gets the MIME-type of a file based on the file extension.
            </remarks>
            <returns>The MIME-type.</returns>
            <param name="fileName">The file name.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="fileName"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimeTypes.TryGetExtension(System.String,System.String@)">
            <summary>
            Get the standard file extension for a MIME-type.
            </summary>
            <remarks>
            Gets the standard file extension for a MIME-type.
            </remarks>
            <returns><see langword="true" /> if the extension is known for the specified MIME-type; otherwise, <see langword="false" />.</returns>
            <param name="mimeType">The MIME-type.</param>
            <param name="extension">The file name extension for the specified MIME-type.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mimeType"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MimeTypes.Register(System.String,System.String)">
            <summary>
            Register a MIME-type to file extension mapping.
            </summary>
            <remarks>
            <para>Registers a MIME-type to file extension mapping.</para>
            <para>If the mapping for the MIME-type and/or file extension already exists,
            then it is overridden by the new mapping.</para>
            </remarks>
            <param name="mimeType">The MIME-type to register.</param>
            <param name="extension">The file extension to register.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="mimeType"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="extension"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="mimeType"/> is empty.</para>
            <para>-or-</para>
            <para><paramref name="extension"/> is empty.</para>
            </exception>
        </member>
        <member name="T:MimeKit.MimeVisitor">
            <summary>
            Represents a visitor for MIME trees.
            </summary>
            <remarks>
            This class is designed to be inherited to create more specialized classes whose
            functionality requires traversing, examining or copying a MIME tree.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
        </member>
        <member name="M:MimeKit.MimeVisitor.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MimeVisitor"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MimeVisitor"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.MimeVisitor.Visit(MimeKit.MimeEntity)">
            <summary>
            Dispatches the entity to one of the more specialized visit methods in this class.
            </summary>
            <remarks>
            Dispatches the entity to one of the more specialized visit methods in this class.
            </remarks>
            <param name="entity">The MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.Visit(MimeKit.MimeMessage)">
            <summary>
            Dispatches the message to one of the more specialized visit methods in this class.
            </summary>
            <remarks>
            Dispatches the message to one of the more specialized visit methods in this class.
            </remarks>
            <param name="message">The MIME message.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitApplicationPgpEncrypted(MimeKit.Cryptography.ApplicationPgpEncrypted)">
            <summary>
            Visit the application/pgp-encrypted MIME entity.
            </summary>
            <remarks>
            Visits the application/pgp-encrypted MIME entity.
            </remarks>
            <seealso cref="T:MimeKit.Cryptography.MultipartEncrypted"/>
            <param name="entity">The application/pgp-encrypted MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitApplicationPgpSignature(MimeKit.Cryptography.ApplicationPgpSignature)">
            <summary>
            Visit the application/pgp-signature MIME entity.
            </summary>
            <remarks>
            Visits the application/pgp-signature MIME entity.
            </remarks>
            <seealso cref="T:MimeKit.Cryptography.MultipartSigned"/>
            <param name="entity">The application/pgp-signature MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitApplicationPkcs7Mime(MimeKit.Cryptography.ApplicationPkcs7Mime)">
            <summary>
            Visit the application/pkcs7-mime MIME entity.
            </summary>
            <remarks>
            Visits the application/pkcs7-mime MIME entity.
            </remarks>
            <param name="entity">The application/pkcs7-mime MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitApplicationPkcs7Signature(MimeKit.Cryptography.ApplicationPkcs7Signature)">
            <summary>
            Visit the application/pkcs7-signature MIME entity.
            </summary>
            <remarks>
            Visits the application/pkcs7-signature MIME entity.
            </remarks>
            <seealso cref="T:MimeKit.Cryptography.MultipartSigned"/>
            <param name="entity">The application/pkcs7-signature MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitMessageDispositionNotification(MimeKit.MessageDispositionNotification)">
            <summary>
            Visit the message/disposition-notification MIME entity.
            </summary>
            <remarks>
            Visits the message/disposition-notification MIME entity.
            </remarks>
            <param name="entity">The message/disposition-notification MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitMessageDeliveryStatus(MimeKit.MessageDeliveryStatus)">
            <summary>
            Visit the message/delivery-status MIME entity.
            </summary>
            <remarks>
            Visits the message/delivery-status MIME entity.
            </remarks>
            <param name="entity">The message/delivery-status MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitMessageFeedbackReport(MimeKit.MessageFeedbackReport)">
            <summary>
            Visit the message/feedback-report MIME entity.
            </summary>
            <remarks>
            Visits the message/feedback-report MIME entity.
            </remarks>
            <param name="entity">The message/feedback-report MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitMessage(MimeKit.MessagePart)">
            <summary>
            Visit the message contained within a message/rfc822 or message/news MIME entity.
            </summary>
            <remarks>
            Visits the message contained within a message/rfc822 or message/news MIME entity.
            </remarks>
            <param name="entity">The message/rfc822 or message/news MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitMessagePart(MimeKit.MessagePart)">
            <summary>
            Visit the message/rfc822 or message/news MIME entity.
            </summary>
            <remarks>
            Visits the message/rfc822 or message/news MIME entity.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <param name="entity">The message/rfc822 or message/news MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitMessagePartial(MimeKit.MessagePartial)">
            <summary>
            Visit the message/partial MIME entity.
            </summary>
            <remarks>
            Visits the message/partial MIME entity.
            </remarks>
            <param name="entity">The message/partial MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitMimeEntity(MimeKit.MimeEntity)">
            <summary>
            Visit the abstract MIME entity.
            </summary>
            <remarks>
            Visits the abstract MIME entity.
            </remarks>
            <param name="entity">The MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitBody(MimeKit.MimeMessage)">
            <summary>
            Visit the body of the message.
            </summary>
            <remarks>
            Visits the body of the message.
            </remarks>
            <param name="message">The message.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitMimeMessage(MimeKit.MimeMessage)">
            <summary>
            Visit the MIME message.
            </summary>
            <remarks>
            Visits the MIME message.
            </remarks>
            <param name="message">The MIME message.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitMimePart(MimeKit.MimePart)">
            <summary>
            Visit the abstract MIME part entity.
            </summary>
            <remarks>
            Visits the MIME part entity.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <param name="entity">The MIME part entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitChildren(MimeKit.Multipart)">
            <summary>
            Visit the children of a <see cref="T:MimeKit.Multipart"/>.
            </summary>
            <remarks>
            Visits the children of a <see cref="T:MimeKit.Multipart"/>.
            </remarks>
            <param name="multipart">Multipart.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitMultipart(MimeKit.Multipart)">
            <summary>
            Visit the abstract multipart MIME entity.
            </summary>
            <remarks>
            Visits the abstract multipart MIME entity.
            </remarks>
            <param name="multipart">The multipart MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitMultipartAlternative(MimeKit.MultipartAlternative)">
            <summary>
            Visit the multipart/alternative MIME entity.
            </summary>
            <remarks>
            Visits the multipart/alternative MIME entity.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <param name="alternative">The multipart/alternative MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitMultipartEncrypted(MimeKit.Cryptography.MultipartEncrypted)">
            <summary>
            Visit the multipart/encrypted MIME entity.
            </summary>
            <remarks>
            Visits the multipart/encrypted MIME entity.
            </remarks>
            <param name="encrypted">The multipart/encrypted MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitMultipartRelated(MimeKit.MultipartRelated)">
            <summary>
            Visit the multipart/related MIME entity.
            </summary>
            <remarks>
            Visits the multipart/related MIME entity.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <param name="related">The multipart/related MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitMultipartReport(MimeKit.MultipartReport)">
            <summary>
            Visit the multipart/report MIME entity.
            </summary>
            <remarks>
            Visits the multipart/report MIME entity.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <param name="report">The multipart/report MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitMultipartSigned(MimeKit.Cryptography.MultipartSigned)">
            <summary>
            Visit the multipart/signed MIME entity.
            </summary>
            <remarks>
            Visits the multipart/signed MIME entity.
            </remarks>
            <param name="signed">The multipart/signed MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitTextPart(MimeKit.TextPart)">
            <summary>
            Visit the text-based MIME part entity.
            </summary>
            <remarks>
            Visits the text-based MIME part entity.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <param name="entity">The text-based MIME part entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitTextRfc822Headers(MimeKit.TextRfc822Headers)">
            <summary>
            Visit the text/rfc822-headers MIME entity.
            </summary>
            <remarks>
            Visits the text/rfc822-headers MIME entity.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <param name="entity">The text/rfc822-headers MIME entity.</param>
        </member>
        <member name="M:MimeKit.MimeVisitor.VisitTnefPart(MimeKit.Tnef.TnefPart)">
            <summary>
            Visit the Microsoft TNEF MIME part entity.
            </summary>
            <remarks>
            Visits the Microsoft TNEF MIME part entity.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <param name="entity">The Microsoft TNEF MIME part entity.</param>
        </member>
        <member name="T:MimeKit.Multipart">
            <summary>
            A multipart MIME entity which may contain a collection of MIME entities.
            </summary>
            <remarks>
            <para>All multipart MIME entities will have a Content-Type with a media type of <c>"multipart"</c>.
            The most common multipart MIME entity used in email is the <c>"multipart/mixed"</c> entity.</para>
            <para>Four (4) initial subtypes were defined in the original MIME specifications: mixed, alternative,
            digest, and parallel.</para>
            <para>The "multipart/mixed" type is a sort of general-purpose container. When used in email, the
            first entity is typically the "body" of the message while additional entities are most often
            file attachments.</para>
            <para>Speaking of message "bodies", the "multipart/alternative" type is used to offer a list of
            alternative formats for the main body of the message (usually they will be "text/plain" and
            "text/html"). These alternatives are in order of increasing faithfulness to the original document
            (in other words, the last entity will be in a format that, when rendered, will most closely match
            what the sending client's WYSISYG editor produced).</para>
            <para>The "multipart/digest" type will typically contain a digest of MIME messages and is most
            commonly used by mailing-list software.</para>
            <para>The "multipart/parallel" type contains entities that are all meant to be shown (or heard)
            in parallel.</para>
            <para>Another commonly used type is the "multipart/related" type which contains, as one might expect,
            inter-related MIME parts which typically reference each other via URIs based on the Content-Id and/or
            Content-Location headers.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.Multipart.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Multipart"/> class.
            </summary>
            <remarks>
            This constructor is used by <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Multipart.#ctor(System.String,System.Object[])">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Multipart"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Multipart"/> with the specified subtype.
            </remarks>
            <param name="subtype">The multipart media subtype.</param>
            <param name="args">An array of initialization parameters: headers and MIME entities.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="subtype"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="args"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="args"/> contains one or more arguments of an unknown type.
            </exception>
        </member>
        <member name="M:MimeKit.Multipart.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Multipart"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Multipart"/> with the specified subtype.
            </remarks>
            <param name="subtype">The multipart media subtype.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="subtype"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Multipart.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Multipart"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Multipart"/> with a ContentType of multipart/mixed.
            </remarks>
        </member>
        <member name="P:MimeKit.Multipart.Boundary">
            <summary>
            Get or set the boundary.
            </summary>
            <remarks>
            Gets or sets the boundary parameter on the Content-Type header.
            </remarks>
            <value>The boundary.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Multipart.Preamble">
            <summary>
            Get or set the preamble.
            </summary>
            <remarks>
            A multipart preamble appears before the first child entity of the
            multipart and is typically used only in the top-level multipart
            of the message to specify that the message is in MIME format and
            therefore requires a MIME compliant email application to render
            it correctly.
            </remarks>
            <value>The preamble.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.Multipart.Epilogue">
            <summary>
            Get or set the epilogue.
            </summary>
            <remarks>
            A multipart epiloque is the text that appears after the closing boundary
            of the multipart and is typically either empty or a single new line
            character sequence.
            </remarks>
            <value>The epilogue.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.Multipart.WriteEndBoundary">
            <summary>
            Get or set whether the end boundary should be written.
            </summary>
            <remarks>
            Gets or sets whether the end boundary should be written.
            </remarks>
            <value><see langword="true" /> if the end boundary should be written; otherwise, <see langword="false" />.</value>
        </member>
        <member name="M:MimeKit.Multipart.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.Multipart"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitMultipart(MimeKit.Multipart)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitMultipart(MimeKit.Multipart)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Multipart.TryGetValue(MimeKit.Text.TextFormat,MimeKit.TextPart@)">
            <summary>
            Get the preferred message body if it exists.
            </summary>
            <remarks>
            Gets the preferred message body if it exists.
            </remarks>
            <param name="format">The preferred text format.</param>
            <param name="body">The MIME part containing the message body in the preferred text format.</param>
            <returns><see langword="true" /> if the body part is found; otherwise, <see langword="false" />.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Multipart.Prepare(MimeKit.EncodingConstraint,System.Int32)">
            <summary>
            Prepare the MIME entity for transport using the specified encoding constraints.
            </summary>
            <remarks>
            Prepares the MIME entity for transport using the specified encoding constraints.
            </remarks>
            <param name="constraint">The encoding constraint.</param>
            <param name="maxLineLength">The maximum number of octets allowed per line (not counting the CRLF). Must be between <c>60</c> and <c>998</c> (inclusive).</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="maxLineLength"/> is not between <c>60</c> and <c>998</c> (inclusive).</para>
            <para>-or-</para>
            <para><paramref name="constraint"/> is not a valid value.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Multipart.WriteTo(MimeKit.FormatOptions,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Write the <see cref="T:MimeKit.Multipart"/> to the specified output stream.
            </summary>
            <remarks>
            Writes the multipart MIME entity and its subparts to the output stream.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Multipart.WriteToAsync(MimeKit.FormatOptions,System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously write the <see cref="T:MimeKit.Multipart"/> to the specified output stream.
            </summary>
            <remarks>
            Asynchronously writes the multipart MIME entity and its subparts to the output stream.
            </remarks>
            <returns>An awaitable task.</returns>
            <param name="options">The formatting options.</param>
            <param name="stream">The output stream.</param>
            <param name="contentOnly"><see langword="true" /> if only the content should be written; otherwise, <see langword="false" />.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="P:MimeKit.Multipart.Count">
            <summary>
            Get the number of parts in the multipart.
            </summary>
            <remarks>
            Indicates the number of parts in the multipart.
            </remarks>
            <value>The number of parts in the multipart.</value>
        </member>
        <member name="P:MimeKit.Multipart.IsReadOnly">
            <summary>
            Get a value indicating whether this instance is read only.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.Multipart"/> is never read-only.
            </remarks>
            <value><see langword="true" /> if this instance is read only; otherwise, <see langword="false" />.</value>
        </member>
        <member name="M:MimeKit.Multipart.AddInternal(MimeKit.MimeEntity,System.Byte[])">
            <summary>
            Add an entity to the multipart.
            </summary>
            <remarks>
            Adds an entity and its boundary marker to the multipart.
            </remarks>
            <param name="entity">The MIME entity to add.</param>
            <param name="boundary">The boundary marker preceeding the entity.</param>
        </member>
        <member name="M:MimeKit.Multipart.Add(MimeKit.MimeEntity)">
            <summary>
            Add an entity to the multipart.
            </summary>
            <remarks>
            Adds the specified part to the multipart.
            </remarks>
            <param name="entity">The MIME entity to add.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="entity"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Multipart.Clear">
            <summary>
            Clear a multipart.
            </summary>
            <remarks>
            Removes all the entities within the multipart.
            </remarks>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Multipart.Clear(System.Boolean)">
            <summary>
            Clear a multipart.
            </summary>
            <remarks>
            Removes all the entities within the multipart, optionally disposing them in the process.
            </remarks>
            <param name="dispose"><see langword="true" /> if all the child entities of the multipart should be disposed; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Multipart.Contains(MimeKit.MimeEntity)">
            <summary>
            Check if the <see cref="T:MimeKit.Multipart"/> contains the specified entity.
            </summary>
            <remarks>
            Determines whether the multipart contains the specified entity.
            </remarks>
            <returns><see langword="true" /> if the specified entity exists;
            otherwise, <see langword="false" />.</returns>
            <param name="entity">The entity to check for.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="entity"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Multipart.CopyTo(MimeKit.MimeEntity[],System.Int32)">
            <summary>
            Copy all the entities in the <see cref="T:MimeKit.Multipart"/> to the specified array.
            </summary>
            <remarks>
            Copies all the entities within the <see cref="T:MimeKit.Multipart"/> into the array,
            starting at the specified array index.
            </remarks>
            <param name="array">The array to copy the child entities to.</param>
            <param name="arrayIndex">The index into the array.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="array"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="arrayIndex"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Multipart.Remove(MimeKit.MimeEntity)">
            <summary>
            Remove an entity from the multipart.
            </summary>
            <remarks>
            Removes the specified entity if it exists within the multipart.
            </remarks>
            <returns><see langword="true" /> if the part was removed; otherwise, <see langword="false" />.</returns>
            <param name="entity">The MIME entity to remove.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="entity"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Multipart.IndexOf(MimeKit.MimeEntity)">
            <summary>
            Get the index of an entity.
            </summary>
            <remarks>
            Finds the index of the specified entity, if it exists.
            </remarks>
            <returns>The index of the specified entity if found; otherwise <c>-1</c>.</returns>
            <param name="entity">The MIME entity.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="entity"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Multipart.Insert(System.Int32,MimeKit.MimeEntity)">
            <summary>
            Insert an entity into the <see cref="T:MimeKit.Multipart"/> at the specified index.
            </summary>
            <remarks>
            Inserts the part into the multipart at the specified index.
            </remarks>
            <param name="index">The index.</param>
            <param name="entity">The MIME entity.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="entity"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Multipart.RemoveAt(System.Int32)">
            <summary>
            Remove an entity from the <see cref="T:MimeKit.Multipart"/> at the specified index.
            </summary>
            <remarks>
            <para>Removes the entity at the specified index.</para>
            <note type="note">It is the responsibility of the caller to dispose the entity at the specified <paramref name="index"/>.</note>
            </remarks>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.Multipart.Item(System.Int32)">
            <summary>
            Get or set the <see cref="T:MimeKit.MimeEntity"/> at the specified index.
            </summary>
            <remarks>
            <para>Gets or sets the <see cref="T:MimeKit.MimeEntity"/> at the specified index.</para>
            <note type="note">It is the responsibility of the caller to dispose the original entity at the specified <paramref name="index"/>.</note>
            </remarks>
            <value>The entity at the specified index.</value>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Multipart.GetEnumerator">
            <summary>
            Get the enumerator for the children of the <see cref="T:MimeKit.Multipart"/>.
            </summary>
            <remarks>
            Gets the enumerator for the children of the <see cref="T:MimeKit.Multipart"/>.
            </remarks>
            <returns>The enumerator.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Multipart.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Get the enumerator for the children of the <see cref="T:MimeKit.Multipart"/>.
            </summary>
            <remarks>
            Gets the enumerator for the children of the <see cref="T:MimeKit.Multipart"/>.
            </remarks>
            <returns>The enumerator.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Multipart.Dispose(System.Boolean)">
            <summary>
            Release the unmanaged resources used by the <see cref="T:MimeKit.Multipart"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.Multipart"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MimeKit.MultipartAlternative">
            <summary>
            A multipart/alternative MIME entity.
            </summary>
            <remarks>
            A multipart/alternative MIME entity contains, as one might expect, is used to offer a list of
            alternative formats for the main body of the message (usually they will be "text/plain" and
            "text/html"). These alternatives are in order of increasing faithfulness to the original document
            (in other words, the last entity will be in a format that, when rendered, will most closely match
            what the sending client's WYSISYG editor produced).
            </remarks>
        </member>
        <member name="M:MimeKit.MultipartAlternative.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MultipartAlternative"/> class.
            </summary>
            <remarks>
            This constructor is used by <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MultipartAlternative.#ctor(System.Object[])">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MultipartAlternative"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MultipartAlternative"/> part.
            </remarks>
            <param name="args">An array of initialization parameters: headers and MIME entities.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="args"/> contains one or more arguments of an unknown type.
            </exception>
        </member>
        <member name="M:MimeKit.MultipartAlternative.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MultipartAlternative"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MultipartAlternative"/> part.
            </remarks>
        </member>
        <member name="P:MimeKit.MultipartAlternative.TextBody">
            <summary>
            Get the text of the text/plain alternative.
            </summary>
            <remarks>
            Gets the text of the text/plain alternative, if it exists.
            </remarks>
            <value>The text if a text/plain alternative exists; otherwise, <see langword="null"/>.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MultipartAlternative"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.MultipartAlternative.HtmlBody">
            <summary>
            Get the HTML-formatted text of the text/html alternative.
            </summary>
            <remarks>
            Gets the HTML-formatted text of the text/html alternative, if it exists.
            </remarks>
            <value>The HTML if a text/html alternative exists; otherwise, <see langword="null"/>.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MultipartAlternative"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MultipartAlternative.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.MultipartAlternative"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitMultipartAlternative(MimeKit.MultipartAlternative)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitMultipartAlternative(MimeKit.MultipartAlternative)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MultipartAlternative"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MultipartAlternative.GetTextBody(MimeKit.Text.TextFormat)">
            <summary>
            Get the text body in the specified format.
            </summary>
            <remarks>
            Gets the text body in the specified format, if it exists.
            </remarks>
            <returns>The text body in the desired format if it exists; otherwise, <see langword="null"/>.</returns>
            <param name="format">The desired text format.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MultipartAlternative"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MultipartAlternative.TryGetValue(MimeKit.Text.TextFormat,MimeKit.TextPart@)">
            <summary>
            Get the preferred message body if it exists.
            </summary>
            <remarks>
            Gets the preferred message body if it exists.
            </remarks>
            <param name="format">The preferred text format.</param>
            <param name="body">The MIME part containing the message body in the preferred text format.</param>
            <returns><see langword="true" /> if the body part is found; otherwise, <see langword="false" />.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.MultipartRelated">
            <summary>
            A multipart/related MIME entity.
            </summary>
            <remarks>
            A multipart/related MIME entity contains, as one might expect, inter-related MIME parts which
            typically reference each other via URIs based on the Content-Id and/or Content-Location headers.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
        </member>
        <member name="M:MimeKit.MultipartRelated.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MultipartRelated"/> class.
            </summary>
            <remarks>
            This constructor is used by <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MultipartRelated.#ctor(System.Object[])">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MultipartRelated"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MultipartRelated"/> part.
            </remarks>
            <param name="args">An array of initialization parameters: headers and MIME entities.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="args"/> contains one or more arguments of an unknown type.
            </exception>
        </member>
        <member name="M:MimeKit.MultipartRelated.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MultipartRelated"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MultipartRelated"/> part.
            </remarks>
        </member>
        <member name="P:MimeKit.MultipartRelated.Root">
            <summary>
            Get or set the root document of the multipart/related part and the appropriate Content-Type parameters.
            </summary>
            <remarks>
            <para>Gets or sets the root document that references the other MIME parts within the multipart/related.</para>
            <para>When getting the root document, the <c>"start"</c> parameter of the Content-Type header is used to
            determine which of the parts is the root. If the <c>"start"</c> parameter does not exist or does not reference
            any of the child parts, then the first child is assumed to be the root.</para>
            <para>When setting the root document MIME part, the Content-Type header of the multipart/related part is also
            updated with a appropriate <c>"start"</c> and <c>"type"</c> parameters.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <value>The root MIME part.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MultipartRelated"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MultipartRelated.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.MultipartRelated"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitMultipartRelated(MimeKit.MultipartRelated)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitMultipartRelated(MimeKit.MultipartRelated)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MultipartRelated"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MultipartRelated.TryGetValue(MimeKit.Text.TextFormat,MimeKit.TextPart@)">
            <summary>
            Get the preferred message body if it exists.
            </summary>
            <remarks>
            Gets the preferred message body if it exists.
            </remarks>
            <param name="format">The preferred text format.</param>
            <param name="body">The MIME part containing the message body in the preferred text format.</param>
            <returns><see langword="true" /> if the body part is found; otherwise, <see langword="false" />.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Multipart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MultipartRelated.Contains(System.Uri)">
            <summary>
            Check if the <see cref="T:MimeKit.MultipartRelated"/> contains a part matching the specified URI.
            </summary>
            <remarks>
            Determines whether the multipart/related entity contains a part matching the specified URI.
            </remarks>
            <returns><see langword="true" /> if the specified part exists; otherwise, <see langword="false" />.</returns>
            <param name="uri">The URI of the MIME part.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uri"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MultipartRelated"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MultipartRelated.IndexOf(System.Uri)">
            <summary>
            Get the index of the part matching the specified URI.
            </summary>
            <remarks>
            <para>Finds the index of the part matching the specified URI, if it exists.</para>
            <para>If the URI scheme is <c>"cid"</c>, then matching is performed based on the Content-Id header
            values, otherwise the Content-Location headers are used. If the provided URI is absolute and a child
            part's Content-Location is relative, then the child part's Content-Location URI will be combined
            with the value of its Content-Base header, if available, otherwise it will be combined with the
            multipart/related part's Content-Base header in order to produce an absolute URI that can be
            compared with the provided absolute URI.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <returns>The index of the part matching the specified URI if found; otherwise <c>-1</c>.</returns>
            <param name="uri">The URI of the MIME part.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uri"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MultipartRelated"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MultipartRelated.Open(System.Uri,System.String@,System.String@)">
            <summary>
            Open a stream for reading the decoded content of the MIME part specified by the provided URI.
            </summary>
            <remarks>
            Opens a stream for reading the decoded content of the MIME part specified by the provided URI.
            </remarks>
            <returns>A stream for reading the decoded content of the MIME part specified by the provided URI.</returns>
            <param name="uri">The URI.</param>
            <param name="mimeType">The mime-type of the content.</param>
            <param name="charset">The charset of the content (if the content is text-based)</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uri"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The MIME part for the specified URI could not be found.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MultipartRelated"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MultipartRelated.Open(System.Uri)">
            <summary>
            Open a stream for reading the decoded content of the MIME part specified by the provided URI.
            </summary>
            <remarks>
            Opens a stream for reading the decoded content of the MIME part specified by the provided URI.
            </remarks>
            <returns>A stream for reading the decoded content of the MIME part specified by the provided URI.</returns>
            <param name="uri">The URI.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uri"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
            The MIME part for the specified URI could not be found.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MultipartRelated"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.MultipartReport">
            <summary>
            A multipart/report MIME entity.
            </summary>
            <remarks>
            A multipart/related MIME entity is a general container part for electronic mail
            reports of any kind.
            <seealso cref="T:MimeKit.MessageDeliveryStatus"/>
            <seealso cref="T:MimeKit.MessageDispositionNotification"/>
            </remarks>
            <example>
            <code language="c#" source="Examples\MessageDeliveryStatusExamples.cs" region="ProcessDeliveryStatusNotification" />
            </example>
        </member>
        <member name="M:MimeKit.MultipartReport.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MultipartReport"/> class.
            </summary>
            <remarks>
            This constructor is used by <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.MultipartReport.#ctor(System.String,System.Object[])">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MultipartReport"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MultipartReport"/> part.
            </remarks>
            <param name="reportType">The type of the report.</param>
            <param name="args">An array of initialization parameters: headers and MIME entities.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="reportType"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="args"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="args"/> contains one or more arguments of an unknown type.
            </exception>
        </member>
        <member name="M:MimeKit.MultipartReport.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.MultipartReport"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.MultipartReport"/> part.
            </remarks>
            <param name="reportType">The type of the report.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="reportType"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.MultipartReport.ReportType">
            <summary>
            Get or set the type of the report.
            </summary>
            <remarks>
            <para>Gets or sets the type of the report.</para>
            <para>The report type should be the subtype of the second <see cref="T:MimeKit.MimeEntity"/>
            of the multipart/report.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\MessageDeliveryStatusExamples.cs" region="ProcessDeliveryStatusNotification" />
            </example>
            <value>The type of the report.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MultipartReport"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.MultipartReport.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.MultipartReport"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitMultipartReport(MimeKit.MultipartReport)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitMultipartReport(MimeKit.MultipartReport)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.MultipartReport"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.NewLineFormat">
            <summary>
            A New-Line format.
            </summary>
            <remarks>
            There are two commonly used line-endings used by modern Operating Systems.
            Unix-based systems such as Linux and macOS use a single character (<c>'\n'</c> aka LF)
            to represent the end of line where-as Windows (or DOS) uses a sequence of two
            characters (<c>"\r\n"</c> aka CRLF). Most text-based network protocols such as SMTP,
            POP3, and IMAP use the CRLF sequence as well.
            </remarks>
        </member>
        <member name="F:MimeKit.NewLineFormat.Unix">
            <summary>
            The Unix New-Line format (<c>"\n"</c>).
            </summary>
        </member>
        <member name="F:MimeKit.NewLineFormat.Dos">
            <summary>
            The DOS New-Line format (<c>"\r\n"</c>).
            </summary>
        </member>
        <member name="F:MimeKit.NewLineFormat.Mixed">
            <summary>
            A mixed New-Line format where some lines use Unix-based line endings and
            other lines use DOS-based line endings.
            </summary>
        </member>
        <member name="T:MimeKit.Parameter">
            <summary>
            A header parameter as found in the Content-Type and Content-Disposition headers.
            </summary>
            <remarks>
            Content-Type and Content-Disposition headers often have parameters that specify
            further information about how to interpret the content.
            </remarks>
        </member>
        <member name="M:MimeKit.Parameter.#ctor(System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Parameter"/> class.
            </summary>
            <remarks>
            Creates a new parameter with the specified name and value.
            </remarks>
            <param name="name">The parameter name.</param>
            <param name="value">The parameter value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> contains illegal characters.
            </exception>
        </member>
        <member name="M:MimeKit.Parameter.#ctor(System.Text.Encoding,System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Parameter"/> class.
            </summary>
            <remarks>
            Creates a new parameter with the specified name and value.
            </remarks>
            <param name="encoding">The character encoding.</param>
            <param name="name">The parameter name.</param>
            <param name="value">The parameter value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="name"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> contains illegal characters.
            </exception>
        </member>
        <member name="M:MimeKit.Parameter.#ctor(System.String,System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Parameter"/> class.
            </summary>
            <remarks>
            Creates a new parameter with the specified name and value.
            </remarks>
            <param name="charset">The character encoding.</param>
            <param name="name">The parameter name.</param>
            <param name="value">The parameter value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="name"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> contains illegal characters.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="charset"/> is not supported.
            </exception>
        </member>
        <member name="P:MimeKit.Parameter.Name">
            <summary>
            Get the parameter name.
            </summary>
            <remarks>
            Gets the parameter name.
            </remarks>
            <value>The parameter name.</value>
        </member>
        <member name="P:MimeKit.Parameter.Encoding">
            <summary>
            Get or set the parameter value character encoding.
            </summary>
            <remarks>
            Gets or sets the parameter value character encoding.
            </remarks>
            <value>The character encoding.</value>
        </member>
        <member name="P:MimeKit.Parameter.EncodingMethod">
            <summary>
            Get or set the parameter encoding method to use.
            </summary>
            <remarks>
            <para>Gets or sets the parameter encoding method to use.</para>
            <para>The MIME specifications specify that the proper method for encoding Content-Type
            and Content-Disposition parameter values is the method described in
            <a href="https://tools.ietf.org/html/rfc2231">rfc2231</a>. However, it is common for
            some older email clients to improperly encode using the method described in
            <a href="https://tools.ietf.org/html/rfc2047">rfc2047</a> instead.</para>
            <para>If set to <see cref="F:MimeKit.ParameterEncodingMethod.Default"/>, the encoding
            method used will default to the value set on the <see cref="T:MimeKit.FormatOptions"/>.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\ParameterExamples.cs" region="OverrideAllParameterEncodings"/>
            </example>
            <value>The encoding method.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is not a valid value.
            </exception>
        </member>
        <member name="P:MimeKit.Parameter.AlwaysQuote">
            <summary>
            Get or set whether the parameter value should always be quoted even if it normally wouldn't need to be.
            </summary>
            <remarks>
            <para>Gets or sets whether the parameter value should always be quoted even if it normally wouldn't need to be.</para>
            <para>Technically, Content-Type and Content-Disposition parameter values only require quoting when they contain characters
            that have special meaning to a MIME parser. However, for compatibility with email processing solutions that do not properly
            adhere to the MIME specifications, this property can be used to force MimeKit to quote parameter values that would normally
            not require quoting.</para>
            </remarks>
            <value><see langword="true" /> if the parameter value should always be quoted; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Parameter.Value">
            <summary>
            Get or set the parameter value.
            </summary>
            <remarks>
            Gets or sets the parameter value.
            </remarks>
            <value>The parameter value.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Parameter.Clone">
            <summary>
            Clone the parameter.
            </summary>
            <remarks>
            Clones the parameter.
            </remarks>
            <returns>The cloned parameter.</returns>
        </member>
        <member name="M:MimeKit.Parameter.ToString">
            <summary>
            Return a string representation of the <see cref="T:MimeKit.Parameter"/>.
            </summary>
            <remarks>
            Formats the parameter name and value in the form <c>name="value"</c>.
            </remarks>
            <returns>A string representation of the <see cref="T:MimeKit.Parameter"/>.</returns>
        </member>
        <member name="T:MimeKit.ParameterEncodingMethod">
            <summary>
            The method to use for encoding Content-Type and Content-Disposition parameter values.
            </summary>
            <remarks>
            The MIME specifications specify that the proper method for encoding Content-Type and
            Content-Disposition parameter values is the method described in
            <a href="https://tools.ietf.org/html/rfc2231">rfc2231</a>. However, it is common for
            some older email clients to improperly encode using the method described in
            <a href="https://tools.ietf.org/html/rfc2047">rfc2047</a> instead.
            </remarks>
            <example>
            <code language="c#" source="Examples\ParameterExamples.cs" region="OverrideAllParameterEncodings"/>
            </example>
        </member>
        <member name="F:MimeKit.ParameterEncodingMethod.Default">
            <summary>
            Use the default encoding method set on the <see cref="T:MimeKit.FormatOptions"/>.
            </summary>
        </member>
        <member name="F:MimeKit.ParameterEncodingMethod.Rfc2231">
            <summary>
            Use the encoding method described in rfc2231.
            </summary>
        </member>
        <member name="F:MimeKit.ParameterEncodingMethod.Rfc2047">
            <summary>
            Use the encoding method described in rfc2047 (for compatibility with older,
            non-rfc-compliant email clients).
            </summary>
        </member>
        <member name="T:MimeKit.ParameterList">
            <summary>
            A list of parameters, as found in the Content-Type and Content-Disposition headers.
            </summary>
            <remarks>
            Parameters are used by both <see cref="T:MimeKit.ContentType"/> and <see cref="T:MimeKit.ContentDisposition"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.ParameterList.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.ParameterList"/> class.
            </summary>
            <remarks>
            Creates a new parameter list.
            </remarks>
        </member>
        <member name="M:MimeKit.ParameterList.Add(System.String,System.String)">
            <summary>
            Add a parameter with the specified name and value.
            </summary>
            <remarks>
            Adds a new parameter to the list with the specified name and value.
            </remarks>
            <param name="name">The parameter name.</param>
            <param name="value">The parameter value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="name"/> contains illegal characters.
            </exception>
        </member>
        <member name="M:MimeKit.ParameterList.Add(System.Text.Encoding,System.String,System.String)">
            <summary>
            Add a parameter with the specified name and value.
            </summary>
            <remarks>
            Adds a new parameter to the list with the specified name and value.
            </remarks>
            <param name="encoding">The character encoding.</param>
            <param name="name">The parameter name.</param>
            <param name="value">The parameter value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="name"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> contains illegal characters.
            </exception>
        </member>
        <member name="M:MimeKit.ParameterList.Add(System.String,System.String,System.String)">
            <summary>
            Add a parameter with the specified name and value.
            </summary>
            <remarks>
            Adds a new parameter to the list with the specified name and value.
            </remarks>
            <param name="charset">The character encoding.</param>
            <param name="name">The parameter name.</param>
            <param name="value">The parameter value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="name"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="charset"/> cannot be empty.</para>
            <para>-or-</para>
            <para><paramref name="name"/> contains illegal characters.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="charset"/> is not supported.
            </exception>
        </member>
        <member name="M:MimeKit.ParameterList.Contains(System.String)">
            <summary>
            Check if the <see cref="T:MimeKit.ParameterList"/> contains a parameter with the specified name.
            </summary>
            <remarks>
            Determines whether the parameter list contains a parameter with the specified name.
            </remarks>
            <returns><see langword="true" /> if the requested parameter exists;
            otherwise, <see langword="false" />.</returns>
            <param name="name">The parameter name.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.ParameterList.IndexOf(System.String)">
            <summary>
            Get the index of the requested parameter, if it exists.
            </summary>
            <remarks>
            Finds the index of the parameter with the specified name, if it exists.
            </remarks>
            <returns>The index of the requested parameter; otherwise <value>-1</value>.</returns>
            <param name="name">The parameter name.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.ParameterList.Insert(System.Int32,System.String,System.String)">
            <summary>
            Insert a parameter with the specified name and value at the given index.
            </summary>
            <remarks>
            Inserts a new parameter with the given name and value at the specified index.
            </remarks>
            <param name="index">The index to insert the parameter.</param>
            <param name="name">The parameter name.</param>
            <param name="value">The parameter value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="name"/> contains illegal characters.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.ParameterList.Remove(System.String)">
            <summary>
            Remove the specified parameter.
            </summary>
            <remarks>
            Removes the parameter with the specified name from the list, if it exists.
            </remarks>
            <returns><see langword="true" /> if the specified parameter was removed;
            otherwise, <see langword="false" />.</returns>
            <param name="name">The parameter name.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.ParameterList.Item(System.String)">
            <summary>
            Get or set the value of a parameter with the specified name.
            </summary>
            <remarks>
            Gets or sets the value of a parameter with the specified name.
            </remarks>
            <value>The value of the specified parameter if it exists; otherwise <see langword="null"/>.</value>
            <param name="name">The parameter name.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="name"/> contains illegal characters.
            </exception>
        </member>
        <member name="M:MimeKit.ParameterList.TryGetValue(System.String,MimeKit.Parameter@)">
            <summary>
            Get the parameter with the specified name.
            </summary>
            <remarks>
            Gets the parameter with the specified name.
            </remarks>
            <example>
            <code language="c#" source="Examples\ParameterExamples.cs" region="OverrideFileNameParameterEncoding"/>
            </example>
            <returns><see langword="true" /> if the parameter exists; otherwise, <see langword="false" />.</returns>
            <param name="name">The parameter name.</param>
            <param name="param">The parameter.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.ParameterList.TryGetValue(System.String,System.String@)">
            <summary>
            Get the value of the parameter with the specified name.
            </summary>
            <remarks>
            Gets the value of the parameter with the specified name.
            </remarks>
            <returns><see langword="true" /> if the parameter exists; otherwise, <see langword="false" />.</returns>
            <param name="name">The parameter name.</param>
            <param name="value">The parameter value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.ParameterList.Count">
            <summary>
            Get the number of parameters in the <see cref="T:MimeKit.ParameterList"/>.
            </summary>
            <remarks>
            Indicates the number of parameters in the list.
            </remarks>
            <value>The number of parameters.</value>
        </member>
        <member name="P:MimeKit.ParameterList.IsReadOnly">
            <summary>
            Get a value indicating whether this instance is read only.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.ParameterList"/> is never read-only.
            </remarks>
            <value><see langword="true" /> if this instance is read only; otherwise, <see langword="false" />.</value>
        </member>
        <member name="M:MimeKit.ParameterList.Add(MimeKit.Parameter)">
            <summary>
            Add a <see cref="T:MimeKit.Parameter"/> to a <see cref="T:MimeKit.ParameterList"/>.
            </summary>
            <remarks>
            Adds the specified parameter to the end of the list.
            </remarks>
            <param name="param">The parameter to add.</param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="param"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            A parameter with the same name as <paramref name="param"/>
            already exists.
            </exception>
        </member>
        <member name="M:MimeKit.ParameterList.Clear">
            <summary>
            Clear the parameter list.
            </summary>
            <remarks>
            Removes all the parameters from the list.
            </remarks>
        </member>
        <member name="M:MimeKit.ParameterList.Contains(MimeKit.Parameter)">
            <summary>
            Check if the <see cref="T:MimeKit.ParameterList"/> contains the specified parameter.
            </summary>
            <remarks>
            Determines whether the parameter list contains the specified parameter.
            </remarks>
            <returns><see langword="true" /> if the specified parameter is contained;
            otherwise, <see langword="false" />.</returns>
            <param name="param">The parameter.</param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="param"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.ParameterList.CopyTo(MimeKit.Parameter[],System.Int32)">
            <summary>
            Copy all the parameters in the list to an array.
            </summary>
            <remarks>
            Copies all the parameters within the <see cref="T:MimeKit.ParameterList"/> into the array,
            starting at the specified array index.
            </remarks>
            <param name="array">The array to copy the parameters to.</param>
            <param name="arrayIndex">The index into the array.</param>
        </member>
        <member name="M:MimeKit.ParameterList.Remove(MimeKit.Parameter)">
            <summary>
            Remove a <see cref="T:MimeKit.Parameter"/> from a <see cref="T:MimeKit.ParameterList"/>.
            </summary>
            <remarks>
            Removes the specified parameter from the list.
            </remarks>
            <returns><see langword="true" /> if the specified parameter was removed;
            otherwise, <see langword="false" />.</returns>
            <param name="param">The parameter.</param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="param"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.ParameterList.IndexOf(MimeKit.Parameter)">
            <summary>
            Get the index of the requested parameter, if it exists.
            </summary>
            <remarks>
            Finds the index of the specified parameter, if it exists.
            </remarks>
            <returns>The index of the requested parameter; otherwise <value>-1</value>.</returns>
            <param name="param">The parameter.</param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="param"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.ParameterList.Insert(System.Int32,MimeKit.Parameter)">
            <summary>
            Insert a <see cref="T:MimeKit.Parameter"/> at the specified index.
            </summary>
            <remarks>
            Inserts the parameter at the specified index in the list.
            </remarks>
            <param name="index">The index to insert the parameter.</param>
            <param name="param">The parameter.</param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="param"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ArgumentException">
            A parameter with the same name as <paramref name="param"/>
            already exists.
            </exception>
        </member>
        <member name="M:MimeKit.ParameterList.RemoveAt(System.Int32)">
            <summary>
            Remove the parameter at the specified index.
            </summary>
            <remarks>
            Removes the parameter at the specified index.
            </remarks>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="P:MimeKit.ParameterList.Item(System.Int32)">
            <summary>
            Get or set the <see cref="T:MimeKit.Parameter"/> at the specified index.
            </summary>
            <remarks>
            Gets or sets the <see cref="T:MimeKit.Parameter"/> at the specified index.
            </remarks>
            <value>The parameter at the specified index.</value>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ArgumentException">
            A parameter with the same name as <paramref name="value"/>
            already exists.
            </exception>
        </member>
        <member name="M:MimeKit.ParameterList.GetEnumerator">
            <summary>
            Get an enumerator for the list of parameters.
            </summary>
            <remarks>
            Gets an enumerator for the list of parameters.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MimeKit.ParameterList.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Get an enumerator for the list of parameters.
            </summary>
            <remarks>
            Gets an enumerator for the list of parameters.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MimeKit.ParameterList.ToString">
            <summary>
            Serialize a <see cref="T:MimeKit.ParameterList"/> to a string.
            </summary>
            <remarks>
            If there are multiple parameters in the list, they will be separated by a semicolon.
            </remarks>
            <returns>A string representing the <see cref="T:MimeKit.ParameterList"/>.</returns>
        </member>
        <member name="T:MimeKit.ParseException">
            <summary>
            A Parse exception as thrown by the various Parse methods in MimeKit.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.ParseException"/> can be thrown by any of the Parse() methods
            in MimeKit. Each exception instance will have a <see cref="P:MimeKit.ParseException.TokenIndex"/>
            which marks the byte offset of the token that failed to parse as well
            as a <see cref="P:MimeKit.ParseException.ErrorIndex"/> which marks the byte offset where the error
            occurred.
            </remarks>
        </member>
        <member name="M:MimeKit.ParseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.ParseException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.ParseException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The stream context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.ParseException.#ctor(System.String,System.Int32,System.Int32,System.Exception)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.ParseException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.ParseException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="tokenIndex">The byte offset of the token.</param>
            <param name="errorIndex">The byte offset of the error.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:MimeKit.ParseException.#ctor(System.String,System.Int32,System.Int32)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.ParseException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.ParseException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="tokenIndex">The byte offset of the token.</param>
            <param name="errorIndex">The byte offset of the error.</param>
        </member>
        <member name="M:MimeKit.ParseException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            with information about the exception.
            </summary>
            <remarks>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            with information about the exception.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.ParseException.TokenIndex">
            <summary>
            Get the byte index of the token that was malformed.
            </summary>
            <remarks>
            The token index is the byte offset at which the token started.
            </remarks>
            <value>The byte index of the token.</value>
        </member>
        <member name="P:MimeKit.ParseException.ErrorIndex">
            <summary>
            Get the index of the byte that caused the error.
            </summary>
            <remarks>
            The error index is the byte offset at which the parser encountered an error.
            </remarks>
            <value>The index of the byte that caused error.</value>
        </member>
        <member name="T:MimeKit.ParserOptions">
            <summary>
            Parser options as used by <see cref="T:MimeKit.MimeParser"/> as well as various Parse and TryParse methods in MimeKit.
            </summary>
            <remarks>
            <see cref="T:MimeKit.ParserOptions"/> allows you to change and/or override default parsing options used by methods such
            as <see cref="M:MimeKit.MimeMessage.Load(MimeKit.ParserOptions,System.IO.Stream,System.Threading.CancellationToken)"/> and others.
            </remarks>
        </member>
        <member name="F:MimeKit.ParserOptions.Default">
            <summary>
            The default parser options.
            </summary>
            <remarks>
            If a <see cref="T:MimeKit.ParserOptions"/> is not supplied to <see cref="T:MimeKit.MimeParser"/> or other Parse and TryParse
            methods throughout MimeKit, <see cref="F:MimeKit.ParserOptions.Default"/> will be used.
            </remarks>
        </member>
        <member name="P:MimeKit.ParserOptions.AddressParserComplianceMode">
            <summary>
            Get or set the compliance mode that should be used when parsing rfc822 addresses.
            </summary>
            <remarks>
            <para>In general, you'll probably want this value to be <see cref="F:MimeKit.RfcComplianceMode.Loose"/>
            (the default) as it allows maximum interoperability with existing (broken) mail clients
            and other mail software such as sloppily written perl scripts (aka spambots).</para>
            <note type="tip">Even in <see cref="F:MimeKit.RfcComplianceMode.Strict"/> mode, the address parser
            is fairly liberal in what it accepts. Setting it to <see cref="F:MimeKit.RfcComplianceMode.Loose"/>
            just makes it try harder to deal with garbage input.</note>
            </remarks>
            <value>The RFC compliance mode.</value>
        </member>
        <member name="P:MimeKit.ParserOptions.AllowUnquotedCommasInAddresses">
            <summary>
            Get or set whether the rfc822 address parser should ignore unquoted commas in address names.
            </summary>
            <remarks>
            <para>In general, you'll probably want this value to be <see langword="true" /> (the default) as it allows
            maximum interoperability with existing (broken) mail clients and other mail software such as
            sloppily written perl scripts (aka spambots) that do not properly quote the name when it
            contains a comma.</para>
            </remarks>
            <value><see langword="true" /> if the address parser should ignore unquoted commas in address names; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.ParserOptions.AllowAddressesWithoutDomain">
            <summary>
            Get or set whether the rfc822 address parser should allow addresses without a domain.
            </summary>
            <remarks>
            <para>In general, you'll probably want this value to be <see langword="true" /> (the default) as it allows
            maximum interoperability with older email messages that may contain local UNIX addresses.</para>
            <para>This option exists in order to allow parsing of mailbox addresses that do not have an
            @domain component. These types of addresses are rare and were typically only used when sending
            mail to other users on the same UNIX system.</para>
            </remarks>
            <value><see langword="true" /> if the address parser should allow mailbox addresses without a domain; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.ParserOptions.MaxAddressGroupDepth">
            <summary>
            Get or set the maximum address group depth the parser should accept.
            </summary>
            <remarks>
            <para>This option exists in order to define the maximum recursive depth of an rfc822 group address
            that the parser should accept before bailing out with the assumption that the address is maliciously
            formed. If the value is set too large, then it is possible that a maliciously formed set of
            recursive group addresses could cause a stack overflow.</para>
            </remarks>
            <value>The maximum address group depth.</value>
        </member>
        <member name="P:MimeKit.ParserOptions.MaxMimeDepth">
            <summary>
            Get or set the maximum MIME nesting depth the parser should accept.
            </summary>
            <remarks>
            <para>This option exists in order to define the maximum recursive depth of MIME parts that the parser
            should accept before treating further nesting as a leaf-node MIME part and not recursing any further.
            If the value is set too large, then it is possible that a maliciously formed set of deeply nested
            multipart MIME parts could cause a stack overflow.</para>
            </remarks>
            <value>The maximum MIME nesting depth.</value>
        </member>
        <member name="P:MimeKit.ParserOptions.ParameterComplianceMode">
            <summary>
            Get or set the compliance mode that should be used when parsing Content-Type and Content-Disposition parameters.
            </summary>
            <remarks>
            <para>In general, you'll probably want this value to be <see cref="F:MimeKit.RfcComplianceMode.Loose"/>
            (the default) as it allows maximum interoperability with existing (broken) mail clients
            and other mail software such as sloppily written perl scripts (aka spambots).</para>
            <note type="tip">Even in <see cref="F:MimeKit.RfcComplianceMode.Strict"/> mode, the parameter parser
            is fairly liberal in what it accepts. Setting it to <see cref="F:MimeKit.RfcComplianceMode.Loose"/>
            just makes it try harder to deal with garbage input.</note>
            </remarks>
            <value>The RFC compliance mode.</value>
        </member>
        <member name="P:MimeKit.ParserOptions.Rfc2047ComplianceMode">
            <summary>
            Get or set the compliance mode that should be used when decoding rfc2047 encoded words.
            </summary>
            <remarks>
            In general, you'll probably want this value to be <see cref="F:MimeKit.RfcComplianceMode.Loose"/>
            (the default) as it allows maximum interoperability with existing (broken) mail clients
            and other mail software such as sloppily written perl scripts (aka spambots).
            </remarks>
            <value>The RFC compliance mode.</value>
        </member>
        <member name="P:MimeKit.ParserOptions.RespectContentLength">
            <summary>
            Get or set a value indicating whether the Content-Length value should be
            respected when parsing mbox streams.
            </summary>
            <remarks>
            For more details about why this may be useful, you can find more information
            at <a href="http://www.jwz.org/doc/content-length.html">
            http://www.jwz.org/doc/content-length.html</a>.
            </remarks>
            <value><see langword="true" /> if the Content-Length value should be respected;
            otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.ParserOptions.CharsetEncoding">
            <summary>
            Get or set the charset encoding to use as a fallback for 8bit headers.
            </summary>
            <remarks>
            <see cref="M:MimeKit.Utils.Rfc2047.DecodeText(MimeKit.ParserOptions,System.Byte[])"/> and
            <see cref="M:MimeKit.Utils.Rfc2047.DecodePhrase(MimeKit.ParserOptions,System.Byte[])"/>
            use this charset encoding as a fallback when decoding 8bit text into unicode. The first
            charset encoding attempted is UTF-8, followed by this charset encoding, before finally
            falling back to iso-8859-1.
            </remarks>
            <value>The charset encoding.</value>
        </member>
        <member name="M:MimeKit.ParserOptions.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.ParserOptions"/> class.
            </summary>
            <remarks>
            By default, new instances of <see cref="T:MimeKit.ParserOptions"/> enable rfc2047 work-arounds
            (which are needed for maximum interoperability with mail software used in the wild)
            and do not respect the Content-Length header value.
            </remarks>
        </member>
        <member name="M:MimeKit.ParserOptions.Clone">
            <summary>
            Clone an instance of <see cref="T:MimeKit.ParserOptions"/>.
            </summary>
            <remarks>
            Clones a set of options, allowing you to change a specific option
            without requiring you to change the original.
            </remarks>
            <returns>An identical copy of the current instance.</returns>
        </member>
        <member name="M:MimeKit.ParserOptions.RegisterMimeType(System.String,System.Type)">
            <summary>
            Register a <see cref="T:MimeKit.MimeEntity"/> subclass for the specified mime-type.
            </summary>
            <param name="mimeType">The MIME type.</param>
            <param name="type">A custom subclass of <see cref="T:MimeKit.MimeEntity"/>.</param>
            <remarks>
            Your custom <see cref="T:MimeKit.MimeEntity"/> class should not subclass
            <see cref="T:MimeKit.MimeEntity"/> directly, but rather it should subclass
            <see cref="T:MimeKit.Multipart"/>, <see cref="T:MimeKit.MimePart"/>,
            <see cref="T:MimeKit.MessagePart"/>, or one of their derivatives.
            </remarks>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="mimeType"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="type"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="type"/> is not a subclass of <see cref="T:MimeKit.Multipart"/>,
            <see cref="T:MimeKit.MimePart"/>, or <see cref="T:MimeKit.MessagePart"/>.</para>
            <para>-or-</para>
            <para><paramref name="type"/> does not have a constructor that takes
            only a <see cref="T:MimeKit.MimeEntityConstructorArgs"/> argument.</para>
            </exception>
        </member>
        <member name="T:MimeKit.RfcComplianceMode">
            <summary>
            An RFC compliance mode.
            </summary>
            <remarks>
            An RFC compliance mode.
            </remarks>
        </member>
        <member name="F:MimeKit.RfcComplianceMode.Looser">
            <summary>
            Attempt to be even more liberal in accepting broken and/or invalid formatting.
            </summary>
        </member>
        <member name="F:MimeKit.RfcComplianceMode.Loose">
            <summary>
            Attempt to be more liberal accepting broken and/or invalid formatting.
            </summary>
        </member>
        <member name="F:MimeKit.RfcComplianceMode.Strict">
            <summary>
            Do not attempt to be overly liberal in accepting broken and/or invalid formatting.
            </summary>
        </member>
        <member name="T:MimeKit.TextPart">
            <summary>
            A textual MIME part.
            </summary>
            <remarks>
            <para>Unless overridden, all textual parts parsed by the <see cref="T:MimeKit.MimeParser"/>,
            such as text/plain or text/html, will be represented by a <see cref="T:MimeKit.TextPart"/>.</para>
            <para>For more information about text media types, see section 4.1 of
            <a href="https://tools.ietf.org/html/rfc2046#section-4.1">rfc2046</a>.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
        </member>
        <member name="M:MimeKit.TextPart.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.TextPart"/> class.
            </summary>
            <remarks>
            This constructor is used by <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.TextPart.#ctor(System.String,System.Object[])">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.TextPart"/>
            class with the specified text subtype.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.TextPart"/> with the specified subtype.</para>
            <note type="note"><para>Typically, the <paramref name="subtype"/> should either be
            <c>"plain"</c> for plain text content or <c>"html"</c> for HTML content.</para>
            <para>For more options, check the MIME-type registry at
            <a href="http://www.iana.org/assignments/media-types/media-types.xhtml#text">
            http://www.iana.org/assignments/media-types/media-types.xhtml#text
            </a></para></note>
            </remarks>
            <param name="subtype">The media subtype.</param>
            <param name="args">An array of initialization parameters: headers, charset encoding and text.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="subtype"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="args"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="args"/> contains more than one <see cref="T:System.Text.Encoding"/>.</para>
            <para>-or-</para>
            <para><paramref name="args"/> contains more than one <see cref="T:System.String"/>.</para>
            <para>-or-</para>
            <para><paramref name="args"/> contains one or more arguments of an unknown type.</para>
            </exception>
        </member>
        <member name="M:MimeKit.TextPart.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.TextPart"/>
            class with the specified text subtype.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.TextPart"/> with the specified subtype.</para>
            <note type="note"><para>Typically, the <paramref name="subtype"/> should either be
            <c>"plain"</c> for plain text content or <c>"html"</c> for HTML content.</para>
            <para>For more options, check the MIME-type registry at
            <a href="http://www.iana.org/assignments/media-types/media-types.xhtml#text">
            http://www.iana.org/assignments/media-types/media-types.xhtml#text
            </a></para></note>
            </remarks>
            <param name="subtype">The media subtype.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="subtype"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.TextPart.#ctor(MimeKit.Text.TextFormat)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.TextPart"/>
            class with the specified text format.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.TextPart"/> with the specified text format.
            </remarks>
            <param name="format">The text format.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="format"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.TextPart.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.TextPart"/>
            class with a Content-Type of text/plain.
            </summary>
            <remarks>
            Creates a default <see cref="T:MimeKit.TextPart"/> with a mime-type of <c>text/plain</c>.
            </remarks>
        </member>
        <member name="P:MimeKit.TextPart.Format">
            <summary>
            Get the text format of the content.
            </summary>
            <remarks>
            Gets the text format of the content.
            </remarks>
            <value>The text format of the content.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.TextPart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.TextPart.IsEnriched">
            <summary>
            Get whether this text part contains enriched text.
            </summary>
            <remarks>
            Checks whether the text part's Content-Type is <c>text/enriched</c> or its
            predecessor, <c>text/richtext</c> (not to be confused with <c>text/rtf</c>).
            </remarks>
            <value><see langword="true" /> if the text is enriched; otherwise, <see langword="false" />.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.TextPart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.TextPart.IsFlowed">
            <summary>
            Get whether this text part contains flowed text.
            </summary>
            <remarks>
            Checks whether the text part's Content-Type is <c>text/plain</c> and
            has a format parameter with a value of <c>flowed</c>.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <value><see langword="true" /> if the text is flowed; otherwise, <see langword="false" />.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.TextPart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.TextPart.IsHtml">
            <summary>
            Get whether this text part contains HTML.
            </summary>
            <remarks>
            Checks whether the text part's Content-Type is <c>text/html</c>.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <value><see langword="true" /> if the text is html; otherwise, <see langword="false" />.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.TextPart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.TextPart.IsPlain">
            <summary>
            Get whether this text part contains plain text.
            </summary>
            <remarks>
            Checks whether the text part's Content-Type is <c>text/plain</c>.
            </remarks>
            <value><see langword="true" /> if the text is html; otherwise, <see langword="false" />.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.TextPart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.TextPart.IsRichText">
            <summary>
            Get whether this text part contains RTF.
            </summary>
            <remarks>
            Checks whether the text part's Content-Type is <c>text/rtf</c>.
            </remarks>
            <value><see langword="true" /> if the text is RTF; otherwise, <see langword="false" />.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.TextPart"/> has been disposed.
            </exception>
        </member>
        <member name="P:MimeKit.TextPart.Text">
            <summary>
            Get the decoded text content.
            </summary>
            <remarks>
            <para>If the charset parameter on the <see cref="P:MimeKit.MimeEntity.ContentType"/>
            is set, it will be used in order to convert the raw content into unicode.
            If that fails or if the charset parameter is not set, the first 2 bytes of
            the content will be checked for a unicode BOM. If a BOM exists, then that
            will be used for conversion. If no BOM is found, then UTF-8 is attempted.
            If conversion fails, then iso-8859-1 will be used as the final fallback.</para>
            <para>For more control, use <see cref="M:MimeKit.TextPart.GetText(System.Text.Encoding)"/>
            or <see cref="M:MimeKit.TextPart.GetText(System.String)"/>.</para>
            </remarks>
            <value>The decocded text.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.TextPart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.TextPart.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.TextPart"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitTextPart(MimeKit.TextPart)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitTextPart(MimeKit.TextPart)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.TextPart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.TextPart.IsFormat(MimeKit.Text.TextFormat)">
            <summary>
            Determine whether the text is in the specified format.
            </summary>
            <remarks>
            Determines whether the text is in the specified format.
            </remarks>
            <returns><see langword="true" /> if the text is in the specified format; otherwise, <see langword="false" />.</returns>
            <param name="format">The text format.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.TextPart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.TextPart.TryDetectEncoding(System.Text.Encoding@,MimeKit.Text.TextEncodingConfidence@)">
            <summary>
            Try to detect the encoding of the text content.
            </summary>
            <remarks>
            <para>Attempts to detect the encoding of the text content.</para>
            <para>If no content is defined, then <paramref name="encoding"/> is set to ASCII and <paramref name="confidence"/>
            is set to <see cref="F:MimeKit.Text.TextEncodingConfidence.Irrelevant"/>.</para>
            <para>If a charset is specified on the <c>Content-Type</c> header and it is a supported encoding, then
            <paramref name="encoding"/> is set to the encoding for the specified charset and <paramref name="confidence"/>
            is set to <see cref="F:MimeKit.Text.TextEncodingConfidence.Certain"/>.</para>
            <para>If a Byte-Order-Mark (BOM) is found, then <paramref name="encoding"/> is set to the corresponding unicode
            encoding and <paramref name="confidence"/> is set to <see cref="F:MimeKit.Text.TextEncodingConfidence.Certain"/>.</para>
            <para>If the content is in HTML format, then the first 1024 bytes are processed for <c>&lt;meta&gt;</c> tags
            containing charset information. If charset information is found and the charset is a supported encoding, then
            <paramref name="encoding"/> is set to the encoding for the specified charset and <paramref name="confidence"/> is
            set to <see cref="F:MimeKit.Text.TextEncodingConfidence.Tentative"/>.</para>
            </remarks>
            <returns><see langword="true" /> if an encoding was detected; otherwise, <see langword="false" />.</returns>
            <param name="encoding">The detected encoding; otherwise, <see langword="null"/>.</param>
            <param name="confidence">The confidence in the detected encoding being correct.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.TextPart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.TextPart.GetText(System.Text.Encoding@)">
            <summary>
            Get the decoded text and the encoding used to convert it into unicode.
            </summary>
            <remarks>
            <para>If the charset parameter on the <see cref="P:MimeKit.MimeEntity.ContentType"/>
            is set, it will be used in order to convert the raw content into unicode.
            If that fails or if the charset parameter is not set, the first 3 bytes of
            the content will be checked for a unicode BOM. If a BOM exists, then that
            will be used for conversion. If no BOM is found, then UTF-8 is attempted.
            If conversion fails, then iso-8859-1 will be used as the final fallback.</para>
            <para>For more control, use <see cref="M:MimeKit.TextPart.GetText(System.Text.Encoding)"/>
            or <see cref="M:MimeKit.TextPart.GetText(System.String)"/>.</para>
            </remarks>
            <param name="encoding">The encoding used to convert the text into unicode.</param>
            <returns>The decoded text.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.TextPart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.TextPart.GetText(System.Text.Encoding)">
            <summary>
            Get the decoded text content using the provided charset encoding to
            override the charset specified in the Content-Type parameters.
            </summary>
            <remarks>
            Uses the provided charset encoding to convert the raw text content
            into a unicode string, overriding any charset specified in the
            Content-Type header.
            </remarks>
            <returns>The decoded text.</returns>
            <param name="encoding">The charset encoding to use.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="encoding"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.TextPart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.TextPart.GetText(System.String)">
            <summary>
            Get the decoded text content using the provided charset to override
            the charset specified in the Content-Type parameters.
            </summary>
            <remarks>
            Uses the provided charset encoding to convert the raw text content
            into a unicode string, overriding any charset specified in the
            Content-Type header.
            </remarks>
            <returns>The decoded text.</returns>
            <param name="charset">The charset encoding to use.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="charset"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <paramref name="charset"/> is not supported.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.TextPart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.TextPart.SetText(System.Text.Encoding,System.String)">
            <summary>
            Set the text content and the charset parameter in the Content-Type header.
            </summary>
            <remarks>
            This method is similar to setting the <see cref="P:MimeKit.TextPart.Text"/> property,
            but allows specifying a charset encoding to use. Also updates the
            <see cref="P:MimeKit.ContentType.Charset"/> property.
            </remarks>
            <param name="encoding">The charset encoding.</param>
            <param name="text">The text content.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="text"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.TextPart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.TextPart.SetText(System.String,System.String)">
            <summary>
            Set the text content and the charset parameter in the Content-Type header.
            </summary>
            <remarks>
            This method is similar to setting the <see cref="P:MimeKit.TextPart.Text"/> property,
            but allows specifying a charset encoding to use. Also updates the
            <see cref="P:MimeKit.ContentType.Charset"/> property.
            </remarks>
            <param name="charset">The charset encoding.</param>
            <param name="text">The text content.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="text"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <paramref name="charset"/> is not supported.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.TextPart"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.TextRfc822Headers">
            <summary>
            A MIME part containing message headers as its content.
            </summary>
            <remarks>
            Represents MIME entities with a Content-Type of text/rfc822-headers.
            </remarks>
        </member>
        <member name="M:MimeKit.TextRfc822Headers.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.TextRfc822Headers"/> class.
            </summary>
            <remarks>
            This constructor is used by <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.TextRfc822Headers.#ctor(System.Object[])">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.TextRfc822Headers"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.TextRfc822Headers"/>.
            </remarks>
            <param name="args">An array of initialization parameters: headers and message parts.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="args"/> contains more than one <see cref="T:MimeKit.MimeMessage"/>.</para>
            <para>-or-</para>
            <para><paramref name="args"/> contains one or more arguments of an unknown type.</para>
            </exception>
        </member>
        <member name="M:MimeKit.TextRfc822Headers.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.TextRfc822Headers"/> class.
            </summary>
            <remarks>
            Creates a new text/rfc822-headers MIME entity.
            </remarks>
        </member>
        <member name="M:MimeKit.TextRfc822Headers.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.TextRfc822Headers"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitTextRfc822Headers(MimeKit.TextRfc822Headers)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitTextRfc822Headers(MimeKit.TextRfc822Headers)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="T:MimeKit.Text.FlowedToHtml">
            <summary>
            A flowed text to HTML converter.
            </summary>
            <remarks>
            Used to convert flowed text (as described in rfc3676) into HTML.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
        </member>
        <member name="M:MimeKit.Text.FlowedToHtml.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.FlowedToHtml"/> class.
            </summary>
            <remarks>
            Creates a new flowed text to HTML converter.
            </remarks>
        </member>
        <member name="P:MimeKit.Text.FlowedToHtml.InputFormat">
            <summary>
            Get the input format.
            </summary>
            <remarks>
            Gets the input format.
            </remarks>
            <value>The input format.</value>
        </member>
        <member name="P:MimeKit.Text.FlowedToHtml.OutputFormat">
            <summary>
            Get the output format.
            </summary>
            <remarks>
            Gets the output format.
            </remarks>
            <value>The output format.</value>
        </member>
        <member name="P:MimeKit.Text.FlowedToHtml.DeleteSpace">
            <summary>
            Get or set whether the trailing space on a wrapped line should be deleted.
            </summary>
            <remarks>
            <para>Gets or sets whether the trailing space on a wrapped line should be deleted.</para>
            <para>The flowed text format defines a Content-Type parameter called "delsp" which can
            have a value of "yes" or "no". If the parameter exists and the value is "yes", then
            <see cref="P:MimeKit.Text.FlowedToHtml.DeleteSpace"/> should be set to <see langword="true" />, otherwise <see cref="P:MimeKit.Text.FlowedToHtml.DeleteSpace"/>
            should be set to <see langword="false" />.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <value><see langword="true" /> if the trailing space on a wrapped line should be deleted; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Text.FlowedToHtml.FooterFormat">
            <summary>
            Get or set the footer format.
            </summary>
            <remarks>
            Gets or sets the footer format.
            </remarks>
            <value>The footer format.</value>
        </member>
        <member name="P:MimeKit.Text.FlowedToHtml.HeaderFormat">
            <summary>
            Get or set the header format.
            </summary>
            <remarks>
            Gets or sets the header format.
            </remarks>
            <value>The header format.</value>
        </member>
        <member name="P:MimeKit.Text.FlowedToHtml.HtmlTagCallback">
            <summary>
            Get or set the <see cref="P:MimeKit.Text.FlowedToHtml.HtmlTagCallback"/> method to use for custom
            filtering of HTML tags and content.
            </summary>
            <remarks>
            Get or set the <see cref="P:MimeKit.Text.FlowedToHtml.HtmlTagCallback"/> method to use for custom
            filtering of HTML tags and content.
            </remarks>
            <value>The html tag callback.</value>
        </member>
        <member name="P:MimeKit.Text.FlowedToHtml.OutputHtmlFragment">
            <summary>
            Get or set whether the converter should only output an HTML fragment.
            </summary>
            <remarks>
            Gets or sets whether the converter should only output an entire
            HTML document or just a fragment of the HTML body content.
            </remarks>
            <value><see langword="true" /> if the converter should only output an HTML fragment; otherwise, <see langword="false" />.</value>
        </member>
        <member name="M:MimeKit.Text.FlowedToHtml.Convert(System.IO.TextReader,System.IO.TextWriter)">
            <summary>
            Convert the contents of <paramref name="reader"/> from the <see cref="P:MimeKit.Text.FlowedToHtml.InputFormat"/> to the
            <see cref="P:MimeKit.Text.FlowedToHtml.OutputFormat"/> and uses the <paramref name="writer"/> to write the resulting text.
            </summary>
            <remarks>
            Converts the contents of <paramref name="reader"/> from the <see cref="P:MimeKit.Text.FlowedToHtml.InputFormat"/> to the
            <see cref="P:MimeKit.Text.FlowedToHtml.OutputFormat"/> and uses the <paramref name="writer"/> to write the resulting text.
            </remarks>
            <param name="reader">The text reader.</param>
            <param name="writer">The text writer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="reader"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="writer"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="T:MimeKit.Text.FlowedToText">
            <summary>
            A flowed text to text converter.
            </summary>
            <remarks>
            Unwraps the flowed text format described in rfc3676.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.FlowedToText.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.FlowedToText"/> class.
            </summary>
            <remarks>
            Creates a new flowed text to text converter.
            </remarks>
        </member>
        <member name="P:MimeKit.Text.FlowedToText.InputFormat">
            <summary>
            Get the input format.
            </summary>
            <remarks>
            Gets the input format.
            </remarks>
            <value>The input format.</value>
        </member>
        <member name="P:MimeKit.Text.FlowedToText.OutputFormat">
            <summary>
            Get the output format.
            </summary>
            <remarks>
            Gets the output format.
            </remarks>
            <value>The output format.</value>
        </member>
        <member name="P:MimeKit.Text.FlowedToText.DeleteSpace">
            <summary>
            Get or set whether the trailing space on a wrapped line should be deleted.
            </summary>
            <remarks>
            <para>Gets or sets whether the trailing space on a wrapped line should be deleted.</para>
            <para>The flowed text format defines a Content-Type parameter called "delsp" which can
            have a value of "yes" or "no". If the parameter exists and the value is "yes", then
            <see cref="P:MimeKit.Text.FlowedToText.DeleteSpace"/> should be set to <see langword="true" />, otherwise <see cref="P:MimeKit.Text.FlowedToText.DeleteSpace"/>
            should be set to <see langword="false" />.</para>
            </remarks>
            <value><see langword="true" /> if the trailing space on a wrapped line should be deleted; otherwise, <see langword="false" />.</value>
        </member>
        <member name="M:MimeKit.Text.FlowedToText.Convert(System.IO.TextReader,System.IO.TextWriter)">
            <summary>
            Convert the contents of <paramref name="reader"/> from the <see cref="P:MimeKit.Text.FlowedToText.InputFormat"/> to the
            <see cref="P:MimeKit.Text.FlowedToText.OutputFormat"/> and uses the <paramref name="writer"/> to write the resulting text.
            </summary>
            <remarks>
            Converts the contents of <paramref name="reader"/> from the <see cref="P:MimeKit.Text.FlowedToText.InputFormat"/> to the
            <see cref="P:MimeKit.Text.FlowedToText.OutputFormat"/> and uses the <paramref name="writer"/> to write the resulting text.
            </remarks>
            <param name="reader">The text reader.</param>
            <param name="writer">The text writer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="reader"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="writer"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="T:MimeKit.Text.HeaderFooterFormat">
            <summary>
            An enumeration of possible header and footer formats.
            </summary>
            <remarks>
            An enumeration of possible header and footer formats.
            </remarks>
        </member>
        <member name="F:MimeKit.Text.HeaderFooterFormat.Text">
            <summary>
            The header or footer contains plain text.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HeaderFooterFormat.Html">
            <summary>
            The header or footer contains properly formatted HTML.
            </summary>
        </member>
        <member name="T:MimeKit.Text.HtmlAttribute">
            <summary>
            An HTML attribute.
            </summary>
            <remarks>
            An HTML attribute.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
        </member>
        <member name="M:MimeKit.Text.HtmlAttribute.#ctor(MimeKit.Text.HtmlAttributeId,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlAttribute"/> class.
            </summary>
            <remarks>
            Creates a new HTML attribute with the given id and value.
            </remarks>
            <param name="id">The attribute identifier.</param>
            <param name="value">The attribute value.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="id"/> is not a valid value.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlAttribute.#ctor(System.String,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlAttribute"/> class.
            </summary>
            <remarks>
            Creates a new HTML attribute with the given name and value.
            </remarks>
            <param name="name">The attribute name.</param>
            <param name="value">The attribute value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Text.HtmlAttribute.Id">
            <summary>
            Get the HTML attribute identifier.
            </summary>
            <remarks>
            Gets the HTML attribute identifier.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <value>The attribute identifier.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlAttribute.Name">
            <summary>
            Get the name of the attribute.
            </summary>
            <remarks>
            Gets the name of the attribute.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <value>The name of the attribute.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlAttribute.Value">
            <summary>
            Get the value of the attribute.
            </summary>
            <remarks>
            Gets the value of the attribute.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <value>The value of the attribute.</value>
        </member>
        <member name="T:MimeKit.Text.HtmlAttributeCollection">
            <summary>
            A readonly collection of HTML attributes.
            </summary>
            <remarks>
            A readonly collection of HTML attributes.
            </remarks>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeCollection.Empty">
            <summary>
            An empty attribute collection.
            </summary>
            <remarks>
            An empty attribute collection.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.HtmlAttributeCollection.#ctor(System.Collections.Generic.IEnumerable{MimeKit.Text.HtmlAttribute})">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlAttributeCollection"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Text.HtmlAttributeCollection"/>.
            </remarks>
            <param name="collection">A collection of attributes.</param>
        </member>
        <member name="P:MimeKit.Text.HtmlAttributeCollection.Count">
            <summary>
            Get the number of attributes in the collection.
            </summary>
            <remarks>
            Gets the number of attributes in the collection.
            </remarks>
            <value>The number of attributes in the collection.</value>
        </member>
        <member name="M:MimeKit.Text.HtmlAttributeCollection.Contains(MimeKit.Text.HtmlAttributeId)">
            <summary>
            Check if an attribute exists.
            </summary>
            <remarks>
            Checks if an attribute exists.
            </remarks>
            <param name="id">The attribute.</param>
            <returns><see langword="true" /> if the attribute exists within the collection; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.Text.HtmlAttributeCollection.Contains(System.String)">
            <summary>
            Check if an attribute exists.
            </summary>
            <remarks>
            Checks if an attribute exists.
            </remarks>
            <param name="name">The name of the attribute.</param>
            <returns><see langword="true" /> if the attribute exists within the collection; otherwise, <see langword="false" />.</returns>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlAttributeCollection.IndexOf(MimeKit.Text.HtmlAttributeId)">
            <summary>
            Get the index of a desired attribute.
            </summary>
            <remarks>
            Gets the index of a desired attribute.
            </remarks>
            <param name="id">The attribute.</param>
            <returns><see langword="true" /> if the attribute exists within the collection; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.Text.HtmlAttributeCollection.IndexOf(System.String)">
            <summary>
            Get the index of a desired attribute.
            </summary>
            <remarks>
            Gets the index of a desired attribute.
            </remarks>
            <param name="name">The name of the attribute.</param>
            <returns><see langword="true" /> if the attribute exists within the collection; otherwise, <see langword="false" />.</returns>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Text.HtmlAttributeCollection.Item(System.Int32)">
            <summary>
            Get the <see cref="T:MimeKit.Text.HtmlAttribute"/> at the specified index.
            </summary>
            <remarks>
            Gets the <see cref="T:MimeKit.Text.HtmlAttribute"/> at the specified index.
            </remarks>
            <value>The HTML attribute at the specified index.</value>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlAttributeCollection.TryGetValue(MimeKit.Text.HtmlAttributeId,MimeKit.Text.HtmlAttribute@)">
            <summary>
            Get an attribute from the collection if it exists.
            </summary>
            <remarks>
            Gets an attribute from the collection if it exists.
            </remarks>
            <param name="id">The id of the attribute.</param>
            <param name="attribute">The attribute if found; otherwise, <see langword="null"/>.</param>
            <returns><see langword="true" /> if the desired attribute is found; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.Text.HtmlAttributeCollection.TryGetValue(System.String,MimeKit.Text.HtmlAttribute@)">
            <summary>
            Get an attribute from the collection if it exists.
            </summary>
            <remarks>
            Gets an attribute from the collection if it exists.
            </remarks>
            <param name="name">The name of the attribute.</param>
            <param name="attribute">The attribute if found; otherwise, <see langword="null"/>.</param>
            <returns><see langword="true" /> if the desired attribute is found; otherwise, <see langword="false" />.</returns>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlAttributeCollection.GetEnumerator">
            <summary>
            Get an enumerator for the attribute collection.
            </summary>
            <remarks>
            Gets an enumerator for the attribute collection.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MimeKit.Text.HtmlAttributeCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Get an enumerator for the attribute collection.
            </summary>
            <remarks>
            Gets an enumerator for the attribute collection.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="T:MimeKit.Text.HtmlAttributeId">
            <summary>
            HTML attribute identifiers.
            </summary>
            <remarks>
            HTML attribute identifiers.
            </remarks>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Unknown">
            <summary>
            An unknown HTML attribute identifier.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Abbr">
            <summary>
            The "abbr" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Accept">
            <summary>
            The "accept" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.AcceptCharset">
            <summary>
            The "accept-charset" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.AccessKey">
            <summary>
            The "accesskey" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Action">
            <summary>
            The "action" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Align">
            <summary>
            The "align" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Alink">
            <summary>
            The "alink" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Alt">
            <summary>
            The "alt" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Archive">
            <summary>
            The "archive" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Axis">
            <summary>
            The "axis" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Background">
            <summary>
            The "background" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.BGColor">
            <summary>
            The "bgcolor" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Border">
            <summary>
            The "border" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.CellPadding">
            <summary>
            The "cellpadding" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.CellSpacing">
            <summary>
            The "cellspacing" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Char">
            <summary>
            The "char" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.CharOff">
            <summary>
            The "charoff" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Charset">
            <summary>
            The "charset" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Checked">
            <summary>
            The "checked" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Cite">
            <summary>
            The "cite" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Class">
            <summary>
            The "class" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.ClassId">
            <summary>
            The "classid" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Clear">
            <summary>
            The "clear" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Code">
            <summary>
            The "code" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.CodeBase">
            <summary>
            The "codebase" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.CodeType">
            <summary>
            The "codetype" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Color">
            <summary>
            The "color" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Cols">
            <summary>
            The "cols" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.ColSpan">
            <summary>
            The "colspan" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Compact">
            <summary>
            The "compact" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Content">
            <summary>
            The "content" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Coords">
            <summary>
            The "coords" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Data">
            <summary>
            The "data" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.DateTime">
            <summary>
            The "datetime" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Declare">
            <summary>
            The "declare" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Defer">
            <summary>
            The "defer" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Dir">
            <summary>
            The "dir" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Disabled">
            <summary>
            The "disabled" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.DynSrc">
            <summary>
            The "dynsrc" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.EncType">
            <summary>
            The "enctype" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Face">
            <summary>
            The "face" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.For">
            <summary>
            The "for" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Frame">
            <summary>
            The "frame" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.FrameBorder">
            <summary>
            The "frameborder" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Headers">
            <summary>
            The "headers" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Height">
            <summary>
            The "height" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Href">
            <summary>
            The "href" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.HrefLang">
            <summary>
            The "hreflang" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Hspace">
            <summary>
            The "hspace" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.HttpEquiv">
            <summary>
            The "http-equiv" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Id">
            <summary>
            The "id" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.IsMap">
            <summary>
            The "ismap" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Label">
            <summary>
            The "label" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Lang">
            <summary>
            The "lang" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Language">
            <summary>
            The "language" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.LeftMargin">
            <summary>
            The "leftmargin" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Link">
            <summary>
            The "link" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.LongDesc">
            <summary>
            The "longdesc" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.LowSrc">
            <summary>
            The "lowsrc" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.MarginHeight">
            <summary>
            The "marginheight" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.MarginWidth">
            <summary>
            The "marginwidth" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.MaxLength">
            <summary>
            The "maxlength" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Media">
            <summary>
            The "media" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Method">
            <summary>
            The "method" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Multiple">
            <summary>
            The "multiple" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Name">
            <summary>
            The "name" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.NoHref">
            <summary>
            The "nohref" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.NoResize">
            <summary>
            The "noresize" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.NoShade">
            <summary>
            The "noshade" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.NoWrap">
            <summary>
            The "nowrap" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Object">
            <summary>
            The "object" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Profile">
            <summary>
            The "profile" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Prompt">
            <summary>
            The "prompt" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.ReadOnly">
            <summary>
            The "readonly" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Rel">
            <summary>
            The "rel" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Rev">
            <summary>
            The "rev" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Rows">
            <summary>
            The "rows" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.RowSpan">
            <summary>
            The "rowspan" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Rules">
            <summary>
            The "rules" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Scheme">
            <summary>
            The "scheme" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Scope">
            <summary>
            The "scope" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Scrolling">
            <summary>
            The "scrolling" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Selected">
            <summary>
            The "selected" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Shape">
            <summary>
            The "shape" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Size">
            <summary>
            The "size" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Span">
            <summary>
            The "span" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Src">
            <summary>
            The "src" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.StandBy">
            <summary>
            The "standby" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Start">
            <summary>
            The "start" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Style">
            <summary>
            The "style" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Summary">
            <summary>
            The "summary" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.TabIndex">
            <summary>
            The "tabindex" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Target">
            <summary>
            The "target" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Text">
            <summary>
            The "text" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Title">
            <summary>
            The "title" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.TopMargin">
            <summary>
            The "topmargin" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Type">
            <summary>
            The "type" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.UseMap">
            <summary>
            The "usemap" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Valign">
            <summary>
            The "valign" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Value">
            <summary>
            The "value" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.ValueType">
            <summary>
            The "valuetype" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Version">
            <summary>
            The "version" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Vlink">
            <summary>
            The "vlink" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Vspace">
            <summary>
            The "vspace" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.Width">
            <summary>
            The "width" attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlAttributeId.XmlNS">
            <summary>
            The "xmlns" attribute.
            </summary>
        </member>
        <member name="T:MimeKit.Text.HtmlAttributeIdExtensions">
            <summary>
            <see cref="T:MimeKit.Text.HtmlAttributeId"/> extension methods.
            </summary>
            <remarks>
            <see cref="T:MimeKit.Text.HtmlAttributeId"/> extension methods.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.HtmlAttributeIdExtensions.ToAttributeName(MimeKit.Text.HtmlAttributeId)">
            <summary>
            Converts the enum value into the equivalent attribute name.
            </summary>
            <remarks>
            Converts the enum value into the equivalent attribute name.
            </remarks>
            <returns>The attribute name.</returns>
            <param name="value">The enum value.</param>
        </member>
        <member name="M:MimeKit.Text.HtmlAttributeIdExtensions.ToHtmlAttributeId(System.String)">
            <summary>
            Converts the attribute name into the equivalent attribute id.
            </summary>
            <remarks>
            Converts the attribute name into the equivalent attribute id.
            </remarks>
            <returns>The attribute id.</returns>
            <param name="name">The attribute name.</param>
        </member>
        <member name="T:MimeKit.Text.HtmlEntityDecoder">
            <summary>
            An HTML entity decoder.
            </summary>
            <remarks>
            An HTML entity decoder.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.HtmlEntityDecoder.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlEntityDecoder"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Text.HtmlEntityDecoder"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.HtmlEntityDecoder.Push(System.Char)">
            <summary>
            Push the specified character into the HTML entity decoder.
            </summary>
            <remarks>
            <para>Pushes the specified character into the HTML entity decoder.</para>
            <para>The first character pushed MUST be the '&amp;' character.</para>
            </remarks>
            <returns><see langword="true" /> if the character was accepted; otherwise, <see langword="false" />.</returns>
            <param name="c">The character.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="c"/> is the first character being pushed and was not the '&amp;' character.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlEntityDecoder.GetValue">
            <summary>
            Get the decoded entity value.
            </summary>
            <remarks>
            Gets the decoded entity value.
            </remarks>
            <returns>The value.</returns>
        </member>
        <member name="M:MimeKit.Text.HtmlEntityDecoder.Reset">
            <summary>
            Reset the entity decoder.
            </summary>
            <remarks>
            Resets the entity decoder.
            </remarks>
        </member>
        <member name="T:MimeKit.Text.HtmlNamespace">
            <summary>
            An HTML namespace.
            </summary>
            <remarks>
            An HTML namespace.
            </remarks>
        </member>
        <member name="F:MimeKit.Text.HtmlNamespace.Html">
            <summary>
            The namespace is "http://www.w3.org/1999/xhtml".
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlNamespace.MathML">
            <summary>
            The namespace is "http://www.w3.org/1998/Math/MathML".
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlNamespace.Svg">
            <summary>
            The namespace is "http://www.w3.org/2000/svg".
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlNamespace.XLink">
            <summary>
            The namespace is "http://www.w3.org/1999/xlink".
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlNamespace.Xml">
            <summary>
            The namespace is "http://www.w3.org/XML/1998/namespace".
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlNamespace.XmlNS">
            <summary>
            The namespace is "http://www.w3.org/2000/xmlns/".
            </summary>
        </member>
        <member name="T:MimeKit.Text.HtmlNamespaceExtensions">
            <summary>
            <see cref="T:MimeKit.Text.HtmlNamespace"/> extension methods.
            </summary>
            <remarks>
            <see cref="T:MimeKit.Text.HtmlNamespace"/> extension methods.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.HtmlNamespaceExtensions.ToNamespaceUrl(MimeKit.Text.HtmlNamespace)">
            <summary>
            Converts the enum value into the equivalent namespace url.
            </summary>
            <remarks>
            Converts the enum value into the equivalent namespace url.
            </remarks>
            <returns>The tag name.</returns>
            <param name="value">The enum value.</param>
        </member>
        <member name="M:MimeKit.Text.HtmlNamespaceExtensions.ToHtmlNamespace(System.String)">
            <summary>
            Convert the tag name into the equivalent tag id.
            </summary>
            <remarks>
            Converts the tag name into the equivalent tag id.
            </remarks>
            <returns>The tag id.</returns>
            <param name="ns">The namespace.</param>
        </member>
        <member name="T:MimeKit.Text.HtmlTagCallback">
            <summary>
            An HTML tag callback delegate.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.Text.HtmlTagCallback"/> delegate is called when a converter
            is ready to write a new HTML tag, allowing developers to customize
            whether the tag gets written at all, which attributes get written, etc.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <param name="tagContext">The HTML tag context.</param>
            <param name="htmlWriter">The HTML writer.</param>
        </member>
        <member name="T:MimeKit.Text.HtmlTagContext">
            <summary>
            An HTML tag context.
            </summary>
            <remarks>
            An HTML tag context used with the <see cref="T:MimeKit.Text.HtmlTagCallback"/> delegate.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
        </member>
        <member name="M:MimeKit.Text.HtmlTagContext.#ctor(MimeKit.Text.HtmlTagId)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlTagContext"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Text.HtmlTagContext"/>.
            </remarks>
            <param name="tagId">The HTML tag identifier.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="tagId"/> is invalid.
            </exception>
        </member>
        <member name="P:MimeKit.Text.HtmlTagContext.Attributes">
            <summary>
            Get the HTML tag attributes.
            </summary>
            <remarks>
            Gets the HTML tag attributes.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <value>The attributes.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlTagContext.DeleteEndTag">
            <summary>
            Get or set whether the end tag should be deleted.
            </summary>
            <remarks>
            Gets or sets whether the end tag should be deleted.
            </remarks>
            <value><see langword="true" /> if the end tag should be deleted; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlTagContext.DeleteTag">
            <summary>
            Get or set whether the tag should be deleted.
            </summary>
            <remarks>
            Gets or sets whether the tag should be deleted.
            </remarks>
            <value><see langword="true" /> if the tag should be deleted; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlTagContext.InvokeCallbackForEndTag">
            <summary>
            Get or set whether the <see cref="T:MimeKit.Text.HtmlTagCallback"/> should be invoked for the end tag.
            </summary>
            <remarks>
            Gets or sets whether the <see cref="T:MimeKit.Text.HtmlTagCallback"/> should be invoked for the end tag.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <value><see langword="true" /> if the callback should be invoked for end tag; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlTagContext.IsEmptyElementTag">
            <summary>
            Get whether the tag is an empty element.
            </summary>
            <remarks>
            Gets whether the tag is an empty element.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <value><see langword="true" /> if the tag is an empty element; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlTagContext.IsEndTag">
            <summary>
            Get whether the tag is an end tag.
            </summary>
            <remarks>
            Gets whether the tag is an end tag.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <value><see langword="true" /> if the tag is an end tag; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlTagContext.SuppressInnerContent">
            <summary>
            Get or set whether the inner content of the tag should be suppressed.
            </summary>
            <remarks>
            Gets or sets whether the inner content of the tag should be suppressed.
            </remarks>
            <value><see langword="true" /> if the inner content should be suppressed; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlTagContext.TagId">
            <summary>
            Get the HTML tag identifier.
            </summary>
            <remarks>
            Gets the HTML tag identifier.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <value>The HTML tag identifier.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlTagContext.TagName">
            <summary>
            Get the HTML tag name.
            </summary>
            <remarks>
            Gets the HTML tag name.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <value>The HTML tag name.</value>
        </member>
        <member name="M:MimeKit.Text.HtmlTagContext.WriteTag(MimeKit.Text.HtmlWriter)">
            <summary>
            Write the HTML tag.
            </summary>
            <remarks>
            Writes the HTML tag to the given <see cref="T:MimeKit.Text.HtmlWriter"/>.
            </remarks>
            <param name="htmlWriter">The HTML writer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="htmlWriter"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlTagContext.WriteTag(MimeKit.Text.HtmlWriter,System.Boolean)">
            <summary>
            Write the HTML tag.
            </summary>
            <remarks>
            Writes the HTML tag to the given <see cref="T:MimeKit.Text.HtmlWriter"/>.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <param name="htmlWriter">The HTML writer.</param>
            <param name="writeAttributes"><see langword="true" /> if the <see cref="P:MimeKit.Text.HtmlTagContext.Attributes"/> should also be written; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="htmlWriter"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="T:MimeKit.Text.HtmlTagId">
            <summary>
            HTML tag identifiers.
            </summary>
            <remarks>
            HTML tag identifiers.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Unknown">
            <summary>
            An unknown HTML tag identifier.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.A">
            <summary>
            The HTML &lt;a&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Abbr">
            <summary>
            The HTML &lt;abbr&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Acronym">
            <summary>
            The HTML &lt;acronym&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Address">
            <summary>
            The HTML &lt;address&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Applet">
            <summary>
            The HTML &lt;applet&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Area">
            <summary>
            The HTML &lt;area&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Article">
            <summary>
            The HTML &lt;article&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Aside">
            <summary>
            The HTML &lt;aside&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Audio">
            <summary>
            The HTML &lt;audio&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.B">
            <summary>
            The HTML &lt;b&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Base">
            <summary>
            The HTML &lt;base&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.BaseFont">
            <summary>
            The HTML &lt;basefont&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Bdi">
            <summary>
            The HTML &lt;bdi&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Bdo">
            <summary>
            The HTML &lt;bdo&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.BGSound">
            <summary>
            The HTML &lt;bgsound&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Big">
            <summary>
            The HTML &lt;big&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Blink">
            <summary>
            The HTML &lt;blink&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.BlockQuote">
            <summary>
            The HTML &lt;blockquote&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Body">
            <summary>
            The HTML &lt;body&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Br">
            <summary>
            The HTML &lt;br&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Button">
            <summary>
            The HTML &lt;button&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Canvas">
            <summary>
            The HTML &lt;canvas&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Caption">
            <summary>
            The HTML &lt;caption&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Center">
            <summary>
            The HTML &lt;center&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Cite">
            <summary>
            The HTML &lt;cite&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Code">
            <summary>
            The HTML &lt;code&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Col">
            <summary>
            The HTML &lt;col&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.ColGroup">
            <summary>
            The HTML &lt;colgroup&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Command">
            <summary>
            The HTML &lt;command&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Comment">
            <summary>
            The HTML comment tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.DataList">
            <summary>
            The HTML &lt;datalist&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.DD">
            <summary>
            The HTML &lt;dd&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Del">
            <summary>
            The HTML &lt;del&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Details">
            <summary>
            The HTML &lt;details&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Dfn">
            <summary>
            The HTML &lt;dfn&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Dialog">
            <summary>
            The HTML &lt;dialog&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Dir">
            <summary>
            The HTML &lt;dir&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Div">
            <summary>
            The HTML &lt;div&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.DL">
            <summary>
            The HTML &lt;dl&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.DT">
            <summary>
            The HTML &lt;dt&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.EM">
            <summary>
            The HTML &lt;em&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Embed">
            <summary>
            The HTML &lt;embed&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.FieldSet">
            <summary>
            The HTML &lt;fieldset&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.FigCaption">
            <summary>
            The HTML &lt;figcaption&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Figure">
            <summary>
            The HTML &lt;figure&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Font">
            <summary>
            The HTML &lt;font&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Footer">
            <summary>
            The HTML &lt;footer&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Form">
            <summary>
            The HTML &lt;form&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Frame">
            <summary>
            The HTML &lt;frame&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.FrameSet">
            <summary>
            The HTML &lt;frameset&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.H1">
            <summary>
            The HTML &lt;h1&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.H2">
            <summary>
            The HTML &lt;h2&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.H3">
            <summary>
            The HTML &lt;h3&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.H4">
            <summary>
            The HTML &lt;h4&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.H5">
            <summary>
            The HTML &lt;h5&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.H6">
            <summary>
            The HTML &lt;h6&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Head">
            <summary>
            The HTML &lt;head&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Header">
            <summary>
            The HTML &lt;header&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.HR">
            <summary>
            The HTML &lt;hr&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Html">
            <summary>
            The HTML &lt;html&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.I">
            <summary>
            The HTML &lt;i&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.IFrame">
            <summary>
            The HTML &lt;iframe&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Image">
            <summary>
            The HTML &lt;img&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Input">
            <summary>
            The HTML &lt;input&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Ins">
            <summary>
            The HTML &lt;ins&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.IsIndex">
            <summary>
            The HTML &lt;isindex&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Kbd">
            <summary>
            The HTML &lt;kbd&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Keygen">
            <summary>
            The HTML &lt;keygen&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Label">
            <summary>
            The HTML &lt;label&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Legend">
            <summary>
            The HTML &lt;legend&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.LI">
            <summary>
            The HTML &lt;li&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Link">
            <summary>
            The HTML &lt;link&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Listing">
            <summary>
            The HTML &lt;listing&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Main">
            <summary>
            The HTML &lt;main&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Map">
            <summary>
            The HTML &lt;map&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Mark">
            <summary>
            The HTML &lt;mark&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Marquee">
            <summary>
            The HTML &lt;marquee&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Menu">
            <summary>
            The HTML &lt;menu&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.MenuItem">
            <summary>
            The HTML &lt;menuitem&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Meta">
            <summary>
            The HTML &lt;meta&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Meter">
            <summary>
            The HTML &lt;meter&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Nav">
            <summary>
            The HTML &lt;nav&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.NextId">
            <summary>
            The HTML &lt;nextid&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.NoBR">
            <summary>
            The HTML &lt;nobr&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.NoEmbed">
            <summary>
            The HTML &lt;noembed&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.NoFrames">
            <summary>
            The HTML &lt;noframes&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.NoScript">
            <summary>
            The HTML &lt;noscript&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Object">
            <summary>
            The HTML &lt;object&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.OL">
            <summary>
            The HTML &lt;ol&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.OptGroup">
            <summary>
            The HTML &lt;optgroup&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Option">
            <summary>
            The HTML &lt;option&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Output">
            <summary>
            The HTML &lt;output&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.P">
            <summary>
            The HTML &lt;p&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Param">
            <summary>
            The HTML &lt;param&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.PlainText">
            <summary>
            The HTML &lt;plaintext&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Pre">
            <summary>
            The HTML &lt;pre&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Progress">
            <summary>
            The HTML &lt;progress&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Q">
            <summary>
            The HTML &lt;q&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.RP">
            <summary>
            The HTML &lt;rp&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.RT">
            <summary>
            The HTML &lt;rt&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Ruby">
            <summary>
            The HTML &lt;ruby&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.S">
            <summary>
            The HTML &lt;s&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Samp">
            <summary>
            The HTML &lt;samp&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Script">
            <summary>
            The HTML &lt;script&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Section">
            <summary>
            The HTML &lt;section&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Select">
            <summary>
            The HTML &lt;select&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Small">
            <summary>
            The HTML &lt;small&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Source">
            <summary>
            The HTML &lt;source&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Span">
            <summary>
            The HTML &lt;span&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Strike">
            <summary>
            The HTML &lt;strike&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Strong">
            <summary>
            The HTML &lt;strong&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Style">
            <summary>
            The HTML &lt;style&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Sub">
            <summary>
            The HTML &lt;sub&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Summary">
            <summary>
            The HTML &lt;summary&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Sup">
            <summary>
            The HTML &lt;sup&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Table">
            <summary>
            The HTML &lt;table&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.TBody">
            <summary>
            The HTML &lt;tbody&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.TD">
            <summary>
            The HTML &lt;td&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.TextArea">
            <summary>
            The HTML &lt;textarea&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Tfoot">
            <summary>
            The HTML &lt;tfoot&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.TH">
            <summary>
            The HTML &lt;th&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.THead">
            <summary>
            The HTML &lt;thead&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Time">
            <summary>
            The HTML &lt;time&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Title">
            <summary>
            The HTML &lt;title&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.TR">
            <summary>
            The HTML &lt;tr&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Track">
            <summary>
            The HTML &lt;track&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.TT">
            <summary>
            The HTML &lt;tt&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.U">
            <summary>
            The HTML &lt;u&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.UL">
            <summary>
            The HTML &lt;ul&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Var">
            <summary>
            The HTML &lt;var&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Video">
            <summary>
            The HTML &lt;video&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Wbr">
            <summary>
            The HTML &lt;wbr&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Xml">
            <summary>
            The HTML &lt;xml&gt; tag.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTagId.Xmp">
            <summary>
            The HTML &lt;xmp&gt; tag.
            </summary>
        </member>
        <member name="T:MimeKit.Text.HtmlTagIdExtensions">
            <summary>
            <see cref="T:MimeKit.Text.HtmlTagId"/> extension methods.
            </summary>
            <remarks>
            <see cref="T:MimeKit.Text.HtmlTagId"/> extension methods.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.HtmlTagIdExtensions.ToHtmlTagName(MimeKit.Text.HtmlTagId)">
            <summary>
            Converts the enum value into the equivalent tag name.
            </summary>
            <remarks>
            Converts the enum value into the equivalent tag name.
            </remarks>
            <returns>The tag name.</returns>
            <param name="value">The enum value.</param>
        </member>
        <member name="M:MimeKit.Text.HtmlTagIdExtensions.ToHtmlTagId(System.String)">
            <summary>
            Converts the tag name into the equivalent tag id.
            </summary>
            <remarks>
            Converts the tag name into the equivalent tag id.
            </remarks>
            <returns>The tag id.</returns>
            <param name="name">The tag name.</param>
        </member>
        <member name="M:MimeKit.Text.HtmlTagIdExtensions.IsEmptyElement(MimeKit.Text.HtmlTagId)">
            <summary>
            Determines whether the HTML tag is an empty element.
            </summary>
            <remarks>
            Determines whether the HTML tag is an empty element.
            </remarks>
            <returns><see langword="true" /> if the tag is an empty element; otherwise, <see langword="false" />.</returns>
            <param name="id">Identifier.</param>
        </member>
        <member name="M:MimeKit.Text.HtmlTagIdExtensions.IsFormattingElement(MimeKit.Text.HtmlTagId)">
            <summary>
            Determines whether the HTML tag is a formatting element.
            </summary>
            <remarks>
            Determines whether the HTML tag is a formatting element.
            </remarks>
            <returns><see langword="true" /> if the HTML tag is a formatting element; otherwise, <see langword="false" />.</returns>
            <param name="id">The HTML tag identifier.</param>
        </member>
        <member name="T:MimeKit.Text.HtmlTextPreviewer">
            <summary>
            A text previewer for HTML content.
            </summary>
            <remarks>
            A text previewer for HTML content.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.HtmlTextPreviewer.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlTextPreviewer"/> class.
            </summary>
            <remarks>
            Creates a new previewer for HTML.
            </remarks>
        </member>
        <member name="P:MimeKit.Text.HtmlTextPreviewer.InputFormat">
            <summary>
            Get the input format.
            </summary>
            <remarks>
            Gets the input format.
            </remarks>
            <value>The input format.</value>
        </member>
        <member name="M:MimeKit.Text.HtmlTextPreviewer.GetPreviewText(System.IO.TextReader)">
            <summary>
            Get a text preview of a stream of text.
            </summary>
            <remarks>
            Gets a text preview of a stream of text.
            </remarks>
            <param name="reader">The original text stream.</param>
            <returns>A string representing a shortened preview of the original text.</returns>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="reader"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="T:MimeKit.Text.HtmlToHtml">
            <summary>
            An HTML to HTML converter.
            </summary>
            <remarks>
            Used to convert HTML into HTML.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
        </member>
        <member name="M:MimeKit.Text.HtmlToHtml.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlToHtml"/> class.
            </summary>
            <remarks>
            Creates a new HTML to HTML converter.
            </remarks>
        </member>
        <member name="P:MimeKit.Text.HtmlToHtml.InputFormat">
            <summary>
            Get the input format.
            </summary>
            <remarks>
            Gets the input format.
            </remarks>
            <value>The input format.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlToHtml.OutputFormat">
            <summary>
            Get the output format.
            </summary>
            <remarks>
            Gets the output format.
            </remarks>
            <value>The output format.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlToHtml.FilterComments">
            <summary>
            Get or set whether the converter should remove HTML comments from the output.
            </summary>
            <remarks>
            Gets or sets whether the converter should remove HTML comments from the output.
            </remarks>
            <value><see langword="true" /> if the converter should remove comments; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlToHtml.FilterHtml">
            <summary>
            Get or set whether executable scripts should be stripped from the output.
            </summary>
            <remarks>
            Gets or sets whether executable scripts should be stripped from the output.
            </remarks>
            <value><see langword="true" /> if executable scripts should be filtered; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlToHtml.FooterFormat">
            <summary>
            Get or set the footer format.
            </summary>
            <remarks>
            Gets or sets the footer format.
            </remarks>
            <value>The footer format.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlToHtml.HeaderFormat">
            <summary>
            Get or set the header format.
            </summary>
            <remarks>
            Gets or sets the header format.
            </remarks>
            <value>The header format.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlToHtml.HtmlTagCallback">
            <summary>
            Get or set the <see cref="P:MimeKit.Text.HtmlToHtml.HtmlTagCallback"/> method to use for custom
            filtering of HTML tags and content.
            </summary>
            <remarks>
            Get or set the <see cref="P:MimeKit.Text.HtmlToHtml.HtmlTagCallback"/> method to use for custom
            filtering of HTML tags and content.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <value>The html tag callback.</value>
        </member>
        <member name="M:MimeKit.Text.HtmlToHtml.Convert(System.IO.TextReader,System.IO.TextWriter)">
            <summary>
            Convert the contents of <paramref name="reader"/> from the <see cref="P:MimeKit.Text.HtmlToHtml.InputFormat"/> to the
            <see cref="P:MimeKit.Text.HtmlToHtml.OutputFormat"/> and uses the <paramref name="writer"/> to write the resulting text.
            </summary>
            <remarks>
            Converts the contents of <paramref name="reader"/> from the <see cref="P:MimeKit.Text.HtmlToHtml.InputFormat"/> to the
            <see cref="P:MimeKit.Text.HtmlToHtml.OutputFormat"/> and uses the <paramref name="writer"/> to write the resulting text.
            </remarks>
            <param name="reader">The text reader.</param>
            <param name="writer">The text writer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="reader"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="writer"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="T:MimeKit.Text.HtmlToken">
            <summary>
            An abstract HTML token class.
            </summary>
            <remarks>
            An abstract HTML token class.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.HtmlToken.#ctor(MimeKit.Text.HtmlTokenKind)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlToken"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Text.HtmlToken"/>.
            </remarks>
            <param name="kind">The kind of token.</param>
        </member>
        <member name="P:MimeKit.Text.HtmlToken.Kind">
            <summary>
            Get the kind of HTML token that this object represents.
            </summary>
            <remarks>
            Gets the kind of HTML token that this object represents.
            </remarks>
            <value>The kind of token.</value>
        </member>
        <member name="M:MimeKit.Text.HtmlToken.WriteTo(System.IO.TextWriter)">
            <summary>
            Write the HTML token to a <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <remarks>
            Writes the HTML token to a <see cref="T:System.IO.TextWriter"/>.
            </remarks>
            <param name="output">The output.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="output"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlToken.ToString">
            <summary>
            Return a <see cref="T:System.String"/> that represents the current <see cref="T:MimeKit.Text.HtmlToken"/>.
            </summary>
            <remarks>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MimeKit.Text.HtmlToken"/>.
            </remarks>
            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:MimeKit.Text.HtmlToken"/>.</returns>
        </member>
        <member name="T:MimeKit.Text.HtmlCommentToken">
            <summary>
            An HTML comment token.
            </summary>
            <remarks>
            An HTML comment token.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.HtmlCommentToken.#ctor(System.String,System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlCommentToken"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Text.HtmlCommentToken"/>.
            </remarks>
            <param name="comment">The comment text.</param>
            <param name="bogus"><see langword="true" /> if the comment is bogus; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="comment"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Text.HtmlCommentToken.Comment">
            <summary>
            Get the comment.
            </summary>
            <remarks>
            Gets the comment.
            </remarks>
            <value>The comment.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlCommentToken.IsBogusComment">
            <summary>
            Get whether the comment is a bogus comment.
            </summary>
            <remarks>
            Gets whether the comment is a bogus comment.
            </remarks>
            <value><see langword="true" /> if the comment is bogus; otherwise, <see langword="false" />.</value>
        </member>
        <member name="M:MimeKit.Text.HtmlCommentToken.WriteTo(System.IO.TextWriter)">
            <summary>
            Write the HTML comment to a <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <remarks>
            Writes the HTML comment to a <see cref="T:System.IO.TextWriter"/>.
            </remarks>
            <param name="output">The output.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="output"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="T:MimeKit.Text.HtmlDataToken">
            <summary>
            An HTML token constisting of character data.
            </summary>
            <remarks>
            An HTML token consisting of character data.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.HtmlDataToken.#ctor(MimeKit.Text.HtmlTokenKind,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlDataToken"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Text.HtmlDataToken"/>.
            </remarks>
            <param name="kind">The kind of character data.</param>
            <param name="data">The character data.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="kind"/> is not a valid <see cref="T:MimeKit.Text.HtmlTokenKind"/>.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="data"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlDataToken.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlDataToken"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Text.HtmlDataToken"/>.
            </remarks>
            <param name="data">The character data.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="data"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Text.HtmlDataToken.Data">
            <summary>
            Get the character data.
            </summary>
            <remarks>
            Gets the character data.
            </remarks>
            <value>The character data.</value>
        </member>
        <member name="M:MimeKit.Text.HtmlDataToken.WriteTo(System.IO.TextWriter)">
            <summary>
            Write the HTML character data to a <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <remarks>
            Writes the HTML character data to a <see cref="T:System.IO.TextWriter"/>,
            encoding it if it isn't already encoded.
            </remarks>
            <param name="output">The output.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="output"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="T:MimeKit.Text.HtmlCDataToken">
            <summary>
            An HTML token consisting of <c>[CDATA[</c>.
            </summary>
            <remarks>
            An HTML token consisting of <c>[CDATA[</c>.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.HtmlCDataToken.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlCDataToken"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Text.HtmlCDataToken"/>.
            </remarks>
            <param name="data">The character data.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="data"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlCDataToken.WriteTo(System.IO.TextWriter)">
            <summary>
            Write the HTML character data to a <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <remarks>
            Writes the HTML character data to a <see cref="T:System.IO.TextWriter"/>,
            encoding it if it isn't already encoded.
            </remarks>
            <param name="output">The output.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="output"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="T:MimeKit.Text.HtmlScriptDataToken">
            <summary>
            An HTML token constisting of script data.
            </summary>
            <remarks>
            An HTML token consisting of script data.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.HtmlScriptDataToken.#ctor(System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlScriptDataToken"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Text.HtmlScriptDataToken"/>.
            </remarks>
            <param name="data">The script data.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="data"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlScriptDataToken.WriteTo(System.IO.TextWriter)">
            <summary>
            Write the HTML script data to a <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <remarks>
            Writes the HTML script data to a <see cref="T:System.IO.TextWriter"/>,
            encoding it if it isn't already encoded.
            </remarks>
            <param name="output">The output.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="output"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="T:MimeKit.Text.HtmlTagToken">
            <summary>
            An HTML tag token.
            </summary>
            <remarks>
            An HTML tag token.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.HtmlTagToken.#ctor(System.String,System.Collections.Generic.IEnumerable{MimeKit.Text.HtmlAttribute},System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlTagToken"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Text.HtmlTagToken"/>.
            </remarks>
            <param name="name">The name of the tag.</param>
            <param name="attributes">The attributes.</param>
            <param name="isEmptyElement"><see langword="true" /> if the tag is an empty element; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="attributes"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlTagToken.#ctor(System.String,System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlTagToken"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Text.HtmlTagToken"/>.
            </remarks>
            <param name="name">The name of the tag.</param>
            <param name="isEndTag"><see langword="true" /> if the tag is an end tag; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Text.HtmlTagToken.Attributes">
            <summary>
            Get the attributes.
            </summary>
            <remarks>
            Gets the attributes.
            </remarks>
            <value>The attributes.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlTagToken.Id">
            <summary>
            Get the HTML tag identifier.
            </summary>
            <remarks>
            Gets the HTML tag identifier.
            </remarks>
            <value>The HTML tag identifier.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlTagToken.IsEmptyElement">
            <summary>
            Get whether the tag is an empty element.
            </summary>
            <remarks>
            Gets whether the tag is an empty element.
            </remarks>
            <value><see langword="true" /> if the tag is an empty element; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlTagToken.IsEndTag">
            <summary>
            Get whether the tag is an end tag.
            </summary>
            <remarks>
            Gets whether the tag is an end tag.
            </remarks>
            <value><see langword="true" /> if the tag is an end tag; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlTagToken.Name">
            <summary>
            Get the name of the tag.
            </summary>
            <remarks>
            Gets the name of the tag.
            </remarks>
            <value>The name.</value>
        </member>
        <member name="M:MimeKit.Text.HtmlTagToken.WriteTo(System.IO.TextWriter)">
            <summary>
            Write the HTML tag to a <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <remarks>
            Writes the HTML tag to a <see cref="T:System.IO.TextWriter"/>.
            </remarks>
            <param name="output">The output.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="output"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="T:MimeKit.Text.HtmlDocTypeToken">
            <summary>
            An HTML DOCTYPE token.
            </summary>
            <remarks>
            An HTML DOCTYPE token.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.HtmlDocTypeToken.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlDocTypeToken"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Text.HtmlDocTypeToken"/>.
            </remarks>
        </member>
        <member name="P:MimeKit.Text.HtmlDocTypeToken.ForceQuirksMode">
            <summary>
            Get whether quirks-mode should be forced.
            </summary>
            <remarks>
            Gets whether quirks-mode should be forced.
            </remarks>
            <value><see langword="true" /> if quirks-mode should be forced; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlDocTypeToken.Name">
            <summary>
            Get or set the DOCTYPE name.
            </summary>
            <remarks>
            Gets or sets the DOCTYPE name.
            </remarks>
            <value>The name.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlDocTypeToken.PublicIdentifier">
            <summary>
            Get or set the public identifier.
            </summary>
            <remarks>
            Gets or sets the public identifier.
            </remarks>
            <value>The public identifier.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlDocTypeToken.PublicKeyword">
            <summary>
            Get the public keyword that was used.
            </summary>
            <remarks>
            Gets the public keyword that was used.
            </remarks>
            <value>The public keyword or <see langword="null"/> if it wasn't used.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlDocTypeToken.SystemIdentifier">
            <summary>
            Get or set the system identifier.
            </summary>
            <remarks>
            Gets or sets the system identifier.
            </remarks>
            <value>The system identifier.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlDocTypeToken.SystemKeyword">
            <summary>
            Get the system keyword that was used.
            </summary>
            <remarks>
            Gets the system keyword that was used.
            </remarks>
            <value>The system keyword or <see langword="null"/> if it wasn't used.</value>
        </member>
        <member name="M:MimeKit.Text.HtmlDocTypeToken.WriteTo(System.IO.TextWriter)">
            <summary>
            Write the DOCTYPE tag to a <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <remarks>
            Writes the DOCTYPE tag to a <see cref="T:System.IO.TextWriter"/>.
            </remarks>
            <param name="output">The output.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="output"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="T:MimeKit.Text.HtmlTokenizer">
            <summary>
            An HTML tokenizer.
            </summary>
            <remarks>
            Tokenizes HTML text, emitting an <see cref="T:MimeKit.Text.HtmlToken"/> for each token it encounters.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.HtmlTokenizer.#ctor(System.IO.Stream)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlTokenizer"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.Text.HtmlTokenizer"/>.</para>
            <para>This constructor will attempt to auto-detect the appropriate encoding to use by examining the first four bytes of the stream
            and, if a unicode byte-order-mark is detected, use the appropriate unicode encoding. If no byte order mark is detected, then it will
            default to UTF-8.</para>
            </remarks>
            <param name="stream">The input stream.</param>
        </member>
        <member name="M:MimeKit.Text.HtmlTokenizer.#ctor(System.IO.Stream,System.Text.Encoding)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlTokenizer"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.Text.HtmlTokenizer"/>.</para>
            <para>This constructor will attempt to auto-detect the appropriate encoding to use by examining the first four bytes of the stream
            and, if a unicode byte-order-mark is detected, use the appropriate unicode encoding. If no byte order mark is detected, then it will
            default to the user-supplied encoding.</para>
            </remarks>
            <param name="stream">The input stream.</param>
            <param name="encoding">The charset encoding of the stream.</param>
        </member>
        <member name="M:MimeKit.Text.HtmlTokenizer.#ctor(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlTokenizer"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MimeKit.Text.HtmlTokenizer"/>.</para>
            <para>This constructor allows you to change the encoding the first time you read from the <see cref="T:MimeKit.Text.HtmlTokenizer"/>. The
            <paramref name="detectEncodingFromByteOrderMarks"/> parameter detects the encoding by looking at the first four bytes of the stream.
            It will automatically recognize UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32, and big-endian UTF-32 text if
            the stream starts with the appropriate byte order marks. Otherwise, the user-provided encoding is used.</para>
            </remarks>
            <param name="stream">The input stream.</param>
            <param name="encoding">The charset encoding of the stream.</param>
            <param name="detectEncodingFromByteOrderMarks"><see langword="true" /> if byte order marks should be detected and used to override the <paramref name="encoding"/>; otherwise, <see langword="false" />.</param>
            <param name="bufferSize">The minimum buffer size to use for reading.</param>
        </member>
        <member name="M:MimeKit.Text.HtmlTokenizer.#ctor(System.IO.TextReader)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlTokenizer"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Text.HtmlTokenizer"/>.
            </remarks>
            <param name="reader">The <see cref="T:System.IO.TextReader"/>.</param>
        </member>
        <member name="P:MimeKit.Text.HtmlTokenizer.DecodeCharacterReferences">
            <summary>
            Get or set whether the tokenizer should decode character references.
            </summary>
            <remarks>
            <para>Gets or sets whether the tokenizer should decode character references.</para>
            <note type="warning">Character references in attribute values will still be decoded
            even if this value is set to <see langword="false" />.</note>
            </remarks>
            <value><see langword="true" /> if character references should be decoded; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlTokenizer.HtmlNamespace">
            <summary>
            Get the current HTML namespace detected by the tokenizer.
            </summary>
            <remarks>
            Gets the current HTML namespace detected by the tokenizer.
            </remarks>
            <value>The html namespace.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlTokenizer.IgnoreTruncatedTags">
            <summary>
            Get or set whether the tokenizer should ignore truncated tags.
            </summary>
            <remarks>
            <para>Gets or sets whether the tokenizer should ignore truncated tags.</para>
            <para>If <see langword="false" /> and the stream abruptly ends in the middle of an HTML tag, it will be
            treated as an <see cref="T:MimeKit.Text.HtmlDataToken"/> instead.</para>
            </remarks>
            <value><see langword="true" /> if truncated tags should be ignored; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlTokenizer.LineNumber">
            <summary>
            Get the current line number.
            </summary>
            <remarks>
            <para>This property is most commonly used for error reporting, but can be called
            at any time. The starting value for this property is <c>1</c>.</para>
            <para>Combined with <see cref="P:MimeKit.Text.HtmlTokenizer.LinePosition"/>, a value of <c>1,1</c> indicates
            the start of the document.</para>
            </remarks>
            <value>The current line number.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlTokenizer.LinePosition">
            <summary>
            Get the current line position.
            </summary>
            <remarks>
            <para>This property is most commonly used for error reporting, but can be called
            at any time. The starting value for this property is <c>1</c>.</para>
            <para>Combined with <see cref="P:MimeKit.Text.HtmlTokenizer.LineNumber"/>, a value of <c>1,1</c> indicates
            the start of the document.</para>
            </remarks>
            <value>The column position of the current line.</value>
        </member>
        <member name="P:MimeKit.Text.HtmlTokenizer.TokenizerState">
            <summary>
            Get the current state of the tokenizer.
            </summary>
            <remarks>
            Gets the current state of the tokenizer.
            </remarks>
            <value>The current state of the tokenizer.</value>
        </member>
        <member name="M:MimeKit.Text.HtmlTokenizer.CreateDocType">
            <summary>
            Create a DOCTYPE token.
            </summary>
            <remarks>
            Creates a DOCTYPE token.
            </remarks>
            <returns>The DOCTYPE token.</returns>
        </member>
        <member name="M:MimeKit.Text.HtmlTokenizer.CreateCommentToken(System.String,System.Boolean)">
            <summary>
            Create an HTML comment token.
            </summary>
            <remarks>
            Creates an HTML comment token.
            </remarks>
            <returns>The HTML comment token.</returns>
            <param name="comment">The comment.</param>
            <param name="bogus"><see langword="true" /> if the comment is bogus; otherwise, <see langword="false" />.</param>
        </member>
        <member name="M:MimeKit.Text.HtmlTokenizer.CreateDataToken(System.String)">
            <summary>
            Create an HTML character data token.
            </summary>
            <remarks>
            Creates an HTML character data token.
            </remarks>
            <returns>The HTML character data token.</returns>
            <param name="data">The character data.</param>
        </member>
        <member name="M:MimeKit.Text.HtmlTokenizer.CreateCDataToken(System.String)">
            <summary>
            Create an HTML character data token.
            </summary>
            <remarks>
            Creates an HTML character data token.
            </remarks>
            <returns>The HTML character data token.</returns>
            <param name="data">The character data.</param>
        </member>
        <member name="M:MimeKit.Text.HtmlTokenizer.CreateScriptDataToken(System.String)">
            <summary>
            Create an HTML script data token.
            </summary>
            <remarks>
            Creates an HTML script data token.
            </remarks>
            <returns>The HTML script data token.</returns>
            <param name="data">The script data.</param>
        </member>
        <member name="M:MimeKit.Text.HtmlTokenizer.CreateTagToken(System.String,System.Boolean)">
            <summary>
            Create an HTML tag token.
            </summary>
            <remarks>
            Creates an HTML tag token.
            </remarks>
            <returns>The HTML tag token.</returns>
            <param name="name">The tag name.</param>
            <param name="isEndTag"><see langword="true" /> if the tag is an end tag; otherwise, <see langword="false" />.</param>
        </member>
        <member name="M:MimeKit.Text.HtmlTokenizer.CreateAttribute(System.String)">
            <summary>
            Create an attribute.
            </summary>
            <remarks>
            Creates an attribute.
            </remarks>
            <returns>The attribute.</returns>
            <param name="name">The attribute name.</param>
        </member>
        <member name="M:MimeKit.Text.HtmlTokenizer.ReadNextToken(MimeKit.Text.HtmlToken@)">
            <summary>
            Read the next token.
            </summary>
            <remarks>
            Reads the next token.
            </remarks>
            <returns><see langword="true" /> if the next token was read; otherwise, <see langword="false" />.</returns>
            <param name="token">The token that was read.</param>
        </member>
        <member name="T:MimeKit.Text.HtmlTokenizerState">
            <summary>
            The HTML tokenizer state.
            </summary>
            <remarks>
            The HTML tokenizer state.
            </remarks>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.Data">
            <summary>
            The data state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#data-state">
            http://www.w3.org/TR/html5/syntax.html#data-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.CharacterReferenceInData">
            <summary>
            The character reference in data state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#character-reference-in-data-state">
            http://www.w3.org/TR/html5/syntax.html#character-reference-in-data-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.RcData">
            <summary>
            The RCDATA state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#rcdata-state">
            http://www.w3.org/TR/html5/syntax.html#rcdata-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.CharacterReferenceInRcData">
            <summary>
            The character reference in RCDATA state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#character-reference-in-rcdata-state">
            http://www.w3.org/TR/html5/syntax.html#character-reference-in-rcdata-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.RawText">
            <summary>
            The RAWTEXT state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#rawtext-state">
            http://www.w3.org/TR/html5/syntax.html#rawtext-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.ScriptData">
            <summary>
            The script data state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#script-data-state">
            http://www.w3.org/TR/html5/syntax.html#script-data-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.PlainText">
            <summary>
            The PLAINTEXT state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#plaintext-state">
            http://www.w3.org/TR/html5/syntax.html#plaintext-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.TagOpen">
            <summary>
            The tag open state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#tag-open-state">
            http://www.w3.org/TR/html5/syntax.html#tag-open-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.EndTagOpen">
            <summary>
            The end tag open state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#end-tag-open-state">
            http://www.w3.org/TR/html5/syntax.html#end-tag-open-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.TagName">
            <summary>
            The tag name state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#tag-name-state">
            http://www.w3.org/TR/html5/syntax.html#tag-name-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.RcDataLessThan">
            <summary>
            The RCDATA less-than state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#rcdata-less-than-sign-state">
            http://www.w3.org/TR/html5/syntax.html#rcdata-less-than-sign-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.RcDataEndTagOpen">
            <summary>
            The RCDATA end tag open state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#rcdata-end-tag-open-state">
            http://www.w3.org/TR/html5/syntax.html#rcdata-end-tag-open-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.RcDataEndTagName">
            <summary>
            The RCDATA end tag name state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#rcdata-end-tag-name-state">
            http://www.w3.org/TR/html5/syntax.html#rcdata-end-tag-name-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.RawTextLessThan">
            <summary>
            The RAWTEXT less-than state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#rawtext-less-than-sign-state">
            http://www.w3.org/TR/html5/syntax.html#rawtext-less-than-sign-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.RawTextEndTagOpen">
            <summary>
            The RAWTEXT end tag open state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#rawtext-end-tag-open-state">
            http://www.w3.org/TR/html5/syntax.html#rawtext-end-tag-open-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.RawTextEndTagName">
            <summary>
            The RAWTEXT end tag name state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#rawtext-end-tag-name-state">
            http://www.w3.org/TR/html5/syntax.html#rawtext-end-tag-name-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.ScriptDataLessThan">
            <summary>
            The script data less-than state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#script-data-less-than-sign-state">
            http://www.w3.org/TR/html5/syntax.html#script-data-less-than-sign-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.ScriptDataEndTagOpen">
            <summary>
            The script data end tag open state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#script-data-end-tag-open-state">
            http://www.w3.org/TR/html5/syntax.html#script-data-end-tag-open-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.ScriptDataEndTagName">
            <summary>
            The script data end tag name state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#script-data-end-tag-name-state">
            http://www.w3.org/TR/html5/syntax.html#script-data-end-tag-name-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.ScriptDataEscapeStart">
            <summary>
            The script data escape start state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#script-data-escape-start-state">
            http://www.w3.org/TR/html5/syntax.html#script-data-escape-start-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.ScriptDataEscapeStartDash">
            <summary>
            The script data escape start state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#script-data-escape-start-dash-state">
            http://www.w3.org/TR/html5/syntax.html#script-data-escape-start-dash-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.ScriptDataEscaped">
            <summary>
            The script data escaped state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#script-data-escaped-state">
            http://www.w3.org/TR/html5/syntax.html#script-data-escaped-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.ScriptDataEscapedDash">
            <summary>
            The script data escaped dash state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#script-data-escaped-dash-state">
            http://www.w3.org/TR/html5/syntax.html#script-data-escaped-dash-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.ScriptDataEscapedDashDash">
            <summary>
            The script data escaped dash dash state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#script-data-escaped-dash-dash-state">
            http://www.w3.org/TR/html5/syntax.html#script-data-escaped-dash-dash-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.ScriptDataEscapedLessThan">
            <summary>
            The script data escaped less-than state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#script-data-escaped-less-than-sign-state">
            http://www.w3.org/TR/html5/syntax.html#script-data-escaped-less-than-sign-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.ScriptDataEscapedEndTagOpen">
            <summary>
            The script data escaped end tag open state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#script-data-escaped-end-tag-open-state">
            http://www.w3.org/TR/html5/syntax.html#script-data-escaped-end-tag-open-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.ScriptDataEscapedEndTagName">
            <summary>
            The script data escaped end tag name state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#script-data-escaped-end-tag-name-state">
            http://www.w3.org/TR/html5/syntax.html#script-data-escaped-end-tag-name-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.ScriptDataDoubleEscapeStart">
            <summary>
            The script data double escape start state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#script-data-double-escape-start-state">
            http://www.w3.org/TR/html5/syntax.html#script-data-double-escape-start-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.ScriptDataDoubleEscaped">
            <summary>
            The script data double escaped state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#script-data-double-escaped-state">
            http://www.w3.org/TR/html5/syntax.html#script-data-double-escaped-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.ScriptDataDoubleEscapedDash">
            <summary>
            The script data double escaped dash state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#script-data-double-escaped-dash-state">
            http://www.w3.org/TR/html5/syntax.html#script-data-double-escaped-dash-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.ScriptDataDoubleEscapedDashDash">
            <summary>
            The script data double escaped dash dash state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#script-data-double-escaped-dash-dash-state">
            http://www.w3.org/TR/html5/syntax.html#script-data-double-escaped-dash-dash-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.ScriptDataDoubleEscapedLessThan">
            <summary>
            The script data double escaped less-than state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#script-data-double-escaped-less-than-sign-state">
            http://www.w3.org/TR/html5/syntax.html#script-data-double-escaped-less-than-sign-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.ScriptDataDoubleEscapeEnd">
            <summary>
            The script data double escape end state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#script-data-double-escape-end-state">
            http://www.w3.org/TR/html5/syntax.html#script-data-double-escape-end-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.BeforeAttributeName">
            <summary>
            The before attribute name state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#before-attribute-name-state">
            http://www.w3.org/TR/html5/syntax.html#before-attribute-name-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.AttributeName">
            <summary>
            The attribute name state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#attribute-name-state">
            http://www.w3.org/TR/html5/syntax.html#attribute-name-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.AfterAttributeName">
            <summary>
            The after attribute name state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#after-attribute-name-state">
            http://www.w3.org/TR/html5/syntax.html#after-attribute-name-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.BeforeAttributeValue">
            <summary>
            The beforw attribute value state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#before-attribute-value-state">
            http://www.w3.org/TR/html5/syntax.html#before-attribute-value-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.AttributeValueQuoted">
            <summary>
            The attribute value quoted state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#attribute-value-(double-quoted)-state">
            http://www.w3.org/TR/html5/syntax.html#attribute-value-(double-quoted)-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.AttributeValueUnquoted">
            <summary>
            The attribute value unquoted state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#attribute-value-(unquoted)-state">
            http://www.w3.org/TR/html5/syntax.html#attribute-value-(unquoted)-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.CharacterReferenceInAttributeValue">
            <summary>
            The character reference in attribute value state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#character-reference-in-attribute-value-state">
            http://www.w3.org/TR/html5/syntax.html#character-reference-in-attribute-value-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.AfterAttributeValueQuoted">
            <summary>
            The after attribute value quoted state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#after-attribute-value-(quoted)-state">
            http://www.w3.org/TR/html5/syntax.html#after-attribute-value-(quoted)-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.SelfClosingStartTag">
            <summary>
            The self-closing start tag state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#self-closing-start-tag-state">
            http://www.w3.org/TR/html5/syntax.html#self-closing-start-tag-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.BogusComment">
            <summary>
            The bogus comment state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#bogus-comment-state">
            http://www.w3.org/TR/html5/syntax.html#bogus-comment-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.MarkupDeclarationOpen">
            <summary>
            The markup declaration open state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#markup-declaration-open-state">
            http://www.w3.org/TR/html5/syntax.html#markup-declaration-open-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.CommentStart">
            <summary>
            The comment start state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#comment-start-state">
            http://www.w3.org/TR/html5/syntax.html#comment-start-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.CommentStartDash">
            <summary>
            The comment start dash state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#comment-start-dash-state">
            http://www.w3.org/TR/html5/syntax.html#comment-start-dash-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.Comment">
            <summary>
            The comment state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#comment-state">
            http://www.w3.org/TR/html5/syntax.html#comment-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.CommentEndDash">
            <summary>
            The comment end dash state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#comment-end-dash-state">
            http://www.w3.org/TR/html5/syntax.html#comment-end-dash-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.CommentEnd">
            <summary>
            The comment end state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#comment-end-state">
            http://www.w3.org/TR/html5/syntax.html#comment-end-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.CommentEndBang">
            <summary>
            The comment end bang state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#comment-end-bang-state">
            http://www.w3.org/TR/html5/syntax.html#comment-end-bang-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.DocType">
            <summary>
            The DOCTYPE state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#doctype-state">
            http://www.w3.org/TR/html5/syntax.html#doctype-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.BeforeDocTypeName">
            <summary>
            The before DOCTYPE name state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#before-doctype-name-state">
            http://www.w3.org/TR/html5/syntax.html#before-doctype-name-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.DocTypeName">
            <summary>
            The DOCTYPE name state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#doctype-name-state">
            http://www.w3.org/TR/html5/syntax.html#doctype-name-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.AfterDocTypeName">
            <summary>
            The after DOCTYPE name state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#after-doctype-name-state">
            http://www.w3.org/TR/html5/syntax.html#after-doctype-name-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.AfterDocTypePublicKeyword">
            <summary>
            The after DOCTYPE public keyword state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#after-doctype-public-keyword-state">
            http://www.w3.org/TR/html5/syntax.html#after-doctype-public-keyword-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.BeforeDocTypePublicIdentifier">
            <summary>
            The before DOCTYPE public identifier state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#before-doctype-public-identifier-state">
            http://www.w3.org/TR/html5/syntax.html#before-doctype-public-identifier-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.DocTypePublicIdentifierQuoted">
            <summary>
            The DOCTYPE public identifier quoted state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#doctype-public-identifier-(double-quoted)-state">
            http://www.w3.org/TR/html5/syntax.html#doctype-public-identifier-(double-quoted)-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.AfterDocTypePublicIdentifier">
            <summary>
            The after DOCTYPE public identifier state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#after-doctype-public-identifier-state">
            http://www.w3.org/TR/html5/syntax.html#after-doctype-public-identifier-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.BetweenDocTypePublicAndSystemIdentifiers">
            <summary>
            The between DOCTYPE public and system identifiers state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#between-doctype-public-and-system-identifiers-state">
            http://www.w3.org/TR/html5/syntax.html#between-doctype-public-and-system-identifiers-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.AfterDocTypeSystemKeyword">
            <summary>
            The after DOCTYPE system keyword state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#after-doctype-system-keyword-state">
            http://www.w3.org/TR/html5/syntax.html#after-doctype-system-keyword-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.BeforeDocTypeSystemIdentifier">
            <summary>
            The before DOCTYPE system identifier state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#before-doctype-system-identifier-state">
            http://www.w3.org/TR/html5/syntax.html#before-doctype-system-identifier-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.DocTypeSystemIdentifierQuoted">
            <summary>
            The DOCTYPE system identifier quoted state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#doctype-system-identifier-(double-quoted)-state">
            http://www.w3.org/TR/html5/syntax.html#doctype-system-identifier-(double-quoted)-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.AfterDocTypeSystemIdentifier">
            <summary>
            The after DOCTYPE system identifier state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#after-doctype-system-identifier-state">
            http://www.w3.org/TR/html5/syntax.html#after-doctype-system-identifier-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.BogusDocType">
            <summary>
            The bogus DOCTYPE state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#bogus-doctype-state">
            http://www.w3.org/TR/html5/syntax.html#bogus-doctype-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.CDataSection">
            <summary>
            The CDATA section state as described at
            <a href="http://www.w3.org/TR/html5/syntax.html#cdata-section-state">
            http://www.w3.org/TR/html5/syntax.html#cdata-section-state</a>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenizerState.EndOfFile">
            <summary>
            The end of file state.
            </summary>
        </member>
        <member name="T:MimeKit.Text.HtmlTokenKind">
            <summary>
            The kinds of tokens that the <see cref="T:MimeKit.Text.HtmlTokenizer"/> can emit.
            </summary>
            <remarks>
            The kinds of tokens that the <see cref="T:MimeKit.Text.HtmlTokenizer"/> can emit.
            </remarks>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenKind.CData">
            <summary>
            A token consisting of <c>[CDATA[</c>.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenKind.Comment">
            <summary>
            An HTML comment token.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenKind.Data">
            <summary>
            A token consisting of character data.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenKind.DocType">
            <summary>
            An HTML DOCTYPE token.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenKind.ScriptData">
            <summary>
            A token consisting of script data.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlTokenKind.Tag">
            <summary>
            An HTML tag token.
            </summary>
        </member>
        <member name="T:MimeKit.Text.HtmlUtils">
            <summary>
            A collection of HTML-related utility methods.
            </summary>
            <remarks>
            A collection of HTML-related utility methods.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlAttributeEncode(System.IO.TextWriter,System.ReadOnlySpan{System.Char},System.Char)">
            <summary>
            Encode an HTML attribute value.
            </summary>
            <remarks>
            Encodes an HTML attribute value.
            </remarks>
            <param name="output">The <see cref="T:System.IO.TextWriter"/> to output the result.</param>
            <param name="value">The attribute value to encode.</param>
            <param name="quote">The character to use for quoting the attribute value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="quote"/> is not a valid quote character.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlAttributeEncode(System.ReadOnlySpan{System.Char},System.Char)">
            <summary>
            Encode an HTML attribute value.
            </summary>
            <remarks>
            Encodes an HTML attribute value.
            </remarks>
            <returns>The encoded attribute value.</returns>
            <param name="value">The attribute value to encode.</param>
            <param name="quote">The character to use for quoting the attribute value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="quote"/> is not a valid quote character.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlAttributeEncode(System.IO.TextWriter,System.Char[],System.Int32,System.Int32,System.Char)">
            <summary>
            Encode an HTML attribute value.
            </summary>
            <remarks>
            Encodes an HTML attribute value.
            </remarks>
            <param name="output">The <see cref="T:System.IO.TextWriter"/> to output the result.</param>
            <param name="value">The attribute value to encode.</param>
            <param name="startIndex">The starting index of the attribute value.</param>
            <param name="count">The number of characters in the attribute value.</param>
            <param name="quote">The character to use for quoting the attribute value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the value.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="quote"/> is not a valid quote character.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlAttributeEncode(System.Char[],System.Int32,System.Int32,System.Char)">
            <summary>
            Encode an HTML attribute value.
            </summary>
            <remarks>
            Encodes an HTML attribute value.
            </remarks>
            <returns>The encoded attribute value.</returns>
            <param name="value">The attribute value to encode.</param>
            <param name="startIndex">The starting index of the attribute value.</param>
            <param name="count">The number of characters in the attribute value.</param>
            <param name="quote">The character to use for quoting the attribute value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the value.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="quote"/> is not a valid quote character.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlAttributeEncode(System.IO.TextWriter,System.String,System.Int32,System.Int32,System.Char)">
            <summary>
            Encode an HTML attribute value.
            </summary>
            <remarks>
            Encodes an HTML attribute value.
            </remarks>
            <param name="output">The <see cref="T:System.IO.TextWriter"/> to output the result.</param>
            <param name="value">The attribute value to encode.</param>
            <param name="startIndex">The starting index of the attribute value.</param>
            <param name="count">The number of characters in the attribute value.</param>
            <param name="quote">The character to use for quoting the attribute value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the value.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="quote"/> is not a valid quote character.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlAttributeEncode(System.String,System.Int32,System.Int32,System.Char)">
            <summary>
            Encode an HTML attribute value.
            </summary>
            <remarks>
            Encodes an HTML attribute value.
            </remarks>
            <returns>The encoded attribute value.</returns>
            <param name="value">The attribute value to encode.</param>
            <param name="startIndex">The starting index of the attribute value.</param>
            <param name="count">The number of characters in the attribute value.</param>
            <param name="quote">The character to use for quoting the attribute value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the value.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="quote"/> is not a valid quote character.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlAttributeEncode(System.IO.TextWriter,System.String,System.Char)">
            <summary>
            Encode an HTML attribute value.
            </summary>
            <remarks>
            Encodes an HTML attribute value.
            </remarks>
            <param name="output">The <see cref="T:System.IO.TextWriter"/> to output the result.</param>
            <param name="value">The attribute value to encode.</param>
            <param name="quote">The character to use for quoting the attribute value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="quote"/> is not a valid quote character.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlAttributeEncode(System.String,System.Char)">
            <summary>
            Encode an HTML attribute value.
            </summary>
            <remarks>
            Encodes an HTML attribute value.
            </remarks>
            <returns>The encoded attribute value.</returns>
            <param name="value">The attribute value to encode.</param>
            <param name="quote">The character to use for quoting the attribute value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="quote"/> is not a valid quote character.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlEncode(System.IO.TextWriter,System.ReadOnlySpan{System.Char})">
            <summary>
            Encode HTML character data.
            </summary>
            <remarks>
            Encodes HTML character data.
            </remarks>
            <param name="output">The <see cref="T:System.IO.TextWriter"/> to output the result.</param>
            <param name="data">The character data to encode.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="data"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlEncode(System.ReadOnlySpan{System.Char})">
            <summary>
            Encode HTML character data.
            </summary>
            <remarks>
            Encodes HTML character data.
            </remarks>
            <returns>The encoded character data.</returns>
            <param name="data">The character data to encode.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="data"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlEncode(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
            <summary>
            Encode HTML character data.
            </summary>
            <remarks>
            Encodes HTML character data.
            </remarks>
            <param name="output">The <see cref="T:System.IO.TextWriter"/> to output the result.</param>
            <param name="data">The character data to encode.</param>
            <param name="startIndex">The starting index of the character data.</param>
            <param name="count">The number of characters in the data.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="data"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the data.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlEncode(System.Char[],System.Int32,System.Int32)">
            <summary>
            Encode HTML character data.
            </summary>
            <remarks>
            Encodes HTML character data.
            </remarks>
            <returns>The encoded character data.</returns>
            <param name="data">The character data to encode.</param>
            <param name="startIndex">The starting index of the character data.</param>
            <param name="count">The number of characters in the data.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="data"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the data.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlEncode(System.IO.TextWriter,System.String,System.Int32,System.Int32)">
            <summary>
            Encode HTML character data.
            </summary>
            <remarks>
            Encodes HTML character data.
            </remarks>
            <param name="output">The <see cref="T:System.IO.TextWriter"/> to output the result.</param>
            <param name="data">The character data to encode.</param>
            <param name="startIndex">The starting index of the character data.</param>
            <param name="count">The number of characters in the data.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="data"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the data.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlEncode(System.String,System.Int32,System.Int32)">
            <summary>
            Encode HTML character data.
            </summary>
            <remarks>
            Encodes HTML character data.
            </remarks>
            <returns>The encoded character data.</returns>
            <param name="data">The character data to encode.</param>
            <param name="startIndex">The starting index of the character data.</param>
            <param name="count">The number of characters in the data.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="data"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the data.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlEncode(System.IO.TextWriter,System.String)">
            <summary>
            Encode HTML character data.
            </summary>
            <remarks>
            Encodes HTML character data.
            </remarks>
            <param name="output">The <see cref="T:System.IO.TextWriter"/> to output the result.</param>
            <param name="data">The character data to encode.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="data"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlEncode(System.String)">
            <summary>
            Encode HTML character data.
            </summary>
            <remarks>
            Encodes HTML character data.
            </remarks>
            <returns>The encoded character data.</returns>
            <param name="data">The character data to encode.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="data"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlDecode(System.IO.TextWriter,System.String,System.Int32,System.Int32)">
            <summary>
            Decode HTML character data.
            </summary>
            <remarks>
            Decodes HTML character data.
            </remarks>
            <param name="output">The <see cref="T:System.IO.TextWriter"/> to output the result.</param>
            <param name="data">The character data to decode.</param>
            <param name="startIndex">The starting index of the character data.</param>
            <param name="count">The number of characters in the data.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="data"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the data.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlDecode(System.IO.TextWriter,System.String)">
            <summary>
            Decode HTML character data.
            </summary>
            <remarks>
            Decodes HTML character data.
            </remarks>
            <param name="output">The <see cref="T:System.IO.TextWriter"/> to output the result.</param>
            <param name="data">The character data to decode.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="output"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="data"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlDecode(System.String,System.Int32,System.Int32)">
            <summary>
            Decode HTML character data.
            </summary>
            <remarks>
            Decodes HTML character data.
            </remarks>
            <returns>The decoded character data.</returns>
            <param name="data">The character data to decode.</param>
            <param name="startIndex">The starting index of the character data.</param>
            <param name="count">The number of characters in the data.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="data"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the data.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlUtils.HtmlDecode(System.String)">
            <summary>
            Decode HTML character data.
            </summary>
            <remarks>
            Decodes HTML character data.
            </remarks>
            <returns>The decoded character data.</returns>
            <param name="data">The character data to decode.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="data"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="T:MimeKit.Text.HtmlWriter">
            <summary>
            An HTML writer.
            </summary>
            <remarks>
            An HTML writer.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.#ctor(System.IO.Stream,System.Text.Encoding,System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlWriter"/> class.
            </summary>
            <remarks>
            <para>Initializes a new instance of the <see cref="T:MimeKit.Text.HtmlWriter"/> class for the specified stream
            by using the specified encoding and optionally leaves the stream open.</para>
            </remarks>
            <param name="stream">The output stream.</param>
            <param name="encoding">The encoding to use for the output.</param>
            <param name="leaveOpen"><see langword="true"/> if the <paramref name="stream"/> should be left open
            when this <see cref="T:MimeKit.Text.HtmlWriter"/> is disposed; otherwise, <see langword="false"/>.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.#ctor(System.IO.TextWriter,System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.HtmlWriter"/> class.
            </summary>
            <remarks>
            <para>Initializes a new instance of the <see cref="T:MimeKit.Text.HtmlWriter"/> class using the specified
            text writer, optionally leaving the text writer open.</para>
            </remarks>
            <param name="output">The output text writer.</param>
            <param name="leaveOpen"><see langword="true"/> if the <paramref name="output"/> should be left open
            when this <see cref="T:MimeKit.Text.HtmlWriter"/> is disposed; otherwise, <see langword="false"/>.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="output"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.Finalize">
            <summary>
            Release unmanaged resources and perform other cleanup operations before the
            <see cref="T:MimeKit.Text.HtmlWriter"/> is reclaimed by garbage collection.
            </summary>
            <remarks>
            Releases unmanaged resources and performs other cleanup operations before the
            <see cref="T:MimeKit.Text.HtmlWriter"/> is reclaimed by garbage collection.
            </remarks>
        </member>
        <member name="P:MimeKit.Text.HtmlWriter.WriterState">
            <summary>
            Get the current state of the writer.
            </summary>
            <remarks>
            Gets the current state of the writer.
            </remarks>
            <value>The state of the writer.</value>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteAttribute(MimeKit.Text.HtmlAttributeId,System.Char[],System.Int32,System.Int32)">
            <summary>
            Write the attribute to the output stream.
            </summary>
            <remarks>
            Writes the attribute to the output stream.
            </remarks>
            <param name="id">The attribute identifier.</param>
            <param name="buffer">A buffer containing the attribute value.</param>
            <param name="index">The starting index of the attribute value.</param>
            <param name="count">The number of characters in the attribute value.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="id"/> is not a valid HTML attribute identifier.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero or greater than the length of
            <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para><paramref name="index"/> and <paramref name="count"/> do not specify
            a valid range in the <paramref name="buffer"/>.</para>
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> is not in a state that allows writing attributes.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteAttribute(System.String,System.Char[],System.Int32,System.Int32)">
            <summary>
            Write the attribute to the output stream.
            </summary>
            <remarks>
            Writes the attribute to the output stream.
            </remarks>
            <param name="name">The attribute name.</param>
            <param name="buffer">A buffer containing the attribute value.</param>
            <param name="index">The starting index of the attribute value.</param>
            <param name="count">The number of characters in the attribute value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="buffer"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero or greater than the length of
            <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para><paramref name="index"/> and <paramref name="count"/> do not specify
            a valid range in the <paramref name="buffer"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is an invalid attribute name.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> is not in a state that allows writing attributes.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteAttribute(MimeKit.Text.HtmlAttributeId,System.String)">
            <summary>
            Write the attribute to the output stream.
            </summary>
            <remarks>
            Writes the attribute to the output stream.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <param name="id">The attribute identifier.</param>
            <param name="value">The attribute value.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="id"/> is not a valid HTML attribute identifier.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> is not in a state that allows writing attributes.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteAttribute(System.String,System.String)">
            <summary>
            Write the attribute to the output stream.
            </summary>
            <remarks>
            Writes the attribute to the output stream.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <param name="name">The attribute name.</param>
            <param name="value">The attribute value.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is an invalid attribute name.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> is not in a state that allows writing attributes.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteAttribute(MimeKit.Text.HtmlAttribute)">
            <summary>
            Write the attribute to the output stream.
            </summary>
            <remarks>
            Writes the attribute to the output stream.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <param name="attribute">The attribute.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="attribute"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> is not in a state that allows writing attributes.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteAttributeName(MimeKit.Text.HtmlAttributeId)">
            <summary>
            Write the attribute name to the output stream.
            </summary>
            <remarks>
            Writes the attribute name to the output stream.
            </remarks>
            <param name="id">The attribute identifier.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="id"/> is not a valid HTML attribute identifier.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> is not in a state that allows writing attributes.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteAttributeName(System.String)">
            <summary>
            Write the attribute name to the output stream.
            </summary>
            <remarks>
            Writes the attribute name to the output stream.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <param name="name">The attribute name.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is an invalid attribute name.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> is not in a state that allows writing attributes.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteAttributeValue(System.Char[],System.Int32,System.Int32)">
            <summary>
            Write the attribute value to the output stream.
            </summary>
            <remarks>
            Writes the attribute value to the output stream.
            </remarks>
            <param name="buffer">A buffer containing the attribute value.</param>
            <param name="index">The starting index of the attribute value.</param>
            <param name="count">The number of characters in the attribute value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero or greater than the length of
            <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para><paramref name="index"/> and <paramref name="count"/> do not specify
            a valid range in the <paramref name="buffer"/>.</para>
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> is not in a state that allows writing attribute values.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteAttributeValue(System.String)">
            <summary>
            Write the attribute value to the output stream.
            </summary>
            <remarks>
            Writes the attribute value to the output stream.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <param name="value">The attribute value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> is not in a state that allows writing attribute values.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteEmptyElementTag(MimeKit.Text.HtmlTagId)">
            <summary>
            Write an empty element tag.
            </summary>
            <remarks>
            Writes an empty element tag.
            </remarks>
            <param name="id">The HTML tag identifier.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="id"/> is not a valid HTML tag identifier.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteEmptyElementTag(System.String)">
            <summary>
            Write an empty element tag.
            </summary>
            <remarks>
            Writes an empty element tag.
            </remarks>
            <param name="name">The name of the HTML tag.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is not a valid HTML tag.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteEndTag(MimeKit.Text.HtmlTagId)">
            <summary>
            Write an end tag.
            </summary>
            <remarks>
            Writes an end tag.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <param name="id">The HTML tag identifier.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="id"/> is not a valid HTML tag identifier.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteEndTag(System.String)">
            <summary>
            Write an end tag.
            </summary>
            <remarks>
            Writes an end tag.
            </remarks>
            <param name="name">The name of the HTML tag.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is not a valid HTML tag.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteMarkupText(System.Char[],System.Int32,System.Int32)">
            <summary>
            Write a buffer containing HTML markup directly to the output, without escaping special characters.
            </summary>
            <remarks>
            Writes a buffer containing HTML markup directly to the output, without escaping special characters.
            </remarks>
            <param name="buffer">The buffer containing HTML markup.</param>
            <param name="index">The index of the first character to write.</param>
            <param name="count">The number of characters to write.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero or greater than the length of
            <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para><paramref name="index"/> and <paramref name="count"/> do not specify
            a valid range in the <paramref name="buffer"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteMarkupText(System.String)">
            <summary>
            Write a string containing HTML markup directly to the output, without escaping special characters.
            </summary>
            <remarks>
            Writes a string containing HTML markup directly to the output, without escaping special characters.
            </remarks>
            <param name="value">The string containing HTML markup.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteStartTag(MimeKit.Text.HtmlTagId)">
            <summary>
            Write a start tag.
            </summary>
            <remarks>
            Writes a start tag.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <param name="id">The HTML tag identifier.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="id"/> is not a valid HTML tag identifier.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteStartTag(System.String)">
            <summary>
            Write a start tag.
            </summary>
            <remarks>
            Writes a start tag.
            </remarks>
            <param name="name">The name of the HTML tag.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is not a valid HTML tag.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteText(System.Char[],System.Int32,System.Int32)">
            <summary>
            Write text to the output stream, escaping special characters.
            </summary>
            <remarks>
            Writes text to the output stream, escaping special characters.
            </remarks>
            <param name="buffer">The text buffer.</param>
            <param name="index">The index of the first character to write.</param>
            <param name="count">The number of characters to write.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero or greater than the length of
            <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para><paramref name="index"/> and <paramref name="count"/> do not specify
            a valid range in the <paramref name="buffer"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteText(System.String)">
            <summary>
            Write text to the output stream, escaping special characters.
            </summary>
            <remarks>
            Writes text to the output stream, escaping special characters.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <param name="value">The text.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteText(System.String,System.Object[])">
            <summary>
            Write text to the output stream, escaping special characters.
            </summary>
            <remarks>
            Writes text to the output stream, escaping special characters.
            </remarks>
            <param name="format">A composit format string.</param>
            <param name="args">An object array that contains zero or more objects to format.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="format"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="args"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.WriteToken(MimeKit.Text.HtmlToken)">
            <summary>
            Write a token to the output stream.
            </summary>
            <remarks>
            Writes a token that was emitted by the <see cref="T:MimeKit.Text.HtmlTokenizer"/>
            to the output stream.
            </remarks>
            <param name="token">The HTML token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="token"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.Flush">
            <summary>
            Flush any remaining state to the output stream.
            </summary>
            <remarks>
            Flushes any remaining state to the output stream.
            </remarks>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Text.HtmlWriter"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.Dispose(System.Boolean)">
            <summary>
            Release the unmanaged resources used by the <see cref="T:MimeKit.Text.HtmlWriter"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases any unmanaged resources used by the <see cref="T:MimeKit.Text.HtmlWriter"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="M:MimeKit.Text.HtmlWriter.Dispose">
            <summary>
            Release all resource used by the <see cref="T:MimeKit.Text.HtmlWriter"/> object.
            </summary>
            <remarks>Call <see cref="M:MimeKit.Text.HtmlWriter.Dispose"/> when you are finished using the <see cref="T:MimeKit.Text.HtmlWriter"/>. The
            <see cref="M:MimeKit.Text.HtmlWriter.Dispose"/> method leaves the <see cref="T:MimeKit.Text.HtmlWriter"/> in an unusable state. After calling
            <see cref="M:MimeKit.Text.HtmlWriter.Dispose"/>, you must release all references to the <see cref="T:MimeKit.Text.HtmlWriter"/> so the garbage
            collector can reclaim the memory that the <see cref="T:MimeKit.Text.HtmlWriter"/> was occupying.</remarks>
        </member>
        <member name="T:MimeKit.Text.HtmlWriterState">
            <summary>
            An enumeration of possible states of a <see cref="T:MimeKit.Text.HtmlWriter"/>.
            </summary>
            <remarks>
            An enumeration of possible states of a <see cref="T:MimeKit.Text.HtmlWriter"/>.
            </remarks>
        </member>
        <member name="F:MimeKit.Text.HtmlWriterState.Default">
            <summary>
            The <see cref="T:MimeKit.Text.HtmlWriter"/> is not within a tag. In this state, the <see cref="T:MimeKit.Text.HtmlWriter"/>
            can only write a tag or text.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlWriterState.Tag">
            <summary>
            The <see cref="T:MimeKit.Text.HtmlWriter"/> is inside a tag but has not started to write an attribute. In this
            state, the <see cref="T:MimeKit.Text.HtmlWriter"/> can write an attribute, another tag, or text.
            </summary>
        </member>
        <member name="F:MimeKit.Text.HtmlWriterState.Attribute">
            <summary>
            The <see cref="T:MimeKit.Text.HtmlWriter"/> is inside an attribute. In this state, the <see cref="T:MimeKit.Text.HtmlWriter"/>
            can append a value to the current attribute, start the next attribute, or write another tag or text.
            </summary>
        </member>
        <member name="T:MimeKit.Text.PlainTextPreviewer">
            <summary>
            A text previewer for plain text.
            </summary>
            <remarks>
            A text previewer for plain text.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.PlainTextPreviewer.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.PlainTextPreviewer"/> class.
            </summary>
            <remarks>
            Creates a new previewer for plain text.
            </remarks>
        </member>
        <member name="P:MimeKit.Text.PlainTextPreviewer.InputFormat">
            <summary>
            Get the input format.
            </summary>
            <remarks>
            Gets the input format.
            </remarks>
            <value>The input format.</value>
        </member>
        <member name="M:MimeKit.Text.PlainTextPreviewer.GetPreviewText(System.String)">
            <summary>
            Get a text preview of a string of text.
            </summary>
            <remarks>
            Gets a text preview of a string of text.
            </remarks>
            <param name="text">The original text.</param>
            <returns>A string representing a shortened preview of the original text.</returns>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Text.PlainTextPreviewer.GetPreviewText(System.IO.TextReader)">
            <summary>
            Get a text preview of a stream of text.
            </summary>
            <remarks>
            Gets a text preview of a stream of text.
            </remarks>
            <param name="reader">The original text stream.</param>
            <returns>A string representing a shortened preview of the original text.</returns>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="reader"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="T:MimeKit.Text.TextConverter">
            <summary>
            An abstract class for converting text from one format to another.
            </summary>
            <remarks>
            An abstract class for converting text from one format to another.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
        </member>
        <member name="M:MimeKit.Text.TextConverter.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.TextConverter"/> class.
            </summary>
            <remarks>
            Initialize a new instance of the <see cref="T:MimeKit.Text.TextConverter"/> class.
            </remarks>
        </member>
        <member name="P:MimeKit.Text.TextConverter.DetectEncodingFromByteOrderMark">
            <summary>
            Get or set whether the encoding of the input is detected from the byte order mark or
            determined by the <see cref="P:MimeKit.Text.TextConverter.InputEncoding"/> property.
            </summary>
            <remarks>
            Gets or sets whether the encoding of the input is detected from the byte order mark or
            determined by the <see cref="P:MimeKit.Text.TextConverter.InputEncoding"/> property.
            </remarks>
            <value><see langword="true" /> if detect encoding from byte order mark; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Text.TextConverter.InputEncoding">
            <summary>
            Get or set the input encoding.
            </summary>
            <remarks>
            Gets or sets the input encoding.
            </remarks>
            <value>The input encoding.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Text.TextConverter.InputFormat">
            <summary>
            Get the input format.
            </summary>
            <remarks>
            Gets the input format.
            </remarks>
            <value>The input format.</value>
        </member>
        <member name="P:MimeKit.Text.TextConverter.OutputEncoding">
            <summary>
            Get or set the output encoding.
            </summary>
            <remarks>
            Gets or sets the output encoding.
            </remarks>
            <value>The output encoding.</value>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Text.TextConverter.OutputFormat">
            <summary>
            Get the output format.
            </summary>
            <remarks>
            Gets the output format.
            </remarks>
            <value>The output format.</value>
        </member>
        <member name="P:MimeKit.Text.TextConverter.InputStreamBufferSize">
            <summary>
            Get or set the size of the input stream buffer.
            </summary>
            <remarks>
            Gets or sets the size of the input stream buffer.
            </remarks>
            <value>The size of the input stream buffer.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is less than or equal to <c>0</c>.
            </exception>
        </member>
        <member name="P:MimeKit.Text.TextConverter.OutputStreamBufferSize">
            <summary>
            Get or set the size of the output stream buffer.
            </summary>
            <remarks>
            Gets or sets the size of the output stream buffer.
            </remarks>
            <value>The size of the output stream buffer.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is less than or equal to <c>0</c>.
            </exception>
        </member>
        <member name="P:MimeKit.Text.TextConverter.Footer">
            <summary>
            Get or set the text that will be appended to the end of the output.
            </summary>
            <remarks>
            <para>Gets or sets the text that will be appended to the end of the output.</para>
            <para>The footer must be set before conversion begins.</para>
            </remarks>
            <value>The footer.</value>
        </member>
        <member name="P:MimeKit.Text.TextConverter.Header">
            <summary>
            Get or set text that will be prepended to the beginning of the output.
            </summary>
            <remarks>
            <para>Gets or sets the text that will be prepended to the beginning of the output.</para>
            <para>The header must be set before conversion begins.</para>
            </remarks>
            <value>The header.</value>
        </member>
        <member name="M:MimeKit.Text.TextConverter.Convert(System.IO.Stream,System.IO.Stream)">
            <summary>
            Convert the contents of <paramref name="source"/> from the <see cref="P:MimeKit.Text.TextConverter.InputFormat"/> to the
            <see cref="P:MimeKit.Text.TextConverter.OutputFormat"/> and writes the resulting text to <paramref name="destination"/>.
            </summary>
            <remarks>
            Converts the contents of <paramref name="source"/> from the <see cref="P:MimeKit.Text.TextConverter.InputFormat"/> to the
            <see cref="P:MimeKit.Text.TextConverter.OutputFormat"/> and writes the resulting text to <paramref name="destination"/>.
            </remarks>
            <param name="source">The source stream.</param>
            <param name="destination">The destination stream.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="source"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Text.TextConverter.Convert(System.IO.Stream,System.IO.TextWriter)">
            <summary>
            Convert the contents of <paramref name="source"/> from the <see cref="P:MimeKit.Text.TextConverter.InputFormat"/> to the
            <see cref="P:MimeKit.Text.TextConverter.OutputFormat"/> and uses the <paramref name="writer"/> to write the resulting text.
            </summary>
            <remarks>
            Converts the contents of <paramref name="source"/> from the <see cref="P:MimeKit.Text.TextConverter.InputFormat"/> to the
            <see cref="P:MimeKit.Text.TextConverter.OutputFormat"/> and uses the <paramref name="writer"/> to write the resulting text.
            </remarks>
            <param name="source">The source stream.</param>
            <param name="writer">The text writer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="source"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="writer"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Text.TextConverter.Convert(System.IO.TextReader,System.IO.Stream)">
            <summary>
            Convert the contents of <paramref name="reader"/> from the <see cref="P:MimeKit.Text.TextConverter.InputFormat"/> to the
            <see cref="P:MimeKit.Text.TextConverter.OutputFormat"/> and writes the resulting text to <paramref name="destination"/>.
            </summary>
            <remarks>
            Converts the contents of <paramref name="reader"/> from the <see cref="P:MimeKit.Text.TextConverter.InputFormat"/> to the
            <see cref="P:MimeKit.Text.TextConverter.OutputFormat"/> and writes the resulting text to <paramref name="destination"/>.
            </remarks>
            <param name="reader">The text reader.</param>
            <param name="destination">The destination stream.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="reader"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Text.TextConverter.Convert(System.IO.TextReader,System.IO.TextWriter)">
            <summary>
            Convert the contents of <paramref name="reader"/> from the <see cref="P:MimeKit.Text.TextConverter.InputFormat"/> to the
            <see cref="P:MimeKit.Text.TextConverter.OutputFormat"/> and uses the <paramref name="writer"/> to write the resulting text.
            </summary>
            <remarks>
            Converts the contents of <paramref name="reader"/> from the <see cref="P:MimeKit.Text.TextConverter.InputFormat"/> to the
            <see cref="P:MimeKit.Text.TextConverter.OutputFormat"/> and uses the <paramref name="writer"/> to write the resulting text.
            </remarks>
            <param name="reader">The text reader.</param>
            <param name="writer">The text writer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="reader"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="writer"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Text.TextConverter.Convert(System.String)">
            <summary>
            Convert text from the <see cref="P:MimeKit.Text.TextConverter.InputFormat"/> to the <see cref="P:MimeKit.Text.TextConverter.OutputFormat"/>.
            </summary>
            <remarks>
            Converts text from the <see cref="P:MimeKit.Text.TextConverter.InputFormat"/> to the <see cref="P:MimeKit.Text.TextConverter.OutputFormat"/>.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
            <returns>The converted text.</returns>
            <param name="text">The text to convert.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="T:MimeKit.Text.TextEncodingConfidence">
            <summary>
            An enumeration of text encoding confidences.
            </summary>
            <remarks>
            An enumeration of text encoding confidences.
            </remarks>
        </member>
        <member name="F:MimeKit.Text.TextEncodingConfidence.Undefined">
            <summary>
            The text encoding confidence is undefined.
            </summary>
        </member>
        <member name="F:MimeKit.Text.TextEncodingConfidence.Tentative">
            <summary>
            The text encoding confidence is tentative.
            </summary>
        </member>
        <member name="F:MimeKit.Text.TextEncodingConfidence.Certain">
            <summary>
            The text encoding confidence is certain.
            </summary>
        </member>
        <member name="F:MimeKit.Text.TextEncodingConfidence.Irrelevant">
            <summary>
            The text encoding confidence is irrelevant.
            </summary>
        </member>
        <member name="T:MimeKit.Text.TextFormat">
            <summary>
            An enumeration of text formats.
            </summary>
            <remarks>
            An enumeration of text formats.
            </remarks>
        </member>
        <member name="F:MimeKit.Text.TextFormat.Plain">
            <summary>
            The plain text format.
            </summary>
        </member>
        <member name="F:MimeKit.Text.TextFormat.Text">
            <summary>
            An alias for the plain text format.
            </summary>
        </member>
        <member name="F:MimeKit.Text.TextFormat.Flowed">
            <summary>
            The flowed text format (as described in rfc3676).
            </summary>
        </member>
        <member name="F:MimeKit.Text.TextFormat.Html">
            <summary>
            The HTML text format.
            </summary>
        </member>
        <member name="F:MimeKit.Text.TextFormat.Enriched">
            <summary>
            The enriched text format.
            </summary>
        </member>
        <member name="F:MimeKit.Text.TextFormat.CompressedRichText">
            <summary>
            The compressed rich text format.
            </summary>
        </member>
        <member name="F:MimeKit.Text.TextFormat.RichText">
            <summary>
            The rich text format.
            </summary>
        </member>
        <member name="T:MimeKit.Text.TextPreviewer">
            <summary>
            An abstract class for generating a text preview of a message.
            </summary>
            <remarks>
            An abstract class for generating a text preview of a message.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.TextPreviewer.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.TextPreviewer"/> class.
            </summary>
            <remarks>
            Initialize a new instance of the <see cref="T:MimeKit.Text.TextPreviewer"/> class.
            </remarks>
        </member>
        <member name="P:MimeKit.Text.TextPreviewer.InputFormat">
            <summary>
            Get the input format.
            </summary>
            <remarks>
            Gets the input format.
            </remarks>
            <value>The input format.</value>
        </member>
        <member name="P:MimeKit.Text.TextPreviewer.MaximumPreviewLength">
            <summary>
            Get or set the maximum text preview length.
            </summary>
            <remarks>
            <para>Gets or sets the maximum text preview length.</para>
            <para>The default value is <c>230</c> which is what the GMail web API seems to use.</para>
            </remarks>
            <value>The maximum text preview length.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value">is less than <c>1</c> or greater than <c>1024</c>.</paramref>
            </exception>
        </member>
        <member name="M:MimeKit.Text.TextPreviewer.GetPreviewText(MimeKit.TextPart)">
            <summary>
            Get a text preview of the text part.
            </summary>
            <remarks>
            Gets a text preview of the text part.
            </remarks>
            <param name="body">The text part.</param>
            <returns>A string representing a shortened preview of the original text.</returns>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="body"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Text.TextPreviewer.GetPreviewText(System.String)">
            <summary>
            Get a text preview of a string of text.
            </summary>
            <remarks>
            Gets a text preview of a string of text.
            </remarks>
            <param name="text">The original text.</param>
            <returns>A string representing a shortened preview of the original text.</returns>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Text.TextPreviewer.GetPreviewText(System.IO.Stream,System.String)">
            <summary>
            Get a text preview of a stream of text in the specified charset.
            </summary>
            <remarks>
            Get a text preview of a stream of text in the specified charset.
            </remarks>
            <param name="stream">The original text stream.</param>
            <param name="charset">The charset encoding of the stream.</param>
            <returns>A string representing a shortened preview of the original text.</returns>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Text.TextPreviewer.GetPreviewText(System.IO.Stream,System.Text.Encoding)">
            <summary>
            Get a text preview of a stream of text in the specified encoding.
            </summary>
            <remarks>
            Get a text preview of a stream of text in the specified encoding.
            </remarks>
            <param name="stream">The original text stream.</param>
            <param name="encoding">The encoding of the stream.</param>
            <returns>A string representing a shortened preview of the original text.</returns>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="encoding"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Text.TextPreviewer.GetPreviewText(System.IO.TextReader)">
            <summary>
            Get a text preview of a stream of text.
            </summary>
            <remarks>
            Gets a text preview of a stream of text.
            </remarks>
            <param name="reader">The original text stream.</param>
            <returns>A string representing a shortened preview of the original text.</returns>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="reader"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="T:MimeKit.Text.TextToFlowed">
            <summary>
            A text to flowed text converter.
            </summary>
            <remarks>
            <para>Wraps text to conform with the flowed text format described in rfc3676.</para>
            <para>The Content-Type header for the wrapped output text should be set to
            <c>text/plain; format=flowed; delsp=yes</c>.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.Text.TextToFlowed.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.TextToFlowed"/> class.
            </summary>
            <remarks>
            Creates a new text to flowed text converter.
            </remarks>
        </member>
        <member name="P:MimeKit.Text.TextToFlowed.InputFormat">
            <summary>
            Get the input format.
            </summary>
            <remarks>
            Gets the input format.
            </remarks>
            <value>The input format.</value>
        </member>
        <member name="P:MimeKit.Text.TextToFlowed.OutputFormat">
            <summary>
            Get the output format.
            </summary>
            <remarks>
            Gets the output format.
            </remarks>
            <value>The output format.</value>
        </member>
        <member name="M:MimeKit.Text.TextToFlowed.Convert(System.IO.TextReader,System.IO.TextWriter)">
            <summary>
            Convert the contents of <paramref name="reader"/> from the <see cref="P:MimeKit.Text.TextToFlowed.InputFormat"/> to the
            <see cref="P:MimeKit.Text.TextToFlowed.OutputFormat"/> and uses the <paramref name="writer"/> to write the resulting text.
            </summary>
            <remarks>
            Converts the contents of <paramref name="reader"/> from the <see cref="P:MimeKit.Text.TextToFlowed.InputFormat"/> to the
            <see cref="P:MimeKit.Text.TextToFlowed.OutputFormat"/> and uses the <paramref name="writer"/> to write the resulting text.
            </remarks>
            <param name="reader">The text reader.</param>
            <param name="writer">The text writer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="reader"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="writer"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="T:MimeKit.Text.TextToHtml">
            <summary>
            A text to HTML converter.
            </summary>
            <remarks>
            Used to convert plain text into HTML.
            </remarks>
            <example>
            <code language="c#" source="Examples\MimeVisitorExamples.cs" region="HtmlPreviewVisitor" />
            </example>
        </member>
        <member name="M:MimeKit.Text.TextToHtml.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.TextToHtml"/> class.
            </summary>
            <remarks>
            Creates a new text to HTML converter.
            </remarks>
        </member>
        <member name="P:MimeKit.Text.TextToHtml.InputFormat">
            <summary>
            Get the input format.
            </summary>
            <remarks>
            Gets the input format.
            </remarks>
            <value>The input format.</value>
        </member>
        <member name="P:MimeKit.Text.TextToHtml.OutputFormat">
            <summary>
            Get the output format.
            </summary>
            <remarks>
            Gets the output format.
            </remarks>
            <value>The output format.</value>
        </member>
        <member name="P:MimeKit.Text.TextToHtml.FooterFormat">
            <summary>
            Get or set the footer format.
            </summary>
            <remarks>
            Gets or sets the footer format.
            </remarks>
            <value>The footer format.</value>
        </member>
        <member name="P:MimeKit.Text.TextToHtml.HeaderFormat">
            <summary>
            Get or set the header format.
            </summary>
            <remarks>
            Gets or sets the header format.
            </remarks>
            <value>The header format.</value>
        </member>
        <member name="P:MimeKit.Text.TextToHtml.HtmlTagCallback">
            <summary>
            Get or set the <see cref="P:MimeKit.Text.TextToHtml.HtmlTagCallback"/> method to use for custom
            filtering of HTML tags and content.
            </summary>
            <remarks>
            Get or set the <see cref="P:MimeKit.Text.TextToHtml.HtmlTagCallback"/> method to use for custom
            filtering of HTML tags and content.
            </remarks>
            <value>The html tag callback.</value>
        </member>
        <member name="P:MimeKit.Text.TextToHtml.OutputHtmlFragment">
            <summary>
            Get or set whether the converter should only output an HTML fragment.
            </summary>
            <remarks>
            Gets or sets whether the converter should only output an entire
            HTML document or just a fragment of the HTML body content.
            </remarks>
            <value><see langword="true" /> if the converter should only output an HTML fragment; otherwise, <see langword="false" />.</value>
        </member>
        <member name="M:MimeKit.Text.TextToHtml.Convert(System.IO.TextReader,System.IO.TextWriter)">
            <summary>
            Convert the contents of <paramref name="reader"/> from the <see cref="P:MimeKit.Text.TextToHtml.InputFormat"/> to the
            <see cref="P:MimeKit.Text.TextToHtml.OutputFormat"/> and uses the <paramref name="writer"/> to write the resulting text.
            </summary>
            <remarks>
            Converts the contents of <paramref name="reader"/> from the <see cref="P:MimeKit.Text.TextToHtml.InputFormat"/> to the
            <see cref="P:MimeKit.Text.TextToHtml.OutputFormat"/> and uses the <paramref name="writer"/> to write the resulting text.
            </remarks>
            <param name="reader">The text reader.</param>
            <param name="writer">The text writer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="reader"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="writer"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="T:MimeKit.Text.TextToText">
            <summary>
            A text to text converter.
            </summary>
            <remarks>
            A text to text converter.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.TextToText.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.TextToText"/> class.
            </summary>
            <remarks>
            Creates a new text to text converter.
            </remarks>
        </member>
        <member name="P:MimeKit.Text.TextToText.InputFormat">
            <summary>
            Get the input format.
            </summary>
            <remarks>
            Gets the input format.
            </remarks>
            <value>The input format.</value>
        </member>
        <member name="P:MimeKit.Text.TextToText.OutputFormat">
            <summary>
            Get the output format.
            </summary>
            <remarks>
            Gets the output format.
            </remarks>
            <value>The output format.</value>
        </member>
        <member name="M:MimeKit.Text.TextToText.Convert(System.IO.TextReader,System.IO.TextWriter)">
            <summary>
            Convert the contents of <paramref name="reader"/> from the <see cref="P:MimeKit.Text.TextToText.InputFormat"/> to the
            <see cref="P:MimeKit.Text.TextToText.OutputFormat"/> and uses the <paramref name="writer"/> to write the resulting text.
            </summary>
            <remarks>
            Converts the contents of <paramref name="reader"/> from the <see cref="P:MimeKit.Text.TextToText.InputFormat"/> to the
            <see cref="P:MimeKit.Text.TextToText.OutputFormat"/> and uses the <paramref name="writer"/> to write the resulting text.
            </remarks>
            <param name="reader">The text reader.</param>
            <param name="writer">The text writer.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="reader"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="writer"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="T:MimeKit.Text.Trie">
            <summary>
            An Aho-Corasick Trie graph.
            </summary>
            <remarks>
            An Aho-Corasick Trie graph.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.Trie.#ctor(System.Boolean)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.Trie"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Text.Trie"/>.
            </remarks>
            <param name="ignoreCase"><see langword="true" /> if searching should ignore case; otherwise, <see langword="false" />.</param>
        </member>
        <member name="M:MimeKit.Text.Trie.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Text.Trie"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Text.Trie"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Text.Trie.Add(System.String)">
            <summary>
            Add a search pattern.
            </summary>
            <remarks>
            Adds the specified search pattern.
            </remarks>
            <param name="pattern">The search pattern.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="pattern"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="pattern"/> cannot be an empty string.
            </exception>
        </member>
        <member name="M:MimeKit.Text.Trie.Search(System.Char[],System.Int32,System.Int32,System.String@)">
            <summary>
            Search the text for any of the patterns added to the trie.
            </summary>
            <remarks>
            Searches the text for any of the patterns added to the trie.
            </remarks>
            <returns>The first index of a matched pattern if successful; otherwise, <c>-1</c>.</returns>
            <param name="text">The text to search.</param>
            <param name="startIndex">The starting index of the text.</param>
            <param name="count">The number of characters to search, starting at <paramref name="startIndex"/>.</param>
            <param name="pattern">The pattern that was matched.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the <paramref name="text"/> string.
            </exception>
        </member>
        <member name="M:MimeKit.Text.Trie.Search(System.Char[],System.Int32,System.String@)">
            <summary>
            Search the text for any of the patterns added to the trie.
            </summary>
            <remarks>
            Searches the text for any of the patterns added to the trie.
            </remarks>
            <returns>The first index of a matched pattern if successful; otherwise, <c>-1</c>.</returns>
            <param name="text">The text to search.</param>
            <param name="startIndex">The starting index of the text.</param>
            <param name="pattern">The pattern that was matched.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is out of range.
            </exception>
        </member>
        <member name="M:MimeKit.Text.Trie.Search(System.Char[],System.String@)">
            <summary>
            Search the text for any of the patterns added to the trie.
            </summary>
            <remarks>
            Searches the text for any of the patterns added to the trie.
            </remarks>
            <returns>The first index of a matched pattern if successful; otherwise, <c>-1</c>.</returns>
            <param name="text">The text to search.</param>
            <param name="pattern">The pattern that was matched.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="T:MimeKit.Tnef.ITnefPart">
            <summary>
            An interface for a MIME part containing Microsoft TNEF data.
            </summary>
            <remarks>
            <para>Represents an application/ms-tnef or application/vnd.ms-tnef part.</para>
            <para>TNEF (Transport Neutral Encapsulation Format) attachments are most often
            sent by Microsoft Outlook clients.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.Tnef.ITnefPart.ConvertToMessage">
            <summary>
            Convert the TNEF content into a <see cref="T:MimeKit.MimeMessage"/>.
            </summary>
            <remarks>
            TNEF data often contains properties that map to <see cref="T:MimeKit.MimeMessage"/>
            headers. TNEF data also often contains file attachments which will be
            mapped to MIME parts.
            </remarks>
            <returns>A message representing the TNEF data in MIME format.</returns>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="P:MimeKit.IMimePart.Content"/> property is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Tnef.ITnefPart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.ITnefPart.ExtractAttachments">
            <summary>
            Extract the embedded attachments from the TNEF data.
            </summary>
            <remarks>
            Parses the TNEF data and extracts all the embedded file attachments.
            </remarks>
            <returns>The attachments.</returns>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="P:MimeKit.IMimePart.Content"/> property is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Tnef.ITnefPart"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.Tnef.RtfCompressedToRtf">
            <summary>
            A filter to decompress a compressed RTF stream.
            </summary>
            <remarks>
            Used to decompress a compressed RTF stream.
            </remarks>
        </member>
        <member name="M:MimeKit.Tnef.RtfCompressedToRtf.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Tnef.RtfCompressedToRtf"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Tnef.RtfCompressedToRtf"/> converter filter.
            </remarks>
        </member>
        <member name="P:MimeKit.Tnef.RtfCompressedToRtf.CompressionMode">
            <summary>
            Get the compression mode.
            </summary>
            <remarks>
            At least 12 bytes from the stream must be processed before this property value will
            be accurate.
            </remarks>
            <value>The compression mode.</value>
        </member>
        <member name="P:MimeKit.Tnef.RtfCompressedToRtf.IsValidCrc32">
            <summary>
            Get a value indicating whether the crc32 is valid.
            </summary>
            <remarks>
            Until all data has been processed, this property will always return <see langword="false" />.
            </remarks>
            <value><see langword="true" /> if the crc32 is valid; otherwise, <see langword="false" />.</value>
        </member>
        <member name="M:MimeKit.Tnef.RtfCompressedToRtf.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Filter the specified input.
            </summary>
            <remarks>Filters the specified input buffer starting at the given index,
            spanning across the specified number of bytes.</remarks>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">Length.</param>
            <param name="outputIndex">Output index.</param>
            <param name="outputLength">Output length.</param>
            <param name="flush">If set to <see langword="true" /> flush.</param>
        </member>
        <member name="M:MimeKit.Tnef.RtfCompressedToRtf.Reset">
            <summary>
            Reset the filter.
            </summary>
            <remarks>
            Resets the filter.
            </remarks>
        </member>
        <member name="T:MimeKit.Tnef.RtfCompressionMode">
            <summary>
            A RTF compression mode.
            </summary>
            <remarks>
            A RTF compression mode.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.RtfCompressionMode.Unknown">
            <summary>
            The compression mode is not known.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.RtfCompressionMode.Uncompressed">
            <summary>
            The RTF stream is not compressed.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.RtfCompressionMode.Compressed">
            <summary>
            The RTF stream is compressed.
            </summary>
        </member>
        <member name="T:MimeKit.Tnef.TnefAttachFlags">
            <summary>
            The TNEF attach flags.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.Tnef.TnefAttachFlags"/> enum contains a list of possible values for
            the <see cref="F:MimeKit.Tnef.TnefPropertyId.AttachFlags"/> property.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttachFlags.None">
            <summary>
            No AttachFlags set.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttachFlags.InvisibleInHtml">
            <summary>
            The attachment is invisible in HTML bodies.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttachFlags.InvisibleInRtf">
            <summary>
            The attachment is invisible in RTF bodies.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttachFlags.RenderedInBody">
            <summary>
            The attachment is referenced (and rendered) by the HTML body.
            </summary>
        </member>
        <member name="T:MimeKit.Tnef.TnefAttachMethod">
            <summary>
            The TNEF attach method.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.Tnef.TnefAttachMethod"/> enum contains a list of possible values for
            the <see cref="F:MimeKit.Tnef.TnefPropertyId.AttachMethod"/> property.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttachMethod.None">
            <summary>
            No AttachMethod specified.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttachMethod.ByValue">
            <summary>
            The attachment is a binary blob and SHOULD appear in the
            <see cref="F:MimeKit.Tnef.TnefAttributeTag.AttachData"/> attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttachMethod.EmbeddedMessage">
            <summary>
            The attachment is an embedded TNEF message stream and MUST appear
            in the <see cref="F:MimeKit.Tnef.TnefPropertyId.AttachData"/> property of the
            <see cref="F:MimeKit.Tnef.TnefAttributeTag.Attachment"/> attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttachMethod.Ole">
            <summary>
            The attachment is an OLE stream and MUST appear
            in the <see cref="F:MimeKit.Tnef.TnefPropertyId.AttachData"/> property of the
            <see cref="F:MimeKit.Tnef.TnefAttributeTag.Attachment"/> attribute.
            </summary>
        </member>
        <member name="T:MimeKit.Tnef.TnefAttributeLevel">
            <summary>
            A TNEF attribute level.
            </summary>
            <remarks>
            A TNEF attribute level.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeLevel.Message">
            <summary>
            The attribute is a message-level attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeLevel.Attachment">
            <summary>
            The attribute is an attachment-level attribute.
            </summary>
        </member>
        <member name="T:MimeKit.Tnef.TnefAttributeTag">
            <summary>
            A TNEF attribute tag.
            </summary>
            <remarks>
            A TNEF attribute tag.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.Null">
            <summary>
            A Null TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.Owner">
            <summary>
            The Owner TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.SentFor">
            <summary>
            The SentFor TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.Delegate">
            <summary>
            The Delegate TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.OriginalMessageClass">
            <summary>
            The OriginalMessageClass TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.DateStart">
            <summary>
            The DateStart TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.DateEnd">
            <summary>
            The DateEnd TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.AidOwner">
            <summary>
            The AidOwner TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.RequestResponse">
            <summary>
            The RequestResponse TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.From">
            <summary>
            The From TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.Subject">
            <summary>
            The Subject TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.DateSent">
            <summary>
            The DateSent TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.DateReceived">
            <summary>
            The DateReceived TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.MessageStatus">
            <summary>
            The MessageStatus TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.MessageClass">
            <summary>
            The MessageClass TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.MessageId">
            <summary>
            The MessageId TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.ParentId">
            <summary>
            The ParentId TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.ConversationId">
            <summary>
            The ConversationId TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.Body">
            <summary>
            The Body TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.Priority">
            <summary>
            The Priority TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.AttachData">
            <summary>
            The AttachData TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.AttachTitle">
            <summary>
            The AttachTitle TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.AttachMetaFile">
            <summary>
            The AttachMetaFile TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.AttachCreateDate">
            <summary>
            The AttachCreateDate TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.AttachModifyDate">
            <summary>
            The AttachModifyDate TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.DateModified">
            <summary>
            The DateModified TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.AttachTransportFilename">
            <summary>
            The AttachTransportFilename TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.AttachRenderData">
            <summary>
            The AttachRenderData TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.MapiProperties">
            <summary>
            The MapiProperties TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.RecipientTable">
            <summary>
            The RecipientTable TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.Attachment">
            <summary>
            The Attachment TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.TnefVersion">
            <summary>
            The TnefVersion TNEF attribute.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefAttributeTag.OemCodepage">
            <summary>
            The OemCodepage TNEF attribute.
            </summary>
        </member>
        <member name="T:MimeKit.Tnef.TnefComplianceMode">
            <summary>
            A TNEF compliance mode.
            </summary>
            <remarks>
            A TNEF compliance mode.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceMode.Loose">
            <summary>
            Use a loose compliance mode, attempting to ignore invalid or corrupt data.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceMode.Strict">
            <summary>
            Use a very strict compliance mode, aborting the parser at the first sign of
            invalid or corrupted data.
            </summary>
        </member>
        <member name="T:MimeKit.Tnef.TnefComplianceStatus">
            <summary>
            A bitfield of potential TNEF compliance issues.
            </summary>
            <remarks>
            A bitfield of potential TNEF compliance issues.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceStatus.Compliant">
            <summary>
            The TNEF stream has no errors.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceStatus.AttributeOverflow">
            <summary>
            The TNEF stream has too many attributes.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceStatus.InvalidAttribute">
            <summary>
            The TNEF stream has one or more invalid attributes.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceStatus.InvalidAttributeChecksum">
            <summary>
            The TNEF stream has one or more attributes with invalid checksums.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceStatus.InvalidAttributeLength">
            <summary>
            The TNEF stream has one or more attributes with an invalid length.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceStatus.InvalidAttributeLevel">
            <summary>
            The TNEF stream has one or more attributes with an invalid level.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceStatus.InvalidAttributeValue">
            <summary>
            The TNEF stream has one or more attributes with an invalid value.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceStatus.InvalidDate">
            <summary>
            The TNEF stream has one or more attributes with an invalid date value.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceStatus.InvalidMessageClass">
            <summary>
            The TNEF stream has one or more invalid MessageClass attributes.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceStatus.InvalidMessageCodepage">
            <summary>
            The TNEF stream has one or more invalid MessageCodepage attributes.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceStatus.InvalidPropertyLength">
            <summary>
            The TNEF stream has one or more invalid property lengths.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceStatus.InvalidRowCount">
            <summary>
            The TNEF stream has one or more invalid row counts.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceStatus.InvalidTnefSignature">
            <summary>
            The TNEF stream has an invalid signature value.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceStatus.InvalidTnefVersion">
            <summary>
            The TNEF stream has an invalid version value.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceStatus.NestingTooDeep">
            <summary>
            The TNEF stream is nested too deeply.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceStatus.StreamTruncated">
            <summary>
            The TNEF stream is truncated.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefComplianceStatus.UnsupportedPropertyType">
            <summary>
            The TNEF stream has one or more unsupported property types.
            </summary>
        </member>
        <member name="T:MimeKit.Tnef.TnefException">
            <summary>
            A TNEF exception.
            </summary>
            <remarks>
            A <see cref="T:MimeKit.Tnef.TnefException"/> occurs when a TNEF stream is found to be
            corrupted and cannot be read any further.
            </remarks>
        </member>
        <member name="M:MimeKit.Tnef.TnefException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Tnef.TnefException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Tnef.TnefException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The stream context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefException.#ctor(MimeKit.Tnef.TnefComplianceStatus,System.String,System.Exception)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Tnef.TnefException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Tnef.TnefException"/>.
            </remarks>
            <param name="error">The compliance status error.</param>
            <param name="message">The error message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:MimeKit.Tnef.TnefException.#ctor(MimeKit.Tnef.TnefComplianceStatus,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Tnef.TnefException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Tnef.TnefException"/>.
            </remarks>
            <param name="error">The compliance status error.</param>
            <param name="message">The error message.</param>
        </member>
        <member name="M:MimeKit.Tnef.TnefException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            with information about the exception.
            </summary>
            <remarks>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            with information about the exception.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:MimeKit.Tnef.TnefException.Error">
            <summary>
            Get the error.
            </summary>
            <remarks>
            Gets the error.
            </remarks>
            <value>The error.</value>
        </member>
        <member name="T:MimeKit.Tnef.TnefNameId">
            <summary>
            A TNEF name identifier.
            </summary>
            <remarks>
            A TNEF name identifier.
            </remarks>
        </member>
        <member name="P:MimeKit.Tnef.TnefNameId.PropertySetGuid">
            <summary>
            Get the property set GUID.
            </summary>
            <remarks>
            Gets the property set GUID.
            </remarks>
            <value>The property set GUID.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefNameId.Kind">
            <summary>
            Get the kind of TNEF name identifier.
            </summary>
            <remarks>
            Gets the kind of TNEF name identifier.
            </remarks>
            <value>The kind of identifier.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefNameId.Name">
            <summary>
            Get the name, if available.
            </summary>
            <remarks>
            If the <see cref="P:MimeKit.Tnef.TnefNameId.Kind"/> is <see cref="F:MimeKit.Tnef.TnefNameIdKind.Name"/>, then this property will be available.
            </remarks>
            <value>The name.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefNameId.Id">
            <summary>
            Get the identifier, if available.
            </summary>
            <remarks>
            If the <see cref="P:MimeKit.Tnef.TnefNameId.Kind"/> is <see cref="F:MimeKit.Tnef.TnefNameIdKind.Id"/>, then this property will be available.
            </remarks>
            <value>The identifier.</value>
        </member>
        <member name="M:MimeKit.Tnef.TnefNameId.#ctor(System.Guid,System.Int32)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Tnef.TnefNameId"/> struct.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Tnef.TnefNameId"/> with the specified integer identifier.
            </remarks>
            <param name="propertySetGuid">The property set GUID.</param>
            <param name="id">The identifier.</param>
        </member>
        <member name="M:MimeKit.Tnef.TnefNameId.#ctor(System.Guid,System.String)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Tnef.TnefNameId"/> struct.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Tnef.TnefNameId"/> with the specified string identifier.
            </remarks>
            <param name="propertySetGuid">The property set GUID.</param>
            <param name="name">The name.</param>
        </member>
        <member name="M:MimeKit.Tnef.TnefNameId.GetHashCode">
            <summary>
            Serves as a hash function for a <see cref="T:MimeKit.Tnef.TnefNameId"/> object.
            </summary>
            <remarks>
            Serves as a hash function for a <see cref="T:MimeKit.Tnef.TnefNameId"/> object.
            </remarks>
            <returns>A hash code for this instance that is suitable for use in hashing algorithms
            and data structures such as a hash table.</returns>
        </member>
        <member name="M:MimeKit.Tnef.TnefNameId.Equals(System.Object)">
            <summary>
            Determine whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:MimeKit.Tnef.TnefNameId"/>.
            </summary>
            <remarks>
            Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:MimeKit.Tnef.TnefNameId"/>.
            </remarks>
            <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:MimeKit.Tnef.TnefNameId"/>.</param>
            <returns><see langword="true" /> if the specified <see cref="T:System.Object"/> is equal to the current
            <see cref="T:MimeKit.Tnef.TnefNameId"/>; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.Tnef.TnefNameId.Equals(MimeKit.Tnef.TnefNameId)">
            <summary>
            Determine whether the specified <see cref="T:MimeKit.Tnef.TnefNameId"/> is equal to the current <see cref="T:MimeKit.Tnef.TnefNameId"/>.
            </summary>
            <remarks>
            Compares two TNEF name identifiers to determine if they are identical or not.
            </remarks>
            <param name="other">The <see cref="T:MimeKit.Tnef.TnefNameId"/> to compare with the current <see cref="T:MimeKit.Tnef.TnefNameId"/>.</param>
            <returns><see langword="true" /> if the specified <see cref="T:MimeKit.Tnef.TnefNameId"/> is equal to the current
            <see cref="T:MimeKit.Tnef.TnefNameId"/>; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.Tnef.TnefNameId.op_Equality(MimeKit.Tnef.TnefNameId,MimeKit.Tnef.TnefNameId)">
            <summary>
            Compare two <see cref="T:MimeKit.Tnef.TnefNameId"/> objects for equality.
            </summary>
            <remarks>
            Compares two <see cref="T:MimeKit.Tnef.TnefNameId"/> objects for equality.
            </remarks>
            <param name="left">The first object to compare.</param>
            <param name="right">The second object to compare.</param>
            <returns><see langword="true" /> if <paramref name="left"/> and <paramref name="right"/> are equal; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.Tnef.TnefNameId.op_Inequality(MimeKit.Tnef.TnefNameId,MimeKit.Tnef.TnefNameId)">
            <summary>
            Compare two <see cref="T:MimeKit.Tnef.TnefNameId"/> objects for inequality.
            </summary>
            <remarks>
            Compares two <see cref="T:MimeKit.Tnef.TnefNameId"/> objects for inequality.
            </remarks>
            <param name="left">The first object to compare.</param>
            <param name="right">The second object to compare.</param>
            <returns><see langword="true" /> if <paramref name="left"/> and <paramref name="right"/> are unequal; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="T:MimeKit.Tnef.TnefNameIdKind">
            <summary>
            The kind of TNEF name identifier.
            </summary>
            <remarks>
            The kind of TNEF name identifier.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefNameIdKind.Id">
            <summary>
            The property name is an integer.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefNameIdKind.Name">
            <summary>
            The property name is a string.
            </summary>
        </member>
        <member name="T:MimeKit.Tnef.TnefPart">
            <summary>
            A MIME part containing Microsoft TNEF data.
            </summary>
            <remarks>
            <para>Represents an application/ms-tnef or application/vnd.ms-tnef part.</para>
            <para>TNEF (Transport Neutral Encapsulation Format) attachments are most often
            sent by Microsoft Outlook clients.</para>
            </remarks>
        </member>
        <member name="M:MimeKit.Tnef.TnefPart.#ctor(MimeKit.MimeEntityConstructorArgs)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Tnef.TnefPart"/> class.
            </summary>
            <remarks>
            This constructor is used by <see cref="T:MimeKit.MimeParser"/>.
            </remarks>
            <param name="args">Information used by the constructor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPart.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Tnef.TnefPart"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Tnef.TnefPart"/> with a Content-Type of application/vnd.ms-tnef
            and a Content-Disposition value of "attachment" and a filename paremeter with a
            value of "winmail.dat".
            </remarks>
        </member>
        <member name="M:MimeKit.Tnef.TnefPart.Accept(MimeKit.MimeVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME entity.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MimeKit.Tnef.TnefPart"/> nodes
            calls <see cref="M:MimeKit.MimeVisitor.VisitTnefPart(MimeKit.Tnef.TnefPart)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MimeKit.MimeVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MimeKit.MimeVisitor.VisitTnefPart(MimeKit.Tnef.TnefPart)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Tnef.TnefPart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPart.ConvertToMessage">
            <summary>
            Convert the TNEF content into a <see cref="T:MimeKit.MimeMessage"/>.
            </summary>
            <remarks>
            TNEF data often contains properties that map to <see cref="T:MimeKit.MimeMessage"/>
            headers. TNEF data also often contains file attachments which will be
            mapped to MIME parts.
            </remarks>
            <returns>A message representing the TNEF data in MIME format.</returns>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="P:MimeKit.MimePart.Content"/> property is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Tnef.TnefPart"/> has been disposed.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPart.ExtractAttachments">
            <summary>
            Extract the embedded attachments from the TNEF data.
            </summary>
            <remarks>
            Parses the TNEF data and extracts all the embedded file attachments.
            </remarks>
            <returns>The attachments.</returns>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="P:MimeKit.MimePart.Content"/> property is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MimeKit.Tnef.TnefPart"/> has been disposed.
            </exception>
        </member>
        <member name="T:MimeKit.Tnef.TnefPropertyId">
            <summary>
            A TNEF property identifier.
            </summary>
            <remarks>
            A TNEF property identifier.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AbDefaultDir">
            <summary>
            The MAPI property PR_AB_DEFAULT_DIR.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AbDefaultPab">
            <summary>
            The MAPI property PR_AB_DEFAULT_PAB.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AbProviderId">
            <summary>
            The MAPI property PR_AB_PROVIDER_ID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AbProviders">
            <summary>
            The MAPI property PR_AB_PROVIDERS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AbSearchPath">
            <summary>
            The MAPI property PR_AB_SEARCH_PATH.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AbSearchPathUpdate">
            <summary>
            The MAPI property PR_AB_SEARCH_PATH_UPDATE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Access">
            <summary>
            The MAPI property PR_ACCESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AccessLevel">
            <summary>
            The MAPI property PR_ACCESS_LEVEL.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Account">
            <summary>
            The MAPI property PR_ACCOUNT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AcknowledgementMode">
            <summary>
            The MAPI property PR_ACKNOWLEDGEMENT_MODE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Addrtype">
            <summary>
            The MAPI property PR_ADDRTYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AlternateRecipient">
            <summary>
            The MAPI property PR_ALTERNATE_RECIPIENT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AlternateRecipientAllowed">
            <summary>
            The MAPI property PR_ALTERNATE_RECIPIENT_ALLOWED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Anr">
            <summary>
            The MAPI property PR_ANR.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Assistant">
            <summary>
            The MAPI property PR_ASSISTANT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AssistantTelephoneNumber">
            <summary>
            The MAPI property PR_ASSISTANT_TELEPHONE_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AssocContentCount">
            <summary>
            The MAPI property PR_ASSOC_CONTENT_COUNT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachAdditionalInfo">
            <summary>
            The MAPI property PR_ATTACH_ADDITIONAL_INFO.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachContentBase">
            <summary>
            The MAPI property PR_ATTACH_CONTENT_BASE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachContentId">
            <summary>
            The MAPI property PR_ATTACH_CONTENT_ID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachContentLocation">
            <summary>
            The MAPI property PR_ATTACH_CONTENT_LOCATION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachData">
            <summary>
            The MAPI property PR_ATTACH_DATA_BIN or PR_ATTACH_DATA_OBJ.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachDisposition">
            <summary>
            The MAPI property PR_ATTACH_DISPOSITION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachEncoding">
            <summary>
            The MAPI property PR_ATTACH_ENCODING.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachExtension">
            <summary>
            The MAPI property PR_ATTACH_EXTENSION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachFilename">
            <summary>
            The MAPI property PR_ATTACH_FILENAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachFlags">
            <summary>
            The MAPI property PR_ATTACH_FLAGS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachLongFilename">
            <summary>
            The MAPI property PR_ATTACH_LONG_FILENAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachLongPathname">
            <summary>
            The MAPI property PR_ATTACH_LONG_PATHNAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachmentContactPhoto">
            <summary>
            The MAPI property PR_ATTACHMENT_CONTACTPHOTO.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachmentFlags">
            <summary>
            The MAPI property PR_ATTACHMENT_FLAGS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachmentHidden">
            <summary>
            The MAPI property PR_ATTACHMENT_HIDDEN.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachmentLinkId">
            <summary>
            The MAPI property PR_ATTACHMENT_LINKID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachmentX400Parameters">
            <summary>
            The MAPI property PR_ATTACHMENT_X400_PARAMETERS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachMethod">
            <summary>
            The MAPI property PR_ATTACH_METHOD.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachMimeSequence">
            <summary>
            The MAPI property PR_ATTACH_MIME_SEQUENCE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachMimeTag">
            <summary>
            The MAPI property PR_ATTACH_MIME_TAG.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachNetscapeMacInfo">
            <summary>
            The MAPI property PR_ATTACH_NETSCAPE_MAC_INFO.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachNum">
            <summary>
            The MAPI property PR_ATTACH_NUM.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachPathname">
            <summary>
            The MAPI property PR_ATTACH_PATHNAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachRendering">
            <summary>
            The MAPI property PR_ATTACH_RENDERING.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachSize">
            <summary>
            The MAPI property PR_ATTACH_SIZE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachTag">
            <summary>
            The MAPI property PR_ATTACH_TAG.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AttachTransportName">
            <summary>
            The MAPI property PR_ATTACH_TRANSPORT_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AuthorizingUsers">
            <summary>
            The MAPI property PR_AUTHORIZING_USERS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AutoForwarded">
            <summary>
            The MAPI property PR_AUTO_FORWARDED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AutoForwardingComment">
            <summary>
            The MAPI property PR_AUTO_FORWARDING_COMMENT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.AutoResponseSuppress">
            <summary>
            The MAPI property PR_AUTO_RESPONSE_SUPPRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.BeeperTelephoneNumber">
            <summary>
            The MAPI property PR_BEEPER_TELEPHONE_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Birthday">
            <summary>
            The MAPI property PR_BIRTHDAY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Body">
            <summary>
            The MAPI property PR_BODY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.BodyContentId">
            <summary>
            The MAPI property PR_BODY_CONTENT_ID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.BodyContentLocation">
            <summary>
            The MAPI property PR_BODY_CONTENT_LOCATION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.BodyCrc">
            <summary>
            The MAPI property PR_BODY_CRC.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.BodyHtml">
            <summary>
            The MAPI property PR_BODY_HTML.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Business2TelephoneNumber">
            <summary>
            The MAPI property PR_BUSINESS2_TELEPHONE_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.BusinessAddressCity">
            <summary>
            The MAPI property PR_BUSINESS_ADDRESS_CITY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.BusinessAddressCountry">
            <summary>
            The MAPI property PR_BUSINESS_ADDRESS_COUNTRY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.BusinessAddressPostalCode">
            <summary>
            The MAPI property PR_BUSINESS_ADDRESS_POSTAL_CODE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.BusinessAddressPostOfficeBox">
            <summary>
            The MAPI property PR_BUSINESS_ADDRESS_POST_OFFICE_BOX.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.BusinessAddressStateOrProvince">
            <summary>
            The MAPI property PR_BUSINESS_ADDRESS_STATE_OR_PROVINCE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.BusinessAddressStreet">
            <summary>
            The MAPI property PR_BUSINESS_ADDRESS_STREET.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.BusinessFaxNumber">
            <summary>
            The MAPI property PR_BUSINESS_FAX_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.BusinessHomePage">
            <summary>
            The MAPI property PR_BUSINESS_HOME_PAGE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.CallbackTelephoneNumber">
            <summary>
            The MAPI property PR_CALLBACK_TELEPHONE_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.CarTelephoneNumber">
            <summary>
            The MAPI property PR_CAR_TELEPHONE_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.CellularTelephoneNumber">
            <summary>
            The MAPI property PR_CELLULAR_TELEPHONE_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ChildrensNames">
            <summary>
            The MAPI property PR_CHILDRENS_NAMES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ClientSubmitTime">
            <summary>
            The MAPI property PR_CLIENT_SUBMIT_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Comment">
            <summary>
            The MAPI property PR_COMMENT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.CommonViewsEntryId">
            <summary>
            The MAPI property PR_COMMON_VIEWS_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.CompanyMainPhoneNumber">
            <summary>
            The MAPI property PR_COMPANY_MAIN_PHONE_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.CompanyName">
            <summary>
            The MAPI property PR_COMPANY_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ComputerNetworkName">
            <summary>
            The MAPI property PR_COMPUTER_NETWORK_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContactAddrtypes">
            <summary>
            The MAPI property PR_CONTACT_ADDRTYPES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContactDefaultAddressIndex">
            <summary>
            The MAPI property PR_CONTACT_DEFAULT_ADDRESS_INDEX.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContactEmailAddresses">
            <summary>
            The MAPI property PR_CONTACT_EMAIL_ADDRESSES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContactEntryIds">
            <summary>
            The MAPI property PR_CONTACT_ENTRYIDS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContactVersion">
            <summary>
            The MAPI property PR_CONTACT_VERSION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContainerClass">
            <summary>
            The MAPI property PR_CONTAINER_CLASS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContainerContents">
            <summary>
            The MAPI property PR_CONTAINER_CONTENTS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContainerFlags">
            <summary>
            The MAPI property PR_CONTAINER_FLAGS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContainerHierarchy">
            <summary>
            The MAPI property PR_CONTAINER_HIERARCHY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContainerModifyVersion">
            <summary>
            The MAPI property PR_CONTAINER_MODIFY_VERSION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContentConfidentialityAlgorithmId">
            <summary>
            The MAPI property PR_CONTENT_CONFIDENTIALITY_ALGORITHM_ID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContentCorrelator">
            <summary>
            The MAPI property PR_CONTENT_CORRELATOR.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContentCount">
            <summary>
            The MAPI property PR_CONTENT_COUNT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContentIdentifier">
            <summary>
            The MAPI property PR_CONTENT_IDENTIFIER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContentIntegrityCheck">
            <summary>
            The MAPI property PR_CONTENT_INTEGRITY_CHECK.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContentLength">
            <summary>
            The MAPI property PR_CONTENT_LENGTH.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContentReturnRequested">
            <summary>
            The MAPI property PR_CONTENT_RETURN_REQUESTED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContentsSortOrder">
            <summary>
            The MAPI property PR_CONTENTS_SORT_ORDER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ContentUnread">
            <summary>
            The MAPI property PR_CONTENT_UNREAD.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ControlFlags">
            <summary>
            The MAPI property PR_CONTROL_FLAGS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ControlId">
            <summary>
            The MAPI property PR_CONTROL_ID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ControlStructure">
            <summary>
            The MAPI property PR_CONTROL_STRUCTURE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ControlType">
            <summary>
            The MAPI property PR_CONTROL_TYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ConversationIndex">
            <summary>
            The MAPI property PR_CONVERSATION_INDEX.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ConversationKey">
            <summary>
            The MAPI property PR_CONVERSATION_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ConversationTopic">
            <summary>
            The MAPI property PR_CONVERSATION_TOPIC.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ConversionEits">
            <summary>
            The MAPI property PR_CONVERSATION_EITS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ConversionProhibited">
            <summary>
            The MAPI property PR_CONVERSION_PROHIBITED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ConversionWithLossProhibited">
            <summary>
            The MAPI property PR_CONVERSION_WITH_LOSS_PROHIBITED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ConvertedEits">
            <summary>
            The MAPI property PR_CONVERTED_EITS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Correlate">
            <summary>
            The MAPI property PR_CORRELATE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.CorrelateMtsid">
            <summary>
            The MAPI property PR_CORRELATE_MTSID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Country">
            <summary>
            The MAPI property PR_COUNTRY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.CreateTemplates">
            <summary>
            The MAPI property PR_CREATE_TEMPLATES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.CreationTime">
            <summary>
            The MAPI property PR_CREATION_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.CreationVersion">
            <summary>
            The MAPI property PR_CREATION_VERSION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.CreatorSmtpAddress">
            <summary>
            The MAPI property PR_CREATOR_SMTP_ADDRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.CurrentVersion">
            <summary>
            The MAPI property PR_CURRENT_VERSION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.CustomerId">
            <summary>
            The MAPI property PR_CUSTOMER_ID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DefaultProfile">
            <summary>
            The MAPI property PR_DEFAULT_PROFILE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DefaultStore">
            <summary>
            The MAPI property PR_DEFAULT_STORE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DefaultViewEntryId">
            <summary>
            The MAPI property PR_DEFAULT_VIEW_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DefCreateDl">
            <summary>
            The MAPI property PR_DEF_CREATE_DL.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DefCreateMailuser">
            <summary>
            The MAPI property PR_DEF_CREATE_MAILUSER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DeferredDeliveryTime">
            <summary>
            The MAPI property PR_DEFERRED_DELIVERY_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Delegation">
            <summary>
            The MAPI property PR_DELEGATION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DeleteAfterSubmit">
            <summary>
            The MAPI property PR_DELETE_AFTER_SUBMIT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DeliverTime">
            <summary>
            The MAPI property PR_DELIVER_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DeliveryPoint">
            <summary>
            The MAPI property PR_DELIVERY_POINT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Deltax">
            <summary>
            The MAPI property PR_DELTAX.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Deltay">
            <summary>
            The MAPI property PR_DELTAY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DepartmentName">
            <summary>
            The MAPI property PR_DEPARTMENT_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Depth">
            <summary>
            The MAPI property PR_DEPTH.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DetailsTable">
            <summary>
            The MAPI property PR_DETAILS_TABLE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DiscardReason">
            <summary>
            The MAPI property PR_DISCARD_REASON.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DiscloseRecipients">
            <summary>
            The MAPI property PR_DISCLOSE_RECIPIENTS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DisclosureOfRecipients">
            <summary>
            The MAPI property PR_DISCLOSURE_OF_RECIPIENTS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DiscreteValues">
            <summary>
            The MAPI property PR_DISCRETE_VALUES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DiscVal">
            <summary>
            The MAPI property PR_DISC_VAL.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DisplayBcc">
            <summary>
            The MAPI property PR_DISPLAY_BCC.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DisplayCc">
            <summary>
            The MAPI property PR_DISPLAY_CC.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DisplayName">
            <summary>
            The MAPI property PR_DISPLAY_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DisplayNamePrefix">
            <summary>
            The MAPI property PR_DISPLAY_NAME_PREFIX.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DisplayTo">
            <summary>
            The MAPI property PR_DISPLAY_TO.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DisplayType">
            <summary>
            The MAPI property PR_DISPLAY_TYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DlExpansionHistory">
            <summary>
            The MAPI property PR_DL_EXPANSION_HISTORY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.DlExpansionProhibited">
            <summary>
            The MAPI property PR_DL_EXPANSION_PROHIBITED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.EmailAddress">
            <summary>
            The MAPI property PR_EMAIL_ADDRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.EndDate">
            <summary>
            The MAPI property PR_END_DATE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.EntryId">
            <summary>
            The MAPI property PR_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ExceptionStartTime">
            <summary>
            The MAPI property PR_EXCEPTION_STARTTIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ExceptionEndTime">
            <summary>
            The MAPI property PR_EXCEPTION_ENDTIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ExpandBeginTime">
            <summary>
            The MAPI property PR_EXPAND_BEGIN_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ExpandedBeginTime">
            <summary>
            The MAPI property PR_EXPANDED_BEGIN_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ExpandedEndTime">
            <summary>
            The MAPI property PR_EXPANDED_END_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ExpandEndTime">
            <summary>
            The MAPI property PR_EXPAND_END_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ExpiryTime">
            <summary>
            The MAPI property PR_EXPIRY_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ExplicitConversion">
            <summary>
            The MAPI property PR_EXPLICIT_CONVERSION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.FilteringHooks">
            <summary>
            The MAPI property PR_FILTERING_HOOKS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.FinderEntryId">
            <summary>
            The MAPI property PR_FINDER_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.FolderAssociatedContents">
            <summary>
            The MAPI property PR_FOLDER_ASSOCIATED_CONTENTS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.FolderType">
            <summary>
            The MAPI property PR_FOLDER_TYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.FormCategory">
            <summary>
            The MAPI property PR_FORM_CATEGORY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.FormCategorySub">
            <summary>
            The MAPI property PR_FORM_CATEGORY_SUB.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.FormClsid">
            <summary>
            The MAPI property PR_FORM_CLSID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.FormContactName">
            <summary>
            The MAPI property PR_FORM_CONTACT_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.FormDesignerGuid">
            <summary>
            The MAPI property PR_FORM_DESIGNER_GUID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.FormDesignerName">
            <summary>
            The MAPI property PR_FORM_DESIGNER_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.FormHidden">
            <summary>
            The MAPI property PR_FORM_HIDDEN.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.FormHostMap">
            <summary>
            The MAPI property PR_FORM_HOST_MAP.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.FormMessageBehavior">
            <summary>
            The MAPI property PR_FORM_MESSAGE_BEHAVIOR.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.FormVersion">
            <summary>
            The MAPI property PR_FORM_VERSION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.FtpSite">
            <summary>
            The MAPI property PR_FTP_SITE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Gender">
            <summary>
            The MAPI property PR_GENDER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Generation">
            <summary>
            The MAPI property PR_GENERATION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.GivenName">
            <summary>
            The MAPI property PR_GIVEN_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.GovernmentIdNumber">
            <summary>
            The MAPI property PR_GOVERNMENT_ID_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Hasattach">
            <summary>
            The MAPI property PR_HASTTACH.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.HeaderFolderEntryId">
            <summary>
            The MAPI property PR_HEADER_FOLDER_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Hobbies">
            <summary>
            The MAPI property PR_HOBBIES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Home2TelephoneNumber">
            <summary>
            The MAPI property PR_HOME2_TELEPHONE_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.HomeAddressCity">
            <summary>
            The MAPI property PR_HOME_ADDRESS_CITY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.HomeAddressCountry">
            <summary>
            The MAPI property PR_HOME_ADDRESS_COUNTRY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.HomeAddressPostalCode">
            <summary>
            The MAPI property PR_HOME_ADDRESS_POSTAL_CODE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.HomeAddressPostOfficeBox">
            <summary>
            The MAPI property PR_HOME_ADDRESS_POST_OFFICE_BOX.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.HomeAddressStateOrProvince">
            <summary>
            The MAPI property PR_HOME_ADDRESS_STATE_OR_PROVINCE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.HomeAddressStreet">
            <summary>
            The MAPI property PR_HOME_ADDRESS_STREET.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.HomeFaxNumber">
            <summary>
            The MAPI property PR_HOME_FAX_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.HomeTelephoneNumber">
            <summary>
            The MAPI property PR_HOME_TELEPHONE_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Icon">
            <summary>
            The MAPI property PR_ICON.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.IdentityDisplay">
            <summary>
            The MAPI property PR_IDENTITY_DISPLAY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.IdentityEntryId">
            <summary>
            The MAPI property PR_IDENTITY_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.IdentitySearchKey">
            <summary>
            The MAPI property PR_IDENTITY_SEARCH_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ImplicitConversionProhibited">
            <summary>
            The MAPI property PR_IMPLICIT_CONVERSION_PROHIBITED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Importance">
            <summary>
            The MAPI property PR_IMPORTANCE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.IncompleteCopy">
            <summary>
            The MAPI property PR_INCOMPLETE_COPY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.INetMailOverrideCharset">
            <summary>
            The Internet mail override charset.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.INetMailOverrideFormat">
            <summary>
            The Internet mail override format.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.InitialDetailsPane">
            <summary>
            The MAPI property PR_INITIAL_DETAILS_PANE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Initials">
            <summary>
            The MAPI property PR_INITIALS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.InReplyToId">
            <summary>
            The MAPI property PR_IN_REPLY_TO_ID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.InstanceKey">
            <summary>
            The MAPI property PR_INSTANCE_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.InternetApproved">
            <summary>
            The MAPI property PR_INTERNET_APPROVED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.InternetArticleNumber">
            <summary>
            The MAPI property PR_INTERNET_ARTICLE_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.InternetControl">
            <summary>
            The MAPI property PR_INTERNET_CONTROL.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.InternetCPID">
            <summary>
            The MAPI property PR_INTERNET_CPID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.InternetDistribution">
            <summary>
            The MAPI property PR_INTERNET_DISTRIBUTION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.InternetFollowupTo">
            <summary>
            The MAPI property PR_INTERNET_FOLLOWUP_TO.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.InternetLines">
            <summary>
            The MAPI property PR_INTERNET_LINES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.InternetMessageId">
            <summary>
            The MAPI property PR_INTERNET_MESSAGE_ID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.InternetNewsgroups">
            <summary>
            The MAPI property PR_INTERNET_NEWSGROUPS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.InternetNntpPath">
            <summary>
            The MAPI property PR_INTERNET_NNTP_PATH.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.InternetOrganization">
            <summary>
            The MAPI property PR_INTERNET_ORGANIZATION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.InternetPrecedence">
            <summary>
            The MAPI property PR_INTERNET_PRECEDENCE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.InternetReferences">
            <summary>
            The MAPI property PR_INTERNET_REFERENCES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.IpmId">
            <summary>
            The MAPI property PR_IPM_ID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.IpmOutboxEntryId">
            <summary>
            The MAPI property PR_IPM_OUTBOX_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.IpmOutboxSearchKey">
            <summary>
            The MAPI property PR_IPM_OUTBOX_SEARCH_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.IpmReturnRequested">
            <summary>
            The MAPI property PR_IPM_RETURN_REQUESTED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.IpmSentmailEntryId">
            <summary>
            The MAPI property PR_IPM_SENTMAIL_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.IpmSentmailSearchKey">
            <summary>
            The MAPI property PR_IPM_SENTMAIL_SEARCH_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.IpmSubtreeEntryId">
            <summary>
            The MAPI property PR_IPM_SUBTREE_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.IpmSubtreeSearchKey">
            <summary>
            The MAPI property PR_IPM_SUBTREE_SEARCH_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.IpmWastebasketEntryId">
            <summary>
            The MAPI property PR_IPM_WASTEBASKET_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.IpmWastebasketSearchKey">
            <summary>
            The MAPI property PR_IPM_WASTEBASKET_SEARCH_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.IsdnNumber">
            <summary>
            The MAPI property PR_ISDN_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Keyword">
            <summary>
            The MAPI property PR_KEYWORD.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Language">
            <summary>
            The MAPI property PR_LANGUAGE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Languages">
            <summary>
            The MAPI property PR_LANGUAGES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.LastModificationTime">
            <summary>
            The MAPI property PR_LAST_MODIFICATION_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.LastModifierName">
            <summary>
            The MAPI property PR_LAST_MODIFIER_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.LastModifierSmtpAddress">
            <summary>
            THe MAPI property PR_LAST_MODIFIER_SMTP_ADDRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.LatestDeliveryTime">
            <summary>
            The MAPI property PR_LATEST_DELIVERY_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ListHelp">
            <summary>
            The MAPI property PR_LIST_HELP.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ListSubscribe">
            <summary>
            The MAPI property PR_LIST_SUBSCRIBE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ListUnsubscribe">
            <summary>
            The MAPI property PR_LIST_UNSUBSCRIBE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Locality">
            <summary>
            The MAPI property PR_LOCALITY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.LocallyDelivered">
            <summary>
            The MAPI property PR_LOCALLY_DELIVERED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Location">
            <summary>
            The MAPI property PR_LOCATION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.LockBranchId">
            <summary>
            The MAPI property PR_LOCK_BRANCH_ID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.LockDepth">
            <summary>
            The MAPI property PR_LOCK_DEPTH.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.LockEnlistmentContext">
            <summary>
            The MAPI property PR_LOCK_ENLISTMENT_CONTEXT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.LockExpiryTime">
            <summary>
            The MAPI property PR_LOCK_EXPIRY_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.LockPersistent">
            <summary>
            The MAPI property PR_LOCK_PERSISTENT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.LockResourceDid">
            <summary>
            The MAPI property PR_LOCK_RESOURCE_DID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.LockResourceFid">
            <summary>
            The MAPI property PR_LOCK_RESOURCE_FID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.LockResourceMid">
            <summary>
            The MAPI property PR_LOCK_RESOURCE_MID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.LockScope">
            <summary>
            The MAPI property PR_LOCK_SCOPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.LockTimeout">
            <summary>
            The MAPI property PR_LOCK_TIMEOUT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.LockType">
            <summary>
            The MAPI property PR_LOCK_TYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MailPermission">
            <summary>
            The MAPI property PR_MAIL_PERMISSION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ManagerName">
            <summary>
            The MAPI property PR_MANAGER_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MappingSignature">
            <summary>
            The MAPI property PR_MAPPING_SIGNATURE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MdbProvider">
            <summary>
            The MAPI property PR_MDB_PROVIDER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MessageAttachments">
            <summary>
            The MAPI property PR_MESSAGE_ATTACHMENTS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MessageCcMe">
            <summary>
            The MAPI property PR_MESSAGE_CC_ME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MessageClass">
            <summary>
            The MAPI property PR_MESSAGE_CLASS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MessageCodepage">
            <summary>
            The MAPI property PR_MESSAGE_CODEPAGE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MessageDeliveryId">
            <summary>
            The MAPI property PR_MESSAGE_DELIVERY_ID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MessageDeliveryTime">
            <summary>
            The MAPI property PR_MESSAGE_DELIVERY_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MessageDownloadTime">
            <summary>
            The MAPI property PR_MESSAGE_DOWNLOAD_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MessageFlags">
            <summary>
            The MAPI property PR_MESSAGE_FLAGS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MessageRecipients">
            <summary>
            The MAPI property PR_MESSAGE_RECIPIENTS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MessageRecipMe">
            <summary>
            The MAPI property PR_MESSAGE_RECIP_ME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MessageSecurityLabel">
            <summary>
            The MAPI property PR_MESSAGE_SECURITY_LABEL.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MessageSize">
            <summary>
            The MAPI property PR_MESSAGE_SIZE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MessageSubmissionId">
            <summary>
            The MAPI property PR_MESSAGE_SUBMISSION_ID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MessageToken">
            <summary>
            The MAPI property PR_MESSAGE_TOKEN.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MessageToMe">
            <summary>
            The MAPI property PR_MESSAGE_TO_ME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MhsCommonName">
            <summary>
            The MAPI property PR_MHS_COMMON_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MiddleName">
            <summary>
            The MAPI property PR_MIDDLE_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MiniIcon">
            <summary>
            The MAPI property PR_MINI_ICON.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MobileTelephoneNumber">
            <summary>
            The MAPI property PR_MOBILE_TELEPHONE_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ModifyVersion">
            <summary>
            The MAPI property PR_MODIFY_VERSION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.MsgStatus">
            <summary>
            The MAPI property PR_MSG_STATUS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.NdrDiagCode">
            <summary>
            The MAPI property PR_NDR_DIAG_CODE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.NdrReasonCode">
            <summary>
            The MAPI property PR_NDR_REASON_CODE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.NdrStatusCode">
            <summary>
            The MAPI property PR_NDR_STATUS_CODE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.NewsgroupName">
            <summary>
            The MAPI property PR_NEWSGROUP_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Nickname">
            <summary>
            The MAPI property PR_NICKNAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.NntpXref">
            <summary>
            The MAPI property PR_NNTP_XREF.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.NonReceiptNotificationRequested">
            <summary>
            The MAPI property PR_NON_RECEIPT_NOTIFICATION_REQUESTED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.NonReceiptReason">
            <summary>
            The MAPI property PR_NON_RECEIPT_REASON.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.NormalizedSubject">
            <summary>
            The MAPI property PR_NORMALIZED_SUBJECT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.NtSecurityDescriptor">
            <summary>
            The MAPI property PR_NT_SECURITY_DESCRIPTOR.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Null">
            <summary>
            The MAPI property PR_NULL.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ObjectType">
            <summary>
            The MAPI property PR_OBJECT_TYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ObsoletedIpms">
            <summary>
            The MAPI property PR_OBSOLETE_IPMS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Office2TelephoneNumber">
            <summary>
            The MAPI property PR_OFFICE2_TELEPHONE_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OfficeLocation">
            <summary>
            The MAPI property PR_OFFICE_LOCATION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OfficeTelephoneNumber">
            <summary>
            The MAPI property PR_OFFICE_TELEPHONE_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OofReplyType">
            <summary>
            The MAPI property PR_OOF_REPLY_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OrganizationalIdNumber">
            <summary>
            The MAPI property PR_ORGANIZATIONAL_ID_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OrigEntryId">
            <summary>
            The MAPI property PR_ORIG_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalAuthorAddrtype">
            <summary>
            The MAPI property PR_ORIGINAL_AUTHOR_ADDRTYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalAuthorEmailAddress">
            <summary>
            The MAPI property PR_ORIGINAL_AUTHOR_EMAIL_ADDRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalAuthorEntryId">
            <summary>
            The MAPI property PR_ORIGINAL_AUTHOR_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalAuthorName">
            <summary>
            The MAPI property PR_ORIGINAL_AUTHOR_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalAuthorSearchKey">
            <summary>
            The MAPI property PR_ORIGINAL_AUTHOR_SEARCH_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalDeliveryTime">
            <summary>
            The MAPI property PR_ORIGINAL_DELIVERY_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalDisplayBcc">
            <summary>
            The MAPI property PR_ORIGINAL_DISPLAY_BCC.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalDisplayCc">
            <summary>
            The MAPI property PR_ORIGINAL_DISPLAY_CC.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalDisplayName">
            <summary>
            The MAPI property PR_ORIGINAL_DISPLAY_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalDisplayTo">
            <summary>
            The MAPI property PR_ORIGINAL_DISPLAY_TO.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalEits">
            <summary>
            The MAPI property PR_ORIGINAL_EITS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalEntryId">
            <summary>
            The MAPI property PR_ORIGINAL_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginallyIntendedRecipAddrtype">
            <summary>
            The MAPI property PR_ORIGINALLY_INTENDED_RECIP_ADRTYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginallyIntendedRecipEmailAddress">
            <summary>
            The MAPI property PR_ORIGINALLY_INTENDED_RECIP_EMAIL_ADDRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginallyIntendedRecipEntryId">
            <summary>
            The MAPI property PR_ORIGINALLY_INTENDED_RECIP_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginallyIntendedRecipientName">
            <summary>
            The MAPI property PR_ORIGINALLY_INTENDED_RECIPIENT_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalSearchKey">
            <summary>
            The MAPI property PR_ORIGINAL_SEARCH_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalSenderAddrtype">
            <summary>
            The MAPI property PR_ORIGINAL_SENDER_ADDRTYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalSenderEmailAddress">
            <summary>
            The MAPI property PR_ORIGINAL_SENDER_EMAIL_ADDRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalSenderEntryId">
            <summary>
            The MAPI property PR_ORIGINAL_SENDER_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalSenderName">
            <summary>
            The MAPI property PR_ORIGINAL_SENDER_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalSenderSearchKey">
            <summary>
            The MAPI property PR_ORIGINAL_SENDER_SEARCH_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalSensitivity">
            <summary>
            The MAPI property PR_ORIGINAL_SENSITIVITY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalSentRepresentingAddrtype">
            <summary>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_ADDRTYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalSentRepresentingEmailAddress">
            <summary>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_EMAIL_ADDRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalSentRepresentingEntryId">
            <summary>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalSentRepresentingName">
            <summary>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalSentRepresentingSearchKey">
            <summary>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_SEARCH_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalSubject">
            <summary>
            The MAPI property PR_ORIGINAL_SUBJECT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginalSubmitTime">
            <summary>
            The MAPI property PR_ORIGINAL_SUBMIT_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginatingMtaCertificate">
            <summary>
            The MAPI property PR_ORIGINATING_MTA_CERTIFICATE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginatorAndDlExpansionHistory">
            <summary>
            The MAPI property PR_ORIGINATOR_AND_DL_EXPANSION_HISTORY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginatorCertificate">
            <summary>
            The MAPI property PR_ORIGINATOR_CERTIFICATE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginatorDeliveryReportRequested">
            <summary>
            The MAPI property PR_ORIGINATOR_DELIVERY_REPORT_REQUESTED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginatorNonDeliveryReportRequested">
            <summary>
            The MAPI property PR_ORIGINATOR_NON_DELIVERY_REPORT_REQUESTED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginatorRequestedAlternateRecipient">
            <summary>
            The MAPI property PR_ORIGINATOR_REQUESTED_ALTERNATE_RECIPIENT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginatorReturnAddress">
            <summary>
            The MAPI property PR_ORIGINATOR_RETURN_ADDRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OriginCheck">
            <summary>
            The MAPI property PR_ORIGIN_CHECK.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OrigMessageClass">
            <summary>
            The MAPI property PR_ORIG_MESSAGE_CLASS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OtherAddressCity">
            <summary>
            The MAPI property PR_OTHER_ADDRESS_CITY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OtherAddressCountry">
            <summary>
            The MAPI property PR_OTHER_ADDRESS_COUNTRY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OtherAddressPostalCode">
            <summary>
            The MAPI property PR_OTHER_ADDRESS_POSTAL_CODE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OtherAddressPostOfficeBox">
            <summary>
            The MAPI property PR_OTHER_ADDRESS_POST_OFFICE_BOX.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OtherAddressStateOrProvince">
            <summary>
            The MAPI property PR_OTHER_ADDRESS_STATE_OR_PROVINCE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OtherAddressStreet">
            <summary>
            The MAPI property PR_OTHER_ADDRESS_STREET.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OtherTelephoneNumber">
            <summary>
            The MAPI property PR_OTHER_TELEPHONE_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OwnerApptId">
            <summary>
            The MAPI property PR_OWNER_APPT_ID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.OwnStoreEntryId">
            <summary>
            The MAPI property PR_OWN_STORE_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PagerTelephoneNumber">
            <summary>
            The MAPI property PR_PAGER_TELEPHONE_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ParentDisplay">
            <summary>
            The MAPI property PR_PARENT_DISPLAY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ParentEntryId">
            <summary>
            The MAPI property PR_PARENT_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ParentKey">
            <summary>
            The MAPI property PR_PARENT_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PersonalHomePage">
            <summary>
            The MAPI property PR_PERSONAL_HOME_PAGE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PhysicalDeliveryBureauFaxDelivery">
            <summary>
            The MAPI property PR_PHYSICAL_DELIVERY_BUREAU_FAX_DELIVERY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PhysicalDeliveryMode">
            <summary>
            The MAPI property PR_PHYSICAL_DELIVERY_MODE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PhysicalDeliveryReportRequest">
            <summary>
            The MAPI property PR_PHYSICAL_DELIVERY_REPORT_REQUEST.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PhysicalForwardingAddress">
            <summary>
            The MAPI property PR_PHYSICAL_FORWARDING_ADDRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PhysicalForwardingAddressRequested">
            <summary>
            The MAPI property PR_PHYSICAL_FORWARDING_ADDRESS_REQUESTED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PhysicalForwardingProhibited">
            <summary>
            The MAPI property PR_PHYSICAL_FORWARDING_PROHIBITED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PhysicalRenditionAttributes">
            <summary>
            The MAPI property PR_PHYSICAL_RENDITION_ATTRIBUTES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PostalAddress">
            <summary>
            The MAPI property PR_POSTAL_ADDRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PostalCode">
            <summary>
            The MAPI property PR_POSTAL_CODE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PostFolderEntries">
            <summary>
            The MAPI property PR_POST_FOLDER_ENTRIES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PostFolderNames">
            <summary>
            The MAPI property PR_POST_FOLDER_NAMES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PostOfficeBox">
            <summary>
            The MAPI property PR_POST_OFFICE_BOX.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PostReplyDenied">
            <summary>
            The MAPI property PR_POST_REPLY_DENIED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PostReplyFolderEntries">
            <summary>
            The MAPI property PR_POST_REPLY_FOLDER_ENTRIES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PostReplyFolderNames">
            <summary>
            The MAPI property PR_POST_REPLY_FOLDER_NAMES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PreferredByName">
            <summary>
            The MAPI property PR_PREFERRED_BY_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Preprocess">
            <summary>
            The MAPI property PR_PREPROCESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PrimaryCapability">
            <summary>
            The MAPI property PR_PRIMARY_CAPABILITY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PrimaryFaxNumber">
            <summary>
            The MAPI property PR_PRIMARY_FAX_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PrimaryTelephoneNumber">
            <summary>
            The MAPI property PR_PRIMARY_TELEPHONE_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Priority">
            <summary>
            The MAPI property PR_PRIORITY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Profession">
            <summary>
            The MAPI property PR_PROFESSION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ProfileName">
            <summary>
            The MAPI property PR_PROFILE_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ProofOfDelivery">
            <summary>
            The MAPI property PR_PROOF_OF_DELIVERY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ProofOfDeliveryRequested">
            <summary>
            The MAPI property PR_PROOF_OF_DELIVERY_REQUESTED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ProofOfSubmission">
            <summary>
            The MAPI property PR_PROOF_OF_SUBMISSION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ProofOfSubmissionRequested">
            <summary>
            The MAPI property PR_PROOF_OF_SUBMISSION_REQUESTED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PropIdSecureMax">
            <summary>
            The MAPI property PR_PROP_ID_SECURE_MAX.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.PropIdSecureMin">
            <summary>
            The MAPI property PR_PROP_ID_SECURE_MIN.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ProviderDisplay">
            <summary>
            The MAPI property PR_PROVIDER_DISPLAY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ProviderDllName">
            <summary>
            The MAPI property PR_PROVIDER_DLL_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ProviderOrdinal">
            <summary>
            The MAPI property PR_PROVIDER_ORDINAL.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ProviderSubmitTime">
            <summary>
            The MAPI property PR_PROVIDER_SUBMIT_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ProviderUid">
            <summary>
            The MAPI property PR_PROVIDER_UID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Puid">
            <summary>
            The MAPI property PR_PUID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RadioTelephoneNumber">
            <summary>
            The MAPI property PR_RADIO_TELEPHONE_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RcvdRepresentingAddrtype">
            <summary>
            The MAPI property PR_RCVD_REPRESENTING_ADDRTYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RcvdRepresentingEmailAddress">
            <summary>
            The MAPI property PR_RCVD_REPRESENTING_EMAIL_ADDRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RcvdRepresentingEntryId">
            <summary>
            The MAPI property PR_RCVD_REPRESENTING_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RcvdRepresentingName">
            <summary>
            The MAPI property PR_RCVD_REPRESENTING_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RcvdRepresentingSearchKey">
            <summary>
            The MAPI property PR_RCVD_REPRESENTING_SEARCH_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReadReceiptEntryId">
            <summary>
            The MAPI property PR_READ_RECEIPT_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReadReceiptRequested">
            <summary>
            The MAPI property PR_READ_RECEIPT_REQUESTED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReadReceiptSearchKey">
            <summary>
            The MAPI property PR_READ_RECEIPT_SEARCH_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReceiptTime">
            <summary>
            The MAPI property PR_RECEIPT_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReceivedByAddrtype">
            <summary>
            The MAPI property PR_RECEIVED_BY_ADDRTYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReceivedByEmailAddress">
            <summary>
            The MAPI property PR_RECEIVED_BY_EMAIL_ADDRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReceivedByEntryId">
            <summary>
            The MAPI property PR_RECEIVED_BY_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReceivedByName">
            <summary>
            The MAPI property PR_RECEIVED_BY_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReceivedBySearchKey">
            <summary>
            The MAPI property PR_RECEIVED_BY_SEARCH_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReceiveFolderSettings">
            <summary>
            The MAPI property PR_RECEIVE_FOLDER_SETTINGS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RecipientCertificate">
            <summary>
            The MAPI property PR_RECIPIENT_CERTIFICATE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RecipientDisplayName">
            <summary>
            The MAPI property PR_RECIPIENT_DISPLAY_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RecipientNumberForAdvice">
            <summary>
            The MAPI property PR_RECIPIENT_NUMBER_FOR_ADVICE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RecipientReassignmentProhibited">
            <summary>
            The MAPI property PR_RECIPIENT_REASSIGNMENT_PROHIBITED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RecipientStatus">
            <summary>
            The MAPI property PR_RECIPIENT_STATUS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RecipientType">
            <summary>
            The MAPI property PR_RECIPIENT_TYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RecordKey">
            <summary>
            The MAPI property PR_RECORD_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RedirectionHistory">
            <summary>
            The MAPI property PR_REDIRECTION_HISTORY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReferredByName">
            <summary>
            The MAPI property PR_REFERRED_BY_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RegisteredMailType">
            <summary>
            The MAPI property PR_REGISTERED_MAIL_TYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RelatedIpms">
            <summary>
            The MAPI property PR_RELATED_IPMS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RemoteProgress">
            <summary>
            The MAPI property PR_REMOTE_PROGRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RemoteProgressText">
            <summary>
            The MAPI property PR_REMOTE_PROGRESS_TEXT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RemoteValidateOk">
            <summary>
            The MAPI property PR_REMOTE_VALIDATE_OK.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RenderingPosition">
            <summary>
            The MAPI property PR_RENDERING_POSITION.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReplyRecipientEntries">
            <summary>
            The MAPI property PR_REPLY_RECIPIENT_ENTRIES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReplyRecipientNames">
            <summary>
            The MAPI property PR_REPLY_RECIPIENT_NAMES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReplyRecipientSmtpProxies">
            <summary>
            The MAPI property PR_REPLY_RECIPIENT_SMTP_PROXIES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReplyRequested">
            <summary>
            The MAPI property PR_REPLY_REQUESTED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReplyTime">
            <summary>
            The MAPI property PR_REPLY_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReportEntryId">
            <summary>
            The MAPI property PR_REPORT_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReportingDlName">
            <summary>
            The MAPI property PR_REPORTING_DLL_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReportingMtaCertificate">
            <summary>
            The MAPI property PR_REPORTING_MTA_CERTIFICATE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReportName">
            <summary>
            The MAPI property PR_REPORT_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReportSearchKey">
            <summary>
            The MAPI property PR_REPORT_SEARCH_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReportTag">
            <summary>
            The MAPI property PR_REPORT_TAG.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReportText">
            <summary>
            The MAPI property PR_REPORT_TEXT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReportTime">
            <summary>
            The MAPI property PR_REPORT_TIME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RequestedDeliveryMethod">
            <summary>
            The MAPI property PR_REQUESTED_DELIVERY_METHOD.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ResourceFlags">
            <summary>
            The MAPI property PR_RESOURCE_FLAGS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ResourceMethods">
            <summary>
            The MAPI property PR_RESOURCE_METHODS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ResourcePath">
            <summary>
            The MAPI property PR_RESOURCE_PATH.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ResourceType">
            <summary>
            The MAPI property PR_RESOURCE_TYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ResponseRequested">
            <summary>
            The MAPI property PR_RESPONSE_REQUESTED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Responsibility">
            <summary>
            The MAPI property PR_RESPONSIBILITY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ReturnedIpm">
            <summary>
            The MAPI property PR_RETURNED_IPM.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Rowid">
            <summary>
            The MAPI property PR_ROWID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RowType">
            <summary>
            The MAPI property PR_ROW_TYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RtfCompressed">
            <summary>
            The MAPI property PR_RTF_COMPRESSED.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RtfInSync">
            <summary>
            The MAPI property PR_RTF_IN_SYNC.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RtfSyncBodyCount">
            <summary>
            The MAPI property PR_SYNC_BODY_COUNT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RtfSyncBodyCrc">
            <summary>
            The MAPI property PR_RTF_SYNC_BODY_CRC.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RtfSyncBodyTag">
            <summary>
            The MAPI property PR_RTF_SYNC_BODY_TAG.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RtfSyncPrefixCount">
            <summary>
            The MAPI property PR_RTF_SYNC_PREFIX_COUNT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.RtfSyncTrailingCount">
            <summary>
            The MAPI property PR_RTF_SYNC_TRAILING_COUNT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Search">
            <summary>
            The MAPI property PR_SEARCH.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SearchKey">
            <summary>
            The MAPI property PR_SEARCH_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Security">
            <summary>
            The MAPI property PR_SECURITY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Selectable">
            <summary>
            The MAPI property PR_SELECTABLE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SenderAddrtype">
            <summary>
            The MAPI property PR_SENDER_ADDRTYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SenderEmailAddress">
            <summary>
            The MAPI property PR_SENDER_EMAIL_ADDRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SenderEntryId">
            <summary>
            The MAPI property PR_SENDER_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SenderName">
            <summary>
            The MAPI property PR_SENDER_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SenderSearchKey">
            <summary>
            The MAPI property PR_SENDER_SEARCH_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SenderSimpleDispName">
            <summary>
            The MAPI property PR_SENDER_SIMPLE_DISP_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SenderSmtpAddress">
            <summary>
            The MAPI property PR_SENDER_SMTP_ADDRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SendInternetEncoding">
            <summary>
            The MAPI property PR_SEND_INTERNET_ENCODING.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SendRecallReport">
            <summary>
            The MAPI property PR_SEND_RECALL_REPORT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SendRichInfo">
            <summary>
            The MAPI property PR_SEND_RICH_INFO.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Sensitivity">
            <summary>
            The MAPI property PR_SENSITIVITY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SentmailEntryId">
            <summary>
            The MAPI property PR_SENTMAIL_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SentRepresentingAddrtype">
            <summary>
            The MAPI property PR_SENT_REPRESENTING_ADDRTYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SentRepresentingEmailAddress">
            <summary>
            The MAPI property PR_SENT_REPRESENTING_EMAIL_ADDRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SentRepresentingEntryId">
            <summary>
            The MAPI property PR_SENT_REPRESENTING_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SentRepresentingName">
            <summary>
            The MAPI property PR_SENT_REPRESENTING_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SentRepresentingSearchKey">
            <summary>
            The MAPI property PR_SENT_REPRESENTING_SEARCH_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SentRepresentingSimpleDispName">
            <summary>
            The MAPI property PR_SENT_REPRESENTING_SIMPLE_DISP_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ServiceDeleteFiles">
            <summary>
            The MAPI property PR_SERVICE_DELETE_FILES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ServiceDllName">
            <summary>
            The MAPI property PR_SERVICE_DLL_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ServiceEntryName">
            <summary>
            The MAPI property PR_SERVICE_ENTRY_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ServiceExtraUids">
            <summary>
            The MAPI property PR_SERVICE_EXTRA_UIDS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ServiceName">
            <summary>
            The MAPI property PR_SERVICE_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Services">
            <summary>
            The MAPI property PR_SERVICES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ServiceSupportFiles">
            <summary>
            The MAPI property PR_SERVICE_SUPPORT_FILES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ServiceUid">
            <summary>
            The MAPI property PR_SERVICE_UID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SevenBitDisplayName">
            <summary>
            The MAPI property PR_SEVEN_BIT_DISPLAY_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SmtpAddress">
            <summary>
            The MAPI property PR_SMTP_ADDRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SpoolerStatus">
            <summary>
            The MAPI property PR_SPOOLER_STATUS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SpouseName">
            <summary>
            The MAPI property PR_SPOUSE_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.StartDate">
            <summary>
            The MAPI property PR_START_DATE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.StateOrProvince">
            <summary>
            The MAPI property PR_STATE_OR_PROVINCE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Status">
            <summary>
            The MAPI property PR_STATUS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.StatusCode">
            <summary>
            The MAPI property PR_STATUS_CODE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.StatusString">
            <summary>
            The MAPI property PR_STATUS_STRING.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.StoreEntryId">
            <summary>
            The MAPI property PR_STORE_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.StoreProviders">
            <summary>
            The MAPI property PR_STORE_PROVIDERS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.StoreRecordKey">
            <summary>
            The MAPI property PR_STORE_RECORD_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.StoreState">
            <summary>
            The MAPI property PR_STORE_STATE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.StoreSupportMask">
            <summary>
            The MAPI property PR_STORE_SUPPORT_MASK.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.StreetAddress">
            <summary>
            The MAPI property PR_STREET_ADDRESS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Subfolders">
            <summary>
            The MAPI property PR_SUBFOLDERS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Subject">
            <summary>
            The MAPI property PR_SUBJECT.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SubjectIpm">
            <summary>
            The MAPI property PR_SUBJECT_IPM.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SubjectPrefix">
            <summary>
            The MAPI property PR_SUBJECT_PREFIX.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SubmitFlags">
            <summary>
            The MAPI property PR_SUBMIT_FLAGS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Supersedes">
            <summary>
            The MAPI property PR_SUPERSEDES.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.SupplementaryInfo">
            <summary>
            The MAPI property PR_SUPPLEMENTARY_INFO.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Surname">
            <summary>
            The MAPI property PR_SURNAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.TelexNumber">
            <summary>
            The MAPI property PR_TELEX_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Templateid">
            <summary>
            The MAPI property PR_TEMPLATEID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Title">
            <summary>
            The MAPI property PR_TITLE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.TnefCorrelationKey">
            <summary>
            The MAPI property PR_TNEF_CORRELATION_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.TransmitableDisplayName">
            <summary>
            The MAPI property PR_TRANSMITABLE_DISPLAY_NAME.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.TransportKey">
            <summary>
            The MAPI property PR_TRANSPORT_KEY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.TransportMessageHeaders">
            <summary>
            The MAPI property PR_TRANSPORT_MESSAGE_HEADERS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.TransportProviders">
            <summary>
            The MAPI property PR_TRANSPORT_PROVIDERS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.TransportStatus">
            <summary>
            The MAPI property PR_TRANSPORT_STATUS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.TtytddPhoneNumber">
            <summary>
            The MAPI property PR_TTYTDD_PHONE_NUMBER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.TypeOfMtsUser">
            <summary>
            The MAPI property PR_TYPE_OF_MTS_USER.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.UserCertificate">
            <summary>
            The MAPI property PR_USER_CERTIFICATE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.UserX509Certificate">
            <summary>
            The MAPI property PR_USER_X509_CERTIFICATE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ValidFolderMask">
            <summary>
            The MAPI property PR_VALID_FOLDER_MASK.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.ViewsEntryId">
            <summary>
            The MAPI property PR_VIEWS_ENTRYID.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.WeddingAnniversary">
            <summary>
            The MAPI property PR_WEDDING_ANNIVERSARY.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.X400ContentType">
            <summary>
            The MAPI property PR_X400_CONTENT_TYPE.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.X400DeferredDeliveryCancel">
            <summary>
            The MAPI property PR_X400_DEFERRED_DELIVERY_CANCEL.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Xpos">
            <summary>
            The MAPI property PR_XPOS.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyId.Ypos">
            <summary>
            The MAPI property PR_YPOS.
            </summary>
        </member>
        <member name="T:MimeKit.Tnef.TnefPropertyReader">
            <summary>
            A TNEF property reader.
            </summary>
            <remarks>
            A TNEF property reader.
            </remarks>
        </member>
        <member name="P:MimeKit.Tnef.TnefPropertyReader.IsEmbeddedMessage">
            <summary>
            Get a value indicating whether the current property is an embedded TNEF message.
            </summary>
            <remarks>
            Gets a value indicating whether the current property is an embedded TNEF message.
            </remarks>
            <value><see langword="true" /> if the current property is an embedded TNEF message; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefPropertyReader.IsMultiValuedProperty">
            <summary>
            Get a value indicating whether the current property has multiple values.
            </summary>
            <remarks>
            Gets a value indicating whether the current property has multiple values.
            </remarks>
            <value><see langword="true" /> if the current property has multiple values; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefPropertyReader.IsNamedProperty">
            <summary>
            Get a value indicating whether the current property is a named property.
            </summary>
            <remarks>
            Gets a value indicating whether the current property is a named property.
            </remarks>
            <value><see langword="true" /> if the current property is a named property; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefPropertyReader.IsObjectProperty">
            <summary>
            Get a value indicating whether the current property contains object values.
            </summary>
            <remarks>
            Gets a value indicating whether the current property contains object values.
            </remarks>
            <value><see langword="true" /> if the current property contains object values; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefPropertyReader.PropertyCount">
            <summary>
            Get the number of properties available.
            </summary>
            <remarks>
            Gets the number of properties available.
            </remarks>
            <value>The property count.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefPropertyReader.PropertyNameId">
            <summary>
            Get the property name identifier.
            </summary>
            <remarks>
            Gets the property name identifier.
            </remarks>
            <value>The property name identifier.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefPropertyReader.PropertyTag">
            <summary>
            Get the property tag.
            </summary>
            <remarks>
            Gets the property tag.
            </remarks>
            <value>The property tag.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefPropertyReader.RawValueLength">
            <summary>
            Get the length of the raw value.
            </summary>
            <remarks>
            Gets the length of the raw value.
            </remarks>
            <value>The length of the raw value.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefPropertyReader.RawValueStreamOffset">
            <summary>
            Get the raw value stream offset.
            </summary>
            <remarks>
            Gets the raw value stream offset.
            </remarks>
            <value>The raw value stream offset.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefPropertyReader.RowCount">
            <summary>
            Get the number of table rows available.
            </summary>
            <remarks>
            Gets the number of table rows available.
            </remarks>
            <value>The row count.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefPropertyReader.ValueCount">
            <summary>
            Get the number of values available.
            </summary>
            <remarks>
            Gets the number of values available.
            </remarks>
            <value>The value count.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefPropertyReader.ValueType">
            <summary>
            Get the type of the value.
            </summary>
            <remarks>
            Gets the type of the value.
            </remarks>
            <value>The type of the value.</value>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.GetEmbeddedMessageReader">
            <summary>
            Get the embedded TNEF message reader.
            </summary>
            <remarks>
            Gets the embedded TNEF message reader.
            </remarks>
            <returns>The embedded TNEF message reader.</returns>
            <exception cref="T:System.InvalidOperationException">
            <para>The property does not contain any more values.</para>
            <para>-or-</para>
            <para>The property value is not an embedded message.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.GetRawValueReadStream">
            <summary>
            Get the raw value of the attribute or property as a stream.
            </summary>
            <remarks>
            Gets the raw value of the attribute or property as a stream.
            </remarks>
            <returns>The raw value stream.</returns>
            <exception cref="T:System.InvalidOperationException">
            The property does not contain any more values.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.ReadNextProperty">
            <summary>
            Advance to the next MAPI property.
            </summary>
            <remarks>
            Advances to the next MAPI property.
            </remarks>
            <returns><see langword="true" /> if there is another property available to be read; otherwise, <see langword="false" />.</returns>
            <exception cref="T:MimeKit.Tnef.TnefException">
            The TNEF data is corrupt or invalid.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.ReadNextRow">
            <summary>
            Advance to the next table row of properties.
            </summary>
            <remarks>
            Advances to the next table row of properties.
            </remarks>
            <returns><see langword="true" /> if there is another row available to be read; otherwise, <see langword="false" />.</returns>
            <exception cref="T:MimeKit.Tnef.TnefException">
            The TNEF data is corrupt or invalid.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.ReadNextValue">
            <summary>
            Advance to the next value in the TNEF stream.
            </summary>
            <remarks>
            Advances to the next value in the TNEF stream.
            </remarks>
            <returns><see langword="true" /> if there is another value available to be read; otherwise, <see langword="false" />.</returns>
            <exception cref="T:MimeKit.Tnef.TnefException">
            The TNEF data is corrupt or invalid.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.ReadRawValue(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Read the raw attribute or property value as a sequence of bytes.
            </summary>
            <remarks>
            Reads the raw attribute or property value as a sequence of bytes.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
            bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of bytes to read.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.ReadTextValue(System.Char[],System.Int32,System.Int32)">
            <summary>
            Read the raw attribute or property value as a sequence of unicode characters.
            </summary>
            <remarks>
            Reads the raw attribute or property value as a sequence of unicode characters.
            </remarks>
            <returns>The total number of characters read into the buffer. This can be less than the number of characters
            requested if that many bytes are not currently available, or zero (0) if the end of the stream has been
            reached.</returns>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of characters to read.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> characters starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.ReadValue">
            <summary>
            Read the value.
            </summary>
            <remarks>
            Reads an attribute or property value as its native type.
            </remarks>
            <returns>The value.</returns>
            <exception cref="T:System.InvalidOperationException">
            There are no more values to read or the value could not be read.
            </exception>
            <exception cref="T:System.IO.EndOfStreamException">
            The TNEF stream is truncated and the value could not be read.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.ReadValueAsBoolean">
            <summary>
            Read the value as a boolean.
            </summary>
            <remarks>
            Reads any integer-based attribute or property value as a boolean.
            </remarks>
            <returns>The value as a boolean.</returns>
            <exception cref="T:System.InvalidOperationException">
            There are no more values to read or the value could not be read as a boolean.
            </exception>
            <exception cref="T:System.IO.EndOfStreamException">
            The TNEF stream is truncated and the value could not be read.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.ReadValueAsBytes">
            <summary>
            Read the value as a byte array.
            </summary>
            <remarks>
            Reads any string, binary blob, Class ID, or Object attribute or property value as a byte array.
            </remarks>
            <returns>The value as a byte array.</returns>
            <exception cref="T:System.InvalidOperationException">
            There are no more values to read or the value could not be read as a byte array.
            </exception>
            <exception cref="T:System.IO.EndOfStreamException">
            The TNEF stream is truncated and the value could not be read.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.ReadValueAsDateTime">
            <summary>
            Read the value as a date and time.
            </summary>
            <remarks>
            Reads any date and time attribute or property value as a <see cref="T:System.DateTime"/>.
            </remarks>
            <returns>The value as a date and time.</returns>
            <exception cref="T:System.InvalidOperationException">
            There are no more values to read or the value could not be read as a date and time.
            </exception>
            <exception cref="T:System.IO.EndOfStreamException">
            The TNEF stream is truncated and the value could not be read.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.ReadValueAsDouble">
            <summary>
            Read the value as a double.
            </summary>
            <remarks>
            Reads any numeric attribute or property value as a double.
            </remarks>
            <returns>The value as a double.</returns>
            <exception cref="T:System.InvalidOperationException">
            There are no more values to read or the value could not be read as a double.
            </exception>
            <exception cref="T:System.IO.EndOfStreamException">
            The TNEF stream is truncated and the value could not be read.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.ReadValueAsFloat">
            <summary>
            Read the value as a float.
            </summary>
            <remarks>
            Reads any numeric attribute or property value as a float.
            </remarks>
            <returns>The value as a float.</returns>
            <exception cref="T:System.InvalidOperationException">
            There are no more values to read or the value could not be read as a float.
            </exception>
            <exception cref="T:System.IO.EndOfStreamException">
            The TNEF stream is truncated and the value could not be read.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.ReadValueAsGuid">
            <summary>
            Read the value as a GUID.
            </summary>
            <remarks>
            Reads any Class ID value as a GUID.
            </remarks>
            <returns>The value as a GUID.</returns>
            <exception cref="T:System.InvalidOperationException">
            There are no more values to read or the value could not be read as a GUID.
            </exception>
            <exception cref="T:System.IO.EndOfStreamException">
            The TNEF stream is truncated and the value could not be read.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.ReadValueAsInt16">
            <summary>
            Read the value as a 16-bit integer.
            </summary>
            <remarks>
            Reads any integer-based attribute or property value as a 16-bit integer.
            </remarks>
            <returns>The value as a 16-bit integer.</returns>
            <exception cref="T:System.InvalidOperationException">
            There are no more values to read or the value could not be read as a 16-bit integer.
            </exception>
            <exception cref="T:System.IO.EndOfStreamException">
            The TNEF stream is truncated and the value could not be read.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.ReadValueAsInt32">
            <summary>
            Read the value as a 32-bit integer.
            </summary>
            <remarks>
            Reads any integer-based attribute or property value as a 32-bit integer.
            </remarks>
            <returns>The value as a 32-bit integer.</returns>
            <exception cref="T:System.InvalidOperationException">
            There are no more values to read or the value could not be read as a 32-bit integer.
            </exception>
            <exception cref="T:System.IO.EndOfStreamException">
            The TNEF stream is truncated and the value could not be read.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.ReadValueAsInt64">
            <summary>
            Read the value as a 64-bit integer.
            </summary>
            <remarks>
            Reads any integer-based attribute or property value as a 64-bit integer.
            </remarks>
            <returns>The value as a 64-bit integer.</returns>
            <exception cref="T:System.InvalidOperationException">
            There are no more values to read or the value could not be read as a 64-bit integer.
            </exception>
            <exception cref="T:System.IO.EndOfStreamException">
            The TNEF stream is truncated and the value could not be read.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.ReadValueAsString">
            <summary>
            Read the value as a string.
            </summary>
            <remarks>
            Reads any string or binary blob values as a string.
            </remarks>
            <returns>The value as a string.</returns>
            <exception cref="T:System.InvalidOperationException">
            There are no more values to read or the value could not be read as a string.
            </exception>
            <exception cref="T:System.IO.EndOfStreamException">
            The TNEF stream is truncated and the value could not be read.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.ReadValueAsUri">
            <summary>
            Read the value as a Uri.
            </summary>
            <remarks>
            Reads any string or binary blob values as a Uri.
            </remarks>
            <returns>The value as a Uri.</returns>
            <exception cref="T:System.InvalidOperationException">
            There are no more values to read or the value could not be read as a string.
            </exception>
            <exception cref="T:System.IO.EndOfStreamException">
            The TNEF stream is truncated and the value could not be read.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.GetHashCode">
            <summary>
            Serves as a hash function for a <see cref="T:MimeKit.Tnef.TnefPropertyReader"/> object.
            </summary>
            <remarks>
            Serves as a hash function for a <see cref="T:MimeKit.Tnef.TnefPropertyReader"/> object.
            </remarks>
            <returns>A hash code for this instance that is suitable for use in hashing algorithms
            and data structures such as a hash table.</returns>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyReader.Equals(System.Object)">
            <summary>
            Determine whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:MimeKit.Tnef.TnefPropertyReader"/>.
            </summary>
            <remarks>
            Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:MimeKit.Tnef.TnefPropertyReader"/>.
            </remarks>
            <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:MimeKit.Tnef.TnefPropertyReader"/>.</param>
            <returns><see langword="true" /> if the specified <see cref="T:System.Object"/> is equal to the current
            <see cref="T:MimeKit.Tnef.TnefPropertyReader"/>; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="T:MimeKit.Tnef.TnefPropertyTag">
            <summary>
            A TNEF property tag.
            </summary>
            <remarks>
            A TNEF property tag.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AbDefaultDir">
            <summary>
            The MAPI property PR_AB_DEFAULT_DIR.
            </summary>
            <remarks>
            The MAPI property PR_AB_DEFAULT_DIR.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AbDefaultPab">
            <summary>
            The MAPI property PR_AB_DEFAULT_PAB.
            </summary>
            <remarks>
            The MAPI property PR_AB_DEFAULT_PAD.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AbProviderId">
            <summary>
            The MAPI property PR_AB_PROVIDER_ID.
            </summary>
            <remarks>
            The MAPI property PR_AB_PROVIDER_ID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AbProviders">
            <summary>
            The MAPI property PR_AB_PROVIDERS.
            </summary>
            <remarks>
            The MAPI property PR_AB_PROVIDERS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AbSearchPath">
            <summary>
            The MAPI property PR_AB_SEARCH_PATH.
            </summary>
            <remarks>
            The MAPI property PR_AB_SEARCH_PATH.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AbSearchPathUpdate">
            <summary>
            The MAPI property PR_AB_SEARCH_PATH_UPDATE.
            </summary>
            <remarks>
            The MAPI property PR_AB_SEARCH_PATH_UPDATE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Access">
            <summary>
            The MAPI property PR_ACCESS.
            </summary>
            <remarks>
            The MAPI property PR_ACCESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AccessLevel">
            <summary>
            The MAPI property PR_ACCESS_LEVEL.
            </summary>
            <remarks>
            The MAPI property PR_ACCESS_LEVEL.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AccountA">
            <summary>
            The MAPI property PR_ACCOUNT.
            </summary>
            <remarks>
            The MAPI property PR_ACCOUNT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AccountW">
            <summary>
            The MAPI property PR_ACCOUNT.
            </summary>
            <remarks>
            The MAPI property PR_ACCOUNT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AcknowledgementMode">
            <summary>
            The MAPI property PR_ACKNOWLEDGEMENT_MODE.
            </summary>
            <remarks>
            The MAPI property PR_ACKNOWLEDGEMENT_MODE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AddrtypeA">
            <summary>
            The MAPI property PR_ADDRTYPE.
            </summary>
            <remarks>
            The MAPI property PR_ADDRTYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AddrtypeW">
            <summary>
            The MAPI property PR_ADDRTYPE.
            </summary>
            <remarks>
            The MAPI property PR_ADDRTYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AlternateRecipient">
            <summary>
            The MAPI property PR_ALTERNATE_RECIPIENT.
            </summary>
            <remarks>
            The MAPI property PR_ALTERNATE_RECIPIENT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AlternateRecipientAllowed">
            <summary>
            The MAPI property PR_ALTERNATE_RECIPIENT_ALLOWED.
            </summary>
            <remarks>
            The MAPI property PR_ALTERNATE_RECIPIENT_ALLOWED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AnrA">
            <summary>
            The MAPI property PR_ANR.
            </summary>
            <remarks>
            The MAPI property PR_ANR.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AnrW">
            <summary>
            The MAPI property PR_ANR.
            </summary>
            <remarks>
            The MAPI property PR_ANR.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AssistantA">
            <summary>
            The MAPI property PR_ASSISTANT.
            </summary>
            <remarks>
            The MAPI property PR_ASSISTANT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AssistantW">
            <summary>
            The MAPI property PR_ASSISTANT.
            </summary>
            <remarks>
            The MAPI property PR_ASSISTANT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AssistantTelephoneNumberA">
            <summary>
            The MAPI property PR_ASSISTANT_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_ASSISTANT_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AssistantTelephoneNumberW">
            <summary>
            The MAPI property PR_ASSISTANT_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_ASSISTANT_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AssocContentCount">
            <summary>
            The MAPI property PR_ASSOC_CONTENT_COUNT.
            </summary>
            <remarks>
            The MAPI property PR_ASSOC_CONTENT_COUNT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachAdditionalInfo">
            <summary>
            The MAPI property PR_ATTACH_ADDITIONAL_INFO.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_ADDITIONAL_INFO.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachContentBaseA">
            <summary>
            The MAPI property PR_ATTACH_CONTENT_BASE.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_CONTENT_BASE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachContentBaseW">
            <summary>
            The MAPI property PR_ATTACH_CONTENT_BASE.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_CONTENT_BASE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachContentIdA">
            <summary>
            The MAPI property PR_ATTACH_CONTENT_ID.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_CONTENT_ID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachContentIdW">
            <summary>
            The MAPI property PR_ATTACH_CONTENT_ID.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_CONTENT_ID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachContentLocationA">
            <summary>
            The MAPI property PR_ATTACH_CONTENT_LOCATION.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_CONTENT_LOCATION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachContentLocationW">
            <summary>
            The MAPI property PR_ATTACH_CONTENT_LOCATION.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_CONTENT_LOCATION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachDataBin">
            <summary>
            The MAPI property PR_ATTACH_DATA.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_DATA.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachDataObj">
            <summary>
            The MAPI property PR_ATTACH_DATA.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_DATA.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachDispositionA">
            <summary>
            The MAPI property PR_ATTACH_DISPOSITION.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_DISPOSITION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachDispositionW">
            <summary>
            The MAPI property PR_ATTACH_DISPOSITION.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_DISPOSITION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachEncoding">
            <summary>
            The MAPI property PR_ATTACH_ENCODING.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_ENCODING.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachExtensionA">
            <summary>
            The MAPI property PR_ATTACH_EXTENSION.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_EXTENSION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachExtensionW">
            <summary>
            The MAPI property PR_ATTACH_EXTENSION.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_EXTENSION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachFilenameA">
            <summary>
            The MAPI property PR_ATTACH_FILENAME.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_FILENAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachFilenameW">
            <summary>
            The MAPI property PR_ATTACH_FILENAME.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_FILENAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachFlags">
            <summary>
            The MAPI property PR_ATTACH_FLAGS.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_FLAGS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachLongFilenameA">
            <summary>
            The MAPI property PR_ATTACH_LONG_FILENAME.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_LONG_FILENAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachLongFilenameW">
            <summary>
            The MAPI property PR_ATTACH_LONG_FILENAME.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_LONG_FILENAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachLongPathnameA">
            <summary>
            The MAPI property PR_ATTACH_LONG_PATHNAME.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_LONG_PATHNAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachLongPathnameW">
            <summary>
            The MAPI property PR_ATTACH_LONG_PATHNAME.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_LONG_PATHNAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachmentContactPhoto">
            <summary>
            The MAPI property PR_ATTACHMENT_CONTACTPHOTO.
            </summary>
            <remarks>
            The MAPI property PR_ATTACHMENT_CONTACTPHOTO.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachmentFlags">
            <summary>
            The MAPI property PR_ATTACHMENT_FLAGS.
            </summary>
            <remarks>
            The MAPI property PR_ATTACHMENT_FLAGS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachmentHidden">
            <summary>
            The MAPI property PR_ATTACHMENT_HIDDEN.
            </summary>
            <remarks>
            The MAPI property PR_ATTACHMENT_HIDDEN.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachmentLinkId">
            <summary>
            The MAPI property PR_ATTACHMENT_LINKID.
            </summary>
            <remarks>
            The MAPI property PR_ATTACHMENT_LINKID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachmentX400Parameters">
            <summary>
            The MAPI property PR_ATTACHMENT_X400_PARAMETERS.
            </summary>
            <remarks>
            The MAPI property PR_ATTACHMENT_X400_PARAMETERS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachMethod">
            <summary>
            The MAPI property PR_ATTACH_METHOD.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_METHOD.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachMimeSequence">
            <summary>
            The MAPI property PR_ATTACH_MIME_SEQUENCE.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_MIME_SEQUENCE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachMimeTagA">
            <summary>
            The MAPI property PR_ATTACH_MIME_TAG.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_MIME_TAG.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachMimeTagW">
            <summary>
            The MAPI property PR_ATTACH_MIME_TAG.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_MIME_TAG.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachNetscapeMacInfo">
            <summary>
            The MAPI property PR_ATTACH_NETSCAPE_MAC_INFO.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_NETSCAPE_MAC_INFO.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachNum">
            <summary>
            The MAPI property PR_ATTACH_NUM.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_NUM.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachPathnameA">
            <summary>
            The MAPI property PR_ATTACH_PATHNAME.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_PATHNAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachPathnameW">
            <summary>
            The MAPI property PR_ATTACH_PATHNAME.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_PATHNAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachRendering">
            <summary>
            The MAPI property PR_ATTACH_RENDERING.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_RENDERING.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachSize">
            <summary>
            The MAPI property PR_ATTACH_SIZE.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_SIZE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachTag">
            <summary>
            The MAPI property PR_ATTACH_TAG.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_TAG.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachTransportNameA">
            <summary>
            The MAPI property PR_ATTACH_TRANSPORT_NAME.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_TRANSPORT_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AttachTransportNameW">
            <summary>
            The MAPI property PR_ATTACH_TRANSPORT_NAME.
            </summary>
            <remarks>
            The MAPI property PR_ATTACH_TRANSPORT_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AuthorizingUsers">
            <summary>
            The MAPI property PR_AUTHORIZING_USERS.
            </summary>
            <remarks>
            The MAPI property PR_AUTHORIZING_USERS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AutoForwarded">
            <summary>
            The MAPI property PR_AUTOFORWARDED.
            </summary>
            <remarks>
            The MAPI property PR_AUTOFORWARDED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AutoForwardingCommentA">
            <summary>
            The MAPI property PR_AUTOFORWARDING_COMMENT.
            </summary>
            <remarks>
            The MAPI property PR_AUTOFORWARDING_COMMENT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AutoForwardingCommentW">
            <summary>
            The MAPI property PR_AUTOFORWARDING_COMMENT.
            </summary>
            <remarks>
            The MAPI property PR_AUTOFORWARDING_COMMENT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.AutoResponseSuppress">
            <summary>
            The MAPI property PR_AUTORESPONSE_SUPPRESS.
            </summary>
            <remarks>
            The MAPI property PR_AUTORESPONSE_SUPPRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BeeperTelephoneNumberA">
            <summary>
            The MAPI property PR_BEEPER_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_BEEPER_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BeeperTelephoneNumberW">
            <summary>
            The MAPI property PR_BEEPER_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_BEEPER_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Birthday">
            <summary>
            The MAPI property PR_BIRTHDAY.
            </summary>
            <remarks>
            The MAPI property PR_BIRTHDAY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BodyA">
            <summary>
            The MAPI property PR_BODY.
            </summary>
            <remarks>
            The MAPI property PR_BODY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BodyW">
            <summary>
            The MAPI property PR_BODY.
            </summary>
            <remarks>
            The MAPI property PR_BODY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BodyContentIdA">
            <summary>
            The MAPI property PR_BODY_CONTENT_ID.
            </summary>
            <remarks>
            The MAPI property PR_BODY_CONTENT_ID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BodyContentIdW">
            <summary>
            The MAPI property PR_BODY_CONTENT_ID.
            </summary>
            <remarks>
            The MAPI property PR_BODY_CONTENT_ID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BodyContentLocationA">
            <summary>
            The MAPI property PR_BODY_CONTENT_LOCATION.
            </summary>
            <remarks>
            The MAPI property PR_BODY_CONTENT_LOCATION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BodyContentLocationW">
            <summary>
            The MAPI property PR_BODY_CONTENT_LOCATION.
            </summary>
            <remarks>
            The MAPI property PR_BODY_CONTENT_LOCATION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BodyCrc">
            <summary>
            The MAPI property PR_BODY_CRC.
            </summary>
            <remarks>
            The MAPI property PR_BODY_CRC.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BodyHtmlA">
            <summary>
            The MAPI property PR_BODY_HTML.
            </summary>
            <remarks>
            The MAPI property PR_BODY_HTML.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BodyHtmlB">
            <summary>
            The MAPI property PR_BODY_HTML.
            </summary>
            <remarks>
            The MAPI property PR_BODY_HTML.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BodyHtmlW">
            <summary>
            The MAPI property PR_BODY_HTML.
            </summary>
            <remarks>
            The MAPI property PR_BODY_HTML.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Business2TelephoneNumberA">
            <summary>
            The MAPI property PR_BUSINESS2_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_BUSINESS2_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Business2TelephoneNumberAMv">
            <summary>
            The MAPI property PR_BUSINESS2_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_BUSINESS2_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Business2TelephoneNumberW">
            <summary>
            The MAPI property PR_BUSINESS2_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_BUSINESS2_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Business2TelephoneNumberWMv">
            <summary>
            The MAPI property PR_BUSINESS2_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_BUSINESS2_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BusinessAddressCityA">
            <summary>
            The MAPI property PR_BUSINESS_ADDRESS_CITY.
            </summary>
            <remarks>
            The MAPI property PR_BUSINESS_ADDRESS_CITY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BusinessAddressCityW">
            <summary>
            The MAPI property PR_BUSINESS_ADDRESS_CITY.
            </summary>
            <remarks>
            The MAPI property PR_BUSINESS_ADDRESS_CITY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BusinessAddressCountryA">
            <summary>
            The MAPI property PR_BUSINESS_ADDRESS_COUNTRY.
            </summary>
            <remarks>
            The MAPI property PR_BUSINESS_ADDRESS_COUNTRY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BusinessAddressCountryW">
            <summary>
            The MAPI property PR_BUSINESS_ADDRESS_COUNTRY.
            </summary>
            <remarks>
            The MAPI property PR_BUSINESS_ADDRESS_COUNTRY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BusinessAddressPostalCodeA">
            <summary>
            The MAPI property PR_BUSINESS_ADDRESS_POSTAL_CODE.
            </summary>
            <remarks>
            The MAPI property PR_BUSINESS_ADDRESS_POSTAL_CODE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BusinessAddressPostalCodeW">
            <summary>
            The MAPI property PR_BUSINESS_ADDRESS_POSTAL_CODE.
            </summary>
            <remarks>
            The MAPI property PR_BUSINESS_ADDRESS_POSTAL_CODE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BusinessAddressStreetA">
            <summary>
            The MAPI property PR_BUSINESS_ADDRESS_POSTAL_STREET.
            </summary>
            <remarks>
            The MAPI property PR_BUSINESS_ADDRESS_POSTAL_STREET.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BusinessAddressStreetW">
            <summary>
            The MAPI property PR_BUSINESS_ADDRESS_POSTAL_STREET.
            </summary>
            <remarks>
            The MAPI property PR_BUSINESS_ADDRESS_POSTAL_STREET.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BusinessFaxNumberA">
            <summary>
            The MAPI property PR_BUSINESS_FAX_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_BUSINESS_FAX_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BusinessFaxNumberW">
            <summary>
            The MAPI property PR_BUSINESS_FAX_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_BUSINESS_FAX_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BusinessHomePageA">
            <summary>
            The MAPI property PR_BUSINESS_HOME_PAGE.
            </summary>
            <remarks>
            The MAPI property PR_BUSINESS_HOME_PAGE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.BusinessHomePageW">
            <summary>
            The MAPI property PR_BUSINESS_HOME_PAGE.
            </summary>
            <remarks>
            The MAPI property PR_BUSINESS_HOME_PAGE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CallbackTelephoneNumberA">
            <summary>
            The MAPI property PR_CALLBACK_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_CALLBACK_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CallbackTelephoneNumberW">
            <summary>
            The MAPI property PR_CALLBACK_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_CALLBACK_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CarTelephoneNumberA">
            <summary>
            The MAPI property PR_CAR_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_CAR_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CarTelephoneNumberW">
            <summary>
            The MAPI property PR_CAR_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_CAR_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ChildrensNamesA">
            <summary>
            The MAPI property PR_CHILDRENS_NAMES.
            </summary>
            <remarks>
            The MAPI property PR_CHILDRENS_NAMES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ChildrensNamesW">
            <summary>
            The MAPI property PR_CHILDRENS_NAMES.
            </summary>
            <remarks>
            The MAPI property PR_CHILDRENS_NAMES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ClientSubmitTime">
            <summary>
            The MAPI property PR_CLIENT_SUBMIT_TIME.
            </summary>
            <remarks>
            The MAPI property PR_CLIENT_SUBMIT_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CommentA">
            <summary>
            The MAPI property PR_COMMENT.
            </summary>
            <remarks>
            The MAPI property PR_COMMENT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CommentW">
            <summary>
            The MAPI property PR_COMMENT.
            </summary>
            <remarks>
            The MAPI property PR_COMMENT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CommonViewsEntryId">
            <summary>
            The MAPI property PR_COMMON_VIEWS_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_COMMON_VIEWS_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CompanyMainPhoneNumberA">
            <summary>
            The MAPI property PR_COMPANY_MAIN_PHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_COMPANY_MAIN_PHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CompanyMainPhoneNumberW">
            <summary>
            The MAPI property PR_COMPANY_MAIN_PHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_COMPANY_MAIN_PHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CompanyNameA">
            <summary>
            The MAPI property PR_COMPANY_NAME.
            </summary>
            <remarks>
            The MAPI property PR_COMPANY_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CompanyNameW">
            <summary>
            The MAPI property PR_COMPANY_NAME.
            </summary>
            <remarks>
            The MAPI property PR_COMPANY_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ComputerNetworkNameA">
            <summary>
            The MAPI property PR_COMPUTER_NETWORK_NAME.
            </summary>
            <remarks>
            The MAPI property PR_COMPUTER_NETWORK_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ComputerNetworkNameW">
            <summary>
            The MAPI property PR_COMPUTER_NETWORK_NAME.
            </summary>
            <remarks>
            The MAPI property PR_COMPUTER_NETWORK_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContactAddrtypesA">
            <summary>
            The MAPI property PR_CONTACT_ADDRTYPES.
            </summary>
            <remarks>
            The MAPI property PR_CONTACT_ADDRTYPES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContactAddrtypesW">
            <summary>
            The MAPI property PR_CONTACT_ADDRTYPES.
            </summary>
            <remarks>
            The MAPI property PR_CONTACT_ADDRTYPES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContactDefaultAddressIndex">
            <summary>
            The MAPI property PR_CONTACT_DEFAULT_ADDRESS_INDEX.
            </summary>
            <remarks>
            The MAPI property PR_CONTACT_DEFAULT_ADDRESS_INDEX.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContactEmailAddressesA">
            <summary>
            The MAPI property PR_CONTACT_EMAIL_ADDRESSES.
            </summary>
            <remarks>
            The MAPI property PR_CONTACT_EMAIL_ADDRESSES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContactEmailAddressesW">
            <summary>
            The MAPI property PR_CONTACT_EMAIL_ADDRESSES.
            </summary>
            <remarks>
            The MAPI property PR_CONTACT_EMAIL_ADDRESSES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContactEntryIds">
            <summary>
            The MAPI property PR_CONTACT_ENTRYIDS.
            </summary>
            <remarks>
            The MAPI property PR_CONTACT_ENTRYIDS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContactVersion">
            <summary>
            The MAPI property PR_CONTACT_VERSION.
            </summary>
            <remarks>
            The MAPI property PR_CONTACT_VERSION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContainerClassA">
            <summary>
            The MAPI property PR_CONTAINER_CLASS.
            </summary>
            <remarks>
            The MAPI property PR_CONTAINER_CLASS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContainerClassW">
            <summary>
            The MAPI property PR_CONTAINER_CLASS.
            </summary>
            <remarks>
            The MAPI property PR_CONTAINER_CLASS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContainerContents">
            <summary>
            The MAPI property PR_CONTAINER_CONTENTS.
            </summary>
            <remarks>
            The MAPI property PR_CONTAINER_CONTENTS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContainerFlags">
            <summary>
            The MAPI property PR_CONTAINER_FLAGS.
            </summary>
            <remarks>
            The MAPI property PR_CONTAINER_FLAGS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContainerHierarchy">
            <summary>
            The MAPI property PR_CONTAINER_HIERARCHY.
            </summary>
            <remarks>
            The MAPI property PR_CONTAINER_HIERARCHY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContainerModifyVersion">
            <summary>
            The MAPI property PR_CONTAINER_MODIFY_VERSION.
            </summary>
            <remarks>
            The MAPI property PR_CONTAINER_MODIFY_VERSION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContentConfidentialityAlgorithmId">
            <summary>
            The MAPI property PR_CONTENT_CONFIDENTIALITY_ALGORITHM_ID.
            </summary>
            <remarks>
            The MAPI property PR_CONTENT_CONFIDENTIALITY_ALGORITHM_ID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContentCorrelator">
            <summary>
            The MAPI property PR_CONTENT_CORRELATOR.
            </summary>
            <remarks>
            The MAPI property PR_CONTENT_CORRELATOR.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContentCount">
            <summary>
            The MAPI property PR_CONTENT_COUNT.
            </summary>
            <remarks>
            The MAPI property PR_CONTENT_COUNT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContentIdentifierA">
            <summary>
            The MAPI property PR_CONTENT_IDENTIFIER.
            </summary>
            <remarks>
            The MAPI property PR_CONTENT_IDENTIFIER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContentIdentifierW">
            <summary>
            The MAPI property PR_CONTENT_IDENTIFIER.
            </summary>
            <remarks>
            The MAPI property PR_CONTENT_IDENTIFIER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContentIntegrityCheck">
            <summary>
            The MAPI property PR_CONTENT_INTEGRITY_CHECK.
            </summary>
            <remarks>
            The MAPI property PR_CONTENT_INTEGRITY_CHECK.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContentLength">
            <summary>
            The MAPI property PR_CONTENT_LENGTH.
            </summary>
            <remarks>
            The MAPI property PR_CONTENT_LENGTH.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContentReturnRequested">
            <summary>
            The MAPI property PR_CONTENT_RETURN_REQUESTED.
            </summary>
            <remarks>
            The MAPI property PR_CONTENT_RETURN_REQUESTED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContentsSortOrder">
            <summary>
            The MAPI property PR_CONTENTS_SORT_ORDER.
            </summary>
            <remarks>
            The MAPI property PR_CONTENTS_SORT_ORDER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ContentUnread">
            <summary>
            The MAPI property PR_CONTENT_UNREAD.
            </summary>
            <remarks>
            The MAPI property PR_CONTENT_UNREAD.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ControlFlags">
            <summary>
            The MAPI property PR_CONTROL_FLAGS.
            </summary>
            <remarks>
            The MAPI property PR_CONTROL_FLAGS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ControlId">
            <summary>
            The MAPI property PR_CONTROL_ID.
            </summary>
            <remarks>
            The MAPI property PR_CONTROL_ID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ControlStructure">
            <summary>
            The MAPI property PR_CONTROL_STRUCTURE.
            </summary>
            <remarks>
            The MAPI property PR_CONTROL_STRUCTURE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ControlType">
            <summary>
            The MAPI property PR_CONTROL_TYPE.
            </summary>
            <remarks>
            The MAPI property PR_CONTROL_TYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ConversationIndex">
            <summary>
            The MAPI property PR_CONVERSATION_INDEX.
            </summary>
            <remarks>
            The MAPI property PR_CONVERSATION_INDEX.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ConversationKey">
            <summary>
            The MAPI property PR_CONVERSATION_KEY.
            </summary>
            <remarks>
            The MAPI property PR_CONVERSATION_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ConversationTopicA">
            <summary>
            The MAPI property PR_CONVERSATION_TOPIC.
            </summary>
            <remarks>
            The MAPI property PR_CONVERSATION_TOPIC.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ConversationTopicW">
            <summary>
            The MAPI property PR_CONVERSATION_TOPIC.
            </summary>
            <remarks>
            The MAPI property PR_CONVERSATION_TOPIC.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ConversionEits">
            <summary>
            The MAPI property PR_CONVERSION_EITS.
            </summary>
            <remarks>
            The MAPI property PR_CONVERSION_EITS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ConversionProhibited">
            <summary>
            The MAPI property PR_CONVERSION_PROHIBITED.
            </summary>
            <remarks>
            The MAPI property PR_CONVERSION_PROHIBITED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ConversionWithLossProhibited">
            <summary>
            The MAPI property PR_CONVERSION_WITH_LOSS_PROHIBITED.
            </summary>
            <remarks>
            The MAPI property PR_CONVERSION_WITH_LOSS_PROHIBITED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ConvertedEits">
            <summary>
            The MAPI property PR_CONVERTED_EITS.
            </summary>
            <remarks>
            The MAPI property PR_CONVERTED_EITS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Correlate">
            <summary>
            The MAPI property PR_CORRELATE.
            </summary>
            <remarks>
            The MAPI property PR_CORRELATE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CorrelateMtsid">
            <summary>
            The MAPI property PR_CORRELATE_MTSID.
            </summary>
            <remarks>
            The MAPI property PR_CORRELATE_MTSID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CountryA">
            <summary>
            The MAPI property PR_COUNTRY.
            </summary>
            <remarks>
            The MAPI property PR_COUNTRY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CountryW">
            <summary>
            The MAPI property PR_COUNTRY.
            </summary>
            <remarks>
            The MAPI property PR_COUNTRY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CreateTemplates">
            <summary>
            The MAPI property PR_CREATE_TEMPLATES.
            </summary>
            <remarks>
            The MAPI property PR_CREATE_TEMPLATES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CreationTime">
            <summary>
            The MAPI property PR_CREATION_TIME.
            </summary>
            <remarks>
            The MAPI property PR_CREATION_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CreationVersion">
            <summary>
            The MAPI property PR_CREATION_VERSION.
            </summary>
            <remarks>
            The MAPI property PR_CREATION_VERSION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CurrentVersion">
            <summary>
            The MAPI property PR_CURRENT_VERSION.
            </summary>
            <remarks>
            The MAPI property PR_CURRENT_VERSION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CustomerIdA">
            <summary>
            The MAPI property PR_CUSTOMER_ID.
            </summary>
            <remarks>
            The MAPI property PR_CUSTOMER_ID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.CustomerIdW">
            <summary>
            The MAPI property PR_CUSTOMER_ID.
            </summary>
            <remarks>
            The MAPI property PR_CUSTOMER_ID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DefaultProfile">
            <summary>
            The MAPI property PR_DEFAULT_PROFILE.
            </summary>
            <remarks>
            The MAPI property PR_DEFAULT_PROFILE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DefaultStore">
            <summary>
            The MAPI property PR_DEFAULT_STORE.
            </summary>
            <remarks>
            The MAPI property PR_DEFAULT_STORE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DefaultViewEntryId">
            <summary>
            The MAPI property PR_DEFAULT_VIEW_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_DEFAULT_VIEW_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DefCreateDl">
            <summary>
            The MAPI property PR_DEF_CREATE_DL.
            </summary>
            <remarks>
            The MAPI property PR_DEF_CREATE_DL.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DefCreateMailuser">
            <summary>
            The MAPI property PR_DEF_CREATE_MAILUSER.
            </summary>
            <remarks>
            The MAPI property PR_DEF_CREATE_MAILUSER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DeferredDeliveryTime">
            <summary>
            The MAPI property PR_DEFERRED_DELIVERY_TIME.
            </summary>
            <remarks>
            The MAPI property PR_DEFERRED_DELIVERY_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Delegation">
            <summary>
            The MAPI property PR_DELEGATION.
            </summary>
            <remarks>
            The MAPI property PR_DELEGATION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DeleteAfterSubmit">
            <summary>
            The MAPI property PR_DELETE_AFTER_SUBMIT.
            </summary>
            <remarks>
            The MAPI property PR_DELETE_AFTER_SUBMIT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DeliverTime">
            <summary>
            The MAPI property PR_DELIVER_TIME.
            </summary>
            <remarks>
            The MAPI property PR_DELIVER_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DeliveryPoint">
            <summary>
            The MAPI property PR_DELIVERY_POINT.
            </summary>
            <remarks>
            The MAPI property PR_DELIVERY_POINT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Deltax">
            <summary>
            The MAPI property PR_DELTAX.
            </summary>
            <remarks>
            The MAPI property PR_DELTAX.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Deltay">
            <summary>
            The MAPI property PR_DELTAY.
            </summary>
            <remarks>
            The MAPI property PR_DELTAY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DepartmentNameA">
            <summary>
            The MAPI property PR_DEPARTMENT_NAME.
            </summary>
            <remarks>
            The MAPI property PR_DEPARTMENT_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DepartmentNameW">
            <summary>
            The MAPI property PR_DEPARTMENT_NAME.
            </summary>
            <remarks>
            The MAPI property PR_DEPARTMENT_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Depth">
            <summary>
            The MAPI property PR_DEPTH.
            </summary>
            <remarks>
            The MAPI property PR_DEPTH.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DetailsTable">
            <summary>
            The MAPI property PR_DETAILS_TABLE.
            </summary>
            <remarks>
            The MAPI property PR_DETAILS_TABLE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DiscardReason">
            <summary>
            The MAPI property PR_DISCARD_REASON.
            </summary>
            <remarks>
            The MAPI property PR_DISCARD_REASON.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DiscloseRecipients">
            <summary>
            The MAPI property PR_DISCLOSE_RECIPIENTS.
            </summary>
            <remarks>
            The MAPI property PR_DISCLOSE_RECIPIENTS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DisclosureOfRecipients">
            <summary>
            The MAPI property PR_DISCLOSURE_OF_RECIPIENTS.
            </summary>
            <remarks>
            The MAPI property PR_DISCLOSURE_OF_RECIPIENTS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DiscreteValues">
            <summary>
            The MAPI property PR_DISCRETE_VALUES.
            </summary>
            <remarks>
            The MAPI property PR_DISCRETE_VALUES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DiscVal">
            <summary>
            The MAPI property PR_DISC_VAL.
            </summary>
            <remarks>
            The MAPI property PR_DISC_VAL.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DisplayBccA">
            <summary>
            The MAPI property PR_DISPLAY_BCC.
            </summary>
            <remarks>
            The MAPI property PR_DISPLAY_BCC.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DisplayBccW">
            <summary>
            The MAPI property PR_DISPLAY_BCC.
            </summary>
            <remarks>
            The MAPI property PR_DISPLAY_BCC.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DisplayCcA">
            <summary>
            The MAPI property PR_DISPLAY_CC.
            </summary>
            <remarks>
            The MAPI property PR_DISPLAY_CC.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DisplayCcW">
            <summary>
            The MAPI property PR_DISPLAY_CC.
            </summary>
            <remarks>
            The MAPI property PR_DISPLAY_CC.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DisplayNameA">
            <summary>
            The MAPI property PR_DISPLAY_NAME.
            </summary>
            <remarks>
            The MAPI property PR_DISPLAY_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DisplayNameW">
            <summary>
            The MAPI property PR_DISPLAY_NAME.
            </summary>
            <remarks>
            The MAPI property PR_DISPLAY_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DisplayNamePrefixA">
            <summary>
            The MAPI property PR_DISPLAY_NAME_PREFIX.
            </summary>
            <remarks>
            The MAPI property PR_DISPLAY_NAME_PREFIX.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DisplayNamePrefixW">
            <summary>
            The MAPI property PR_DISPLAY_NAME_PREFIX.
            </summary>
            <remarks>
            The MAPI property PR_DISPLAY_NAME_PREFIX.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DisplayToA">
            <summary>
            The MAPI property PR_DISPLAY_TO.
            </summary>
            <remarks>
            The MAPI property PR_DISPLAY_TO.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DisplayToW">
            <summary>
            The MAPI property PR_DISPLAY_TO.
            </summary>
            <remarks>
            The MAPI property PR_DISPLAY_TO.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DisplayType">
            <summary>
            The MAPI property PR_DISPLAY_TYPE.
            </summary>
            <remarks>
            The MAPI property PR_DISPLAY_TYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DlExpansionHistory">
            <summary>
            The MAPI property PR_DL_EXPANSION_HISTORY.
            </summary>
            <remarks>
            The MAPI property PR_DL_EXPANSION_HISTORY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.DlExpansionProhibited">
            <summary>
            The MAPI property PR_DL_EXPANSION_PROHIBITED.
            </summary>
            <remarks>
            The MAPI property PR_DL_EXPANSION_PROHIBITED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.EmailAddressA">
            <summary>
            The MAPI property PR_EMAIL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_EMAIL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.EmailAddressW">
            <summary>
            The MAPI property PR_EMAIL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_EMAIL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.EndDate">
            <summary>
            The MAPI property PR_END_DATE.
            </summary>
            <remarks>
            The MAPI property PR_END_DATE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.EntryId">
            <summary>
            The MAPI property PR_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ExpandBeginTime">
            <summary>
            The MAPI property PR_EXPAND_BEGIN_TIME.
            </summary>
            <remarks>
            The MAPI property PR_EXPAND_BEGIN_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ExpandedBeginTime">
            <summary>
            The MAPI property PR_EXPANDED_BEGIN_TIME.
            </summary>
            <remarks>
            The MAPI property PR_EXPANDED_BEGIN_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ExpandedEndTime">
            <summary>
            The MAPI property PR_EXPANDED_END_TIME.
            </summary>
            <remarks>
            The MAPI property PR_EXPANDED_END_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ExpandEndTime">
            <summary>
            The MAPI property PR_EXPAND_END_TIME.
            </summary>
            <remarks>
            The MAPI property PR_EXPAND_END_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ExpiryTime">
            <summary>
            The MAPI property PR_EXPIRY_TIME.
            </summary>
            <remarks>
            The MAPI property PR_EXPIRY_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ExplicitConversion">
            <summary>
            The MAPI property PR_EXPLICIT_CONVERSION.
            </summary>
            <remarks>
            The MAPI property PR_EXPLICIT_CONVERSION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FilteringHooks">
            <summary>
            The MAPI property PR_FILTERING_HOOKS.
            </summary>
            <remarks>
            The MAPI property PR_FILTERING_HOOKS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FinderEntryId">
            <summary>
            The MAPI property PR_FINDER_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_FINDER_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FolderAssociatedContents">
            <summary>
            The MAPI property PR_FOLDER_ASSOCIATED_CONTENTS.
            </summary>
            <remarks>
            The MAPI property PR_FOLDER_ASSOCIATED_CONTENTS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FolderType">
            <summary>
            The MAPI property PR_FOLDER_TYPE.
            </summary>
            <remarks>
            The MAPI property PR_FOLDER_TYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FormCategoryA">
            <summary>
            The MAPI property PR_FORM_CATEGORY.
            </summary>
            <remarks>
            The MAPI property PR_FORM_CATEGORY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FormCategoryW">
            <summary>
            The MAPI property PR_FORM_CATEGORY.
            </summary>
            <remarks>
            The MAPI property PR_FORM_CATEGORY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FormCategorySubA">
            <summary>
            The MAPI property PR_FORM_CATEGORY_SUB.
            </summary>
            <remarks>
            The MAPI property PR_FORM_CATEGORY_SUB.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FormCategorySubW">
            <summary>
            The MAPI property PR_FORM_CATEGORY_SUB.
            </summary>
            <remarks>
            The MAPI property PR_FORM_CATEGORY_SUB.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FormClsid">
            <summary>
            The MAPI property PR_FORM_CLSID.
            </summary>
            <remarks>
            The MAPI property PR_FORM_CLSID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FormContactNameA">
            <summary>
            The MAPI property PR_FORM_CONTACT_NAME.
            </summary>
            <remarks>
            The MAPI property PR_FORM_CONTACT_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FormContactNameW">
            <summary>
            The MAPI property PR_FORM_CONTACT_NAME.
            </summary>
            <remarks>
            The MAPI property PR_FORM_CONTACT_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FormDesignerGuid">
            <summary>
            The MAPI property PR_FORM_DESIGNER_GUID.
            </summary>
            <remarks>
            The MAPI property PR_FORM_DESIGNER_GUID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FormDesignerNameA">
            <summary>
            The MAPI property PR_FORM_DESIGNER_NAME.
            </summary>
            <remarks>
            The MAPI property PR_FORM_DESIGNER_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FormDesignerNameW">
            <summary>
            The MAPI property PR_FORM_DESIGNER_NAME.
            </summary>
            <remarks>
            The MAPI property PR_FORM_DESIGNER_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FormHidden">
            <summary>
            The MAPI property PR_FORM_HIDDEN.
            </summary>
            <remarks>
            The MAPI property PR_FORM_HIDDEN.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FormHostMap">
            <summary>
            The MAPI property PR_FORM_HOST_MAP.
            </summary>
            <remarks>
            The MAPI property PR_FORM_HOST_MAP.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FormMessageBehavior">
            <summary>
            The MAPI property PR_FORM_MESSAGE_BEHAVIOR.
            </summary>
            <remarks>
            The MAPI property PR_FORM_MESSAGE_BEHAVIOR.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FormVersionA">
            <summary>
            The MAPI property PR_FORM_VERSION.
            </summary>
            <remarks>
            The MAPI property PR_FORM_VERSION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FormVersionW">
            <summary>
            The MAPI property PR_FORM_VERSION.
            </summary>
            <remarks>
            The MAPI property PR_FORM_VERSION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FtpSiteA">
            <summary>
            The MAPI property PR_FTP_SITE.
            </summary>
            <remarks>
            The MAPI property PR_FTP_SITE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.FtpSiteW">
            <summary>
            The MAPI property PR_FTP_SITE.
            </summary>
            <remarks>
            The MAPI property PR_FTP_SITE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Gender">
            <summary>
            The MAPI property PR_GENDER.
            </summary>
            <remarks>
            The MAPI property PR_GENDER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.GenerationA">
            <summary>
            The MAPI property PR_GENERATION.
            </summary>
            <remarks>
            The MAPI property PR_GENERATION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.GenerationW">
            <summary>
            The MAPI property PR_GENERATION.
            </summary>
            <remarks>
            The MAPI property PR_GENERATION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.GivenNameA">
            <summary>
            The MAPI property PR_GIVEN_NAME.
            </summary>
            <remarks>
            The MAPI property PR_GIVEN_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.GivenNameW">
            <summary>
            The MAPI property PR_GIVEN_NAME.
            </summary>
            <remarks>
            The MAPI property PR_GIVEN_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.GovernmentIdNumberA">
            <summary>
            The MAPI property PR_GOVERNMENT_ID_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_GOVERNMENT_ID_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.GovernmentIdNumberW">
            <summary>
            The MAPI property PR_GOVERNMENT_ID_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_GOVERNMENT_ID_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Hasattach">
            <summary>
            The MAPI property PR_HASATTACH.
            </summary>
            <remarks>
            The MAPI property PR_HASATTACH.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HeaderFolderEntryId">
            <summary>
            The MAPI property PR_HEADER_FOLDER_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_HEADER_FOLDER_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HobbiesA">
            <summary>
            The MAPI property PR_HOBBIES.
            </summary>
            <remarks>
            The MAPI property PR_HOBBIES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HobbiesW">
            <summary>
            The MAPI property PR_HOBBIES.
            </summary>
            <remarks>
            The MAPI property PR_HOBBIES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Home2TelephoneNumberA">
            <summary>
            The MAPI property PR_HOME2_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_HOME2_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Home2TelephoneNumberAMv">
            <summary>
            The MAPI property PR_HOME2_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_HOME2_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Home2TelephoneNumberW">
            <summary>
            The MAPI property PR_HOME2_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_HOME2_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Home2TelephoneNumberWMv">
            <summary>
            The MAPI property PR_HOME2_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_HOME2_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HomeAddressCityA">
            <summary>
            The MAPI property PR_HOME_ADDRESS_CITY.
            </summary>
            <remarks>
            The MAPI property PR_HOME_ADDRESS_CITY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HomeAddressCityW">
            <summary>
            The MAPI property PR_HOME_ADDRESS_CITY.
            </summary>
            <remarks>
            The MAPI property PR_HOME_ADDRESS_CITY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HomeAddressCountryA">
            <summary>
            The MAPI property PR_HOME_ADDRESS_COUNTRY.
            </summary>
            <remarks>
            The MAPI property PR_HOME_ADDRESS_COUNTRY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HomeAddressCountryW">
            <summary>
            The MAPI property PR_HOME_ADDRESS_COUNTRY.
            </summary>
            <remarks>
            The MAPI property PR_HOME_ADDRESS_COUNTRY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HomeAddressPostalCodeA">
            <summary>
            The MAPI property PR_HOME_ADDRESS_POSTAL_CODE.
            </summary>
            <remarks>
            The MAPI property PR_HOME_ADDRESS_POSTAL_CODE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HomeAddressPostalCodeW">
            <summary>
            The MAPI property PR_HOME_ADDRESS_POSTAL_CODE.
            </summary>
            <remarks>
            The MAPI property PR_HOME_ADDRESS_POSTAL_CODE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HomeAddressPostOfficeBoxA">
            <summary>
            The MAPI property PR_HOME_ADDRESS_POST_OFFICE_BOX.
            </summary>
            <remarks>
            The MAPI property PR_HOME_ADDRESS_POST_OFFICE_BOX.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HomeAddressPostOfficeBoxW">
            <summary>
            The MAPI property PR_HOME_ADDRESS_POST_OFFICE_BOX.
            </summary>
            <remarks>
            The MAPI property PR_HOME_ADDRESS_POST_OFFICE_BOX.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HomeAddressStateOrProvinceA">
            <summary>
            The MAPI property PR_HOME_ADDRESS_STATE_OR_PROVINCE.
            </summary>
            <remarks>
            The MAPI property PR_HOME_ADDRESS_STATE_OR_PROVINCE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HomeAddressStateOrProvinceW">
            <summary>
            The MAPI property PR_HOME_ADDRESS_STATE_OR_PROVINCE.
            </summary>
            <remarks>
            The MAPI property PR_HOME_ADDRESS_STATE_OR_PROVINCE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HomeAddressStreetA">
            <summary>
            The MAPI property PR_HOME_ADDRESS_STREET.
            </summary>
            <remarks>
            The MAPI property PR_HOME_ADDRESS_STREET.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HomeAddressStreetW">
            <summary>
            The MAPI property PR_HOME_ADDRESS_STREET.
            </summary>
            <remarks>
            The MAPI property PR_HOME_ADDRESS_STREET.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HomeFaxNumberA">
            <summary>
            The MAPI property PR_HOME_FAX_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_HOME_FAX_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HomeFaxNumberW">
            <summary>
            The MAPI property PR_HOME_FAX_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_HOME_FAX_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HomeTelephoneNumberA">
            <summary>
            The MAPI property PR_HOME_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_HOME_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.HomeTelephoneNumberW">
            <summary>
            The MAPI property PR_HOME_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_HOME_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Icon">
            <summary>
            The MAPI property PR_ICON.
            </summary>
            <remarks>
            The MAPI property PR_ICON.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.IdentityDisplayA">
            <summary>
            The MAPI property PR_IDENTITY_DISPLAY.
            </summary>
            <remarks>
            The MAPI property PR_IDENTITY_DISPLAY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.IdentityDisplayW">
            <summary>
            The MAPI property PR_IDENTITY_DISPLAY.
            </summary>
            <remarks>
            The MAPI property PR_IDENTITY_DISPLAY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.IdentityEntryId">
            <summary>
            The MAPI property PR_IDENTITY_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_IDENTITY_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.IdentitySearchKey">
            <summary>
            The MAPI property PR_IDENTITY_SEARCH_KEY.
            </summary>
            <remarks>
            The MAPI property PR_IDENTITY_SEARCH_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ImplicitConversionProhibited">
            <summary>
            The MAPI property PR_IMPLICIT_CONVERSION_PROHIBITED.
            </summary>
            <remarks>
            The MAPI property PR_IMPLICIT_CONVERSION_PROHIBITED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Importance">
            <summary>
            The MAPI property PR_IMPORTANCE.
            </summary>
            <remarks>
            The MAPI property PR_IMPORTANCE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.IncompleteCopy">
            <summary>
            The MAPI property PR_INCOMPLETE_COPY.
            </summary>
            <remarks>
            The MAPI property PR_INCOMPLETE_COPY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.INetMailOverrideCharset">
            <summary>
            The Internet mail override charset.
            </summary>
            <remarks>
            The Internet mail override charset.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.INetMailOverrideFormat">
            <summary>
            The Internet mail override format.
            </summary>
            <remarks>
            The Internet mail override format.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InitialDetailsPane">
            <summary>
            The MAPI property PR_INITIAL_DETAILS_PANE.
            </summary>
            <remarks>
            The MAPI property PR_INITIAL_DETAILS_PANE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InitialsA">
            <summary>
            The MAPI property PR_INITIALS.
            </summary>
            <remarks>
            The MAPI property PR_INITIALS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InitialsW">
            <summary>
            The MAPI property PR_INITIALS.
            </summary>
            <remarks>
            The MAPI property PR_INITIALS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InReplyToIdA">
            <summary>
            The MAPI property PR_IN_REPLY_TO_ID.
            </summary>
            <remarks>
            The MAPI property PR_IN_REPLY_TO_ID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InReplyToIdW">
            <summary>
            The MAPI property PR_IN_REPLY_TO_ID.
            </summary>
            <remarks>
            The MAPI property PR_IN_REPLY_TO_ID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InstanceKey">
            <summary>
            The MAPI property PR_INSTANCE_KEY.
            </summary>
            <remarks>
            The MAPI property PR_INSTANCE_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetApprovedA">
            <summary>
            The MAPI property PR_INTERNET_APPROVED.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_APPROVED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetApprovedW">
            <summary>
            The MAPI property PR_INTERNET_APPROVED.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_APPROVED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetArticleNumber">
            <summary>
            The MAPI property PR_INTERNET_ARTICLE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_ARTICLE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetControlA">
            <summary>
            The MAPI property PR_INTERNET_CONTROL.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_CONTROL.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetControlW">
            <summary>
            The MAPI property PR_INTERNET_CONTROL.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_CONTROL.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetCPID">
            <summary>
            The MAPI property PR_INTERNET_CPID.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_CPID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetDistributionA">
            <summary>
            The MAPI property PR_INTERNET_DISTRIBUTION.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_DISTRIBUTION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetDistributionW">
            <summary>
            The MAPI property PR_INTERNET_DISTRIBUTION.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_DISTRIBUTION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetFollowupToA">
            <summary>
            The MAPI property PR_INTERNET_FOLLOWUP_TO.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_FOLLOWUP_TO.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetFollowupToW">
            <summary>
            The MAPI property PR_INTERNET_FOLLOWUP_TO.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_FOLLOWUP_TO.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetLines">
            <summary>
            The MAPI property PR_INTERNET_LINES.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_LINES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetMessageIdA">
            <summary>
            The MAPI property PR_INTERNET_MESSAGE_ID.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_MESSAGE_ID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetMessageIdW">
            <summary>
            The MAPI property PR_INTERNET_MESSAGE_ID.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_MESSAGE_ID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetNewsgroupsA">
            <summary>
            The MAPI property PR_INTERNET_NEWSGROUPS.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_NEWSGROUPS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetNewsgroupsW">
            <summary>
            The MAPI property PR_INTERNET_NEWSGROUPS.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_NEWSGROUPS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetNntpPathA">
            <summary>
            The MAPI property PR_INTERNET_NNTP_PATH.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_NNTP_PATH.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetNntpPathW">
            <summary>
            The MAPI property PR_INTERNET_NNTP_PATH.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_NNTP_PATH.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetOrganizationA">
            <summary>
            The MAPI property PR_INTERNET_ORGANIZATION.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_ORGANIZATION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetOrganizationW">
            <summary>
            The MAPI property PR_INTERNET_ORGANIZATION.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_ORGANIZATION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetPrecedenceA">
            <summary>
            The MAPI property PR_INTERNET_PRECEDENCE.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_PRECEDENCE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetPrecedenceW">
            <summary>
            The MAPI property PR_INTERNET_PRECEDENCE.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_PRECEDENCE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetReferencesA">
            <summary>
            The MAPI property PR_INTERNET_REFERENCES.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_REFERENCES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.InternetReferencesW">
            <summary>
            The MAPI property PR_INTERNET_REFERENCES.
            </summary>
            <remarks>
            The MAPI property PR_INTERNET_REFERENCES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.IpmId">
            <summary>
            The MAPI property PR_IPM_ID.
            </summary>
            <remarks>
            The MAPI property PR_IPM_ID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.IpmOutboxEntryId">
            <summary>
            The MAPI property PR_IPM_OUTBOX_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_IPM_OUTBOX_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.IpmOutboxSearchKey">
            <summary>
            The MAPI property PR_IPM_OUTBOX_SEARCH_KEY.
            </summary>
            <remarks>
            The MAPI property PR_IPM_OUTBOX_SEARCH_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.IpmReturnRequested">
            <summary>
            The MAPI property PR_IPM_RETURN_REQUESTED.
            </summary>
            <remarks>
            The MAPI property PR_IPM_RETURN_REQUESTED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.IpmSentmailEntryId">
            <summary>
            The MAPI property PR_IPM_SENTMAIL_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_IPM_SENTMAIL_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.IpmSentmailSearchKey">
            <summary>
            The MAPI property PR_IPM_SENTMAIL_SEARCH_KEY.
            </summary>
            <remarks>
            The MAPI property PR_IPM_SENTMAIL_SEARCH_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.IpmSubtreeEntryId">
            <summary>
            The MAPI property PR_IPM_SUBTREE_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_IPM_SUBTREE_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.IpmSubtreeSearchKey">
            <summary>
            The MAPI property PR_IPM_SUBTREE_SEARCH_KEY.
            </summary>
            <remarks>
            The MAPI property PR_IPM_SUBTREE_SEARCH_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.IpmWastebasketEntryId">
            <summary>
            The MAPI property PR_IPM_WASTEBASKET_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_IPM_WASTEBASKET_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.IpmWastebasketSearchKey">
            <summary>
            The MAPI property PR_IPM_WASTEBASKET_SEARCH_KEY.
            </summary>
            <remarks>
            The MAPI property PR_IPM_WASTEBASKET_SEARCH_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.IsdnNumberA">
            <summary>
            The MAPI property PR_ISDN_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_ISDN_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.IsdnNumberW">
            <summary>
            The MAPI property PR_ISDN_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_ISDN_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.KeywordA">
            <summary>
            The MAPI property PR_KEYWORD.
            </summary>
            <remarks>
            The MAPI property PR_KEYWORD.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.KeywordW">
            <summary>
            The MAPI property PR_KEYWORD.
            </summary>
            <remarks>
            The MAPI property PR_KEYWORD.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LanguageA">
            <summary>
            The MAPI property PR_LANGUAGE.
            </summary>
            <remarks>
            The MAPI property PR_LANGUAGE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LanguageW">
            <summary>
            The MAPI property PR_LANGUAGE.
            </summary>
            <remarks>
            The MAPI property PR_LANGUAGE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LanguagesA">
            <summary>
            The MAPI property PR_LANGUAGES.
            </summary>
            <remarks>
            The MAPI property PR_LANGUAGES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LanguagesW">
            <summary>
            The MAPI property PR_LANGUAGES.
            </summary>
            <remarks>
            The MAPI property PR_LANGUAGES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LastModificationTime">
            <summary>
            The MAPI property PR_LAST_MODIFICATION_TIME.
            </summary>
            <remarks>
            The MAPI property PR_LAST_MODIFICATION_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LastModifierNameA">
            <summary>
            The MAPI property PR_LAST_MODIFIER_NAME.
            </summary>
            <remarks>
            The MAPI property PR_LAST_MODIFIER_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LastModifierNameW">
            <summary>
            The MAPI property PR_LAST_MODIFIER_NAME.
            </summary>
            <remarks>
            The MAPI property PR_LAST_MODIFIER_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LatestDeliveryTime">
            <summary>
            The MAPI property PR_LATEST_DELIVERY_TIME.
            </summary>
            <remarks>
            The MAPI property PR_LATEST_DELIVERY_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ListHelpA">
            <summary>
            The MAPI property PR_LIST_HELP.
            </summary>
            <remarks>
            The MAPI property PR_LIST_HELP.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ListHelpW">
            <summary>
            The MAPI property PR_LIST_HELP.
            </summary>
            <remarks>
            The MAPI property PR_LIST_HELP.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ListSubscribeA">
            <summary>
            The MAPI property PR_LIST_SUBSCRIBE.
            </summary>
            <remarks>
            The MAPI property PR_LIST_SUBSCRIBE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ListSubscribeW">
            <summary>
            The MAPI property PR_LIST_SUBSCRIBE.
            </summary>
            <remarks>
            The MAPI property PR_LIST_SUBSCRIBE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ListUnsubscribeA">
            <summary>
            The MAPI property PR_LIST_UNSUBSCRIBE.
            </summary>
            <remarks>
            The MAPI property PR_LIST_UNSUBSCRIBE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ListUnsubscribeW">
            <summary>
            The MAPI property PR_LIST_UNSUBSCRIBE.
            </summary>
            <remarks>
            The MAPI property PR_LIST_UNSUBSCRIBE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LocalityA">
            <summary>
            The MAPI property PR_LOCALITY.
            </summary>
            <remarks>
            The MAPI property PR_LOCALITY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LocalityW">
            <summary>
            The MAPI property PR_LOCALITY.
            </summary>
            <remarks>
            The MAPI property PR_LOCALITY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LocationA">
            <summary>
            The MAPI property PR_LOCATION.
            </summary>
            <remarks>
            The MAPI property PR_LOCATION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LocationW">
            <summary>
            The MAPI property PR_LOCATION.
            </summary>
            <remarks>
            The MAPI property PR_LOCATION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LockBranchId">
            <summary>
            The MAPI property PR_LOCK_BRANCH_ID.
            </summary>
            <remarks>
            The MAPI property PR_LOCK_BRANCH_ID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LockDepth">
            <summary>
            The MAPI property PR_LOCK_DEPTH.
            </summary>
            <remarks>
            The MAPI property PR_LOCK_DEPTH.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LockEnlistmentContext">
            <summary>
            The MAPI property PR_LOCK_ENLISTMENT_CONTEXT.
            </summary>
            <remarks>
            The MAPI property PR_LOCK_ENLISTMENT_CONTEXT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LockExpiryTime">
            <summary>
            The MAPI property PR_LOCK_EXPIRY_TIME.
            </summary>
            <remarks>
            The MAPI property PR_LOCK_EXPIRY_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LockPersistent">
            <summary>
            The MAPI property PR_LOCK_PERSISTENT.
            </summary>
            <remarks>
            The MAPI property PR_LOCK_PERSISTENT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LockResourceDid">
            <summary>
            The MAPI property PR_LOCK_RESOURCE_DID.
            </summary>
            <remarks>
            The MAPI property PR_LOCK_RESOURCE_DID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LockResourceFid">
            <summary>
            The MAPI property PR_LOCK_RESOURCE_FID.
            </summary>
            <remarks>
            The MAPI property PR_LOCK_RESOURCE_FID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LockResourceMid">
            <summary>
            The MAPI property PR_LOCK_RESOURCE_MID.
            </summary>
            <remarks>
            The MAPI property PR_LOCK_RESOURCE_MID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LockScope">
            <summary>
            The MAPI property PR_LOCK_SCOPE.
            </summary>
            <remarks>
            The MAPI property PR_LOCK_SCOPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LockTimeout">
            <summary>
            The MAPI property PR_LOCK_TIMEOUT.
            </summary>
            <remarks>
            The MAPI property PR_LOCK_TIMEOUT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.LockType">
            <summary>
            The MAPI property PR_LOCK_TYPE.
            </summary>
            <remarks>
            The MAPI property PR_LOCK_TYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MailPermission">
            <summary>
            The MAPI property PR_MAIL_PERMISSION.
            </summary>
            <remarks>
            The MAPI property PR_MAIL_PERMISSION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ManagerNameA">
            <summary>
            The MAPI property PR_MANAGER_NAME.
            </summary>
            <remarks>
            The MAPI property PR_MANAGER_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ManagerNameW">
            <summary>
            The MAPI property PR_MANAGER_NAME.
            </summary>
            <remarks>
            The MAPI property PR_MANAGER_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MappingSignature">
            <summary>
            The MAPI property PR_MAPPING_SIGNATURE.
            </summary>
            <remarks>
            The MAPI property PR_MAPPING_SIGNATURE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MdbProvider">
            <summary>
            The MAPI property PR_MDB_PROVIDER.
            </summary>
            <remarks>
            The MAPI property PR_MDB_PROVIDER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MessageAttachments">
            <summary>
            The MAPI property PR_MESSAGE_ATTACHMENTS.
            </summary>
            <remarks>
            The MAPI property PR_MESSAGE_ATTACHMENTS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MessageCcMe">
            <summary>
            The MAPI property PR_MESSAGE_CC_ME.
            </summary>
            <remarks>
            The MAPI property PR_MESSAGE_CC_ME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MessageClassA">
            <summary>
            The MAPI property PR_MESSAGE_CLASS.
            </summary>
            <remarks>
            The MAPI property PR_MESSAGE_CLASS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MessageClassW">
            <summary>
            The MAPI property PR_MESSAGE_CLASS.
            </summary>
            <remarks>
            The MAPI property PR_MESSAGE_CLASS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MessageCodepage">
            <summary>
            The MAPI property PR_MESSAGE_CODEPAGE.
            </summary>
            <remarks>
            The MAPI property PR_MESSAGE_CODEPAGE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MessageDeliveryId">
            <summary>
            The MAPI property PR_MESSAGE_DELIVERY_ID.
            </summary>
            <remarks>
            The MAPI property PR_MESSAGE_DELIVERY_ID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MessageDeliveryTime">
            <summary>
            The MAPI property PR_MESSAGE_DELIVERY_TIME.
            </summary>
            <remarks>
            The MAPI property PR_MESSAGE_DELIVERY_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MessageDownloadTime">
            <summary>
            The MAPI property PR_MESSAGE_DOWNLOAD_TIME.
            </summary>
            <remarks>
            The MAPI property PR_MESSAGE_DOWNLOAD_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MessageFlags">
            <summary>
            The MAPI property PR_MESSAGE_FLAGS.
            </summary>
            <remarks>
            The MAPI property PR_MESSAGE_FLAGS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MessageRecipients">
            <summary>
            The MAPI property PR_MESSAGE_RECIPIENTS.
            </summary>
            <remarks>
            The MAPI property PR_MESSAGE_RECIPIENTS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MessageRecipMe">
            <summary>
            The MAPI property PR_MESSAGE_RECIP_ME.
            </summary>
            <remarks>
            The MAPI property PR_MESSAGE_RECIP_ME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MessageSecurityLabel">
            <summary>
            The MAPI property PR_MESSAGE_SECURITY_LABEL.
            </summary>
            <remarks>
            The MAPI property PR_MESSAGE_SECURITY_LABEL.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MessageSize">
            <summary>
            The MAPI property PR_MESSAGE_SIZE.
            </summary>
            <remarks>
            The MAPI property PR_MESSAGE_SIZE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MessageSubmissionId">
            <summary>
            The MAPI property PR_MESSAGE_SUBMISSION_ID.
            </summary>
            <remarks>
            The MAPI property PR_MESSAGE_SUBMISSION_ID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MessageToken">
            <summary>
            The MAPI property PR_MESSAGE_TOKEN.
            </summary>
            <remarks>
            The MAPI property PR_MESSAGE_TOKEN.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MessageToMe">
            <summary>
            The MAPI property PR_MESSAGE_TO_ME.
            </summary>
            <remarks>
            The MAPI property PR_MESSAGE_TO_ME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MhsCommonNameA">
            <summary>
            The MAPI property PR_MHS_COMMON_NAME.
            </summary>
            <remarks>
            The MAPI property PR_MHS_COMMON_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MhsCommonNameW">
            <summary>
            The MAPI property PR_MHS_COMMON_NAME.
            </summary>
            <remarks>
            The MAPI property PR_MHS_COMMON_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MiddleNameA">
            <summary>
            The MAPI property PR_MIDDLE_NAME.
            </summary>
            <remarks>
            The MAPI property PR_MIDDLE_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MiddleNameW">
            <summary>
            The MAPI property PR_MIDDLE_NAME.
            </summary>
            <remarks>
            The MAPI property PR_MIDDLE_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MiniIcon">
            <summary>
            The MAPI property PR_MINI_ICON.
            </summary>
            <remarks>
            The MAPI property PR_MINI_ICON.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MobileTelephoneNumberA">
            <summary>
            The MAPI property PR_MOBILE_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_MOBILE_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MobileTelephoneNumberW">
            <summary>
            The MAPI property PR_MOBILE_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_MOBILE_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ModifyVersion">
            <summary>
            The MAPI property PR_MODIFY_VERSION.
            </summary>
            <remarks>
            The MAPI property PR_MODIFY_VERSION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.MsgStatus">
            <summary>
            The MAPI property PR_MSG_STATUS.
            </summary>
            <remarks>
            The MAPI property PR_MSG_STATUS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.NdrDiagCode">
            <summary>
            The MAPI property PR_NDR_DIAG_CODE.
            </summary>
            <remarks>
            The MAPI property PR_NDR_DIAG_CODE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.NdrReasonCode">
            <summary>
            The MAPI property PR_NDR_REASON_CODE.
            </summary>
            <remarks>
            The MAPI property PR_NDR_REASON_CODE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.NdrStatusCode">
            <summary>
            The MAPI property PR_NDR_STATUS_CODE.
            </summary>
            <remarks>
            The MAPI property PR_NDR_STATUS_CODE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.NewsgroupNameA">
            <summary>
            The MAPI property PR_NEWSGROUP_NAME.
            </summary>
            <remarks>
            The MAPI property PR_NEWSGROUP_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.NewsgroupNameW">
            <summary>
            The MAPI property PR_NEWSGROUP_NAME.
            </summary>
            <remarks>
            The MAPI property PR_NEWSGROUP_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.NicknameA">
            <summary>
            The MAPI property PR_NICKNAME.
            </summary>
            <remarks>
            The MAPI property PR_NICKNAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.NicknameW">
            <summary>
            The MAPI property PR_NICKNAME.
            </summary>
            <remarks>
            The MAPI property PR_NICKNAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.NntpXrefA">
            <summary>
            The MAPI property PR_NNTP_XREF.
            </summary>
            <remarks>
            The MAPI property PR_NNTP_XREF.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.NntpXrefW">
            <summary>
            The MAPI property PR_NNTP_XREF.
            </summary>
            <remarks>
            The MAPI property PR_NNTP_XREF.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.NonReceiptNotificationRequested">
            <summary>
            The MAPI property PR_NON_RECEIPT_NOTIFICATION_REQUESTED.
            </summary>
            <remarks>
            The MAPI property PR_NON_RECEIPT_NOTIFICATION_REQUESTED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.NonReceiptReason">
            <summary>
            The MAPI property PR_NON_RECEIPT_REASON.
            </summary>
            <remarks>
            The MAPI property PR_NON_RECEIPT_REASON.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.NormalizedSubjectA">
            <summary>
            The MAPI property PR_NORMALIZED_SUBJECT.
            </summary>
            <remarks>
            The MAPI property PR_NORMALIZED_SUBJECT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.NormalizedSubjectW">
            <summary>
            The MAPI property PR_NORMALIZED_SUBJECT.
            </summary>
            <remarks>
            The MAPI property PR_NORMALIZED_SUBJECT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.NtSecurityDescriptor">
            <summary>
            The MAPI property PR_NT_SECURITY_DESCRIPTOR.
            </summary>
            <remarks>
            The MAPI property PR_NT_SECURITY_DESCRIPTOR.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Null">
            <summary>
            The MAPI property PR_NULL.
            </summary>
            <remarks>
            The MAPI property PR_NULL.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ObjectType">
            <summary>
            The MAPI property PR_OBJECT_TYPE.
            </summary>
            <remarks>
            The MAPI property PR_OBJECT_TYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ObsoletedIpms">
            <summary>
            The MAPI property PR_OBSOLETE_IPMS.
            </summary>
            <remarks>
            The MAPI property PR_OBSOLETE_IPMS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Office2TelephoneNumberA">
            <summary>
            The MAPI property PR_OFFICE2_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_OFFICE2_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Office2TelephoneNumberW">
            <summary>
            The MAPI property PR_OFFICE2_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_OFFICE2_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OfficeLocationA">
            <summary>
            The MAPI property PR_OFFICE_LOCATION.
            </summary>
            <remarks>
            The MAPI property PR_OFFICE_LOCATION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OfficeLocationW">
            <summary>
            The MAPI property PR_OFFICE_LOCATION.
            </summary>
            <remarks>
            The MAPI property PR_OFFICE_LOCATION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OfficeTelephoneNumberA">
            <summary>
            The MAPI property PR_OFFICE_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_OFFICE_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OfficeTelephoneNumberW">
            <summary>
            The MAPI property PR_OFFICE_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_OFFICE_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OofReplyType">
            <summary>
            The MAPI property PR_OOF_REPLY_TYPE.
            </summary>
            <remarks>
            The MAPI property PR_OOF_REPLY_TYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OrganizationalIdNumberA">
            <summary>
            The MAPI property PR_ORGANIZATIONAL_ID_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_ORGANIZATIONAL_ID_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OrganizationalIdNumberW">
            <summary>
            The MAPI property PR_ORGANIZATIONAL_ID_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_ORGANIZATIONAL_ID_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OrigEntryId">
            <summary>
            The MAPI property PR_ORIG_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_ORIG_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalAuthorAddrtypeA">
            <summary>
            The MAPI property PR_ORIGINAL_AUTHOR_ADDRTYPE.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_AUTHOR_ADDRTYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalAuthorAddrtypeW">
            <summary>
            The MAPI property PR_ORIGINAL_AUTHOR_ADDRTYPE.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_AUTHOR_ADDRTYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalAuthorEmailAddressA">
            <summary>
            The MAPI property PR_ORIGINAL_AUTHOR_EMAIL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_AUTHOR_EMAIL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalAuthorEmailAddressW">
            <summary>
            The MAPI property PR_ORIGINAL_AUTHOR_EMAIL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_AUTHOR_EMAIL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalAuthorEntryId">
            <summary>
            The MAPI property PR_ORIGINAL_AUTHOR_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_AUTHOR_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalAuthorNameA">
            <summary>
            The MAPI property PR_ORIGINAL_AUTHOR_NAME.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_AUTHOR_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalAuthorNameW">
            <summary>
            The MAPI property PR_ORIGINAL_AUTHOR_NAME.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_AUTHOR_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalAuthorSearchKey">
            <summary>
            The MAPI property PR_ORIGINAL_AUTHOR_SEARCH_KEY.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_AUTHOR_SEARCH_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalDeliveryTime">
            <summary>
            The MAPI property PR_ORIGINAL_DELIVERY_TIME.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_DELIVERY_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalDisplayBccA">
            <summary>
            The MAPI property PR_ORIGINAL_DISPLAY_BCC.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_DISPLAY_BCC.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalDisplayBccW">
            <summary>
            The MAPI property PR_ORIGINAL_DISPLAY_BCC.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_DISPLAY_BCC.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalDisplayCcA">
            <summary>
            The MAPI property PR_ORIGINAL_DISPLAY_CC.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_DISPLAY_CC.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalDisplayCcW">
            <summary>
            The MAPI property PR_ORIGINAL_DISPLAY_CC.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_DISPLAY_CC.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalDisplayNameA">
            <summary>
            The MAPI property PR_ORIGINAL_DISPLAY_NAME.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_DISPLAY_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalDisplayNameW">
            <summary>
            The MAPI property PR_ORIGINAL_DISPLAY_NAME.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_DISPLAY_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalDisplayToA">
            <summary>
            The MAPI property PR_ORIGINAL_DISPLAY_TO.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_DISPLAY_TO.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalDisplayToW">
            <summary>
            The MAPI property PR_ORIGINAL_DISPLAY_TO.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_DISPLAY_TO.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalEits">
            <summary>
            The MAPI property PR_ORIGINAL_EITS.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_EITS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalEntryId">
            <summary>
            The MAPI property PR_ORIGINAL_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginallyIntendedRecipAddrtypeA">
            <summary>
            The MAPI property PR_ORIGINALLY_INTENDED_RECIP_ADDRTYPE.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINALLY_INTENDED_RECIP_ADDRTYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginallyIntendedRecipAddrtypeW">
            <summary>
            The MAPI property PR_ORIGINALLY_INTENDED_RECIP_ADDRTYPE.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINALLY_INTENDED_RECIP_ADDRTYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginallyIntendedRecipEmailAddressA">
            <summary>
            The MAPI property PR_ORIGINALLY_INTENDED_RECIP_EMAIL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINALLY_INTENDED_RECIP_EMAIL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginallyIntendedRecipEmailAddressW">
            <summary>
            The MAPI property PR_ORIGINALLY_INTENDED_RECIP_EMAIL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINALLY_INTENDED_RECIP_EMAIL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginallyIntendedRecipEntryId">
            <summary>
            The MAPI property PR_ORIGINALLY_INTENDED_RECIP_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINALLY_INTENDED_RECIP_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginallyIntendedRecipientName">
            <summary>
            The MAPI property PR_ORIGINALLY_INTENDED_RECIPIENT_NAME.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINALLY_INTENDED_RECIPIENT_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSearchKey">
            <summary>
            The MAPI property PR_ORIGINAL_SEARCH_KEY.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SEARCH_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSenderAddrtypeA">
            <summary>
            The MAPI property PR_ORIGINAL_SENDER_ADDRTYPE.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SENDER_ADDRTYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSenderAddrtypeW">
            <summary>
            The MAPI property PR_ORIGINAL_SENDER_ADDRTYPE.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SENDER_ADDRTYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSenderEmailAddressA">
            <summary>
            The MAPI property PR_ORIGINAL_SENDER_EMAIL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SENDER_EMAIL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSenderEmailAddressW">
            <summary>
            The MAPI property PR_ORIGINAL_SENDER_EMAIL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SENDER_EMAIL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSenderEntryId">
            <summary>
            The MAPI property PR_ORIGINAL_SENDER_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SENDER_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSenderNameA">
            <summary>
            The MAPI property PR_ORIGINAL_SENDER_NAME.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SENDER_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSenderNameW">
            <summary>
            The MAPI property PR_ORIGINAL_SENDER_NAME.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SENDER_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSenderSearchKey">
            <summary>
            The MAPI property PR_ORIGINAL_SENDER_SEARCH_KEY.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SENDER_SEARCH_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSensitivity">
            <summary>
            The MAPI property PR_ORIGINAL_SENSITIVITY.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SENSITIVITY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSentRepresentingAddrtypeA">
            <summary>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_ADDRTYPE.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_ADDRTYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSentRepresentingAddrtypeW">
            <summary>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_ADDRTYPE.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_ADDRTYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSentRepresentingEmailAddressA">
            <summary>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_EMAIL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_EMAIL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSentRepresentingEmailAddressW">
            <summary>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_EMAIL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_EMAIL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSentRepresentingEntryId">
            <summary>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSentRepresentingNameA">
            <summary>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_NAME.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSentRepresentingNameW">
            <summary>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_NAME.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSentRepresentingSearchKey">
            <summary>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_SEARCH_KEY.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SENT_REPRESENTING_SEARCH_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSubjectA">
            <summary>
            The MAPI property PR_ORIGINAL_SUBJECT.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SUBJECT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSubjectW">
            <summary>
            The MAPI property PR_ORIGINAL_SUBJECT.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SUBJECT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginalSubmitTime">
            <summary>
            The MAPI property PR_ORIGINAL_SUBMIT_TIME.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINAL_SUBMIT_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginatingMtaCertificate">
            <summary>
            The MAPI property PR_ORIGINATING_MTA_CERTIFICATE.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINATING_MTA_CERTIFICATE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginatorAndDlExpansionHistory">
            <summary>
            The MAPI property PR_ORIGINATOR_AND_DL_EXPANSION_HISTORY.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINATOR_AND_DL_EXPANSION_HISTORY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginatorCertificate">
            <summary>
            The MAPI property PR_ORIGINATOR_CERTIFICATE.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINATOR_CERTIFICATE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginatorDeliveryReportRequested">
            <summary>
            The MAPI property PR_ORIGINATOR_DELIVERY_REPORT_REQUESTED.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINATOR_DELIVERY_REPORT_REQUESTED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginatorNonDeliveryReportRequested">
            <summary>
            The MAPI property PR_ORIGINATOR_NON_DELIVERY_REPORT_REQUESTED.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINATOR_NON_DELIVERY_REPORT_REQUESTED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginatorRequestedAlternateRecipient">
            <summary>
            The MAPI property PR_ORIGINATOR_REQUESTED_ALTERNATE_RECIPIENT.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINATOR_REQUESTED_ALTERNATE_RECIPIENT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginatorReturnAddress">
            <summary>
            The MAPI property PR_ORIGINATOR_RETURN_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_ORIGINATOR_RETURN_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OriginCheck">
            <summary>
            The MAPI property PR_ORIGIN_CHECK.
            </summary>
            <remarks>
            The MAPI property PR_ORIGIN_CHECK.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OrigMessageClassA">
            <summary>
            The MAPI property PR_ORIG_MESSAGE_CLASS.
            </summary>
            <remarks>
            The MAPI property PR_ORIG_MESSAGE_CLASS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OrigMessageClassW">
            <summary>
            The MAPI property PR_ORIG_MESSAGE_CLASS.
            </summary>
            <remarks>
            The MAPI property PR_ORIG_MESSAGE_CLASS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OtherAddressCityA">
            <summary>
            The MAPI property PR_OTHER_ADDRESS_CITY.
            </summary>
            <remarks>
            The MAPI property PR_OTHER_ADDRESS_CITY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OtherAddressCityW">
            <summary>
            The MAPI property PR_OTHER_ADDRESS_CITY.
            </summary>
            <remarks>
            The MAPI property PR_OTHER_ADDRESS_CITY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OtherAddressCountryA">
            <summary>
            The MAPI property PR_OTHER_ADDRESS_COUNTRY.
            </summary>
            <remarks>
            The MAPI property PR_OTHER_ADDRESS_COUNTRY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OtherAddressCountryW">
            <summary>
            The MAPI property PR_OTHER_ADDRESS_COUNTRY.
            </summary>
            <remarks>
            The MAPI property PR_OTHER_ADDRESS_COUNTRY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OtherAddressPostalCodeA">
            <summary>
            The MAPI property PR_OTHER_ADDRESS_POSTAL_CODE.
            </summary>
            <remarks>
            The MAPI property PR_OTHER_ADDRESS_POSTAL_CODE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OtherAddressPostalCodeW">
            <summary>
            The MAPI property PR_OTHER_ADDRESS_POSTAL_CODE.
            </summary>
            <remarks>
            The MAPI property PR_OTHER_ADDRESS_POSTAL_CODE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OtherAddressPostOfficeBoxA">
            <summary>
            The MAPI property PR_OTHER_ADDRESS_POST_OFFICE_BOX.
            </summary>
            <remarks>
            The MAPI property PR_OTHER_ADDRESS_POST_OFFICE_BOX.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OtherAddressPostOfficeBoxW">
            <summary>
            The MAPI property PR_OTHER_ADDRESS_POST_OFFICE_BOX.
            </summary>
            <remarks>
            The MAPI property PR_OTHER_ADDRESS_POST_OFFICE_BOX.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OtherAddressStateOrProvinceA">
            <summary>
            The MAPI property PR_OTHER_ADDRESS_STATE_OR_PROVINCE.
            </summary>
            <remarks>
            The MAPI property PR_OTHER_ADDRESS_STATE_OR_PROVINCE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OtherAddressStateOrProvinceW">
            <summary>
            The MAPI property PR_OTHER_ADDRESS_STATE_OR_PROVINCE.
            </summary>
            <remarks>
            The MAPI property PR_OTHER_ADDRESS_STATE_OR_PROVINCE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OtherAddressStreetA">
            <summary>
            The MAPI property PR_OTHER_ADDRESS_STREET.
            </summary>
            <remarks>
            The MAPI property PR_OTHER_ADDRESS_STREET.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OtherAddressStreetW">
            <summary>
            The MAPI property PR_OTHER_ADDRESS_STREET.
            </summary>
            <remarks>
            The MAPI property PR_OTHER_ADDRESS_STREET.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OtherTelephoneNumberA">
            <summary>
            The MAPI property PR_OTHER_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_OTHER_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OtherTelephoneNumberW">
            <summary>
            The MAPI property PR_OTHER_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_OTHER_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OwnerApptId">
            <summary>
            The MAPI property PR_OWNER_APPT_ID.
            </summary>
            <remarks>
            The MAPI property PR_OWNER_APPT_ID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.OwnStoreEntryId">
            <summary>
            The MAPI property PR_OWN_STORE_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_OWN_STORE_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PagerTelephoneNumberA">
            <summary>
            The MAPI property PR_PAGER_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_PAGER_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PagerTelephoneNumberW">
            <summary>
            The MAPI property PR_PAGER_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_PAGER_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ParentDisplayA">
            <summary>
            The MAPI property PR_PARENT_DISPLAY.
            </summary>
            <remarks>
            The MAPI property PR_PARENT_DISPLAY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ParentDisplayW">
            <summary>
            The MAPI property PR_PARENT_DISPLAY.
            </summary>
            <remarks>
            The MAPI property PR_PARENT_DISPLAY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ParentEntryId">
            <summary>
            The MAPI property PR_PARENT_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_PARENT_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ParentKey">
            <summary>
            The MAPI property PR_PARENT_KEY.
            </summary>
            <remarks>
            The MAPI property PR_PARENT_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PersonalHomePageA">
            <summary>
            The MAPI property PR_PERSONAL_HOME_PAGE.
            </summary>
            <remarks>
            The MAPI property PR_PERSONAL_HOME_PAGE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PersonalHomePageW">
            <summary>
            The MAPI property PR_PERSONAL_HOME_PAGE.
            </summary>
            <remarks>
            The MAPI property PR_PERSONAL_HOME_PAGE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PhysicalDeliveryBureauFaxDelivery">
            <summary>
            The MAPI property PR_PHYSICAL_DELIVERY_BUREAU_FAX_DELIVERY.
            </summary>
            <remarks>
            The MAPI property PR_PHYSICAL_DELIVERY_BUREAU_FAX_DELIVERY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PhysicalDeliveryMode">
            <summary>
            The MAPI property PR_PHYSICAL_DELIVERY_MODE.
            </summary>
            <remarks>
            The MAPI property PR_PHYSICAL_DELIVERY_MODE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PhysicalDeliveryReportRequest">
            <summary>
            The MAPI property PR_PHYSICAL_DELIVERY_REPORT_REQUEST.
            </summary>
            <remarks>
            The MAPI property PR_PHYSICAL_DELIVERY_REPORT_REQUEST.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PhysicalForwardingAddress">
            <summary>
            The MAPI property PR_PHYSICAL_FORWARDING_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_PHYSICAL_FORWARDING_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PhysicalForwardingAddressRequested">
            <summary>
            The MAPI property PR_PHYSICAL_FORWARDING_ADDRESS_REQUESTED.
            </summary>
            <remarks>
            The MAPI property PR_PHYSICAL_FORWARDING_ADDRESS_REQUESTED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PhysicalForwardingProhibited">
            <summary>
            The MAPI property PR_PHYSICAL_FORWARDING_PROHIBITED.
            </summary>
            <remarks>
            The MAPI property PR_PHYSICAL_FORWARDING_PROHIBITED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PhysicalRenditionAttributes">
            <summary>
            The MAPI property PR_PHYSICAL_RENDITION_ATTRIBUTES.
            </summary>
            <remarks>
            The MAPI property PR_PHYSICAL_RENDITION_ATTRIBUTES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PostalAddressA">
            <summary>
            The MAPI property PR_POSTAL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_POSTAL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PostalAddressW">
            <summary>
            The MAPI property PR_POSTAL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_POSTAL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PostalCodeA">
            <summary>
            The MAPI property PR_POSTAL_CODE.
            </summary>
            <remarks>
            The MAPI property PR_POSTAL_CODE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PostalCodeW">
            <summary>
            The MAPI property PR_POSTAL_CODE.
            </summary>
            <remarks>
            The MAPI property PR_POSTAL_CODE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PostFolderEntries">
            <summary>
            The MAPI property PR_POST_FOLDER_ENTRIES.
            </summary>
            <remarks>
            The MAPI property PR_POST_FOLDER_ENTRIES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PostFolderNamesA">
            <summary>
            The MAPI property PR_POST_FOLDER_NAMES.
            </summary>
            <remarks>
            The MAPI property PR_POST_FOLDER_NAMES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PostFolderNamesW">
            <summary>
            The MAPI property PR_POST_FOLDER_NAMES.
            </summary>
            <remarks>
            The MAPI property PR_POST_FOLDER_NAMES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PostOfficeBoxA">
            <summary>
            The MAPI property PR_POST_OFFICE_BOX.
            </summary>
            <remarks>
            The MAPI property PR_POST_OFFICE_BOX.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PostOfficeBoxW">
            <summary>
            The MAPI property PR_POST_OFFICE_BOX.
            </summary>
            <remarks>
            The MAPI property PR_POST_OFFICE_BOX.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PostReplyDenied">
            <summary>
            The MAPI property PR_POST_REPLY_DENIED.
            </summary>
            <remarks>
            The MAPI property PR_POST_REPLY_DENIED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PostReplyFolderEntries">
            <summary>
            The MAPI property PR_POST_REPLY_FOLDER_ENTRIES.
            </summary>
            <remarks>
            The MAPI property PR_POST_REPLY_FOLDER_ENTRIES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PostReplyFolderNamesA">
            <summary>
            The MAPI property PR_POST_REPLY_FOLDER_NAMES.
            </summary>
            <remarks>
            The MAPI property PR_POST_REPLY_FOLDER_NAMES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PostReplyFolderNamesW">
            <summary>
            The MAPI property PR_POST_REPLY_FOLDER_NAMES.
            </summary>
            <remarks>
            The MAPI property PR_POST_REPLY_FOLDER_NAMES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PreferredByNameA">
            <summary>
            The MAPI property PR_PREFERRED_BY_NAME.
            </summary>
            <remarks>
            The MAPI property PR_PREFERRED_BY_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PreferredByNameW">
            <summary>
            The MAPI property PR_PREFERRED_BY_NAME.
            </summary>
            <remarks>
            The MAPI property PR_PREFERRED_BY_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Preprocess">
            <summary>
            The MAPI property PR_PREPROCESS.
            </summary>
            <remarks>
            The MAPI property PR_PREPROCESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PrimaryCapability">
            <summary>
            The MAPI property PR_PRIMARY_CAPABILITY.
            </summary>
            <remarks>
            The MAPI property PR_PRIMARY_CAPABILITY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PrimaryFaxNumberA">
            <summary>
            The MAPI property PR_PRIMARY_FAX_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_PRIMARY_FAX_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PrimaryFaxNumberW">
            <summary>
            The MAPI property PR_PRIMARY_FAX_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_PRIMARY_FAX_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PrimaryTelephoneNumberA">
            <summary>
            The MAPI property PR_PRIMARY_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_PRIMARY_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.PrimaryTelephoneNumberW">
            <summary>
            The MAPI property PR_PRIMARY_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_PRIMARY_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Priority">
            <summary>
            The MAPI property PR_PRIORITY.
            </summary>
            <remarks>
            The MAPI property PR_PRIORITY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ProfessionA">
            <summary>
            The MAPI property PR_PROFESSION.
            </summary>
            <remarks>
            The MAPI property PR_PROFESSION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ProfessionW">
            <summary>
            The MAPI property PR_PROFESSION.
            </summary>
            <remarks>
            The MAPI property PR_PROFESSION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ProfileNameA">
            <summary>
            The MAPI property PR_PROFILE_NAME.
            </summary>
            <remarks>
            The MAPI property PR_PROFILE_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ProfileNameW">
            <summary>
            The MAPI property PR_PROFILE_NAME.
            </summary>
            <remarks>
            The MAPI property PR_PROFILE_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ProofOfDelivery">
            <summary>
            The MAPI property PR_PROOF_OF_DELIVERY.
            </summary>
            <remarks>
            The MAPI property PR_PROOF_OF_DELIVERY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ProofOfDeliveryRequested">
            <summary>
            The MAPI property PR_PROOF_OF_DELIVERY_REQUESTED.
            </summary>
            <remarks>
            The MAPI property PR_PROOF_OF_DELIVERY_REQUESTED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ProofOfSubmission">
            <summary>
            The MAPI property PR_PROOF_OF_SUBMISSION.
            </summary>
            <remarks>
            The MAPI property PR_PROOF_OF_SUBMISSION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ProofOfSubmissionRequested">
            <summary>
            The MAPI property PR_PROOF_OF_SUBMISSION_REQUESTED.
            </summary>
            <remarks>
            The MAPI property PR_PROOF_OF_SUBMISSION_REQUESTED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ProviderDisplayA">
            <summary>
            The MAPI property PR_PROVIDER_DISPLAY.
            </summary>
            <remarks>
            The MAPI property PR_PROVIDER_DISPLAY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ProviderDisplayW">
            <summary>
            The MAPI property PR_PROVIDER_DISPLAY.
            </summary>
            <remarks>
            The MAPI property PR_PROVIDER_DISPLAY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ProviderDllNameA">
            <summary>
            The MAPI property PR_PROVIDER_DLL_NAME.
            </summary>
            <remarks>
            The MAPI property PR_PROVIDER_DLL_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ProviderDllNameW">
            <summary>
            The MAPI property PR_PROVIDER_DLL_NAME.
            </summary>
            <remarks>
            The MAPI property PR_PROVIDER_DLL_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ProviderOrdinal">
            <summary>
            The MAPI property PR_PROVIDER_ORDINAL.
            </summary>
            <remarks>
            The MAPI property PR_PROVIDER_ORDINAL.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ProviderSubmitTime">
            <summary>
            The MAPI property PR_PROVIDER_SUBMIT_TIME.
            </summary>
            <remarks>
            The MAPI property PR_PROVIDER_SUBMIT_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ProviderUid">
            <summary>
            The MAPI property PR_PROVIDER_UID.
            </summary>
            <remarks>
            The MAPI property PR_PROVIDER_UID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Puid">
            <summary>
            The MAPI property PR_PUID.
            </summary>
            <remarks>
            The MAPI property PR_PUID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RadioTelephoneNumberA">
            <summary>
            The MAPI property PR_RADIO_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_RADIO_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RadioTelephoneNumberW">
            <summary>
            The MAPI property PR_RADIO_TELEPHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_RADIO_TELEPHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RcvdRepresentingAddrtypeA">
            <summary>
            The MAPI property PR_RCVD_REPRESENTING_ADDRTYPE.
            </summary>
            <remarks>
            The MAPI property PR_RCVD_REPRESENTING_ADDRTYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RcvdRepresentingAddrtypeW">
            <summary>
            The MAPI property PR_RCVD_REPRESENTING_ADDRTYPE.
            </summary>
            <remarks>
            The MAPI property PR_RCVD_REPRESENTING_ADDRTYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RcvdRepresentingEmailAddressA">
            <summary>
            The MAPI property PR_RCVD_REPRESENTING_EMAIL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_RCVD_REPRESENTING_EMAIL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RcvdRepresentingEmailAddressW">
            <summary>
            The MAPI property PR_RCVD_REPRESENTING_EMAIL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_RCVD_REPRESENTING_EMAIL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RcvdRepresentingEntryId">
            <summary>
            The MAPI property PR_RCVD_REPRESENTING_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_RCVD_REPRESENTING_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RcvdRepresentingNameA">
            <summary>
            The MAPI property PR_RCVD_REPRESENTING_NAME.
            </summary>
            <remarks>
            The MAPI property PR_RCVD_REPRESENTING_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RcvdRepresentingNameW">
            <summary>
            The MAPI property PR_RCVD_REPRESENTING_NAME.
            </summary>
            <remarks>
            The MAPI property PR_RCVD_REPRESENTING_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RcvdRepresentingSearchKey">
            <summary>
            The MAPI property PR_RCVD_REPRESENTING_SEARCH_KEY.
            </summary>
            <remarks>
            The MAPI property PR_RCVD_REPRESENTING_SEARCH_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReadReceiptEntryId">
            <summary>
            The MAPI property PR_READ_RECEIPT_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_READ_RECEIPT_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReadReceiptRequested">
            <summary>
            The MAPI property PR_READ_RECEIPT_REQUESTED.
            </summary>
            <remarks>
            The MAPI property PR_READ_RECEIPT_REQUESTED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReadReceiptSearchKey">
            <summary>
            The MAPI property PR_READ_RECEIPT_SEARCH_KEY.
            </summary>
            <remarks>
            The MAPI property PR_READ_RECEIPT_SEARCH_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReceiptTime">
            <summary>
            The MAPI property PR_RECEIPT_TIME.
            </summary>
            <remarks>
            The MAPI property PR_RECEIPT_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReceivedByAddrtypeA">
            <summary>
            The MAPI property PR_RECEIVED_BY_ADDRTYPE.
            </summary>
            <remarks>
            The MAPI property PR_RECEIVED_BY_ADDRTYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReceivedByAddrtypeW">
            <summary>
            The MAPI property PR_RECEIVED_BY_ADDRTYPE.
            </summary>
            <remarks>
            The MAPI property PR_RECEIVED_BY_ADDRTYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReceivedByEmailAddressA">
            <summary>
            The MAPI property PR_RECEIVED_BY_EMAIL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_RECEIVED_BY_EMAIL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReceivedByEmailAddressW">
            <summary>
            The MAPI property PR_RECEIVED_BY_EMAIL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_RECEIVED_BY_EMAIL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReceivedByEntryId">
            <summary>
            The MAPI property PR_RECEIVED_BY_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_RECEIVED_BY_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReceivedByNameA">
            <summary>
            The MAPI property PR_RECEIVED_BY_NAME.
            </summary>
            <remarks>
            The MAPI property PR_RECEIVED_BY_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReceivedByNameW">
            <summary>
            The MAPI property PR_RECEIVED_BY_NAME.
            </summary>
            <remarks>
            The MAPI property PR_RECEIVED_BY_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReceivedBySearchKey">
            <summary>
            The MAPI property PR_RECEIVED_BY_SEARCH_KEY.
            </summary>
            <remarks>
            The MAPI property PR_RECEIVED_BY_SEARCH_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReceiveFolderSettings">
            <summary>
            The MAPI property PR_RECEIVE_FOLDER_SETTINGS.
            </summary>
            <remarks>
            The MAPI property PR_RECEIVE_FOLDER_SETTINGS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RecipientCertificate">
            <summary>
            The MAPI property PR_RECIPIENT_CERTIFICATE.
            </summary>
            <remarks>
            The MAPI property PR_RECIPIENT_CERTIFICATE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RecipientDisplayNameA">
            <summary>
            The MAPI property PR_RECIPIENT_DISPLAY_NAME.
            </summary>
            <remarks>
            The MAPI property PR_RECIPIENT_DISPLAY_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RecipientDisplayNameW">
            <summary>
            The MAPI property PR_RECIPIENT_DISPLAY_NAME.
            </summary>
            <remarks>
            The MAPI property PR_RECIPIENT_DISPLAY_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RecipientNumberForAdviceA">
            <summary>
            The MAPI property PR_RECIPIENT_NUMBER_FOR_ADVICE.
            </summary>
            <remarks>
            The MAPI property PR_RECIPIENT_NUMBER_FOR_ADVICE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RecipientNumberForAdviceW">
            <summary>
            The MAPI property PR_RECIPIENT_NUMBER_FOR_ADVICE.
            </summary>
            <remarks>
            The MAPI property PR_RECIPIENT_NUMBER_FOR_ADVICE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RecipientReassignmentProhibited">
            <summary>
            The MAPI property PR_RECIPIENT_REASSIGNMENT_PROHIBITED.
            </summary>
            <remarks>
            The MAPI property PR_RECIPIENT_REASSIGNMENT_PROHIBITED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RecipientStatus">
            <summary>
            The MAPI property PR_RECIPIENT_STATUS.
            </summary>
            <remarks>
            The MAPI property PR_RECIPIENT_STATUS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RecipientType">
            <summary>
            The MAPI property PR_RECIPIENT_TYPE.
            </summary>
            <remarks>
            The MAPI property PR_RECIPIENT_TYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RedirectionHistory">
            <summary>
            The MAPI property PR_REDIRECTION_HISTORY.
            </summary>
            <remarks>
            The MAPI property PR_REDIRECTION_HISTORY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReferredByNameA">
            <summary>
            The MAPI property PR_REFERRED_BY_NAME.
            </summary>
            <remarks>
            The MAPI property PR_REFERRED_BY_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReferredByNameW">
            <summary>
            The MAPI property PR_REFERRED_BY_NAME.
            </summary>
            <remarks>
            The MAPI property PR_REFERRED_BY_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RegisteredMailType">
            <summary>
            The MAPI property PR_REGISTERED_MAIL_TYPE.
            </summary>
            <remarks>
            The MAPI property PR_REGISTERED_MAIL_TYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RelatedIpms">
            <summary>
            The MAPI property PR_RELATED_IPMS.
            </summary>
            <remarks>
            The MAPI property PR_RELATED_IPMS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RemoteProgress">
            <summary>
            The MAPI property PR_REMOTE_PROGRESS.
            </summary>
            <remarks>
            The MAPI property PR_REMOTE_PROGRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RemoteProgressTextA">
            <summary>
            The MAPI property PR_REMOTE_PROGRESS_TEXT.
            </summary>
            <remarks>
            The MAPI property PR_REMOTE_PROGRESS_TEXT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RemoteProgressTextW">
            <summary>
            The MAPI property PR_REMOTE_PROGRESS_TEXT.
            </summary>
            <remarks>
            The MAPI property PR_REMOTE_PROGRESS_TEXT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RemoteValidateOk">
            <summary>
            The MAPI property PR_REMOTE_VALIDATE_OK.
            </summary>
            <remarks>
            The MAPI property PR_REMOTE_VALIDATE_OK.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RenderingPosition">
            <summary>
            The MAPI property PR_RENDERING_POSITION.
            </summary>
            <remarks>
            The MAPI property PR_RENDERING_POSITION.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReplyRecipientEntries">
            <summary>
            The MAPI property PR_REPLY_RECIPIENT_ENTRIES.
            </summary>
            <remarks>
            The MAPI property PR_REPLY_RECIPIENT_ENTRIES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReplyRecipientNamesA">
            <summary>
            The MAPI property PR_REPLY_RECIPIENT_NAMES.
            </summary>
            <remarks>
            The MAPI property PR_REPLY_RECIPIENT_NAMES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReplyRecipientNamesW">
            <summary>
            The MAPI property PR_REPLY_RECIPIENT_NAMES.
            </summary>
            <remarks>
            The MAPI property PR_REPLY_RECIPIENT_NAMES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReplyRequested">
            <summary>
            The MAPI property PR_REPLY_REQUESTED.
            </summary>
            <remarks>
            The MAPI property PR_REPLY_REQUESTED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReplyTime">
            <summary>
            The MAPI property PR_REPLY_TIME.
            </summary>
            <remarks>
            The MAPI property PR_REPLY_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReportEntryId">
            <summary>
            The MAPI property PR_REPORT_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_REPORT_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReportingDlName">
            <summary>
            The MAPI property PR_REPORTING_DL_NAME.
            </summary>
            <remarks>
            The MAPI property PR_REPORTING_DL_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReportingMtaCertificate">
            <summary>
            The MAPI property PR_REPORTING_MTA_CERTIFICATE.
            </summary>
            <remarks>
            The MAPI property PR_REPORTING_MTA_CERTIFICATE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReportNameA">
            <summary>
            The MAPI property PR_REPORT_NAME.
            </summary>
            <remarks>
            The MAPI property PR_REPORT_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReportNameW">
            <summary>
            The MAPI property PR_REPORT_NAME.
            </summary>
            <remarks>
            The MAPI property PR_REPORT_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReportSearchKey">
            <summary>
            The MAPI property PR_REPORT_SEARCH_KEY.
            </summary>
            <remarks>
            The MAPI property PR_REPORT_SEARCH_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReportTag">
            <summary>
            The MAPI property PR_REPORT_TAG.
            </summary>
            <remarks>
            The MAPI property PR_REPORT_TAG.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReportTextA">
            <summary>
            The MAPI property PR_REPORT_TEXT.
            </summary>
            <remarks>
            The MAPI property PR_REPORT_TEXT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReportTextW">
            <summary>
            The MAPI property PR_REPORT_TEXT.
            </summary>
            <remarks>
            The MAPI property PR_REPORT_TEXT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReportTime">
            <summary>
            The MAPI property PR_REPORT_TIME.
            </summary>
            <remarks>
            The MAPI property PR_REPORT_TIME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RequestedDeliveryMethod">
            <summary>
            The MAPI property PR_REQUESTED_DELIVERY_METHOD.
            </summary>
            <remarks>
            The MAPI property PR_REQUESTED_DELIVERY_METHOD.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ResourceFlags">
            <summary>
            The MAPI property PR_RESOURCE_FLAGS.
            </summary>
            <remarks>
            The MAPI property PR_RESOURCE_FLAGS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ResourceMethods">
            <summary>
            The MAPI property PR_RESOURCE_METHODS.
            </summary>
            <remarks>
            The MAPI property PR_RESOURCE_METHODS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ResourcePathA">
            <summary>
            The MAPI property PR_RESOURCE_PATH.
            </summary>
            <remarks>
            The MAPI property PR_RESOURCE_PATH.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ResourcePathW">
            <summary>
            The MAPI property PR_RESOURCE_PATH.
            </summary>
            <remarks>
            The MAPI property PR_RESOURCE_PATH.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ResourceType">
            <summary>
            The MAPI property PR_RESOURCE_TYPE.
            </summary>
            <remarks>
            The MAPI property PR_RESOURCE_TYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ResponseRequested">
            <summary>
            The MAPI property PR_RESPONSE_REQUESTED.
            </summary>
            <remarks>
            The MAPI property PR_RESPONSE_REQUESTED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Responsibility">
            <summary>
            The MAPI property PR_RESPONSIBILITY.
            </summary>
            <remarks>
            The MAPI property PR_RESPONSIBILITY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ReturnedIpm">
            <summary>
            The MAPI property PR_RETURNED_IPM.
            </summary>
            <remarks>
            The MAPI property PR_RETURNED_IPM.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Rowid">
            <summary>
            The MAPI property PR_ROWID.
            </summary>
            <remarks>
            The MAPI property PR_ROWID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RowType">
            <summary>
            The MAPI property PR_ROW_TYPE.
            </summary>
            <remarks>
            The MAPI property PR_ROW_TYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RtfCompressed">
            <summary>
            The MAPI property PR_RTF_COMPRESSED.
            </summary>
            <remarks>
            The MAPI property PR_RTF_COMPRESSED.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RtfInSync">
            <summary>
            The MAPI property PR_RTF_IN_SYNC.
            </summary>
            <remarks>
            The MAPI property PR_RTF_IN_SYNC.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RtfSyncBodyCount">
            <summary>
            The MAPI property PR_RTF_SYNC_BODY_COUNT.
            </summary>
            <remarks>
            The MAPI property PR_RTF_SYNC_BODY_COUNT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RtfSyncBodyCrc">
            <summary>
            The MAPI property PR_RTF_SYNC_BODY_CRC.
            </summary>
            <remarks>
            The MAPI property PR_RTF_SYNC_BODY_CRC.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RtfSyncBodyTagA">
            <summary>
            The MAPI property PR_RTF_SYNC_BODY_TAG.
            </summary>
            <remarks>
            The MAPI property PR_RTF_SYNC_BODY_TAG.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RtfSyncBodyTagW">
            <summary>
            The MAPI property PR_RTF_SYNC_BODY_TAG.
            </summary>
            <remarks>
            The MAPI property PR_RTF_SYNC_BODY_TAG.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RtfSyncPrefixCount">
            <summary>
            The MAPI property PR_RTF_SYNC_PREFIX_COUNT.
            </summary>
            <remarks>
            The MAPI property PR_RTF_SYNC_PREFIX_COUNT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.RtfSyncTrailingCount">
            <summary>
            The MAPI property PR_RTF_SYNC_TRAILING_COUNT.
            </summary>
            <remarks>
            The MAPI property PR_RTF_SYNC_TRAILING_COUNT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Search">
            <summary>
            The MAPI property PR_SEARCH.
            </summary>
            <remarks>
            The MAPI property PR_SEARCH.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SearchKey">
            <summary>
            The MAPI property PR_SEARCH_KEY.
            </summary>
            <remarks>
            The MAPI property PR_SEARCH_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Security">
            <summary>
            The MAPI property PR_SECURITY.
            </summary>
            <remarks>
            The MAPI property PR_SECURITY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Selectable">
            <summary>
            The MAPI property PR_SELECTABLE.
            </summary>
            <remarks>
            The MAPI property PR_SELECTABLE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SenderAddrtypeA">
            <summary>
            The MAPI property PR_SENDER_ADDRTYPE.
            </summary>
            <remarks>
            The MAPI property PR_SENDER_ADDRTYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SenderAddrtypeW">
            <summary>
            The MAPI property PR_SENDER_ADDRTYPE.
            </summary>
            <remarks>
            The MAPI property PR_SENDER_ADDRTYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SenderEmailAddressA">
            <summary>
            The MAPI property PR_SENDER_EMAIL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_SENDER_EMAIL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SenderEmailAddressW">
            <summary>
            The MAPI property PR_SENDER_EMAIL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_SENDER_EMAIL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SenderEntryId">
            <summary>
            The MAPI property PR_SENDER_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_SENDER_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SenderNameA">
            <summary>
            The MAPI property PR_SENDER_NAME.
            </summary>
            <remarks>
            The MAPI property PR_SENDER_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SenderNameW">
            <summary>
            The MAPI property PR_SENDER_NAME.
            </summary>
            <remarks>
            The MAPI property PR_SENDER_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SenderSearchKey">
            <summary>
            The MAPI property PR_SENDER_SEARCH_KEY.
            </summary>
            <remarks>
            The MAPI property PR_SENDER_SEARCH_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SendInternetEncoding">
            <summary>
            The MAPI property PR_SEND_INTERNET_ENCODING.
            </summary>
            <remarks>
            The MAPI property PR_SEND_INTERNET_ENCODING.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SendRecallReport">
            <summary>
            The MAPI property PR_SEND_RECALL_REPORT
            </summary>
            <remarks>
            The MAPI property PR_SEND_RECALL_REPORT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SendRichInfo">
            <summary>
            The MAPI property PR_SEND_RICH_INFO.
            </summary>
            <remarks>
            The MAPI property PR_SEND_RICH_INFO.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Sensitivity">
            <summary>
            The MAPI property PR_SENSITIVITY.
            </summary>
            <remarks>
            The MAPI property PR_SENSITIVITY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SentmailEntryId">
            <summary>
            The MAPI property PR_SENTMAIL_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_SENTMAIL_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SentRepresentingAddrtypeA">
            <summary>
            The MAPI property PR_SENT_REPRESENTING_ADDRTYPE.
            </summary>
            <remarks>
            The MAPI property PR_SENT_REPRESENTING_ADDRTYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SentRepresentingAddrtypeW">
            <summary>
            The MAPI property PR_SENT_REPRESENTING_ADDRTYPE.
            </summary>
            <remarks>
            The MAPI property PR_SENT_REPRESENTING_ADDRTYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SentRepresentingEmailAddressA">
            <summary>
            The MAPI property PR_SENT_REPRESENTING_EMAIL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_SENT_REPRESENTING_EMAIL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SentRepresentingEmailAddressW">
            <summary>
            The MAPI property PR_SENT_REPRESENTING_EMAIL_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_SENT_REPRESENTING_EMAIL_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SentRepresentingEntryId">
            <summary>
            The MAPI property PR_SENT_REPRESENTING_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_SENT_REPRESENTING_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SentRepresentingNameA">
            <summary>
            The MAPI property PR_SENT_REPRESENTING_NAME.
            </summary>
            <remarks>
            The MAPI property PR_SENT_REPRESENTING_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SentRepresentingNameW">
            <summary>
            The MAPI property PR_SENT_REPRESENTING_NAME.
            </summary>
            <remarks>
            The MAPI property PR_SENT_REPRESENTING_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SentRepresentingSearchKey">
            <summary>
            The MAPI property PR_SENT_REPRESENTING_SEARCH_KEY.
            </summary>
            <remarks>
            The MAPI property PR_SENT_REPRESENTING_SEARCH_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ServiceDeleteFilesA">
            <summary>
            The MAPI property PR_SERVICE_DELETE_FILES.
            </summary>
            <remarks>
            The MAPI property PR_SERVICE_DELETE_FILES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ServiceDeleteFilesW">
            <summary>
            The MAPI property PR_SERVICE_DELETE_FILES.
            </summary>
            <remarks>
            The MAPI property PR_SERVICE_DELETE_FILES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ServiceDllNameA">
            <summary>
            The MAPI property PR_SERVICE_DLL_NAME.
            </summary>
            <remarks>
            The MAPI property PR_SERVICE_DLL_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ServiceDllNameW">
            <summary>
            The MAPI property PR_SERVICE_DLL_NAME.
            </summary>
            <remarks>
            The MAPI property PR_SERVICE_DLL_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ServiceEntryName">
            <summary>
            The MAPI property PR_SERVICE_ENTRY_NAME.
            </summary>
            <remarks>
            The MAPI property PR_SERVICE_ENTRY_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ServiceExtraUids">
            <summary>
            The MAPI property PR_SERVICE_EXTRA_UIDS.
            </summary>
            <remarks>
            The MAPI property PR_SERVICE_EXTRA_UIDS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ServiceNameA">
            <summary>
            The MAPI property PR_SERVICE_NAME.
            </summary>
            <remarks>
            The MAPI property PR_SERVICE_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ServiceNameW">
            <summary>
            The MAPI property PR_SERVICE_NAME.
            </summary>
            <remarks>
            The MAPI property PR_SERVICE_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Services">
            <summary>
            The MAPI property PR_SERVICES.
            </summary>
            <remarks>
            The MAPI property PR_SERVICES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ServiceSupportFilesA">
            <summary>
            The MAPI property PR_SERVICE_SUPPORT_FILES.
            </summary>
            <remarks>
            The MAPI property PR_SERVICE_SUPPORT_FILES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ServiceSupportFilesW">
            <summary>
            The MAPI property PR_SERVICE_SUPPORT_FILES.
            </summary>
            <remarks>
            The MAPI property PR_SERVICE_SUPPORT_FILES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ServiceUid">
            <summary>
            The MAPI property PR_SERVICE_UID.
            </summary>
            <remarks>
            The MAPI property PR_SERVICE_UID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SevenBitDisplayName">
            <summary>
            The MAPI property PR_SEVEN_BIT_DISPLAY_NAME.
            </summary>
            <remarks>
            The MAPI property PR_SEVEN_BIT_DISPLAY_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SmtpAddressA">
            <summary>
            The MAPI property PR_SMTP_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_SMTP_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SmtpAddressW">
            <summary>
            The MAPI property PR_SMTP_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_SMTP_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SpoolerStatus">
            <summary>
            The MAPI property PR_SPOOLER_STATUS.
            </summary>
            <remarks>
            The MAPI property PR_SPOOLER_STATUS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SpouseNameA">
            <summary>
            The MAPI property PR_SPOUSE_NAME.
            </summary>
            <remarks>
            The MAPI property PR_SPOUSE_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SpouseNameW">
            <summary>
            The MAPI property PR_SPOUSE_NAME.
            </summary>
            <remarks>
            The MAPI property PR_SPOUSE_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.StartDate">
            <summary>
            The MAPI property PR_START_DATE.
            </summary>
            <remarks>
            The MAPI property PR_START_DATE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.StateOrProvinceA">
            <summary>
            The MAPI property PR_STATE_OR_PROVINCE.
            </summary>
            <remarks>
            The MAPI property PR_STATE_OR_PROVINCE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.StateOrProvinceW">
            <summary>
            The MAPI property PR_STATE_OR_PROVINCE.
            </summary>
            <remarks>
            The MAPI property PR_STATE_OR_PROVINCE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Status">
            <summary>
            The MAPI property PR_STATUS.
            </summary>
            <remarks>
            The MAPI property PR_STATUS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.StatusCode">
            <summary>
            The MAPI property PR_STATUS_CODE.
            </summary>
            <remarks>
            The MAPI property PR_STATUS_CODE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.StatusStringA">
            <summary>
            The MAPI property PR_STATUS_STRING.
            </summary>
            <remarks>
            The MAPI property PR_STATUS_STRING.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.StatusStringW">
            <summary>
            The MAPI property PR_STATUS_STRING.
            </summary>
            <remarks>
            The MAPI property PR_STATUS_STRING.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.StoreEntryId">
            <summary>
            The MAPI property PR_STORE_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_STORE_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.StoreProviders">
            <summary>
            The MAPI property PR_STORE_PROVIDERS.
            </summary>
            <remarks>
            The MAPI property PR_STORE_PROVIDERS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.StoreRecordKey">
            <summary>
            The MAPI property PR_STORE_RECORD_KEY.
            </summary>
            <remarks>
            The MAPI property PR_STORE_RECORD_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.StoreState">
            <summary>
            The MAPI property PR_STORE_STATE.
            </summary>
            <remarks>
            The MAPI property PR_STORE_STATE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.StoreSupportMask">
            <summary>
            The MAPI property PR_STORE_SUPPORT_MASK.
            </summary>
            <remarks>
            The MAPI property PR_STORE_SUPPORT_MASK.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.StreetAddressA">
            <summary>
            The MAPI property PR_STREET_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_STREET_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.StreetAddressW">
            <summary>
            The MAPI property PR_STREET_ADDRESS.
            </summary>
            <remarks>
            The MAPI property PR_STREET_ADDRESS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Subfolders">
            <summary>
            The MAPI property PR_SUBFOLDERS.
            </summary>
            <remarks>
            The MAPI property PR_SUBFOLDERS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SubjectA">
            <summary>
            The MAPI property PR_SUBJECT.
            </summary>
            <remarks>
            The MAPI property PR_SUBJECT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SubjectW">
            <summary>
            The MAPI property PR_SUBJECT.
            </summary>
            <remarks>
            The MAPI property PR_SUBJECT.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SubjectIpm">
            <summary>
            The MAPI property PR_SUBJECT_IPM.
            </summary>
            <remarks>
            The MAPI property PR_SUBJECT_IPM.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SubjectPrefixA">
            <summary>
            The MAPI property PR_SUBJECT_PREFIX.
            </summary>
            <remarks>
            The MAPI property PR_SUBJECT_PREFIX.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SubjectPrefixW">
            <summary>
            The MAPI property PR_SUBJECT_PREFIX.
            </summary>
            <remarks>
            The MAPI property PR_SUBJECT_PREFIX.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SubmitFlags">
            <summary>
            The MAPI property PR_SUBMIT_FLAGS.
            </summary>
            <remarks>
            The MAPI property PR_SUBMIT_FLAGS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SupersedesA">
            <summary>
            The MAPI property PR_SUPERSEDES.
            </summary>
            <remarks>
            The MAPI property PR_SUPERSEDES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SupersedesW">
            <summary>
            The MAPI property PR_SUPERSEDES.
            </summary>
            <remarks>
            The MAPI property PR_SUPERSEDES.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SupplementaryInfoA">
            <summary>
            The MAPI property PR_SUPPLEMENTARY_INFO.
            </summary>
            <remarks>
            The MAPI property PR_SUPPLEMENTARY_INFO.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SupplementaryInfoW">
            <summary>
            The MAPI property PR_SUPPLEMENTARY_INFO.
            </summary>
            <remarks>
            The MAPI property PR_SUPPLEMENTARY_INFO.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SurnameA">
            <summary>
            The MAPI property PR_SURNAME.
            </summary>
            <remarks>
            The MAPI property PR_SURNAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.SurnameW">
            <summary>
            The MAPI property PR_SURNAME.
            </summary>
            <remarks>
            The MAPI property PR_SURNAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.TelexNumberA">
            <summary>
            The MAPI property PR_TELEX_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_TELEX_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.TelexNumberW">
            <summary>
            The MAPI property PR_TELEX_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_TELEX_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Templateid">
            <summary>
            The MAPI property PR_TEMPLATEID.
            </summary>
            <remarks>
            The MAPI property PR_TEMPLATEID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.TitleA">
            <summary>
            The MAPI property PR_TITLE.
            </summary>
            <remarks>
            The MAPI property PR_TITLE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.TitleW">
            <summary>
            The MAPI property PR_TITLE.
            </summary>
            <remarks>
            The MAPI property PR_TITLE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.TnefCorrelationKey">
            <summary>
            The MAPI property PR_TNEF_CORRELATION_KEY.
            </summary>
            <remarks>
            The MAPI property PR_TNEF_CORRELATION_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.TransmitableDisplayNameA">
            <summary>
            The MAPI property PR_TRANSMITABLE_DISPLAY_NAME.
            </summary>
            <remarks>
            The MAPI property PR_TRANSMITABLE_DISPLAY_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.TransmitableDisplayNameW">
            <summary>
            The MAPI property PR_TRANSMITABLE_DISPLAY_NAME.
            </summary>
            <remarks>
            The MAPI property PR_TRANSMITABLE_DISPLAY_NAME.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.TransportKey">
            <summary>
            The MAPI property PR_TRANSPORT_KEY.
            </summary>
            <remarks>
            The MAPI property PR_TRANSPORT_KEY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.TransportMessageHeadersA">
            <summary>
            The MAPI property PR_TRANSPORT_MESSAGE_HEADERS.
            </summary>
            <remarks>
            The MAPI property PR_TRANSPORT_MESSAGE_HEADERS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.TransportMessageHeadersW">
            <summary>
            The MAPI property PR_TRANSPORT_MESSAGE_HEADERS.
            </summary>
            <remarks>
            The MAPI property PR_TRANSPORT_MESSAGE_HEADERS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.TransportProviders">
            <summary>
            The MAPI property PR_TRANSPORT_PROVIDERS.
            </summary>
            <remarks>
            The MAPI property PR_TRANSPORT_PROVIDERS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.TransportStatus">
            <summary>
            The MAPI property PR_TRANSPORT_STATUS.
            </summary>
            <remarks>
            The MAPI property PR_TRANSPORT_STATUS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.TtytddPhoneNumberA">
            <summary>
            The MAPI property PR_TTYDD_PHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_TTYDD_PHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.TtytddPhoneNumberW">
            <summary>
            The MAPI property PR_TTYDD_PHONE_NUMBER.
            </summary>
            <remarks>
            The MAPI property PR_TTYDD_PHONE_NUMBER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.TypeOfMtsUser">
            <summary>
            The MAPI property PR_TYPE_OF_MTS_USER.
            </summary>
            <remarks>
            The MAPI property PR_TYPE_OF_MTS_USER.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.UserCertificate">
            <summary>
            The MAPI property PR_USER_CERTIFICATE.
            </summary>
            <remarks>
            The MAPI property PR_USER_CERTIFICATE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.UserX509Certificate">
            <summary>
            The MAPI property PR_USER_X509_CERTIFICATE.
            </summary>
            <remarks>
            The MAPI property PR_USER_X509_CERTIFICATE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ValidFolderMask">
            <summary>
            The MAPI property PR_VALID_FOLDER_MASK.
            </summary>
            <remarks>
            The MAPI property PR_VALID_FOLDER_MASK.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.ViewsEntryId">
            <summary>
            The MAPI property PR_VIEWS_ENTRYID.
            </summary>
            <remarks>
            The MAPI property PR_VIEWS_ENTRYID.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.WeddingAnniversary">
            <summary>
            The MAPI property PR_WEDDING_ANNIVERSARY.
            </summary>
            <remarks>
            The MAPI property PR_WEDDING_ANNIVERSARY.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.X400ContentType">
            <summary>
            The MAPI property PR_X400_CONTENT_TYPE.
            </summary>
            <remarks>
            The MAPI property PR_X400_CONTENT_TYPE.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.X400DeferredDeliveryCancel">
            <summary>
            The MAPI property PR_X400_DEFERRED_DELIVERY_CANCEL.
            </summary>
            <remarks>
            The MAPI property PR_X400_DEFERRED_DELIVERY_CANCEL.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Xpos">
            <summary>
            The MAPI property PR_XPOS.
            </summary>
            <remarks>
            The MAPI property PR_XPOS.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyTag.Ypos">
            <summary>
            The MAPI property PR_YPOS.
            </summary>
            <remarks>
            The MAPI property PR_YPOS.
            </remarks>
        </member>
        <member name="P:MimeKit.Tnef.TnefPropertyTag.Id">
            <summary>
            Get the property identifier.
            </summary>
            <remarks>
            Gets the property identifier.
            </remarks>
            <value>The identifier.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefPropertyTag.IsMultiValued">
            <summary>
            Get a value indicating whether the property contains multiple values.
            </summary>
            <remarks>
            Gets a value indicating whether the property contains multiple values.
            </remarks>
            <value><see langword="true" /> if the property contains multiple values; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefPropertyTag.IsNamed">
            <summary>
            Get a value indicating whether the property has a special name.
            </summary>
            <remarks>
            Gets a value indicating whether the property has a special name.
            </remarks>
            <value><see langword="true" /> if the property has a special name; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefPropertyTag.IsTnefTypeValid">
            <summary>
            Get a value indicating whether the property value type is valid.
            </summary>
            <remarks>
            Gets a value indicating whether the property value type is valid.
            </remarks>
            <value><see langword="true" /> if the property value type is valid; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefPropertyTag.TnefType">
            <summary>
            Get the property's value type (including the multi-valued bit).
            </summary>
            <remarks>
            Gets the property's value type (including the multi-valued bit).
            </remarks>
            <value>The property's value type.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefPropertyTag.ValueTnefType">
            <summary>
            Get the type of the value that the property contains.
            </summary>
            <remarks>
            Gets the type of the value that the property contains.
            </remarks>
            <value>The type of the value.</value>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyTag.#ctor(System.Int32)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Tnef.TnefPropertyTag"/> struct.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Tnef.TnefPropertyTag"/> based on a 32-bit integer tag as read from
            a TNEF stream.
            </remarks>
            <param name="tag">The property tag.</param>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyTag.#ctor(MimeKit.Tnef.TnefPropertyId,MimeKit.Tnef.TnefPropertyType)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Tnef.TnefPropertyTag"/> struct.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Tnef.TnefPropertyTag"/> based on a <see cref="T:MimeKit.Tnef.TnefPropertyId"/>
            and <see cref="T:MimeKit.Tnef.TnefPropertyType"/>.
            </remarks>
            <param name="id">The property identifier.</param>
            <param name="type">The property type.</param>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyTag.op_Implicit(System.Int32)~MimeKit.Tnef.TnefPropertyTag">
            <summary>
            Cast an integer tag value into a TNEF property tag.
            </summary>
            <remarks>
            Casts an integer tag value into a TNEF property tag.
            </remarks>
            <returns>A <see cref="T:MimeKit.Tnef.TnefPropertyTag"/> that represents the integer tag value.</returns>
            <param name="tag">The integer tag value.</param>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyTag.op_Implicit(MimeKit.Tnef.TnefPropertyTag)~System.Int32">
            <summary>
            Cast a TNEF property tag into a 32-bit integer value.
            </summary>
            <remarks>
            Casts a TNEF property tag into a 32-bit integer value.
            </remarks>
            <returns>A 32-bit integer value representing the TNEF property tag.</returns>
            <param name="tag">The TNEF property tag.</param>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyTag.GetHashCode">
            <summary>
            Serves as a hash function for a <see cref="T:MimeKit.Tnef.TnefPropertyTag"/> object.
            </summary>
            <remarks>
            Serves as a hash function for a <see cref="T:MimeKit.Tnef.TnefPropertyTag"/> object.
            </remarks>
            <returns>A hash code for this instance that is suitable for use in hashing algorithms
            and data structures such as a hash table.</returns>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyTag.Equals(System.Object)">
            <summary>
            Determine whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:MimeKit.Tnef.TnefPropertyTag"/>.
            </summary>
            <remarks>
            Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:MimeKit.Tnef.TnefPropertyTag"/>.
            </remarks>
            <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:MimeKit.Tnef.TnefPropertyTag"/>.</param>
            <returns><see langword="true" /> if the specified <see cref="T:System.Object"/> is equal to the current
            <see cref="T:MimeKit.Tnef.TnefPropertyTag"/>; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyTag.ToString">
            <summary>
            Return a <see cref="T:System.String"/> that represents the current <see cref="T:MimeKit.Tnef.TnefPropertyTag"/>.
            </summary>
            <remarks>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MimeKit.Tnef.TnefPropertyTag"/>.
            </remarks>
            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:MimeKit.Tnef.TnefPropertyTag"/>.</returns>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyTag.ToUnicode">
            <summary>
            Return a new <see cref="T:MimeKit.Tnef.TnefPropertyTag"/> where the type has been changed to <see cref="F:MimeKit.Tnef.TnefPropertyType.Unicode"/>.
            </summary>
            <remarks>
            Returns a new <see cref="T:MimeKit.Tnef.TnefPropertyTag"/> where the type has been changed to <see cref="F:MimeKit.Tnef.TnefPropertyType.Unicode"/>.
            </remarks>
            <returns>The unicode equivalent of the property tag.</returns>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyTag.op_Equality(MimeKit.Tnef.TnefPropertyTag,MimeKit.Tnef.TnefPropertyTag)">
            <summary>
            Compare two <see cref="T:MimeKit.Tnef.TnefPropertyTag"/> objects for equality.
            </summary>
            <remarks>
            Compares two <see cref="T:MimeKit.Tnef.TnefPropertyTag"/> objects for equality.
            </remarks>
            <param name="left">The first object to compare.</param>
            <param name="right">The second object to compare.</param>
            <returns><see langword="true" /> if <paramref name="left"/> and <paramref name="right"/> are equal; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:MimeKit.Tnef.TnefPropertyTag.op_Inequality(MimeKit.Tnef.TnefPropertyTag,MimeKit.Tnef.TnefPropertyTag)">
            <summary>
            Compare two <see cref="T:MimeKit.Tnef.TnefPropertyTag"/> objects for inequality.
            </summary>
            <remarks>
            Compares two <see cref="T:MimeKit.Tnef.TnefPropertyTag"/> objects for inequality.
            </remarks>
            <param name="left">The first object to compare.</param>
            <param name="right">The second object to compare.</param>
            <returns><see langword="true" /> if <paramref name="left"/> and <paramref name="right"/> are unequal; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="T:MimeKit.Tnef.TnefPropertyType">
            <summary>
            The type of value that a TNEF property contains.
            </summary>
            <remarks>
            The type of value that a TNEF property contains.
            </remarks>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyType.Unspecified">
            <summary>
            The type of the property is unspecified.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyType.Null">
            <summary>
            The property has a null value.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyType.I2">
            <summary>
            The property has a signed 16-bit value.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyType.Long">
            <summary>
            The property has a signed 32-bit value.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyType.R4">
            <summary>
            The property has a 32-bit floating point value.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyType.Double">
            <summary>
            The property has a 64-bit floating point value.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyType.Currency">
            <summary>
            The property has a 64-bit integer value representing 1/10000th of a monetary unit (i.e., 1/100th of a cent).
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyType.AppTime">
            <summary>
            The property has a 64-bit integer value specifying the number of 100ns periods since Jan 1, 1601.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyType.Error">
            <summary>
            The property has a 32-bit error value.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyType.Boolean">
            <summary>
            The property has a boolean value.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyType.Object">
            <summary>
            The property has an embedded object value.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyType.I8">
            <summary>
            The property has a signed 64-bit value.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyType.String8">
            <summary>
            The property has a null-terminated 8-bit character string value.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyType.Unicode">
            <summary>
            The property has a null-terminated unicode character string value.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyType.SysTime">
            <summary>
            The property has a 64-bit integer value specifying the number of 100ns periods since Jan 1, 1601.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyType.ClassId">
            <summary>
            The property has an OLE GUID value.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyType.Binary">
            <summary>
            The property has a binary blob value.
            </summary>
        </member>
        <member name="F:MimeKit.Tnef.TnefPropertyType.MultiValued">
            <summary>
            A flag indicating that the property contains multiple values.
            </summary>
        </member>
        <member name="T:MimeKit.Tnef.TnefReader">
            <summary>
            A TNEF reader.
            </summary>
            <remarks>
            A TNEF reader.
            </remarks>
        </member>
        <member name="P:MimeKit.Tnef.TnefReader.AttachmentKey">
            <summary>
            Get the attachment key value.
            </summary>
            <remarks>
            Gets the attachment key value.
            </remarks>
            <value>The attachment key value.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefReader.AttributeLevel">
            <summary>
            Get the current attribute's level.
            </summary>
            <remarks>
            Gets the current attribute's level.
            </remarks>
            <value>The current attribute's level.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefReader.AttributeRawValueLength">
            <summary>
            Get the length of the current attribute's raw value.
            </summary>
            <remarks>
            Gets the length of the current attribute's raw value.
            </remarks>
            <value>The length of the current attribute's raw value.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefReader.AttributeRawValueStreamOffset">
            <summary>
            Get the stream offset of the current attribute's raw value.
            </summary>
            <remarks>
            Gets the stream offset of the current attribute's raw value.
            </remarks>
            <value>The stream offset of the current attribute's raw value.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefReader.AttributeTag">
            <summary>
            Get the current attribute's tag.
            </summary>
            <remarks>
            Gets the current attribute's tag.
            </remarks>
            <value>The current attribute's tag.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefReader.ComplianceMode">
            <summary>
            Get the compliance mode.
            </summary>
            <remarks>
            Gets the compliance mode.
            </remarks>
            <value>The compliance mode.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefReader.ComplianceStatus">
            <summary>
            Get the current compliance status of the TNEF stream.
            </summary>
            <remarks>
            <para>Gets the current compliance status of the TNEF stream.</para>
            <para>As the reader progresses, this value may change if errors are encountered.</para>
            </remarks>
            <value>The compliance status.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefReader.MessageCodepage">
            <summary>
            Get the message codepage.
            </summary>
            <remarks>
            Gets the message codepage.
            </remarks>
            <value>The message codepage.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefReader.TnefPropertyReader">
            <summary>
            Get the TNEF property reader.
            </summary>
            <remarks>
            Gets the TNEF property reader.
            </remarks>
            <value>The TNEF property reader.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefReader.StreamOffset">
            <summary>
            Get the current stream offset.
            </summary>
            <remarks>
            Gets the current stream offset.
            </remarks>
            <value>The stream offset.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefReader.TnefVersion">
            <summary>
            Get the TNEF version.
            </summary>
            <remarks>
            Gets the TNEF version.
            </remarks>
            <value>The TNEF version.</value>
        </member>
        <member name="M:MimeKit.Tnef.TnefReader.#ctor(System.IO.Stream,System.Int32,MimeKit.Tnef.TnefComplianceMode)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Tnef.TnefReader"/> class.
            </summary>
            <remarks>
            <para>When reading a TNEF stream using the <see cref="F:MimeKit.Tnef.TnefComplianceMode.Strict"/> mode,
            a <see cref="T:MimeKit.Tnef.TnefException"/> will be thrown immediately at the first sign of
            invalid or corrupted data.</para>
            <para>When reading a TNEF stream using the <see cref="F:MimeKit.Tnef.TnefComplianceMode.Loose"/> mode,
            however, compliance issues are accumulated in the <see cref="P:MimeKit.Tnef.TnefReader.ComplianceMode"/>
            property, but exceptions are not raised unless the stream is too corrupted to continue.</para>
            </remarks>
            <param name="inputStream">The input stream.</param>
            <param name="defaultMessageCodepage">The default message codepage.</param>
            <param name="complianceMode">The compliance mode.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="inputStream"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="defaultMessageCodepage"/> is not a valid codepage.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="defaultMessageCodepage"/> is not a supported codepage.
            </exception>
            <exception cref="T:MimeKit.Tnef.TnefException">
            The TNEF stream is corrupted or invalid.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefReader.#ctor(System.IO.Stream)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Tnef.TnefReader"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Tnef.TnefReader"/> for the specified input stream.
            </remarks>
            <param name="inputStream">The input stream.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="inputStream"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefReader.Finalize">
            <summary>
            Releases unmanaged resources and performs other cleanup operations before the
            <see cref="T:MimeKit.Tnef.TnefReader"/> is reclaimed by garbage collection.
            </summary>
            <remarks>
            Releases unmanaged resources and performs other cleanup operations before the
            <see cref="T:MimeKit.Tnef.TnefReader"/> is reclaimed by garbage collection.
            </remarks>
        </member>
        <member name="M:MimeKit.Tnef.TnefReader.ReadNextAttribute">
            <summary>
            Advance to the next attribute in the TNEF stream.
            </summary>
            <remarks>
            Advances to the next attribute in the TNEF stream.
            </remarks>
            <returns><see langword="true" /> if there is another attribute available to be read; otherwise, <see langword="false" />.</returns>
            <exception cref="T:MimeKit.Tnef.TnefException">
            The TNEF stream is corrupted or invalid.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefReader.ReadAttributeRawValue(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Read the raw attribute value data from the underlying TNEF stream.
            </summary>
            <remarks>
            Reads the raw attribute value data from the underlying TNEF stream.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number
            of bytes requested if that many bytes are not available, or zero (0) if the end of the
            value has been reached.</returns>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of bytes to read.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefReader.ResetComplianceStatus">
            <summary>
            Reset the compliance status.
            </summary>
            <remarks>
            Resets the compliance status.
            </remarks>
        </member>
        <member name="M:MimeKit.Tnef.TnefReader.Close">
            <summary>
            Close the TNEF reader and the underlying stream.
            </summary>
            <remarks>
            Closes the TNEF reader and the underlying stream.
            </remarks>
        </member>
        <member name="M:MimeKit.Tnef.TnefReader.Dispose(System.Boolean)">
            <summary>
            Release the unmanaged resources used by the <see cref="T:MimeKit.Tnef.TnefReader"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MimeKit.Tnef.TnefReader"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="M:MimeKit.Tnef.TnefReader.Dispose">
            <summary>
            Release all resource used by the <see cref="T:MimeKit.Tnef.TnefReader"/> object.
            </summary>
            <remarks>Call <see cref="M:MimeKit.Tnef.TnefReader.Dispose"/> when you are finished using the <see cref="T:MimeKit.Tnef.TnefReader"/>. The
            <see cref="M:MimeKit.Tnef.TnefReader.Dispose"/> method leaves the <see cref="T:MimeKit.Tnef.TnefReader"/> in an unusable state. After calling
            <see cref="M:MimeKit.Tnef.TnefReader.Dispose"/>, you must release all references to the <see cref="T:MimeKit.Tnef.TnefReader"/> so the garbage
            collector can reclaim the memory that the <see cref="T:MimeKit.Tnef.TnefReader"/> was occupying.</remarks>
        </member>
        <member name="T:MimeKit.Tnef.TnefReaderStream">
            <summary>
            A stream for reading raw values from a <see cref="T:MimeKit.Tnef.TnefReader"/> or <see cref="T:MimeKit.Tnef.TnefPropertyReader"/>.
            </summary>
            <remarks>
            A stream for reading raw values from a <see cref="T:MimeKit.Tnef.TnefReader"/> or <see cref="T:MimeKit.Tnef.TnefPropertyReader"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Tnef.TnefReaderStream.#ctor(MimeKit.Tnef.TnefReader,System.Int32,System.Int32)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Tnef.TnefReaderStream"/> class.
            </summary>
            <remarks>
            Creates a stream for reading a raw value from the <see cref="T:MimeKit.Tnef.TnefReader"/>.
            </remarks>
            <param name="tnefReader">The <see cref="T:MimeKit.Tnef.TnefReader"/>.</param>
            <param name="dataEndOffset">The end offset of the data.</param>
            <param name="valueEndOffset">The end offset of the container value.</param>
        </member>
        <member name="P:MimeKit.Tnef.TnefReaderStream.CanRead">
            <summary>
            Check whether the stream supports reading.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.Tnef.TnefReaderStream"/> is always readable.
            </remarks>
            <value><see langword="true" /> if the stream supports reading; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefReaderStream.CanWrite">
            <summary>
            Check whether the stream supports writing.
            </summary>
            <remarks>
            Writing to a <see cref="T:MimeKit.Tnef.TnefReaderStream"/> is not supported.
            </remarks>
            <value><see langword="true" /> if the stream supports writing; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefReaderStream.CanSeek">
            <summary>
            Check whether the stream supports seeking.
            </summary>
            <remarks>
            Seeking within a <see cref="T:MimeKit.Tnef.TnefReaderStream"/> is not supported.
            </remarks>
            <value><see langword="true" /> if the stream supports seeking; otherwise, <see langword="false" />.</value>
        </member>
        <member name="P:MimeKit.Tnef.TnefReaderStream.Length">
            <summary>
            Get the length of the stream, in bytes.
            </summary>
            <remarks>
            Getting the length of a <see cref="T:MimeKit.Tnef.TnefReaderStream"/> is not supported.
            </remarks>
            <value>The length of the stream in bytes.</value>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
        </member>
        <member name="P:MimeKit.Tnef.TnefReaderStream.Position">
            <summary>
            Get or sets the current position within the stream.
            </summary>
            <remarks>
            Getting and setting the position of a <see cref="T:MimeKit.Tnef.TnefReaderStream"/> is not supported.
            </remarks>
            <value>The position of the stream.</value>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefReaderStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Read a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
            bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of bytes to read.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefReaderStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Write a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.Tnef.TnefReaderStream"/> does not support writing.
            </remarks>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefReaderStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Set the position within the current stream.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.Tnef.TnefReaderStream"/> does not support seeking.
            </remarks>
            <returns>The new position within the stream.</returns>
            <param name="offset">The offset into the stream relative to the <paramref name="origin"/>.</param>
            <param name="origin">The origin to seek from.</param>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefReaderStream.Flush">
            <summary>
            Clear all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.Tnef.TnefReaderStream"/> does not support writing.
            </remarks>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefReaderStream.SetLength(System.Int64)">
            <summary>
            Set the length of the stream.
            </summary>
            <remarks>
            The <see cref="T:MimeKit.Tnef.TnefReaderStream"/> does not support setting the length.
            </remarks>
            <param name="value">The desired length of the stream in bytes.</param>
            <exception cref="T:System.NotSupportedException">
            The stream does not support setting the length.
            </exception>
        </member>
        <member name="M:MimeKit.Tnef.TnefReaderStream.Dispose(System.Boolean)">
            <summary>
            Release the unmanaged resources used by the <see cref="T:MimeKit.Tnef.TnefReaderStream"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            The underlying <see cref="T:MimeKit.Tnef.TnefReader"/> is not disposed.
            </remarks>
            <param name="disposing"><see langword="true" /> to release both managed and unmanaged resources;
            <see langword="false" /> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MimeKit.Utils.BufferPool">
            <summary>
            Provides a pool of reusable buffers.
            </summary>
            <remarks>
            <para>
            Renting and returning buffers with a <see cref="T:MimeKit.Utils.BufferPool"/> can increase performance
            in situations where buffers are created and destroyed frequently, resulting in significant
            memory pressure on the garbage collector.
            </para>
            <para>
            This class is thread-safe.  All members may be used by multiple threads concurrently.
            </para>
            </remarks>
        </member>
        <member name="M:MimeKit.Utils.BufferPool.#ctor(System.Int32,System.Int32)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Utils.BufferPool"/> class.
            </summary>
            <remarks>
            Creates a new buffer pool.
            </remarks>
            <param name="bufferSize">The buffer size.</param>
            <param name="maxBufferCount">The maximum number of buffers that should be retained by the pool.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="bufferSize"/> is less than <c>1</c>.</para>
            <para>-or-</para>
            <para><paramref name="maxBufferCount"/> is less than <c>1</c>.</para>
            </exception>
        </member>
        <member name="P:MimeKit.Utils.BufferPool.BufferSize">
            <summary>
            Get the size of the buffers returned and/or retained by the pool.
            </summary>
            <remarks>
            Gets the size of the buffers returned and/or retained by the pool.
            </remarks>
            <value>The size of the buffer.</value>
        </member>
        <member name="P:MimeKit.Utils.BufferPool.MaxBufferCount">
            <summary>
            Get the maximum number of buffers that the pool should retain.
            </summary>
            <remarks>
            Gets the maximum number of buffers that the pool should retain.
            </remarks>
            <value>The max buffer count.</value>
        </member>
        <member name="M:MimeKit.Utils.BufferPool.Rent(System.Boolean)">
            <summary>
            Rent a buffer from the pool.
            </summary>
            <remarks>
            Returns a buffer from the pool. This buffer should later be returned back to the pool using
            <see cref="M:MimeKit.Utils.BufferPool.Return(System.Byte[])"/> when the caller is finished using it so that it may be reused
            in subsequent uses of <see cref="M:MimeKit.Utils.BufferPool.Rent(System.Boolean)"/>.
            </remarks>
            <returns>The rented buffer.</returns>
            <param name="clear"><see langword="true"/> if the buffer should be cleared; otherwise, <see langword="false"/>.</param>
        </member>
        <member name="M:MimeKit.Utils.BufferPool.Return(System.Byte[])">
            <summary>
            Return the specified buffer to the pool.
            </summary>
            <remarks>
            Once a buffer has been returned to the pool, the caller gives up all ownership of the buffer
            and must not use it. The reference returned from a given call to <see cref="M:MimeKit.Utils.BufferPool.Rent(System.Boolean)"/> must
            only be returned via <see cref="M:MimeKit.Utils.BufferPool.Return(System.Byte[])"/> once. The default <see cref="T:MimeKit.Utils.BufferPool"/>
            may hold onto the returned buffer in order to rent it again, or it may release the returned buffer
            if it is determined that the pool already contains the maximum number of buffers as specified by
            <see cref="P:MimeKit.Utils.BufferPool.MaxBufferCount"/>.
            </remarks>
            <param name="buffer">The buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The size of the <paramref name="buffer"/> does not match <see cref="P:MimeKit.Utils.BufferPool.BufferSize"/>.
            </exception>
        </member>
        <member name="T:MimeKit.Utils.Crc32">
            <summary>
            The 32-bit cyclic redundancy check (CRC) algorithm.
            </summary>
            <remarks>
            A cyclic redundancy check is a form of integrity check to make sure
            that a block of data has not been corrupted.
            </remarks>
        </member>
        <member name="M:MimeKit.Utils.Crc32.#ctor(System.Int32)">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Utils.Crc32"/> class.
            </summary>
            <remarks>
            Creates a new CRC32 context.
            </remarks>
            <param name="initialValue">The initial value.</param>
        </member>
        <member name="M:MimeKit.Utils.Crc32.Clone">
            <summary>
            Clone the CRC32 context and state.
            </summary>
            <remarks>
            Clones the CRC32 context and state.
            </remarks>
        </member>
        <member name="P:MimeKit.Utils.Crc32.Checksum">
            <summary>
            Get the computed checksum.
            </summary>
            <remarks>
            Gets the computed checksum.
            </remarks>
            <value>The checksum.</value>
        </member>
        <member name="M:MimeKit.Utils.Crc32.Update(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Update the CRC based on the specified block of data.
            </summary>
            <remarks>
            Updates the CRC based on the specified block of data.
            </remarks>
            <param name="buffer">The buffer to read data into.</param>
            <param name="offset">The offset into the buffer to start reading data.</param>
            <param name="count">The number of bytes to read.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes starting
            at the specified <paramref name="offset"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Utils.Crc32.Update(System.Byte)">
            <summary>
            Update the CRC based on the specified byte.
            </summary>
            <remarks>
            Updates the CRC based on the specified byte.
            </remarks>
            <param name="value">The byte value.</param>
        </member>
        <member name="M:MimeKit.Utils.Crc32.Reset">
            <summary>
            Reset the checksum so that the <see cref="T:MimeKit.Utils.Crc32"/> context can be reused.
            </summary>
            <remarks>
            Resets the checksum so that the <see cref="T:MimeKit.Utils.Crc32"/> context can be reused.
            </remarks>
        </member>
        <member name="T:MimeKit.Utils.DateUtils">
            <summary>
            Utility methods to parse and format rfc822 date strings.
            </summary>
            <remarks>
            Utility methods to parse and format rfc822 date strings.
            </remarks>
        </member>
        <member name="M:MimeKit.Utils.DateUtils.TryParse(System.Byte[],System.Int32,System.Int32,System.DateTimeOffset@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:System.DateTimeOffset"/> instance.
            </summary>
            <remarks>
            Parses an rfc822 date and time from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns><see langword="true" /> if the date was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">The number of bytes in the input buffer to parse.</param>
            <param name="date">The parsed date.</param>
        </member>
        <member name="M:MimeKit.Utils.DateUtils.TryParse(System.Byte[],System.Int32,System.DateTimeOffset@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:System.DateTimeOffset"/> instance.
            </summary>
            <remarks>
            Parses an rfc822 date and time from the supplied buffer starting at the specified index.
            </remarks>
            <returns><see langword="true" /> if the date was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="date">The parsed date.</param>
        </member>
        <member name="M:MimeKit.Utils.DateUtils.TryParse(System.Byte[],System.DateTimeOffset@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:System.DateTimeOffset"/> instance.
            </summary>
            <remarks>
            Parses an rfc822 date and time from the specified buffer.
            </remarks>
            <returns><see langword="true" /> if the date was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The input buffer.</param>
            <param name="date">The parsed date.</param>
        </member>
        <member name="M:MimeKit.Utils.DateUtils.TryParse(System.String,System.DateTimeOffset@)">
            <summary>
            Try to parse the given input buffer into a new <see cref="T:System.DateTimeOffset"/> instance.
            </summary>
            <remarks>
            Parses an rfc822 date and time from the specified text.
            </remarks>
            <returns><see langword="true" /> if the date was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="text">The input text.</param>
            <param name="date">The parsed date.</param>
        </member>
        <member name="M:MimeKit.Utils.DateUtils.FormatDate(System.DateTimeOffset)">
            <summary>
            Format the <see cref="T:System.DateTimeOffset"/> as an rfc822 date string.
            </summary>
            <remarks>
            Formats the date and time in the format specified by rfc822, suitable for use
            in the Date header of MIME messages.
            </remarks>
            <returns>The formatted string.</returns>
            <param name="date">The date.</param>
        </member>
        <member name="T:MimeKit.Utils.MimeUtils">
            <summary>
            MIME utility methods.
            </summary>
            <remarks>
            Various utility methods that don't belong anywhere else.
            </remarks>
        </member>
        <member name="F:MimeKit.Utils.MimeUtils.OrdinalIgnoreCase">
            <summary>
            A string comparer that performs a case-insensitive ordinal string comparison.
            </summary>
            <remarks>
            A string comparer that performs a case-insensitive ordinal string comparison.
            </remarks>
        </member>
        <member name="M:MimeKit.Utils.MimeUtils.GenerateMessageId(System.String)">
            <summary>
            Generate a Message-Id or Content-Id.
            </summary>
            <remarks>
            Generates a new Message-Id (or Content-Id) using the supplied domain.
            </remarks>
            <returns>The message identifier.</returns>
            <param name="domain">A domain to use.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="domain"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="domain"/> is invalid.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.MimeUtils.GenerateMessageId">
            <summary>
            Generate a Message-Id or Content-Id.
            </summary>
            <remarks>
            Generates a new Message-Id (or Content-Id) using the local machine's domain.
            </remarks>
            <returns>The message identifier.</returns>
        </member>
        <member name="M:MimeKit.Utils.MimeUtils.EnumerateReferences(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Enumerate the Message-Id references such as those that can be found in
            the In-Reply-To or References headers.
            </summary>
            <remarks>
            Incrementally parses Message-Ids (such as those from a References header
            in a MIME message) from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns>The references.</returns>
            <param name="buffer">The raw byte buffer to parse.</param>
            <param name="startIndex">The index into the buffer to start parsing.</param>
            <param name="length">The length of the buffer to parse.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the byte array.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.MimeUtils.EnumerateReferences(System.String)">
            <summary>
            Enumerate the Message-Id references such as those that can be found in
            the In-Reply-To or References headers.
            </summary>
            <remarks>
            Incrementally parses Message-Ids (such as those from a References header
            in a MIME message) from the specified text.
            </remarks>
            <returns>The references.</returns>
            <param name="text">The text to parse.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.MimeUtils.ParseMessageId(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parse a Message-Id or Content-Id header value.
            </summary>
            <remarks>
            Parses the Message-Id (or Content-Id) value, returning the addr-spec portion of the msg-id token.
            </remarks>
            <returns>The addr-spec portion of the msg-id token.</returns>
            <param name="buffer">The raw byte buffer to parse.</param>
            <param name="startIndex">The index into the buffer to start parsing.</param>
            <param name="length">The length of the buffer to parse.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify
            a valid range in the byte array.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.MimeUtils.ParseMessageId(System.String)">
            <summary>
            Parse a Message-Id or Content-Id header value.
            </summary>
            <remarks>
            Parses the Message-Id (or Content-Id) value, returning the addr-spec portion of the msg-id token.
            </remarks>
            <returns>The addr-spec portion of the msg-id token.</returns>
            <param name="text">The text to parse.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.MimeUtils.TryParse(System.Byte[],System.Int32,System.Int32,System.Version@)">
            <summary>
            Try to parse a version from a header such as Mime-Version.
            </summary>
            <remarks>
            Parses a MIME version string from the supplied buffer starting at the given index
            and spanning across the specified number of bytes.
            </remarks>
            <returns><see langword="true" /> if the version was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="buffer">The raw byte buffer to parse.</param>
            <param name="startIndex">The index into the buffer to start parsing.</param>
            <param name="length">The length of the buffer to parse.</param>
            <param name="version">The parsed version.</param>
        </member>
        <member name="M:MimeKit.Utils.MimeUtils.TryParse(System.String,System.Version@)">
            <summary>
            Try to parse a version from a header such as Mime-Version.
            </summary>
            <remarks>
            Parses a MIME version string from the specified text.
            </remarks>
            <returns><see langword="true" /> if the version was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="text">The text to parse.</param>
            <param name="version">The parsed version.</param>
        </member>
        <member name="M:MimeKit.Utils.MimeUtils.TryParse(System.String,MimeKit.ContentEncoding@)">
            <summary>
            Try to parse the value of a Content-Transfer-Encoding header.
            </summary>
            <remarks>
            Parses a Content-Transfer-Encoding header value.
            </remarks>
            <returns><see langword="true" /> if the encoding was successfully parsed; otherwise, <see langword="false" />.</returns>
            <param name="text">The text to parse.</param>
            <param name="encoding">The parsed encoding.</param>
        </member>
        <member name="M:MimeKit.Utils.MimeUtils.AppendQuoted(System.Text.StringBuilder,System.String)">
            <summary>
            Quote the specified text and append it into the string builder.
            </summary>
            <remarks>
            Quotes the specified text, enclosing it in double-quotes and escaping
            any backslashes and double-quotes within.
            </remarks>
            <returns>The string builder.</returns>
            <param name="builder">The string builder.</param>
            <param name="text">The text to quote.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="builder"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.MimeUtils.AppendQuoted(MimeKit.Utils.ValueStringBuilder@,System.ReadOnlySpan{System.Char})">
            <summary>
            Quote the specified text and append it into the value string builder.
            </summary>
            <remarks>
            Quotes the specified text, enclosing it in double-quotes and escaping
            any backslashes and double-quotes within.
            </remarks>
            <param name="builder">The value string builder.</param>
            <param name="text">The text to quote.</param>
        </member>
        <member name="M:MimeKit.Utils.MimeUtils.AppendQuoted(MimeKit.Utils.ValueStringBuilder@,System.String)">
            <summary>
            Quote the specified text and append it into the value string builder.
            </summary>
            <remarks>
            Quotes the specified text, enclosing it in double-quotes and escaping
            any backslashes and double-quotes within.
            </remarks>
            <param name="builder">The value string builder.</param>
            <param name="text">The text to quote.</param>
        </member>
        <member name="M:MimeKit.Utils.MimeUtils.Quote(System.ReadOnlySpan{System.Char})">
            <summary>
            Quote the specified text.
            </summary>
            <remarks>
            Quotes the specified text, enclosing it in double-quotes and escaping
            any backslashes and double-quotes within.
            </remarks>
            <returns>The quoted text.</returns>
            <param name="text">The text to quote.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.MimeUtils.Quote(System.String)">
            <summary>
            Quote the specified text.
            </summary>
            <remarks>
            Quotes the specified text, enclosing it in double-quotes and escaping
            any backslashes and double-quotes within.
            </remarks>
            <returns>The quoted text.</returns>
            <param name="text">The text to quote.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.MimeUtils.Unquote(System.String,System.Boolean)">
            <summary>
            Unquote the specified text.
            </summary>
            <remarks>
            Unquotes the specified text, removing any escaped backslashes within.
            </remarks>
            <returns>The unquoted text.</returns>
            <param name="text">The text to unquote.</param>
            <param name="convertTabsToSpaces"><see langword="true" /> if tab characters should be converted to a space; otherwise, <see langword="false" />.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.ReadOnlySpanExtensions.Tokenize``1(System.ReadOnlySpan{``0},``0)">
             <summary>
             Tokenize the values in the input <see cref="T:System.ReadOnlySpan`1"/> instance using a specified separator.
             </summary>
             <remarks>
             <para>Tokenizes the values in the input <see cref="T:System.ReadOnlySpan`1"/> instance using a specified separator.</para>
             <para>This extension should be used directly within a <see langword="foreach"/> loop:</para>
             <code>
             ReadOnlySpan&lt;char&gt; text = "Hello, world!";
            
             foreach (var token in text.Tokenize(','))
             {
                 // Access the tokens here...
             }
             </code>
             <para>The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.</para>
             <note type="note">The returned <see cref="T:MimeKit.Utils.ReadOnlySpanTokenizer`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</note>
             </remarks>
             <typeparam name="T">The type of items in the <see cref="T:System.ReadOnlySpan`1"/> to tokenize.</typeparam>
             <returns>A tokenizer for <paramref name="span"/>.</returns>
             <param name="span">The source <see cref="T:System.ReadOnlySpan`1"/> to tokenize.</param>
             <param name="separator">The separator <typeparamref name="T"/> item to use.</param>
        </member>
        <member name="M:MimeKit.Utils.ReadOnlySpanExtensions.Tokenize(System.String,System.Char)">
             <summary>
             Tokenize the values in the input <see cref="T:System.String"/> instance using a specified separator.
             </summary>
             <remarks>
             <para>Tokenizes the values in the input <see cref="T:System.String"/> instance using a specified separator.</para>
             <para>This extension should be used directly within a <see langword="foreach"/> loop:</para>
             <code>
             string text = "Hello, world!";
            
             foreach (var token in text.Tokenize(','))
             {
                 // Access the tokens here...
             }
             </code>
             <para>The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.</para>
             <note type="note">The returned <see cref="T:MimeKit.Utils.ReadOnlySpanTokenizer`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</note>
             </remarks>
             <returns>A tokenizer for <paramref name="text"/>.</returns>
             <param name="text">The source <see cref="T:System.String"/> to tokenize.</param>
             <param name="separator">The separator character to use.</param>
        </member>
        <member name="T:MimeKit.Utils.ReadOnlySpanTokenizer`1">
            <summary>
            A <see langword="ref"/> <see langword="struct"/> that tokenizes a given <see cref="T:System.ReadOnlySpan`1"/> instance.
            </summary>
            <typeparam name="T">The type of items to enumerate.</typeparam>
        </member>
        <member name="F:MimeKit.Utils.ReadOnlySpanTokenizer`1.span">
            <summary>
            The source <see cref="T:System.ReadOnlySpan`1"/> instance.
            </summary>
        </member>
        <member name="F:MimeKit.Utils.ReadOnlySpanTokenizer`1.separator">
            <summary>
            The separator item to use.
            </summary>
        </member>
        <member name="F:MimeKit.Utils.ReadOnlySpanTokenizer`1.start">
            <summary>
            The current initial offset.
            </summary>
        </member>
        <member name="F:MimeKit.Utils.ReadOnlySpanTokenizer`1.end">
            <summary>
            The current final offset.
            </summary>
        </member>
        <member name="M:MimeKit.Utils.ReadOnlySpanTokenizer`1.#ctor(System.ReadOnlySpan{`0},`0)">
            <summary>
            Initializes a new instance of the <see cref="T:MimeKit.Utils.ReadOnlySpanTokenizer`1"/> struct.
            </summary>
            <param name="span">The source <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
            <param name="separator">The separator item to use.</param>
        </member>
        <member name="M:MimeKit.Utils.ReadOnlySpanTokenizer`1.GetEnumerator">
            <summary>
            Implements the duck-typed <see cref="M:System.Collections.Generic.IEnumerable`1.GetEnumerator"/> method.
            </summary>
            <returns>A <see cref="T:MimeKit.Utils.ReadOnlySpanTokenizer`1"/> instance targeting the current <see cref="T:System.ReadOnlySpan`1"/> value.</returns>
        </member>
        <member name="M:MimeKit.Utils.ReadOnlySpanTokenizer`1.MoveNext">
            <summary>
            Implements the duck-typed <see cref="M:System.Collections.IEnumerator.MoveNext"/> method.
            </summary>
            <returns><see langword="true"/> when a new element is available, <see langword="false"/> otherwise</returns>
        </member>
        <member name="P:MimeKit.Utils.ReadOnlySpanTokenizer`1.Current">
            <summary>
            Gets the duck-typed <see cref="P:System.Collections.Generic.IEnumerator`1.Current"/> property.
            </summary>
        </member>
        <member name="T:MimeKit.Utils.Rfc2047">
            <summary>
            Utility methods for encoding and decoding rfc2047 encoded-word tokens.
            </summary>
            <remarks>
            Utility methods for encoding and decoding rfc2047 encoded-word tokens.
            </remarks>
        </member>
        <member name="M:MimeKit.Utils.Rfc2047.DecodePhrase(MimeKit.ParserOptions,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Decode a phrase.
            </summary>
            <remarks>
            Decodes the phrase(s) starting at the given index and spanning across
            the specified number of bytes using the supplied parser options.
            </remarks>
            <returns>The decoded phrase.</returns>
            <param name="options">The parser options to use.</param>
            <param name="phrase">The phrase to decode.</param>
            <param name="startIndex">The starting index.</param>
            <param name="count">The number of bytes to decode.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="phrase"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the byte array.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.Rfc2047.DecodePhrase(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Decode a phrase.
            </summary>
            <remarks>
            Decodes the phrase(s) starting at the given index and spanning across
            the specified number of bytes using the default parser options.
            </remarks>
            <returns>The decoded phrase.</returns>
            <param name="phrase">The phrase to decode.</param>
            <param name="startIndex">The starting index.</param>
            <param name="count">The number of bytes to decode.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="phrase"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the byte array.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.Rfc2047.DecodePhrase(MimeKit.ParserOptions,System.Byte[])">
            <summary>
            Decode a phrase.
            </summary>
            <remarks>
            Decodes the phrase(s) within the specified buffer using the supplied parser options.
            </remarks>
            <returns>The decoded phrase.</returns>
            <param name="options">The parser options to use.</param>
            <param name="phrase">The phrase to decode.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="phrase"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Utils.Rfc2047.DecodePhrase(System.Byte[])">
            <summary>
            Decode a phrase.
            </summary>
            <remarks>
            Decodes the phrase(s) within the specified buffer using the default parser options.
            </remarks>
            <returns>The decoded phrase.</returns>
            <param name="phrase">The phrase to decode.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="phrase"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.Rfc2047.DecodeText(MimeKit.ParserOptions,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Decode unstructured text.
            </summary>
            <remarks>
            Decodes the unstructured text buffer starting at the given index and spanning
            across the specified number of bytes using the supplied parser options.
            </remarks>
            <returns>The decoded text.</returns>
            <param name="options">The parser options to use.</param>
            <param name="text">The text to decode.</param>
            <param name="startIndex">The starting index.</param>
            <param name="count">The number of bytes to decode.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="text"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the byte array.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.Rfc2047.DecodeText(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Decode unstructured text.
            </summary>
            <remarks>
            Decodes the unstructured text buffer starting at the given index and spanning
            across the specified number of bytes using the default parser options.
            </remarks>
            <returns>The decoded text.</returns>
            <param name="text">The text to decode.</param>
            <param name="startIndex">The starting index.</param>
            <param name="count">The number of bytes to decode.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the byte array.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.Rfc2047.DecodeText(MimeKit.ParserOptions,System.Byte[])">
            <summary>
            Decode unstructured text.
            </summary>
            <remarks>
            Decodes the unstructured text buffer using the specified parser options.
            </remarks>
            <returns>The decoded text.</returns>
            <param name="options">The parser options to use.</param>
            <param name="text">The text to decode.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="text"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Utils.Rfc2047.DecodeText(System.Byte[])">
            <summary>
            Decode unstructured text.
            </summary>
            <remarks>
            Decodes the unstructured text buffer using the default parser options.
            </remarks>
            <returns>The decoded text.</returns>
            <param name="text">The text to decode.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.Rfc2047.EncodeComment(MimeKit.FormatOptions,System.Text.Encoding,System.String,System.Int32,System.Int32)">
            <summary>
            Encode comment text.
            </summary>
            <remarks>
            Encodes the comment text and wraps the result within parenthesis according to the rules of rfc2047
            using the specified charset encoding and formatting options.
            </remarks>
            <returns>The encoded text.</returns>
            <param name="options">The formatting options</param>
            <param name="charset">The charset encoding.</param>
            <param name="text">The text to encode.</param>
            <param name="startIndex">The starting index of the phrase to encode.</param>
            <param name="count">The number of characters to encode.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="text"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the byte array.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.Rfc2047.EncodePhraseAsString(MimeKit.FormatOptions,System.Text.Encoding,System.String)">
            <summary>
            Encode a phrase.
            </summary>
            <remarks>
            Encodes the phrase according to the rules of rfc2047 using
            the specified charset encoding and formatting options.
            </remarks>
            <returns>The encoded phrase.</returns>
            <param name="options">The formatting options</param>
            <param name="charset">The charset encoding.</param>
            <param name="phrase">The phrase to encode.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="phrase"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Utils.Rfc2047.EncodePhrase(MimeKit.FormatOptions,System.Text.Encoding,System.String,System.Int32,System.Int32)">
            <summary>
            Encode a phrase.
            </summary>
            <remarks>
            Encodes the phrase according to the rules of rfc2047 using
            the specified charset encoding and formatting options.
            </remarks>
            <returns>The encoded phrase.</returns>
            <param name="options">The formatting options</param>
            <param name="charset">The charset encoding.</param>
            <param name="phrase">The phrase to encode.</param>
            <param name="startIndex">The starting index of the phrase to encode.</param>
            <param name="count">The number of characters to encode.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="phrase"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the byte array.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.Rfc2047.EncodePhrase(System.Text.Encoding,System.String,System.Int32,System.Int32)">
            <summary>
            Encode a phrase.
            </summary>
            <remarks>
            Encodes the phrase according to the rules of rfc2047 using
            the specified charset encoding and formatting options.
            </remarks>
            <returns>The encoded phrase.</returns>
            <param name="charset">The charset encoding.</param>
            <param name="phrase">The phrase to encode.</param>
            <param name="startIndex">The starting index of the phrase to encode.</param>
            <param name="count">The number of characters to encode.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="phrase"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the byte array.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.Rfc2047.EncodePhrase(MimeKit.FormatOptions,System.Text.Encoding,System.String)">
            <summary>
            Encode a phrase.
            </summary>
            <remarks>
            Encodes the phrase according to the rules of rfc2047 using
            the specified charset encoding and formatting options.
            </remarks>
            <returns>The encoded phrase.</returns>
            <param name="options">The formatting options</param>
            <param name="charset">The charset encoding.</param>
            <param name="phrase">The phrase to encode.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="phrase"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Utils.Rfc2047.EncodePhrase(System.Text.Encoding,System.String)">
            <summary>
            Encode a phrase.
            </summary>
            <remarks>
            Encodes the phrase according to the rules of rfc2047 using
            the specified charset encoding.
            </remarks>
            <returns>The encoded phrase.</returns>
            <param name="charset">The charset encoding.</param>
            <param name="phrase">The phrase to encode.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="phrase"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Utils.Rfc2047.EncodeText(MimeKit.FormatOptions,System.Text.Encoding,System.String,System.Int32,System.Int32)">
            <summary>
            Encode unstructured text.
            </summary>
            <remarks>
            Encodes the unstructured text according to the rules of rfc2047
            using the specified charset encoding and formatting options.
            </remarks>
            <returns>The encoded text.</returns>
            <param name="options">The formatting options</param>
            <param name="charset">The charset encoding.</param>
            <param name="text">The text to encode.</param>
            <param name="startIndex">The starting index of the phrase to encode.</param>
            <param name="count">The number of characters to encode.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="text"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the byte array.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.Rfc2047.EncodeText(System.Text.Encoding,System.String,System.Int32,System.Int32)">
            <summary>
            Encode unstructured text.
            </summary>
            <remarks>
            Encodes the unstructured text according to the rules of rfc2047
            using the specified charset encoding and formatting options.
            </remarks>
            <returns>The encoded text.</returns>
            <param name="charset">The charset encoding.</param>
            <param name="text">The text to encode.</param>
            <param name="startIndex">The starting index of the phrase to encode.</param>
            <param name="count">The number of characters to encode.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="text"/> is <see langword="null"/>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range in the byte array.
            </exception>
        </member>
        <member name="M:MimeKit.Utils.Rfc2047.EncodeText(MimeKit.FormatOptions,System.Text.Encoding,System.String)">
            <summary>
            Encode unstructured text.
            </summary>
            <remarks>
            Encodes the unstructured text according to the rules of rfc2047
            using the specified charset encoding and formatting options.
            </remarks>
            <returns>The encoded text.</returns>
            <param name="options">The formatting options</param>
            <param name="charset">The charset encoding.</param>
            <param name="text">The text to encode.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="text"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Utils.Rfc2047.EncodeText(System.Text.Encoding,System.String)">
            <summary>
            Encode unstructured text.
            </summary>
            <remarks>
            Encodes the unstructured text according to the rules of rfc2047
            using the specified charset encoding.
            </remarks>
            <returns>The encoded text.</returns>
            <param name="charset">The charset encoding.</param>
            <param name="text">The text to encode.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="charset"/> is <see langword="null"/>.</para>
            <para>-or-</para>
            <para><paramref name="text"/> is <see langword="null"/>.</para>
            </exception>
        </member>
        <member name="M:MimeKit.Utils.ValueStringBuilder.Grow(System.Int32)">
            <summary>
            Resize the internal buffer either by doubling current buffer size or
            by adding <paramref name="additionalCapacityBeyondPos"/> to
            <see cref="F:MimeKit.Utils.ValueStringBuilder._pos"/> whichever is greater.
            </summary>
            <param name="additionalCapacityBeyondPos">
            Number of chars requested beyond current position.
            </param>
        </member>
        <member name="T:MimeKit.Utils.OptimizedOrdinalIgnoreCaseComparer">
            <summary>
            An optimized version of StringComparer.OrdinalIgnoreCase.
            </summary>
            <remarks>
            An optimized version of <see cref="P:System.StringComparer.OrdinalIgnoreCase">StringComparer.OrdinalIgnoreCase</see>.
            </remarks>
        </member>
        <member name="M:MimeKit.Utils.OptimizedOrdinalIgnoreCaseComparer.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MimeKit.Utils.OptimizedOrdinalIgnoreCaseComparer"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MimeKit.Utils.OptimizedOrdinalIgnoreCaseComparer"/>.
            </remarks>
        </member>
        <member name="M:MimeKit.Utils.OptimizedOrdinalIgnoreCaseComparer.Equals(System.String,System.String)">
            <summary>
            Compare the input strings for equality.
            </summary>
            <remarks>
            Compares the input strings for equality.
            </remarks>
            <returns><see langword="true" />if <paramref name="x"/> and <paramref name="y"/> refer to the same object,
            or <paramref name="x"/> and <paramref name="y"/> are equal,
            or <paramref name="x"/> and <paramref name="y"/> are <see langword="null"/>;
            otherwise, <see langword="false" />.</returns>
            <param name="x">A string to compare to <paramref name="y"/>.</param>
            <param name="y">A string to compare to <paramref name="x"/>.</param>
        </member>
        <member name="M:MimeKit.Utils.OptimizedOrdinalIgnoreCaseComparer.GetHashCode(System.String)">
            <summary>
            Get the hash code for the specified string.
            </summary>
            <remarks>
            Get the hash code for the specified string.
            </remarks>
            <returns>A 32-bit signed hash code calculated from the value of the <paramref name="obj"/> parameter.</returns>
            <param name="obj">The string.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="obj"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="T:MimeKit.XMessagePriority">
            <summary>
            An enumeration of X-Priority header values.
            </summary>
            <remarks>
            Indicates the priority of a message.
            </remarks>
        </member>
        <member name="F:MimeKit.XMessagePriority.Highest">
            <summary>
            The message is of the highest priority.
            </summary>
        </member>
        <member name="F:MimeKit.XMessagePriority.High">
            <summary>
            The message is high priority.
            </summary>
        </member>
        <member name="F:MimeKit.XMessagePriority.Normal">
            <summary>
            The message is of normal priority.
            </summary>
        </member>
        <member name="F:MimeKit.XMessagePriority.Low">
            <summary>
            The message is of low priority.
            </summary>
        </member>
        <member name="F:MimeKit.XMessagePriority.Lowest">
            <summary>
            The message is of lowest priority.
            </summary>
        </member>
    </members>
</doc>
