// Copyright (c) 2010 The Chromium Authors.  All rights reserved.
// Use of this source is governed by a BSD-style license that can be
// found in the LICENSE file.

// version.h is generated from version.h.in.  Edit the source!

#pragma once

// Version Information

#define CHROME_VERSION @MAJOR@,@MINOR@,@BUILD@,@PATCH@
#define CHROME_VERSION_STRING "@MAJOR@.@MINOR@.@BUILD@.@PATCH@"

// Branding Information

#define COMPANY_FULLNAME_STRING "@COMPANY_FULLNAME@"
#define COMPANY_SHORTNAME_STRING "@COMPANY_SHORTNAME@"
#define PRODUCT_FULLNAME_STRING "@PRODUCT_FULLNAME@"
#define PRODUCT_SHORTNAME_STRING "@PRODUCT_SHORTNAME@"
#define CEEE_PRODUCT_FULLNAME_STRING "@CEEE_PRODUCT_FULLNAME@"
#define COPYRIGHT_STRING "@COPYRIGHT@"
#define OFFICIAL_BUILD_STRING "@OFFICIAL_BUILD@"

// Changelist Information

#define LASTCHANGE_STRING "@LASTCHANGE@"
