/// <param name="bytes">2 bytes are required to be passed in.</param>
        public UsernamePasswordResponse(byte[] bytes)
        {
            Guard.Same($"{nameof(bytes)}.{nameof(bytes.Length)}", 2, bytes.Length);

            Ver    = new AuthVerField(bytes[0]);
            Status = new AuthStatusField(bytes[1]);
        }
        public override void FromBytes(byte[] bytes)
        {
            Guard.NotNullOrEmpty(nameof(bytes), bytes);
            Guard.Same($"{nameof(bytes)}.{nameof(bytes.Length)}", 2, bytes.Length);

            Ver = new AuthVerField(bytes[0]);

            Status = new AuthStatusField(bytes[1]);
        }
		public UsernamePasswordResponse(AuthStatusField status)
		{
			Status = Guard.NotNull(nameof(status), status);
			Ver = AuthVerField.Version1;
		}