<?xml version="1.0"?>
<doc>
    <assembly>
        <name>KeePassLib</name>
    </assembly>
    <members>
        <member name="T:KeePassLib.Collections.AutoTypeConfig">
            <summary>
            A list of auto-type associations.
            </summary>
        </member>
        <member name="P:KeePassLib.Collections.AutoTypeConfig.Enabled">
            <summary>
            Specify whether auto-type is enabled or not.
            </summary>
        </member>
        <member name="P:KeePassLib.Collections.AutoTypeConfig.ObfuscationOptions">
            <summary>
            Specify whether the typing should be obfuscated.
            </summary>
        </member>
        <member name="P:KeePassLib.Collections.AutoTypeConfig.DefaultSequence">
            <summary>
            The default keystroke sequence that is auto-typed if
            no matching window is found in <c>Associations</c>.
            </summary>
        </member>
        <member name="P:KeePassLib.Collections.AutoTypeConfig.Associations">
            <summary>
            Get all auto-type window/keystroke sequence pairs.
            </summary>
        </member>
        <member name="M:KeePassLib.Collections.AutoTypeConfig.#ctor">
            <summary>
            Construct a new auto-type associations list.
            </summary>
        </member>
        <member name="M:KeePassLib.Collections.AutoTypeConfig.Clear">
            <summary>
            Remove all associations.
            </summary>
        </member>
        <member name="M:KeePassLib.Collections.AutoTypeConfig.CloneDeep">
            <summary>
            Clone the auto-type associations list.
            </summary>
            <returns>New, cloned object.</returns>
        </member>
        <member name="T:KeePassLib.Collections.ProtectedBinaryDictionary">
            <summary>
            A dictionary of <c>ProtectedBinary</c> objects.
            </summary>
        </member>
        <member name="P:KeePassLib.Collections.ProtectedBinaryDictionary.UCount">
            <summary>
            Get the number of items.
            </summary>
        </member>
        <member name="M:KeePassLib.Collections.ProtectedBinaryDictionary.#ctor">
            <summary>
            Construct a new dictionary of protected binaries.
            </summary>
        </member>
        <member name="M:KeePassLib.Collections.ProtectedBinaryDictionary.CloneDeep">
            <summary>
            Deeply clone the object.
            </summary>
            <returns>Cloned object.</returns>
        </member>
        <member name="M:KeePassLib.Collections.ProtectedBinaryDictionary.Get(System.String)">
            <summary>
            Get one of the protected binaries.
            </summary>
            <param name="strName">Binary identifier.</param>
            <returns>Protected binary. If the binary identified by
            <paramref name="strName" /> cannot be found, the function
            returns <c>null</c>.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if the input
            parameter is <c>null</c>.</exception>
        </member>
        <member name="M:KeePassLib.Collections.ProtectedBinaryDictionary.Set(System.String,KeePassLib.Security.ProtectedBinary)">
            <summary>
            Set a protected binary.
            </summary>
            <param name="strName">Identifier of the binary to set.</param>
            <param name="pbNewValue">New value. This parameter must not be <c>null</c>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if any of the input
            parameters is <c>null</c>.</exception>
        </member>
        <member name="M:KeePassLib.Collections.ProtectedBinaryDictionary.Remove(System.String)">
            <summary>
            Remove a protected binary.
            </summary>
            <param name="strName">Identifier of the binary to remove.</param>
            <returns>Returns <c>true</c> if the object has been successfully
            removed, otherwise <c>false</c>.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if the input
            parameter is <c>null</c>.</exception>
        </member>
        <member name="T:KeePassLib.Collections.ProtectedStringDictionary">
            <summary>
            A dictionary of <c>ProtectedString</c> objects.
            </summary>
        </member>
        <member name="P:KeePassLib.Collections.ProtectedStringDictionary.UCount">
            <summary>
            Get the number of items.
            </summary>
        </member>
        <member name="M:KeePassLib.Collections.ProtectedStringDictionary.#ctor">
            <summary>
            Construct a new dictionary of protected strings.
            </summary>
        </member>
        <member name="M:KeePassLib.Collections.ProtectedStringDictionary.CloneDeep">
            <summary>
            Deeply clone the object.
            </summary>
            <returns>Cloned object.</returns>
        </member>
        <member name="M:KeePassLib.Collections.ProtectedStringDictionary.Get(System.String)">
            <summary>
            Get one of the protected strings.
            </summary>
            <param name="strName">String identifier.</param>
            <returns>Protected string. If the string identified by
            <paramref name="strName" /> cannot be found, the function
            returns <c>null</c>.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if the input
            parameter is <c>null</c>.</exception>
        </member>
        <member name="M:KeePassLib.Collections.ProtectedStringDictionary.GetSafe(System.String)">
            <summary>
            Get one of the protected strings. The return value is never <c>null</c>.
            If the requested string cannot be found, an empty protected string
            object is returned.
            </summary>
            <param name="strName">String identifier.</param>
            <returns>Returns a protected string object. If the standard string
            has not been set yet, the return value is an empty string (<c>""</c>).</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if the input
            parameter is <c>null</c>.</exception>
        </member>
        <member name="M:KeePassLib.Collections.ProtectedStringDictionary.Exists(System.String)">
            <summary>
            Test if a named string exists.
            </summary>
            <param name="strName">Name of the string to try.</param>
            <returns>Returns <c>true</c> if the string exists, otherwise <c>false</c>.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if
            <paramref name="strName" /> is <c>null</c>.</exception>
        </member>
        <member name="M:KeePassLib.Collections.ProtectedStringDictionary.ReadSafe(System.String)">
            <summary>
            Get one of the protected strings. If the string doesn't exist, the
            return value is an empty string (<c>""</c>).
            </summary>
            <param name="strName">Name of the requested string.</param>
            <returns>Requested string value or an empty string, if the named
            string doesn't exist.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if the input
            parameter is <c>null</c>.</exception>
        </member>
        <member name="M:KeePassLib.Collections.ProtectedStringDictionary.ReadSafeEx(System.String)">
            <summary>
            Get one of the entry strings. If the string doesn't exist, the
            return value is an empty string (<c>""</c>). If the string is
            in-memory protected, the return value is <c>PwDefs.HiddenPassword</c>.
            </summary>
            <param name="strName">Name of the requested string.</param>
            <returns>Returns the requested string in plain-text or
            <c>PwDefs.HiddenPassword</c> if the string cannot be found.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if the input
            parameter is <c>null</c>.</exception>
        </member>
        <member name="M:KeePassLib.Collections.ProtectedStringDictionary.Set(System.String,KeePassLib.Security.ProtectedString)">
            <summary>
            Set a protected string.
            </summary>
            <param name="strName">Identifier of the string to set.</param>
            <param name="psNewValue">New value. This parameter must not be <c>null</c>.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if any of the input
            parameters is <c>null</c>.</exception>
        </member>
        <member name="M:KeePassLib.Collections.ProtectedStringDictionary.Remove(System.String)">
            <summary>
            Remove a protected string.
            </summary>
            <param name="strName">Identifier of the string to remove.</param>
            <returns>Returns <c>true</c> if the object has been successfully
            removed, otherwise <c>false</c>.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if the input
            parameter is <c>null</c>.</exception>
        </member>
        <member name="T:KeePassLib.Collections.PwObjectList`1">
            <summary>
            List of objects that implement <c>IDeepCloneable</c>
            and cannot be <c>null</c>.
            </summary>
            <typeparam name="T">Object type.</typeparam>
        </member>
        <member name="M:KeePassLib.Collections.VariantDictionary.Clone">
            <summary>
            Create a deep copy.
            </summary>
        </member>
        <member name="T:KeePassLib.Cryptography.Cipher.ChaCha20Cipher">
            <summary>
            Implementation of the ChaCha20 cipher with a 96-bit nonce,
            as specified in RFC 8439 (7539).
            https://datatracker.ietf.org/doc/html/rfc8439
            </summary>
        </member>
        <member name="M:KeePassLib.Cryptography.Cipher.ChaCha20Cipher.#ctor(System.Byte[],System.Byte[],System.Boolean)">
            <summary>
            Constructor.
            </summary>
            <param name="pbKey32">Key (32 bytes).</param>
            <param name="pbIV12">Nonce (12 bytes).</param>
            <param name="bLargeCounter">If <c>false</c>, the RFC 8439 version
            of ChaCha20 is used. In this case, only 256 GB of data can be
            encrypted securely (because the block counter is a 32-bit variable);
            an attempt to encrypt more data throws an exception.
            If <paramref name="bLargeCounter" /> is <c>true</c>, the 32-bit
            counter overflows to another 32-bit variable (i.e. the counter
            effectively is a 64-bit variable), like in the original ChaCha20
            specification by D. J. Bernstein (which has a 64-bit counter and a
            64-bit nonce). To be compatible with this version, the 64-bit nonce
            must be stored in the last 8 bytes of <paramref name="pbIV12" />
            and the first 4 bytes must be 0.
            If the IV was generated randomly, a 12-byte IV and a large counter
            can be used to securely encrypt more than 256 GB of data (but note
            this is incompatible with RFC 8439 and the original specification).</param>
        </member>
        <member name="T:KeePassLib.Cryptography.Cipher.CipherPool">
            <summary>
            Pool of encryption/decryption algorithms (ciphers).
            </summary>
        </member>
        <member name="M:KeePassLib.Cryptography.Cipher.CipherPool.Clear">
            <summary>
            Remove all cipher engines from the current pool.
            </summary>
        </member>
        <member name="M:KeePassLib.Cryptography.Cipher.CipherPool.AddCipher(KeePassLib.Cryptography.Cipher.ICipherEngine)">
            <summary>
            Add a cipher engine to the pool.
            </summary>
            <param name="c">Cipher engine to add. Must not be <c>null</c>.</param>
        </member>
        <member name="M:KeePassLib.Cryptography.Cipher.CipherPool.GetCipher(KeePassLib.PwUuid)">
            <summary>
            Get a cipher identified by its UUID.
            </summary>
            <param name="uuidCipher">UUID of the cipher to return.</param>
            <returns>Reference to the requested cipher. If the cipher is
            not found, <c>null</c> is returned.</returns>
        </member>
        <member name="M:KeePassLib.Cryptography.Cipher.CipherPool.GetCipherIndex(KeePassLib.PwUuid)">
            <summary>
            Get the index of a cipher. This index is temporary and should
            not be stored or used to identify a cipher.
            </summary>
            <param name="uuidCipher">UUID of the cipher.</param>
            <returns>Index of the requested cipher. Returns <c>-1</c> if
            the specified cipher is not found.</returns>
        </member>
        <member name="M:KeePassLib.Cryptography.Cipher.CipherPool.GetCipherIndex(System.String)">
            <summary>
            Get the index of a cipher. This index is temporary and should
            not be stored or used to identify a cipher.
            </summary>
            <param name="strDisplayName">Name of the cipher. Note that
            multiple ciphers can have the same name. In this case, the
            first matching cipher is returned.</param>
            <returns>Cipher with the specified name or <c>-1</c> if
            no cipher with that name is found.</returns>
        </member>
        <member name="P:KeePassLib.Cryptography.Cipher.CipherPool.EngineCount">
            <summary>
            Get the number of cipher engines in this pool.
            </summary>
        </member>
        <member name="P:KeePassLib.Cryptography.Cipher.CipherPool.Item(System.Int32)">
            <summary>
            Get the cipher engine at the specified position. Throws
            an exception if the index is invalid. You can use this
            to iterate over all ciphers, but do not use it to
            identify ciphers.
            </summary>
            <param name="nIndex">Index of the requested cipher engine.</param>
            <returns>Reference to the cipher engine at the specified
            position.</returns>
        </member>
        <member name="P:KeePassLib.Cryptography.Cipher.ICipherEngine.CipherUuid">
            <summary>
            UUID of the engine. If you want to write an engine/plugin,
            please contact the KeePass team to obtain a new UUID.
            </summary>
        </member>
        <member name="P:KeePassLib.Cryptography.Cipher.ICipherEngine.DisplayName">
            <summary>
            Name displayed in the list of available encryption/decryption
            engines in the GUI.
            </summary>
        </member>
        <member name="P:KeePassLib.Cryptography.Cipher.ICipherEngine2.KeyLength">
            <summary>
            Length of an encryption key in bytes.
            The base <c>ICipherEngine</c> assumes 32.
            </summary>
        </member>
        <member name="P:KeePassLib.Cryptography.Cipher.ICipherEngine2.IVLength">
            <summary>
            Length of the initialization vector in bytes.
            The base <c>ICipherEngine</c> assumes 16.
            </summary>
        </member>
        <member name="T:KeePassLib.Cryptography.CryptoRandom">
            <summary>
            Cryptographically secure pseudo-random number generator.
            The returned values are unpredictable and cannot be reproduced.
            <c>CryptoRandom</c> is a singleton class.
            </summary>
        </member>
        <member name="P:KeePassLib.Cryptography.CryptoRandom.GeneratedBytesCount">
            <summary>
            Get the number of random bytes that this instance generated so far.
            Note that this number can be higher than the number of random bytes
            actually requested using the <c>GetRandomBytes</c> method.
            </summary>
        </member>
        <member name="E:KeePassLib.Cryptography.CryptoRandom.GenerateRandom256Pre">
            <summary>
            Event that is triggered whenever the internal <c>GenerateRandom256</c>
            method is called to generate random bytes.
            </summary>
        </member>
        <member name="M:KeePassLib.Cryptography.CryptoRandom.AddEntropy(System.Byte[])">
            <summary>
            Update the internal seed of the random number generator based
            on entropy data.
            This method is thread-safe.
            </summary>
            <param name="pbEntropy">Entropy bytes.</param>
        </member>
        <member name="M:KeePassLib.Cryptography.CryptoRandom.GetRandomBytes(System.UInt32)">
            <summary>
            Get a number of cryptographically strong random bytes.
            This method is thread-safe.
            </summary>
            <param name="uRequestedBytes">Number of requested random bytes.</param>
            <returns>A byte array consisting of <paramref name="uRequestedBytes" />
            random bytes.</returns>
        </member>
        <member name="T:KeePassLib.Cryptography.CrsAlgorithm">
            <summary>
            Algorithms supported by <c>CryptoRandomStream</c>.
            </summary>
        </member>
        <member name="F:KeePassLib.Cryptography.CrsAlgorithm.Null">
            <summary>
            Not supported.
            </summary>
        </member>
        <member name="F:KeePassLib.Cryptography.CrsAlgorithm.ArcFourVariant">
            <summary>
            A variant of the ArcFour algorithm (RC4 incompatible).
            Insecure; for backward compatibility only.
            </summary>
        </member>
        <member name="F:KeePassLib.Cryptography.CrsAlgorithm.Salsa20">
            <summary>
            Salsa20 stream cipher algorithm.
            </summary>
        </member>
        <member name="F:KeePassLib.Cryptography.CrsAlgorithm.ChaCha20">
            <summary>
            ChaCha20 stream cipher algorithm.
            </summary>
        </member>
        <member name="T:KeePassLib.Cryptography.CryptoRandomStream">
            <summary>
            A random stream class. The class is initialized using random
            bytes provided by the caller. The produced stream has random
            properties, but for the same seed always the same stream
            is produced, i.e. this class can be used as stream cipher.
            </summary>
        </member>
        <member name="M:KeePassLib.Cryptography.CryptoRandomStream.#ctor(KeePassLib.Cryptography.CrsAlgorithm,System.Byte[])">
            <summary>
            Construct a new cryptographically secure random stream object.
            </summary>
            <param name="a">Algorithm to use.</param>
            <param name="pbKey">Initialization key. Must not be <c>null</c>
            and must contain at least 1 byte.</param>
        </member>
        <member name="M:KeePassLib.Cryptography.CryptoRandomStream.GetRandomBytes(System.UInt32)">
            <summary>
            Get <paramref name="uRequestedCount" /> random bytes.
            </summary>
            <param name="uRequestedCount">Number of random bytes to retrieve.</param>
            <returns>Returns <paramref name="uRequestedCount" /> random bytes.</returns>
        </member>
        <member name="M:KeePassLib.Cryptography.CryptoUtil.ResizeKey(System.Byte[],System.Int32,System.Int32,System.Int32)">
            <summary>
            Create a cryptographic key of length <paramref name="cbOut" />
            (in bytes) from <paramref name="pbIn" />.
            </summary>
        </member>
        <member name="T:KeePassLib.Cryptography.HmacOtp">
            <summary>
            Generate HMAC-based one-time passwords as specified in RFC 4226.
            </summary>
        </member>
        <member name="M:KeePassLib.Cryptography.KeyDerivation.KdfParameters.Clone">
            <summary>
            Unsupported.
            </summary>
        </member>
        <member name="M:KeePassLib.Cryptography.KeyDerivation.KdfEngine.Randomize(KeePassLib.Cryptography.KeyDerivation.KdfParameters)">
            <summary>
            Generate random seeds/salts and store them in <paramref name="p" />.
            </summary>
        </member>
        <member name="P:KeePassLib.Cryptography.PasswordGenerator.CustomPwGenerator.Uuid">
            <summary>
            Each custom password generation algorithm must have
            its own unique UUID.
            </summary>
        </member>
        <member name="P:KeePassLib.Cryptography.PasswordGenerator.CustomPwGenerator.Name">
            <summary>
            Displayable name of the password generation algorithm.
            </summary>
        </member>
        <member name="M:KeePassLib.Cryptography.PasswordGenerator.CustomPwGenerator.Generate(KeePassLib.Cryptography.PasswordGenerator.PwProfile,KeePassLib.Cryptography.CryptoRandomStream)">
            <summary>
            Password generation function.
            </summary>
            <param name="prf">Password generation options chosen
            by the user. This may be <c>null</c>, if the default
            options should be used.</param>
            <param name="crsRandomSource">Source that the algorithm
            can use to generate random numbers.</param>
            <returns>Generated password or <c>null</c> in case
            of failure. If returning <c>null</c>, the caller assumes
            that an error message has already been shown to the user.</returns>
        </member>
        <member name="F:KeePassLib.Cryptography.PasswordGenerator.PwCharSet.Latin1S">
            <summary>
            Latin-1 Supplement except U+00A0 (NBSP) and U+00AD (SHY).
            </summary>
        </member>
        <member name="M:KeePassLib.Cryptography.PasswordGenerator.PwCharSet.#ctor">
            <summary>
            Create a new, empty character set.
            </summary>
        </member>
        <member name="P:KeePassLib.Cryptography.PasswordGenerator.PwCharSet.Size">
            <summary>
            Number of characters in this set.
            </summary>
        </member>
        <member name="P:KeePassLib.Cryptography.PasswordGenerator.PwCharSet.Item(System.UInt32)">
            <summary>
            Get a character of the set using an index.
            </summary>
            <param name="uPos">Index of the character to get.</param>
            <returns>Character at the specified position. If the index is invalid,
            an <c>ArgumentOutOfRangeException</c> is thrown.</returns>
        </member>
        <member name="M:KeePassLib.Cryptography.PasswordGenerator.PwCharSet.Clear">
            <summary>
            Remove all characters from this set.
            </summary>
        </member>
        <member name="M:KeePassLib.Cryptography.PasswordGenerator.PwCharSet.Add(System.Char)">
            <summary>
            Add characters to the set.
            </summary>
            <param name="ch">Character to add.</param>
        </member>
        <member name="M:KeePassLib.Cryptography.PasswordGenerator.PwCharSet.Add(System.String)">
            <summary>
            Add characters to the set.
            </summary>
            <param name="strCharSet">String containing characters to add.</param>
        </member>
        <member name="M:KeePassLib.Cryptography.PasswordGenerator.PwCharSet.ToString">
            <summary>
            Convert the character set to a string containing all its characters.
            </summary>
            <returns>String containing all character set characters.</returns>
        </member>
        <member name="T:KeePassLib.Cryptography.PasswordGenerator.PasswordGeneratorType">
            <summary>
            Type of the password generator. Different types like generators
            based on given patterns, based on character sets, etc. are
            available.
            </summary>
        </member>
        <member name="F:KeePassLib.Cryptography.PasswordGenerator.PasswordGeneratorType.CharSet">
            <summary>
            Generator based on character spaces/sets, i.e. groups
            of characters like lower-case, upper-case or numeric characters.
            </summary>
        </member>
        <member name="F:KeePassLib.Cryptography.PasswordGenerator.PasswordGeneratorType.Pattern">
            <summary>
            Password generation based on a pattern. The user has provided
            a pattern, which describes how the generated password has to
            look like.
            </summary>
        </member>
        <member name="T:KeePassLib.Cryptography.PasswordGenerator.PwGenerator">
            <summary>
            Password generator.
            </summary>
        </member>
        <member name="T:KeePassLib.Cryptography.QualityEstimation">
            <summary>
            A class that offers static functions to estimate the quality of
            passwords.
            </summary>
        </member>
        <member name="M:KeePassLib.Cryptography.QualityEstimation.EstimatePasswordBits(System.Char[])">
            <summary>
            Estimate the quality of a password.
            </summary>
            <param name="vPassword">Password to check.</param>
            <returns>Estimated bit-strength of the password.</returns>
        </member>
        <member name="M:KeePassLib.Cryptography.QualityEstimation.EstimatePasswordBits(System.Byte[])">
            <summary>
            Estimate the quality of a password.
            </summary>
            <param name="pbUnprotectedUtf8">Password to check, UTF-8 encoded.</param>
            <returns>Estimated bit-strength of the password.</returns>
        </member>
        <member name="T:KeePassLib.Cryptography.SelfTest">
            <summary>
            Class containing self-test methods.
            </summary>
        </member>
        <member name="M:KeePassLib.Cryptography.SelfTest.Perform">
            <summary>
            Perform a self-test.
            </summary>
        </member>
        <member name="P:KeePassLib.Interfaces.IStructureItem.Uuid">
            <summary>
            UUID that identifies this object.
            </summary>
        </member>
        <member name="P:KeePassLib.Interfaces.IStructureItem.ParentGroup">
            <summary>
            Get the group that contains this object.
            </summary>
        </member>
        <member name="P:KeePassLib.Interfaces.IStructureItem.PreviousParentGroup">
            <summary>
            Get the group that has contained this object before it has been
            moved the last time.
            </summary>
        </member>
        <member name="M:KeePassLib.Interfaces.IUIOperations.UIFileSave(System.Boolean)">
            <summary>
            Let the user interface save the current database.
            </summary>
            <param name="bForceSave">If <c>true</c>, the UI will not ask for
            whether to synchronize or overwrite, it'll simply overwrite the
            file.</param>
            <returns>Returns <c>true</c> if the file has been saved.</returns>
        </member>
        <member name="T:KeePassLib.Interfaces.IDeepCloneable`1">
            <summary>
            Interface for objects that are deeply cloneable.
            </summary>
            <typeparam name="T">Reference type.</typeparam>
        </member>
        <member name="M:KeePassLib.Interfaces.IDeepCloneable`1.CloneDeep">
            <summary>
            Deeply clone the object.
            </summary>
            <returns>Cloned object.</returns>
        </member>
        <member name="T:KeePassLib.Interfaces.LogStatusType">
            <summary>
            Status message types.
            </summary>
        </member>
        <member name="F:KeePassLib.Interfaces.LogStatusType.Info">
            <summary>
            Default type: simple information type.
            </summary>
        </member>
        <member name="F:KeePassLib.Interfaces.LogStatusType.Warning">
            <summary>
            Warning message.
            </summary>
        </member>
        <member name="F:KeePassLib.Interfaces.LogStatusType.Error">
            <summary>
            Error message.
            </summary>
        </member>
        <member name="F:KeePassLib.Interfaces.LogStatusType.AdditionalInfo">
            <summary>
            Additional information. Depends on lines above.
            </summary>
        </member>
        <member name="T:KeePassLib.Interfaces.IStatusLogger">
            <summary>
            Status logging interface.
            </summary>
        </member>
        <member name="M:KeePassLib.Interfaces.IStatusLogger.StartLogging(System.String,System.Boolean)">
            <summary>
            Function which needs to be called when logging is started.
            </summary>
            <param name="strOperation">This string should roughly describe
            the operation, of which the status is logged.</param>
            <param name="bWriteOperationToLog">Specifies whether the
            operation is written to the log or not.</param>
        </member>
        <member name="M:KeePassLib.Interfaces.IStatusLogger.EndLogging">
            <summary>
            Function which needs to be called when logging is ended
            (i.e. when no more messages will be logged and when the
            percent value won't change any more).
            </summary>
        </member>
        <member name="M:KeePassLib.Interfaces.IStatusLogger.SetProgress(System.UInt32)">
            <summary>
            Set the current progress in percent.
            </summary>
            <param name="uPercent">Percent of work finished.</param>
            <returns>Returns <c>true</c> if the caller should continue
            the current work.</returns>
        </member>
        <member name="M:KeePassLib.Interfaces.IStatusLogger.SetText(System.String,KeePassLib.Interfaces.LogStatusType)">
            <summary>
            Set the current status text.
            </summary>
            <param name="strNewText">Status text.</param>
            <param name="lsType">Type of the message.</param>
            <returns>Returns <c>true</c> if the caller should continue
            the current work.</returns>
        </member>
        <member name="M:KeePassLib.Interfaces.IStatusLogger.ContinueWork">
            <summary>
            Check whether the user cancelled the current work.
            </summary>
            <returns>Returns <c>true</c> if the caller should continue
            the current work.</returns>
        </member>
        <member name="T:KeePassLib.Interfaces.ITimeLogger">
            <summary>
            Interface for objects that support various times (creation time,
            last modification time, last access time, etc.).
            </summary>
        </member>
        <member name="P:KeePassLib.Interfaces.ITimeLogger.CreationTime">
            <summary>
            The date/time when the object was created.
            </summary>
        </member>
        <member name="P:KeePassLib.Interfaces.ITimeLogger.LastModificationTime">
            <summary>
            The date/time when the object was last modified.
            </summary>
        </member>
        <member name="P:KeePassLib.Interfaces.ITimeLogger.LastAccessTime">
            <summary>
            The date/time when the object was last accessed.
            </summary>
        </member>
        <member name="P:KeePassLib.Interfaces.ITimeLogger.ExpiryTime">
            <summary>
            The date/time when the object expires.
            </summary>
        </member>
        <member name="P:KeePassLib.Interfaces.ITimeLogger.Expires">
            <summary>
            Flag that specifies whether the object expires.
            </summary>
        </member>
        <member name="P:KeePassLib.Interfaces.ITimeLogger.UsageCount">
            <summary>
            Get or set the usage count of the object. To increase the usage
            count by one, use the <c>Touch</c> method.
            </summary>
        </member>
        <member name="P:KeePassLib.Interfaces.ITimeLogger.LocationChanged">
            <summary>
            The date/time when the location of the object was last changed.
            </summary>
        </member>
        <member name="M:KeePassLib.Interfaces.ITimeLogger.Touch(System.Boolean)">
            <summary>
            Touch the object. This method updates the last access time.
            If the <paramref name="bModified" /> parameter is <c>true</c>,
            the last modification time is updated, too. Each time you call
            <c>Touch</c>, the usage count of the object is increased by one.
            </summary>
            <param name="bModified">Update last modification time.</param>
        </member>
        <member name="P:KeePassLib.Keys.KcpCustomKey.Name">
            <summary>
            Name of the provider that generated the custom key.
            </summary>
        </member>
        <member name="P:KeePassLib.Keys.KeyProvider.Name">
            <summary>
            Name of your key provider (should be unique).
            </summary>
        </member>
        <member name="P:KeePassLib.Keys.KeyProvider.Exclusive">
            <summary>
            Property indicating whether the provider is exclusive.
            If the provider is exclusive, KeePass does not allow other
            key sources (master password, Windows user account, ...)
            to be combined with the provider.
            Key providers typically should return <c>false</c>
            (to allow non-exclusive use), i.e. do not override this
            property.
            </summary>
        </member>
        <member name="P:KeePassLib.Keys.KeyProvider.DirectKey">
            <summary>
            Property that specifies whether the returned key data
            gets hashed by KeePass first or is written directly to
            the user key data stream.
            Standard key provider plugins should return <c>false</c>
            (i.e. don't overwrite this property). Returning <c>true</c>
            may cause severe security problems and is highly
            discouraged.
            </summary>
        </member>
        <member name="P:KeePassLib.Keys.KeyProvider.GetKeyMightShowGui">
            <summary>
            This property specifies whether the <c>GetKey</c> method might
            show a form or dialog. If there is any chance that the method shows
            one, this property must return <c>true</c>. Only if it's guaranteed
            that the <c>GetKey</c> method doesn't show any form or dialog, this
            property should return <c>false</c>.
            </summary>
        </member>
        <member name="P:KeePassLib.Keys.KeyProvider.SecureDesktopCompatible">
            <summary>
            This property specifies whether the key provider is compatible
            with the secure desktop mode. This almost never is the case,
            so you usually won't override this property.
            </summary>
        </member>
        <member name="P:KeePassLib.Keys.KeyValidator.Name">
            <summary>
            Name of your key validator (should be unique).
            </summary>
        </member>
        <member name="M:KeePassLib.Keys.KeyValidator.Validate(System.String,KeePassLib.Keys.KeyValidationType)">
            <summary>
            Validate a key.
            </summary>
            <param name="strKey">Key to validate.</param>
            <param name="t">Type of the validation to perform.</param>
            <returns>Returns <c>null</c>, if the validation is successful.
            If there is a problem with the key, the returned string describes
            the problem.</returns>
        </member>
        <member name="T:KeePassLib.Keys.IUserKey">
            <summary>
            Interface to a user key, like a password, key file data, etc.
            </summary>
        </member>
        <member name="P:KeePassLib.Keys.IUserKey.KeyData">
            <summary>
            Get key data. Querying this property is fast (it returns a
            reference to a cached <c>ProtectedBinary</c> object).
            If no key data is available, <c>null</c> is returned.
            </summary>
        </member>
        <member name="T:KeePassLib.Keys.KcpPassword">
            <summary>
            Master password/passphrase as provided by the user.
            </summary>
        </member>
        <member name="P:KeePassLib.Keys.KcpPassword.Password">
            <summary>
            Get the password as protected string. This is <c>null</c>
            unless remembering the password has been turned on.
            </summary>
        </member>
        <member name="T:KeePassLib.Keys.KcpUserAccount">
            <summary>
            A user key depending on the currently logged on user account.
            </summary>
        </member>
        <member name="T:KeePassLib.Keys.CompositeKey">
            <summary>
            Represents a key. A key can be build up using several user key data sources
            like a password, a key file, the currently logged on user credentials,
            the current computer ID, etc.
            </summary>
        </member>
        <member name="P:KeePassLib.Keys.CompositeKey.UserKeys">
            <summary>
            List of all user keys contained in the current composite key.
            </summary>
        </member>
        <member name="M:KeePassLib.Keys.CompositeKey.#ctor">
            <summary>
            Construct a new, empty key object.
            </summary>
        </member>
        <member name="M:KeePassLib.Keys.CompositeKey.AddUserKey(KeePassLib.Keys.IUserKey)">
            <summary>
            Add a user key.
            </summary>
            <param name="pKey">User key to add.</param>
        </member>
        <member name="M:KeePassLib.Keys.CompositeKey.RemoveUserKey(KeePassLib.Keys.IUserKey)">
            <summary>
            Remove a user key.
            </summary>
            <param name="pKey">User key to remove.</param>
            <returns>Returns <c>true</c> if the key was removed successfully.</returns>
        </member>
        <member name="M:KeePassLib.Keys.CompositeKey.ContainsType(System.Type)">
            <summary>
            Test whether the composite key contains a specific type of
            user keys (password, key file, ...). If at least one user
            key of that type is present, the function returns <c>true</c>.
            </summary>
            <param name="tUserKeyType">User key type.</param>
            <returns>Returns <c>true</c>, if the composite key contains
            a user key of the specified type.</returns>
        </member>
        <member name="M:KeePassLib.Keys.CompositeKey.GetUserKey(System.Type)">
            <summary>
            Get the first user key of a specified type.
            </summary>
            <param name="tUserKeyType">Type of the user key to get.</param>
            <returns>Returns the first user key of the specified type
            or <c>null</c> if no key of that type is found.</returns>
        </member>
        <member name="M:KeePassLib.Keys.CompositeKey.CreateRawCompositeKey32">
            <summary>
            Creates the composite key from the supplied user key sources (password,
            key file, user account, computer ID, etc.).
            </summary>
        </member>
        <member name="M:KeePassLib.Keys.CompositeKey.GenerateKey32(KeePassLib.Cryptography.KeyDerivation.KdfParameters)">
            <summary>
            Generate a 32-byte (256-bit) key from the composite key.
            </summary>
        </member>
        <member name="M:KeePassLib.PwCustomIcon.GetImage">
            <summary>
            Get the icon as an <c>Image</c> (original size).
            </summary>
        </member>
        <member name="M:KeePassLib.PwCustomIcon.GetImage(System.Int32,System.Int32)">
            <summary>
            Get the icon as an <c>Image</c> (with the specified size).
            </summary>
            <param name="w">Width of the returned image.</param>
            <param name="h">Height of the returned image.</param>
        </member>
        <member name="T:KeePassLib.PwGroup">
            <summary>
            A group, which may contain subgroups and entries.
            </summary>
        </member>
        <member name="M:KeePassLib.PwGroup.SearchEntries(KeePassLib.SearchParameters,KeePassLib.Collections.PwObjectList{KeePassLib.PwEntry})">
            <summary>
            Search this group and all subgroups for entries.
            </summary>
            <param name="sp">Specifies the search parameters.</param>
            <param name="lResults">Entry list in which the search results
            will be stored.</param>
        </member>
        <member name="M:KeePassLib.PwGroup.SearchEntries(KeePassLib.SearchParameters,KeePassLib.Collections.PwObjectList{KeePassLib.PwEntry},KeePassLib.Interfaces.IStatusLogger)">
            <summary>
            Search this group and all subgroups for entries.
            </summary>
            <param name="sp">Specifies the search parameters.</param>
            <param name="lResults">Entry list in which the search results
            will be stored.</param>
            <param name="slStatus">Optional status reporting object.</param>
        </member>
        <member name="P:KeePassLib.PwGroup.Name">
            <summary>
            The name of this group. Cannot be <c>null</c>.
            </summary>
        </member>
        <member name="P:KeePassLib.PwGroup.Notes">
            <summary>
            Comments about this group. Cannot be <c>null</c>.
            </summary>
        </member>
        <member name="P:KeePassLib.PwGroup.IconId">
            <summary>
            Icon of the group.
            </summary>
        </member>
        <member name="P:KeePassLib.PwGroup.CustomIconUuid">
            <summary>
            Custom icon UUID. This is <c>PwUuid.Zero</c> if no custom icon
            is used (i.e. the icon specified by the <c>IconId</c> property
            should be displayed).
            </summary>
        </member>
        <member name="P:KeePassLib.PwGroup.IsExpanded">
            <summary>
            A flag that specifies if the group is shown as expanded or
            collapsed in the user interface.
            </summary>
        </member>
        <member name="P:KeePassLib.PwGroup.Groups">
            <summary>
            Get a list of subgroups in this group.
            </summary>
        </member>
        <member name="P:KeePassLib.PwGroup.Entries">
            <summary>
            Get a list of entries in this group.
            </summary>
        </member>
        <member name="P:KeePassLib.PwGroup.IsVirtual">
            <summary>
            A flag specifying whether this group is virtual or not. Virtual
            groups can contain links to entries stored in other groups.
            Note that this flag has to be interpreted and set by the calling
            code; it won't prevent you from accessing and modifying the list
            of entries in this group in any way.
            </summary>
        </member>
        <member name="P:KeePassLib.PwGroup.DefaultAutoTypeSequence">
            <summary>
            Default auto-type keystroke sequence for all entries in
            this group. This property can be an empty string, which
            means that the value should be inherited from the parent.
            </summary>
        </member>
        <member name="P:KeePassLib.PwGroup.CustomData">
            <summary>
            Custom data container that can be used by plugins to store
            own data in KeePass groups.
            The data is stored in the encrypted part of encrypted
            database files.
            Use unique names for your items, e.g. "PluginName_ItemName".
            </summary>
        </member>
        <member name="M:KeePassLib.PwGroup.#ctor">
            <summary>
            Construct a new, empty group.
            </summary>
        </member>
        <member name="M:KeePassLib.PwGroup.#ctor(System.Boolean,System.Boolean)">
            <summary>
            Construct a new, empty group.
            </summary>
            <param name="bCreateNewUuid">Create a new UUID for this object.</param>
            <param name="bSetTimes">Set times to the current time.</param>
        </member>
        <member name="M:KeePassLib.PwGroup.#ctor(System.Boolean,System.Boolean,System.String,KeePassLib.PwIcon)">
            <summary>
            Construct a new, empty group.
            </summary>
            <param name="bCreateNewUuid">Create a new UUID for this object.</param>
            <param name="bSetTimes">Set times to the current time.</param>
            <param name="strName">Name of the new group.</param>
            <param name="pwIcon">Icon of the new group.</param>
        </member>
        <member name="M:KeePassLib.PwGroup.CloneDeep">
            <summary>
            Deeply clone the current group. The returned group will be an exact
            value copy of the current object (including UUID, etc.).
            </summary>
            <returns>Exact value copy of the current <c>PwGroup</c> object.</returns>
        </member>
        <member name="M:KeePassLib.PwGroup.AssignProperties(KeePassLib.PwGroup,System.Boolean,System.Boolean)">
            <summary>
            Assign properties to the current group based on a template group.
            </summary>
            <param name="pgTemplate">Template group. Must not be <c>null</c>.</param>
            <param name="bOnlyIfNewer">Only set the properties of the template group
            if it is newer than the current one.</param>
            <param name="bAssignLocationChanged">If <c>true</c>, the
            <c>LocationChanged</c> property is copied, otherwise not.</param>
        </member>
        <member name="M:KeePassLib.PwGroup.GetCounts(System.Boolean,System.UInt32@,System.UInt32@)">
            <summary>
            Get number of groups and entries in the current group. This function
            can also traverse through all subgroups and accumulate their counts
            (recursive mode).
            </summary>
            <param name="bRecursive">If this parameter is <c>true</c>, all
            subgroups and entries in subgroups will be counted and added to
            the returned value. If it is <c>false</c>, only the number of
            subgroups and entries of the current group is returned.</param>
            <param name="uNumGroups">Number of subgroups.</param>
            <param name="uNumEntries">Number of entries.</param>
        </member>
        <member name="M:KeePassLib.PwGroup.TraverseTree(KeePassLib.TraversalMethod,KeePassLib.Delegates.GroupHandler,KeePassLib.Delegates.EntryHandler)">
            <summary>
            Traverse the group/entry tree in the current group. Various traversal
            methods are available.
            </summary>
            <param name="tm">Specifies the traversal method.</param>
            <param name="groupHandler">Function that performs an action on
            the currently visited group (see <c>GroupHandler</c> for more).
            This parameter may be <c>null</c>, in this case the tree is traversed but
            you don't get notifications for each visited group.</param>
            <param name="entryHandler">Function that performs an action on
            the currently visited entry (see <c>EntryHandler</c> for more).
            This parameter may be <c>null</c>.</param>
            <returns>Returns <c>true</c> if all entries and groups have been
            traversed. If the traversal has been canceled by one of the two
            handlers, the return value is <c>false</c>.</returns>
        </member>
        <member name="M:KeePassLib.PwGroup.GetFlatGroupList">
            <summary>
            Pack all groups into one flat linked list of references (recursively).
            </summary>
            <returns>Flat list of all groups.</returns>
        </member>
        <member name="M:KeePassLib.PwGroup.GetFlatEntryList(System.Collections.Generic.LinkedList{KeePassLib.PwGroup})">
            <summary>
            Pack all entries into one flat linked list of references. Temporary
            group IDs are assigned automatically.
            </summary>
            <param name="llGroups">A flat group list created by
            <c>GetFlatGroupList</c>.</param>
            <returns>Flat list of all entries.</returns>
        </member>
        <member name="M:KeePassLib.PwGroup.EnableStringFieldProtection(System.String,System.Boolean)">
            <summary>
            Enable protection of a specific string field type.
            </summary>
            <param name="strFieldName">Name of the string field to protect or unprotect.</param>
            <param name="bEnable">Enable protection or not.</param>
            <returns>Returns <c>true</c>, if the operation completed successfully,
            otherwise <c>false</c>.</returns>
        </member>
        <member name="M:KeePassLib.PwGroup.FindGroup(KeePassLib.PwUuid,System.Boolean)">
            <summary>
            Find a group.
            </summary>
            <param name="pu">UUID identifying the group the caller is looking for.</param>
            <param name="bSearchRecursive">If <c>true</c>, the search is recursive.</param>
            <returns>Returns reference to found group, otherwise <c>null</c>.</returns>
        </member>
        <member name="M:KeePassLib.PwGroup.FindObject(KeePassLib.PwUuid,System.Boolean,System.Nullable{System.Boolean})">
            <summary>
            Find an object.
            </summary>
            <param name="pu">UUID of the object to find.</param>
            <param name="bRecursive">Specifies whether to search recursively.</param>
            <param name="obEntries">If <c>null</c>, groups and entries are
            searched. If <c>true</c>, only entries are searched. If <c>false</c>,
            only groups are searched.</param>
            <returns>Reference to the object, if found. Otherwise <c>null</c>.</returns>
        </member>
        <member name="M:KeePassLib.PwGroup.FindCreateGroup(System.String,System.Boolean)">
            <summary>
            Try to find a subgroup and create it, if it doesn't exist yet.
            </summary>
            <param name="strName">Name of the subgroup.</param>
            <param name="bCreateIfNotFound">If the group isn't found: create it.</param>
            <returns>Returns a reference to the requested group or <c>null</c> if
            it doesn't exist and shouldn't be created.</returns>
        </member>
        <member name="M:KeePassLib.PwGroup.FindEntry(KeePassLib.PwUuid,System.Boolean)">
            <summary>
            Find an entry.
            </summary>
            <param name="pu">UUID identifying the entry the caller is looking for.</param>
            <param name="bSearchRecursive">If <c>true</c>, the search is recursive.</param>
            <returns>Returns reference to found entry, otherwise <c>null</c>.</returns>
        </member>
        <member name="M:KeePassLib.PwGroup.GetFullPath">
            <summary>
            Get the full path of the group.
            </summary>
        </member>
        <member name="M:KeePassLib.PwGroup.GetFullPath(System.String,System.Boolean)">
            <summary>
            Get the full path of the group.
            </summary>
            <param name="strSeparator">String that separates the group
            names.</param>
            <param name="bIncludeTopMostGroup">Specifies whether the returned
            path starts with the topmost group.</param>
        </member>
        <member name="M:KeePassLib.PwGroup.CreateNewItemUuids(System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Assign new UUIDs to groups and entries.
            </summary>
            <param name="bNewGroups">Create new UUIDs for subgroups.</param>
            <param name="bNewEntries">Create new UUIDs for entries.</param>
            <param name="bRecursive">Recursive tree traversal.</param>
        </member>
        <member name="M:KeePassLib.PwGroup.FindCreateSubTree(System.String,System.Char[])">
            <summary>
            Find/create a subtree of groups.
            </summary>
            <param name="strTree">Tree string.</param>
            <param name="vSeparators">Separators that delimit groups in the
            <c>strTree</c> parameter.</param>
        </member>
        <member name="M:KeePassLib.PwGroup.GetDepth">
            <summary>
            Get the depth of this group (i.e. the number of ancestors).
            </summary>
            <returns>Depth of this group.</returns>
        </member>
        <member name="M:KeePassLib.PwGroup.GetGroups(System.Boolean)">
            <summary>
            Get a list of subgroups (not including this one).
            </summary>
            <param name="bRecursive">If <c>true</c>, subgroups are added
            recursively, i.e. all child groups are returned, too.</param>
            <returns>List of subgroups. If <paramref name="bRecursive" /> is
            <c>true</c>, it is guaranteed that subsubgroups appear after
            subgroups.</returns>
        </member>
        <member name="M:KeePassLib.PwGroup.GetObjects(System.Boolean,System.Nullable{System.Boolean})">
            <summary>
            Get objects contained in this group.
            </summary>
            <param name="bRecursive">Specifies whether to search recursively.</param>
            <param name="bEntries">If <c>null</c>, the returned list contains
            groups and entries. If <c>true</c>, the returned list contains only
            entries. If <c>false</c>, the returned list contains only groups.</param>
            <returns>List of objects.</returns>
        </member>
        <member name="M:KeePassLib.PwGroup.AddGroup(KeePassLib.PwGroup,System.Boolean)">
            <summary>
            Add a subgroup to this group.
            </summary>
            <param name="subGroup">Group to be added. Must not be <c>null</c>.</param>
            <param name="bTakeOwnership">If this parameter is <c>true</c>, the
            parent group reference of the subgroup will be set to the current
            group (i.e. the current group takes ownership of the subgroup).</param>
        </member>
        <member name="M:KeePassLib.PwGroup.AddGroup(KeePassLib.PwGroup,System.Boolean,System.Boolean)">
            <summary>
            Add a subgroup to this group.
            </summary>
            <param name="subGroup">Group to be added. Must not be <c>null</c>.</param>
            <param name="bTakeOwnership">If this parameter is <c>true</c>, the
            parent group reference of the subgroup will be set to the current
            group (i.e. the current group takes ownership of the subgroup).</param>
            <param name="bUpdateLocationChangedOfSub">If <c>true</c>, the
            <c>LocationChanged</c> property of the subgroup is updated.</param>
        </member>
        <member name="M:KeePassLib.PwGroup.AddEntry(KeePassLib.PwEntry,System.Boolean)">
            <summary>
            Add an entry to this group.
            </summary>
            <param name="pe">Entry to be added. Must not be <c>null</c>.</param>
            <param name="bTakeOwnership">If this parameter is <c>true</c>, the
            parent group reference of the entry will be set to the current
            group (i.e. the current group takes ownership of the entry).</param>
        </member>
        <member name="M:KeePassLib.PwGroup.AddEntry(KeePassLib.PwEntry,System.Boolean,System.Boolean)">
            <summary>
            Add an entry to this group.
            </summary>
            <param name="pe">Entry to be added. Must not be <c>null</c>.</param>
            <param name="bTakeOwnership">If this parameter is <c>true</c>, the
            parent group reference of the entry will be set to the current
            group (i.e. the current group takes ownership of the entry).</param>
            <param name="bUpdateLocationChangedOfEntry">If <c>true</c>, the
            <c>LocationChanged</c> property of the entry is updated.</param>
        </member>
        <member name="T:KeePassLib.Resources.KLRes">
            <summary>
            A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.AlgorithmUnknown">
            <summary>
            Look up a localized string similar to
            'The algorithm is unknown.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.CharSetInvalid">
            <summary>
            Look up a localized string similar to
            'The character set is invalid.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.CharSetTooFewChars">
            <summary>
            Look up a localized string similar to
            'There are too few characters in the character set.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.CryptoStreamFailed">
            <summary>
            Look up a localized string similar to
            'Failed to initialize encryption/decryption stream!'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.EncDataTooLarge">
            <summary>
            Look up a localized string similar to
            'The data is too large to be encrypted/decrypted securely using {PARAM}.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.EntryLower">
            <summary>
            Look up a localized string similar to
            'entry'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.ErrorInClipboard">
            <summary>
            Look up a localized string similar to
            'An extended error report has been copied to the clipboard.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.Expect100Continue">
            <summary>
            Look up a localized string similar to
            'Expect 100-Continue responses'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FatalError">
            <summary>
            Look up a localized string similar to
            'Fatal Error'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FatalErrorText">
            <summary>
            Look up a localized string similar to
            'A fatal error has occurred!'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FileCorrupted">
            <summary>
            Look up a localized string similar to
            'The file is corrupted.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FileHeaderCorrupted">
            <summary>
            Look up a localized string similar to
            'The file header is corrupted.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FileIncomplete">
            <summary>
            Look up a localized string similar to
            'Data is missing at the end of the file, i.e. the file is incomplete.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FileIncompleteExpc">
            <summary>
            Look up a localized string similar to
            'Less data than expected could be read from the file.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FileLoadFailed">
            <summary>
            Look up a localized string similar to
            'Failed to load the specified file!'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FileLockedWrite">
            <summary>
            Look up a localized string similar to
            'The file is locked, because the following user is currently writing to it:'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FileNewVerOrPlgReq">
            <summary>
            Look up a localized string similar to
            'A newer KeePass version or a plugin is required to open this file.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FileNewVerReq">
            <summary>
            Look up a localized string similar to
            'A newer KeePass version is required to open this file.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FileSaveCorruptionWarning">
            <summary>
            Look up a localized string similar to
            'The target file might be corrupted. Please try saving again. If that fails, save the database to a different location.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FileSaveFailed2">
            <summary>
            Look up a localized string similar to
            'Failed to save to the specified file!'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FileSigInvalid">
            <summary>
            Look up a localized string similar to
            'The file signature is invalid. Either the file isn&#39;t a KeePass database file at all or it is corrupted.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FileUnknownCipher">
            <summary>
            Look up a localized string similar to
            'The file is encrypted using an unknown encryption algorithm!'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FileUnknownCompression">
            <summary>
            Look up a localized string similar to
            'The file is compressed using an unknown compression algorithm!'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FileVersionUnsupported">
            <summary>
            Look up a localized string similar to
            'The file format version is unsupported.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FinalKeyCreationFailed">
            <summary>
            Look up a localized string similar to
            'Failed to create the final encryption/decryption key!'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FollowRedirects">
            <summary>
            Look up a localized string similar to
            'Follow redirects'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.FrameworkNotImplExcp">
            <summary>
            Look up a localized string similar to
            'The .NET Framework/runtime under which KeePass is currently running does not support this operation.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.General">
            <summary>
            Look up a localized string similar to
            'General'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.GroupLower">
            <summary>
            Look up a localized string similar to
            'group'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.InvalidCompositeKey">
            <summary>
            Look up a localized string similar to
            'The master key is invalid!'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.InvalidCompositeKeyHint">
            <summary>
            Look up a localized string similar to
            'Make sure that the master key is correct and try it again.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.InvalidCompositeKeyOrCorrupted">
            <summary>
            Look up a localized string similar to
            'The master key is invalid or the file is corrupted.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.InvalidDataWhileDecoding">
            <summary>
            Look up a localized string similar to
            'Found invalid data while decoding.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.KeePass1xHint">
            <summary>
            Look up a localized string similar to
            'In order to import KeePass 1.x KDB files, create a new 2.x database file and click &#39;File&#39; -&gt; &#39;Import&#39; in the main menu. In the import dialog, choose &#39;KeePass KDB (1.x)&#39; as file format.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.KeyBits">
            <summary>
            Look up a localized string similar to
            '{PARAM}-bit key'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.KeyFileDbSel">
            <summary>
            Look up a localized string similar to
            'Database files cannot be used as key files.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.KeyHashMismatch">
            <summary>
            Look up a localized string similar to
            'The key and the hash do not match, i.e. the key or the hash is invalid.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.MasterSeedLengthInvalid">
            <summary>
            Look up a localized string similar to
            'The length of the master key seed is invalid!'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.OldFormat">
            <summary>
            Look up a localized string similar to
            'The selected file appears to be an old format'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.Passive">
            <summary>
            Look up a localized string similar to
            'Passive'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.PathBackslash">
            <summary>
            Look up a localized string similar to
            'The path contains a backslash. Such paths are not supported (for security reasons).'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.PatternInvalid">
            <summary>
            Look up a localized string similar to
            'The pattern is invalid.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.PreAuth">
            <summary>
            Look up a localized string similar to
            'Pre-authenticate'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.PwGenFailed">
            <summary>
            Look up a localized string similar to
            'Failed to generate a password.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.StructsTooDeep">
            <summary>
            Look up a localized string similar to
            'Structures are nested too deeply.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.Timeout">
            <summary>
            Look up a localized string similar to
            'Timeout'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.TryAgainSecs">
            <summary>
            Look up a localized string similar to
            'Please try it again in a few seconds.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.UnknownError">
            <summary>
            Look up a localized string similar to
            'An unknown error occurred.'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.UnknownHeaderId">
            <summary>
            Look up a localized string similar to
            'Unknown header ID'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.UnknownKdf">
            <summary>
            Look up a localized string similar to
            'Unknown key derivation function!'.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KLRes.UserAgent">
            <summary>
            Look up a localized string similar to
            'User agent'.
            </summary>
        </member>
        <member name="T:KeePassLib.Resources.KSRes">
            <summary>
            A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:KeePassLib.Resources.KSRes.Test">
            <summary>
            Look up a localized string similar to
            'Test'.
            </summary>
        </member>
        <member name="T:KeePassLib.Security.XorredBuffer">
            <summary>
            A <c>XorredBuffer</c> object stores data that is encrypted
            using a XOR pad.
            </summary>
        </member>
        <member name="M:KeePassLib.Security.XorredBuffer.#ctor(System.Byte[],System.Byte[])">
            <summary>
            Construct a new <c>XorredBuffer</c> object.
            The <paramref name="pbCT" /> byte array must have the same
            length as the <paramref name="pbXorPad" /> byte array.
            The <c>XorredBuffer</c> object takes ownership of the two byte
            arrays, i.e. the caller must not use them afterwards.
            </summary>
            <param name="pbCT">Data with XOR pad applied.</param>
            <param name="pbXorPad">XOR pad that can be used to decrypt the
            <paramref name="pbCT" /> byte array.</param>
        </member>
        <member name="M:KeePassLib.Security.XorredBuffer.ReadPlainText">
            <summary>
            Get a copy of the plain-text. The caller is responsible
            for clearing the byte array safely after using it.
            </summary>
            <returns>Plain-text byte array.</returns>
        </member>
        <member name="T:KeePassLib.Security.ProtectedBinary">
            <summary>
            A protected binary, i.e. a byte array that is encrypted in memory.
            A <c>ProtectedBinary</c> object is immutable and thread-safe.
            </summary>
        </member>
        <member name="P:KeePassLib.Security.ProtectedBinary.ExtCrypt">
            <summary>
            A plugin can provide a custom memory protection method
            by assigning a non-null delegate to this property.
            </summary>
        </member>
        <member name="P:KeePassLib.Security.ProtectedBinary.IsProtected">
            <summary>
            A flag specifying whether the <c>ProtectedBinary</c> object has
            turned on memory protection or not.
            </summary>
        </member>
        <member name="P:KeePassLib.Security.ProtectedBinary.Length">
            <summary>
            Length of the stored data.
            </summary>
        </member>
        <member name="M:KeePassLib.Security.ProtectedBinary.#ctor">
            <summary>
            Construct a new, empty protected binary data object.
            Protection is disabled.
            </summary>
        </member>
        <member name="M:KeePassLib.Security.ProtectedBinary.#ctor(System.Boolean,System.Byte[])">
            <summary>
            Construct a new protected binary data object.
            </summary>
            <param name="bEnableProtection">Specifies whether to encrypt the
            data in the process memory.</param>
            <param name="pbData">Value of the protected object.
            The <c>ProtectedBinary</c> object does not modify or take ownership
            of the data, i.e. the caller is responsible for clearing it.</param>
        </member>
        <member name="M:KeePassLib.Security.ProtectedBinary.#ctor(System.Boolean,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Construct a new protected binary data object.
            </summary>
            <param name="bEnableProtection">Specifies whether to encrypt the
            data in the process memory.</param>
            <param name="pbData">Value of the protected object.
            The <c>ProtectedBinary</c> object does not modify or take ownership
            of the data, i.e. the caller is responsible for clearing it.</param>
            <param name="iOffset">Offset for <paramref name="pbData" />.</param>
            <param name="cbSize">Size for <paramref name="pbData" />.</param>
        </member>
        <member name="M:KeePassLib.Security.ProtectedBinary.#ctor(System.Boolean,KeePassLib.Security.XorredBuffer)">
            <summary>
            Construct a new protected binary data object.
            </summary>
            <param name="bEnableProtection">Specifies whether to encrypt the
            data in the process memory.</param>
            <param name="xb"><c>XorredBuffer</c> object to copy the data from.</param>
        </member>
        <member name="M:KeePassLib.Security.ProtectedBinary.ReadData">
            <summary>
            Get a copy of the protected data as a byte array.
            Please note that the returned byte array is not protected and
            can therefore been read by any other application.
            Make sure that your clear it properly after usage.
            </summary>
            <returns>Unprotected byte array. This is always a copy of the internal
            protected data and can therefore be cleared safely.</returns>
        </member>
        <member name="M:KeePassLib.Security.ProtectedBinary.ReadXorredData(KeePassLib.Cryptography.CryptoRandomStream)">
            <summary>
            Get the data xorred with bytes from a <c>CryptoRandomStream</c>.
            </summary>
        </member>
        <member name="T:KeePassLib.Security.ProtectedString">
            <summary>
            A string that is protected in process memory.
            <c>ProtectedString</c> objects are immutable and thread-safe.
            </summary>
        </member>
        <member name="P:KeePassLib.Security.ProtectedString.Empty">
            <summary>
            Get an empty <c>ProtectedString</c> object, without protection.
            </summary>
        </member>
        <member name="P:KeePassLib.Security.ProtectedString.EmptyEx">
            <summary>
            Get an empty <c>ProtectedString</c> object, with protection turned on.
            </summary>
        </member>
        <member name="P:KeePassLib.Security.ProtectedString.IsProtected">
            <summary>
            A flag specifying whether the <c>ProtectedString</c> object
            has turned on memory protection or not.
            </summary>
        </member>
        <member name="P:KeePassLib.Security.ProtectedString.Length">
            <summary>
            Length of the protected string, in characters.
            </summary>
        </member>
        <member name="M:KeePassLib.Security.ProtectedString.#ctor">
            <summary>
            Construct a new protected string. Protection is disabled.
            </summary>
        </member>
        <member name="M:KeePassLib.Security.ProtectedString.#ctor(System.Boolean,System.String)">
            <summary>
            Construct a new protected string.
            </summary>
            <param name="bEnableProtection">Specifies whether to encrypt the
            data in the process memory.</param>
            <param name="strValue">The string value.</param>
        </member>
        <member name="M:KeePassLib.Security.ProtectedString.#ctor(System.Boolean,System.Byte[])">
            <summary>
            Construct a new protected string.
            </summary>
            <param name="bEnableProtection">Specifies whether to encrypt the
            data in the process memory.</param>
            <param name="vUtf8Value">The string value, encoded as UTF-8 byte
            array. The <c>ProtectedString</c> object does not modify or take
            ownership of the data, i.e. the caller is responsible for clearing it.</param>
        </member>
        <member name="M:KeePassLib.Security.ProtectedString.#ctor(System.Boolean,KeePassLib.Security.XorredBuffer)">
            <summary>
            Construct a new protected string.
            </summary>
            <param name="bEnableProtection">Specifies whether to encrypt the
            data in the process memory.</param>
            <param name="xb"><c>XorredBuffer</c> object containing the string
            in UTF-8 representation. The UTF-8 string must not be null-terminated.</param>
        </member>
        <member name="M:KeePassLib.Security.ProtectedString.ReadString">
            <summary>
            Convert the protected string to a standard string object.
            Be careful with this function, as the returned string object
            isn't protected anymore and stored in plain-text in the
            process memory.
            </summary>
            <returns>Plain-text string. Is never <c>null</c>.</returns>
        </member>
        <member name="M:KeePassLib.Security.ProtectedString.ReadChars">
            <summary>
            Read out the string and return it as a char array.
            The returned array is not protected and should be cleared by
            the caller.
            </summary>
            <returns>Plain-text char array.</returns>
        </member>
        <member name="M:KeePassLib.Security.ProtectedString.ReadUtf8">
            <summary>
            Read out the string and return a byte array that contains the
            string encoded using UTF-8.
            The returned array is not protected and should be cleared by
            the caller.
            </summary>
            <returns>Plain-text UTF-8 byte array.</returns>
        </member>
        <member name="M:KeePassLib.Security.ProtectedString.ReadXorredString(KeePassLib.Cryptography.CryptoRandomStream)">
            <summary>
            Get the string as an UTF-8 sequence xorred with bytes
            from a <c>CryptoRandomStream</c>.
            </summary>
        </member>
        <member name="T:KeePassLib.Delegates.GroupHandler">
            <summary>
            Function definition of a method that performs an action on a group.
            When traversing the internal tree, this function will be invoked
            for all visited groups.
            </summary>
            <param name="pg">Currently visited group.</param>
            <returns>You must return <c>true</c> if you want to continue the
            traversal. If you want to immediately stop the whole traversal,
            return <c>false</c>.</returns>
        </member>
        <member name="T:KeePassLib.Delegates.EntryHandler">
            <summary>
            Function definition of a method that performs an action on an entry.
            When traversing the internal tree, this function will be invoked
            for all visited entries.
            </summary>
            <param name="pe">Currently visited entry.</param>
            <returns>You must return <c>true</c> if you want to continue the
            traversal. If you want to immediately stop the whole traversal,
            return <c>false</c>.</returns>
        </member>
        <member name="T:KeePassLib.PwDeletedObject">
            <summary>
            Represents an object that has been deleted.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDeletedObject.Uuid">
            <summary>
            UUID of the entry that has been deleted.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDeletedObject.DeletionTime">
            <summary>
            The date/time when the entry has been deleted.
            </summary>
        </member>
        <member name="M:KeePassLib.PwDeletedObject.#ctor">
            <summary>
            Construct a new <c>PwDeletedObject</c> object.
            </summary>
        </member>
        <member name="M:KeePassLib.PwDeletedObject.CloneDeep">
            <summary>
            Clone the object.
            </summary>
            <returns>Value copy of the current object.</returns>
        </member>
        <member name="T:KeePassLib.PwUuid">
            <summary>
            Represents a UUID of an object. Once created, a <c>PwUuid</c> object
            cannot be modified anymore (immutable).
            </summary>
        </member>
        <member name="F:KeePassLib.PwUuid.UuidSize">
            <summary>
            Size of a UUID in bytes.
            </summary>
        </member>
        <member name="F:KeePassLib.PwUuid.Zero">
            <summary>
            Zero UUID (all bytes are zero).
            </summary>
        </member>
        <member name="P:KeePassLib.PwUuid.UuidBytes">
            <summary>
            Get the UUID bytes. Must not be modified.
            </summary>
        </member>
        <member name="M:KeePassLib.PwUuid.#ctor(System.Boolean)">
            <summary>
            Construct a UUID object.
            </summary>
            <param name="bCreateNew">If this parameter is <c>true</c>, a new
            UUID is generated. If it is <c>false</c>, the UUID is zero.</param>
        </member>
        <member name="M:KeePassLib.PwUuid.#ctor(System.Byte[])">
            <summary>
            Construct a UUID object.
            </summary>
            <param name="uuidBytes">Initial value of the <c>PwUuid</c> object.</param>
        </member>
        <member name="M:KeePassLib.PwUuid.ToHexString">
            <summary>
            Convert the UUID to its string representation.
            </summary>
            <returns>String containing the UUID value.</returns>
        </member>
        <member name="T:KeePassLib.PwDefs">
            <summary>
            Contains KeePassLib-global definitions and enums.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.ProductName">
            <summary>
            The product name.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.ShortProductName">
            <summary>
            A short, simple string representing the product name. The string
            should contain no spaces, directory separator characters, etc.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.Version32">
            <summary>
            Version, encoded as 32-bit unsigned integer.
            2.00 = 0x02000000, 2.01 = 0x02000100, ..., 2.18 = 0x02010800.
            As of 2.19, the version is encoded component-wise per byte,
            e.g. 2.19 = 0x02130000.
            It is highly recommended to use <c>FileVersion64</c> instead.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.FileVersion64">
            <summary>
            Version, encoded as 64-bit unsigned integer
            (component-wise, 16 bits per component).
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.VersionString">
            <summary>
            Version, encoded as string.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.HomepageUrl">
            <summary>
            Product website URL. Terminated by a forward slash.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.TranslationsUrl">
            <summary>
            URL to the online translations page.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.PluginsUrl">
            <summary>
            URL to the online plugins page.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.DonationsUrl">
            <summary>
            Product donations URL.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.HelpUrl">
            <summary>
            URL to the root path of the online KeePass help. Terminated by
            a forward slash.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.VersionUrl">
            <summary>
            URL to a TXT file (eventually compressed) that contains information
            about the latest KeePass version available on the website.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.DtDefaultNow">
            <summary>
            A <c>DateTime</c> object that represents the time when the assembly
            was loaded.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.DefaultKeyEncryptionRounds">
            <summary>
            Default number of master key encryption/transformation rounds
            (making dictionary attacks harder).
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.TitleField">
            <summary>
            Default identifier string for the title field.
            Should not contain spaces, tabs or other whitespace.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.UserNameField">
            <summary>
            Default identifier string for the user name field.
            Should not contain spaces, tabs or other whitespace.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.PasswordField">
            <summary>
            Default identifier string for the password field.
            Should not contain spaces, tabs or other whitespace.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.UrlField">
            <summary>
            Default identifier string for the URL field.
            Should not contain spaces, tabs or other whitespace.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.NotesField">
            <summary>
            Default identifier string for the notes field.
            Should not contain spaces, tabs or other whitespace.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.TanIndexField">
            <summary>
            Default identifier string for the field which will contain TAN indices.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.TanTitle">
            <summary>
            Default title of an entry that is really a TAN entry.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.AutoTypeStringPrefix">
            <summary>
            Prefix of a custom auto-type string field.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.HiddenPassword">
            <summary>
            Default string representing a hidden password.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.DefaultAutoTypeSequence">
            <summary>
            Default auto-type keystroke sequence. If no custom sequence is
            specified, this sequence is used.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.DefaultAutoTypeSequenceTan">
            <summary>
            Default auto-type keystroke sequence for TAN entries. If no custom
            sequence is specified, this sequence is used.
            </summary>
        </member>
        <member name="F:KeePassLib.PwDefs.UIUpdateDelay">
            <summary>
            Maximum time (in milliseconds) after which the user interface
            should be updated.
            </summary>
        </member>
        <member name="M:KeePassLib.PwDefs.IsStandardField(System.String)">
            <summary>
            Check whether a name is a standard field name.
            </summary>
        </member>
        <member name="M:KeePassLib.PwDefs.IsTanEntry(KeePassLib.PwEntry)">
            <summary>
            Check whether an entry is a TAN entry.
            </summary>
        </member>
        <member name="T:KeePassLib.SearchParameters">
            <summary>
            Search parameters for group and entry searches.
            </summary>
        </member>
        <member name="P:KeePassLib.SearchParameters.ComparisonMode">
            <summary>
            String comparison type. Specifies the condition when the specified
            text matches a group/entry string.
            </summary>
        </member>
        <member name="P:KeePassLib.SearchParameters.DataTransformation">
            <summary>
            Only for serialization.
            </summary>
        </member>
        <member name="T:KeePassLib.MemoryProtectionConfig">
            <summary>
            Memory protection configuration structure (for default fields).
            </summary>
        </member>
        <member name="T:KeePassLib.PwEntry">
            <summary>
            An entry, consisting of various string fields (title, user name,
            password, ...), binaries (attachments), etc.
            </summary>
        </member>
        <member name="P:KeePassLib.PwEntry.Strings">
            <summary>
            Get or set all entry strings.
            </summary>
        </member>
        <member name="P:KeePassLib.PwEntry.Binaries">
            <summary>
            Get or set all entry binaries.
            </summary>
        </member>
        <member name="P:KeePassLib.PwEntry.AutoType">
            <summary>
            Get or set all auto-type window/keystroke sequence associations.
            </summary>
        </member>
        <member name="P:KeePassLib.PwEntry.History">
            <summary>
            Get all previous versions of this entry (backups).
            </summary>
        </member>
        <member name="P:KeePassLib.PwEntry.IconId">
            <summary>
            Icon of the entry.
            </summary>
        </member>
        <member name="P:KeePassLib.PwEntry.CustomIconUuid">
            <summary>
            Custom icon UUID. This is <c>PwUuid.Zero</c> if no custom icon
            is used (i.e. the icon specified by the <c>IconId</c> property
            should be displayed).
            </summary>
        </member>
        <member name="P:KeePassLib.PwEntry.ForegroundColor">
            <summary>
            Get or set the foreground color of this entry.
            </summary>
        </member>
        <member name="P:KeePassLib.PwEntry.BackgroundColor">
            <summary>
            Get or set the background color of this entry.
            </summary>
        </member>
        <member name="P:KeePassLib.PwEntry.OverrideUrl">
            <summary>
            Entry-specific override URL.
            </summary>
        </member>
        <member name="P:KeePassLib.PwEntry.CustomData">
            <summary>
            Custom data container that can be used by plugins to store
            own data in KeePass entries.
            The data is stored in the encrypted part of encrypted
            database files.
            Use unique names for your items, e.g. "PluginName_ItemName".
            </summary>
        </member>
        <member name="M:KeePassLib.PwEntry.#ctor(System.Boolean,System.Boolean)">
            <summary>
            Construct a new, empty entry.
            </summary>
            <param name="bCreateNewUuid">Create a new UUID for this object.</param>
            <param name="bSetTimes">Set times to the current time.</param>
        </member>
        <member name="M:KeePassLib.PwEntry.CloneDeep">
            <summary>
            Clone the current entry. The returned entry is an exact value copy
            of the current entry (including UUID and parent group reference).
            All mutable members are cloned.
            </summary>
            <returns>Exact value clone. All references to mutable values changed.</returns>
        </member>
        <member name="M:KeePassLib.PwEntry.AssignProperties(KeePassLib.PwEntry,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Assign properties to the current entry based on a template entry.
            </summary>
            <param name="peTemplate">Template entry. Must not be <c>null</c>.</param>
            <param name="bOnlyIfNewer">Only set the properties of the template entry
            if it is newer than the current one.</param>
            <param name="bIncludeHistory">If <c>true</c>, the history will be
            copied, too.</param>
            <param name="bAssignLocationChanged">If <c>true</c>, the
            <c>LocationChanged</c> property is copied, otherwise not.</param>
        </member>
        <member name="M:KeePassLib.PwEntry.CreateBackup">
            <summary>
            Create a backup of this entry. The backup item doesn't contain any
            history items.
            </summary>
        </member>
        <member name="M:KeePassLib.PwEntry.CreateBackup(KeePassLib.PwDatabase)">
            <summary>
            Create a backup of this entry. The backup item doesn't contain any
            history items.
            <param name="pwHistMntcSettings">If this parameter isn't <c>null</c>,
            the history list is maintained automatically (i.e. old backups are
            deleted if there are too many or the history size is too large).
            This parameter may be <c>null</c> (no maintenance then).</param>
            </summary>
        </member>
        <member name="M:KeePassLib.PwEntry.RestoreFromBackup(System.UInt32)">
            <summary>
            Restore an entry snapshot from backups.
            </summary>
            <param name="uBackupIndex">Index of the backup item, to which
            should be reverted.</param>
        </member>
        <member name="M:KeePassLib.PwEntry.RestoreFromBackup(System.UInt32,KeePassLib.PwDatabase)">
            <summary>
            Restore an entry snapshot from backups.
            </summary>
            <param name="uBackupIndex">Index of the backup item, to which
            should be reverted.</param>
            <param name="pwHistMntcSettings">If this parameter isn't <c>null</c>,
            the history list is maintained automatically (i.e. old backups are
            deleted if there are too many or the history size is too large).
            This parameter may be <c>null</c> (no maintenance then).</param>
        </member>
        <member name="M:KeePassLib.PwEntry.MaintainBackups(KeePassLib.PwDatabase)">
            <summary>
            Delete old history entries if there are too many or the
            history size is too large.
            <returns>If one or more history entries have been deleted,
            <c>true</c> is returned. Otherwise <c>false</c>.</returns>
            </summary>
        </member>
        <member name="M:KeePassLib.PwEntry.GetSize">
            <summary>
            Approximate the total size (in process memory) of this entry
            in bytes (including strings, binaries and history entries).
            </summary>
            <returns>Size in bytes.</returns>
        </member>
        <member name="T:KeePassLib.PwDatabase">
            <summary>
            The core password manager class. It contains a number of groups, which
            contain the actual entries.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.RootGroup">
            <summary>
            Get the root group that contains all groups and entries stored in the
            database.
            </summary>
            <returns>Root group. The return value is <c>null</c>, if the database
            is not open.</returns>
        </member>
        <member name="P:KeePassLib.PwDatabase.IOConnectionInfo">
            <summary>
            <c>IOConnection</c> of the currently open database file.
            Is never <c>null</c>.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.IsOpen">
            <summary>
            If this is <c>true</c>, a database is currently open.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.Modified">
            <summary>
            Modification flag. If true, the class has been modified and the
            user interface should prompt the user to save the changes before
            closing the database for example.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.MasterKey">
            <summary>
            The user key used for database encryption. This key must be created
            and set before using any of the database load/save functions.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.Name">
            <summary>
            Name of the database.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.Description">
            <summary>
            Database description.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.DefaultUserName">
            <summary>
            Default user name used for new entries.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.MaintenanceHistoryDays">
            <summary>
            Number of days until history entries are being deleted
            in a database maintenance operation.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.DataCipherUuid">
            <summary>
            The encryption algorithm used to encrypt the data part of the database.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.Compression">
            <summary>
            Compression algorithm used to encrypt the data part of the database.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.MemoryProtection">
            <summary>
            Memory protection configuration (for default fields).
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.DeletedObjects">
            <summary>
            Get a list of all deleted objects.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.CustomIcons">
            <summary>
            Get all custom icons stored in this database.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.UINeedsIconUpdate">
            <summary>
            This is a dirty-flag for the UI. It is used to indicate when an
            icon list update is required.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.EntryTemplatesGroup">
            <summary>
            UUID of the group containing template entries. May be
            <c>PwUuid.Zero</c>, if no entry templates group has been specified.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.CustomData">
            <summary>
            Custom data container that can be used by plugins to store
            own data in KeePass databases.
            The data is stored in the encrypted part of encrypted
            database files.
            Use unique names for your items, e.g. "PluginName_ItemName".
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.PublicCustomData">
            <summary>
            Custom data container that can be used by plugins to store
            own data in KeePass databases.
            The data is stored in the *unencrypted* part of database files,
            and it is not supported by all file formats (e.g. supported by KDBX,
            unsupported by XML).
            It is highly recommended to use <c>CustomData</c> instead,
            if possible.
            Use unique names for your items, e.g. "PluginName_ItemName".
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.HashOfFileOnDisk">
            <summary>
            Hash value of the primary file on disk (last read or last write).
            A call to <c>SaveAs</c> without making the saved file primary will
            not change this hash. May be <c>null</c>.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.DetachBinaries">
            <summary>
            Detach binaries when opening a file. If this isn't <c>null</c>,
            all binaries are saved to the specified path and are removed
            from the database.
            </summary>
        </member>
        <member name="P:KeePassLib.PwDatabase.LocalizedAppName">
            <summary>
            Localized application name.
            </summary>
        </member>
        <member name="M:KeePassLib.PwDatabase.#ctor">
            <summary>
            Constructs an empty password manager object.
            </summary>
        </member>
        <member name="M:KeePassLib.PwDatabase.New(KeePassLib.Serialization.IOConnectionInfo,KeePassLib.Keys.CompositeKey)">
            <summary>
            Initialize the class for managing a new database. Previously loaded
            data is deleted.
            </summary>
            <param name="ioConnection">I/O connection of the new database.</param>
            <param name="pwKey">Key to open the database.</param>
        </member>
        <member name="M:KeePassLib.PwDatabase.Open(KeePassLib.Serialization.IOConnectionInfo,KeePassLib.Keys.CompositeKey,KeePassLib.Interfaces.IStatusLogger)">
            <summary>
            Open a database. The URL may point to any supported data source.
            </summary>
            <param name="ioSource">I/O connection to load the database from.</param>
            <param name="pwKey">Key used to open the specified database.</param>
            <param name="slLogger">Logger, which gets all status messages.</param>
        </member>
        <member name="M:KeePassLib.PwDatabase.Save(KeePassLib.Interfaces.IStatusLogger)">
            <summary>
            Save the currently open database. The file is written to the
            location it has been opened from.
            </summary>
            <param name="slLogger">Logger that receives status information.</param>
        </member>
        <member name="M:KeePassLib.PwDatabase.SaveAs(KeePassLib.Serialization.IOConnectionInfo,System.Boolean,KeePassLib.Interfaces.IStatusLogger)">
            <summary>
            Save the currently open database to a different location. If
            <paramref name="bIsPrimaryNow" /> is <c>true</c>, the specified
            location is made the default location for future saves
            using <c>SaveDatabase</c>.
            </summary>
            <param name="ioConnection">New location to serialize the database to.</param>
            <param name="bIsPrimaryNow">If <c>true</c>, the new location is made
            the standard location for the database. If <c>false</c>, a copy of the
            currently open database is saved to the specified location, but it
            isn't made the default location (i.e. no lock files will be moved for
            example).</param>
            <param name="slLogger">Logger that receives status information.</param>
        </member>
        <member name="M:KeePassLib.PwDatabase.Close">
            <summary>
            Closes the currently open database. No confirmation message
            is shown before closing. Unsaved changes will be lost.
            </summary>
        </member>
        <member name="M:KeePassLib.PwDatabase.LoadHeader(KeePassLib.Serialization.IOConnectionInfo)">
            <summary>
            Load only the unencrypted header of a database file.
            In the returned database object, any data that is not stored
            in the unencrypted header is set to its default value.
            Intended primarily for plugins.
            </summary>
        </member>
        <member name="M:KeePassLib.PwDatabase.GetCustomIconIndex(KeePassLib.PwUuid)">
            <summary>
            Get the index of a custom icon.
            </summary>
            <param name="pwIconId">ID of the icon.</param>
            <returns>Index of the icon.</returns>
        </member>
        <member name="M:KeePassLib.PwDatabase.GetCustomIcon(KeePassLib.PwUuid,System.Int32,System.Int32)">
            <summary>
            Get a custom icon. This method can return <c>null</c>,
            e.g. if no cached image of the icon is available.
            </summary>
            <param name="pwIconId">ID of the icon.</param>
            <param name="w">Width of the returned image. If this is
            negative, the image is returned in its original size.</param>
            <param name="h">Height of the returned image. If this is
            negative, the image is returned in its original size.</param>
        </member>
        <member name="T:KeePassLib.PwCompressionAlgorithm">
            <summary>
            Compression algorithm specifiers.
            </summary>
        </member>
        <member name="F:KeePassLib.PwCompressionAlgorithm.None">
            <summary>
            No compression.
            </summary>
        </member>
        <member name="F:KeePassLib.PwCompressionAlgorithm.GZip">
            <summary>
            GZip compression.
            </summary>
        </member>
        <member name="F:KeePassLib.PwCompressionAlgorithm.Count">
            <summary>
            Virtual field: currently known number of algorithms. Should not be used
            by plugins or libraries -- it's used internally only.
            </summary>
        </member>
        <member name="T:KeePassLib.TraversalMethod">
            <summary>
            Tree traversal methods.
            </summary>
        </member>
        <member name="F:KeePassLib.TraversalMethod.None">
            <summary>
            Don't traverse the tree.
            </summary>
        </member>
        <member name="F:KeePassLib.TraversalMethod.PreOrder">
            <summary>
            Traverse the tree in pre-order mode, i.e. first visit all items
            in the current node, then visit all subnodes.
            </summary>
        </member>
        <member name="T:KeePassLib.PwMergeMethod">
            <summary>
            Methods for merging databases/entries.
            </summary>
        </member>
        <member name="T:KeePassLib.PwIcon">
            <summary>
            Icon identifiers for groups and password entries.
            </summary>
        </member>
        <member name="F:KeePassLib.PwIcon.Count">
            <summary>
            Virtual identifier -- represents the number of icons.
            </summary>
        </member>
        <member name="F:KeePassLib.ProxyAuthType.Default">
            <summary>
            Use default user credentials (provided by the system).
            </summary>
        </member>
        <member name="F:KeePassLib.ProxyAuthType.Auto">
            <summary>
            <c>Default</c> or <c>Manual</c>, depending on whether
            manual credentials are available.
            This type exists for supporting upgrading from KeePass
            2.28 to 2.29; the user cannot select this type.
            </summary>
        </member>
        <member name="T:KeePassLib.MemProtCmpMode">
            <summary>
            Comparison modes for in-memory protected objects.
            </summary>
        </member>
        <member name="F:KeePassLib.MemProtCmpMode.None">
            <summary>
            Ignore the in-memory protection states.
            </summary>
        </member>
        <member name="F:KeePassLib.MemProtCmpMode.CustomOnly">
            <summary>
            Ignore the in-memory protection states of standard
            objects; do compare in-memory protection states of
            custom objects.
            </summary>
        </member>
        <member name="F:KeePassLib.MemProtCmpMode.Full">
            <summary>
            Compare in-memory protection states.
            </summary>
        </member>
        <member name="F:KeePassLib.PwCompareOptions.NullEmptyEquivStd">
            <summary>
            Empty standard string fields are considered to be the
            same as non-existing standard string fields.
            This doesn't affect custom string comparisons.
            </summary>
        </member>
        <member name="F:KeePassLib.IOAccessType.Read">
            <summary>
            The I/O connection is being opened for reading.
            </summary>
        </member>
        <member name="F:KeePassLib.IOAccessType.Write">
            <summary>
            The I/O connection is being opened for writing.
            </summary>
        </member>
        <member name="F:KeePassLib.IOAccessType.Exists">
            <summary>
            The I/O connection is being opened for testing
            whether a file/object exists.
            </summary>
        </member>
        <member name="F:KeePassLib.IOAccessType.Delete">
            <summary>
            The I/O connection is being opened for deleting a file/object.
            </summary>
        </member>
        <member name="F:KeePassLib.IOAccessType.Move">
            <summary>
            The I/O connection is being opened for renaming/moving a file/object.
            </summary>
        </member>
        <member name="F:KeePassLib.AppRunFlags.GCKeepAlive">
            <summary>
            This flag prevents any handles being garbage-collected
            before the started process has terminated, without
            blocking the current thread.
            </summary>
        </member>
        <member name="F:KeePassLib.ScaleTransformFlags.UIIcon">
            <summary>
            <c>UIIcon</c> indicates that the returned image is going
            to be displayed as icon in the UI and that it is not
            subject to future changes in size.
            </summary>
        </member>
        <member name="F:KeePassLib.ArchitectureEx.None">
            <summary>Unknown processor architecture.</summary>
        </member>
        <member name="F:KeePassLib.ArchitectureEx.X86">
            <summary>32-bit x86 (x86-32).</summary>
        </member>
        <member name="F:KeePassLib.ArchitectureEx.X64">
            <summary>64-bit x86 (x86-64).</summary>
        </member>
        <member name="F:KeePassLib.ArchitectureEx.Arm">
            <summary>32-bit ARM (ARM32).</summary>
        </member>
        <member name="F:KeePassLib.ArchitectureEx.Arm64">
            <summary>64-bit ARM (ARM64).</summary>
        </member>
        <member name="P:KeePassLib.Serialization.BinaryReaderEx.CopyDataTo">
            <summary>
            If this property is set to a non-null stream, all data that
            is read from the input stream is automatically written to
            the copy stream (before returning the read data).
            </summary>
        </member>
        <member name="M:KeePassLib.Serialization.IOConnection.RenameFile(KeePassLib.Serialization.IOConnectionInfo,KeePassLib.Serialization.IOConnectionInfo)">
            <summary>
            Rename/move a file. For local file system and WebDAV, the
            specified file is moved, i.e. the file destination can be
            in a different directory/path. In contrast, for FTP the
            file is renamed, i.e. its destination must be in the same
            directory/path.
            </summary>
            <param name="iocFrom">Source file path.</param>
            <param name="iocTo">Target file path.</param>
        </member>
        <member name="T:KeePassLib.Serialization.KdbxFormat">
            <summary>
            The <c>KdbxFile</c> class supports saving the data to various
            formats.
            </summary>
        </member>
        <member name="F:KeePassLib.Serialization.KdbxFormat.Default">
            <summary>
            The default, encrypted file format.
            </summary>
        </member>
        <member name="F:KeePassLib.Serialization.KdbxFormat.PlainXml">
            <summary>
            Use this flag when exporting data to a plain-text XML file.
            </summary>
        </member>
        <member name="T:KeePassLib.Serialization.KdbxFile">
            <summary>
            Serialization to KeePass KDBX files.
            </summary>
            <summary>
            Serialization to KeePass KDBX files.
            </summary>
            <summary>
            Serialization to KeePass KDBX files.
            </summary>
            <summary>
            Serialization to KeePass KDBX files.
            </summary>
        </member>
        <member name="F:KeePassLib.Serialization.KdbxFile.FileSignature1">
            <summary>
            File identifier, first 32-bit value.
            </summary>
        </member>
        <member name="F:KeePassLib.Serialization.KdbxFile.FileSignature2">
            <summary>
            File identifier, second 32-bit value.
            </summary>
        </member>
        <member name="F:KeePassLib.Serialization.KdbxFile.FileVersion32">
            <summary>
            Maximum supported version of database files. The high word is the
            major version, and the low word is the minor version.
            An application can load the file if it supports the major version.
            If the minor version of the file is greater than the one that the
            application supports, the application may try to load the file,
            ignoring any unknown elements. Certain data may be lost in this
            case, thus showing a confirmation/warning is recommended.
            KeePass version - format version:
            2.00 - 1.0, 2.07 - 1.1, 2.08 - 1.2, 2.09 - 2.0, 2.11 - 2.4,
            2.15 - 3.0, 2.20 - 3.1, 2.35 - 4.0, 2.48 - 4.1.
            </summary>
        </member>
        <member name="P:KeePassLib.Serialization.KdbxFile.DetachBinaries">
            <summary>
            Detach binaries when opening a file. If this isn't <c>null</c>,
            all binaries are saved to the specified path and are removed
            from the database.
            </summary>
        </member>
        <member name="M:KeePassLib.Serialization.KdbxFile.#ctor(KeePassLib.PwDatabase)">
            <summary>
            Default constructor.
            </summary>
            <param name="pwDataStore">The <c>PwDatabase</c> instance that the
            class will load file data into or use to create a KDBX file.</param>
        </member>
        <member name="M:KeePassLib.Serialization.KdbxFile.DetermineLanguageId">
            <summary>
            Call this once to determine the current localization settings.
            </summary>
        </member>
        <member name="M:KeePassLib.Serialization.KdbxFile.Load(System.String,KeePassLib.Serialization.KdbxFormat,KeePassLib.Interfaces.IStatusLogger)">
            <summary>
            Load a KDBX file.
            </summary>
            <param name="strFilePath">File to load.</param>
            <param name="fmt">Format.</param>
            <param name="slLogger">Status logger (optional).</param>
        </member>
        <member name="M:KeePassLib.Serialization.KdbxFile.Load(System.IO.Stream,KeePassLib.Serialization.KdbxFormat,KeePassLib.Interfaces.IStatusLogger)">
            <summary>
            Load a KDBX file from a stream.
            </summary>
            <param name="sSource">Stream to read the data from. Must contain
            a KDBX stream.</param>
            <param name="fmt">Format.</param>
            <param name="slLogger">Status logger (optional).</param>
        </member>
        <member name="M:KeePassLib.Serialization.KdbxFile.Save(System.IO.Stream,KeePassLib.PwGroup,KeePassLib.Serialization.KdbxFormat,KeePassLib.Interfaces.IStatusLogger)">
            <summary>
            Save the contents of the current <c>PwDatabase</c> to a KDBX file.
            </summary>
            <param name="sSaveTo">Stream to write the KDBX file into.</param>
            <param name="pgDataSource">Group containing all groups and
            entries to write. If <c>null</c>, the complete database will
            be written.</param>
            <param name="fmt">Format of the file to create.</param>
            <param name="slLogger">Logger that receives status information.</param>
        </member>
        <member name="F:KeePassLib.Serialization.IOCredSaveMode.NoSave">
            <summary>
            Do not remember user name or password.
            </summary>
        </member>
        <member name="F:KeePassLib.Serialization.IOCredSaveMode.UserNameOnly">
            <summary>
            Remember the user name only, not the password.
            </summary>
        </member>
        <member name="F:KeePassLib.Serialization.IOCredSaveMode.SaveCred">
            <summary>
            Save both user name and password.
            </summary>
        </member>
        <member name="P:KeePassLib.Serialization.IOConnectionInfo.PropertiesEx">
            <summary>
            For serialization only; use <c>Properties</c> in code.
            </summary>
        </member>
        <member name="P:KeePassLib.Translation.KPControlCustomization.Name">
            <summary>
            Member variable name of the control to be translated.
            </summary>
        </member>
        <member name="P:KeePassLib.Translation.KPFormCustomization.FullName">
            <summary>
            The fully qualified name of the form.
            </summary>
        </member>
        <member name="T:KeePassLib.Utility.AppLogEx">
            <summary>
            Application-wide logging services.
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.GfxUtil.ScaleImage(System.Drawing.Image,System.Int32,System.Int32,KeePassLib.ScaleTransformFlags)">
            <summary>
            Resize an image.
            </summary>
            <param name="img">Image to resize.</param>
            <param name="w">Width of the returned image.</param>
            <param name="h">Height of the returned image.</param>
            <param name="f">Flags to customize scaling behavior.</param>
            <returns>Resized image. This object is always different
            from <paramref name="img" /> (i.e. they can be
            disposed separately).</returns>
        </member>
        <member name="T:KeePassLib.Utility.MemUtil">
            <summary>
            Buffer manipulation and conversion routines.
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.MemUtil.HexStringToByteArray(System.String)">
            <summary>
            Convert a hexadecimal string to a byte array. The input string must be
            even (i.e. its length is a multiple of 2).
            </summary>
            <param name="strHex">String containing hexadecimal characters.</param>
            <returns>Returns a byte array. Returns <c>null</c> if the string parameter
            was <c>null</c> or is an uneven string (i.e. if its length isn't a
            multiple of 2).</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="strHex" />
            is <c>null</c>.</exception>
        </member>
        <member name="M:KeePassLib.Utility.MemUtil.ByteArrayToHexString(System.Byte[])">
            <summary>
            Convert a byte array to a hexadecimal string.
            </summary>
            <param name="pbArray">Input byte array.</param>
            <returns>Returns the hexadecimal string representing the byte
            array. Returns <c>null</c>, if the input byte array was <c>null</c>. Returns
            an empty string, if the input byte array has length 0.</returns>
        </member>
        <member name="M:KeePassLib.Utility.MemUtil.ParseBase32(System.String)">
            <summary>
            Decode Base32 strings according to RFC 4648.
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.MemUtil.ZeroByteArray(System.Byte[])">
            <summary>
            Set all bytes in a byte array to zero.
            </summary>
            <param name="pbArray">Input array. All bytes of this array
            will be set to zero.</param>
        </member>
        <member name="M:KeePassLib.Utility.MemUtil.ZeroArray``1(``0[])">
            <summary>
            Set all elements of an array to the default value.
            </summary>
            <param name="v">Input array.</param>
        </member>
        <member name="M:KeePassLib.Utility.MemUtil.BytesToUInt16(System.Byte[])">
            <summary>
            Convert 2 bytes to a 16-bit unsigned integer (little-endian).
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.MemUtil.BytesToUInt16(System.Byte[],System.Int32)">
            <summary>
            Convert 2 bytes to a 16-bit unsigned integer (little-endian).
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.MemUtil.BytesToUInt32(System.Byte[])">
            <summary>
            Convert 4 bytes to a 32-bit unsigned integer (little-endian).
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.MemUtil.BytesToUInt32(System.Byte[],System.Int32)">
            <summary>
            Convert 4 bytes to a 32-bit unsigned integer (little-endian).
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.MemUtil.BytesToUInt64(System.Byte[])">
            <summary>
            Convert 8 bytes to a 64-bit unsigned integer (little-endian).
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.MemUtil.BytesToUInt64(System.Byte[],System.Int32)">
            <summary>
            Convert 8 bytes to a 64-bit unsigned integer (little-endian).
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.MemUtil.UInt16ToBytes(System.UInt16)">
            <summary>
            Convert a 16-bit unsigned integer to 2 bytes (little-endian).
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.MemUtil.UInt32ToBytes(System.UInt32)">
            <summary>
            Convert a 32-bit unsigned integer to 4 bytes (little-endian).
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.MemUtil.UInt32ToBytesEx(System.UInt32,System.Byte[],System.Int32)">
            <summary>
            Convert a 32-bit unsigned integer to 4 bytes (little-endian).
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.MemUtil.UInt64ToBytes(System.UInt64)">
            <summary>
            Convert a 64-bit unsigned integer to 8 bytes (little-endian).
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.MemUtil.UInt64ToBytesEx(System.UInt64,System.Byte[],System.Int32)">
            <summary>
            Convert a 64-bit unsigned integer to 8 bytes (little-endian).
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.MemUtil.Hash32(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Fast 32-bit hash (e.g. for hash tables).
            The algorithm might change in the future; do not store
            the hashes for later use.
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.MemUtil.DisposeIfPossible(System.Object)">
            <summary>
            Safely dispose an object if possible. Examples:
            <c>RNGCryptoServiceProvider</c> does not implement <c>IDisposable</c>
            in .NET 3.5, but in later .NET versions it does;
            the <c>Dispose</c> method of <c>SymmetricAlgorithm</c> in .NET 3.5
            is not public; etc.
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.MonoWorkarounds.ExchangeFormShownRaised(System.Windows.Forms.Form,System.Boolean)">
            <summary>
            Set the value of the private <c>shown_raised</c> member
            variable of a form.
            </summary>
            <returns>Previous <c>shown_raised</c> value.</returns>
        </member>
        <member name="M:KeePassLib.Utility.MonoWorkarounds.EnsureRecentlyUsedValid">
            <summary>
            Ensure that the file ~/.recently-used is valid (in order to
            prevent Mono's FileDialog from crashing).
            </summary>
        </member>
        <member name="T:KeePassLib.Utility.CharStream">
            <summary>
            Character stream class.
            </summary>
        </member>
        <member name="P:KeePassLib.Utility.StrEncodingInfo.CodePointSize">
            <summary>
            Size of a character in bytes.
            </summary>
        </member>
        <member name="P:KeePassLib.Utility.StrEncodingInfo.StartSignature">
            <summary>
            Start signature of the text (byte order mark).
            May be <c>null</c> or empty, if no signature is known.
            </summary>
        </member>
        <member name="T:KeePassLib.Utility.StrUtil">
            <summary>
            A class containing various string helper methods.
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.StrUtil.StringToHtml(System.String)">
            <summary>
            Convert a string to a HTML sequence representing that string.
            </summary>
            <param name="str">String to convert.</param>
            <returns>String, HTML-encoded.</returns>
        </member>
        <member name="M:KeePassLib.Utility.StrUtil.ColorToUnnamedHtml(System.Drawing.Color,System.Boolean)">
            <summary>
            Convert a <c>Color</c> to a HTML color identifier string.
            </summary>
            <param name="color">Color to convert.</param>
            <param name="bEmptyIfTransparent">If this is <c>true</c>, an empty string
            is returned if the color is transparent.</param>
            <returns>HTML color identifier string.</returns>
        </member>
        <member name="M:KeePassLib.Utility.StrUtil.FormatException(System.Exception)">
            <summary>
            Convert an exception to a detailed string.
            </summary>
            <param name="ex"><c>Exception</c> to convert/format.</param>
            <returns>String representing the exception.</returns>
        </member>
        <member name="M:KeePassLib.Utility.StrUtil.SafeXmlString(System.String)">
            <summary>
            Removes all characters that are not valid XML characters,
            according to https://www.w3.org/TR/xml/#charsets .
            </summary>
            <param name="strText">Source text.</param>
            <returns>Text containing only valid XML characters.</returns>
        </member>
        <member name="M:KeePassLib.Utility.StrUtil.NormalizeNewLines(System.String,System.Boolean)">
            <summary>
            Normalize new line characters in a string. Input strings may
            contain mixed new line character sequences from all commonly
            used operating systems (i.e. \r\n from Windows, \n from Unix
            and \r from MacOS.
            </summary>
            <param name="str">String with mixed new line characters.</param>
            <param name="bWindows">If <c>true</c>, new line characters
            are normalized for Windows (\r\n); if <c>false</c>, new line
            characters are normalized for Unix (\n).</param>
            <returns>String with normalized new line characters.</returns>
        </member>
        <member name="M:KeePassLib.Utility.StrUtil.SplitWithSep(System.String,System.String[],System.Boolean)">
            <summary>
            Split a string and include the separators in the split array.
            </summary>
            <param name="str">String to split.</param>
            <param name="vSeps">Separators.</param>
            <param name="bCaseSensitive">Specifies whether separators are
            matched case-sensitively or not.</param>
            <returns>Split string including separators.</returns>
        </member>
        <member name="M:KeePassLib.Utility.StrUtil.DataToDataUri(System.Byte[],System.String)">
            <summary>
            Create a data URI (according to RFC 2397).
            </summary>
            <param name="pbData">Data to encode.</param>
            <param name="strMediaType">Optional MIME type. If <c>null</c>,
            an appropriate type is used.</param>
            <returns>Data URI.</returns>
        </member>
        <member name="M:KeePassLib.Utility.StrUtil.DataUriToData(System.String)">
            <summary>
            Convert a data URI (according to RFC 2397) to binary data.
            </summary>
            <param name="strDataUri">Data URI to decode.</param>
            <returns>Decoded binary data.</returns>
        </member>
        <member name="M:KeePassLib.Utility.StrUtil.RemovePlaceholders(System.String)">
            <summary>
            Remove placeholders from a string (wrapped in '{' and '}').
            This doesn't remove environment variables (wrapped in '%').
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.StrUtil.GetUnusedChar(System.String)">
            <summary>
            Find a character that does not occur within a given text.
            </summary>
        </member>
        <member name="T:KeePassLib.Utility.UrlUtil">
            <summary>
            A class containing various static path utility helper methods (like
            stripping extension from a file, etc.).
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.UrlUtil.GetFileDirectory(System.String,System.Boolean,System.Boolean)">
            <summary>
            Get the directory (path) of a file name. The returned string may be
            terminated by a directory separator character. Example:
            passing <c>C:\\My Documents\\My File.kdb</c> in <paramref name="strFile" />
            and <c>true</c> to <paramref name="bAppendTerminatingChar"/>
            would produce this string: <c>C:\\My Documents\\</c>.
            </summary>
            <param name="strFile">Full path of a file.</param>
            <param name="bAppendTerminatingChar">Append a terminating directory separator
            character to the returned path.</param>
            <param name="bEnsureValidDirSpec">If <c>true</c>, the returned path
            is guaranteed to be a valid directory path (for example <c>X:\\</c> instead
            of <c>X:</c>, overriding <paramref name="bAppendTerminatingChar" />).
            This should only be set to <c>true</c>, if the returned path is directly
            passed to some directory API.</param>
            <returns>Directory of the file.</returns>
        </member>
        <member name="M:KeePassLib.Utility.UrlUtil.GetFileName(System.String)">
            <summary>
            Gets the file name of the specified file (full path). Example:
            if <paramref name="strPath" /> is <c>C:\\My Documents\\My File.kdb</c>
            the returned string is <c>My File.kdb</c>.
            </summary>
            <param name="strPath">Full path of a file.</param>
            <returns>File name of the specified file.</returns>
        </member>
        <member name="M:KeePassLib.Utility.UrlUtil.StripExtension(System.String)">
            <summary>
            Strip the extension of a file.
            </summary>
            <param name="strPath">Full path of a file with extension.</param>
            <returns>File name without extension.</returns>
        </member>
        <member name="M:KeePassLib.Utility.UrlUtil.GetExtension(System.String)">
            <summary>
            Get the extension of a file.
            </summary>
            <param name="strPath">Full path of a file with extension.</param>
            <returns>Extension without prepending dot.</returns>
        </member>
        <member name="M:KeePassLib.Utility.UrlUtil.EnsureTerminatingSeparator(System.String,System.Boolean)">
            <summary>
            Ensure that a path is terminated with a directory separator character.
            </summary>
            <param name="strPath">Input path.</param>
            <param name="bUrl">If <c>true</c>, a slash (<c>/</c>) is appended to
            the string if it's not terminated already. If <c>false</c>, the
            default system directory separator character is used.</param>
            <returns>Path having a directory separator as last character.</returns>
        </member>
        <member name="M:KeePassLib.Utility.UrlUtil.GetHost(System.String)">
            <summary>
            Get the host component of a URL.
            This method is faster and more fault-tolerant than creating
            an <code>Uri</code> object and querying its <code>Host</code>
            property.
            </summary>
            <example>
            For the input <code>s://u:p@d.tld:p/p?q#f</code> the return
            value is <code>d.tld</code>.
            </example>
        </member>
        <member name="M:KeePassLib.Utility.UrlUtil.ExpandShellVariables(System.String,System.String[],System.Boolean)">
            <summary>
            Expand shell variables in a string.
            <paramref name="vParams" />[0] is the value of <c>%1</c>, etc.
            </summary>
        </member>
        <member name="T:KeePassLib.Utility.TimeUtil">
            <summary>
            Contains various static time structure manipulation and conversion
            routines.
            </summary>
        </member>
        <member name="F:KeePassLib.Utility.TimeUtil.PwTimeLength">
            <summary>
            Length of a compressed <c>PW_TIME</c> structure in bytes.
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.TimeUtil.ToDisplayString(System.DateTime)">
            <summary>
            Convert a <c>DateTime</c> object to a displayable string.
            </summary>
            <param name="dt"><c>DateTime</c> object to convert to a string.</param>
            <returns>String representing the specified <c>DateTime</c> object.</returns>
        </member>
        <member name="M:KeePassLib.Utility.TimeUtil.ParseUSTextDate(System.String,System.DateTimeKind)">
            <summary>
            Parse a US textual date string, like e.g. "January 02, 2012".
            </summary>
        </member>
        <member name="M:KeePassLib.Utility.TimeUtil.EqualsFloor(System.DateTime,System.DateTime)">
            <summary>
            Check equality of two times with precision 1 s, floor-rounded.
            Ticks finer than 1 s are ignored.
            </summary>
        </member>
    </members>
</doc>
