Generates a  array of the specified length, and fills it with a
            cryptographically strong random sequence of values.
            
            The length of the array generate.
        
        
            
            Fills an array of bytes with a cryptographically strong random sequence of values.
            
            The array to fill with cryptographically strong random bytes.
             is null.
            
            The length of the byte array determines how many random bytes are produced.
            
        
        
            
            Returns the Internet Protocol (IP) addresses for the specified host.
            
            The host name or IP address to resolve
            
            An array of type  that holds the IP addresses for the host that
            is specified by the  parameter.
            
             is null.
            An error is encountered when resolving .
        
        
            
            Returns an enumerable collection of file information that matches a search pattern.
            
            
            The search string to match against the names of files.
            
            An enumerable collection of files that matches .
            
             is null.
             is null.
            The path represented by  does not exist or is not valid.
        
        
            
            Returns a value indicating whether the specified  can be used
            to send data.
            
            The  to check.
            
            true if  can be written to; otherwise, false.
            
        
        
            
            Reads a byte from the specified .
            
            The  to read from.
            Specifies the amount of time after which the call will time out.
            
            The byte read, or -1 if the socket was closed.
            
            The read operation timed out.
            The read failed.
        
        
            
            Sends a byte using the specified .
            
            The  to write to.
            The value to send.
            The write failed.
        
        
            
            Receives data from a bound .
            
            
            The number of bytes to receive.
            Specifies the amount of time after which the call will time out.
            
            The bytes received.
            
            
            If no data is available for reading, the  method will
            block until data is available or the time-out value is exceeded. If the time-out value is exceeded, the
             call will throw a .
             If you are in non-blocking mode, and there is no data available in the in the protocol stack buffer, the
             method will complete immediately and throw a .
            
        
        
            
            Receives data from a bound  into a receive buffer.
            
            
            An array of type  that is the storage location for the received data. 
            The position in  parameter to store the received data.
            The number of bytes to receive.
            The maximum time to wait until  bytes have been received.
            
            The number of bytes received.
            
            
            
            If no data is available for reading, the  method will
            block until data is available or the time-out value is exceeded. If the time-out value is exceeded, the
             call will throw a .
            
            
            If you are in non-blocking mode, and there is no data available in the in the protocol stack buffer, the
             method will complete immediately and throw a .
            
            
        
        
            
            Suspends the current thread for the specified number of milliseconds.
            
            The number of milliseconds for which the thread is suspended.
        
        
            
            Executes the specified action in a separate thread.
            
            The action to execute.
        
        
            
            Base class for all supported authentication methods
            
        
        
            
            Gets the name of the authentication method.
            
            
            The name of the authentication method.
            
        
        
            
            Gets connection username.
            
        
        
            
            Gets list of allowed authentications.
            
        
        
            
            Initializes a new instance of the  class.
            
            The username.
             is whitespace or null.
        
        
            
            Authenticates the specified session.
            
            The session to authenticate.
            
            The result of the authentication process.
            
        
        
            
            Authenticates the specified session.
            
            The session to authenticate.
            
            The result of the authentication process.
            
        
        
            
            Represents possible authentication methods results
            
        
        
            
            Authentication was successful.
            
        
        
            
            Authentication completed with partial success.
            
        
        
            
            Authentication failed.
            
        
        
            
            Serves as base class for client implementations, provides common client functionality.
            
        
        
            
            Holds value indicating whether the connection info is owned by this client.
            
        
        
            
            Gets the current session.
            
            
            The current session.
            
        
        
            
            Gets the factory for creating new services.
            
            
            The factory for creating new services.
            
        
        
            
            Gets the connection info.
            
            
            The connection info.
            
            The method was called after the client was disposed.
        
        
            
            Gets a value indicating whether this client is connected to the server.
            
            
            true if this client is connected; otherwise, false.
            
            The method was called after the client was disposed.
        
        
            
            Gets or sets the keep-alive interval.
            
            
            The keep-alive interval. Specify negative one (-1) milliseconds to disable the
            keep-alive. This is the default value.
            
            The method was called after the client was disposed.
        
        
            
            Occurs when an error occurred.
            
            
              
              - 
                A  is received for the channel being opened.
              
- 
                The remote host does not respond to the  within the configured .
              
- 
                The remote host closes the channel.
              
- 
                The  is disposed.
              
- 
                A socket error occurs sending a message to the remote host.
              
If the session semaphore was already obtained for this instance (and not released), then this method
            immediately returns control to the caller. This should only happen when another thread has obtain the
            session semaphore and already sent the , but the remote host did not
            confirmed or rejected attempt to open the channel.
            
            
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Releases the session semaphore.
            
            
            When the session semaphore has already been released, or was never obtained by
            this instance, then this method does nothing.
            
        
        
            
            Lists channel types as defined by the protocol.
            
        
        
            
            session
            
        
        
            
            x11
            
        
        
            
            forwarded-tcpip
            
        
        
            
            direct-tcpip
            
        
        
            
            Initializes a new  instance.
            
            The session.
            The local channel number.
            Size of the window.
            Size of the packet.
        
        
            
            Occurs when  is received.
            
        
        
            
            Occurs when  is received.
            
        
        
            
            Called when channel is opened by the server.
            
            The remote channel number.
            Initial size of the window.
            Maximum size of the packet.
        
        
            
            Send message to open a channel.
            
            Message to send
            The client is not connected.
            The operation timed out.
            The size of the packet exceeds the maximum size defined by the protocol.
        
        
            
            Called when channel failed to open.
            
            The reason code.
            The description.
            The language.
        
        
            
            Unsubscribes the current  from session events.
            
            The session.
            
            Does nothing when  is null.
            
        
        
            
            Represents SSH channel.
            
        
        
            
            Occurs when  is received.
            
        
        
            
            Occurs when an exception is thrown when processing channel messages.
            
        
        
            
            Occurs when  is received.
            
        
        
            
            Occurs when  is received.
            
        
        
            
            Occurs when  is received.
            
        
        
            
            Gets the local channel number.
            
            
            The local channel number.
            
        
        
            
            Gets the maximum size of a data packet that we can receive using the channel.
            
            
            The maximum size of a packet.
            
            
            
            This is the maximum size (in bytes) we support for the data (payload) of a
            SSH_MSG_CHANNEL_DATA message we receive.
            
            
            We currently do not enforce this limit.
            
            
        
        
            
            Gets the maximum size of a data packet that can be sent using the channel.
            
            
            The maximum size of data that can be sent using a 
            on the current channel.
            
            The channel has not been opened, or the open has not yet been confirmed.
        
        
            
            Gets a value indicating whether this channel is open.
            
            
            true if this channel is open; otherwise, false.
            
        
        
            
            Sends a SSH_MSG_CHANNEL_DATA message with the specified payload.
            
            The payload to send.
        
        
            
            Sends a SSH_MSG_CHANNEL_DATA message with the specified payload.
            
            An array of  containing the payload to send.
            The zero-based offset in  at which to begin taking data from.
            The number of bytes of  to send.
            
            
            When the size of the data to send exceeds the maximum packet size or the remote window
            size does not allow the full data to be sent, then this method will send the data in
            multiple chunks and will wait for the remote window size to be adjusted when it's zero.
            
            
            This is done to support SSH servers will a small window size that do not agressively
            increase their window size. We need to take into account that there may be SSH servers
            that only increase their window size when it has reached zero.
            
            
        
        
            
            Sends a SSH_MSG_CHANNEL_EOF message to the remote server.
            
            The channel is closed.
        
        
            
            A "direct-tcpip" SSH channel.
            
        
        
            
            Occurs when an exception is thrown while processing channel messages.
            
        
        
            
            Gets a value indicating whether this channel is open.
            
            
            true if this channel is open; otherwise, false.
            
        
        
            
            Gets the local channel number.
            
            
            The local channel number.
            
        
        
            
            Opens a channel for a locally forwarded TCP/IP port.
            
            The name of the remote host to forward to.
            The port of the remote hosts to forward to.
            The forwarded port for which the channel is opened.
            The socket to receive requests from, and send responses from the remote host to.
        
        
            
            Binds the channel to the remote host.
            
        
        
            
            A "forwarded-tcpip" SSH channel.
            
        
        
            
            Occurs when an exception is thrown while processing channel messages.
            
        
        
            
            Binds the channel to the specified endpoint.
            
            The endpoint to connect to.
            The forwarded port for which the channel is opened.
        
        
            
            Session SSH channel.
            
        
        
            
            Opens the channel.
            
        
        
            
            Sends the pseudo terminal request.
            
            The environment variable.
            The columns.
            The rows.
            The width.
            The height.
            The terminal mode values.
            
            true if request was successful; otherwise false.
            
        
        
            
            Sends the X11 forwarding request.
            
            if set to true the it is single connection.
            The protocol.
            The cookie.
            The screen number.
            
            true if request was successful; otherwise false.
            
        
        
            
            Sends the environment variable request.
            
            Name of the variable.
            The variable value.
            
            true if request was successful; otherwise false.
            
        
        
            
            Sends the shell request.
            
            
            true if request was successful; otherwise false.
            
        
        
            
            Sends the exec request.
            
            The command.
            
            true if request was successful; otherwise false.
            
        
        
            
            Sends the exec request.
            
            Length of the break.
            
            true if request was successful; otherwise false.
            
        
        
            
            Sends the subsystem request.
            
            The subsystem.
            
            true if request was successful; otherwise false.
            
        
        
            
            Sends the window change request.
            
            The columns.
            The rows.
            The width.
            The height.
            
            true if request was successful; otherwise false.
            
        
        
            
            Sends the local flow request.
            
            if set to true [client can do].
            
            true if request was successful; otherwise false.
            
        
        
            
            Sends the signal request.
            
            Name of the signal.
            
            true if request was successful; otherwise false.
            
        
        
            
            Sends the exit status request.
            
            The exit status.
            
            true if request was successful; otherwise false.
            
        
        
            
            Sends the exit signal request.
            
            Name of the signal.
            if set to true [core dumped].
            The error message.
            The language.
            
            true if request was successful; otherwise false.
            
        
        
            
            Sends eow@openssh.com request.
            
            
            true if request was successful; otherwise false.
            
        
        
            
            Sends keepalive@openssh.com request.
            
            
            true if request was successful; otherwise false.
            
        
        
            
            Initializes a new  instance.
            
            The session.
            The local channel number.
            Size of the window.
            Size of the packet.
            The remote channel number.
            The window size of the remote party.
            The maximum size of a data packet that we can send to the remote party.
        
        
            
            Holds information about key size and cipher to use
            
        
        
            
            Gets the size of the key.
            
            
            The size of the key.
            
        
        
            
            Gets the cipher.
            
        
        
            
            Initializes a new instance of the  class.
            
            Size of the key.
            The cipher.
        
        
            
            Initializes a new  instance.
            
            The number of times an authentication attempt with any given  can result in  before it is disregarded.
             is less than one.
        
        
            
            Gets the number of times an authentication attempt with any given  can
            result in  before it is disregarded.
            
            
            The number of times an authentication attempt with any given  can result
            in  before it is disregarded.
            
        
        
            
            Attempts to authentication for a given  using the 
            of the specified .
            
            A  to use for authenticating.
            The  for which to perform authentication.
        
        
            
            Records if a given  has been tried, and how many times this resulted
            in .
            
            
            When there's no entry for a given , then it was never tried.
            
        
        
            
            Holds the list of authentications methods that failed.
            
        
        
            
            Records a  authentication attempt for the specified
             .
            
            An  for which to record the result of an authentication attempt.
        
        
            
            Records a  authentication attempt for the specified
             .
            
            An  for which to record the result of an authentication attempt.
        
        
            
            Returns the number of times an authentication attempt with the specified 
            has resulted in .
            
            An .
            
            The number of times an authentication attempt with the specified 
            has resulted in .
            
        
        
            
            Returns a list of supported authentication methods that match one of the specified allowed authentication
            methods.
            
            A list of allowed authentication methods.
            
            A list of supported authentication methods that match one of the specified allowed authentication methods.
            
            
            The authentication methods are returned in the order in which they were specified in the list that was
            used to initialize the current  instance.
            
        
        
            
            Returns the authentication methods from the specified list that have not yet failed.
            
            A list of authentication methods.
            
            The authentication methods from  that have not yet failed.
            
            
            
            This method first returns the authentication methods that have not yet been executed, and only then
            returns those for which an authentication attempt resulted in a .
            
            
            Any  that has failed is skipped.
            
            
        
        
            
            Provides additional information for asynchronous command execution
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Gets or sets the bytes received. If SFTP only file bytes are counted.
            
            Total bytes received.
        
        
            
            Gets or sets the bytes sent by SFTP.
            
            Total bytes sent.
        
        
            
            Gets a user-defined object that qualifies or contains information about an asynchronous operation.
            
            A user-defined object that qualifies or contains information about an asynchronous operation.
        
        
            
            Gets a  that is used to wait for an asynchronous operation to complete.
            
            A  that is used to wait for an asynchronous operation to complete.
        
        
            
            Gets a value that indicates whether the asynchronous operation completed synchronously.
            
            true if the asynchronous operation completed synchronously; otherwise, false.
        
        
            
            Gets a value that indicates whether the asynchronous operation has completed.
            
            true if the operation is complete; otherwise, false.
        
        
            
            Gets a value indicating whether  was already called for this
            .
            
            
            true if  was already called for this ;
            otherwise, false.
            
        
        
            
            Base class to encapsulates the results of an asynchronous operation.
            
        
        
            
            Gets or sets a value indicating whether  has been called on the current
            .
            
            
            true if  has been called on the current ;
            otherwise, false.
            
        
        
            
            Initializes a new instance of the  class.
            
            The async callback.
            The state.
        
        
            
            Marks asynchronous operation as completed.
            
            The exception.
            if set to true [completed synchronously].
        
        
            
            Waits until the asynchronous operation completes, and then returns. 
            
        
        
            
            Gets a user-defined object that qualifies or contains information about an asynchronous operation.
            
            A user-defined object that qualifies or contains information about an asynchronous operation.
        
        
            
            Gets a value that indicates whether the asynchronous operation completed synchronously.
            
            true if the asynchronous operation completed synchronously; otherwise, false.
        
        
            
            Gets a  that is used to wait for an asynchronous operation to complete.
            
            A  that is used to wait for an asynchronous operation to complete.
        
        
            
            Gets a value that indicates whether the asynchronous operation has completed.
            
            
            true if the operation is complete; otherwise, false.
        
        
            
            Base class to encapsulates the results of an asynchronous operation that returns result.
            
            The type of the result.
        
        
            
            Initializes a new instance of the  class.
            
            The async callback.
            The state.
        
        
            
            Marks asynchronous operation as completed.
            
            The result.
            if set to true [completed synchronously].
        
        
            
            Waits until the asynchronous operation completes, and then returns the value generated by the asynchronous operation. 
            
            
            The invocation result.
            
        
        
            
            Provides data for  event.
            
        
        
            
            Gets banner message.
            
        
        
            
            Gets banner language.
            
        
        
            
            Initializes a new instance of the  class.
            
            The username.
            Banner message.
            Banner language.
        
        
            
            Base class for authentication events.
            
        
        
            
            Gets the username.
            
        
        
            
            Initializes a new instance of the  class.
            
            The username.
        
        
            
            Provides data for  event.
            
        
        
            
            Gets or sets the new password.
            
            
            The new password.
            
        
        
            
            Initializes a new instance of the  class.
            
            The username.
        
        
            
            Provides prompt information when  is raised
            
        
        
            
            Gets the prompt sequence id.
            
        
        
            
            Gets or sets a value indicating whether the user input should be echoed as characters are typed.
            
            
              true if the user input should be echoed as characters are typed; otherwise, false.
            
        
        
            
            Gets server information request.
            
        
        
            
            Gets or sets server information response.
            
            
            The response.
            
        
        
            
            Initializes a new instance of the  class.
            
            The sequence id.
            if set to true the user input should be echoed.
            The request.
        
        
            
            Provides data for  event.
            
        
        
            
            Gets prompt language.
            
        
        
            
            Gets prompt instruction.
            
        
        
            
            Gets server information request prompts.
            
        
        
            
            Initializes a new instance of the  class.
            
            The username.
            The instruction.
            The language.
            The information request prompts.
        
        
            
            Represents an arbitrarily large signed integer.
            
        
        
            
            Gets number of bits used by the number.
            
            
            The number of the bit used.
            
        
        
            
            Mods the inverse.
            
            The bi.
            The modulus.
            
            Modulus inverted number.
            
        
        
            
            Returns positive remainder that results from division with two specified  values.
            
            The value to be divided.
            The value to divide by.
            
            Positive remainder that results from the division.
            
        
        
            
            Generates a new, random  of the specified length.
            
            The number of bits for the new number.
            A random number of the specified length.
        
        
            
            Initializes a new instance of the  structure using a 32-bit signed integer value.
            
            A 32-bit signed integer.
        
        
            
            Initializes a new instance of the  structure using an unsigned 32-bit integer value.
            
            An unsigned 32-bit integer value.
        
        
            
            Initializes a new instance of the  structure using a 64-bit signed integer value.
            
            A 64-bit signed integer.
        
        
            
            Initializes a new instance of the  structure with an unsigned 64-bit integer value.
            
            An unsigned 64-bit integer.
        
        
            
            Initializes a new instance of the  structure using a double-precision floating-point value.
            
            A double-precision floating-point value.
        
        
            
            Initializes a new instance of the  structure using a single-precision floating-point value.
            
            A single-precision floating-point value.
        
        
            
            Initializes a new instance of the  structure using a  value.
            
            A decimal number.
        
        
            
            Initializes a new instance of the  structure using the values in a byte array.
            
            An array of  values in little-endian order.
             is null.
        
        
            
            Indicates whether the value of the current  object is an even number.
            
            
            true if the value of the BigInteger object is an even number; otherwise, false.
            
        
        
            
            Indicates whether the value of the current  object is .
            
            
            true if the value of the  object is ;
            otherwise, false.
            
        
        
            
            Indicates whether the value of the current  object is a power of two.
            
            
            true if the value of the  object is a power of two;
            otherwise, false.
            
        
        
            
            Indicates whether the value of the current  object is .
            
            
            true if the value of the  object is ;
            otherwise, false.
            
        
        
            
            Gets a number that indicates the sign (negative, positive, or zero) of the current  object.
            
            
            A number that indicates the sign of the  object.
            
        
        
            
            Gets a value that represents the number negative one (-1).
            
            
            An integer whose value is negative one (-1).
            
        
        
            
            Gets a value that represents the number one (1).
            
            
            An object whose value is one (1).
            
        
        
            
            Gets a value that represents the number 0 (zero).
            
            
            An integer whose value is 0 (zero).
            
        
        
            
            Defines an explicit conversion of a  object to a 32-bit signed integer value.
            
            The value to convert to a 32-bit signed integer.
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an explicit conversion of a  object to an unsigned 32-bit integer value.
            
            The value to convert to an unsigned 32-bit integer.
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an explicit conversion of a  object to a 16-bit signed integer value.
            
            The value to convert to a 16-bit signed integer.
            
            An object that contains the value of the  parameter.
            
        
        
            
            
            
            
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an explicit conversion of a  object to an unsigned byte value.
            
            The value to convert to a .
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an explicit conversion of a  object to a signed 8-bit value.
            
            The value to convert to a signed 8-bit value.
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an explicit conversion of a  object to a 64-bit signed integer value.
            
            The value to convert to a 64-bit signed integer.
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an explicit conversion of a  object to an unsigned 64-bit integer value.
            
            The value to convert to an unsigned 64-bit integer.
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an explicit conversion of a  object to a  value.
            
            The value to convert to a .
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an explicit conversion of a  object to a single-precision floating-point value.
            
            The value to convert to a single-precision floating-point value.
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an explicit conversion of a  object to a  value.
            
            The value to convert to a .
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an implicit conversion of a signed 32-bit integer to a  value.
            
            The value to convert to a .
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an implicit conversion of a 32-bit unsigned integer to a  value.
            
            The value to convert to a .
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an implicit conversion of a signed 16-bit integer to a BigInteger value.
            
            The value to convert to a .
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an implicit conversion of a 16-bit unsigned integer to a  value.
            
            The value to convert to a .
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an implicit conversion of an unsigned byte to a  value.
            
            The value to convert to a .
            
            An object that contains the value of the  parameter.
            
        
        
            
            
            
            The value to convert to a .
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an implicit conversion of a signed 64-bit integer to a  value.
            
            The value to convert to a .
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an implicit conversion of a 64-bit unsigned integer to a  value.
            
            The value to convert to a .
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an explicit conversion of a  value to a  value.
            
            The value to convert to a .
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an explicit conversion of a  object to a  value.
            
            The value to convert to a .
            
            An object that contains the value of the  parameter.
            
        
        
            
            Defines an explicit conversion of a  object to a  value.
            
            The value to convert to a .
            
            An object that contains the value of the  parameter.
            
        
        
            
            Adds the values of two specified  objects.
            
            The first value to add.
            The second value to add.
            
            The sum of  and .
            
        
        
            
            Subtracts a  value from another  value.
            
            The value to subtract from (the minuend).
            The value to subtract (the subtrahend).
            
            The result of subtracting  from .
            
        
        
            
            Multiplies two specified  values.
            
            The first value to multiply.
            The second value to multiply.
            
            The product of left and right.
            
        
        
            
            Divides a specified  value by another specified  value by using
            integer division.
            
            The value to be divided.
            The value to divide by.
            
            The integral result of the division.
            
        
        
            
            Returns the remainder that results from division with two specified  values.
            
            The value to be divided.
            The value to divide by.
            
            The remainder that results from the division.
            
        
        
            
            Negates a specified  value.
            
            The value to negate.
             
            The result of the  parameter multiplied by negative one (-1).
            
        
        
            
            Returns the value of the  operand.
            
            An integer value.
            
            The value of the  operand.
            
            
            The sign of the operand is unchanged.
            
        
        
            
            Increments a  value by 1.
            
            The value to increment.
            
            The value of the  parameter incremented by 1.
            
        
        
            
            Decrements a  value by 1.
            
            The value to decrement.
            
            The value of the  parameter decremented by 1.
            
        
        
            
            Performs a bitwise And operation on two  values.
            
            The first value.
            The second value.
            
            The result of the bitwise And operation.
            
        
        
            
            Performs a bitwise Or operation on two  values.
            
            The first value.
            The second value.
            
            The result of the bitwise Or operation.
            
        
        
            
            Performs a bitwise exclusive Or (XOr) operation on two  values.
            
            The first value.
            The second value.
            
            The result of the bitwise Or operation.
            
        
        
            
            Returns the bitwise one's complement of a  value.
            
            An integer value.
            
            The bitwise one's complement of .
            
        
        
            
            Shifts a  value a specified number of bits to the left.
            
            The value whose bits are to be shifted.
            The number of bits to shift value to the left.
            
            A value that has been shifted to the left by the specified number of bits.
            
        
        
            
            Shifts a  value a specified number of bits to the right.
            
            The value whose bits are to be shifted.
            The number of bits to shift value to the right.
            
            A value that has been shifted to the right by the specified number of bits.
            
        
        
            
            Returns a value that indicates whether a  value is less than another
             value.
            
            The first value to compare.
            The second value to compare.
            
            true if  is less than ; otherwise, false.
            
        
        
            
            Returns a value that indicates whether a  value is less than a 64-bit signed integer.
            
            The first value to compare.
            The second value to compare.
            
            true if left is  than ; otherwise, false.
            
        
        
            
            Returns a value that indicates whether a 64-bit signed integer is less than a  value.
            
            The first value to compare.
            The second value to compare.
            
            true if  is less than ;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a 64-bit signed integer is less than a  value.
            
            The first value to compare.
            The second value to compare.
            
            true if  is less than ; otherwise, false.
            
        
        
            
            Returns a value that indicates whether a 64-bit unsigned integer is less than a  value.
            
            The first value to compare.
            The second value to compare.
            
            true if  is less than ; otherwise, false.
            
        
        
            
            Returns a value that indicates whether a  value is less than or equal
            to another  value.
            
            The first value to compare.
            The second value to compare.
            
            true if  is less than or equal to ;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a  value is less than or equal
            to a 64-bit signed integer.
            
            The first value to compare.
            The second value to compare.
            
            true if  is less than or equal to ;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a 64-bit signed integer is less than or equal to a  value.
            
            The first value to compare.
            The second value to compare.
            
            true if  is less than or equal to ;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a  value is less than or equal to
            a 64-bit unsigned integer.
            
            The first value to compare.
            The second value to compare.
            
            true if  is less than or equal to ;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a 64-bit unsigned integer is less than or equal to a
             value.
            
            The first value to compare.
            The second value to compare.
            
            true if  is less than or equal to ;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a  value is greater than another
             value.
            
            The first value to compare.
            The second value to compare.
            
            true if  is greater than ;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a  is greater than a 64-bit signed integer value.
            
            The first value to compare.
            The second value to compare.
            
            true if  is greater than ;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a 64-bit signed integer is greater than a  value.
            
            The first value to compare.
            The second value to compare.
            
            true if  is greater than ;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a  value is greater than a 64-bit unsigned integer.
            
            The first value to compare.
            The second value to compare.
            
            true if  is greater than ;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a 64-bit unsigned integer is greater than a  value.
            
            The first value to compare.
            The second value to compare.
            
            true if  is greater than ;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a  value is greater than or equal
            to another  value.
            
            The first value to compare.
            The second value to compare.
            
            true if  is greater than ;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a  value is greater than or equal
            to a 64-bit signed integer value.
            
            The first value to compare.
            The second value to compare.
            
            true if  is greater than ;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a 64-bit signed integer is greater than or equal to a
             value.
            
            The first value to compare.
            The second value to compare.
            
            true if  is greater than ;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a  value is greater than or equal to a
            64-bit unsigned integer value.
            
            The first value to compare.
            The second value to compare.
            
            true if  is greater than ;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a 64-bit unsigned integer is greater than or equal to a
             value.
            
            The first value to compare.
            The second value to compare.
            
            true if  is greater than ;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether the values of two  objects are equal.
            
            The first value to compare.
            The second value to compare.
            
            true if the  and  parameters have the same value;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a  value and a signed long integer value are equal.
            
            The first value to compare.
            The second value to compare.
            
            true if the  and  parameters have the same value;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a signed long integer value and a  value are equal.
            
            The first value to compare.
            The second value to compare.
            
            true if the  and  parameters have the same value;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a  value and an unsigned long integer value are equal.
            
            The first value to compare.
            The second value to compare.
            
            true if the  and  parameters have the same value;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether an unsigned long integer value and a  value are equal.
            
            The first value to compare.
            The second value to compare.
            
            true if the  and  parameters have the same value;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether two  objects have different values.
            
            The first value to compare.
            The second value to compare.
            
            true if  and  are not equal;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a  value and a 64-bit signed integer are not equal.
            
            The first value to compare.
            The second value to compare.
            
            true if  and  are not equal;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a 64-bit signed integer and a  value are not equal.
            
            The first value to compare.
            The second value to compare.
            
            true if  and  are not equal;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a  value and a 64-bit unsigned integer are not equal.
            
            The first value to compare.
            The second value to compare.
            
            true if  and  are not equal;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether a 64-bit unsigned integer and a  value are not equal.
            
            The first value to compare.
            The second value to compare.
            
            true if  and  are not equal;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether the current instance and a specified object have the same value.
            
            The object to compare.
            
            true if the  parameter is a  object or a type capable
            of implicit conversion to a  value, and its value is equal to the value of the
            current  object; otherwise, false.
            
        
        
            
            Returns a value that indicates whether the current instance and a specified  object
            have the same value.
            
            The object to compare.
            
            true if this  object and  have the same value;
            otherwise, false.
            
        
        
            
            Returns a value that indicates whether the current instance and a signed 64-bit integer have the same value.
            
            The signed 64-bit integer value to compare.
            
            true if the signed 64-bit integer and the current instance have the same value; otherwise, false.
            
        
        
            
            Converts the numeric value of the current  object to its equivalent string representation.
            
            
            The string representation of the current  value.
            
        
        
            
            Converts the numeric value of the current  object to its equivalent string representation
            by using the specified format.
            
            A standard or custom numeric format string.
            
            The string representation of the current  value in the format specified by the
             parameter.
            
             is not a valid format string.
        
        
            
            Converts the numeric value of the current  object to its equivalent string representation
            by using the specified culture-specific formatting information. 
            
            An object that supplies culture-specific formatting information.
            
            The string representation of the current  value in the format specified by the
             parameter.
            
        
        
            
            Converts the numeric value of the current  object to its equivalent string representation
            by using the specified format and culture-specific format information.
            
            A standard or custom numeric format string.
            An object that supplies culture-specific formatting information.
            
            The string representation of the current  value as specified by the 
            and  parameters.
            
        
        
            
            Converts the string representation of a number to its  equivalent.
            
            A string that contains the number to convert.
            
            A value that is equivalent to the number specified in the  parameter.
            
             is null.
             is not in the correct format.
        
        
            
            Converts the string representation of a number in a specified style to its  equivalent.
            
            A string that contains a number to convert.
            A bitwise combination of the enumeration values that specify the permitted format of .
            
            A value that is equivalent to the number specified in the  parameter.
            
            
             is not a  value.
            -or-
             includes the  or  flag along with another value.
            
             is null.
             does not comply with the input pattern specified by .
        
        
            
            Converts the string representation of a number in a specified style to its  equivalent.
            
            A string that contains a number to convert.
            An object that provides culture-specific formatting information about .
            
            A value that is equivalent to the number specified in the  parameter.
            
             is null.
             is not in the correct format.
        
        
            
            Converts the string representation of a number in a specified style and culture-specific format to its  equivalent.
            
            A string that contains a number to convert.
            A bitwise combination of the enumeration values that specify the permitted format of .
            An object that provides culture-specific formatting information about .
            
            A value that is equivalent to the number specified in the  parameter.
            
            
             is not a  value.
            -or-
             includes the  or  flag along with another value.
            
             is null.
             does not comply with the input pattern specified by .
        
        
            
            Tries to convert the string representation of a number to its  equivalent, and
            returns a value that indicates whether the conversion succeeded.
            
            The string representation of a number.
            When this method returns, contains the  equivalent to the number that is contained in value, or zero (0) if the conversion fails. The conversion fails if the  parameter is null or is not of the correct format. This parameter is passed uninitialized.
            
            true if  was converted successfully; otherwise, false.
            
             is null.
        
        
            
            Tries to convert the string representation of a number in a specified style and culture-specific format to its
             equivalent, and returns a value that indicates whether the conversion succeeded.
            
            The string representation of a number.
            A bitwise combination of enumeration values that indicates the style elements that can be present in .
            An object that supplies culture-specific formatting information about .
            When this method returns, contains the  equivalent to the number that is contained in value, or  if the conversion fails. The conversion fails if the  parameter is null or is not of the correct format. This parameter is passed uninitialized.
            
            true if  was converted successfully; otherwise, false.
            
            
             is not a  value.
            -or-
             includes the  or  flag along with another value.
            
        
        
            
            Returns the smaller of two  values.
            
            The first value to compare.
            The second value to compare.
            
            The  or  parameter, whichever is smaller.
            
        
        
            
            Returns the larger of two  values.
            
            The first value to compare.
            The second value to compare.
            
            The  or  parameter, whichever is larger.
            
        
        
            
            Gets the absolute value of a  object.
            
            A number.
            
            The absolute value of .
            
        
        
            
            Divides one  value by another, returns the result, and returns the remainder in
            an output parameter.
            
            The value to be divided.
            The value to divide by.
            When this method returns, contains a  value that represents the remainder from the division. This parameter is passed uninitialized.
            
            The quotient of the division.
            
        
        
            
            Raises a  value to the power of a specified value.
            
            The number to raise to the  power.
            The exponent to raise  by.
            
            The result of raising  to the  power.
            
        
        
            
            Performs modulus division on a number raised to the power of another number.
            
            The number to raise to the  power.
            The exponent to raise  by.
            The number by which to divide  raised to the  power.
            
            The remainder after dividing  raised by  by
            .
            
             is negative.
        
        
            
            Finds the greatest common divisor of two  values.
            
            The first value.
            The second value.
            
            The greatest common divisor of  and .
            
        
        
            
            Returns the logarithm of a specified number in a specified base.
            
            A number whose logarithm is to be found.
            The base of the logarithm.
            
            The base  logarithm of value, 
            
            The log of  is out of range of the  data type.
        
        
            
            Returns the natural (base e) logarithm of a specified number.
            
            The number whose logarithm is to be found.
            
            The natural (base e) logarithm of .
            
            The base 10 log of value is out of range of the  data type.
        
        
            
            Returns the base 10 logarithm of a specified number.
            
            A number whose logarithm is to be found.
            
            The base 10 logarithm of .
            
            The base 10 log of value is out of range of the  data type.
        
        
            
            Returns a value that indicates whether the current instance and an unsigned 64-bit integer have the same value.
            
            The unsigned 64-bit integer to compare.
            
            true if the current instance and the unsigned 64-bit integer have the same value; otherwise, false.
            
        
        
            
            Returns the hash code for the current  object.
            
            
            A 32-bit signed integer hash code.
            
        
        
            
            Adds two  values and returns the result.
            
            The first value to add.
            The second value to add.
            
            The sum of  and .
            
        
        
            
            Subtracts one  value from another and returns the result.
            
            The value to subtract from (the minuend).
            The value to subtract (the subtrahend).
            
            The result of subtracting  from .
            
        
        
            
            Returns the product of two  values.
            
            The first number to multiply.
            The second number to multiply.
            
            The product of the  and  parameters.
            
        
        
            
            Divides one  value by another and returns the result.
            
            The value to be divided.
            The value to divide by.
            
            The quotient of the division.
            
        
        
            
            Performs integer division on two  values and returns the remainder.
            
            The value to be divided.
            The value to divide by.
            
            The remainder after dividing  by .
            
        
        
            
            Negates a specified  value.
            
            The value to negate.
            
            The result of the  parameter multiplied by negative one (-1).
            
        
        
            
            Compares this instance to a specified object and returns an integer that indicates whether the value of
            this instance is less than, equal to, or greater than the value of the specified object.
            
            The object to compare.
            
            A signed integer that indicates the relationship of the current instance to the  parameter,
            as shown in the following table.
                
                    Value
                    Condition
                
                - 
                    Less than zero
                    The current instance is less than .
                
- 
                    Zero
                    The current instance equals .
                
- 
                    Greater than zero
                    The current instance is greater than .
                
is not a .
        
        
            
            Compares this instance to a second  and returns an integer that indicates whether the
            value of this instance is less than, equal to, or greater than the value of the specified object.
            
            The object to compare.
            
            A signed integer value that indicates the relationship of this instance to , as
            shown in the following table.
                
                    Value
                    Condition
                
                - 
                    Less than zero
                    The current instance is less than .
                
- 
                    Zero
                    The current instance equals .
                
- 
                    Greater than zero
                    The current instance is greater than .
                
Compares this instance to an unsigned 64-bit integer and returns an integer that indicates whether the value of this
            instance is less than, equal to, or greater than the value of the unsigned 64-bit integer.
            
            The unsigned 64-bit integer to compare.
            
            A signed integer that indicates the relative value of this instance and , as shown
            in the following table.
                
                    Value
                    Condition
                
                - 
                    Less than zero
                    The current instance is less than .
                
- 
                    Zero
                    The current instance equals .
                
- 
                    Greater than zero
                    The current instance is greater than .
                
Compares this instance to a signed 64-bit integer and returns an integer that indicates whether the value of this
            instance is less than, equal to, or greater than the value of the signed 64-bit integer.
            
            The signed 64-bit integer to compare.
            
            A signed integer that indicates the relative value of this instance and , as shown
            in the following table.
                
                    Value
                    Condition
                
                - 
                    Less than zero
                    The current instance is less than .
                
- 
                    Zero
                    The current instance equals .
                
- 
                    Greater than zero
                    The current instance is greater than .
                
Compares two  values and returns an integer that indicates whether the first value is less than, equal to, or greater than the second value.
            
            The first value to compare.
            The second value to compare.
            
            A signed integer that indicates the relative values of left and right, as shown in the following table.
                
                    Value
                    Condition
                
                - 
                    Less than zero
                     is less than .
                
- 
                    Zero
                     equals .
                
- 
                    Greater than zero
                     is greater than .
                
Converts a  value to a byte array.
            
            
            The value of the current  object converted to an array of bytes.
            
        
        
            
            Provides data for  event.
            
        
        
            
            Gets channel data.
            
        
        
            
            Initializes a new instance of the  class.
            
            Channel number.
            Channel data.
        
        
            
            Base class for all channel related events.
            
        
        
            
            Gets the channel number.
            
        
        
            
            Initializes a new instance of the  class.
            
            The channel number.
        
        
            
            Provides data for  events.
            
        
        
            
            Initializes a new instance of the  class.
            
            Channel number.
            Channel data.
            Channel data type code.
        
        
            
            Gets the data type code.
            
        
        
            
            Provides data for  event.
            
        
        
            
            Initializes a new instance of the  class.
            
            The remote channel number.
            The initial window size.
            The maximum packet size.
        
        
            
            Gets the initial size of the window.
            
            
            The initial size of the window.
            
        
        
            
            Gets the maximum size of the packet.
            
            
            The maximum size of the packet.
            
        
        
            
            Provides data for  event.
            
        
        
            
            Gets failure reason code.
            
        
        
            
            Gets failure description.
            
        
        
            
            Gets failure language.
            
        
        
            
            Initializes a new instance of the  class.
            
            Channel number.
            Failure reason code.
            Failure description.
            Failure language.
        
        
            
            Provides data for  event.
            
        
        
            
            Gets request information.
            
        
        
            
            Initializes a new instance of the  class.
            
            Request information.
        
        
            
            Base class for DER encoded data.
            
        
        
            
            Gets a value indicating whether end of data is reached.
            
            
            	true if end of data is reached; otherwise, false.
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Initializes a new instance of the  class.
            
            DER encoded data.
            its a construct
        
        
            
            Encodes written data as DER byte array.
            
            DER Encoded array.
        
        
            
            Reads next mpint data type from internal buffer.
            
            mpint read.
        
        
            
            Reads next int data type from internal buffer.
            
            int read.
        
        
            
            Reads next octetstring data type from internal buffer.
            
            data read.
        
        
            
            Reads next bitstring data type from internal buffer.
            
            data read.
        
        
            
            Reads next object data type from internal buffer.
            
            data read.
        
        
            
            Writes BOOLEAN data into internal buffer.
            
            UInt32 data to write.
        
        
            
            Writes UInt32 data into internal buffer.
            
            UInt32 data to write.
        
        
            
            Writes INTEGER data into internal buffer.
            
            BigInteger data to write.
        
        
            
            Writes OCTETSTRING data into internal buffer.
            
            The data.
        
        
            
            Writes BITSTRING data into internal buffer.
            
            The data.
        
        
            
            Writes OBJECTIDENTIFIER data into internal buffer.
            
            The identifier.
        
        
            
            Writes OBJECTIDENTIFIER data into internal buffer.
            
            The bytes.
        
        
            
            Writes NULL data into internal buffer.
            
        
        
            
            Writes DerData data into internal buffer.
            
            DerData data to write.
        
        
            
            Gets Data Length
            
            length
        
        
            
            Write Byte data into internal buffer.
            
        
        
            
            Reads Byte data into internal buffer.
            
            data read
        
        
            
            Reads lengths Bytes data into internal buffer.
            
            data read
             amount of data to read.
        
        
            
            Provides data for the ErrorOccured events.
            
        
        
            
            Gets the System.Exception that represents the error that occurred.
            
        
        
            
            Initializes a new instance of the  class.
            
            An System.Exception that represents the error that occurred.
        
        
            
            Collection of different extension method
            
        
        
            
            Determines whether the specified value is null or white space.
            
            The value.
            
            true if  is null or white space; otherwise, false.
            
        
        
            
            Initializes a new instance of the  structure using the SSH BigNum2 Format
            
        
        
            
            Reverses the sequence of the elements in the entire one-dimensional .
            
            The one-dimensional  to reverse.
            
            The  with its elements reversed.
            
        
        
            
            Prints out 
            
            The bytes.
        
        
            
            Creates an instance of the specified type using that type's default constructor.
            
            The type to create.
            Type of the instance to create.
            A reference to the newly created object.
        
        
            
            Returns a specified number of contiguous bytes from a given offset.
            
            The array to return a number of bytes from.
            The zero-based offset in  at which to begin taking bytes.
            The number of bytes to take from .
            
            A  array that contains the specified number of bytes at the specified offset
            of the input array.
            
             is null.
            
            When  is zero and  equals the length of ,
            then  is returned.
            
        
        
            
            Returns a specified number of contiguous bytes from the start of the specified byte array.
            
            The array to return a number of bytes from.
            The number of bytes to take from .
            
            A  array that contains the specified number of bytes at the start of the input array.
            
             is null.
            
            When  equals the length of , then 
            is returned.
            
        
        
            
            Trims the leading zero from a byte array.
            
            The value.
            
             without leading zeros.
            
        
        
            
            Pads with leading zeros if needed.
            
            The data.
            The length to pad to.
        
        
            
            Provides data for the HostKeyReceived event.
            
        
        
            
            Gets or sets a value indicating whether host key can be trusted.
            
            
              true if host key can be trusted; otherwise, false.
            
        
        
            
            Gets the host key.
            
        
        
            
            Gets the host key name.
            
        
        
            
            Gets the finger print.
            
        
        
            
            Gets the length of the key in bits.
            
            
            The length of the key in bits.
            
        
        
            
            Initializes a new instance of the  class.
            
            The host.
        
        
            
            The exception that is thrown when there is something wrong with the server capabilities.
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Initializes a new instance of the  class.
            
            The message.
        
        
            
            Initializes a new instance of the  class.
            
            The message.
            The inner exception.
        
        
            
            Initializes a new instance of the  class.
            
            The  that holds the serialized object data about the exception being thrown.
            The  that contains contextual information about the source or destination.
            The  parameter is null.
            The class name is null or  is zero (0). 
        
        
            
            Describes object identifier for DER encoding
            
        
        
            
            Gets the object identifier.
            
        
        
            
            Initializes a new instance of the  class.
            
            The identifiers.
        
        
            
            Provides convenience methods for conversion to and from both Big Endian and Little Endian.
            
        
        
            
            Converts little endian bytes into number.
            
            The buffer.
            Converted .
        
        
            
            Converts little endian bytes into number.
            
            The buffer.
            The buffer offset.
            Converted .
        
        
            
            Converts little endian bytes into number.
            
            The buffer.
            Converted .
        
        
            
            Converts little endian bytes into number.
            
            The buffer.
            Converted .
        
        
            
            Populates buffer with little endian number representation.
            
            The number to convert.
        
        
            
            Populates buffer with little endian number representation.
            
            The number to convert.
            The buffer.
        
        
            
            Populates buffer with little endian number representation.
            
            The number to convert.
        
        
            
            Populates buffer with little endian number representation.
            
            The number to convert.
            The buffer.
        
        
            
            Populates buffer with little endian number representation.
            
            The number to convert.
            The buffer.
            The buffer offset.
        
        
            
            Populates buffer with little endian number representation.
            
            The number to convert.
        
        
            
            Populates buffer with little endian number representation.
            
            The number to convert.
            The buffer.
        
        
            
            Returns the specified 64-bit unsigned integer value as an array of bytes.
            
            The number to convert.
            An array of bytes with length 8.
        
        
            
            Converts big endian bytes into number.
            
            The buffer.
            Converted .
        
        
            
            Converts big endian bytes into number.
            
            The buffer.
            The buffer offset.
            Converted .
        
        
            
            Converts big endian bytes into number.
            
            The buffer.
            Converted .
        
        
            
            Converts big endian bytes into number.
            
            The buffer.
            Converted .
        
        
            
            PipeStream is a thread-safe read/write data stream for use between two threads in a 
            single-producer/single-consumer type problem.
            
            2006/10/13 1.0
            Update on 2008/10/9 1.1 - uses Monitor instead of Manual Reset events for more elegant synchronicity.
            
            Copyright (c) 2006 James Kolpack (james dot kolpack at google mail)
            
            Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 
            associated documentation files (the "Software"), to deal in the Software without restriction, 
            including without limitation the rights to use, copy, modify, merge, publish, distribute, 
            sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 
            furnished to do so, subject to the following conditions:
            
            The above copyright notice and this permission notice shall be included in all copies or 
            substantial portions of the Software.
            
            THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
            INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 
            PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 
            LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT 
            OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
            OTHER DEALINGS IN THE SOFTWARE.
            
        
        
            
            Queue of bytes provides the datastructure for transmitting from an
            input stream to an output stream.
            
            Possible more effecient ways to accomplish this.
        
        
            
            Indicates that the input stream has been flushed and that
            all remaining data should be written to the output stream.
            
        
        
            
            Maximum number of bytes to store in the buffer.
            
        
        
            
            Setting this to true will cause Read() to block if it appears
            that it will run out of data.
            
        
        
            
            Indicates whether the current  is disposed.
            
        
        
            
            Gets or sets the maximum number of bytes to store in the buffer.
            
            The length of the max buffer.
        
        
            
            Gets or sets a value indicating whether to block last read method before the buffer is empty.
            When true, Read() will block until it can fill the passed in buffer and count.
            When false, Read() will not block, returning all the available buffer data.
            
            
            Setting to true will remove the possibility of ending a stream reader prematurely.
            
            
            	true if block last read method before the buffer is empty; otherwise, false.
            
            Methods were called after the stream was closed.
        
        
            
            When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device.
            
            An I/O error occurs.
            Methods were called after the stream was closed.
            
            Once flushed, any subsequent read operations no longer block until requested bytes are available. Any write operation reactivates blocking
            reads.
            
        
        
            
            When overridden in a derived class, sets the position within the current stream.
            
            
            The new position within the current stream.
            
            A byte offset relative to the origin parameter.
            A value of type  indicating the reference point used to obtain the new position.
            The stream does not support seeking, such as if the stream is constructed from a pipe or console output.
        
        
            
            When overridden in a derived class, sets the length of the current stream.
            
            The desired length of the current stream in bytes.
            The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output.
        
        
            
            When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
            
            
            The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero if the stream is closed or end of the stream has been reached.
            
            The zero-based byte offset in buffer at which to begin storing the data read from the current stream.
            The maximum number of bytes to be read from the current stream.
            An array of bytes. When this method returns, the buffer contains the specified byte array with the values between offset and (offset + count - 1) replaced by the bytes read from the current source.
            The sum of offset and count is larger than the buffer length.
            Methods were called after the stream was closed.
            The stream does not support reading.
             is null.
            An I/O error occurs.
            offset or count is negative.
        
        
            
            Returns true if there are
            
            The count.
            True if data available; otherwisefalse.
        
        
            
            When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
            
            The zero-based byte offset in buffer at which to begin copying bytes to the current stream.
            The number of bytes to be written to the current stream.
            An array of bytes. This method copies count bytes from buffer to the current stream.
            An I/O error occurs.
            The stream does not support writing.
            Methods were called after the stream was closed.
             is null.
            The sum of offset and count is greater than the buffer length.
            offset or count is negative.
        
        
            
            Releases the unmanaged resources used by the Stream and optionally releases the managed resources.
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
            
            Disposing a  will interrupt blocking read and write operations.
            
        
        
            
            When overridden in a derived class, gets a value indicating whether the current stream supports reading.
            
            
            true if the stream supports reading; otherwise, false.
            
        
        
             
             When overridden in a derived class, gets a value indicating whether the current stream supports seeking.
             
             
             true if the stream supports seeking; otherwise, false.
            
        
        
            
            When overridden in a derived class, gets a value indicating whether the current stream supports writing.
            
            
            true if the stream supports writing; otherwise, false.
            
        
        
            
            When overridden in a derived class, gets the length in bytes of the stream.
            
            
            A long value representing the length of the stream in bytes.
            
            A class derived from Stream does not support seeking.
            Methods were called after the stream was closed.
        
        
            
            When overridden in a derived class, gets or sets the position within the current stream.
            
            
            The current position within the stream.
            
            The stream does not support seeking.
        
        
            
            Provides data for  event.
            
        
        
            
            Gets request originator host.
            
        
        
            
            Gets request originator port.
            
        
        
            
            Initializes a new instance of the  class.
            
            The host.
            The port.
             is null.
             is not within  and .
        
        
            
            Gets the file name part of a given POSIX path.
            
            The POSIX path to get the file name for.
            
            The file name part of .
            
             is null.
            
            
            If  contains no forward slash, then 
            is returned.
            
            
            If path has a trailing slash,  return a zero-length string.
            
            
        
        
            
            Gets the directory name part of a given POSIX path.
            
            The POSIX path to get the directory name for.
            
            The directory part of the specified , or . if 
            does not contain any directory information.
            
             is null.
        
        
            
            The exception that is thrown when a proxy connection cannot be established.
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Initializes a new instance of the  class.
            
            The message.
        
        
            
            Initializes a new instance of the  class.
            
            The message.
            The inner exception.
        
        
            
            Initializes a new instance of the  class.
            
            The  that holds the serialized object data about the exception being thrown.
            The  that contains contextual information about the source or destination.
            The  parameter is null.
            The class name is null or  is zero (0).
        
        
            
            Provides data for the Downloading event.
            
        
        
            
            Gets the downloaded filename.
            
        
        
            
            Gets the downloaded file size.
            
        
        
            
            Gets number of downloaded bytes so far.
            
        
        
            
            Initializes a new instance of the  class.
            
            The downloaded filename.
            The downloaded file size.
            The number of downloaded bytes so far.
        
        
            
            The exception that is thrown when SCP error occurred.
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Initializes a new instance of the  class.
            
            The message.
        
        
            
            Initializes a new instance of the  class.
            
            The message.
            The inner exception.
        
        
            
            Initializes a new instance of the  class.
            
            The  that holds the serialized object data about the exception being thrown.
            The  that contains contextual information about the source or destination.
            The  parameter is null.
            The class name is null or  is zero (0). 
        
        
            
            Provides data for the Uploading event.
            
        
        
            
            Gets the uploaded filename.
            
        
        
            
            Gets the uploaded file size.
            
        
        
            
            Gets number of uploaded bytes so far.
            
        
        
            
            Initializes a new instance of the  class.
            
            The uploaded filename.
            The uploaded file size.
            The number of uploaded bytes so far.
        
        
            
            Light implementation of SemaphoreSlim.
            
        
        
            
            Initializes a new instance of the  class, specifying 
            the initial number of requests that can be granted concurrently.
            
            The initial number of requests for the semaphore that can be granted concurrently.
             is a negative number.
        
        
            
            Gets the current count of the .
            
        
        
            
            Returns a  that can be used to wait on the semaphore.
            
            
            A  that can be used to wait on the semaphore.
            
            
            A successful wait on the  does not imply a successful
            wait on the  itself. It should be followed by a true wait
            on the semaphore.
            
        
        
            
            Exits the  once.
            
            The previous count of the .
        
        
            
            Exits the  a specified number of times.
            
            The number of times to exit the semaphore.
            
            The previous count of the .
            
        
        
            
            Blocks the current thread until it can enter the .
            
        
        
            
            Blocks the current thread until it can enter the , using a 32-bit signed
            integer that specifies the timeout.
            
            The number of milliseconds to wait, or Infinite(-1) to wait indefinitely.
            
            true if the current thread successfully entered the ; otherwise, false.
            
        
        
            
            Blocks the current thread until it can enter the , using a 
            to specify the timeout.
            
            A  that represents the number of milliseconds to wait, or a  that represents -1 milliseconds to wait indefinitely.
            
            true if the current thread successfully entered the ; otherwise, false.
            
        
        
            
            Finalizes the current .
            
        
        
            
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            The exception that is thrown when file or directory is not found.
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Initializes a new instance of the  class.
            
            The message.
        
        
            
            Initializes a new instance of the  class.
            
            The message.
            The inner exception.
        
        
            
            Initializes a new instance of the  class.
            
            The  that holds the serialized object data about the exception being thrown.
            The  that contains contextual information about the source or destination.
            The  parameter is null.
            The class name is null or  is zero (0). 
        
        
            
            The exception that is thrown when operation permission is denied.
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Initializes a new instance of the  class.
            
            The message.
        
        
            
            Initializes a new instance of the  class.
            
            The message.
            The inner exception.
        
        
            
            Initializes a new instance of the  class.
            
            The  that holds the serialized object data about the exception being thrown.
            The  that contains contextual information about the source or destination.
            The  parameter is null.
            The class name is null or  is zero (0). 
        
        
            
            Provides data for Shell DataReceived event
            
        
        
            
            Gets the data.
            
        
        
            
            Gets the line data.
            
        
        
            
            Initializes a new instance of the  class.
            
            The data.
        
        
            
            Initializes a new instance of the  class.
            
            The line.
        
        
            
            The exception that is thrown when authentication failed.
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Initializes a new instance of the  class.
            
            The message.
        
        
            
            Initializes a new instance of the  class.
            
            The message.
            The inner exception.
        
        
            
            Initializes a new instance of the  class.
            
            The  that holds the serialized object data about the exception being thrown.
            The  that contains contextual information about the source or destination.
            The  parameter is null.
            The class name is null or  is zero (0). 
        
        
            
            The exception that is thrown when connection was terminated.
            
        
        
            
            Gets the disconnect reason if provided by the server or client. Otherwise None.
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Initializes a new instance of the  class.
            
            The message.
        
        
            
            Initializes a new instance of the  class.
            
            The message.
            The disconnect reason code.
        
        
            
            Initializes a new instance of the  class.
            
            The message.
            The disconnect reason code.
            The inner.
        
        
            
            Initializes a new instance of the  class.
            
            The  that holds the serialized object data about the exception being thrown.
            The  that contains contextual information about the source or destination.
            The  parameter is null.
            The class name is null or  is zero (0). 
        
        
            
            Base ssh data serialization type
            
        
        
            
            Gets the underlying  that is used for reading and writing SSH data.
            
            
            The underlying  that is used for reading and writing SSH data.
            
        
        
            
            Gets a value indicating whether all data from the buffer has been read.
            
            
            true if this instance is end of data; otherwise, false.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets data bytes array.
            
            
            A  array representation of data structure.
            
        
        
            
            Writes the current message to the specified .
            
            The  to write the message to.
        
        
            
            Loads data from specified bytes.
            
            Bytes array.
             is null.
        
        
            
            Loads data from the specified buffer.
            
            Bytes array.
            The zero-based offset in  at which to begin reading SSH data.
            The number of bytes to load.
             is null.
        
        
            
            Called when type specific data need to be loaded.
            
        
        
            
            Called when type specific data need to be saved.
            
        
        
            
            Reads all data left in internal buffer at current position.
            
            An array of bytes containing the remaining data in the internal buffer.
        
        
            
            Reads next specified number of bytes data type from internal buffer.
            
            Number of bytes to read.
            An array of bytes that was read from the internal buffer.
             is greater than the internal buffer size.
        
        
            
            Reads next byte data type from internal buffer.
            
            Byte read.
        
        
            
            Reads next boolean data type from internal buffer.
            
            Boolean read.
        
        
            
            Reads next uint16 data type from internal buffer.
            
            uint16 read
        
        
            
            Reads next uint32 data type from internal buffer.
            
            uint32 read
        
        
            
            Reads next uint64 data type from internal buffer.
            
            uint64 read
        
        
            
            Reads next string data type from internal buffer using the specific encoding.
            
            
            The  read.
            
        
        
            
            Reads next data type as byte array from internal buffer.
            
            
            The bytes read.
            
        
        
            
            Reads next name-list data type from internal buffer.
            
            
            String array or read data.
            
        
        
            
            Reads next extension-pair data type from internal buffer.
            
            Extensions pair dictionary.
        
        
            
            Writes bytes array data into internal buffer.
            
            Byte array data to write.
             is null.
        
        
            
            Writes a sequence of bytes to the current SSH data stream and advances the current position
            within this stream by the number of bytes written.
            
            An array of bytes. This method write  bytes from buffer to the current SSH data stream.
            The zero-based offset in  at which to begin writing bytes to the SSH data stream.
            The number of bytes to be written to the current SSH data stream.
             is null.
            The sum of  and  is greater than the buffer length.
             or  is negative.
        
        
            
            Writes  data into internal buffer.
            
             data to write.
        
        
            
            Writes  into internal buffer.
            
             data to write.
        
        
            
            Writes  data into internal buffer.
            
             data to write.
        
        
            
            Writes  data into internal buffer.
            
             data to write.
        
        
            
            Writes  data into internal buffer using default encoding.
            
             data to write.
             is null.
        
        
            
            Writes  data into internal buffer using the specified encoding.
            
             data to write.
            The character encoding to use.
             is null.
             is null.
        
        
            
            Writes data into internal buffer.
            
            The data to write.
             is null.
        
        
            
            Writes data into internal buffer.
            
            An array of bytes. This method write  bytes from buffer to the current SSH data stream.
            The zero-based byte offset in  at which to begin writing bytes to the SSH data stream.
            The number of bytes to be written to the current SSH data stream.
             is null.
            The sum of  and  is greater than the buffer length.
             or  is negative.
        
        
            
            Writes mpint data into internal buffer.
            
            mpint data to write.
        
        
            
            Writes name-list data into internal buffer.
            
            name-list data to write.
        
        
            
            Writes extension-pair data into internal buffer.
            
            extension-pair data to write.
        
        
            
            Specialized  for reading and writing data SSH data.
            
        
        
            
            Initializes a new instance of the  class with an expandable capacity initialized
            as specified.
            
            The initial size of the internal array in bytes.
        
        
            
            Initializes a new non-resizable instance of the  class based on the specified byte array.
            
            The array of unsigned bytes from which to create the current stream.
             is null.
        
        
            
            Initializes a new non-resizable instance of the  class based on the specified byte array.
            
            The array of unsigned bytes from which to create the current stream.
            The zero-based offset in  at which to begin reading SSH data.
            The number of bytes to load.
             is null.
        
        
            
            Gets a value indicating whether all data from the SSH data stream has been read.
            
            
            true if this instance is end of data; otherwise, false.
            
        
        
            
            Writes an  to the SSH data stream.
            
             data to write.
        
        
            
            Writes an  to the SSH data stream.
            
             data to write.
        
        
            
            Writes a  into the SSH data stream.
            
            The  to write.
        
        
            
            Writes bytes array data into the SSH data stream.
            
            Byte array data to write.
             is null.
        
        
            
            Reads a byte array from the SSH data stream.
            
            
            The byte array read from the SSH data stream.
            
        
        
            
            Writes a buffer preceded by its length into the SSH data stream.
            
            The data to write.
             is null.
        
        
            
            Writes a buffer preceded by its length into the SSH data stream.
            
            An array of bytes. This method write  bytes from buffer to the current SSH data stream.
            The zero-based byte offset in  at which to begin writing bytes to the SSH data stream.
            The number of bytes to be written to the current SSH data stream.
             is null.
            The sum of  and  is greater than the buffer length.
             or  is negative.
        
        
            
            Writes string data to the SSH data stream using the specified encoding.
            
            The string data to write.
            The character encoding to use.
             is null.
             is null.
        
        
            
            Reads a  from the SSH datastream.
            
            
            The  read from the SSH data stream.
            
        
        
            
            Reads the next  data type from the SSH data stream.
            
            
            The  read from the SSH data stream.
            
        
        
            
            Reads the next  data type from the SSH data stream.
            
            
            The  read from the SSH data stream.
            
        
        
            
            Reads the next  data type from the SSH data stream.
            
            
            The  read from the SSH data stream.
            
        
        
            
            Reads next specified number of bytes data type from internal buffer.
            
            Number of bytes to read.
            
            An array of bytes that was read from the internal buffer.
            
             is greater than the internal buffer size.
        
        
            
            Writes the stream contents to a byte array, regardless of the .
            
            
            This method returns the contents of the  as a byte array.
            
            
            If the current instance was constructed on a provided byte array, a copy of the section of the array
            to which this instance has access is returned.
            
        
        
            
            The exception that is thrown when SSH exception occurs.
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Initializes a new instance of the  class.
            
            The message.
        
        
            
            Initializes a new instance of the  class.
            
            The message.
            The inner.
        
        
            
            Initializes a new instance of the  class.
            
            The  that holds the serialized object data about the exception being thrown.
            The  that contains contextual information about the source or destination.
            The  parameter is null.
            The class name is null or  is zero (0). 
        
        
            
            The exception that is thrown when operation is timed out.
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Initializes a new instance of the  class.
            
            The message.
        
        
            
            Initializes a new instance of the  class.
            
            The message.
            The inner exception.
        
        
            
            Initializes a new instance of the  class.
            
            The  that holds the serialized object data about the exception being thrown.
            The  that contains contextual information about the source or destination.
            The  parameter is null.
            The class name is null or  is zero (0). 
        
        
            
            The exception that is thrown when pass phrase for key file is empty or null
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Initializes a new instance of the  class.
            
            The message.
        
        
            
            Initializes a new instance of the  class.
            
            The message.
            The inner exception.
        
        
            
            Initializes a new instance of the  class.
            
            The  that holds the serialized object data about the exception being thrown.
            The  that contains contextual information about the source or destination.
            The  parameter is null.
            The class name is null or  is zero (0). 
        
        
            
            Specifies the initial assignments of the opcode values that are used in the 'encoded terminal modes' valu
            
        
        
            
            Indicates end of options.
             
        
        
            
            Interrupt character; 255 if none.  Similarly for the other characters.  Not all of these characters are supported on all systems.
             
        
        
            
            The quit character (sends SIGQUIT signal on POSIX systems).
             
        
        
            
            Erase the character to left of the cursor. 
            
        
        
            
            Kill the current input line.
            
        
        
            
            End-of-file character (sends EOF from the terminal).
            
        
        
            
            End-of-line character in addition to carriage return and/or linefeed.
            
        
        
            
            Additional end-of-line character.
            
        
        
            
            Continues paused output (normally control-Q).
            
        
        
            
            Pauses output (normally control-S).
            
        
        
            
            Suspends the current program.
            
        
        
            
            Another suspend character.
            
        
        
            
            Reprints the current input line.
            
        
        
            
            Erases a word left of cursor.
            
        
        
            
            Enter the next character typed literally, even if it is a special character
            
        
        
            
            Character to flush output.
            
        
        
            
            Switch to a different shell layer.
            
        
        
            
            Prints system status line (load, command, pid, etc).
            
        
        
            
            Toggles the flushing of terminal output.
            
        
        
            
            The ignore parity flag.  The parameter SHOULD be 0 if this flag is FALSE, and 1 if it is TRUE.
            
        
        
            
            Mark parity and framing errors.
            
        
        
            
            Enable checking of parity errors.
            
        
        
            
            Strip 8th bit off characters.
            
        
        
            
            Map NL into CR on input.
            
        
        
            
            Ignore CR on input.
            
        
        
            
            Map CR to NL on input.
            
        
        
            
            Translate uppercase characters to lowercase.
            
        
        
            
            Enable output flow control.
            
        
        
            
            Any char will restart after stop.
            
        
        
            
            Enable input flow control.
            
        
        
            
            Ring bell on input queue full.
            
        
        
            
            Terminal input and output is assumed to be encoded in UTF-8.
            
        
        
            
            Enable signals INTR, QUIT, [D]SUSP.
            
        
        
            
            Canonicalize input lines.
            
        
        
            
            Enable input and output of uppercase characters by preceding their lowercase equivalents with "\".
            
        
        
            
            Enable echoing.
            
        
        
            
            Visually erase chars.
            
        
        
            
            Kill character discards current line.
            
        
        
            
            Echo NL even if ECHO is off.
            
        
        
            
            Don't flush after interrupt.
            
        
        
            
            Stop background jobs from output.
            
        
        
            
            Enable extensions.
            
        
        
            
            Echo control characters as ^(Char).
            
        
        
            
            Visual erase for line kill.
            
        
        
            
            Retype pending input.
            
        
        
            
            Enable output processing.
            
        
        
            
            Convert lowercase to uppercase.
            
        
        
            
            Map NL to CR-NL.
            
        
        
            
            Translate carriage return to newline (output).
            
        
        
            
            Translate newline to carriage return-newline (output).
            
        
        
            
            Newline performs a carriage return (output).
            
        
        
            
            7 bit mode.
            
        
        
            
            8 bit mode.
            
        
        
            
            Parity enable.
            
        
        
            
            Odd parity, else even.
            
        
        
            
            Specifies the input baud rate in bits per second.
            
        
        
            
            Specifies the output baud rate in bits per second.
            
        
        
            
            Specifies compression modes
            
        
        
            
            Specifies that content should be compressed.
            
        
        
            
            Specifies that content should be decompressed.
            
        
        
            
            Represents base class for compression algorithm implementation
            
        
        
            
            Gets or sets a value indicating whether compression is active.
            
            
              true if compression is active; otherwise, false.
            
        
        
            
            Gets the session.
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Initializes the algorithm
            
            The session.
        
        
            
            Compresses the specified data.
            
            Data to compress.
            Compressed data
        
        
            
            Compresses the specified data.
            
            Data to compress.
            The zero-based byte offset in  at which to begin reading the data to compress. 
            The number of bytes to be compressed. 
            
            The compressed data.
            
        
        
            
            Decompresses the specified data.
            
            Compressed data.
            
            The decompressed data.
            
        
        
            
            Decompresses the specified data.
            
            Compressed data.
            The zero-based byte offset in  at which to begin reading the data to decompress. 
            The number of bytes to be read from the compressed data. 
            
            The decompressed data.
            
        
        
            
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Releases unmanaged resources and performs other cleanup operations before the  is reclaimed
            by garbage collection.
            
        
        
            
            Represents "zlib" compression implementation
            
        
        
            
            Gets algorithm name.
            
        
        
            
            Initializes the algorithm
            
            The session.
        
        
            
            Represents "zlib@openssh.org" compression implementation
            
        
        
            
            Gets algorithm name.
            
        
        
            
            Initializes the algorithm
            
            The session.
        
        
            
            Implements Zlib compression algorithm.
            
        
        
            
            Initializes a new instance of the  class.
            
            The stream.
            The mode.
        
        
            
            Writes the specified buffer.
            
            The buffer.
            The offset.
            The count.
        
        
            
            Represents remote connection information class.
            
            
            This class is NOT thread-safe. Do not use the same  with multiple
            client instances.
            
        
        
            
            The default connection timeout.
            
            
            30 seconds.
            
        
        
            
            The default channel close timeout.
            
            
            1 second.
            
        
        
            
            Gets supported key exchange algorithms for this connection.
            
        
        
            
            Gets supported encryptions for this connection.
            
        
        
            
            Gets supported hash algorithms for this connection.
            
        
        
            
            Gets supported host key algorithms for this connection.
            
        
        
            
            Gets supported authentication methods for this connection.
            
        
        
            
            Gets supported compression algorithms for this connection.
            
        
        
            
            Gets the supported channel requests for this connection.
            
            
            The supported channel requests for this connection.
            
        
        
            
            Gets a value indicating whether connection is authenticated.
            
            
            true if connection is authenticated; otherwise, false.
            
        
        
            
            Gets connection host.
            
            
            The connection host.
            
        
        
            
            Gets connection port.
            
            
            The connection port. The default value is 22.
            
        
        
            
            Gets connection username.
            
        
        
            
            Gets proxy type.
            
            
            The type of the proxy.
            
        
        
            
            Gets proxy connection host.
            
        
        
            
            Gets proxy connection port.
            
        
        
            
            Gets proxy connection username.
            
        
        
            
            Gets proxy connection password.
            
        
        
            
            Gets or sets connection timeout.
            
            
            The connection timeout. The default value is 30 seconds.
              
                Specification
                URL
              
              - 
                HTTP CONNECT method
                https://tools.ietf.org/html/rfc7231#section-4.3.6
              
- 
                HTTP Authentication: Basic and Digest Access Authentication
                https://tools.ietf.org/html/rfc2617
              
Performs a blocking read on the socket until a line is read.
            
            The  to read from.
            A  that represents the time to wait until a line is read.
            The read has timed-out.
            An error occurred when trying to access the socket.
            
            The line read from the socket, or null when the remote server has shutdown and all data has been received.
            
        
        
            
            Handles the SSH protocol version exchange.
            
        
        
            
            Performs the SSH protocol version exchange.
            
            The identification string of the SSH client.
            A  connected to the server.
            The maximum time to wait for the server to respond.
            
            The SSH identification of the server.
            
        
        
            
            Handles the SSH protocol version exchange.
            
            
            https://tools.ietf.org/html/rfc4253#section-4.2
            
        
        
            
            Performs the SSH protocol version exchange.
            
            The identification string of the SSH client.
            A  connected to the server.
            The maximum time to wait for the server to respond.
            
            The SSH identification of the server.
            
        
        
            
            Performs a blocking read on the socket until a line is read.
            
            The  to read from.
            A  that represents the time to wait until a line is read.
            A  to which read bytes will be added.
            The read has timed-out.
            An error occurred when trying to access the socket.
            
            The line read from the socket, or null when the remote server has shutdown and all data has been received.
            
        
        
            
            Establishes a tunnel via a SOCKS4 proxy server.
            
            
            https://www.openssh.com/txt/socks4.protocol
            
        
        
            
            Establishes a connection to the server via a SOCKS5 proxy.
            
            The connection information.
            The .
        
        
            
            Establishes a tunnel via a SOCKS5 proxy server.
            
            
            https://en.wikipedia.org/wiki/SOCKS#SOCKS5
            
        
        
            
            Establishes a connection to the server via a SOCKS5 proxy.
            
            The connection information.
            The .
        
        
            
            https://tools.ietf.org/html/rfc1929
            
        
        
            
            Represents an SSH identification.
            
        
        
            
            Initializes a new  instance with the specified protocol version
            and software version.
            
            The SSH protocol version.
            The software version of the implementation
             is .
             is .
        
        
            
            Initializes a new  instance with the specified protocol version,
            software version and comments.
            
            The SSH protocol version.
            The software version of the implementation
            The comments.
             is .
             is .
        
        
            
            Gets or sets the software version of the implementation.
            
            
            The software version of the implementation.
            
            
            This is primarily used to trigger compatibility extensions and to indicate
            the capabilities of an implementation.
            
        
        
            
            Gets or sets the SSH protocol version.
            
            
            The SSH protocol version.
            
        
        
            
            Gets or sets the comments.
            
            
            The comments, or  if there are no comments.
            
            
             should contain additional information that might be useful
            in solving user problems.
            
        
        
            
            Returns the SSH identification string.
            
            
            The SSH identification string.
            
        
        
            
            Specifies behavior for expected expression
            
        
        
            
            Gets the expected regular expression.
            
        
        
            
            Gets the action to perform when expected expression is found.
            
        
        
            
            Initializes a new instance of the  class.
            
            The expect regular expression.
            The action to perform.
             or  is null.
        
        
            
            Initializes a new instance of the  class.
            
            The expect expression.
            The action to perform.
             or  is null.
        
        
            
            Provides additional information for asynchronous command execution
            
        
        
            
            Initializes a new instance of the  class.
            
            The async callback.
            The state.
        
        
            
            Base class for port forwarding functionality.
            
        
        
            
            Gets or sets the session.
            
            
            The session.
            
        
        
            
            The  event occurs as the forwarded port is being stopped.
            
        
        
            
            The  event occurs as the forwarded port is being stopped.
            
        
        
            
            Gets a value indicating whether port forwarding is started.
            
            
            true if port forwarding is started; otherwise, false.
            
        
        
            
            Occurs when an exception is thrown.
            
        
        
            
            Occurs when a port forwarding request is received.
            
        
        
            
            Starts port forwarding.
            
        
        
            
            Stops port forwarding.
            
        
        
            
            Starts port forwarding.
            
        
        
            
            Stops port forwarding, and waits for the specified timeout until all pending
            requests are processed.
            
            The maximum amount of time to wait for pending requests to finish processing.
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Ensures the current instance is not disposed.
            
            The current instance is disposed.
        
        
            
            Raises  event.
            
            The exception.
        
        
            
            Raises  event.
            
            Request originator host.
            Request originator port.
        
        
            
            Raises the  event.
            
        
        
            
            Handles session ErrorOccured event.
            
            The source of the event.
            The  instance containing the event data.
        
        
            
            Provides functionality for forwarding connections from the client to destination servers via the SSH server,
            also known as dynamic port forwarding.
            
        
        
            
            Gets the bound host.
            
        
        
            
            Gets the bound port.
            
        
        
            
            Gets a value indicating whether port forwarding is started.
            
            
            true if port forwarding is started; otherwise, false.
            
        
        
            
            Initializes a new instance of the  class.
            
            The port.
        
        
            
            Initializes a new instance of the  class.
            
            The host.
            The port.
        
        
            
            Starts local port forwarding.
            
        
        
            
            Stops local port forwarding, and waits for the specified timeout until all pending
            requests are processed.
            
            The maximum amount of time to wait for pending requests to finish processing.
        
        
            
            Ensures the current instance is not disposed.
            
            The current instance is disposed.
        
        
            
            Interrupts the listener, and unsubscribes from  events.
            
        
        
            
            Waits for pending channels to close.
            
            The maximum time to wait for the pending channels to close.
        
        
            
            Holds a value indicating whether the current instance is disposed.
            
            
            true if the current instance is disposed; otherwise, false.
            
        
        
            
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Releases unmanaged resources and performs other cleanup operations before the
             is reclaimed by garbage collection.
            
        
        
            
            Initializes the .
            
            
            
            When the port is started for the first time, a  is created with an initial count
            of 1.
            
            
            On subsequent (re)starts, we'll dispose the current  and create a new one with
            initial count of 1.
            
            
        
        
            
            Reads a null terminated string from a socket.
            
            The  to read from.
            The timeout to apply to individual reads.
            
            The  read, or null when the socket was closed.
            
        
        
            
            Provides functionality for local port forwarding
            
        
        
            
            Gets the bound host.
            
        
        
            
            Gets the bound port.
            
        
        
            
            Gets the forwarded host.
            
        
        
            
            Gets the forwarded port.
            
        
        
            
            Gets a value indicating whether port forwarding is started.
            
            
            true if port forwarding is started; otherwise, false.
            
        
        
            
            Initializes a new instance of the  class.
            
            The bound port.
            The host.
            The port.
             is greater than .
             is null.
             is greater than .
                - 
                    RSA in OpenSSL PEM and ssh.com format
                
- 
                    DSA in OpenSSL PEM and ssh.com format
                
- 
                    ECDSA 256/384/521 in OpenSSL PEM format
                
- 
                    ED25519 in OpenSSH key format
                
The following encryption algorithms are supported:
                - 
                    DES-EDE3-CBC
                
- 
                    DES-EDE3-CFB
                
- 
                    DES-CBC
                
- 
                    AES-128-CBC
                
- 
                    AES-192-CBC
                
- 
                    AES-256-CBC
                
Gets the host key.
            
        
        
            
            Initializes a new instance of the  class.
            
            The private key.
        
        
            
            Initializes a new instance of the  class.
            
            Name of the file.
             is null or empty.
            This method calls  internally, this method does not catch exceptions from .
        
        
            
            Initializes a new instance of the  class.
            
            Name of the file.
            The pass phrase.
             is null or empty, or  is null.
            This method calls  internally, this method does not catch exceptions from .
        
        
            
            Initializes a new instance of the  class.
            
            The private key.
            The pass phrase.
             or  is null.
        
        
            
            Opens the specified private key.
            
            The private key.
            The pass phrase.
        
        
            
            Decrypts encrypted private key file data.
            
            The cipher info.
            Encrypted data.
            Decryption pass phrase.
            Decryption binary salt.
            Decrypted byte array.
            , ,  or  is null.
        
        
            
            Parses an OpenSSH V1 key file (i.e. ED25519 key) according to the the key spec:
            https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.key.
            
            the key file data (i.e. base64 encoded data between the header/footer)
            passphrase or null if there isn't one
            
        
        
            
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Releases unmanaged resources and performs other cleanup operations before the
             is reclaimed by garbage collection.
            
        
        
            
            Reads next mpint data type from internal buffer where length specified in bits.
            
            mpint read.
        
        
            
            Specifies the type of proxy client will use to connect to server.
            
        
        
            No proxy server.
        
        
            A SOCKS4 proxy server.
        
        
            A SOCKS5 proxy server.
        
        
            A HTTP proxy server.
        
        
            
            Encloses a path in double quotes, and escapes any embedded double quote with a backslash.
            
        
        
            
            Encloses a path in double quotes, and escapes any embedded double quote with a backslash.
            
            The path to transform.
            
            The transformed path.
            
             is null.
              
                Original
                Transformed
              
              - 
                /var/log/auth.log
                "/var/log/auth.log"
              
- 
                /var/mp3/Guns N' Roses
                "/var/mp3/Guns N' Roses"
              
- 
                /var/garbage!/temp
                "/var/garbage!/temp"
              
- 
                /var/would be 'kewl'!/not?
                "/var/would be 'kewl'!, not?"
              
- 
                
                ""
              
- 
                Hello "World"
                "Hello \"World"
              
Performs no transformation.
            
        
        
            
            Returns the specified path without applying a transformation.
            
            The path to transform.
            
            The specified path as is.
            
             is null.
            
            This transformation is recommended for servers that do not require any quoting to preserve the
            literal value of metacharacters, or when paths are guaranteed to never contain any such characters.
            
        
        
            
            Quotes a path in a way to be suitable to be used with a shell-based server.
            
        
        
            
            Quotes a path in a way to be suitable to be used with a shell-based server.
            
            The path to transform.
            
            A quoted path.
            
             is null.
            
            
            If  contains a single-quote, that character is embedded
            in quotation marks (eg. "'"). Sequences of single-quotes are grouped in a single
            pair of quotation marks.
            
            
            An exclamation mark in  is escaped with a backslash. This is
            necessary because C Shell interprets it as a meta-character for history substitution
            even when enclosed in single quotes or quotation marks.
            
            
            All other characters are enclosed in single quotes. Sequences of such characters are grouped
            in a single pair of single quotes.
            
            
            References:
              - 
                Shell Command Language
              
- 
                Unix C-Shell special characters and their uses
              
- 
                Differences Between Bourne and C Shell Quoting
              
              
                Original
                Transformed
              
              - 
                /var/log/auth.log
                '/var/log/auth.log'
              
- 
                /var/mp3/Guns N' Roses
                '/var/mp3/Guns N'"'"' Roses'
              
- 
                /var/garbage!/temp
                '/var/garbage'\!'/temp'
              
- 
                /var/would be 'kewl'!, not?
                '/var/would be '"'"'kewl'"'"\!', not?'
              
- 
                
                ''
              
- 
                Hello "World"
                'Hello "World"'
              
Provides access to built-in remote path transformations.
            
            
            References:
              - 
                Shell Command Language
              
- 
                Unix C-Shell special characters and their uses
              
- 
                Differences Between Bourne and C Shell Quoting
              
- 
                Everyone quotes command line arguments the wrong way
              
Quotes a path in a way to be suitable to be used with a shell-based server.
            
            
            A quoted path.
            
            
            
            If a path contains a single-quote, that character is embedded in quotation marks (eg. "'").
            Sequences of single-quotes are grouped in a single pair of quotation marks.
            
            
            An exclamation mark in a path is escaped with a backslash. This is necessary because C Shell
            interprets it as a meta-character for history substitution even when enclosed in single quotes
             or quotation marks.
            
            
            All other characters are enclosed in single quotes. Sequences of such characters are grouped
            in a single pair of single quotes.
              
                Original
                Transformed
              
              - 
                /var/log/auth.log
                '/var/log/auth.log'
              
- 
                /var/mp3/Guns N' Roses
                '/var/mp3/Guns N'"'"' Roses'
              
- 
                /var/garbage!/temp
                '/var/garbage'\!'/temp'
              
- 
                /var/would be 'kewl'!, not?
                '/var/would be '"'"'kewl'"'"\!', not?'
              
- 
                
                ''
              
- 
                Hello "World"
                'Hello "World"'
              
Performs no transformation.
            
            
            Recommended for servers that do not require any character to be escaped or enclosed in quotes,
            or when paths are guaranteed to never contain any special characters (such as #, ", ', $, ...).
            
        
        
            
            Encloses a path in double quotes, and escapes any embedded double quote with a backslash.
            
            
            A transformation that encloses a path in double quotes, and escapes any embedded double quote with
            a backslash.
              
                Original
                Transformed
              
              - 
                /var/log/auth.log
                "/var/log/auth.log"
              
- 
                /var/mp3/Guns N' Roses
                "/var/mp3/Guns N' Roses"
              
- 
                /var/garbage!/temp
                "/var/garbage!/temp"
              
- 
                /var/would be 'kewl'!, not?
                "/var/would be 'kewl'!, not?"
              
- 
                
                ""
              
- 
                Hello "World"
                "Hello \"World"
              
Provides SCP client functionality.
            
            
            
            More information on the SCP protocol is available here:
            https://github.com/net-ssh/net-scp/blob/master/lib/net/scp.rb
            
            
            Known issues in OpenSSH:
              - 
                Recursive download (-prf) does not deal well with specific UTF-8 and newline characters.
                Recursive update does not support empty path for uploading to home directory.
              
Provides SCP client functionality.
            
        
        
            
            Gets or sets the operation timeout.
            
            
            The timeout to wait until an operation completes. The default value is negative
            one (-1) milliseconds, which indicates an infinite time-out period.
            
        
        
            
            Gets or sets the size of the buffer.
            
            
            The size of the buffer. The default buffer size is 16384 bytes.
            
        
        
            
            Gets or sets the transformation to apply to remote paths.
            
            
            The transformation to apply to remote paths. The default is .
            
             is null.
            
            
            This transformation is applied to the remote file or directory path that is passed to the
            scp command.
            
            
            See  for the transformations that are supplied
            out-of-the-box with SSH.NET.
            
            
        
        
            
            Occurs when downloading file.
            
        
        
            
            Occurs when uploading file.
            
        
        
            
            Initializes a new instance of the  class.
            
            The connection info.
             is null.
        
        
            
            Initializes a new instance of the  class.
            
            Connection host.
            Connection port.
            Authentication username.
            Authentication password.
             is null.
             is invalid, or  is null or contains only whitespace characters.
             is not within  and .
        
        
            
            Initializes a new instance of the  class.
            
            Connection host.
            Authentication username.
            Authentication password.
             is null.
             is invalid, or  is null or contains only whitespace characters.
        
        
            
            Initializes a new instance of the  class.
            
            Connection host.
            Connection port.
            Authentication username.
            Authentication private key file(s) .
             is null.
             is invalid, -or-  is null or contains only whitespace characters.
             is not within  and .
        
        
            
            Initializes a new instance of the  class.
            
            Connection host.
            Authentication username.
            Authentication private key file(s) .
             is null.
             is invalid, -or-  is null or contains only whitespace characters.
        
        
            
            Initializes a new instance of the  class.
            
            The connection info.
            Specified whether this instance owns the connection info.
             is null.
            
            If  is true, then the
            connection info will be disposed when this instance is disposed.
            
        
        
            
            Initializes a new instance of the  class.
            
            The connection info.
            Specified whether this instance owns the connection info.
            The factory to use for creating new services.
             is null.
             is null.
            
            If  is true, then the
            connection info will be disposed when this instance is disposed.
            
        
        
            
            Uploads the specified stream to the remote host.
            
            The  to upload.
            A relative or absolute path for the remote file.
             is null.
             is a zero-length .
            A directory with the specified path exists on the remote host.
            The secure copy execution request was rejected by the server.
        
        
            
            Downloads the specified file from the remote host to the stream.
            
            A relative or absolute path for the remote file.
            The  to download the remote file to.
             is null or contains only whitespace characters.
             is null.
             exists on the remote host, and is not a regular file.
            The secure copy execution request was rejected by the server.
        
        
            
            Sets mode, size and name of file being upload.
            
            The channel to perform the upload in.
            A  from which any feedback from the server can be read.
            The size of the content to upload.
            The name of the file, without path, to which the content is to be uploaded.
            
            
            When the SCP transfer is already initiated for a file, a zero-length  should
            be specified for . This prevents the server from uploading the
            content to a file with path <file path>/ if there's
            already a directory with this path, and allows us to receive an error response.
            
            
        
        
            
            Uploads the content of a file.
            
            The channel to perform the upload in.
            A  from which any feedback from the server can be read.
            The content to upload.
            The name of the remote file, without path, to which the content is uploaded.
            
             is only used for raising the  event.
            
        
        
            
            Checks the return code.
            
            The output stream.
        
        
            
            Read a LF-terminated string from the .
            
            The  to read from.
            
            The string without trailing LF.
            
        
        
            
            Uploads the specified file to the remote host.
            
            The file system info.
            A relative or absolute path for the remote file.
             is null.
             is null.
             is a zero-length .
            A directory with the specified path exists on the remote host.
            The secure copy execution request was rejected by the server.
        
        
            
            Uploads the specified directory to the remote host.
            
            The directory info.
            A relative or absolute path for the remote directory.
             is null.
             is null.
             is a zero-length string.
             does not exist on the remote host, is not a directory or the user does not have the required permission.
            The secure copy execution request was rejected by the server.
        
        
            
            Downloads the specified file from the remote host to local file.
            
            Remote host file name.
            Local file information.
             is null.
             is null or empty.
             exists on the remote host, and is not a regular file.
            The secure copy execution request was rejected by the server.
        
        
            
            Downloads the specified directory from the remote host to local directory.
            
            Remote host directory name.
            Local directory information.
             is null or empty.
             is null.
            File or directory with the specified path does not exist on the remote host.
            The secure copy execution request was rejected by the server.
        
        
            
            Uploads the  and 
            of the next file or directory to upload.
            
            The channel to perform the upload in.
            A  from which any feedback from the server can be read.
            The file or directory to upload.
        
        
            
            Upload the files and subdirectories in the specified directory.
            
            The channel to perform the upload in.
            A  from which any feedback from the server can be read.
            The directory to upload.
        
        
            
            Sets mode and name of the directory being upload.
            
        
        
            
            Return a value indicating whether the specified path is a valid SCP file path.
            
            The path to verify.
            
             if  is a valid SCP file path; otherwise, .
            
            
            To match OpenSSH behavior (introduced as a result of CVE-2018-20685), a file path is considered
            invalid in any of the following conditions:
              - 
                 is a zero-length string.
              
- 
                 is ".".
              
- 
                 is "..".
              
- 
                 contains a forward slash (/).
              
Represents the abstract base class from which all implementations of algorithms must inherit.
            
        
        
            
            Gets algorithm name.
            
        
        
            Copy constructor.  This will copy the state of the provided
            message digest.
        
        
            interface that a message digest conforms to.
        
        
             return the algorithm name
            
             @return the algorithm name
        
        
             return the size, in bytes, of the digest produced by this message digest.
            
             @return the size, in bytes, of the digest produced by this message digest.
        
        
             return the size, in bytes, of the internal buffer used by this digest.
            
             @return the size, in bytes, of the internal buffer used by this digest.
        
        
             update the message digest with a single byte.
            
             @param inByte the input byte to be entered.
        
        
             update the message digest with a block of bytes.
            
             @param input the byte array containing the data.
             @param inOff the offset into the byte array where the data starts.
             @param len the length of the data.
        
        
             Close the digest, producing the final digest value. The doFinal
             call leaves the digest reset.
            
             @param output the array the digest is to be copied into.
             @param outOff the offset into the out array the digest is to start at.
        
        
            reset the digest back to it's initial state.
        
        
            The base class for parameters to key generators.
        
        
             initialise the generator with a source of randomness
             and a strength (in bits).
            
             @param random the random byte source.
             @param strength the size, in bits, of the keys we want to produce.
        
        
             return the random source associated with this
             generator.
            
             @return the generators random source.
        
        
             return the bit strength for keys produced by this generator,
            
             @return the strength of the keys this generator produces (in bits).
        
        
            Generic interface for objects generating random bytes.
        
        
            Add more seed material to the generator.
            A byte array to be mixed into the generator's state.
        
        
            Add more seed material to the generator.
            A long value to be mixed into the generator's state.
        
        
            Fill byte array with random values.
            Array to be filled.
        
        
            Fill byte array with random values.
            Array to receive bytes.
            Index to start filling at.
            Length of segment to fill.
        
        
            return a = a + b - b preserved.
        
        
            unsigned comparison on two arrays - note the arrays may
            start with leading zeros.
        
        
            return z = x / y - done in place (z value preserved, x contains the
            remainder)
        
        
            return whether or not a BigInteger is probably prime with a
            probability of 1 - (1/2)**certainty.From Knuth Vol 2, pg 395.
        
        
             Calculate the numbers u1, u2, and u3 such that:
            
             u1 * a + u2 * b = u3
            
             where u3 is the greatest common divider of a and b.
             a and b using the extended Euclid algorithm (refer p. 323
             of The Art of Computer Programming vol 2, 2nd ed).
             This also seems to have the side effect of calculating
             some form of multiplicative inverse.
            
             @param a    First number to calculate gcd for
             @param b    Second number to calculate gcd for
             @param u1Out      the return object for the u1 value
             @return     The greatest common divisor of a and b
        
        
            return w with w = x * x - w is assumed to have enough space.
        
        
            return x with x = y * z - x is assumed to have enough space.
        
        
            Calculate mQuote = -m^(-1) mod b with b = 2^32 (32 = word size)
        
        
            Montgomery multiplication: a = x * y * R^(-1) mod m
            
            Based algorithm 14.36 of Handbook of Applied Cryptography.
            
             m, x, y should have length n 
             a should have length (n + 1) 
             b = 2^32, R = b^n 
            
            The result is put in x
            
            NOTE: the indices of x, y, m, a different in HAC and in Java
        
        
            return x = x % y - done in place (y value preserved)
        
        
            do a left shift - this returns a new array.
        
        
            do a right shift - this does it in place.
        
        
            do a right shift by one - this does it in place.
        
        
            returns x = x - y - we assume x is >= y
        
        
            Class representing a simple version of a big decimal. A
            SimpleBigDecimal is basically a
            {@link java.math.BigInteger BigInteger} with a few digits on the right of
            the decimal point. The number of (binary) digits on the right of the decimal
            point is called the scale of the SimpleBigDecimal.
            Unlike in {@link java.math.BigDecimal BigDecimal}, the scale is not adjusted
            automatically, but must be set manually. All SimpleBigDecimals
            taking part in the same arithmetic operation must have equal scale. The
            result of a multiplication of two SimpleBigDecimals returns a
            SimpleBigDecimal with double scale.
        
        
            Returns a SimpleBigDecimal representing the same numerical
            value as value.
            @param value The value of the SimpleBigDecimal to be
            created. 
            @param scale The scale of the SimpleBigDecimal to be
            created. 
            @return The such created SimpleBigDecimal.
        
        
            Constructor for SimpleBigDecimal. The value of the
            constructed SimpleBigDecimal Equals bigInt / 
            2scale.
            @param bigInt The bigInt value parameter.
            @param scale The scale of the constructed SimpleBigDecimal.
        
        
            Class holding methods for point multiplication based on the window
            τ-adic nonadjacent form (WTNAF). The algorithms are based on the
            paper "Improved Algorithms for Arithmetic on Anomalous Binary Curves"
            by Jerome A. Solinas. The paper first appeared in the Proceedings of
            Crypto 1997.
        
        
            The window width of WTNAF. The standard value of 4 is slightly less
            than optimal for running time, but keeps space requirements for
            precomputation low. For typical curves, a value of 5 or 6 results in
            a better running time. When changing this value, the
            αu's must be computed differently, see
            e.g. "Guide to Elliptic Curve Cryptography", Darrel Hankerson,
            Alfred Menezes, Scott Vanstone, Springer-Verlag New York Inc., 2004,
            p. 121-122
        
        
            24
        
        
            The αu's for a=0 as an array
            of ZTauElements.
        
        
            The αu's for a=0 as an array
            of TNAFs.
        
        
            The αu's for a=1 as an array
            of ZTauElements.
        
        
            The αu's for a=1 as an array
            of TNAFs.
        
        
            Computes the norm of an element λ of
            Z[τ].
            @param mu The parameter μ of the elliptic curve.
            @param lambda The element λ of
            Z[τ].
            @return The norm of λ.
        
        
            Computes the norm of an element λ of
            R[τ], where λ = u + vτ
            and u and u are real numbers (elements of
            R). 
            @param mu The parameter μ of the elliptic curve.
            @param u The real part of the element λ of
            R[τ].
            @param v The τ-adic part of the element
            λ of R[τ].
            @return The norm of λ.
        
        
            Rounds an element λ of R[τ]
            to an element of Z[τ], such that their difference
            has minimal norm. λ is given as
            λ = λ0 + λ1τ.
            @param lambda0 The component λ0.
            @param lambda1 The component λ1.
            @param mu The parameter μ of the elliptic curve. Must
            equal 1 or -1.
            @return The rounded element of Z[τ].
            @throws ArgumentException if lambda0 and
            lambda1 do not have same scale.
        
        
            Approximate division by n. For an integer
            k, the value λ = s k / n is
            computed to c bits of accuracy.
            @param k The parameter k.
            @param s The curve parameter s0 or
            s1.
            @param vm The Lucas Sequence element Vm.
            @param a The parameter a of the elliptic curve.
            @param m The bit length of the finite field
            Fm.
            @param c The number of bits of accuracy, i.e. the scale of the returned
            SimpleBigDecimal.
            @return The value λ = s k / n computed to
            c bits of accuracy.
        
        
            Computes the τ-adic NAF (non-adjacent form) of an
            element λ of Z[τ].
            @param mu The parameter μ of the elliptic curve.
            @param lambda The element λ of
            Z[τ].
            @return The τ-adic NAF of λ.
        
        
            Applies the operation τ() to an
            AbstractF2mPoint. 
            @param p The AbstractF2mPoint to which τ() is applied.
            @return τ(p)
        
        
            Returns the parameter μ of the elliptic curve.
            @param curve The elliptic curve from which to obtain μ.
            The curve must be a Koblitz curve, i.e. a Equals
            0 or 1 and b Equals
            1. 
            @return μ of the elliptic curve.
            @throws ArgumentException if the given ECCurve is not a Koblitz
            curve.
        
        
            Calculates the Lucas Sequence elements Uk-1 and
            Uk or Vk-1 and
            Vk.
            @param mu The parameter μ of the elliptic curve.
            @param k The index of the second element of the Lucas Sequence to be
            returned.
            @param doV If set to true, computes Vk-1 and
            Vk, otherwise Uk-1 and
            Uk.
            @return An array with 2 elements, containing Uk-1
            and Uk or Vk-1
            and Vk.
        
        
            Computes the auxiliary value tw. If the width is
            4, then for mu = 1, tw = 6 and for
            mu = -1, tw = 10 
            @param mu The parameter μ of the elliptic curve.
            @param w The window width of the WTNAF.
            @return the auxiliary value tw
        
        
            Computes the auxiliary values s0 and
            s1 used for partial modular reduction. 
            @param curve The elliptic curve for which to compute
            s0 and s1.
            @throws ArgumentException if curve is not a
            Koblitz curve (Anomalous Binary Curve, ABC).
        
        
            Partial modular reduction modulo
            (τm - 1)/(τ - 1).
            @param k The integer to be reduced.
            @param m The bitlength of the underlying finite field.
            @param a The parameter a of the elliptic curve.
            @param s The auxiliary values s0 and
            s1.
            @param mu The parameter μ of the elliptic curve.
            @param c The precision (number of bits of accuracy) of the partial
            modular reduction.
            @return ρ := k partmod (τm - 1)/(τ - 1)
        
        
            Multiplies a {@link org.bouncycastle.math.ec.AbstractF2mPoint AbstractF2mPoint}
            by a BigInteger using the reduced τ-adic
            NAF (RTNAF) method.
            @param p The AbstractF2mPoint to Multiply.
            @param k The BigInteger by which to Multiply p.
            @return k * p
        
        
            Multiplies a {@link org.bouncycastle.math.ec.AbstractF2mPoint AbstractF2mPoint}
            by an element λ of Z[τ]
            using the τ-adic NAF (TNAF) method.
            @param p The AbstractF2mPoint to Multiply.
            @param lambda The element λ of
            Z[τ].
            @return λ * p
        
        
            Multiplies a {@link org.bouncycastle.math.ec.AbstractF2mPoint AbstractF2mPoint}
            by an element λ of Z[τ]
            using the τ-adic NAF (TNAF) method, given the TNAF
            of λ.
            @param p The AbstractF2mPoint to Multiply.
            @param u The the TNAF of λ..
            @return λ * p
        
        
            Computes the [τ]-adic window NAF of an element
            λ of Z[τ].
            @param mu The parameter μ of the elliptic curve.
            @param lambda The element λ of
            Z[τ] of which to compute the
            [τ]-adic NAF.
            @param width The window width of the resulting WNAF.
            @param pow2w 2width.
            @param tw The auxiliary value tw.
            @param alpha The αu's for the window width.
            @return The [τ]-adic window NAF of
            λ.
        
        
            Does the precomputation for WTNAF multiplication.
            @param p The ECPoint for which to do the precomputation.
            @param a The parameter a of the elliptic curve.
            @return The precomputation array for p. 
        
        
            Class representing an element of Z[τ]. Let
            λ be an element of Z[τ]. Then
            λ is given as λ = u + vτ. The
            components u and v may be used directly, there
            are no accessor methods.
            Immutable class.
        
        
            The "real" part of λ.
        
        
            The "τ-adic" part of λ.
        
        
            Constructor for an element λ of
            Z[τ].
            @param u The "real" part of λ.
            @param v The "τ-adic" part of
            λ.
        
        
            Simple shift-and-add multiplication. Serves as reference implementation
            to verify (possibly faster) implementations, and for very small scalars.
            
            @param p
                       The point to multiply.
            @param k
                       The multiplier.
            @return The result of the point multiplication kP.
        
        
            Base class for an elliptic curve.
        
        
            Compute a PreCompInfo for a point on this curve, under a given name. Used by
            ECMultipliers to save the precomputation for this ECPoint for use
            by subsequent multiplication.
            
            @param point
                       The ECPoint to store precomputations for.
            @param name
                       A String used to index precomputations of different types.
            @param callback
                       Called to calculate the PreCompInfo.
        
        
            Normalization ensures that any projective coordinate is 1, and therefore that the x, y
            coordinates reflect those of the equivalent point in an affine coordinate system. Where more
            than one point is to be normalized, this method will generally be more efficient than
            normalizing each point separately.
            
            @param points
                       An array of points that will be updated in place with their normalized versions,
                       where necessary
        
        
            Normalization ensures that any projective coordinate is 1, and therefore that the x, y
            coordinates reflect those of the equivalent point in an affine coordinate system. Where more
            than one point is to be normalized, this method will generally be more efficient than
            normalizing each point separately. An (optional) z-scaling factor can be applied; effectively
            each z coordinate is scaled by this value prior to normalization (but only one
            actual multiplication is needed).
            
            @param points
                       An array of points that will be updated in place with their normalized versions,
                       where necessary
            @param off
                       The start of the range of points to normalize
            @param len
                       The length of the range of points to normalize
            @param iso
                       The (optional) z-scaling factor - can be null
        
        
            Create a cache-safe lookup table for the specified sequence of points. All the points MUST
            belong to this ECCurve instance, and MUST already be normalized.
        
        
            Sets the default ECMultiplier, unless already set. 
        
        
            Decode a point on this curve from its ASN.1 encoding. The different
            encodings are taken account of, including point compression for
            Fp (X9.62 s 4.2.1 pg 17).
            @return The decoded point.
        
        
            Elliptic curve over Fp
        
        
            The auxiliary values s0 and
            s1 used for partial modular reduction for
            Koblitz curves.
        
        
             Solves a quadratic equation z2 + z = beta(X9.62
             D.1.6) The other solution is z + 1.
            
             @param beta
                        The value to solve the quadratic equation for.
             @return the solution for z2 + z = beta or
                     null if no solution exists.
        
        
            @return the auxiliary values s0 and
            s1 used for partial modular reduction for
            Koblitz curves.
        
        
            Returns true if this is a Koblitz curve (ABC curve).
            @return true if this is a Koblitz curve (ABC curve), false otherwise
        
        
            Elliptic curves over F2m. The Weierstrass equation is given by
            y2 + xy = x3 + ax2 + b.
        
        
            The exponent m of F2m.
        
        
            TPB: The integer k where xm +
            xk + 1 represents the reduction polynomial
            f(z).
            PPB: The integer k1 where xm +
            xk3 + xk2 + xk1 + 1
            represents the reduction polynomial f(z).
        
        
            TPB: Always set to 0
            PPB: The integer k2 where xm +
            xk3 + xk2 + xk1 + 1
            represents the reduction polynomial f(z).
        
        
            TPB: Always set to 0
            PPB: The integer k3 where xm +
            xk3 + xk2 + xk1 + 1
            represents the reduction polynomial f(z).
        
        
            The point at infinity on this curve.
        
        
            Constructor for Trinomial Polynomial Basis (TPB).
            @param m  The exponent m of
            F2m.
            @param k The integer k where xm +
            xk + 1 represents the reduction
            polynomial f(z).
            @param a The coefficient a in the Weierstrass equation
            for non-supersingular elliptic curves over
            F2m.
            @param b The coefficient b in the Weierstrass equation
            for non-supersingular elliptic curves over
            F2m.
        
        
            Constructor for Trinomial Polynomial Basis (TPB).
            @param m  The exponent m of
            F2m.
            @param k The integer k where xm +
            xk + 1 represents the reduction
            polynomial f(z).
            @param a The coefficient a in the Weierstrass equation
            for non-supersingular elliptic curves over
            F2m.
            @param b The coefficient b in the Weierstrass equation
            for non-supersingular elliptic curves over
            F2m.
            @param order The order of the main subgroup of the elliptic curve.
            @param cofactor The cofactor of the elliptic curve, i.e.
            #Ea(F2m) = h * n.
        
        
            Constructor for Pentanomial Polynomial Basis (PPB).
            @param m  The exponent m of
            F2m.
            @param k1 The integer k1 where xm +
            xk3 + xk2 + xk1 + 1
            represents the reduction polynomial f(z).
            @param k2 The integer k2 where xm +
            xk3 + xk2 + xk1 + 1
            represents the reduction polynomial f(z).
            @param k3 The integer k3 where xm +
            xk3 + xk2 + xk1 + 1
            represents the reduction polynomial f(z).
            @param a The coefficient a in the Weierstrass equation
            for non-supersingular elliptic curves over
            F2m.
            @param b The coefficient b in the Weierstrass equation
            for non-supersingular elliptic curves over
            F2m.
        
        
            Constructor for Pentanomial Polynomial Basis (PPB).
            @param m  The exponent m of
            F2m.
            @param k1 The integer k1 where xm +
            xk3 + xk2 + xk1 + 1
            represents the reduction polynomial f(z).
            @param k2 The integer k2 where xm +
            xk3 + xk2 + xk1 + 1
            represents the reduction polynomial f(z).
            @param k3 The integer k3 where xm +
            xk3 + xk2 + xk1 + 1
            represents the reduction polynomial f(z).
            @param a The coefficient a in the Weierstrass equation
            for non-supersingular elliptic curves over
            F2m.
            @param b The coefficient b in the Weierstrass equation
            for non-supersingular elliptic curves over
            F2m.
            @param order The order of the main subgroup of the elliptic curve.
            @param cofactor The cofactor of the elliptic curve, i.e.
            #Ea(F2m) = h * n.
        
        
             Return true if curve uses a Trinomial basis.
            
             @return true if curve Trinomial, false otherwise.
        
        
             return the field name for this field.
            
             @return the string "Fp".
        
        
            return a sqrt root - the routine verifies that the calculation
            returns the right value - if none exists it returns null.
        
        
            Class representing the Elements of the finite field
            F2m in polynomial basis (PB)
            representation. Both trinomial (Tpb) and pentanomial (Ppb) polynomial
            basis representations are supported. Gaussian normal basis (GNB)
            representation is not supported.
        
        
            Indicates gaussian normal basis representation (GNB). Number chosen
            according to X9.62. GNB is not implemented at present.
        
        
            Indicates trinomial basis representation (Tpb). Number chosen
            according to X9.62.
        
        
            Indicates pentanomial basis representation (Ppb). Number chosen
            according to X9.62.
        
        
            Tpb or Ppb.
        
        
            The exponent m of F2m.
        
        
            The LongArray holding the bits.
        
        
            Constructor for Ppb.
            @param m  The exponent m of
            F2m.
            @param k1 The integer k1 where xm +
            xk3 + xk2 + xk1 + 1
            represents the reduction polynomial f(z).
            @param k2 The integer k2 where xm +
            xk3 + xk2 + xk1 + 1
            represents the reduction polynomial f(z).
            @param k3 The integer k3 where xm +
            xk3 + xk2 + xk1 + 1
            represents the reduction polynomial f(z).
            @param x The BigInteger representing the value of the field element.
        
        
            Constructor for Tpb.
            @param m  The exponent m of
            F2m.
            @param k The integer k where xm +
            xk + 1 represents the reduction
            polynomial f(z).
            @param x The BigInteger representing the value of the field element.
        
        
            Checks, if the ECFieldElements a and b
            are elements of the same field F2m
            (having the same representation).
            @param a field element.
            @param b field element to be compared.
            @throws ArgumentException if a and b
            are not elements of the same field
            F2m (having the same
            representation).
        
        
            @return the representation of the field
            F2m, either of
            {@link F2mFieldElement.Tpb} (trinomial
            basis representation) or
            {@link F2mFieldElement.Ppb} (pentanomial
            basis representation).
        
        
            @return the degree m of the reduction polynomial
            f(z).
        
        
            @return Tpb: The integer k where xm +
            xk + 1 represents the reduction polynomial
            f(z).
            Ppb: The integer k1 where xm +
            xk3 + xk2 + xk1 + 1
            represents the reduction polynomial f(z).
        
        
            @return Tpb: Always returns 0
            Ppb: The integer k2 where xm +
            xk3 + xk2 + xk1 + 1
            represents the reduction polynomial f(z).
        
        
            @return Tpb: Always set to 0
            Ppb: The integer k3 where xm +
            xk3 + xk2 + xk1 + 1
            represents the reduction polynomial f(z).
        
        
            base class for points on elliptic curves.
        
        
            Returns the affine x-coordinate after checking that this point is normalized.
            
            @return The affine x-coordinate of this point
            @throws IllegalStateException if the point is not normalized
        
        
            Returns the affine y-coordinate after checking that this point is normalized
            
            @return The affine y-coordinate of this point
            @throws IllegalStateException if the point is not normalized
        
        
            Returns the x-coordinate.
            
            Caution: depending on the curve's coordinate system, this may not be the same value as in an
            affine coordinate system; use Normalize() to get a point where the coordinates have their
            affine values, or use AffineXCoord if you expect the point to already have been normalized.
            
            @return the x-coordinate of this point
        
        
            Returns the y-coordinate.
            
            Caution: depending on the curve's coordinate system, this may not be the same value as in an
            affine coordinate system; use Normalize() to get a point where the coordinates have their
            affine values, or use AffineYCoord if you expect the point to already have been normalized.
            
            @return the y-coordinate of this point
        
        
            Normalization ensures that any projective coordinate is 1, and therefore that the x, y
            coordinates reflect those of the equivalent point in an affine coordinate system.
            
            @return a new ECPoint instance representing the same point, but with normalized coordinates
        
        
            return the field element encoded with point compression. (S 4.3.6)
        
        
            Multiplies this ECPoint by the given number.
            @param k The multiplicator.
            @return k * this.
        
        
            Elliptic curve points over Fp
        
        
             Create a point which encodes without point compression.
            
             @param curve the curve to use
             @param x affine x co-ordinate
             @param y affine y co-ordinate
        
        
             Create a point that encodes with or without point compression.
            
             @param curve the curve to use
             @param x affine x co-ordinate
             @param y affine y co-ordinate
             @param withCompression if true encode with point compression
        
        
            Elliptic curve points over F2m
        
        
            @param curve base curve
            @param x x point
            @param y y point
        
        
            @param curve base curve
            @param x x point
            @param y y point
            @param withCompression true if encode with point compression.
        
        
            Interface for classes encapsulating a point multiplication algorithm
            for ECPoints.
        
        
            Multiplies the ECPoint p by k, i.e.
            p is added k times to itself.
            @param p The ECPoint to be multiplied.
            @param k The factor by which p is multiplied.
            @return p multiplied by k.
        
        
            Class holding precomputation data for fixed-point multiplications.
        
        
            Lookup table for the precomputed ECPoints used for a fixed point multiplication.
        
        
            The width used for the precomputation. If a larger width precomputation
            is already available this may be larger than was requested, so calling
            code should refer to the actual width.
        
        
            Interface for classes storing precomputation data for multiplication
            algorithms. Used as a Memento (see GOF patterns) for
            WNafMultiplier.
        
        
            Class implementing the WNAF (Window Non-Adjacent Form) multiplication
            algorithm.
        
        
            Multiplies this by an integer k using the
            Window NAF method.
            @param k The integer by which this is multiplied.
            @return A new ECPoint which equals this
            multiplied by k.
        
        
            Determine window width to use for a scalar multiplication of the given size.
            
            @param bits the bit-length of the scalar to multiply by
            @return the window size to use
        
        
            Class holding precomputation data for the WNAF (Window Non-Adjacent Form)
            algorithm.
        
        
            Array holding the precomputed ECPoints used for a Window
            NAF multiplication.
        
        
            Array holding the negations of the precomputed ECPoints used
            for a Window NAF multiplication.
        
        
            Holds an ECPoint representing Twice(this). Used for the
            Window NAF multiplication to create or extend the precomputed values.
        
        
            Computes the Window NAF (non-adjacent Form) of an integer.
            @param width The width w of the Window NAF. The width is
            defined as the minimal number w, such that for any
            w consecutive digits in the resulting representation, at
            most one is non-zero.
            @param k The integer of which the Window NAF is computed.
            @return The Window NAF of the given width, such that the following holds:
            k = ∑i=0l-1 ki2i
            , where the ki denote the elements of the
            returned byte[].
        
        
            Determine window width to use for a scalar multiplication of the given size.
            
            @param bits the bit-length of the scalar to multiply by
            @return the window size to use
        
        
            Determine window width to use for a scalar multiplication of the given size.
            
            @param bits the bit-length of the scalar to multiply by
            @param windowSizeCutoffs a monotonically increasing list of bit sizes at which to increment the window width
            @return the window size to use
        
        
            Class implementing the WTNAF (Window
            τ-adic Non-Adjacent Form) algorithm.
        
        
            Multiplies a {@link org.bouncycastle.math.ec.AbstractF2mPoint AbstractF2mPoint}
            by k using the reduced τ-adic NAF (RTNAF)
            method.
            @param p The AbstractF2mPoint to multiply.
            @param k The integer by which to multiply k.
            @return p multiplied by k.
        
        
            Multiplies a {@link org.bouncycastle.math.ec.AbstractF2mPoint AbstractF2mPoint}
            by an element λ of Z[τ] using
            the τ-adic NAF (TNAF) method.
            @param p The AbstractF2mPoint to multiply.
            @param lambda The element λ of
            Z[τ] of which to compute the
            [τ]-adic NAF.
            @return p multiplied by λ.
        
        
            Multiplies a {@link org.bouncycastle.math.ec.AbstractF2mPoint AbstractF2mPoint}
            by an element λ of Z[τ]
            using the window τ-adic NAF (TNAF) method, given the
            WTNAF of λ.
            @param p The AbstractF2mPoint to multiply.
            @param u The the WTNAF of λ..
            @return λ * p
        
        
            Class holding precomputation data for the WTNAF (Window
            τ-adic Non-Adjacent Form) algorithm.
        
        
            Array holding the precomputed AbstractF2mPoints used for the
            WTNAF multiplication in 
            {@link org.bouncycastle.math.ec.multiplier.WTauNafMultiplier.multiply()
            WTauNafMultiplier.multiply()}.
        
        
            
             Utility class for creating IDigest objects from their names/Oids
            
        
        
            Use the specified instance of IRandomGenerator as random source.
            
            This constructor performs no seeding of either the IRandomGenerator or the
            constructed SecureRandom. It is the responsibility of the client to provide
            proper seed material as necessary/appropriate for the given IRandomGenerator
            implementation.
            
            The source to generate all random bytes from.
        
        
            base constructor.
        
        
             create a SecurityUtilityException with the given message.
            
             @param message the message to be carried with the exception.
        
        
             General array utilities.
        
        
            
            Are two arrays equal.
            
            Left side.
            Right side.
            True if equal.
        
        
            
            A constant time equals comparison - does not terminate early if
            test will fail.
            
            first array
            second array
            true if arrays equal, false otherwise.
        
        
             Make a copy of a range of bytes from the passed in data array. The range can
             extend beyond the end of the input array, in which case the return array will
             be padded with zeroes.
            
             @param data the array from which the data is to be copied.
             @param from the start index at which the copying should take place.
             @param to the final index of the range (exclusive).
            
             @return a new byte array containing the range given.
        
        
            BigInteger utilities.
        
        
             Return the passed in value as an unsigned byte array.
            
             @param value value to be converted.
             @return a byte array without a leading zero byte if present in the signed encoding.
        
        
             Return the passed in value as an unsigned byte array of specified length, zero-extended as necessary.
            
             @param length desired length of result array.
             @param n value to be converted.
             @return a byte array of specified length, with leading zeroes as necessary given the size of n.
        
        
            Return a random BigInteger not less than 'min' and not greater than 'max'
            
            @param min the least value that may be generated
            @param max the greatest value that may be generated
            @param random the source of randomness
            @return a random BigInteger value in the range [min,max]
        
        
            
            Class to decode and encode Hex.
            
        
        
             encode the input data producing a Hex encoded byte array.
            
             @return a byte array containing the Hex encoded data.
        
        
             encode the input data producing a Hex encoded byte array.
            
             @return a byte array containing the Hex encoded data.
        
        
             Hex encode the byte data writing it to the given output stream.
            
             @return the number of bytes produced.
        
        
             Hex encode the byte data writing it to the given output stream.
            
             @return the number of bytes produced.
        
        
             decode the Hex encoded input data. It is assumed the input data is valid.
            
             @return a byte array representing the decoded data.
        
        
             decode the Hex encoded string data - whitespace will be ignored.
            
             @return a byte array representing the decoded data.
        
        
             decode the Hex encoded string data writing it to the given output stream,
             whitespace characters will be ignored.
            
             @return the number of bytes produced.
        
        
             encode the input data producing a Hex output stream.
            
             @return the number of bytes produced.
        
        
             decode the Hex encoded byte data writing it to the given output stream,
             whitespace characters will be ignored.
            
             @return the number of bytes produced.
        
        
             decode the Hex encoded string data writing it to the given output stream,
             whitespace characters will be ignored.
            
             @return the number of bytes produced.
        
        
            
            Produce a copy of this object with its configuration and in its current state.
            
            
            The returned object may be used simply to store the state, or may be used as a similar object
            starting from the copied state.
            
        
        
            
            Restore a copied object state into this object.
            
            
            Implementations of this method should try to avoid or minimise memory allocation to perform the reset.
            
            an object originally {@link #copy() copied} from an object of the same type as this instance.
            if the provided object is not of the correct type.
            if the other parameter is in some other way invalid.
        
        
            Exception to be thrown on a failure to reset an object implementing Memoable.
            
            The exception extends InvalidCastException to enable users to have a single handling case,
            only introducing specific handling of this one if required.
            
        
        
             Basic Constructor.
            
             @param msg message to be associated with this exception.
        
        
            
            Implements certificate support for host algorithm.
            
        
        
            
            Gets the host key data.
            
        
        
            
            Initializes a new instance of the  class.
            
            The host key name.
        
        
            
            Signs the specified data.
            
            The data.
            Signed data.
            
        
        
            
            Verifies the signature.
            
            The data.
            The signature.
            true if signature was successfully verified; otherwise false.
            
        
        
            
            Base class for asymmetric cipher implementations.
            
        
        
            
            Gets the minimum data size.
            
            
            The minimum data size.
            
        
        
            BCrypt implementation.
            
             
                   BCrypt implements OpenBSD-style Blowfish password hashing using the scheme described in
                   "A Future-
                   Adaptable Password Scheme" by Niels Provos and David Mazieres.
             
             
                   This password hashing system tries to thwart off-line password cracking using a
                   computationally-intensive hashing algorithm, based on Bruce Schneier's Blowfish cipher.
                   The work factor of the algorithm is parameterised, so it can be increased as computers
                   get faster.
             
             
                   Usage is really simple. To hash a password for the first time, call the  method with a random salt, like this:
             
             string pw_hash = BCrypt.HashPassword(plain_password);
             
                   To check whether a plaintext password matches one that has been hashed previously,
                   use the  method:
             
             
                if (BCrypt.Verify(candidate_password, stored_hash))
                    Console.WriteLine("It matches");
                else
                    Console.WriteLine("It does not match");
              
              
                    The  method takes an optional parameter (workFactor) that
                    determines the computational complexity of the hashing:
              
              
                string strong_salt = BCrypt.GenerateSalt(10);
                string stronger_salt = BCrypt.GenerateSalt(12);
              
              
                    The amount of work increases exponentially (2^workFactor), so each increment is twice
                    as much work. The default workFactor is 10, and the valid range is 4 to 31.
              
            
        
        
            
             Hash a string using the OpenBSD bcrypt scheme and a salt generated by .
            
            Just an alias for HashPassword.
            The string to hash.
            The hashed string.
        
        
            
             Hash a string using the OpenBSD bcrypt scheme and a salt generated by .
            
            Just an alias for HashPassword.
              The string to hash.
            The log2 of the number of rounds of hashing to apply - the work
                                     factor therefore increases as 2^workFactor.
            The hashed string.
        
        
            
             Hash a password using the OpenBSD bcrypt scheme and a salt generated by .
            
            The password to hash.
            The hashed password.
        
        
            
             Hash a password using the OpenBSD bcrypt scheme and a salt generated by  using the given .
            
                 The password to hash.
            The log2 of the number of rounds of hashing to apply - the work
                                     factor therefore increases as 2^workFactor.
            The hashed password.
        
        
            Hash a password using the OpenBSD bcrypt scheme.
            Thrown when one or more arguments have unsupported or
                                                illegal values.
            The password to hash.
                the salt to hash with (perhaps generated using BCrypt.gensalt).
            The hashed password
        
        
            
             Generate a salt for use with the  method.
            
            The log2 of the number of rounds of hashing to apply - the work
                                     factor therefore increases as 2**workFactor.
            A base64 encoded salt value.
        
        
            
             Generate a salt for use with the  method
             selecting a reasonable default for the number of hashing rounds to apply.
            
            A base64 encoded salt value.
        
        
            
             Verifies that the hash of the given  matches the provided
             
            
            The text to verify.
             The previously-hashed password.
            true if the passwords match, false otherwise.
        
        
            
             Encode a byte array using bcrypt's slightly-modified base64 encoding scheme. Note that this
             is *not* compatible with the standard MIME-base64 encoding.
            
            Thrown when one or more arguments have unsupported or
                                                illegal values.
            The byte array to encode.
               The number of bytes to encode.
            Base64-encoded string.
        
        
            
             Decode a string encoded using bcrypt's base64 scheme to a byte array. Note that this is *not*
             compatible with the standard MIME-base64 encoding.
            
            Thrown when one or more arguments have unsupported or
                                                illegal values.
            The string to decode.
             The maximum bytes to decode.
            The decoded byte array.
        
        
            
             Look up the 3 bits base64-encoded by the specified character, range-checking against
             conversion table.
            
            The base64-encoded value.
            The decoded value of x.
        
        
            Blowfish encipher a single 64-bit block encoded as two 32-bit halves.
            An array containing the two 32-bit half blocks.
                The position in the array of the blocks.
        
        
            Cycically extract a word of key material.
            The string to extract the data from.
             [in,out] The current offset.
            The next word of material from data.
        
        
            Initializes the Blowfish key schedule.
        
        
            Key the Blowfish cipher.
            The key byte array.
        
        
            
             Perform the "enhanced key schedule" step described by Provos and Mazieres in "A Future-
             Adaptable Password Scheme" http://www.openbsd.org/papers/bcrypt-paper.ps.
            
             Salt byte array.
            Input byte array.
        
        
            Perform the central hashing step in the bcrypt scheme.
            Thrown when one or more arguments have unsupported or
                                                illegal values.
            The input byte array to hash.
             The salt byte array to hash with.
             The binary logarithm of the number of rounds of hashing to apply.
            A byte array containing the hashed result.
        
        
            Compatibility with new OpenBSD function.
            Ported from SSHJ library (https://github.com/hierynomus/sshj)
        
        
            
            Applies the Bcrypt kdf to derive a key and iv from the passphrase, 
            the key/iv are returned in the output variable.
            Ported from the SSHJ library. https://github.com/hierynomus/sshj
            
            
            
            
            
        
        
            
            Appends multiple byte arrays into one array.
            
            
            
            
        
        
            Exception for signalling parse errors. 
        
        
            Default constructor. 
        
        
            Initializes a new instance of .
            The message.
        
        
            Initializes a new instance of .
                   The message.
            The inner exception.
        
        
            
            Base class for block cipher implementations.
            
        
        
            
            Gets the size of the block in bytes.
            
            
            The size of the block in bytes.
            
        
        
            
            Gets the minimum data size.
            
            
            The minimum data size.
            
        
        
            
            Gets the size of the block.
            
            
            The size of the block.
            
        
        
            
            Initializes a new instance of the  class.
            
            The key.
            Size of the block.
            Cipher mode.
            Cipher padding.
             is null.
        
        
            
            Encrypts the specified data.
            
            The data.
            The zero-based offset in  at which to begin encrypting.
            The number of bytes to encrypt from .
            Encrypted data
        
        
            
            Decrypts the specified data.
            
            The data.
            Decrypted data
        
        
            
            Decrypts the specified input.
            
            The input.
            The zero-based offset in  at which to begin decrypting.
            The number of bytes to decrypt from .
            
            The decrypted data.
            
        
        
            
            Base class for cipher implementation.
            
        
        
            
            Gets the minimum data size.
            
            
            The minimum data size.
            
        
        
            
            Encrypts the specified input.
            
            The input.
            Encrypted data.
        
        
            
            Encrypts the specified input.
            
            The input.
            The zero-based offset in  at which to begin encrypting.
            The number of bytes to encrypt from .
            
            The encrypted data.
            
        
        
            
            Decrypts the specified input.
            
            The input.
            
            The decrypted data.
            
        
        
            
            Decrypts the specified input.
            
            The input.
            The zero-based offset in  at which to begin decrypting.
            The number of bytes to decrypt from .
            
            The decrypted data.
            
        
        
            
            Implements digital signature where where asymmetric cipher is used,
            
        
        
            
            Initializes a new instance of the  class.
            
            The object identifier.
            The cipher.
        
        
            
            Verifies the signature.
            
            The input.
            The signature.
            
              True if signature was successfully verified; otherwise false.
            
        
        
            
            Creates the signature.
            
            The input.
            
            Signed input data.
            
        
        
            
            Hashes the specified input.
            
            The input.
            Hashed data.
        
        
            
            Encodes hash using DER.
            
            The hash data.
            DER Encoded byte array
        
        
            
            AES cipher implementation.
            
        
        
            
            Initializes a new instance of the  class.
            
            The key.
            The mode.
            The padding.
             is null.
            Keysize is not valid for this algorithm.
        
        
            
            Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array.
            
            The input data to encrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write encrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes encrypted.
            
             or  is null.
             or  is too short.
        
        
            
            Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array.
            
            The input data to decrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write decrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes decrypted.
            
             or  is null.
             or  is too short.
        
        
            
            Implements ARCH4 cipher algorithm
            
        
        
            
             Holds the state of the RC4 engine
            
        
        
            
            Gets the minimum data size.
            
            
            The minimum data size.
            
        
        
            
            Initializes a new instance of the  class.
            
            The key.
            if set to true will disharged first 1536 bytes.
             is null.
        
        
            
            Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array.
            
            The input data to encrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write encrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes encrypted.
            
        
        
            
            Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array.
            
            The input data to decrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write decrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes decrypted.
            
        
        
            
            Encrypts the specified input.
            
            The input.
            The zero-based offset in  at which to begin encrypting.
            The number of bytes to encrypt from .
            
            Encrypted data.
            
        
        
            
            Decrypts the specified input.
            
            The input.
            
            The decrypted data.
            
        
        
            
            Decrypts the specified input.
            
            The input.
            The zero-based offset in  at which to begin decrypting.
            The number of bytes to decrypt from .
            
            The decrypted data.
            
        
        
            
            Blowfish cipher implementation.
            
        
        
            
            The s-boxes
            
        
        
            
            The s-boxes
            
        
        
            
            The s-boxes
            
        
        
            
            The s-boxes
            
        
        
            
            The p-array
            
        
        
            
            Initializes a new instance of the  class.
            
            The key.
            The mode.
            The padding.
             is null.
            Keysize is not valid for this algorithm.
        
        
            
            Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array.
            
            The input data to encrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write encrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes encrypted.
            
        
        
            
            Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array.
            
            The input data to decrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write decrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes decrypted.
            
        
        
            
            apply the encryption cycle to each value pair in the table.
            
            The xl.
            The xr.
            The table.
        
        
            
            Implements CAST cipher algorithm
            
        
        
            
            The rotating round key
            
        
        
            
            The masking round key
            
        
        
            
            Initializes a new instance of the  class.
            
            The key.
            The mode.
            The padding.
             is null.
            Keysize is not valid for this algorithm.
        
        
            
            Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array.
            
            The input data to encrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write encrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes encrypted.
            
        
        
            
            Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array.
            
            The input data to decrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write decrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes decrypted.
            
        
        
            
            Sets the subkeys using the same nomenclatureas described in RFC2144.
            
            The key.
        
        
            
            The first of the three processing functions for the encryption and decryption.
            
            The input to be processed.
            The mask to be used from Km[n].
            The rotation value to be used.
            
        
        
            
            The second of the three processing functions for the encryption and decryption.
            
            The input to be processed.
            The mask to be used from Km[n].
            The rotation value to be used.
            
        
        
            
            The third of the three processing functions for the encryption and decryption.
            
            The input to be processed.
            The mask to be used from Km[n].
            The rotation value to be used.
            
        
        
            
            Does the 16 rounds to encrypt the block.
            
            The LH-32bits of the plaintext block.
            The RH-32bits of the plaintext block.
            The result.
        
        
            
            Base class for cipher mode implementations
            
        
        
            
            Gets the cipher.
            
        
        
            
            Gets the IV vector.
            
        
        
            
            Holds block size of the cipher.
            
        
        
            
            Initializes a new instance of the  class.
            
            The iv.
        
        
            
            Initializes the specified cipher mode.
            
            The cipher.
        
        
            
            Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array.
            
            The input data to encrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write encrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes encrypted.
            
        
        
            
            Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array.
            
            The input data to decrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write decrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes decrypted.
            
        
        
            
            Base class for cipher padding implementations
            
        
        
            
            Pads the specified input to match the block size.
            
            Size of the block.
            The input.
            
            Padded data array.
            
        
        
            
            Pads the specified input to match the block size.
            
            Size of the block.
            The input.
            The zero-based offset in  at which the data to pad starts.
            The number of bytes in  to take into account.
            
            The padded data array.
            
        
        
            
            Pads the specified input with a given number of bytes.
            
            The input.
            The number of bytes to pad the input with.
            
            The padded data array.
            
        
        
            
            Pads the specified input with a given number of bytes.
            
            The input.
            The zero-based offset in  at which the data to pad starts.
            The number of bytes in  to take into account.
            The number of bytes to pad the input with.
            
            The padded data array.
            
        
        
            
            Implements DES cipher algorithm.
            
        
        
            
            Initializes a new instance of the  class.
            
            The key.
            The mode.
            The padding.
             is null.
        
        
            
            Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array.
            
            The input data to encrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write encrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes encrypted.
            
        
        
            
            Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array.
            
            The input data to decrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write decrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes decrypted.
            
        
        
            
            Generates the working key.
            
            if set to true [encrypting].
            The key.
            Generated working key.
        
        
            
            Validates the key.
            
        
        
            
            Performs DES function.
            
            The w key.
            The input.
            The in off.
            The out bytes.
            The out off.
        
        
            
            Implements CBC cipher mode
            
        
        
            
            Initializes a new instance of the  class.
            
            The iv.
        
        
            
            Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array.
            
            The input data to encrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write encrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes encrypted.
            
        
        
            
            Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array.
            
            The input data to decrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write decrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes decrypted.
            
        
        
            
            Implements CFB cipher mode
            
        
        
            
            Initializes a new instance of the  class.
            
            The iv.
        
        
            
            Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array.
            
            The input data to encrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write encrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes encrypted.
            
        
        
            
            Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array.
            
            The input data to decrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write decrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes decrypted.
            
        
        
            
            Implements CTR cipher mode
            
        
        
            
            Initializes a new instance of the  class.
            
            The iv.
        
        
            
            Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array.
            
            The input data to encrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write encrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes encrypted.
            
        
        
            
            Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array.
            
            The input data to decrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write decrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes decrypted.
            
        
        
            
            Implements OFB cipher mode
            
        
        
            
            Initializes a new instance of the  class.
            
            The iv.
        
        
            
            Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array.
            
            The input data to encrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write encrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes encrypted.
            
        
        
            
            Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array.
            
            The input data to decrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write decrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes decrypted.
            
        
        
            
            Implements PKCS5 cipher padding
            
        
        
            
            Pads the specified input to match the block size.
            
            The size of the block.
            The input.
            The zero-based offset in  at which the data to pad starts.
            The number of bytes in  to take into account.
            
            The padded data array.
            
        
        
            
            Pads the specified input with a given number of bytes.
            
            The input.
            The zero-based offset in  at which the data to pad starts.
            The number of bytes in  to take into account.
            The number of bytes to pad the input with.
            
            The padded data array.
            
        
        
            
            Implements PKCS7 cipher padding
            
        
        
            
            Pads the specified input to match the block size.
            
            The size of the block.
            The input.
            The zero-based offset in  at which the data to pad starts.
            The number of bytes in  to take into account.
            
            The padded data array.
            
        
        
            
            Pads the specified input with a given number of bytes.
            
            The input.
            The zero-based offset in  at which the data to pad starts.
            The number of bytes in  to take into account.
            The number of bytes to pad the input with.
            
            The padded data array.
            
        
        
            
            Implements RSA cipher algorithm.
            
        
        
            
            Initializes a new instance of the  class.
            
            The RSA key.
        
        
            
            Encrypts the specified data.
            
            The data.
            The zero-based offset in  at which to begin encrypting.
            The number of bytes to encrypt from .
            Encrypted data.
        
        
            
            Decrypts the specified data.
            
            The data.
            
            The decrypted data.
            
            Only block type 01 or 02 are supported.
            Thrown when decrypted block type is not supported.
        
        
            
            Decrypts the specified input.
            
            The input.
            The zero-based offset in  at which to begin decrypting.
            The number of bytes to decrypt from .
            
            The decrypted data.
            
            Only block type 01 or 02 are supported.
            Thrown when decrypted block type is not supported.
        
        
            
            Implements Serpent cipher algorithm.
            
        
        
            
            Initializes a new instance of the  class.
            
            The key.
            The mode.
            The padding.
             is null.
            Keysize is not valid for this algorithm.
        
        
            
            Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array.
            
            The input data to encrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write encrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes encrypted.
            
        
        
            
            Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array.
            
            The input data to decrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write decrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes decrypted.
            
        
        
            
            Expand a user-supplied key material into a session key.
            
            The user-key bytes to use.
            
            A session key.
            
             is not multiple of 4 bytes.
        
        
            
            S0 - { 3, 8,15, 1,10, 6, 5,11,14,13, 4, 2, 7, 0, 9,12 } - 15 terms.
            
            A.
            The b.
            The c.
            The d.
        
        
            
            InvSO - {13, 3,11, 0,10, 6, 5,12, 1,14, 4, 7,15, 9, 8, 2 } - 15 terms.
            
            A.
            The b.
            The c.
            The d.
        
        
            
            S1 - {15,12, 2, 7, 9, 0, 5,10, 1,11,14, 8, 6,13, 3, 4 } - 14 terms.
            
            A.
            The b.
            The c.
            The d.
        
        
            
            InvS1 - { 5, 8, 2,14,15, 6,12, 3,11, 4, 7, 9, 1,13,10, 0 } - 14 steps.
            
            A.
            The b.
            The c.
            The d.
        
        
            
            S2 - { 8, 6, 7, 9, 3,12,10,15,13, 1,14, 4, 0,11, 5, 2 } - 16 terms.
            
            A.
            The b.
            The c.
            The d.
        
        
            
            InvS2 - {12, 9,15, 4,11,14, 1, 2, 0, 3, 6,13, 5, 8,10, 7 } - 16 steps.
            
            A.
            The b.
            The c.
            The d.
        
        
            
            S3 - { 0,15,11, 8,12, 9, 6, 3,13, 1, 2, 4,10, 7, 5,14 } - 16 terms.
            
            A.
            The b.
            The c.
            The d.
        
        
            
            InvS3 - { 0, 9,10, 7,11,14, 6,13, 3, 5,12, 2, 4, 8,15, 1 } - 15 terms
            
            A.
            The b.
            The c.
            The d.
        
        
            
            S4 - { 1,15, 8, 3,12, 0,11, 6, 2, 5, 4,10, 9,14, 7,13 } - 15 terms.
            
            A.
            The b.
            The c.
            The d.
        
        
            
            InvS4 - { 5, 0, 8, 3,10, 9, 7,14, 2,12,11, 6, 4,15,13, 1 } - 15 terms.
            
            A.
            The b.
            The c.
            The d.
        
        
            
            S5 - {15, 5, 2,11, 4,10, 9,12, 0, 3,14, 8,13, 6, 7, 1 } - 16 terms.
            
            A.
            The b.
            The c.
            The d.
        
        
            
            InvS5 - { 8,15, 2, 9, 4, 1,13,14,11, 6, 5, 3, 7,12,10, 0 } - 16 terms.
            
            A.
            The b.
            The c.
            The d.
        
        
            
            S6 - { 7, 2,12, 5, 8, 4, 6,11,14, 9, 1,15,13, 3,10, 0 } - 15 terms.
            
            A.
            The b.
            The c.
            The d.
        
        
            
            InvS6 - {15,10, 1,13, 5, 3, 6, 0, 4, 9,14, 7, 2,12, 8,11 } - 15 terms.
            
            A.
            The b.
            The c.
            The d.
        
        
            
            S7 - { 1,13,15, 0,14, 8, 2,11, 7, 4,12,10, 9, 3, 5, 6 } - 16 terms.
            
            A.
            The b.
            The c.
            The d.
        
        
            
            InvS7 - { 3, 0, 6,13, 9,14,15, 8, 5,12,11, 7,10, 1, 4, 2 } - 17 terms.
            
            A.
            The b.
            The c.
            The d.
        
        
            
            Apply the linear transformation to the register set.
            
        
        
            
            Apply the inverse of the linear transformation to the register set.
            
        
        
            
            Implements 3DES cipher algorithm.
            
        
        
            
            Initializes a new instance of the  class.
            
            The key.
            The mode.
            The padding.
             is null.
        
        
            
            Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array.
            
            The input data to encrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write encrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes encrypted.
            
        
        
            
            Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array.
            
            The input data to decrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write decrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes decrypted.
            
        
        
            
            Validates the key.
            
        
        
            
            Implements Twofish cipher algorithm
            
        
        
            
            Initializes a new instance of the  class.
            
            The key.
            The mode.
            The padding.
             is null.
            Keysize is not valid for this algorithm.
        
        
            
            Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array.
            
            The input data to encrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write encrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes encrypted.
            
        
        
            
            Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array.
            
            The input data to decrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write decrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes decrypted.
            
        
        
            Define the fixed p0/p1 permutations used in keyed S-box lookup.
            By changing the following constant definitions, the S-boxes will
            automatically Get changed in the Twofish engine.
        
        
            gSubKeys[] and gSBox[] are eventually used in the
            encryption and decryption methods.
        
        
             Use (12, 8) Reed-Solomon code over GF(256) to produce
             a key S-box 32-bit entity from 2 key material 32-bit
             entities.
            
             @param    k0 first 32-bit entity
             @param    k1 second 32-bit entity
             @return     Remainder polynomial Generated using RS code
        
        
            Reed-Solomon code parameters: (12,8) reversible code:
            
            
            G(x) = x^4 + (a+1/a)x^3 + ax^2 + (a+1/a)x + 1
            
            where a = primitive root of field generator 0x14D
            
        
        
            
            Base class for signature implementations
            
        
        
            
            Verifies the signature.
            
            The input.
            The signature.
            True if signature was successfully verified; otherwise false.
        
        
            
            Creates the signature.
            
            The input.
            Signed input data.
        
        
            
            Implements DSA digital signature algorithm.
            
        
        
            
            Initializes a new instance of the  class.
            
            The DSA key.
             is null.
        
        
            
            Verifies the signature.
            
            The input.
            The signature.
            
            true if signature was successfully verified; otherwise false.
            
            Invalid signature.
        
        
            
            Creates the signature.
            
            The input.
            
            Signed input data.
            
            Invalid DSA key.
        
        
            
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Releases unmanaged resources and performs other cleanup operations before the
             is reclaimed by garbage collection.
            
        
        
            
            Implements ECDSA digital signature algorithm.
            
        
        
            
            Initializes a new instance of the  class.
            
            The ECDSA key.
             is null.
        
        
            
            Verifies the signature.
            
            The input.
            The signature.
            
            true if signature was successfully verified; otherwise false.
            
        
        
            
            Creates the signature.
            
            The input.
            
            Signed input data.
            
        
        
            
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Releases unmanaged resources and performs other cleanup operations before the
             is reclaimed by garbage collection.
            
        
        
            
            Implements ECDSA digital signature algorithm.
            
        
        
            
            Initializes a new instance of the  class.
            
            The ED25519Key key.
             is null.
        
        
            
            Verifies the signature.
            
            The input.
            The signature.
            
            true if signature was successfully verified; otherwise false.
            
            Invalid signature.
        
        
            
            Creates the signature.
            
            The input.
            
            Signed input data.
            
            Invalid ED25519Key key.
        
        
            
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Releases unmanaged resources and performs other cleanup operations before the
             is reclaimed by garbage collection.
            
        
        
            
            Computes a Hash-based Message Authentication Code (HMAC) by using the  hash function.
            
        
        
            
            Initializes a  with the specified key.
            
            The key.
        
        
            
            Initializes a  with the specified key and size of the computed hash code.
            
            The key.
            The size, in bits, of the computed hash code.
        
        
            
            Gets the size, in bits, of the computed hash code.
            
            
            The size, in bits, of the computed hash code.
            
        
        
            
            Finalizes the hash computation after the last data is processed by the cryptographic stream object.
            
            
            The computed hash code.
            
        
        
            
            Computes a Hash-based Message Authentication Code (HMAC) by using the  hash function.
            
        
        
            
            Initializes a  with the specified key.
            
            The key.
        
        
            
            Initializes a  with the specified key and size of the computed hash code.
            
            The key.
            The size, in bits, of the computed hash code.
        
        
            
            Gets the size, in bits, of the computed hash code.
            
            
            The size, in bits, of the computed hash code.
            
        
        
            
            Finalizes the hash computation after the last data is processed by the cryptographic stream object.
            
            
            The computed hash code.
            
        
        
            
            Computes a Hash-based Message Authentication Code (HMAC) by using the  hash function.
            
        
        
            
            Initializes a  with the specified key.
            
            The key.
        
        
            
            Initializes a  with the specified key and size of the computed hash code.
            
            The key.
            The size, in bits, of the computed hash code.
        
        
            
            Gets the size, in bits, of the computed hash code.
            
            
            The size, in bits, of the computed hash code.
            
        
        
            
            Finalizes the hash computation after the last data is processed by the cryptographic stream object.
            
            
            The computed hash code.
            
        
        
            
            Computes a Hash-based Message Authentication Code (HMAC) by using the  hash function.
            
        
        
            
            Initializes a  with the specified key.
            
            The key.
        
        
            
            Initializes a  with the specified key and size of the computed hash code.
            
            The key.
            The size, in bits, of the computed hash code.
        
        
            
            Gets the size, in bits, of the computed hash code.
            
            
            The size, in bits, of the computed hash code.
            
        
        
            
            Finalizes the hash computation after the last data is processed by the cryptographic stream object.
            
            
            The computed hash code.
            
        
        
            
            Computes a Hash-based Message Authentication Code (HMAC) by using the  hash function.
            
        
        
            
            Initializes a  with the specified key.
            
            The key.
        
        
            
            Initializes a  with the specified key and size of the computed hash code.
            
            The key.
            The size, in bits, of the computed hash code.
        
        
            
            Gets the size, in bits, of the computed hash code.
            
            
            The size, in bits, of the computed hash code.
            
        
        
            
            Finalizes the hash computation after the last data is processed by the cryptographic stream object.
            
            
            The computed hash code.
            
        
        
            
            Implements RSA digital signature algorithm.
            
        
        
            
            Initializes a new instance of the  class.
            
            The RSA key.
        
        
            
            Hashes the specified input.
            
            The input.
            
            Hashed data.
            
        
        
            
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Releases unmanaged resources and performs other cleanup operations before the
             is reclaimed by garbage collection.
            
        
        
            
            Base class of stream cipher algorithms.
            
        
        
            
            Initializes a new instance of the  class.
            
            The key.
             is null.
        
        
            
            Base class for symmetric cipher implementations.
            
        
        
            
            Gets the key.
            
        
        
            
            Initializes a new instance of the  class.
            
            The key.
             is null.
        
        
            
            Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array.
            
            The input data to encrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write encrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes encrypted.
            
        
        
            
            Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array.
            
            The input data to decrypt.
            The offset into the input byte array from which to begin using data.
            The number of bytes in the input byte array to use as data.
            The output to which to write decrypted data.
            The offset into the output byte array from which to begin writing data.
            
            The number of bytes decrypted.
            
        
        
            
            Contains DSA private and public key
            
        
        
            
            Gets the P.
            
        
        
            
            Gets the Q.
            
        
        
            
            Gets the G.
            
        
        
            
            Gets public key Y.
            
        
        
            
            Gets private key X.
            
        
        
            
            Gets the length of the key.
            
            
            The length of the key.
            
        
        
            
            Gets the digital signature.
            
        
        
            
            Gets or sets the public.
            
            
            The public.
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Initializes a new instance of the  class.
            
            DER encoded private key data.
        
        
            
            Initializes a new instance of the  class.
            
            The p.
            The q.
            The g.
            The y.
            The x.
        
        
            
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Releases unmanaged resources and performs other cleanup operations before the
             is reclaimed by garbage collection.
            
        
        
            
            Contains ECDSA (ecdsa-sha2-nistp{256,384,521}) private and public key
            
        
        
            
            Gets the SSH name of the ECDSA Key
            
        
        
            
            Gets the HashAlgorithm to use
            
        
        
            
            Gets the length of the key.
            
            
            The length of the key.
            
        
        
            
            Gets the digital signature.
            
        
        
            
            Gets or sets the public.
            
            
            The public.
            
        
        
            
            Gets ECDsa Object
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Initializes a new instance of the  class.
            
            The curve name
            Value of publickey
            Value of privatekey
        
        
            
            Initializes a new instance of the  class.
            
            DER encoded private key data.
        
        
            
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Releases unmanaged resources and performs other cleanup operations before the
             is reclaimed by garbage collection.
            
        
        
            
            Contains ED25519 private and public key
            
        
        
            
            Gets the Key String.
            
        
        
            
            Gets or sets the public.
            
            
            The public.
            
        
        
            
            Gets the length of the key.
            
            
            The length of the key.
            
        
        
            
            Gets the digital signature.
            
        
        
            
            Gets the PublicKey Bytes
            
        
        
            
            Gets the PrivateKey Bytes
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Initializes a new instance of the  class.
            
            pk data.
            sk data.
        
        
            
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Releases unmanaged resources and performs other cleanup operations before the
             is reclaimed by garbage collection.
            
        
        
            
            Base class for asymmetric cipher algorithms
            
        
        
            
            Specifies array of big integers that represent private key
            
        
        
            
            Gets the key specific digital signature.
            
        
        
            
            Gets or sets the public key.
            
            
            The public.
            
        
        
            
            Gets the length of the key.
            
            
            The length of the key.
            
        
        
            
            Initializes a new instance of the  class.
            
            DER encoded private key data.
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Signs the specified data with the key.
            
            The data to sign.
            
            Signed data.
            
        
        
            
            Verifies the signature.
            
            The data to verify.
            The signature to verify against.
            True is signature was successfully verifies; otherwise false.
        
        
            
            Contains RSA private and public key
            
        
        
            
            Gets the modulus.
            
        
        
            
            Gets the exponent.
            
        
        
            
            Gets the D.
            
        
        
            
            Gets the P.
            
        
        
            
            Gets the Q.
            
        
        
            
            Gets the DP.
            
        
        
            
            Gets the DQ.
            
        
        
            
            Gets the inverse Q.
            
        
        
            
            Gets the length of the key.
            
            
            The length of the key.
            
        
        
            
            Gets the digital signature.
            
        
        
            
            Gets or sets the public.
            
            
            The public.
            
        
        
            
            Initializes a new instance of the  class.
            
        
        
            
            Initializes a new instance of the  class.
            
            DER encoded private key data.
        
        
            
            Initializes a new instance of the  class.
            
            The modulus.
            The exponent.
            The d.
            The p.
            The q.
            The inverse Q.
        
        
            
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Releases unmanaged resources and performs other cleanup operations before the
             is reclaimed by garbage collection.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Base class for SSH host algorithms.
            
        
        
            
            Gets the host key name.
            
        
        
            
            Gets the host key data.
            
        
        
            
            Initializes a new instance of the  class.
            
            The host key name.
        
        
            
            Signs the specified data.
            
            The data.
            Signed data.
        
        
            
            Verifies the signature.
            
            The data.
            The signature.
            True is signature was successfully verifies; otherwise false.
        
        
            
            Represents a key exchange algorithm.
            
        
        
            
            Occurs when the host key is received.
            
        
        
            
            Gets the name of the algorithm.
            
            
            The name of the algorithm.
            
        
        
            
            Gets the exchange hash.
            
            
            The exchange hash.
            
        
        
            
            Starts the key exchange algorithm.
            
            The session.
            Key exchange init message.
        
        
            
            Finishes the key exchange algorithm.
            
        
        
            
            Creates the client-side cipher to use.
            
            
            The client cipher.
            
        
        
            
            Creates the server-side cipher to use.
            
            
            The server cipher.
            
        
        
            
            Creates the server-side hash algorithm to use.
            
            
            The server hash algorithm.
            
        
        
            
            Creates the client-side hash algorithm to use.
            
            
            The client hash algorithm.
            
        
        
            
            Creates the compression algorithm to use to deflate data.
            
            
            The compression method to deflate data.
            
        
        
            
            Creates the compression algorithm to use to inflate data.
            
            
            The compression method to inflate data.
            
        
        
            
            Represents base class for different key exchange algorithm implementations
            
        
        
            
            Gets or sets the session.
            
            
            The session.
            
        
        
            
            Gets or sets key exchange shared key.
            
            
            The shared key.
            
        
        
            
            Gets the exchange hash.
            
            The exchange hash.
        
        
            
            Occurs when host key received.
            
        
        
            
            Starts key exchange algorithm
            
            The session.
            Key exchange init message.
        
        
            
            Finishes key exchange algorithm.
            
        
        
            
            Creates the server side cipher to use.
            
            Server cipher.
        
        
            
            Creates the client side cipher to use.
            
            Client cipher.
        
        
            
            Creates the server side hash algorithm to use.
            
            Hash algorithm
        
        
            
            Creates the client side hash algorithm to use.
            
            Hash algorithm
        
        
            
            Creates the compression algorithm to use to deflate data.
            
            Compression method.
        
        
            
            Creates the compression algorithm to use to inflate data.
            
            Compression method.
        
        
            
            Determines whether the specified host key can be trusted.
            
            The host algorithm.
            
            true if the specified host can be trusted; otherwise, false.
            
        
        
            
            Validates the exchange hash.
            
            true if exchange hash is valid; otherwise false.
        
        
            
            Calculates key exchange hash value.
            
            Key exchange hash.
        
        
            
            Hashes the specified data bytes.
            
            The hash data.
            
            Hashed bytes
            
        
        
            
            Sends SSH message to the server
            
            The message.
        
        
            
            Generates the session key.
            
            The shared key.
            The exchange hash.
            The key.
            The size.
            
        
        
            
            Generates the session key.
            
            The shared key.
            The exchange hash.
            The p.
            The session id.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Releases unmanaged resources and performs other cleanup operations before the
             is reclaimed by garbage collection.
            
        
        
            
            Represents base class for Diffie Hellman key exchange algorithm
            
        
        
            
            Specifies key exchange group number.
            
        
        
            
            Specifies key exchange prime number.
            
        
        
            
            Specifies client payload
            
        
        
            
            Specifies server payload
            
        
        
            
            Specifies client exchange number.
            
        
        
            
            Specifies server exchange number.
            
        
        
            
            Specifies random generated number.
            
        
        
            
            Specifies host key data.
            
        
        
            
            Specifies signature data.
            
        
        
            
            Gets the size, in bits, of the computed hash code.
            
            
            The size, in bits, of the computed hash code.
            
        
        
            
            Validates the exchange hash.
            
            
            true if exchange hash is valid; otherwise false.
            
        
        
            
            Starts key exchange algorithm
            
            The session.
            Key exchange init message.
        
        
            
            Populates the client exchange value.
            
        
        
            
            Handles the server DH reply message.
            
            The host key.
            The server exchange value.
            The signature.
        
        
            
            Represents "diffie-hellman-group14-sha1" algorithm implementation.
            
        
        
            
            https://tools.ietf.org/html/rfc2409#section-6.2
            
        
        
            
            Gets algorithm name.
            
        
        
            
            Gets the group prime.
            
            
            The group prime.
            
        
        
            
            Represents "diffie-hellman-group14-sha256" algorithm implementation.
            
        
        
            
            https://tools.ietf.org/html/rfc2409#section-6.2
            
        
        
            
            Gets algorithm name.
            
        
        
            
            Gets the group prime.
            
            
            The group prime.
            
        
        
            
            Represents "diffie-hellman-group16-sha512" algorithm implementation.
            
        
        
            
            https://tools.ietf.org/html/rfc3526#section-5
            
        
        
            
            Gets algorithm name.
            
        
        
            
            Represents "diffie-hellman-group1-sha1" algorithm implementation.
            
        
        
            
            Gets algorithm name.
            
        
        
            
            Gets the group prime.
            
            
            The group prime.
            
        
        
            
            Represents "diffie-hellman-group-exchange-sha1" algorithm implementation.
            
        
        
            
            Gets algorithm name.
            
        
        
            
            Gets the size, in bits, of the computed hash code.
            
            
            The size, in bits, of the computed hash code.
            
        
        
            
            Hashes the specified data bytes.
            
            The hash data.
            
            Hashed bytes
            
        
        
            
            Represents "diffie-hellman-group-exchange-sha256" algorithm implementation.
            
        
        
            
            Gets algorithm name.
            
        
        
            
            Gets the size, in bits, of the computed hash code.
            
            
            The size, in bits, of the computed hash code.
            
        
        
            
            Hashes the specified data bytes.
            
            Data to hash.
            
            Hashed bytes
            
        
        
            
            Base class for "diffie-hellman-group-exchange" algorithms.
            
        
        
            
            Calculates key exchange hash value.
            
            
            Key exchange hash.
            
        
        
            
            Starts key exchange algorithm
            
            The session.
            Key exchange init message.
        
        
            
            Finishes key exchange algorithm.
            
        
        
            
            Represents "diffie-hellman-group1-sha1" algorithm implementation.
            
        
        
            
            Gets the size, in bits, of the computed hash code.
            
            
            The size, in bits, of the computed hash code.
            
        
        
            
            Hashes the specified data bytes.
            
            The hash data.
            
            Hashed bytes
            
        
        
            
            Base class for "diffie-hellman" SHA-256 group algorithm implementations.
            
        
        
            
            Gets the size, in bits, of the computed hash code.
            
            
            The size, in bits, of the computed hash code.
            
        
        
            
            Hashes the specified data bytes.
            
            The hash data.
            
            Hashed bytes
            
        
        
            
            Base class for "diffie-hellman" SHA-512 group algorithm implementations.
            
        
        
            
            Gets the size, in bits, of the computed hash code.
            
            
            The size, in bits, of the computed hash code.
            
        
        
            
            Hashes the specified data bytes.
            
            The hash data.
            
            Hashed bytes
            
        
        
            
            Gets the group prime.
            
            
            The group prime.
            
        
        
            
            Calculates key exchange hash value.
            
            
            Key exchange hash.
            
        
        
            
            Starts key exchange algorithm
            
            The session.
            Key exchange init message.
        
        
            
            Finishes key exchange algorithm.
            
        
        
            
            Specifies client payload
            
        
        
            
            Specifies server payload
            
        
        
            
            Specifies client exchange.
            
        
        
            
            Specifies server exchange.
            
        
        
            
            Specifies host key data.
            
        
        
            
            Specifies signature data.
            
        
        
            
            Gets the size, in bits, of the computed hash code.
            
            
            The size, in bits, of the computed hash code.
            
        
        
            
            Calculates key exchange hash value.
            
            
            Key exchange hash.
            
        
        
            
            Validates the exchange hash.
            
            
            true if exchange hash is valid; otherwise false.
            
        
        
            
            Starts key exchange algorithm
            
            The session.
            Key exchange init message.
        
        
            
            Gets algorithm name.
            
        
        
            
            Gets the size, in bits, of the computed hash code.
            
            
            The size, in bits, of the computed hash code.
            
        
        
            
            Starts key exchange algorithm
            
            The session.
            Key exchange init message.
        
        
            
            Finishes key exchange algorithm.
            
        
        
            
            Hashes the specified data bytes.
            
            The hash data.
            
            Hashed bytes
            
        
        
            
            Handles the server DH reply message.
            
            The host key.
            The server exchange value.
            The signature.
        
        
            
            Gets the parameter of the curve.
            
            
            The parameter of the curve.
            
        
        
            
            Starts key exchange algorithm
            
            The session.
            Key exchange init message.
        
        
            
            Finishes key exchange algorithm.
            
        
        
            
            Handles the server DH reply message.
            
            The host key.
            The server exchange value.
            The signature.
        
        
            
            Gets algorithm name.
            
        
        
            
            Gets Curve Parameter.
            
        
        
            
            Gets the size, in bits, of the computed hash code.
            
            
            The size, in bits, of the computed hash code.
            
        
        
            
            Hashes the specified data bytes.
            
            The hash data.
            
            Hashed bytes
            
        
        
            
            Gets algorithm name.
            
        
        
            
            Gets Curve Parameter.
            
        
        
            
            Gets the size, in bits, of the computed hash code.
            
            
            The size, in bits, of the computed hash code.
            
        
        
            
            Hashes the specified data bytes.
            
            The hash data.
            
            Hashed bytes
            
        
        
            
            Gets algorithm name.
            
        
        
            
            Gets Curve Parameter.
            
        
        
            
            Gets the size, in bits, of the computed hash code.
            
            
            The size, in bits, of the computed hash code.
            
        
        
            
            Hashes the specified data bytes.
            
            The hash data.
            
            Hashed bytes
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Implements key support for host algorithm.
            
        
        
            
            Gets the key.
            
        
        
            
            Gets the public key data.
            
        
        
            
            Initializes a new instance of the  class.
            
            Host key name.
            Host key.
        
        
            
            Initializes a new instance of the  class.
            
            Host key name.
            Host key.
            Host key encoded data.
        
        
            
            Signs the specified data.
            
            The data.
            
            Signed data.
            
        
        
            
            Verifies the signature.
            
            The data.
            The signature.
            
              True is signature was successfully verifies; otherwise false.
            
        
        
            
            Gets or sets the name of the algorithm as UTF-8 encoded byte array.
            
            
            The name of the algorithm.
            
        
        
            
            Gets or sets the signature.
            
            
            The signature.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Called when type specific data need to be loaded.
            
        
        
            
            Called when type specific data need to be saved.
            
        
        
            
            Basic factory for creating new services.
            
        
        
            
            Defines the number of times an authentication attempt with any given 
            can result in  before it is disregarded.
            
        
        
            
            Creates a .
            
            
            A .
            
        
        
            
            Creates a new  with the specified  and
            .
            
            The  to use for creating a new session.
            A factory to create  instances.
            
            An  for the specified .
            
             is null.
             is null.
        
        
            
            Creates a new  in a given  and with
            the specified operation timeout and encoding.
            
            The  to create the  in.
            The number of milliseconds to wait for an operation to complete, or -1 to wait indefinitely.
            The encoding.
            The factory to use for creating SFTP messages.
            
            An .
            
        
        
            
            Create a new .
            
            
            A .
            
        
        
            
            Negotiates a key exchange algorithm, and creates a  for the negotiated
            algorithm.
            
            A  of the key exchange algorithms supported by the client where key is the name of the algorithm, and value is the type implementing this algorithm.
            The names of the key exchange algorithms supported by the SSH server.
            
            A  that was negotiated between client and server.
            
             is null.
             is null.
            No key exchange algorithms are supported by both client and server.
        
        
            
            Creates a shell stream.
            
            The SSH session.
            The TERM environment variable.
            The terminal width in columns.
            The terminal width in rows.
            The terminal height in pixels.
            The terminal height in pixels.
            The terminal mode values.
            The size of the buffer.
            
            The created  instance.
            
            Client is not connected.
            
            
            The TERM environment variable contains an identifier for the text window's capabilities.
            You can get a detailed list of these cababilities by using the ‘infocmp’ command.
            
            
            The column/row dimensions override the pixel dimensions(when non-zero). Pixel dimensions refer
            to the drawable area of the window.
            
            
        
        
            
            Creates an  that encloses a path in double quotes, and escapes
            any embedded double quote with a backslash.
            
            
            An  that encloses a path in double quotes, and escapes any
            embedded double quote with a backslash.
            with a shell.
            
        
        
            
            Creates an  that can be used to establish a connection
            to the server identified by the specified .
            
            A  detailing the server to establish a connection to.
            A factory to create  instances.
            
            An  that can be used to establish a connection to the
            server identified by the specified .
            
             is .
             is .
            The  value of  is not supported.
        
        
            
            Creates an  that deals with the SSH protocol
            version exchange.
            
            
            An .
            
        
        
            
            Creates a factory to create  instances.
            
            
            An .
            
        
        
            
            Creates a new  in a given 
            and with the specified operation timeout.
            
            The  to create the  in.
            The number of milliseconds to wait for an operation to complete, or -1 to wait indefinitely.
            
            An .
            
        
        
            
            Provides functionality to connect and interact with SSH server.
            
        
        
            
            Specifies an infinite waiting period.
            
            
            The value of this field is -1 millisecond.
            
        
        
            
            Specifies an infinite waiting period.
            
            
            The value of this field is -1.
            
        
        
            
            Specifies maximum packet size defined by the protocol.
            
            
            68536 (64 KB + 3000 bytes).
            
        
        
            
            Holds the initial local window size for the channels.
            
            
            2147483647 (2^31 - 1) bytes.
            
            
            We currently do not define a maximum (remote) window size.
            
        
        
            
            Holds the maximum size of channel data packets that we receive.
            
            
            64 KB.
            
            
            
            This is the maximum size (in bytes) we support for the data (payload) of a
            SSH_MSG_CHANNEL_DATA message we receive.
            
            
            We currently do not enforce this limit.
            
            
        
        
            
            Controls how many authentication attempts can take place at the same time.
            
            
            Some server may restrict number to prevent authentication attacks
            
        
        
            
            Holds metada about session messages
            
        
        
            
            Holds a  that is signaled when the message listener loop has completed.
            
        
        
            
            Specifies outbound packet number
            
        
        
            
            Specifies incoming packet number
            
        
        
            
            WaitHandle to signal that last service request was accepted
            
        
        
            
            WaitHandle to signal that exception was thrown by another thread.
            
        
        
            
            WaitHandle to signal that key exchange was completed.
            
        
        
            
            WaitHandle to signal that key exchange is in progress.
            
        
        
            
            Exception that need to be thrown by waiting thread
            
        
        
            
            Specifies whether connection is authenticated
            
        
        
            
            Specifies whether user issued Disconnect command or not
            
        
        
            
            Holds the factory to use for creating new services.
            
        
        
            
            Holds connection socket.
            
        
        
            
            Holds an object that is used to ensure only a single thread can read from
             at any given time.
            
        
        
            
            Holds an object that is used to ensure only a single thread can write to
             at any given time.
            
            
            This is also used to ensure that  is
            incremented atomatically.
            
        
        
            
            Holds an object that is used to ensure only a single thread can dispose
             at any given time.
            
            
            This is also used to ensure that  will not be disposed
            while performing a given operation or set of operations on .
            
        
        
            
            Gets the session semaphore that controls session channels.
            
            
            The session semaphore.
            
        
        
            
            Gets the next channel number.
            
            
            The next channel number.
            
        
        
            
            Gets a value indicating whether the session is connected.
            
            
            true if the session is connected; otherwise, false.
            
            
            This methods returns true in all but the following cases:
            
                - 
                    The  is disposed.
                
- 
                    The SSH_MSG_DISCONNECT message - which is used to disconnect from the server - has been sent.
                
- 
                    The client has not been authenticated successfully.
                
- 
                    The listener thread - which is used to receive messages from the server - has stopped.
                
- 
                    The socket used to communicate with the server is no longer connected.
                
Gets the session id.
            
            
            The session id, or null if the client has not been authenticated.
            
        
        
            
            Gets the client init message.
            
            The client init message.
        
        
            
            Gets or sets the server version string.
            
            The server version.
        
        
            
            Gets or sets the client version string.
            
            The client version.
        
        
            
            Gets or sets the connection info.
            
            The connection info.
        
        
            
            Occurs when an error occurred.
            
        
        
            
            Occurs when session has been disconnected from the server.
            
        
        
            
            Occurs when host key received.
            
        
        
            
            Occurs when  message is received from the server.
            
        
        
            
            Occurs when  message is received from the server.
            
        
        
            
            Occurs when  message is received from the server.
            
        
        
            
            Occurs when  message is received from the server.
            
        
        
            
            Occurs when  message is received from the server.
            
        
        
            
            Occurs when  message is received from the server.
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when a  message is received from the SSH server.
            
        
        
            
            Occurs when a  message is received from the SSH server.
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Occurs when  message received
            
        
        
            
            Initializes a new instance of the  class.
            
            The connection info.
            The factory to use for creating new services.
            A factory to create  instances.
             is null.
             is null.
             is null.
        
        
            
            Connects to the server.
            
            Socket connection to the SSH server or proxy server could not be established, or an error occurred while resolving the hostname.
            SSH session could not be established.
            Authentication of SSH session failed.
            Failed to establish proxy connection.
        
        
            
            Disconnects from the server.
            
            
            This sends a SSH_MSG_DISCONNECT message to the server, waits for the
            server to close the socket on its end and subsequently closes the client socket.
            
        
        
            
            Waits for the specified handle or the exception handle for the receive thread
            to signal within the connection timeout.
            
            The wait handle.
            A received package was invalid or failed the message integrity check.
            None of the handles are signaled in time and the session is not disconnecting.
            A socket error was signaled while receiving messages from the server.
            
            When neither handles are signaled in time and the session is not closing, then the
            session is disconnected.
            
        
        
            
            Waits for the specified handle or the exception handle for the receive thread
            to signal within the specified timeout.
            
            The wait handle.
            The time to wait for any of the handles to become signaled.
            A received package was invalid or failed the message integrity check.
            None of the handles are signaled in time and the session is not disconnecting.
            A socket error was signaled while receiving messages from the server.
            
            When neither handles are signaled in time and the session is not closing, then the
            session is disconnected.
            
        
        
            
            Waits for the specified handle or the exception handle for the receive thread
            to signal within the connection timeout.
            
            The wait handle.
            A received package was invalid or failed the message integrity check.
            None of the handles are signaled in time and the session is not disconnecting.
            A socket error was signaled while receiving messages from the server.
            
            When neither handles are signaled in time and the session is not closing, then the
            session is disconnected.
            
        
        
            
            Waits for the specified  to receive a signal, using a 
            to specify the time interval.
            
            The  that should be signaled.
            A  that represents the number of milliseconds to wait, or a  that represents -1 milliseconds to wait indefinitely.
            
            A .
            
        
        
            
            Waits for the specified  to receive a signal, using a 
            to specify the time interval.
            
            The  that should be signaled.
            A  that represents the number of milliseconds to wait, or a  that represents -1 milliseconds to wait indefinitely.
            When this method returns , contains the .
            
            A .
            
        
        
            
            Waits for the specified  to receive a signal, using a 
            to specify the time interval.
            
            The  that should be signaled.
            A  that represents the number of milliseconds to wait, or a  that represents -1 milliseconds to wait indefinitely.
            When this method returns , contains the .
            
            A .
            
        
        
            
            Waits for the specified handle or the exception handle for the receive thread
            to signal within the specified timeout.
            
            The wait handle.
            The time to wait for any of the handles to become signaled.
            A received package was invalid or failed the message integrity check.
            None of the handles are signaled in time and the session is not disconnecting.
            A socket error was signaled while receiving messages from the server.
        
        
            
            Sends a message to the server.
            
            The message to send.
            The client is not connected.
            The operation timed out.
            The size of the packet exceeds the maximum size defined by the protocol.
        
        
            
            Sends an SSH packet to the server.
            
            A byte array containing the packet to send.
            The offset of the packet.
            The length of the packet.
            Client is not connected to the server.
            
            
            The send is performed in a dispose lock to avoid 
            and/or  when sending the packet.
            
            
            This method is only to be used when the connection is established, as the locking
            overhead is not required while establising the connection.
            
            
        
        
            
            Sends a message to the server.
            
            The message to send.
            
            true if the message was sent to the server; otherwise, false.
            
            The size of the packet exceeds the maximum size defined by the protocol.
            
            This methods returns false when the attempt to send the message results in a
             or a .
            
        
        
            
            Receives the message from the server.
            
            
            The incoming SSH message, or null if the connection with the SSH server was closed.
            
            
            We need no locking here since all messages are read by a single thread.
            
        
        
            
            Called when  received.
            
             message.
        
        
            
            Called when  received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when client is disconnecting from the server.
            
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Called when  message received.
            
             message.
        
        
            
            Registers SSH message with the session.
            
            The name of the message to register with the session.
        
        
            
            Unregister SSH message from the session.
            
            The name of the message to unregister with the session.
        
        
            
            Loads a message from a given buffer.
            
            An array of bytes from which to construct the message.
            The zero-based byte offset in  at which to begin reading.
            The number of bytes to load.
            
            A message constructed from .
            
            The type of the message is not supported.
        
        
            
            Gets a value indicating whether the socket is connected.
            
            
            true if the socket is connected; otherwise, false.
            
            
            
            As a first check we verify whether  is
            true. However, this only returns the state of the socket as of
            the last I/O operation.
            
            
            Therefore we use the combination of  with mode 
            and  to verify if the socket is still connected.
            
            
            The MSDN doc mention the following on the return value of 
            with mode :
                - 
                    true if data is available for reading;
                
- 
                    true if the connection has been closed, reset, or terminated; otherwise, returns false.
                
Conclusion: when the return value is true - but no data is available for reading - then
            the socket is no longer connected.
            
            
            When a  is used from multiple threads, there's a race condition
            between the invocation of  and the moment
            when the value of  is obtained. To workaround this issue
            we synchronize reads from the .
            
            
        
        
            
            Performs a blocking read on the socket until  bytes are received.
            
            The  to read from.
            An array of type  that is the storage location for the received data.
            The position in  parameter to store the received data.
            The number of bytes to read.
            
            The number of bytes read.
            
            The read has timed-out.
            The read failed.
        
        
            
            Shuts down and disposes the socket.
            
        
        
            
            Listens for incoming message from the server and handles them. This method run as a task on separate thread.
            
        
        
            
            Raises the  event.
            
            The .
        
        
            
            Resets connection-specific information to ensure state of a previous connection
            does not affect new connections.
            
        
        
            
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Releases unmanaged resources and performs other cleanup operations before the
             is reclaimed by garbage collection.
            
        
        
            
            Gets or sets the connection info.
            
            The connection info.
        
        
            
            Create a new SSH session channel.
            
            
            A new SSH session channel.
            
        
        
            
            Create a new channel for a locally forwarded TCP/IP port.
            
            
            A new channel for a locally forwarded TCP/IP port.
            
        
        
            
            Creates a "forwarded-tcpip" SSH channel.
            
            
            A new "forwarded-tcpip" SSH channel.
            
        
        
            
            Sends a message to the server.
            
            The message to send.
            The client is not connected.
            The operation timed out.
            The size of the packet exceeds the maximum size defined by the protocol.
        
        
            
            Sends a message to the server.
            
            The message to send.
            
            true if the message was sent to the server; otherwise, false.
            
            The size of the packet exceeds the maximum size defined by the protocol.
            
            This methods returns false when the attempt to send the message results in a
             or a .
            
        
        
            
            Represents the result of a wait operations.
            
        
        
            
            The  was signaled within the specified interval.
            
        
        
            
            The  was not signaled within the specified interval.
            
        
        
            
            The session is in a disconnected state.
            
        
        
            
            The session is in a failed state.
            
        
        
            
            Implementation of the SSH File Transfer Protocol (SFTP) over SSH.
            
        
        
            
            Holds the  instance that is used to communicate to the
            SFTP server.
            
        
        
            
            Holds the operation timeout.
            
        
        
            
            Holds the size of the buffer.
            
        
        
            
            Gets or sets the operation timeout.
            
            
            The timeout to wait until an operation completes. The default value is negative
            one (-1) milliseconds, which indicates an infinite timeout period.
            
            The method was called after the client was disposed.
             represents a value that is less than -1 or greater than  milliseconds.
        
        
            
            Gets or sets the maximum size of the buffer in bytes.
            
            
            The size of the buffer. The default buffer size is 32768 bytes (32 KB).
            
            
            
            For write operations, this limits the size of the payload for
            individual SSH_FXP_WRITE messages. The actual size is always
            capped at the maximum packet size supported by the peer
            (minus the size of protocol fields).
            
            
            For read operations, this controls the size of the payload which
            is requested from the peer in a SSH_FXP_READ message. The peer
            will send the requested number of bytes in a SSH_FXP_DATA message,
            possibly split over multiple SSH_MSG_CHANNEL_DATA messages.
            
            
            To optimize the size of the SSH packets sent by the peer,
            the actual requested size will take into account the size of the
            SSH_FXP_DATA protocol fields.
            
            
            The size of the each indivual SSH_FXP_DATA message is limited to the
            local maximum packet size of the channel, which is set to 64 KB
            for SSH.NET. However, the peer can limit this even further.
            
            
            The method was called after the client was disposed.
        
        
            
            Gets remote working directory.
            
            Client is not connected.
            The method was called after the client was disposed.
        
        
            
            Gets sftp protocol version.
            
            Client is not connected.
            The method was called after the client was disposed.
        
        
            
            Gets the current SFTP session.
            
            
            The current SFTP session.
            
        
        
            
            Initializes a new instance of the  class.
            
            The connection info.
             is null.
        
        
            
            Initializes a new instance of the  class.
            
            Connection host.
            Connection port.
            Authentication username.
            Authentication password.
             is null.
             is invalid. -or-  is null or contains only whitespace characters.
             is not within  and .
        
        
            
            Initializes a new instance of the  class.
            
            Connection host.
            Authentication username.
            Authentication password.
             is null.
             is invalid. -or-  is null contains only whitespace characters.
        
        
            
            Initializes a new instance of the  class.
            
            Connection host.
            Connection port.
            Authentication username.
            Authentication private key file(s) .
             is null.
             is invalid. -or-  is nunullll or contains only whitespace characters.
             is not within  and .
        
        
            
            Initializes a new instance of the  class.
            
            Connection host.
            Authentication username.
            Authentication private key file(s) .
             is null.
             is invalid. -or-  is null or contains only whitespace characters.
        
        
            
            Initializes a new instance of the  class.
            
            The connection info.
            Specified whether this instance owns the connection info.
             is null.
            
            If  is true, the connection info will be disposed when this
            instance is disposed.
            
        
        
            
            Initializes a new instance of the  class.
            
            The connection info.
            Specified whether this instance owns the connection info.
            The factory to use for creating new services.
             is null.
             is null.
            
            If  is true, the connection info will be disposed when this
            instance is disposed.
            
        
        
            
            Changes remote directory to path.
            
            New directory path.
             is null.
            Client is not connected.
            Permission to change directory denied by remote host. -or- A SSH command was denied by the server.
             was not found on the remote host.
            A SSH error where  is the message from the remote host.
            The method was called after the client was disposed.
        
        
            
            Changes permissions of file(s) to specified mode.
            
            File(s) path, may match multiple files.
            The mode.
             is null.
            Client is not connected.
            Permission to change permission on the path(s) was denied by the remote host. -or- A SSH command was denied by the server.
             was not found on the remote host.
            A SSH error where  is the message from the remote host.
            The method was called after the client was disposed.
        
        
            
            Creates remote directory specified by path.
            
            Directory path to create.
             is null or contains only whitespace characters.
            Client is not connected.
            Permission to create the directory was denied by the remote host. -or- A SSH command was denied by the server.
            A SSH error where  is the message from the remote host.
            The method was called after the client was disposed.
        
        
            
            Deletes remote directory specified by path.
            
            Directory to be deleted path.
             is null or contains only whitespace characters.
            Client is not connected.
             was not found on the remote host.
            Permission to delete the directory was denied by the remote host. -or- A SSH command was denied by the server.
            A SSH error where  is the message from the remote host.
            The method was called after the client was disposed.
        
        
            
            Deletes remote file specified by path.
            
            File to be deleted path.
             is null or contains only whitespace characters.
            Client is not connected.
             was not found on the remote host.
            Permission to delete the file was denied by the remote host. -or- A SSH command was denied by the server.
            A SSH error where  is the message from the remote host.
            The method was called after the client was disposed.
        
        
            
            Renames remote file from old path to new path.
            
            Path to the old file location.
            Path to the new file location.
             is null. -or- or  is null.
            Client is not connected.
            Permission to rename the file was denied by the remote host. -or- A SSH command was denied by the server.
            A SSH error where  is the message from the remote host.
            The method was called after the client was disposed.
        
        
            
            Renames remote file from old path to new path.
            
            Path to the old file location.
            Path to the new file location.
            if set to true then perform a posix rename.
             is null. -or- or  is null.
            Client is not connected.
            Permission to rename the file was denied by the remote host. -or- A SSH command was denied by the server.
            A SSH error where  is the message from the remote host.
            The method was called after the client was disposed.
        
        
            
            Creates a symbolic link from old path to new path.
            
            The old path.
            The new path.
             is null. -or-  is null or contains only whitespace characters.
            Client is not connected.
            Permission to create the symbolic link was denied by the remote host. -or- A SSH command was denied by the server.
            A SSH error where  is the message from the remote host.
            The method was called after the client was disposed.
        
        
            
            Retrieves list of files in remote directory.
            
            The path.
            The list callback.
            
            A list of files.
            
             is null.
            Client is not connected.
            Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server.
            A SSH error where  is the message from the remote host.
            The method was called after the client was disposed.
        
        
            
            Begins an asynchronous operation of retrieving list of files in remote directory.
            
            The path.
            The method to be called when the asynchronous write operation is completed.
            A user-provided object that distinguishes this particular asynchronous write request from other requests.
            The list callback.
            
            An  that references the asynchronous operation.
            
            The method was called after the client was disposed.
        
        
            
            Ends an asynchronous operation of retrieving list of files in remote directory.
            
            The pending asynchronous SFTP request.
            
            A list of files.
            
            The  object did not come from the corresponding async method on this type.-or- was called multiple times with the same .
        
        
            
            Gets reference to remote file or directory.
            
            The path.
            
            A reference to  file object.
            
            Client is not connected.
             was not found on the remote host.
             is null.
            The method was called after the client was disposed.
        
        
            
            Checks whether file or directory exists;
            
            The path.
            
            true if directory or file exists; otherwise false.
            
             is null or contains only whitespace characters.
            Client is not connected.
            Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server.
            A SSH error where  is the message from the remote host.
            The method was called after the client was disposed.
        
        
            
            Downloads remote file specified by the path into the stream.
            
            File to download.
            Stream to write the file into.
            The download callback.
             is null.
             is null or contains only whitespace characters.
            Client is not connected.
            Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server.
             was not found on the remote host./// 
            A SSH error where  is the message from the remote host.
            The method was called after the client was disposed.
            
            Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream.
            
        
        
            
            Begins an asynchronous file downloading into the stream.
            
            The path.
            The output.
            
            An  that references the asynchronous operation.
            
             is null.
             is null or contains only whitespace characters.
            Client is not connected.
            Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server.
            A SSH error where  is the message from the remote host.
            The method was called after the client was disposed.
            
            Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream.
            
        
        
            
            Begins an asynchronous file downloading into the stream.
            
            The path.
            The output.
            The method to be called when the asynchronous write operation is completed.
            
            An  that references the asynchronous operation.
            
             is null.
             is null or contains only whitespace characters.
            Client is not connected.
            Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server.
            A SSH error where  is the message from the remote host.
            The method was called after the client was disposed.
            
            Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream.
            
        
        
            
            Begins an asynchronous file downloading into the stream.
            
            The path.
            The output.
            The method to be called when the asynchronous write operation is completed.
            A user-provided object that distinguishes this particular asynchronous write request from other requests.
            The download callback.
            
            An  that references the asynchronous operation.
            
             is null.
             is null or contains only whitespace characters.
            The method was called after the client was disposed.
            
            Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream.
            
        
        
            
            Ends an asynchronous file downloading into the stream.
            
            The pending asynchronous SFTP request.
            The  object did not come from the corresponding async method on this type.-or- was called multiple times with the same .
            Client is not connected.
            Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server.
            The path was not found on the remote host.
            A SSH error where  is the message from the remote host.
        
        
            
            Uploads stream into remote file.
            
            Data input stream.
            Remote file path.
            The upload callback.
             is null.
             is null or contains only whitespace characters.
            Client is not connected.
            Permission to upload the file was denied by the remote host. -or- A SSH command was denied by the server.
            A SSH error where  is the message from the remote host.
            The method was called after the client was disposed.
            
            Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream.
            
        
        
            
            Uploads stream into remote file.
            
            Data input stream.
            Remote file path.
            if set to true then existing file will be overwritten.
            The upload callback.
             is null.
             is null or contains only whitespace characters.
            Client is not connected.
            Permission to upload the file was denied by the remote host. -or- A SSH command was denied by the server.
            A SSH error where  is the message from the remote host.
            The method was called after the client was disposed.
            
            Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream.
            
        
        
            
            Begins an asynchronous uploading the stream into remote file.
            
            Data input stream.
            Remote file path.
            
            An  that references the asynchronous operation.
            
             is null.
             is null or contains only whitespace characters.
            Client is not connected.
            Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server.
            A SSH error where  is the message from the remote host.
            The method was called after the client was disposed.
            
            
            Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream.
            
            
            If the remote file already exists, it is overwritten and truncated.
            
            
        
        
            
            Begins an asynchronous uploading the stream into remote file.
            
            Data input stream.
            Remote file path.
            The method to be called when the asynchronous write operation is completed.
            
            An  that references the asynchronous operation.
            
             is null.
             is null or contains only whitespace characters.
            Client is not connected.
            Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server.
            A SSH error where  is the message from the remote host.
            The method was called after the client was disposed.
            
            
            Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream.
            
            
            If the remote file already exists, it is overwritten and truncated.
            
            
        
        
            
            Begins an asynchronous uploading the stream into remote file.
            
            Data input stream.
            Remote file path.
            The method to be called when the asynchronous write operation is completed.
            A user-provided object that distinguishes this particular asynchronous write request from other requests.
            The upload callback.
            
            An  that references the asynchronous operation.
            
             is null.
             is null or contains only whitespace characters.
            Client is not connected.
            Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server.
            A SSH error where  is the message from the remote host.
            The method was called after the client was disposed.
            
            
            Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream.
            
            
            If the remote file already exists, it is overwritten and truncated.
            
            
        
        
            
            Begins an asynchronous uploading the stream into remote file.
            
            Data input stream.
            Remote file path.
            Specified whether an existing file can be overwritten.
            The method to be called when the asynchronous write operation is completed.
            A user-provided object that distinguishes this particular asynchronous write request from other requests.
            The upload callback.
            
            An  that references the asynchronous operation.
            
             is null.
             is null or contains only whitespace characters.
            The method was called after the client was disposed.
            
            
            Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream.
            
            
            When  refers to an existing file, set  to true to overwrite and truncate that file.
            If  is false, the upload will fail and  will throw an
            .
            
            
        
        
            
            Ends an asynchronous uploading the stream into remote file.
            
            The pending asynchronous SFTP request.
            The  object did not come from the corresponding async method on this type.-or- was called multiple times with the same .
            Client is not connected.
            The directory of the file was not found on the remote host.
            Permission to upload the file was denied by the remote host. -or- A SSH command was denied by the server.
            A SSH error where  is the message from the remote host.
        
        
            
            Gets status using statvfs@openssh.com request.
            
            The path.
            
            A  instance that contains file status information.
            
            Client is not connected.
             is null.
            The method was called after the client was disposed.
        
        
            
            Appends lines to a file, creating the file if it does not already exist.
            
            The file to append the lines to. The file is created if it does not already exist.
            The lines to append to the file.
             isnull -or-  is null.
            Client is not connected.
            The specified path is invalid, or its directory was not found on the remote host.
            The method was called after the client was disposed.
            
            The characters are written to the file using UTF-8 encoding without a Byte-Order Mark (BOM)
            
        
        
            
            Appends lines to a file by using a specified encoding, creating the file if it does not already exist.
            
            The file to append the lines to. The file is created if it does not already exist.
            The lines to append to the file.
            The character encoding to use.
             is null. -or-  is null. -or-  is null.
            Client is not connected.
            The specified path is invalid, or its directory was not found on the remote host.
            The method was called after the client was disposed.
        
        
            
            Appends the specified string to the file, creating the file if it does not already exist.
            
            The file to append the specified string to.
            The string to append to the file.
             is null. -or-  is null.
            Client is not connected.
            The specified path is invalid, or its directory was not found on the remote host.
            The method was called after the client was disposed.
            
            The characters are written to the file using UTF-8 encoding without a Byte-Order Mark (BOM).
            
        
        
            
            Appends the specified string to the file, creating the file if it does not already exist.
            
            The file to append the specified string to.
            The string to append to the file.
            The character encoding to use.
             is null. -or-  is null. -or-  is null.
            Client is not connected.
            The specified path is invalid, or its directory was not found on the remote host.
            The method was called after the client was disposed.
        
        
            
            Creates a  that appends UTF-8 encoded text to the specified file,
            creating the file if it does not already exist.
            
            The path to the file to append to.
            
            A  that appends text to a file using UTF-8 encoding without a
            Byte-Order Mark (BOM).
            
             is null.
            Client is not connected.
            The specified path is invalid, or its directory was not found on the remote host.
            The method was called after the client was disposed.
        
        
            
            Creates a  that appends text to a file using the specified
            encoding, creating the file if it does not already exist.
            
            The path to the file to append to.
            The character encoding to use.
            
            A  that appends text to a file using the specified encoding.
            
             is null. -or-  is null.
            Client is not connected.
            The specified path is invalid, or its directory was not found on the remote host.
            The method was called after the client was disposed.
        
        
            
            Creates or overwrites a file in the specified path.
            
            The path and name of the file to create.
            
            A  that provides read/write access to the file specified in path.
            
             is null.
            Client is not connected.
            The specified path is invalid, or its directory was not found on the remote host.
            The method was called after the client was disposed.
            
            If the target file already exists, it is first truncated to zero bytes.
            
        
        
            
            Creates or overwrites the specified file.
            
            The path and name of the file to create.
            The maximum number of bytes buffered for reads and writes to the file.
            
            A  that provides read/write access to the file specified in path.
            
             is null.
            Client is not connected.
            The specified path is invalid, or its directory was not found on the remote host.
            The method was called after the client was disposed.
            
            If the target file already exists, it is first truncated to zero bytes.
            
        
        
            
            Creates or opens a file for writing UTF-8 encoded text.
            
            The file to be opened for writing.
            
            A  that writes text to a file using UTF-8 encoding without
            a Byte-Order Mark (BOM).
            
             is null.
            Client is not connected.
            The specified path is invalid, or its directory was not found on the remote host.
            The method was called after the client was disposed.
            
            
            If the target file already exists, it is overwritten. It is not first truncated to zero bytes.
            
            
            If the target file does not exist, it is created.
            
            
        
        
            
            Creates or opens a file for writing text using the specified encoding.
            
            The file to be opened for writing.
            The character encoding to use.
            
            A  that writes to a file using the specified encoding.
            
             is null.
            Client is not connected.
            The specified path is invalid, or its directory was not found on the remote host.
            The method was called after the client was disposed.
            
            
            If the target file already exists, it is overwritten. It is not first truncated to zero bytes.
            
            
            If the target file does not exist, it is created.
            
            
        
        
            
            Deletes the specified file or directory.
            
            The name of the file or directory to be deleted. Wildcard characters are not supported.
             is null.
            Client is not connected.
             was not found on the remote host.
            The method was called after the client was disposed.
        
        
            
            Returns the date and time the specified file or directory was last accessed.
            
            The file or directory for which to obtain access date and time information.
            
            A  structure set to the date and time that the specified file or directory was last accessed.
            This value is expressed in local time.
            
             is null.
            Client is not connected.
            The method was called after the client was disposed.
        
        
            
            Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last accessed.
            
            The file or directory for which to obtain access date and time information.
            
            A  structure set to the date and time that the specified file or directory was last accessed.
            This value is expressed in UTC time.
            
             is null.
            Client is not connected.
            The method was called after the client was disposed.
        
        
            
            Returns the date and time the specified file or directory was last written to.
            
            The file or directory for which to obtain write date and time information.
            
            A  structure set to the date and time that the specified file or directory was last written to.
            This value is expressed in local time.
            
             is null.
            Client is not connected.
            The method was called after the client was disposed.
        
        
            
            Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to.
            
            The file or directory for which to obtain write date and time information.
            
            A  structure set to the date and time that the specified file or directory was last written to.
            This value is expressed in UTC time.
            
             is null.
            Client is not connected.
            The method was called after the client was disposed.
        
        
            
            Opens a  on the specified path with read/write access.
            
            The file to open.
            A  value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten.
            
            An unshared  that provides access to the specified file, with the specified mode and read/write access.
            
             is null.
            Client is not connected.
            The method was called after the client was disposed.
        
        
            
            Opens a  on the specified path, with the specified mode and access.
            
            The file to open.
            A  value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten.
            A  value that specifies the operations that can be performed on the file.
            
            An unshared  that provides access to the specified file, with the specified mode and access.
            
             is null.
            Client is not connected.
            The method was called after the client was disposed.
        
        
            
            Opens an existing file for reading.
            
            The file to be opened for reading.
            
            A read-only  on the specified path.
            
             is null.
            Client is not connected.
            The method was called after the client was disposed.
        
        
            
            Opens an existing UTF-8 encoded text file for reading.
            
            The file to be opened for reading.
            
            A  on the specified path.
            
             is null.
            Client is not connected.
            The method was called after the client was disposed.
        
        
            
            Opens a file for writing.
            
            The file to be opened for writing.
            
            An unshared  object on the specified path with  access.
            
             is null.
            Client is not connected.
            The method was called after the client was disposed.
            
            If the file does not exist, it is created.
            
        
        
            
            Opens a binary file, reads the contents of the file into a byte array, and closes the file.
            
            The file to open for reading.
            
            A byte array containing the contents of the file.
            
             is null.
            Client is not connected.
            The method was called after the client was disposed.
        
        
            
            Opens a text file, reads all lines of the file using UTF-8 encoding, and closes the file.
            
            The file to open for reading.
            
            A string array containing all lines of the file.
            
             is null.
            Client is not connected.
            The method was called after the client was disposed.
        
        
            
            Opens a file, reads all lines of the file with the specified encoding, and closes the file.
            
            The file to open for reading.
            The encoding applied to the contents of the file.
            
            A string array containing all lines of the file.
            
             is null.
            Client is not connected.
            The method was called after the client was disposed.
        
        
            
            Opens a text file, reads all lines of the file with the UTF-8 encoding, and closes the file.
            
            The file to open for reading.
            
            A string containing all lines of the file.
            
             is null.
            Client is not connected.
            The method was called after the client was disposed.
        
        
            
            Opens a file, reads all lines of the file with the specified encoding, and closes the file.
            
            The file to open for reading.
            The encoding applied to the contents of the file.
            
            A string containing all lines of the file.
            
             is null.
            Client is not connected.
            The method was called after the client was disposed.
        
        
            
            Reads the lines of a file with the UTF-8 encoding.
            
            The file to read.
            
            The lines of the file.
            
             is null.
            Client is not connected.
            The method was called after the client was disposed.
        
        
            
            Read the lines of a file that has a specified encoding.
            
            The file to read.
            The encoding that is applied to the contents of the file.
            
            The lines of the file.
            
             is null.
            Client is not connected.
            The method was called after the client was disposed.
        
        
            
            Sets the date and time the specified file was last accessed.
            
            The file for which to set the access date and time information.
            A  containing the value to set for the last access date and time of path. This value is expressed in local time.
        
        
            
            Sets the date and time, in coordinated universal time (UTC), that the specified file was last accessed.
            
            The file for which to set the access date and time information.
            A  containing the value to set for the last access date and time of path. This value is expressed in UTC time.
        
        
            
            Sets the date and time that the specified file was last written to.
            
            The file for which to set the date and time information.
            A  containing the value to set for the last write date and time of path. This value is expressed in local time.
        
        
            
            Sets the date and time, in coordinated universal time (UTC), that the specified file was last written to.
            
            The file for which to set the date and time information.
            A  containing the value to set for the last write date and time of path. This value is expressed in UTC time.
        
        
            
            Writes the specified byte array to the specified file, and closes the file.
            
            The file to write to.
            The bytes to write to the file.
             is null.
            Client is not connected.
            The specified path is invalid, or its directory was not found on the remote host.
            The method was called after the client was disposed.
            
            
            If the target file already exists, it is overwritten. It is not first truncated to zero bytes.
            
            
            If the target file does not exist, it is created.
            
            
        
        
            
            Writes a collection of strings to the file using the UTF-8 encoding, and closes the file.
            
            The file to write to.
            The lines to write to the file.
             is null.
            Client is not connected.
            The specified path is invalid, or its directory was not found on the remote host.
            The method was called after the client was disposed.
            
            
            The characters are written to the file using UTF-8 encoding without a Byte-Order Mark (BOM).
            
            
            If the target file already exists, it is overwritten. It is not first truncated to zero bytes.
            
            
            If the target file does not exist, it is created.
            
            
        
        
            
            Write the specified string array to the file using the UTF-8 encoding, and closes the file.
            
            The file to write to.
            The string array to write to the file.
             is null.
            Client is not connected.
            The specified path is invalid, or its directory was not found on the remote host.
            The method was called after the client was disposed.
            
            
            The characters are written to the file using UTF-8 encoding without a Byte-Order Mark (BOM).
            
            
            If the target file already exists, it is overwritten. It is not first truncated to zero bytes.
            
            
            If the target file does not exist, it is created.
            
            
        
        
            
            Writes a collection of strings to the file using the specified encoding, and closes the file.
            
            The file to write to.
            The lines to write to the file.
            The character encoding to use.
             is null.
            Client is not connected.
            The specified path is invalid, or its directory was not found on the remote host.
            The method was called after the client was disposed.
            
            
            If the target file already exists, it is overwritten. It is not first truncated to zero bytes.
            
            
            If the target file does not exist, it is created.
            
            
        
        
            
            Writes the specified string array to the file by using the specified encoding, and closes the file.
            
            The file to write to.
            The string array to write to the file.
            An  object that represents the character encoding applied to the string array.
             is null.
            Client is not connected.
            The specified path is invalid, or its directory was not found on the remote host.
            The method was called after the client was disposed.
            
            
            If the target file already exists, it is overwritten. It is not first truncated to zero bytes.
            
            
            If the target file does not exist, it is created.
            
            
        
        
            
            Writes the specified string to the file using the UTF-8 encoding, and closes the file.
            
            The file to write to.
            The string to write to the file.
             is null.
            Client is not connected.
            The specified path is invalid, or its directory was not found on the remote host.
            The method was called after the client was disposed.
            
            
            The characters are written to the file using UTF-8 encoding without a Byte-Order Mark (BOM).
            
            
            If the target file already exists, it is overwritten. It is not first truncated to zero bytes.
            
            
            If the target file does not exist, it is created.
            
            
        
        
            
            Writes the specified string to the file using the specified encoding, and closes the file.
            
            The file to write to.
            The string to write to the file.
            The encoding to apply to the string.
             is null.
            Client is not connected.
            The specified path is invalid, or its directory was not found on the remote host.
            The method was called after the client was disposed.
            
            
            If the target file already exists, it is overwritten. It is not first truncated to zero bytes.
            
            
            If the target file does not exist, it is created.
            
            
        
        
            
            Gets the  of the file on the path.
            
            The path to the file.
            
            The  of the file on the path.
            
             is null.
            Client is not connected.
             was not found on the remote host.
            The method was called after the client was disposed.
        
        
            
            Sets the specified  of the file on the specified path.
            
            The path to the file.
            The desired .
             is null.
            Client is not connected.
            The method was called after the client was disposed.
        
        
            
            Synchronizes the directories.
            
            The source path.
            The destination path.
            The search pattern.
            
            A list of uploaded files.
            
             is null.
             is null or contains only whitespace.
             was not found on the remote host.
        
        
            
            Begins the synchronize directories.
            
            The source path.
            The destination path.
            The search pattern.
            The async callback.
            The state.
            
            An  that represents the asynchronous directory synchronization.
            
             is null.
             is null or contains only whitespace.
        
        
            
            Ends the synchronize directories.
            
            The async result.
            
            A list of uploaded files.
            
            The  object did not come from the corresponding async method on this type.-or- was called multiple times with the same .
            The destination path was not found on the remote host.
        
        
            
            Internals the list directory.
            
            The path.
            The list callback.
            
            A list of files in the specfied directory.
            
             is null.
            Client not connected.
        
        
            
            Internals the download file.
            
            The path.
            The output.
            An  that references the asynchronous request.
            The download callback.
             is null.
             is null or contains whitespace.
            Client not connected.
        
        
            
            Internals the upload file.
            
            The input.
            The path.
            The flags.
            An  that references the asynchronous request.
            The upload callback.
             is null.
             is null or contains whitespace.
            Client not connected.
        
        
            
            Called when client is connected to the server.
            
        
        
            
            Called when client is disconnecting from the server.
            
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            SSH_FXF_READ
            
        
        
            
            SSH_FXF_WRITE
            
        
        
            
            SSH_FXF_APPEND
            
        
        
            
            SSH_FXF_CREAT
            
        
        
            
            SSH_FXF_TRUNC
            
        
        
            
            SSH_FXF_EXCL
            
        
        
            
            Gets the SFTP protocol version.
            
            
            The SFTP protocol version.
            
        
        
            
            Gets the remote working directory.
            
            
            The remote working directory.
            
        
        
            
            Changes the current working directory to the specified path.
            
            The new working directory.
        
        
            
            Resolves a given path into an absolute path on the server.
            
            The path to resolve.
            
            The absolute path.
            
        
        
            
            Performs SSH_FXP_FSTAT request.
            
            The handle.
            if set to true returns null instead of throwing an exception.
            
            File attributes
            
        
        
            
            Performs SSH_FXP_STAT request.
            
            The path.
            if set to true returns null instead of throwing an exception.
            
            File attributes
            
        
        
            
            Performs SSH_FXP_STAT request
            
            The path.
            The  delegate that is executed when  completes.
            An object that contains any additional user-defined data.
            
            A  that represents the asynchronous call.
            
        
        
            
            Handles the end of an asynchronous read.
            
            An  that represents an asynchronous call.
            
            The file attributes.
            
             is null.
        
        
            
            Performs SSH_FXP_LSTAT request.
            
            The path.
            
            File attributes
            
        
        
            
            Performs SSH_FXP_LSTAT request.
            
            The path.
            The  delegate that is executed when  completes.
            An object that contains any additional user-defined data.
            
            A  that represents the asynchronous call.
            
        
        
            
            Handles the end of an asynchronous SSH_FXP_LSTAT request.
            
            An  that represents an asynchronous call.
            
            The file attributes.
            
             is null.
        
        
            
            Performs SSH_FXP_MKDIR request.
            
            The path.
        
        
            
            Performs SSH_FXP_OPEN request
            
            The path.
            The flags.
            if set to true returns null instead of throwing an exception.
            File handle.
        
        
            
            Performs SSH_FXP_OPEN request
            
            The path.
            The flags.
            The  delegate that is executed when  completes.
            An object that contains any additional user-defined data.
            
            A  that represents the asynchronous call.
            
        
        
            
            Handles the end of an asynchronous read.
            
            An  that represents an asynchronous call.
            
            A  array representing a file handle.
            
            
            If all available data has been read, the  method completes
            immediately and returns zero bytes.
            
             is null.
        
        
            
            Performs SSH_FXP_OPENDIR request
            
            The path.
            if set to true returns null instead of throwing an exception.
            File handle.
        
        
            
            Performs posix-rename@openssh.com extended request.
            
            The old path.
            The new path.
        
        
            
            Performs SSH_FXP_READ request.
            
            The handle.
            The offset.
            The length.
            data array; null if EOF
        
        
            
            Begins an asynchronous read using a SSH_FXP_READ request.
            
            The handle to the file to read from.
            The offset in the file to start reading from.
            The number of bytes to read.
            The  delegate that is executed when  completes.
            An object that contains any additional user-defined data.
            
            A  that represents the asynchronous call.
            
        
        
            
            Handles the end of an asynchronous read.
            
            An  that represents an asynchronous call.
            
            A  array representing the data read.
            
            
            If all available data has been read, the  method completes
            immediately and returns zero bytes.
            
             is null.
        
        
            
            Performs SSH_FXP_READDIR request
            
            The handle.
            
        
        
            
            Performs SSH_FXP_REALPATH request.
            
            The path.
            The  delegate that is executed when  completes.
            An object that contains any additional user-defined data.
            
            A  that represents the asynchronous call.
            
        
        
            
            Handles the end of an asynchronous SSH_FXP_REALPATH request.
            
            An  that represents an asynchronous call.
            
            The absolute path.
            
             is null.
        
        
            
            Performs SSH_FXP_REMOVE request.
            
            The path.
        
        
            
            Performs SSH_FXP_RENAME request.
            
            The old path.
            The new path.
        
        
            
            Performs SSH_FXP_RMDIR request.
            
            The path.
        
        
            
            Performs SSH_FXP_SETSTAT request.
            
            The path.
            The attributes.
        
        
            
            Performs statvfs@openssh.com extended request.
            
            The path.
            if set to true [null on error].
            
        
        
            
            Performs SSH_FXP_SYMLINK request.
            
            The linkpath.
            The targetpath.
        
        
            
            Performs SSH_FXP_FSETSTAT request.
            
            The handle.
            The attributes.
        
        
            
            Performs SSH_FXP_WRITE request.
            
            The handle.
            The the zero-based offset (in bytes) relative to the beginning of the file that the write must start at.
            The buffer holding the data to write.
            the zero-based offset in  at which to begin taking bytes to write.
            The length (in bytes) of the data to write.
            The wait event handle if needed.
            The callback to invoke when the write has completed.
        
        
            
            Performs SSH_FXP_CLOSE request.
            
            The handle.
        
        
            
            Performs SSH_FXP_CLOSE request.
            
            The handle.
            The  delegate that is executed when  completes.
            An object that contains any additional user-defined data.
            
            A  that represents the asynchronous call.
            
        
        
            
            Handles the end of an asynchronous close.
            
            An  that represents an asynchronous call.
             is null.
        
        
            
            Calculates the optimal size of the buffer to read data from the channel.
            
            The buffer size configured on the client.
            
            The optimal size of the buffer to read data from the channel.
            
        
        
            
            Calculates the optimal size of the buffer to write data on the channel.
            
            The buffer size configured on the client.
            The file handle.
            
            The optimal size of the buffer to write data on the channel.
            
            
            Currently, we do not take the remote window size into account.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Initializes a new instance of the  class.
            
            The protocol version.
            The request id.
            Specifies the path name of the new link to create.
            Specifies the path of a target object to which the newly created link will refer.  In the case of a symbolic link, this path may not exist.
            if set to false the link should be a hard link, or a second directory entry referring to the same file or directory object.
            The status action.
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Gets the zero-based offset (in bytes) relative to the beginning of the file that the write
            must start at.
            
            
            The zero-based offset (in bytes) relative to the beginning of the file that the write must
            start at.
            
        
        
            
            Gets the buffer holding the data to write.
            
            
            The buffer holding the data to write.
            
        
        
            
            Gets the zero-based offset in  at which to begin taking bytes to
            write.
            
            
            The zero-based offset in  at which to begin taking bytes to write.
            
        
        
            
            Gets the length (in bytes) of the data to write.
            
            
            The length (in bytes) of the data to write.
            
        
        
            
            Encapsulates the results of an asynchronous download operation.
            
        
        
            
            Gets or sets a value indicating whether to cancel asynchronous download operation.
            
            
            true if download operation to be canceled; otherwise, false.
            
            
            Download operation will be canceled after finishing uploading current buffer.
            
        
        
            
            Gets the number of downloaded bytes.
            
        
        
            
            Initializes a new instance of the  class.
            
            The async callback.
            The state.
        
        
            
            Updates asynchronous operation status information.
            
            Number of downloaded bytes.
        
        
            
            Represents SFTP file information
            
        
        
            
            Gets the file attributes.
            
        
        
            
            Initializes a new instance of the  class.
            
            The SFTP session.
            Full path of the directory or file.
            Attributes of the directory or file.
             or  is null.
        
        
            
            Gets the full path of the directory or file.
            
        
        
            
            For files, gets the name of the file. For directories, gets the name of the last directory in the hierarchy if a hierarchy exists. 
            Otherwise, the Name property gets the name of the directory.
            
        
        
            
            Gets or sets the time the current file or directory was last accessed.
            
            
            The time that the current file or directory was last accessed.
            
        
        
            
            Gets or sets the time when the current file or directory was last written to.
            
            
            The time the current file was last written.
            
        
        
            
            Gets or sets the time, in coordinated universal time (UTC), the current file or directory was last accessed.
            
            
            The time that the current file or directory was last accessed.
            
        
        
            
            Gets or sets the time, in coordinated universal time (UTC), when the current file or directory was last written to.
            
            
            The time the current file was last written.
            
        
        
            
            Gets or sets the size, in bytes, of the current file.
            
            
            The size of the current file in bytes.
            
        
        
            
            Gets or sets file user id.
            
            
            File user id.
            
        
        
            
            Gets or sets file group id.
            
            
            File group id.
            
        
        
            
            Gets a value indicating whether file represents a socket.
            
            
              true if file represents a socket; otherwise, false.
            
        
        
            
            Gets a value indicating whether file represents a symbolic link.
            
            
            	true if file represents a symbolic link; otherwise, false.
            
        
        
            
            Gets a value indicating whether file represents a regular file.
            
            
            	true if file represents a regular file; otherwise, false.
            
        
        
            
            Gets a value indicating whether file represents a block device.
            
            
            	true if file represents a block device; otherwise, false.
            
        
        
            
            Gets a value indicating whether file represents a directory.
            
            
            	true if file represents a directory; otherwise, false.
            
        
        
            
            Gets a value indicating whether file represents a character device.
            
            
            	true if file represents a character device; otherwise, false.
            
        
        
            
            Gets a value indicating whether file represents a named pipe.
            
            
            	true if file represents a named pipe; otherwise, false.
            
        
        
            
            Gets or sets a value indicating whether the owner can read from this file.
            
            
              true if owner can read from this file; otherwise, false.
            
        
        
            
            Gets or sets a value indicating whether the owner can write into this file.
            
            
              true if owner can write into this file; otherwise, false.
            
        
        
            
            Gets or sets a value indicating whether the owner can execute this file.
            
            
              true if owner can execute this file; otherwise, false.
            
        
        
            
            Gets or sets a value indicating whether the group members can read from this file.
            
            
              true if group members can read from this file; otherwise, false.
            
        
        
            
            Gets or sets a value indicating whether the group members can write into this file.
            
            
              true if group members can write into this file; otherwise, false.
            
        
        
            
            Gets or sets a value indicating whether the group members can execute this file.
            
            
              true if group members can execute this file; otherwise, false.
            
        
        
            
            Gets or sets a value indicating whether the others can read from this file.
            
            
              true if others can read from this file; otherwise, false.
            
        
        
            
            Gets or sets a value indicating whether the others can write into this file.
            
            
              true if others can write into this file; otherwise, false.
            
        
        
            
            Gets or sets a value indicating whether the others can execute this file.
            
            
              true if others can execute this file; otherwise, false.
            
        
        
            
            Sets file  permissions.
            
            The mode.
        
        
            
            Permanently deletes a file on remote machine.
            
        
        
            
            Moves a specified file to a new location on remote machine, providing the option to specify a new file name.
            
            The path to move the file to, which can specify a different file name.
             is null.
        
        
            
            Updates file status on the server.
            
        
        
            
            Returns a  that represents this instance.
            
            
            A  that represents this instance.
            
        
        
            
            Contains SFTP file attributes.
            
        
        
            
            Gets or sets the local time the current file or directory was last accessed.
            
            
            The local time that the current file or directory was last accessed.
            
        
        
            
            Gets or sets the local time when the current file or directory was last written to.
            
            
            The local time the current file was last written.
            
        
        
            
            Gets or sets the UTC time the current file or directory was last accessed.
            
            
            The UTC time that the current file or directory was last accessed.
            
        
        
            
            Gets or sets the UTC time when the current file or directory was last written to.
            
            
            The UTC time the current file was last written.
            
        
        
            
            Gets or sets the size, in bytes, of the current file.
            
            
            The size of the current file in bytes.
            
        
        
            
            Gets or sets file user id.
            
            
            File user id.
            
        
        
            
            Gets or sets file group id.
            
            
            File group id.
            
        
        
            
            Gets a value indicating whether file represents a socket.
            
            
              true if file represents a socket; otherwise, false.
            
        
        
            
            Gets a value indicating whether file represents a symbolic link.
            
            
            	true if file represents a symbolic link; otherwise, false.
            
        
        
            
            Gets a value indicating whether file represents a regular file.
            
            
            	true if file represents a regular file; otherwise, false.
            
        
        
            
            Gets a value indicating whether file represents a block device.
            
            
            	true if file represents a block device; otherwise, false.
            
        
        
            
            Gets a value indicating whether file represents a directory.
            
            
            	true if file represents a directory; otherwise, false.
            
        
        
            
            Gets a value indicating whether file represents a character device.
            
            
            	true if file represents a character device; otherwise, false.
            
        
        
            
            Gets a value indicating whether file represents a named pipe.
            
            
            	true if file represents a named pipe; otherwise, false.
            
        
        
            
            Gets a value indicating whether the owner can read from this file.
            
            
              true if owner can read from this file; otherwise, false.
            
        
        
            
            Gets a value indicating whether the owner can write into this file.
            
            
              true if owner can write into this file; otherwise, false.
            
        
        
            
            Gets a value indicating whether the owner can execute this file.
            
            
              true if owner can execute this file; otherwise, false.
            
        
        
            
            Gets a value indicating whether the group members can read from this file.
            
            
              true if group members can read from this file; otherwise, false.
            
        
        
            
            Gets a value indicating whether the group members can write into this file.
            
            
              true if group members can write into this file; otherwise, false.
            
        
        
            
            Gets a value indicating whether the group members can execute this file.
            
            
              true if group members can execute this file; otherwise, false.
            
        
        
            
            Gets a value indicating whether the others can read from this file.
            
            
              true if others can read from this file; otherwise, false.
            
        
        
            
            Gets a value indicating whether the others can write into this file.
            
            
              true if others can write into this file; otherwise, false.
            
        
        
            
            Gets a value indicating whether the others can execute this file.
            
            
              true if others can execute this file; otherwise, false.
            
        
        
            
            Gets or sets the extensions.
            
            
            The extensions.
            
        
        
            
            Sets the permissions.
            
            The mode.
        
        
            
            Returns a byte array representing the current .
            
            
            A byte array representing the current .
            
        
        
            
            Holds the size of the file, when available.
            
        
        
            
            Holds a value indicating whether EOF has already been signaled by the SSH server.
            
        
        
            
            Holds a value indicating whether the client has read up to the end of the file.
            
        
        
            
            Initializes a new  instance with the specified handle,
             and the maximum number of pending reads.
            
            
            
            The size of a individual read-ahead chunk.
            The maximum number of pending reads.
            The size of the file, if known; otherwise, null.
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Returns a value indicating whether the read-ahead loop should be continued.
            
            
            true if the read-ahead loop should be continued; otherwise, false.
            
        
        
            
            Exposes a  around a remote SFTP file, supporting both synchronous and asynchronous read and write operations.
            
        
        
            
            Gets a value indicating whether the current stream supports reading.
            
            
            true if the stream supports reading; otherwise, false.
            
        
        
            
            Gets a value indicating whether the current stream supports seeking.
            
            
            true if the stream supports seeking; otherwise, false.
            
        
        
            
            Gets a value indicating whether the current stream supports writing.
            
            
            true if the stream supports writing; otherwise, false.
            
        
        
            
            Indicates whether timeout properties are usable for .
            
            
            true in all cases.
            
        
        
            
            Gets the length in bytes of the stream.
            
            A long value representing the length of the stream in bytes.
            A class derived from Stream does not support seeking. 
            Methods were called after the stream was closed. 
            IO operation failed. 
        
        
            
            Gets or sets the position within the current stream.
            
            The current position within the stream.
            An I/O error occurs. 
            The stream does not support seeking. 
            Methods were called after the stream was closed. 
        
        
            
            Gets the name of the path that was used to construct the current .
            
            
            The name of the path that was used to construct the current .
            
        
        
            
            Gets the operating system file handle for the file that the current  encapsulates.
            
            
            The operating system file handle for the file that the current  encapsulates.
            
        
        
            
            Gets or sets the operation timeout.
            
            
            The timeout.
            
        
        
            
            Releases unmanaged resources and performs other cleanup operations before the
             is reclaimed by garbage collection.
            
        
        
            
            Clears all buffers for this stream and causes any buffered data to be written to the file.
            
            An I/O error occurs. 
            Stream is closed.
        
        
            
            Reads a sequence of bytes from the current stream and advances the position within the stream by the
            number of bytes read.
            
            An array of bytes. When this method returns, the buffer contains the specified byte array with the values between  and ( +  - 1) replaced by the bytes read from the current source.
            The zero-based byte offset in  at which to begin storing the data read from the current stream.
            The maximum number of bytes to be read from the current stream.
            
            The total number of bytes read into the buffer. This can be less than the number of bytes requested
            if that many bytes are not currently available, or zero (0) if the end of the stream has been reached.
            
            The sum of  and  is larger than the buffer length.
             is null. 
             or  is negative.
            An I/O error occurs. 
            The stream does not support reading. 
            Methods were called after the stream was closed. 
            
            
            This method attempts to read up to  bytes. This either from the buffer, from the
            server (using one or more SSH_FXP_READ requests) or using a combination of both.
            
            
            The read loop is interrupted when either  bytes are read, the server returns zero
            bytes (EOF) or less bytes than the read buffer size.
            
            
            When a server returns less number of bytes than the read buffer size, this may indicate that EOF has
            been reached. A subsequent (SSH_FXP_READ) server request is necessary to make sure EOF has effectively
            been reached.  Breaking out of the read loop avoids reading from the server twice to determine EOF: once in
            the read loop, and once upon the next  or  invocation.
            
            
        
        
            
            Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.
            
            
            The unsigned byte cast to an , or -1 if at the end of the stream.
            
            The stream does not support reading. 
            Methods were called after the stream was closed. 
            Read operation failed.
        
        
            
            Sets the position within the current stream.
            
            A byte offset relative to the  parameter.
            A value of type  indicating the reference point used to obtain the new position.
            
            The new position within the current stream.
            
            An I/O error occurs. 
            The stream does not support seeking, such as if the stream is constructed from a pipe or console output. 
            Methods were called after the stream was closed. 
        
        
            
            Sets the length of the current stream.
            
            The desired length of the current stream in bytes.
            An I/O error occurs.
            The stream does not support both writing and seeking.
            Methods were called after the stream was closed.
             must be greater than zero.
            
            
            Buffers are first flushed.
            
            
            If the specified value is less than the current length of the stream, the stream is truncated and - if the
            current position is greater than the new length - the current position is moved to the last byte of the stream.
            
            
            If the given value is greater than the current length of the stream, the stream is expanded and the current
            position remains the same.
            
            
        
        
            
            Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
            
            An array of bytes. This method copies  bytes from  to the current stream.
            The zero-based byte offset in  at which to begin copying bytes to the current stream.
            The number of bytes to be written to the current stream.
            The sum of  and  is greater than the buffer length.
             is null.
             or  is negative.
            An I/O error occurs.
            The stream does not support writing.
            Methods were called after the stream was closed.
        
        
            
            Writes a byte to the current position in the stream and advances the position within the stream by one byte.
            
            The byte to write to the stream.
            An I/O error occurs. 
            The stream does not support writing, or the stream is already closed. 
            Methods were called after the stream was closed. 
        
        
            
            Releases the unmanaged resources used by the  and optionally releases the managed resources.
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Flushes the read data from the buffer.
            
        
        
            
            Flush any buffered write data to the file.
            
        
        
            
            Setups the read.
            
        
        
            
            Setups the write.
            
        
        
            
            Contains File system information exposed by statvfs@openssh.com request.
            
        
        
            
            Gets the file system block size.
            
            
            The file system block size.
            
        
        
            
            Gets the fundamental file system size of the block.
            
            
            The fundamental file system block size.
            
        
        
            
            Gets the total blocks.
            
            
            The total blocks.
            
        
        
            
            Gets the free blocks.
            
            
            The free blocks.
            
        
        
            
            Gets the available blocks.
            
            
            The available blocks.
            
        
        
            
            Gets the total nodes.
            
            
            The total nodes.
            
        
        
            
            Gets the free nodes.
            
            
            The free nodes.
            
        
        
            
            Gets the available nodes.
            
            
            The available nodes.
            
        
        
            
            Gets the sid.
            
            
            The sid.
            
        
        
            
            Gets a value indicating whether this instance is read only.
            
            
            true if this instance is read only; otherwise, false.
            
        
        
            
            Gets a value indicating whether [supports set uid].
            
            
              true if [supports set uid]; otherwise, false.
            
        
        
            
            Gets the max name lenght.
            
            
            The max name lenght.
            
        
        
            
            Initializes a new instance of the  class.
            
            The bsize.
            The frsize.
            The blocks.
            The bfree.
            The bavail.
            The files.
            The ffree.
            The favail.
            The sid.
            The flag.
            The namemax.
        
        
            
            Encapsulates the results of an asynchronous directory list operation.
            
        
        
            
            Gets the number of files read so far.
            
        
        
            
            Initializes a new instance of the  class.
            
            The async callback.
            The state.
        
        
            
            Updates asynchronous operation status information.
            
            The files read.
        
        
            
            Gets the size of the message in bytes.
            
            
            The size of the messages in bytes.
            
        
        
            
            Writes the current message to the specified .
            
            The  to write the message to.
        
        
            
            SSH_FXP_INIT
            
        
        
            
            SSH_FXP_VERSION
            
        
        
            
            SSH_FXP_OPEN
            
        
        
            
            SSH_FXP_CLOSE
            
        
        
            
            SSH_FXP_READ
            
        
        
            
            SSH_FXP_WRITE
            
        
        
            
            SSH_FXP_LSTAT
            
        
        
            
            SSH_FXP_FSTAT
            
        
        
            
            SSH_FXP_SETSTAT
            
        
        
            
            SSH_FXP_FSETSTAT
            
        
        
            
            SSH_FXP_OPENDIR
            
        
        
            
            SSH_FXP_READDIR
            
        
        
            
            SSH_FXP_REMOVE
            
        
        
            
            SSH_FXP_MKDIR
            
        
        
            
            SSH_FXP_RMDIR
            
        
        
            
            SSH_FXP_REALPATH
            
        
        
            
            SSH_FXP_STAT
            
        
        
            
            SSH_FXP_RENAME
            
        
        
            
            SSH_FXP_READLINK
            
        
        
            
            SSH_FXP_SYMLINK
            
        
        
            
            SSH_FXP_LINK
            
        
        
            
            SSH_FXP_BLOCK
            
        
        
            
            SSH_FXP_UNBLOCK
            
        
        
            
            SSH_FXP_STATUS
            
        
        
            
            SSH_FXP_HANDLE
            
        
        
            
            SSH_FXP_DATA
            
        
        
            
            SSH_FXP_NAME
            
        
        
            
            SSH_FXP_ATTRS
            
        
        
            
            SSH_FXP_EXTENDED
            
        
        
            
            SSH_FXP_EXTENDED_REPLY
            
        
        
            
            Gets the character encoding to use.
            
        
        
            
            Gets the remote working directory.
            
            
            The remote working directory.
            
        
        
            
            Gets the SFTP protocol version.
            
            
            The SFTP protocol version.
            
        
        
            
            Gets the next request id for sftp session.
            
        
        
            
            Changes the current working directory to the specified path.
            
            The new working directory.
        
        
            
            Resolves a given path into an absolute path on the server.
            
            The path to resolve.
            
            The absolute path.
            
        
        
            
            Performs SSH_FXP_OPEN request
            
            The path.
            The flags.
            if set to true returns null instead of throwing an exception.
            File handle.
        
        
            
            Performs SSH_FXP_OPEN request
            
            The path.
            The flags.
            The  delegate that is executed when  completes.
            An object that contains any additional user-defined data.
            
            A  that represents the asynchronous call.
            
        
        
            
            Handles the end of an asynchronous open.
            
            An  that represents an asynchronous call.
            
            A  array representing a file handle.
            
            
            If all available data has been read, the  method completes
            immediately and returns zero bytes.
            
             is null.
        
        
            
            Performs SSH_FXP_CLOSE request.
            
            The handle.
        
        
            
            Performs SSH_FXP_CLOSE request.
            
            The handle.
            The  delegate that is executed when  completes.
            An object that contains any additional user-defined data.
            
            A  that represents the asynchronous call.
            
        
        
            
            Handles the end of an asynchronous close.
            
            An  that represents an asynchronous call.
             is null.
        
        
            
            Begins an asynchronous read using a SSH_FXP_READ request.
            
            The handle to the file to read from.
            The offset in the file to start reading from.
            The number of bytes to read.
            The  delegate that is executed when  completes.
            An object that contains any additional user-defined data.
            
            A  that represents the asynchronous call.
            
        
        
            
            Handles the end of an asynchronous read.
            
            An  that represents an asynchronous call.
            
            A  array representing the data read.
            
            
            If all available data has been read, the  method completes
            immediately and returns zero bytes.
            
             is null.
        
        
            
            Performs SSH_FXP_READ request.
            
            The handle.
            The offset.
            The length.
            data array; null if EOF
        
        
            
            Performs SSH_FXP_WRITE request.
            
            The handle.
            The the zero-based offset (in bytes) relative to the beginning of the file that the write must start at.
            The buffer holding the data to write.
            the zero-based offset in  at which to begin taking bytes to write.
            The length (in bytes) of the data to write.
            The wait event handle if needed.
            The callback to invoke when the write has completed.
        
        
            
            Performs SSH_FXP_LSTAT request.
            
            The path.
            
            File attributes
            
        
        
            
            Performs SSH_FXP_LSTAT request.
            
            The path.
            The  delegate that is executed when  completes.
            An object that contains any additional user-defined data.
            
            A  that represents the asynchronous call.
            
        
        
            
            Handles the end of an asynchronous SSH_FXP_LSTAT request.
            
            An  that represents an asynchronous call.
            
            The file attributes.
            
             is null.
        
        
            
            Performs SSH_FXP_FSTAT request.
            
            The handle.
            if set to true returns null instead of throwing an exception.
            
            File attributes
            
        
        
            
            Performs SSH_FXP_SETSTAT request.
            
            The path.
            The attributes.
        
        
            
            Performs SSH_FXP_FSETSTAT request.
            
            The handle.
            The attributes.
        
        
            
            Performs SSH_FXP_OPENDIR request
            
            The path.
            if set to true returns null instead of throwing an exception.
            File handle.
        
        
            
            Performs SSH_FXP_READDIR request
            
            The handle.
            
        
        
            
            Performs SSH_FXP_REMOVE request.
            
            The path.
        
        
            
            Performs SSH_FXP_MKDIR request.
            
            The path.
        
        
            
            Performs SSH_FXP_RMDIR request.
            
            The path.
        
        
            
            Performs SSH_FXP_REALPATH request
            
            The path.
            if set to true returns null instead of throwing an exception.
            
            The absolute path.
            
        
        
            
            Performs SSH_FXP_REALPATH request.
            
            The path.
            The  delegate that is executed when  completes.
            An object that contains any additional user-defined data.
            
            A  that represents the asynchronous call.
            
        
        
            
            Handles the end of an asynchronous SSH_FXP_REALPATH request.
            
            An  that represents an asynchronous call.
            
            The absolute path.
            
             is null.
        
        
            
            Performs SSH_FXP_STAT request.
            
            The path.
            if set to true returns null instead of throwing an exception.
            
            File attributes
            
        
        
            
            Performs SSH_FXP_STAT request
            
            The path.
            The  delegate that is executed when  completes.
            An object that contains any additional user-defined data.
            
            A  that represents the asynchronous call.
            
        
        
            
            Handles the end of an asynchronous stat.
            
            An  that represents an asynchronous call.
            
            The file attributes.
            
             is null.
        
        
            
            Performs SSH_FXP_RENAME request.
            
            The old path.
            The new path.
        
        
            
            Performs SSH_FXP_READLINK request.
            
            The path.
            if set to true returns null instead of throwing an exception.
            
        
        
            
            Performs SSH_FXP_SYMLINK request.
            
            The linkpath.
            The targetpath.
        
        
            
            Performs posix-rename@openssh.com extended request.
            
            The old path.
            The new path.
        
        
            
            Performs statvfs@openssh.com extended request.
            
            The path.
            if set to true [null on error].
            
        
        
            
            Performs fstatvfs@openssh.com extended request.
            
            The file handle.
            if set to true [null on error].
            
            
        
        
            
            Performs hardlink@openssh.com extended request.
            
            The old path.
            The new path.
        
        
            
            Calculates the optimal size of the buffer to read data from the channel.
            
            The buffer size configured on the client.
            
            The optimal size of the buffer to read data from the channel.
            
        
        
            
            Calculates the optimal size of the buffer to write data on the channel.
            
            The buffer size configured on the client.
            The file handle.
            
            The optimal size of the buffer to write data on the channel.
            
            
            Currently, we do not take the remote window size into account.
            
        
        
            
            Encapsulates the results of an asynchronous directory synchronization operation.
            
        
        
            
            Gets the number of files read so far.
            
        
        
            
            Initializes a new instance of the  class.
            
            The async callback.
            The state.
        
        
            
            Updates asynchronous operation status information.
            
            The files read.
        
        
            
            Encapsulates the results of an asynchronous upload operation.
            
        
        
            
            Gets or sets a value indicating whether to cancel asynchronous upload operation
            
            
            true if upload operation to be canceled; otherwise, false.
            
            
            Upload operation will be canceled after finishing uploading current buffer.
            
        
        
            
            Gets the number of uploaded bytes.
            
        
        
            
            Initializes a new instance of the  class.
            
            The async callback.
            The state.
        
        
            
            Updates asynchronous operation status information.
            
            Number of uploaded bytes.
        
        
            
            SSH_FX_OK
            
        
        
            
            SSH_FX_EOF
            
        
        
            
            SSH_FX_NO_SUCH_FILE
            
        
        
            
            SSH_FX_PERMISSION_DENIED
            
        
        
            
            SSH_FX_FAILURE
            
        
        
            
            SSH_FX_BAD_MESSAGE
            
        
        
            
            SSH_FX_NO_CONNECTION
            
        
        
            
            SSH_FX_CONNECTION_LOST
            
        
        
            
            SSH_FX_OP_UNSUPPORTED
            
        
        
            
            SSH_FX_INVALID_HANDLE
            
        
        
            
            SSH_FX_NO_SUCH_PATH
            
        
        
            
            SSH_FX_FILE_ALREADY_EXISTS
            
        
        
            
            SSH_FX_WRITE_PROTECT
            
        
        
            
            SSH_FX_NO_MEDIA
            
        
        
            
            SSH_FX_NO_SPACE_ON_FILESYSTEM
            
        
        
            
            SSH_FX_QUOTA_EXCEEDED
            
        
        
            
            SSH_FX_UNKNOWN_PRINCIPAL
            
        
        
            
            SSH_FX_LOCK_CONFLICT
            
        
        
            
            SSH_FX_DIR_NOT_EMPTY
            
        
        
            
            SSH_FX_NOT_A_DIRECTORY
            
        
        
            
            SSH_FX_INVALID_FILENAME
            
        
        
            
            SSH_FX_LINK_LOOP
            
        
        
            
            SSH_FX_CANNOT_DELETE
            
        
        
            
            SSH_FX_INVALID_PARAMETER
            
        
        
            
            SSH_FX_FILE_IS_A_DIRECTORY
            
        
        
            
            SSH_FX_BYTE_RANGE_LOCK_CONFLICT
            
        
        
            
            SSH_FX_BYTE_RANGE_LOCK_REFUSED
            
        
        
            
            SSH_FX_DELETE_PENDING
            
        
        
            
            SSH_FX_FILE_CORRUPT
            
        
        
            
            SSH_FX_OWNER_INVALID
            
        
        
            
            SSH_FX_GROUP_INVALID
            
        
        
            
            SSH_FX_NO_MATCHING_BYTE_RANGE_LOCK
            
        
        
            
            Represents instance of the SSH shell object
            
        
        
            
            Gets a value indicating whether this shell is started.
            
            
            true if started is started; otherwise, false.
            
        
        
            
            Occurs when shell is starting.
            
        
        
            
            Occurs when shell is started.
            
        
        
            
            Occurs when shell is stopping.
            
        
        
            
            Occurs when shell is stopped.
            
        
        
            
            Occurs when an error occurred.
            
        
        
            
            Initializes a new instance of the  class.
            
            The session.
            The input.
            The output.
            The extended output.
            Name of the terminal.
            The columns.
            The rows.
            The width.
            The height.
            The terminal modes.
            Size of the buffer for output stream.
        
        
            
            Starts this shell.
            
            Shell is started.
        
        
            
            Stops this shell.
            
            Shell is not started.
        
        
            
            Unsubscribes the current  from session events.
            
            The session.
            
            Does nothing when  is null.
            
        
        
            
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            
        
        
            
            Releases unmanaged and - optionally - managed resources
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Releases unmanaged resources and performs other cleanup operations before the
             is reclaimed by garbage collection.
            
        
        
            
            Contains operation for working with SSH Shell.
            
        
        
            
            Occurs when data was received.
            
        
        
            
            Occurs when an error occurred.
            
        
        
            
            Gets a value that indicates whether data is available on the  to be read.
            
            
            true if data is available to be read; otherwise, false.
            
        
        
            
            Gets the number of bytes that will be written to the internal buffer.
            
            
            The number of bytes that will be written to the internal buffer.
            
        
        
            
            Initializes a new  instance.
            
            The SSH session.
            The TERM environment variable.
            The terminal width in columns.
            The terminal width in rows.
            The terminal height in pixels.
            The terminal height in pixels.
            The terminal mode values.
            The size of the buffer.
            The channel could not be opened.
            The pseudo-terminal request was not accepted by the server.
            The request to start a shell was not accepted by the server.
        
        
            
            Gets a value indicating whether the current stream supports reading.
            
            
            true if the stream supports reading; otherwise, false.
            
        
        
            
            Gets a value indicating whether the current stream supports seeking.
            
            
            true if the stream supports seeking; otherwise, false.
            
        
        
            
            Gets a value indicating whether the current stream supports writing.
            
            
            true if the stream supports writing; otherwise, false.
            
        
        
            
            Clears all buffers for this stream and causes any buffered data to be written to the underlying device.
            
            An I/O error occurs.
            Methods were called after the stream was closed.
        
        
            
            Gets the length in bytes of the stream.
            
            A long value representing the length of the stream in bytes.
            A class derived from Stream does not support seeking.
            Methods were called after the stream was closed.
        
        
            
            Gets or sets the position within the current stream.
            
            
            The current position within the stream.
            
            An I/O error occurs.
            The stream does not support seeking.
            Methods were called after the stream was closed.
        
        
            
            Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
            
            An array of bytes. When this method returns, the buffer contains the specified byte array with the values between  and ( +  - 1) replaced by the bytes read from the current source.
            The zero-based byte offset in  at which to begin storing the data read from the current stream.
            The maximum number of bytes to be read from the current stream.
            
            The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached.
            
            The sum of  and  is larger than the buffer length. 
             is null.
             or  is negative.
            An I/O error occurs.   
            The stream does not support reading.   
            Methods were called after the stream was closed.
        
        
            
            This method is not supported.
            
            A byte offset relative to the  parameter.
            A value of type  indicating the reference point used to obtain the new position.
            
            The new position within the current stream.
            
            An I/O error occurs.
            The stream does not support seeking, such as if the stream is constructed from a pipe or console output.
            Methods were called after the stream was closed.
        
        
            
            This method is not supported.
            
            The desired length of the current stream in bytes.
            An I/O error occurs.
            The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output.
            Methods were called after the stream was closed.
        
        
            
            Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
            
            An array of bytes. This method copies  bytes from  to the current stream.
            The zero-based byte offset in  at which to begin copying bytes to the current stream.
            The number of bytes to be written to the current stream.
            The sum of  and  is greater than the buffer length.
             is null.
             or  is negative.
            An I/O error occurs.
            The stream does not support writing.
            Methods were called after the stream was closed.
        
        
            
            Expects the specified expression and performs action when one is found.
            
            The expected expressions and actions to perform.
        
        
            
            Expects the specified expression and performs action when one is found.
            
            Time to wait for input.
            The expected expressions and actions to perform, if the specified time elapsed and expected condition have not met, that method will exit without executing any action.
        
        
            
            Begins the expect.
            
            The expect actions.
            
            An  that references the asynchronous operation.
            
        
        
            
            Begins the expect.
            
            The callback.
            The expect actions.
            
            An  that references the asynchronous operation.
            
        
        
            
            Begins the expect.
            
            The callback.
            The state.
            The expect actions.
            
            An  that references the asynchronous operation.
            
        
        
            
            Begins the expect.
            
            The timeout.
            The callback.
            The state.
            The expect actions.
            
            An  that references the asynchronous operation.
            
        
        
            
            Ends the execute.
            
            The async result.
            Either the IAsyncResult object did not come from the corresponding async method on this type, or EndExecute was called multiple times with the same IAsyncResult.
        
        
            
            Expects the expression specified by text.
            
            The text to expect.
            
            Text available in the shell that ends with expected text.
            
        
        
            
            Expects the expression specified by text.
            
            The text to expect.
            Time to wait for input.
            
            The text available in the shell that ends with expected text, or null if the specified time has elapsed.
            
        
        
            
            Expects the expression specified by regular expression.
            
            The regular expression to expect.
            
            The text available in the shell that contains all the text that ends with expected expression.
            
        
        
            
            Expects the expression specified by regular expression.
            
            The regular expression to expect.
            Time to wait for input.
            
            The text available in the shell that contains all the text that ends with expected expression,
            or null if the specified time has elapsed.
            
        
        
            
            Reads the line from the shell. If line is not available it will block the execution and will wait for new line.
            
            
            The line read from the shell.
            
        
        
            
            Reads a line from the shell. If line is not available it will block the execution and will wait for new line.
            
            Time to wait for input.
            
            The line read from the shell, or null when no input is received for the specified timeout.
            
        
        
            
            Reads text available in the shell.
            
            
            The text available in the shell.
            
        
        
            
            Writes the specified text to the shell.
            
            The text to be written to the shell.
            
            If  is null, nothing is written.
            
        
        
            
            Writes the line to the shell.
            
            The line to be written to the shell.
            
            If  is null, only the line terminator is written.
            
        
        
            
            Releases the unmanaged resources used by the  and optionally releases the managed resources.
            
            true to release both managed and unmanaged resources; false to release only unmanaged resources.
        
        
            
            Unsubscribes the current  from session events.
            
            The session.
            
            Does nothing when  is null.
            
        
        
            
            Provides client connection to SSH server.
            
        
        
            
            Holds the list of forwarded ports
            
        
        
            
            Holds a value indicating whether the current instance is disposed.
            
            
            true if the current instance is disposed; otherwise, false.
            
        
        
            
            Gets the list of forwarded ports.
            
        
        
            
            Initializes a new instance of the  class.
            
            The connection info.