// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/bigtable/admin/v2/bigtable_instance_admin.proto

/*
Package admin is a generated protocol buffer package.

It is generated from these files:
	google/bigtable/admin/v2/bigtable_instance_admin.proto
	google/bigtable/admin/v2/bigtable_table_admin.proto
	google/bigtable/admin/v2/common.proto
	google/bigtable/admin/v2/instance.proto
	google/bigtable/admin/v2/table.proto

It has these top-level messages:
	CreateInstanceRequest
	GetInstanceRequest
	ListInstancesRequest
	ListInstancesResponse
	PartialUpdateInstanceRequest
	DeleteInstanceRequest
	CreateClusterRequest
	GetClusterRequest
	ListClustersRequest
	ListClustersResponse
	DeleteClusterRequest
	CreateInstanceMetadata
	UpdateInstanceMetadata
	CreateClusterMetadata
	UpdateClusterMetadata
	CreateAppProfileRequest
	GetAppProfileRequest
	ListAppProfilesRequest
	ListAppProfilesResponse
	UpdateAppProfileRequest
	DeleteAppProfileRequest
	CreateTableRequest
	CreateTableFromSnapshotRequest
	DropRowRangeRequest
	ListTablesRequest
	ListTablesResponse
	GetTableRequest
	DeleteTableRequest
	ModifyColumnFamiliesRequest
	GenerateConsistencyTokenRequest
	GenerateConsistencyTokenResponse
	CheckConsistencyRequest
	CheckConsistencyResponse
	SnapshotTableRequest
	GetSnapshotRequest
	ListSnapshotsRequest
	ListSnapshotsResponse
	DeleteSnapshotRequest
	SnapshotTableMetadata
	CreateTableFromSnapshotMetadata
	Instance
	Cluster
	AppProfile
	Table
	ColumnFamily
	GcRule
	Snapshot
*/
package admin

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "google.golang.org/genproto/googleapis/api/annotations"
import google_iam_v11 "google.golang.org/genproto/googleapis/iam/v1"
import google_iam_v1 "google.golang.org/genproto/googleapis/iam/v1"
import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
import google_protobuf3 "github.com/golang/protobuf/ptypes/empty"
import google_protobuf4 "google.golang.org/genproto/protobuf/field_mask"
import google_protobuf1 "github.com/golang/protobuf/ptypes/timestamp"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

// Request message for BigtableInstanceAdmin.CreateInstance.
type CreateInstanceRequest struct {
	// The unique name of the project in which to create the new instance.
	// Values are of the form `projects/<project>`.
	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
	// The ID to be used when referring to the new instance within its project,
	// e.g., just `myinstance` rather than
	// `projects/myproject/instances/myinstance`.
	InstanceId string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId" json:"instance_id,omitempty"`
	// The instance to create.
	// Fields marked `OutputOnly` must be left blank.
	Instance *Instance `protobuf:"bytes,3,opt,name=instance" json:"instance,omitempty"`
	// The clusters to be created within the instance, mapped by desired
	// cluster ID, e.g., just `mycluster` rather than
	// `projects/myproject/instances/myinstance/clusters/mycluster`.
	// Fields marked `OutputOnly` must be left blank.
	// Currently exactly one cluster must be specified.
	Clusters map[string]*Cluster `protobuf:"bytes,4,rep,name=clusters" json:"clusters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}

func (m *CreateInstanceRequest) Reset()                    { *m = CreateInstanceRequest{} }
func (m *CreateInstanceRequest) String() string            { return proto.CompactTextString(m) }
func (*CreateInstanceRequest) ProtoMessage()               {}
func (*CreateInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

func (m *CreateInstanceRequest) GetParent() string {
	if m != nil {
		return m.Parent
	}
	return ""
}

func (m *CreateInstanceRequest) GetInstanceId() string {
	if m != nil {
		return m.InstanceId
	}
	return ""
}

func (m *CreateInstanceRequest) GetInstance() *Instance {
	if m != nil {
		return m.Instance
	}
	return nil
}

func (m *CreateInstanceRequest) GetClusters() map[string]*Cluster {
	if m != nil {
		return m.Clusters
	}
	return nil
}

// Request message for BigtableInstanceAdmin.GetInstance.
type GetInstanceRequest struct {
	// The unique name of the requested instance. Values are of the form
	// `projects/<project>/instances/<instance>`.
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}

func (m *GetInstanceRequest) Reset()                    { *m = GetInstanceRequest{} }
func (m *GetInstanceRequest) String() string            { return proto.CompactTextString(m) }
func (*GetInstanceRequest) ProtoMessage()               {}
func (*GetInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }

func (m *GetInstanceRequest) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

// Request message for BigtableInstanceAdmin.ListInstances.
type ListInstancesRequest struct {
	// The unique name of the project for which a list of instances is requested.
	// Values are of the form `projects/<project>`.
	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
	// The value of `next_page_token` returned by a previous call.
	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
}

func (m *ListInstancesRequest) Reset()                    { *m = ListInstancesRequest{} }
func (m *ListInstancesRequest) String() string            { return proto.CompactTextString(m) }
func (*ListInstancesRequest) ProtoMessage()               {}
func (*ListInstancesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }

func (m *ListInstancesRequest) GetParent() string {
	if m != nil {
		return m.Parent
	}
	return ""
}

func (m *ListInstancesRequest) GetPageToken() string {
	if m != nil {
		return m.PageToken
	}
	return ""
}

// Response message for BigtableInstanceAdmin.ListInstances.
type ListInstancesResponse struct {
	// The list of requested instances.
	Instances []*Instance `protobuf:"bytes,1,rep,name=instances" json:"instances,omitempty"`
	// Locations from which Instance information could not be retrieved,
	// due to an outage or some other transient condition.
	// Instances whose Clusters are all in one of the failed locations
	// may be missing from `instances`, and Instances with at least one
	// Cluster in a failed location may only have partial information returned.
	FailedLocations []string `protobuf:"bytes,2,rep,name=failed_locations,json=failedLocations" json:"failed_locations,omitempty"`
	// Set if not all instances could be returned in a single response.
	// Pass this value to `page_token` in another request to get the next
	// page of results.
	NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
}

func (m *ListInstancesResponse) Reset()                    { *m = ListInstancesResponse{} }
func (m *ListInstancesResponse) String() string            { return proto.CompactTextString(m) }
func (*ListInstancesResponse) ProtoMessage()               {}
func (*ListInstancesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }

func (m *ListInstancesResponse) GetInstances() []*Instance {
	if m != nil {
		return m.Instances
	}
	return nil
}

func (m *ListInstancesResponse) GetFailedLocations() []string {
	if m != nil {
		return m.FailedLocations
	}
	return nil
}

func (m *ListInstancesResponse) GetNextPageToken() string {
	if m != nil {
		return m.NextPageToken
	}
	return ""
}

// Request message for BigtableInstanceAdmin.PartialUpdateInstance.
type PartialUpdateInstanceRequest struct {
	// The Instance which will (partially) replace the current value.
	Instance *Instance `protobuf:"bytes,1,opt,name=instance" json:"instance,omitempty"`
	// The subset of Instance fields which should be replaced.
	// Must be explicitly set.
	UpdateMask *google_protobuf4.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask" json:"update_mask,omitempty"`
}

func (m *PartialUpdateInstanceRequest) Reset()                    { *m = PartialUpdateInstanceRequest{} }
func (m *PartialUpdateInstanceRequest) String() string            { return proto.CompactTextString(m) }
func (*PartialUpdateInstanceRequest) ProtoMessage()               {}
func (*PartialUpdateInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }

func (m *PartialUpdateInstanceRequest) GetInstance() *Instance {
	if m != nil {
		return m.Instance
	}
	return nil
}

func (m *PartialUpdateInstanceRequest) GetUpdateMask() *google_protobuf4.FieldMask {
	if m != nil {
		return m.UpdateMask
	}
	return nil
}

// Request message for BigtableInstanceAdmin.DeleteInstance.
type DeleteInstanceRequest struct {
	// The unique name of the instance to be deleted.
	// Values are of the form `projects/<project>/instances/<instance>`.
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}

func (m *DeleteInstanceRequest) Reset()                    { *m = DeleteInstanceRequest{} }
func (m *DeleteInstanceRequest) String() string            { return proto.CompactTextString(m) }
func (*DeleteInstanceRequest) ProtoMessage()               {}
func (*DeleteInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }

func (m *DeleteInstanceRequest) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

// Request message for BigtableInstanceAdmin.CreateCluster.
type CreateClusterRequest struct {
	// The unique name of the instance in which to create the new cluster.
	// Values are of the form
	// `projects/<project>/instances/<instance>`.
	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
	// The ID to be used when referring to the new cluster within its instance,
	// e.g., just `mycluster` rather than
	// `projects/myproject/instances/myinstance/clusters/mycluster`.
	ClusterId string `protobuf:"bytes,2,opt,name=cluster_id,json=clusterId" json:"cluster_id,omitempty"`
	// The cluster to be created.
	// Fields marked `OutputOnly` must be left blank.
	Cluster *Cluster `protobuf:"bytes,3,opt,name=cluster" json:"cluster,omitempty"`
}

func (m *CreateClusterRequest) Reset()                    { *m = CreateClusterRequest{} }
func (m *CreateClusterRequest) String() string            { return proto.CompactTextString(m) }
func (*CreateClusterRequest) ProtoMessage()               {}
func (*CreateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }

func (m *CreateClusterRequest) GetParent() string {
	if m != nil {
		return m.Parent
	}
	return ""
}

func (m *CreateClusterRequest) GetClusterId() string {
	if m != nil {
		return m.ClusterId
	}
	return ""
}

func (m *CreateClusterRequest) GetCluster() *Cluster {
	if m != nil {
		return m.Cluster
	}
	return nil
}

// Request message for BigtableInstanceAdmin.GetCluster.
type GetClusterRequest struct {
	// The unique name of the requested cluster. Values are of the form
	// `projects/<project>/instances/<instance>/clusters/<cluster>`.
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}

func (m *GetClusterRequest) Reset()                    { *m = GetClusterRequest{} }
func (m *GetClusterRequest) String() string            { return proto.CompactTextString(m) }
func (*GetClusterRequest) ProtoMessage()               {}
func (*GetClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }

func (m *GetClusterRequest) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

// Request message for BigtableInstanceAdmin.ListClusters.
type ListClustersRequest struct {
	// The unique name of the instance for which a list of clusters is requested.
	// Values are of the form `projects/<project>/instances/<instance>`.
	// Use `<instance> = '-'` to list Clusters for all Instances in a project,
	// e.g., `projects/myproject/instances/-`.
	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
	// The value of `next_page_token` returned by a previous call.
	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
}

func (m *ListClustersRequest) Reset()                    { *m = ListClustersRequest{} }
func (m *ListClustersRequest) String() string            { return proto.CompactTextString(m) }
func (*ListClustersRequest) ProtoMessage()               {}
func (*ListClustersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }

func (m *ListClustersRequest) GetParent() string {
	if m != nil {
		return m.Parent
	}
	return ""
}

func (m *ListClustersRequest) GetPageToken() string {
	if m != nil {
		return m.PageToken
	}
	return ""
}

// Response message for BigtableInstanceAdmin.ListClusters.
type ListClustersResponse struct {
	// The list of requested clusters.
	Clusters []*Cluster `protobuf:"bytes,1,rep,name=clusters" json:"clusters,omitempty"`
	// Locations from which Cluster information could not be retrieved,
	// due to an outage or some other transient condition.
	// Clusters from these locations may be missing from `clusters`,
	// or may only have partial information returned.
	FailedLocations []string `protobuf:"bytes,2,rep,name=failed_locations,json=failedLocations" json:"failed_locations,omitempty"`
	// Set if not all clusters could be returned in a single response.
	// Pass this value to `page_token` in another request to get the next
	// page of results.
	NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
}

func (m *ListClustersResponse) Reset()                    { *m = ListClustersResponse{} }
func (m *ListClustersResponse) String() string            { return proto.CompactTextString(m) }
func (*ListClustersResponse) ProtoMessage()               {}
func (*ListClustersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }

func (m *ListClustersResponse) GetClusters() []*Cluster {
	if m != nil {
		return m.Clusters
	}
	return nil
}

func (m *ListClustersResponse) GetFailedLocations() []string {
	if m != nil {
		return m.FailedLocations
	}
	return nil
}

func (m *ListClustersResponse) GetNextPageToken() string {
	if m != nil {
		return m.NextPageToken
	}
	return ""
}

// Request message for BigtableInstanceAdmin.DeleteCluster.
type DeleteClusterRequest struct {
	// The unique name of the cluster to be deleted. Values are of the form
	// `projects/<project>/instances/<instance>/clusters/<cluster>`.
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}

func (m *DeleteClusterRequest) Reset()                    { *m = DeleteClusterRequest{} }
func (m *DeleteClusterRequest) String() string            { return proto.CompactTextString(m) }
func (*DeleteClusterRequest) ProtoMessage()               {}
func (*DeleteClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }

func (m *DeleteClusterRequest) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

// The metadata for the Operation returned by CreateInstance.
type CreateInstanceMetadata struct {
	// The request that prompted the initiation of this CreateInstance operation.
	OriginalRequest *CreateInstanceRequest `protobuf:"bytes,1,opt,name=original_request,json=originalRequest" json:"original_request,omitempty"`
	// The time at which the original request was received.
	RequestTime *google_protobuf1.Timestamp `protobuf:"bytes,2,opt,name=request_time,json=requestTime" json:"request_time,omitempty"`
	// The time at which the operation failed or was completed successfully.
	FinishTime *google_protobuf1.Timestamp `protobuf:"bytes,3,opt,name=finish_time,json=finishTime" json:"finish_time,omitempty"`
}

func (m *CreateInstanceMetadata) Reset()                    { *m = CreateInstanceMetadata{} }
func (m *CreateInstanceMetadata) String() string            { return proto.CompactTextString(m) }
func (*CreateInstanceMetadata) ProtoMessage()               {}
func (*CreateInstanceMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }

func (m *CreateInstanceMetadata) GetOriginalRequest() *CreateInstanceRequest {
	if m != nil {
		return m.OriginalRequest
	}
	return nil
}

func (m *CreateInstanceMetadata) GetRequestTime() *google_protobuf1.Timestamp {
	if m != nil {
		return m.RequestTime
	}
	return nil
}

func (m *CreateInstanceMetadata) GetFinishTime() *google_protobuf1.Timestamp {
	if m != nil {
		return m.FinishTime
	}
	return nil
}

// The metadata for the Operation returned by UpdateInstance.
type UpdateInstanceMetadata struct {
	// The request that prompted the initiation of this UpdateInstance operation.
	OriginalRequest *PartialUpdateInstanceRequest `protobuf:"bytes,1,opt,name=original_request,json=originalRequest" json:"original_request,omitempty"`
	// The time at which the original request was received.
	RequestTime *google_protobuf1.Timestamp `protobuf:"bytes,2,opt,name=request_time,json=requestTime" json:"request_time,omitempty"`
	// The time at which the operation failed or was completed successfully.
	FinishTime *google_protobuf1.Timestamp `protobuf:"bytes,3,opt,name=finish_time,json=finishTime" json:"finish_time,omitempty"`
}

func (m *UpdateInstanceMetadata) Reset()                    { *m = UpdateInstanceMetadata{} }
func (m *UpdateInstanceMetadata) String() string            { return proto.CompactTextString(m) }
func (*UpdateInstanceMetadata) ProtoMessage()               {}
func (*UpdateInstanceMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }

func (m *UpdateInstanceMetadata) GetOriginalRequest() *PartialUpdateInstanceRequest {
	if m != nil {
		return m.OriginalRequest
	}
	return nil
}

func (m *UpdateInstanceMetadata) GetRequestTime() *google_protobuf1.Timestamp {
	if m != nil {
		return m.RequestTime
	}
	return nil
}

func (m *UpdateInstanceMetadata) GetFinishTime() *google_protobuf1.Timestamp {
	if m != nil {
		return m.FinishTime
	}
	return nil
}

// The metadata for the Operation returned by CreateCluster.
type CreateClusterMetadata struct {
	// The request that prompted the initiation of this CreateCluster operation.
	OriginalRequest *CreateClusterRequest `protobuf:"bytes,1,opt,name=original_request,json=originalRequest" json:"original_request,omitempty"`
	// The time at which the original request was received.
	RequestTime *google_protobuf1.Timestamp `protobuf:"bytes,2,opt,name=request_time,json=requestTime" json:"request_time,omitempty"`
	// The time at which the operation failed or was completed successfully.
	FinishTime *google_protobuf1.Timestamp `protobuf:"bytes,3,opt,name=finish_time,json=finishTime" json:"finish_time,omitempty"`
}

func (m *CreateClusterMetadata) Reset()                    { *m = CreateClusterMetadata{} }
func (m *CreateClusterMetadata) String() string            { return proto.CompactTextString(m) }
func (*CreateClusterMetadata) ProtoMessage()               {}
func (*CreateClusterMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }

func (m *CreateClusterMetadata) GetOriginalRequest() *CreateClusterRequest {
	if m != nil {
		return m.OriginalRequest
	}
	return nil
}

func (m *CreateClusterMetadata) GetRequestTime() *google_protobuf1.Timestamp {
	if m != nil {
		return m.RequestTime
	}
	return nil
}

func (m *CreateClusterMetadata) GetFinishTime() *google_protobuf1.Timestamp {
	if m != nil {
		return m.FinishTime
	}
	return nil
}

// The metadata for the Operation returned by UpdateCluster.
type UpdateClusterMetadata struct {
	// The request that prompted the initiation of this UpdateCluster operation.
	OriginalRequest *Cluster `protobuf:"bytes,1,opt,name=original_request,json=originalRequest" json:"original_request,omitempty"`
	// The time at which the original request was received.
	RequestTime *google_protobuf1.Timestamp `protobuf:"bytes,2,opt,name=request_time,json=requestTime" json:"request_time,omitempty"`
	// The time at which the operation failed or was completed successfully.
	FinishTime *google_protobuf1.Timestamp `protobuf:"bytes,3,opt,name=finish_time,json=finishTime" json:"finish_time,omitempty"`
}

func (m *UpdateClusterMetadata) Reset()                    { *m = UpdateClusterMetadata{} }
func (m *UpdateClusterMetadata) String() string            { return proto.CompactTextString(m) }
func (*UpdateClusterMetadata) ProtoMessage()               {}
func (*UpdateClusterMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }

func (m *UpdateClusterMetadata) GetOriginalRequest() *Cluster {
	if m != nil {
		return m.OriginalRequest
	}
	return nil
}

func (m *UpdateClusterMetadata) GetRequestTime() *google_protobuf1.Timestamp {
	if m != nil {
		return m.RequestTime
	}
	return nil
}

func (m *UpdateClusterMetadata) GetFinishTime() *google_protobuf1.Timestamp {
	if m != nil {
		return m.FinishTime
	}
	return nil
}

// This is a private alpha release of Cloud Bigtable replication. This feature
// is not currently available to most Cloud Bigtable customers. This feature
// might be changed in backward-incompatible ways and is not recommended for
// production use. It is not subject to any SLA or deprecation policy.
//
// Request message for BigtableInstanceAdmin.CreateAppProfile.
type CreateAppProfileRequest struct {
	// The unique name of the instance in which to create the new app profile.
	// Values are of the form
	// `projects/<project>/instances/<instance>`.
	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
	// The ID to be used when referring to the new app profile within its
	// instance, e.g., just `myprofile` rather than
	// `projects/myproject/instances/myinstance/appProfiles/myprofile`.
	AppProfileId string `protobuf:"bytes,2,opt,name=app_profile_id,json=appProfileId" json:"app_profile_id,omitempty"`
	// The app profile to be created.
	// Fields marked `OutputOnly` will be ignored.
	AppProfile *AppProfile `protobuf:"bytes,3,opt,name=app_profile,json=appProfile" json:"app_profile,omitempty"`
	// If true, ignore safety checks when creating the app profile.
	IgnoreWarnings bool `protobuf:"varint,4,opt,name=ignore_warnings,json=ignoreWarnings" json:"ignore_warnings,omitempty"`
}

func (m *CreateAppProfileRequest) Reset()                    { *m = CreateAppProfileRequest{} }
func (m *CreateAppProfileRequest) String() string            { return proto.CompactTextString(m) }
func (*CreateAppProfileRequest) ProtoMessage()               {}
func (*CreateAppProfileRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }

func (m *CreateAppProfileRequest) GetParent() string {
	if m != nil {
		return m.Parent
	}
	return ""
}

func (m *CreateAppProfileRequest) GetAppProfileId() string {
	if m != nil {
		return m.AppProfileId
	}
	return ""
}

func (m *CreateAppProfileRequest) GetAppProfile() *AppProfile {
	if m != nil {
		return m.AppProfile
	}
	return nil
}

func (m *CreateAppProfileRequest) GetIgnoreWarnings() bool {
	if m != nil {
		return m.IgnoreWarnings
	}
	return false
}

// This is a private alpha release of Cloud Bigtable replication. This feature
// is not currently available to most Cloud Bigtable customers. This feature
// might be changed in backward-incompatible ways and is not recommended for
// production use. It is not subject to any SLA or deprecation policy.
//
// Request message for BigtableInstanceAdmin.GetAppProfile.
type GetAppProfileRequest struct {
	// The unique name of the requested app profile. Values are of the form
	// `projects/<project>/instances/<instance>/appProfiles/<app_profile>`.
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}

func (m *GetAppProfileRequest) Reset()                    { *m = GetAppProfileRequest{} }
func (m *GetAppProfileRequest) String() string            { return proto.CompactTextString(m) }
func (*GetAppProfileRequest) ProtoMessage()               {}
func (*GetAppProfileRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }

func (m *GetAppProfileRequest) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

// This is a private alpha release of Cloud Bigtable replication. This feature
// is not currently available to most Cloud Bigtable customers. This feature
// might be changed in backward-incompatible ways and is not recommended for
// production use. It is not subject to any SLA or deprecation policy.
//
// Request message for BigtableInstanceAdmin.ListAppProfiles.
type ListAppProfilesRequest struct {
	// The unique name of the instance for which a list of app profiles is
	// requested. Values are of the form
	// `projects/<project>/instances/<instance>`.
	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
	// The value of `next_page_token` returned by a previous call.
	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
}

func (m *ListAppProfilesRequest) Reset()                    { *m = ListAppProfilesRequest{} }
func (m *ListAppProfilesRequest) String() string            { return proto.CompactTextString(m) }
func (*ListAppProfilesRequest) ProtoMessage()               {}
func (*ListAppProfilesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }

func (m *ListAppProfilesRequest) GetParent() string {
	if m != nil {
		return m.Parent
	}
	return ""
}

func (m *ListAppProfilesRequest) GetPageToken() string {
	if m != nil {
		return m.PageToken
	}
	return ""
}

// This is a private alpha release of Cloud Bigtable replication. This feature
// is not currently available to most Cloud Bigtable customers. This feature
// might be changed in backward-incompatible ways and is not recommended for
// production use. It is not subject to any SLA or deprecation policy.
//
// Response message for BigtableInstanceAdmin.ListAppProfiles.
type ListAppProfilesResponse struct {
	// The list of requested app profiles.
	AppProfiles []*AppProfile `protobuf:"bytes,1,rep,name=app_profiles,json=appProfiles" json:"app_profiles,omitempty"`
	// Set if not all app profiles could be returned in a single response.
	// Pass this value to `page_token` in another request to get the next
	// page of results.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
}

func (m *ListAppProfilesResponse) Reset()                    { *m = ListAppProfilesResponse{} }
func (m *ListAppProfilesResponse) String() string            { return proto.CompactTextString(m) }
func (*ListAppProfilesResponse) ProtoMessage()               {}
func (*ListAppProfilesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }

func (m *ListAppProfilesResponse) GetAppProfiles() []*AppProfile {
	if m != nil {
		return m.AppProfiles
	}
	return nil
}

func (m *ListAppProfilesResponse) GetNextPageToken() string {
	if m != nil {
		return m.NextPageToken
	}
	return ""
}

// This is a private alpha release of Cloud Bigtable replication. This feature
// is not currently available to most Cloud Bigtable customers. This feature
// might be changed in backward-incompatible ways and is not recommended for
// production use. It is not subject to any SLA or deprecation policy.
//
// Request message for BigtableInstanceAdmin.UpdateAppProfile.
type UpdateAppProfileRequest struct {
	// The app profile which will (partially) replace the current value.
	AppProfile *AppProfile `protobuf:"bytes,1,opt,name=app_profile,json=appProfile" json:"app_profile,omitempty"`
	// The subset of app profile fields which should be replaced.
	// If unset, all fields will be replaced.
	UpdateMask *google_protobuf4.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask" json:"update_mask,omitempty"`
	// If true, ignore safety checks when updating the app profile.
	IgnoreWarnings bool `protobuf:"varint,3,opt,name=ignore_warnings,json=ignoreWarnings" json:"ignore_warnings,omitempty"`
}

func (m *UpdateAppProfileRequest) Reset()                    { *m = UpdateAppProfileRequest{} }
func (m *UpdateAppProfileRequest) String() string            { return proto.CompactTextString(m) }
func (*UpdateAppProfileRequest) ProtoMessage()               {}
func (*UpdateAppProfileRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }

func (m *UpdateAppProfileRequest) GetAppProfile() *AppProfile {
	if m != nil {
		return m.AppProfile
	}
	return nil
}

func (m *UpdateAppProfileRequest) GetUpdateMask() *google_protobuf4.FieldMask {
	if m != nil {
		return m.UpdateMask
	}
	return nil
}

func (m *UpdateAppProfileRequest) GetIgnoreWarnings() bool {
	if m != nil {
		return m.IgnoreWarnings
	}
	return false
}

// This is a private alpha release of Cloud Bigtable replication. This feature
// is not currently available to most Cloud Bigtable customers. This feature
// might be changed in backward-incompatible ways and is not recommended for
// production use. It is not subject to any SLA or deprecation policy.
//
// Request message for BigtableInstanceAdmin.DeleteAppProfile.
type DeleteAppProfileRequest struct {
	// The unique name of the app profile to be deleted. Values are of the form
	// `projects/<project>/instances/<instance>/appProfiles/<app_profile>`.
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	// If true, ignore safety checks when deleting the app profile.
	IgnoreWarnings bool `protobuf:"varint,2,opt,name=ignore_warnings,json=ignoreWarnings" json:"ignore_warnings,omitempty"`
}

func (m *DeleteAppProfileRequest) Reset()                    { *m = DeleteAppProfileRequest{} }
func (m *DeleteAppProfileRequest) String() string            { return proto.CompactTextString(m) }
func (*DeleteAppProfileRequest) ProtoMessage()               {}
func (*DeleteAppProfileRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }

func (m *DeleteAppProfileRequest) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *DeleteAppProfileRequest) GetIgnoreWarnings() bool {
	if m != nil {
		return m.IgnoreWarnings
	}
	return false
}

func init() {
	proto.RegisterType((*CreateInstanceRequest)(nil), "google.bigtable.admin.v2.CreateInstanceRequest")
	proto.RegisterType((*GetInstanceRequest)(nil), "google.bigtable.admin.v2.GetInstanceRequest")
	proto.RegisterType((*ListInstancesRequest)(nil), "google.bigtable.admin.v2.ListInstancesRequest")
	proto.RegisterType((*ListInstancesResponse)(nil), "google.bigtable.admin.v2.ListInstancesResponse")
	proto.RegisterType((*PartialUpdateInstanceRequest)(nil), "google.bigtable.admin.v2.PartialUpdateInstanceRequest")
	proto.RegisterType((*DeleteInstanceRequest)(nil), "google.bigtable.admin.v2.DeleteInstanceRequest")
	proto.RegisterType((*CreateClusterRequest)(nil), "google.bigtable.admin.v2.CreateClusterRequest")
	proto.RegisterType((*GetClusterRequest)(nil), "google.bigtable.admin.v2.GetClusterRequest")
	proto.RegisterType((*ListClustersRequest)(nil), "google.bigtable.admin.v2.ListClustersRequest")
	proto.RegisterType((*ListClustersResponse)(nil), "google.bigtable.admin.v2.ListClustersResponse")
	proto.RegisterType((*DeleteClusterRequest)(nil), "google.bigtable.admin.v2.DeleteClusterRequest")
	proto.RegisterType((*CreateInstanceMetadata)(nil), "google.bigtable.admin.v2.CreateInstanceMetadata")
	proto.RegisterType((*UpdateInstanceMetadata)(nil), "google.bigtable.admin.v2.UpdateInstanceMetadata")
	proto.RegisterType((*CreateClusterMetadata)(nil), "google.bigtable.admin.v2.CreateClusterMetadata")
	proto.RegisterType((*UpdateClusterMetadata)(nil), "google.bigtable.admin.v2.UpdateClusterMetadata")
	proto.RegisterType((*CreateAppProfileRequest)(nil), "google.bigtable.admin.v2.CreateAppProfileRequest")
	proto.RegisterType((*GetAppProfileRequest)(nil), "google.bigtable.admin.v2.GetAppProfileRequest")
	proto.RegisterType((*ListAppProfilesRequest)(nil), "google.bigtable.admin.v2.ListAppProfilesRequest")
	proto.RegisterType((*ListAppProfilesResponse)(nil), "google.bigtable.admin.v2.ListAppProfilesResponse")
	proto.RegisterType((*UpdateAppProfileRequest)(nil), "google.bigtable.admin.v2.UpdateAppProfileRequest")
	proto.RegisterType((*DeleteAppProfileRequest)(nil), "google.bigtable.admin.v2.DeleteAppProfileRequest")
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// Client API for BigtableInstanceAdmin service

type BigtableInstanceAdminClient interface {
	// Create an instance within a project.
	CreateInstance(ctx context.Context, in *CreateInstanceRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
	// Gets information about an instance.
	GetInstance(ctx context.Context, in *GetInstanceRequest, opts ...grpc.CallOption) (*Instance, error)
	// Lists information about instances in a project.
	ListInstances(ctx context.Context, in *ListInstancesRequest, opts ...grpc.CallOption) (*ListInstancesResponse, error)
	// Updates an instance within a project.
	UpdateInstance(ctx context.Context, in *Instance, opts ...grpc.CallOption) (*Instance, error)
	// Partially updates an instance within a project.
	PartialUpdateInstance(ctx context.Context, in *PartialUpdateInstanceRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
	// Delete an instance from a project.
	DeleteInstance(ctx context.Context, in *DeleteInstanceRequest, opts ...grpc.CallOption) (*google_protobuf3.Empty, error)
	// Creates a cluster within an instance.
	CreateCluster(ctx context.Context, in *CreateClusterRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
	// Gets information about a cluster.
	GetCluster(ctx context.Context, in *GetClusterRequest, opts ...grpc.CallOption) (*Cluster, error)
	// Lists information about clusters in an instance.
	ListClusters(ctx context.Context, in *ListClustersRequest, opts ...grpc.CallOption) (*ListClustersResponse, error)
	// Updates a cluster within an instance.
	UpdateCluster(ctx context.Context, in *Cluster, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
	// Deletes a cluster from an instance.
	DeleteCluster(ctx context.Context, in *DeleteClusterRequest, opts ...grpc.CallOption) (*google_protobuf3.Empty, error)
	// This is a private alpha release of Cloud Bigtable replication. This feature
	// is not currently available to most Cloud Bigtable customers. This feature
	// might be changed in backward-incompatible ways and is not recommended for
	// production use. It is not subject to any SLA or deprecation policy.
	//
	// Creates an app profile within an instance.
	CreateAppProfile(ctx context.Context, in *CreateAppProfileRequest, opts ...grpc.CallOption) (*AppProfile, error)
	// This is a private alpha release of Cloud Bigtable replication. This feature
	// is not currently available to most Cloud Bigtable customers. This feature
	// might be changed in backward-incompatible ways and is not recommended for
	// production use. It is not subject to any SLA or deprecation policy.
	//
	// Gets information about an app profile.
	GetAppProfile(ctx context.Context, in *GetAppProfileRequest, opts ...grpc.CallOption) (*AppProfile, error)
	// This is a private alpha release of Cloud Bigtable replication. This feature
	// is not currently available to most Cloud Bigtable customers. This feature
	// might be changed in backward-incompatible ways and is not recommended for
	// production use. It is not subject to any SLA or deprecation policy.
	//
	// Lists information about app profiles in an instance.
	ListAppProfiles(ctx context.Context, in *ListAppProfilesRequest, opts ...grpc.CallOption) (*ListAppProfilesResponse, error)
	// This is a private alpha release of Cloud Bigtable replication. This feature
	// is not currently available to most Cloud Bigtable customers. This feature
	// might be changed in backward-incompatible ways and is not recommended for
	// production use. It is not subject to any SLA or deprecation policy.
	//
	// Updates an app profile within an instance.
	UpdateAppProfile(ctx context.Context, in *UpdateAppProfileRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
	// This is a private alpha release of Cloud Bigtable replication. This feature
	// is not currently available to most Cloud Bigtable customers. This feature
	// might be changed in backward-incompatible ways and is not recommended for
	// production use. It is not subject to any SLA or deprecation policy.
	//
	// Deletes an app profile from an instance.
	DeleteAppProfile(ctx context.Context, in *DeleteAppProfileRequest, opts ...grpc.CallOption) (*google_protobuf3.Empty, error)
	// This is a private alpha release of Cloud Bigtable instance level
	// permissions. This feature is not currently available to most Cloud Bigtable
	// customers. This feature might be changed in backward-incompatible ways and
	// is not recommended for production use. It is not subject to any SLA or
	// deprecation policy.
	//
	// Gets the access control policy for an instance resource. Returns an empty
	// policy if an instance exists but does not have a policy set.
	GetIamPolicy(ctx context.Context, in *google_iam_v11.GetIamPolicyRequest, opts ...grpc.CallOption) (*google_iam_v1.Policy, error)
	// This is a private alpha release of Cloud Bigtable instance level
	// permissions. This feature is not currently available to most Cloud Bigtable
	// customers. This feature might be changed in backward-incompatible ways and
	// is not recommended for production use. It is not subject to any SLA or
	// deprecation policy.
	//
	// Sets the access control policy on an instance resource. Replaces any
	// existing policy.
	SetIamPolicy(ctx context.Context, in *google_iam_v11.SetIamPolicyRequest, opts ...grpc.CallOption) (*google_iam_v1.Policy, error)
	// This is a private alpha release of Cloud Bigtable instance level
	// permissions. This feature is not currently available to most Cloud Bigtable
	// customers. This feature might be changed in backward-incompatible ways and
	// is not recommended for production use. It is not subject to any SLA or
	// deprecation policy.
	//
	// Returns permissions that the caller has on the specified instance resource.
	TestIamPermissions(ctx context.Context, in *google_iam_v11.TestIamPermissionsRequest, opts ...grpc.CallOption) (*google_iam_v11.TestIamPermissionsResponse, error)
}

type bigtableInstanceAdminClient struct {
	cc *grpc.ClientConn
}

func NewBigtableInstanceAdminClient(cc *grpc.ClientConn) BigtableInstanceAdminClient {
	return &bigtableInstanceAdminClient{cc}
}

func (c *bigtableInstanceAdminClient) CreateInstance(ctx context.Context, in *CreateInstanceRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
	out := new(google_longrunning.Operation)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/CreateInstance", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *bigtableInstanceAdminClient) GetInstance(ctx context.Context, in *GetInstanceRequest, opts ...grpc.CallOption) (*Instance, error) {
	out := new(Instance)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/GetInstance", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *bigtableInstanceAdminClient) ListInstances(ctx context.Context, in *ListInstancesRequest, opts ...grpc.CallOption) (*ListInstancesResponse, error) {
	out := new(ListInstancesResponse)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/ListInstances", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *bigtableInstanceAdminClient) UpdateInstance(ctx context.Context, in *Instance, opts ...grpc.CallOption) (*Instance, error) {
	out := new(Instance)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/UpdateInstance", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *bigtableInstanceAdminClient) PartialUpdateInstance(ctx context.Context, in *PartialUpdateInstanceRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
	out := new(google_longrunning.Operation)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/PartialUpdateInstance", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *bigtableInstanceAdminClient) DeleteInstance(ctx context.Context, in *DeleteInstanceRequest, opts ...grpc.CallOption) (*google_protobuf3.Empty, error) {
	out := new(google_protobuf3.Empty)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/DeleteInstance", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *bigtableInstanceAdminClient) CreateCluster(ctx context.Context, in *CreateClusterRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
	out := new(google_longrunning.Operation)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/CreateCluster", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *bigtableInstanceAdminClient) GetCluster(ctx context.Context, in *GetClusterRequest, opts ...grpc.CallOption) (*Cluster, error) {
	out := new(Cluster)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/GetCluster", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *bigtableInstanceAdminClient) ListClusters(ctx context.Context, in *ListClustersRequest, opts ...grpc.CallOption) (*ListClustersResponse, error) {
	out := new(ListClustersResponse)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/ListClusters", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *bigtableInstanceAdminClient) UpdateCluster(ctx context.Context, in *Cluster, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
	out := new(google_longrunning.Operation)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/UpdateCluster", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *bigtableInstanceAdminClient) DeleteCluster(ctx context.Context, in *DeleteClusterRequest, opts ...grpc.CallOption) (*google_protobuf3.Empty, error) {
	out := new(google_protobuf3.Empty)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/DeleteCluster", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *bigtableInstanceAdminClient) CreateAppProfile(ctx context.Context, in *CreateAppProfileRequest, opts ...grpc.CallOption) (*AppProfile, error) {
	out := new(AppProfile)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/CreateAppProfile", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *bigtableInstanceAdminClient) GetAppProfile(ctx context.Context, in *GetAppProfileRequest, opts ...grpc.CallOption) (*AppProfile, error) {
	out := new(AppProfile)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/GetAppProfile", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *bigtableInstanceAdminClient) ListAppProfiles(ctx context.Context, in *ListAppProfilesRequest, opts ...grpc.CallOption) (*ListAppProfilesResponse, error) {
	out := new(ListAppProfilesResponse)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/ListAppProfiles", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *bigtableInstanceAdminClient) UpdateAppProfile(ctx context.Context, in *UpdateAppProfileRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
	out := new(google_longrunning.Operation)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/UpdateAppProfile", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *bigtableInstanceAdminClient) DeleteAppProfile(ctx context.Context, in *DeleteAppProfileRequest, opts ...grpc.CallOption) (*google_protobuf3.Empty, error) {
	out := new(google_protobuf3.Empty)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/DeleteAppProfile", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *bigtableInstanceAdminClient) GetIamPolicy(ctx context.Context, in *google_iam_v11.GetIamPolicyRequest, opts ...grpc.CallOption) (*google_iam_v1.Policy, error) {
	out := new(google_iam_v1.Policy)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/GetIamPolicy", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *bigtableInstanceAdminClient) SetIamPolicy(ctx context.Context, in *google_iam_v11.SetIamPolicyRequest, opts ...grpc.CallOption) (*google_iam_v1.Policy, error) {
	out := new(google_iam_v1.Policy)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/SetIamPolicy", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *bigtableInstanceAdminClient) TestIamPermissions(ctx context.Context, in *google_iam_v11.TestIamPermissionsRequest, opts ...grpc.CallOption) (*google_iam_v11.TestIamPermissionsResponse, error) {
	out := new(google_iam_v11.TestIamPermissionsResponse)
	err := grpc.Invoke(ctx, "/google.bigtable.admin.v2.BigtableInstanceAdmin/TestIamPermissions", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for BigtableInstanceAdmin service

type BigtableInstanceAdminServer interface {
	// Create an instance within a project.
	CreateInstance(context.Context, *CreateInstanceRequest) (*google_longrunning.Operation, error)
	// Gets information about an instance.
	GetInstance(context.Context, *GetInstanceRequest) (*Instance, error)
	// Lists information about instances in a project.
	ListInstances(context.Context, *ListInstancesRequest) (*ListInstancesResponse, error)
	// Updates an instance within a project.
	UpdateInstance(context.Context, *Instance) (*Instance, error)
	// Partially updates an instance within a project.
	PartialUpdateInstance(context.Context, *PartialUpdateInstanceRequest) (*google_longrunning.Operation, error)
	// Delete an instance from a project.
	DeleteInstance(context.Context, *DeleteInstanceRequest) (*google_protobuf3.Empty, error)
	// Creates a cluster within an instance.
	CreateCluster(context.Context, *CreateClusterRequest) (*google_longrunning.Operation, error)
	// Gets information about a cluster.
	GetCluster(context.Context, *GetClusterRequest) (*Cluster, error)
	// Lists information about clusters in an instance.
	ListClusters(context.Context, *ListClustersRequest) (*ListClustersResponse, error)
	// Updates a cluster within an instance.
	UpdateCluster(context.Context, *Cluster) (*google_longrunning.Operation, error)
	// Deletes a cluster from an instance.
	DeleteCluster(context.Context, *DeleteClusterRequest) (*google_protobuf3.Empty, error)
	// This is a private alpha release of Cloud Bigtable replication. This feature
	// is not currently available to most Cloud Bigtable customers. This feature
	// might be changed in backward-incompatible ways and is not recommended for
	// production use. It is not subject to any SLA or deprecation policy.
	//
	// Creates an app profile within an instance.
	CreateAppProfile(context.Context, *CreateAppProfileRequest) (*AppProfile, error)
	// This is a private alpha release of Cloud Bigtable replication. This feature
	// is not currently available to most Cloud Bigtable customers. This feature
	// might be changed in backward-incompatible ways and is not recommended for
	// production use. It is not subject to any SLA or deprecation policy.
	//
	// Gets information about an app profile.
	GetAppProfile(context.Context, *GetAppProfileRequest) (*AppProfile, error)
	// This is a private alpha release of Cloud Bigtable replication. This feature
	// is not currently available to most Cloud Bigtable customers. This feature
	// might be changed in backward-incompatible ways and is not recommended for
	// production use. It is not subject to any SLA or deprecation policy.
	//
	// Lists information about app profiles in an instance.
	ListAppProfiles(context.Context, *ListAppProfilesRequest) (*ListAppProfilesResponse, error)
	// This is a private alpha release of Cloud Bigtable replication. This feature
	// is not currently available to most Cloud Bigtable customers. This feature
	// might be changed in backward-incompatible ways and is not recommended for
	// production use. It is not subject to any SLA or deprecation policy.
	//
	// Updates an app profile within an instance.
	UpdateAppProfile(context.Context, *UpdateAppProfileRequest) (*google_longrunning.Operation, error)
	// This is a private alpha release of Cloud Bigtable replication. This feature
	// is not currently available to most Cloud Bigtable customers. This feature
	// might be changed in backward-incompatible ways and is not recommended for
	// production use. It is not subject to any SLA or deprecation policy.
	//
	// Deletes an app profile from an instance.
	DeleteAppProfile(context.Context, *DeleteAppProfileRequest) (*google_protobuf3.Empty, error)
	// This is a private alpha release of Cloud Bigtable instance level
	// permissions. This feature is not currently available to most Cloud Bigtable
	// customers. This feature might be changed in backward-incompatible ways and
	// is not recommended for production use. It is not subject to any SLA or
	// deprecation policy.
	//
	// Gets the access control policy for an instance resource. Returns an empty
	// policy if an instance exists but does not have a policy set.
	GetIamPolicy(context.Context, *google_iam_v11.GetIamPolicyRequest) (*google_iam_v1.Policy, error)
	// This is a private alpha release of Cloud Bigtable instance level
	// permissions. This feature is not currently available to most Cloud Bigtable
	// customers. This feature might be changed in backward-incompatible ways and
	// is not recommended for production use. It is not subject to any SLA or
	// deprecation policy.
	//
	// Sets the access control policy on an instance resource. Replaces any
	// existing policy.
	SetIamPolicy(context.Context, *google_iam_v11.SetIamPolicyRequest) (*google_iam_v1.Policy, error)
	// This is a private alpha release of Cloud Bigtable instance level
	// permissions. This feature is not currently available to most Cloud Bigtable
	// customers. This feature might be changed in backward-incompatible ways and
	// is not recommended for production use. It is not subject to any SLA or
	// deprecation policy.
	//
	// Returns permissions that the caller has on the specified instance resource.
	TestIamPermissions(context.Context, *google_iam_v11.TestIamPermissionsRequest) (*google_iam_v11.TestIamPermissionsResponse, error)
}

func RegisterBigtableInstanceAdminServer(s *grpc.Server, srv BigtableInstanceAdminServer) {
	s.RegisterService(&_BigtableInstanceAdmin_serviceDesc, srv)
}

func _BigtableInstanceAdmin_CreateInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).CreateInstance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/CreateInstance",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).CreateInstance(ctx, req.(*CreateInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _BigtableInstanceAdmin_GetInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).GetInstance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/GetInstance",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).GetInstance(ctx, req.(*GetInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _BigtableInstanceAdmin_ListInstances_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListInstancesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).ListInstances(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/ListInstances",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).ListInstances(ctx, req.(*ListInstancesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _BigtableInstanceAdmin_UpdateInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Instance)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).UpdateInstance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/UpdateInstance",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).UpdateInstance(ctx, req.(*Instance))
	}
	return interceptor(ctx, in, info, handler)
}

func _BigtableInstanceAdmin_PartialUpdateInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PartialUpdateInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).PartialUpdateInstance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/PartialUpdateInstance",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).PartialUpdateInstance(ctx, req.(*PartialUpdateInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _BigtableInstanceAdmin_DeleteInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).DeleteInstance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/DeleteInstance",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).DeleteInstance(ctx, req.(*DeleteInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _BigtableInstanceAdmin_CreateCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateClusterRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).CreateCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/CreateCluster",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).CreateCluster(ctx, req.(*CreateClusterRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _BigtableInstanceAdmin_GetCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetClusterRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).GetCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/GetCluster",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).GetCluster(ctx, req.(*GetClusterRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _BigtableInstanceAdmin_ListClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListClustersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).ListClusters(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/ListClusters",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).ListClusters(ctx, req.(*ListClustersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _BigtableInstanceAdmin_UpdateCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Cluster)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).UpdateCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/UpdateCluster",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).UpdateCluster(ctx, req.(*Cluster))
	}
	return interceptor(ctx, in, info, handler)
}

func _BigtableInstanceAdmin_DeleteCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteClusterRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).DeleteCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/DeleteCluster",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).DeleteCluster(ctx, req.(*DeleteClusterRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _BigtableInstanceAdmin_CreateAppProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateAppProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).CreateAppProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/CreateAppProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).CreateAppProfile(ctx, req.(*CreateAppProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _BigtableInstanceAdmin_GetAppProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetAppProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).GetAppProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/GetAppProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).GetAppProfile(ctx, req.(*GetAppProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _BigtableInstanceAdmin_ListAppProfiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListAppProfilesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).ListAppProfiles(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/ListAppProfiles",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).ListAppProfiles(ctx, req.(*ListAppProfilesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _BigtableInstanceAdmin_UpdateAppProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateAppProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).UpdateAppProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/UpdateAppProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).UpdateAppProfile(ctx, req.(*UpdateAppProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _BigtableInstanceAdmin_DeleteAppProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteAppProfileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).DeleteAppProfile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/DeleteAppProfile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).DeleteAppProfile(ctx, req.(*DeleteAppProfileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _BigtableInstanceAdmin_GetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(google_iam_v11.GetIamPolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).GetIamPolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/GetIamPolicy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).GetIamPolicy(ctx, req.(*google_iam_v11.GetIamPolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _BigtableInstanceAdmin_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(google_iam_v11.SetIamPolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).SetIamPolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/SetIamPolicy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).SetIamPolicy(ctx, req.(*google_iam_v11.SetIamPolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _BigtableInstanceAdmin_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(google_iam_v11.TestIamPermissionsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(BigtableInstanceAdminServer).TestIamPermissions(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.bigtable.admin.v2.BigtableInstanceAdmin/TestIamPermissions",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(BigtableInstanceAdminServer).TestIamPermissions(ctx, req.(*google_iam_v11.TestIamPermissionsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _BigtableInstanceAdmin_serviceDesc = grpc.ServiceDesc{
	ServiceName: "google.bigtable.admin.v2.BigtableInstanceAdmin",
	HandlerType: (*BigtableInstanceAdminServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateInstance",
			Handler:    _BigtableInstanceAdmin_CreateInstance_Handler,
		},
		{
			MethodName: "GetInstance",
			Handler:    _BigtableInstanceAdmin_GetInstance_Handler,
		},
		{
			MethodName: "ListInstances",
			Handler:    _BigtableInstanceAdmin_ListInstances_Handler,
		},
		{
			MethodName: "UpdateInstance",
			Handler:    _BigtableInstanceAdmin_UpdateInstance_Handler,
		},
		{
			MethodName: "PartialUpdateInstance",
			Handler:    _BigtableInstanceAdmin_PartialUpdateInstance_Handler,
		},
		{
			MethodName: "DeleteInstance",
			Handler:    _BigtableInstanceAdmin_DeleteInstance_Handler,
		},
		{
			MethodName: "CreateCluster",
			Handler:    _BigtableInstanceAdmin_CreateCluster_Handler,
		},
		{
			MethodName: "GetCluster",
			Handler:    _BigtableInstanceAdmin_GetCluster_Handler,
		},
		{
			MethodName: "ListClusters",
			Handler:    _BigtableInstanceAdmin_ListClusters_Handler,
		},
		{
			MethodName: "UpdateCluster",
			Handler:    _BigtableInstanceAdmin_UpdateCluster_Handler,
		},
		{
			MethodName: "DeleteCluster",
			Handler:    _BigtableInstanceAdmin_DeleteCluster_Handler,
		},
		{
			MethodName: "CreateAppProfile",
			Handler:    _BigtableInstanceAdmin_CreateAppProfile_Handler,
		},
		{
			MethodName: "GetAppProfile",
			Handler:    _BigtableInstanceAdmin_GetAppProfile_Handler,
		},
		{
			MethodName: "ListAppProfiles",
			Handler:    _BigtableInstanceAdmin_ListAppProfiles_Handler,
		},
		{
			MethodName: "UpdateAppProfile",
			Handler:    _BigtableInstanceAdmin_UpdateAppProfile_Handler,
		},
		{
			MethodName: "DeleteAppProfile",
			Handler:    _BigtableInstanceAdmin_DeleteAppProfile_Handler,
		},
		{
			MethodName: "GetIamPolicy",
			Handler:    _BigtableInstanceAdmin_GetIamPolicy_Handler,
		},
		{
			MethodName: "SetIamPolicy",
			Handler:    _BigtableInstanceAdmin_SetIamPolicy_Handler,
		},
		{
			MethodName: "TestIamPermissions",
			Handler:    _BigtableInstanceAdmin_TestIamPermissions_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "google/bigtable/admin/v2/bigtable_instance_admin.proto",
}

func init() {
	proto.RegisterFile("google/bigtable/admin/v2/bigtable_instance_admin.proto", fileDescriptor0)
}

var fileDescriptor0 = []byte{
	// 1559 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0xcd, 0x6f, 0xdc, 0x44,
	0x1b, 0xd7, 0x6c, 0xfa, 0xf6, 0x6d, 0x9e, 0xcd, 0xd7, 0x3b, 0x6f, 0xf3, 0x21, 0xd3, 0x8f, 0xd4,
	0xad, 0xda, 0x74, 0x1b, 0x6c, 0xb2, 0xa0, 0xb6, 0x4a, 0x48, 0x45, 0x9b, 0x96, 0x28, 0x28, 0x55,
	0xa3, 0x6d, 0x29, 0x6a, 0x15, 0xb1, 0x9a, 0x64, 0x27, 0x8b, 0x89, 0xd7, 0x36, 0xb6, 0x37, 0x50,
	0xa1, 0x5e, 0x10, 0x42, 0xa8, 0x12, 0x1c, 0x40, 0xe2, 0x52, 0xc1, 0x85, 0x0b, 0xaa, 0x10, 0x88,
	0x0b, 0x37, 0xae, 0x20, 0xc1, 0x91, 0xbf, 0x00, 0x89, 0x33, 0xe2, 0xc6, 0x15, 0xcd, 0x97, 0xd7,
	0xf6, 0xda, 0x6b, 0xa7, 0x55, 0xa5, 0x9e, 0xba, 0x9e, 0x79, 0xe6, 0x99, 0xdf, 0xf3, 0x3c, 0xbf,
	0x67, 0xe6, 0x37, 0x29, 0x9c, 0x6f, 0xbb, 0x6e, 0xdb, 0xa6, 0xe6, 0x96, 0xd5, 0x0e, 0xc9, 0x96,
	0x4d, 0x4d, 0xd2, 0xea, 0x58, 0x8e, 0xb9, 0x57, 0x8f, 0x46, 0x9a, 0x96, 0x13, 0x84, 0xc4, 0xd9,
	0xa6, 0x4d, 0x3e, 0x65, 0x78, 0xbe, 0x1b, 0xba, 0x78, 0x46, 0xac, 0x33, 0x94, 0x95, 0x21, 0x26,
	0xf7, 0xea, 0xda, 0x11, 0xe9, 0x91, 0x78, 0x96, 0x49, 0x1c, 0xc7, 0x0d, 0x49, 0x68, 0xb9, 0x4e,
	0x20, 0xd6, 0x69, 0x67, 0x72, 0xf7, 0x53, 0xdb, 0x48, 0xc3, 0x63, 0xd2, 0xd0, 0x22, 0x1d, 0x73,
	0x6f, 0x81, 0xfd, 0xd3, 0xf4, 0x5c, 0xdb, 0xda, 0xbe, 0x27, 0xe7, 0xb5, 0xe4, 0x7c, 0x62, 0xee,
	0xa4, 0x9c, 0xb3, 0x5d, 0xa7, 0xed, 0x77, 0x1d, 0xc7, 0x72, 0xda, 0xa6, 0xeb, 0x51, 0x3f, 0x81,
	0xe4, 0x39, 0x69, 0xc4, 0xbf, 0xb6, 0xba, 0x3b, 0x26, 0xed, 0x78, 0xa1, 0xf2, 0x30, 0x9b, 0x9e,
	0xdc, 0xb1, 0xa8, 0xdd, 0x6a, 0x76, 0x48, 0xb0, 0x2b, 0x2d, 0x8e, 0xa7, 0x2d, 0x42, 0xab, 0x43,
	0x83, 0x90, 0x74, 0x3c, 0x61, 0xa0, 0xff, 0x56, 0x81, 0xc9, 0x15, 0x9f, 0x92, 0x90, 0xae, 0xc9,
	0xc8, 0x1a, 0xf4, 0x9d, 0x2e, 0x0d, 0x42, 0x3c, 0x05, 0x07, 0x3d, 0xe2, 0x53, 0x27, 0x9c, 0x41,
	0xb3, 0x68, 0x6e, 0xb8, 0x21, 0xbf, 0xf0, 0x71, 0xa8, 0x46, 0xb9, 0xb6, 0x5a, 0x33, 0x15, 0x3e,
	0x09, 0x6a, 0x68, 0xad, 0x85, 0x2f, 0xc1, 0x21, 0xf5, 0x35, 0x33, 0x34, 0x8b, 0xe6, 0xaa, 0x75,
	0xdd, 0xc8, 0xab, 0x83, 0x11, 0xed, 0x1a, 0xad, 0xc1, 0x77, 0xe0, 0xd0, 0xb6, 0xdd, 0x0d, 0x42,
	0xea, 0x07, 0x33, 0x07, 0x66, 0x87, 0xe6, 0xaa, 0xf5, 0xe5, 0xfc, 0xf5, 0x99, 0xd8, 0x8d, 0x15,
	0xb9, 0xfe, 0x9a, 0x13, 0xfa, 0xf7, 0x1a, 0x91, 0x3b, 0xed, 0x4d, 0x18, 0x4d, 0x4c, 0xe1, 0x09,
	0x18, 0xda, 0xa5, 0xf7, 0x64, 0x84, 0xec, 0x27, 0xbe, 0x00, 0xff, 0xd9, 0x23, 0x76, 0x97, 0xf2,
	0xc0, 0xaa, 0xf5, 0x13, 0x03, 0xb6, 0x16, 0x9e, 0x1a, 0xc2, 0x7e, 0xb1, 0x72, 0x11, 0xe9, 0x73,
	0x80, 0x57, 0x69, 0x98, 0xce, 0x24, 0x86, 0x03, 0x0e, 0xe9, 0x50, 0xb9, 0x0b, 0xff, 0xad, 0x5f,
	0x87, 0xc3, 0xeb, 0x56, 0x10, 0x99, 0x06, 0x45, 0x59, 0x3f, 0x0a, 0xe0, 0x91, 0x36, 0x6d, 0x86,
	0xee, 0x2e, 0x75, 0x64, 0xd2, 0x87, 0xd9, 0xc8, 0x2d, 0x36, 0xa0, 0x7f, 0x8b, 0x60, 0x32, 0xe5,
	0x2f, 0xf0, 0x5c, 0x27, 0xa0, 0xf8, 0x15, 0x18, 0x56, 0x99, 0x0d, 0x66, 0x10, 0x4f, 0x67, 0x99,
	0x72, 0xf4, 0x16, 0xe1, 0xb3, 0x30, 0xb1, 0x43, 0x2c, 0x9b, 0xb6, 0x9a, 0xb6, 0xbb, 0x2d, 0xc8,
	0x39, 0x53, 0x99, 0x1d, 0x9a, 0x1b, 0x6e, 0x8c, 0x8b, 0xf1, 0x75, 0x35, 0x8c, 0x4f, 0xc3, 0xb8,
	0x43, 0xdf, 0x0b, 0x9b, 0x31, 0xa8, 0x43, 0x1c, 0xea, 0x28, 0x1b, 0xde, 0x88, 0xe0, 0x3e, 0x44,
	0x70, 0x64, 0x83, 0xf8, 0xa1, 0x45, 0xec, 0xd7, 0xbd, 0x56, 0x06, 0xf9, 0xe2, 0x1c, 0x42, 0x8f,
	0xc1, 0xa1, 0x25, 0xa8, 0x76, 0xb9, 0x63, 0xde, 0x0c, 0xb2, 0x96, 0x9a, 0x72, 0xa1, 0xba, 0xc1,
	0x78, 0x95, 0xf5, 0xcb, 0x75, 0x12, 0xec, 0x36, 0x40, 0x98, 0xb3, 0xdf, 0xfa, 0x39, 0x98, 0xbc,
	0x4a, 0x6d, 0xda, 0x8f, 0x2a, 0xab, 0x90, 0x0f, 0x10, 0x1c, 0x16, 0x24, 0x54, 0x7c, 0x28, 0xae,
	0xa4, 0xe4, 0x63, 0xaf, 0x7d, 0x86, 0xe5, 0xc8, 0x5a, 0x0b, 0x2f, 0xc1, 0x7f, 0xe5, 0x87, 0x6c,
	0x9e, 0x12, 0x0c, 0x54, 0x2b, 0xf4, 0x33, 0xf0, 0xbf, 0x55, 0x1a, 0xa6, 0x80, 0x64, 0xa1, 0x5e,
	0x87, 0xff, 0x33, 0xba, 0xa8, 0x66, 0x78, 0x42, 0xf6, 0x7d, 0x83, 0x04, 0x9b, 0x7b, 0xee, 0x24,
	0xf9, 0x96, 0x63, 0xad, 0x2c, 0xb8, 0x57, 0x22, 0x9a, 0x68, 0xc9, 0xd3, 0x60, 0x5e, 0x0d, 0x0e,
	0x8b, 0xda, 0x96, 0x48, 0xd2, 0xdf, 0x08, 0xa6, 0x92, 0xe7, 0xcb, 0x75, 0x1a, 0x92, 0x16, 0x09,
	0x09, 0xbe, 0x0b, 0x13, 0xae, 0x6f, 0xb5, 0x2d, 0x87, 0xd8, 0x4d, 0x5f, 0xb8, 0x90, 0x3c, 0x35,
	0xf7, 0x79, 0x56, 0x35, 0xc6, 0x95, 0x23, 0x05, 0x65, 0x19, 0x46, 0xa4, 0xcb, 0x26, 0x3b, 0xad,
	0x73, 0xc9, 0x7b, 0x4b, 0x1d, 0xe5, 0x8d, 0xaa, 0xb4, 0x67, 0x23, 0x8c, 0xfa, 0x3b, 0x96, 0x63,
	0x05, 0x6f, 0x89, 0xd5, 0x43, 0x85, 0xab, 0x41, 0x98, 0xb3, 0x01, 0xfd, 0x1f, 0x04, 0x53, 0xc9,
	0x8e, 0x8c, 0x42, 0x26, 0xb9, 0x21, 0x9f, 0xcf, 0x0f, 0x79, 0x50, 0x93, 0x3f, 0x5b, 0x91, 0xff,
	0x85, 0xd4, 0x45, 0x28, 0x99, 0x11, 0x05, 0x7e, 0x27, 0x37, 0x70, 0xa3, 0xa8, 0xd6, 0x49, 0x92,
	0x3d, 0x5b, 0x01, 0xff, 0x81, 0x60, 0x52, 0xd4, 0x25, 0x1d, 0xf0, 0x7a, 0x6e, 0xc0, 0x25, 0xba,
	0xf7, 0x99, 0x8a, 0xf1, 0x17, 0x04, 0xd3, 0xa2, 0x12, 0x97, 0x3d, 0x6f, 0xc3, 0x77, 0x77, 0x2c,
	0xbb, 0x50, 0xdf, 0x9c, 0x82, 0x31, 0xe2, 0x79, 0x4d, 0x4f, 0x58, 0xf7, 0xce, 0xe8, 0x11, 0x12,
	0xb9, 0x58, 0x6b, 0xe1, 0x6b, 0x50, 0x8d, 0x59, 0x49, 0x58, 0xa7, 0xf2, 0xd3, 0x13, 0xdb, 0x1f,
	0x7a, 0x8e, 0xf0, 0x19, 0x18, 0xb7, 0xda, 0x8e, 0xeb, 0xd3, 0xe6, 0xbb, 0xc4, 0x67, 0x0a, 0x90,
	0x49, 0x1e, 0x34, 0x77, 0xa8, 0x31, 0x26, 0x86, 0xdf, 0x90, 0xa3, 0xec, 0xdc, 0x5a, 0xa5, 0x61,
	0x7f, 0x14, 0x59, 0xe7, 0xd6, 0x0d, 0x98, 0x62, 0xa7, 0x71, 0xcf, 0xf8, 0x49, 0xcf, 0xf7, 0x07,
	0x08, 0xa6, 0xfb, 0x3c, 0xca, 0x23, 0x7e, 0x15, 0x46, 0x62, 0x89, 0x50, 0xc7, 0x7c, 0xb9, 0x4c,
	0x54, 0x7b, 0x99, 0xc8, 0x3c, 0xc1, 0x2b, 0x59, 0x27, 0xf8, 0xcf, 0x08, 0xa6, 0x05, 0x6f, 0xfb,
	0xb3, 0x91, 0xaa, 0x0a, 0x7a, 0xcc, 0xaa, 0x3c, 0x89, 0x7a, 0xc8, 0x2a, 0xe9, 0x50, 0x66, 0x49,
	0x6f, 0xc3, 0xb4, 0xb8, 0x8a, 0x4a, 0x55, 0x35, 0xcb, 0x6f, 0x25, 0xcb, 0x6f, 0xfd, 0xd1, 0x34,
	0x4c, 0x5e, 0x91, 0xa1, 0xaa, 0x23, 0xf7, 0x32, 0x8b, 0x18, 0x7f, 0x8a, 0x60, 0x2c, 0x79, 0x09,
	0xe1, 0xfd, 0x5e, 0x57, 0xda, 0x51, 0xb5, 0x20, 0xf6, 0x6c, 0x31, 0x6e, 0xa8, 0x67, 0x8b, 0x3e,
	0xff, 0xc1, 0xef, 0x7f, 0x7e, 0x5e, 0x39, 0xad, 0x9f, 0x60, 0x8f, 0xa5, 0xf7, 0x05, 0xbd, 0x96,
	0x3d, 0xdf, 0x7d, 0x9b, 0x6e, 0x87, 0x81, 0x59, 0xbb, 0x1f, 0x3d, 0xa0, 0x82, 0x45, 0x54, 0xc3,
	0x0f, 0x10, 0x54, 0x63, 0x82, 0x19, 0xcf, 0xe7, 0xa3, 0xe9, 0xd7, 0xd5, 0x5a, 0x09, 0x49, 0xa8,
	0x9f, 0xe5, 0x78, 0x4e, 0x62, 0x81, 0x87, 0x25, 0x32, 0x86, 0xa6, 0x07, 0xc6, 0xac, 0xdd, 0xc7,
	0x0f, 0x11, 0x8c, 0x26, 0x34, 0x34, 0x1e, 0x70, 0xbe, 0x67, 0x89, 0x77, 0xcd, 0x2c, 0x6d, 0x2f,
	0x9a, 0x27, 0x85, 0x6e, 0x50, 0xb6, 0xf0, 0x47, 0x08, 0xc6, 0x92, 0xd7, 0x28, 0x2e, 0x11, 0x7f,
	0xa9, 0x1c, 0xc9, 0x9a, 0x69, 0xc5, 0x39, 0x62, 0x35, 0x63, 0x4f, 0x8d, 0xcc, 0x6b, 0x1d, 0x3f,
	0xa6, 0x0e, 0x28, 0xa2, 0xd4, 0xcb, 0x1c, 0xde, 0xf9, 0x7a, 0x8d, 0xc3, 0x8b, 0x1e, 0xe0, 0x03,
	0x71, 0xf6, 0x5e, 0x02, 0x1f, 0x22, 0x18, 0x4b, 0xaa, 0xf9, 0x41, 0x9c, 0xcf, 0xd4, 0xfd, 0xda,
	0x54, 0x5f, 0xeb, 0x5f, 0x63, 0xaf, 0x70, 0x55, 0xbe, 0x5a, 0x09, 0x72, 0x7d, 0x89, 0x60, 0x34,
	0xa1, 0x09, 0xf0, 0x3e, 0xc5, 0x43, 0x51, 0x96, 0x96, 0x39, 0x96, 0x0b, 0xfa, 0x7c, 0x36, 0x95,
	0x12, 0x68, 0x4c, 0xa5, 0xb0, 0x17, 0xd5, 0xcb, 0x01, 0x7f, 0x86, 0x00, 0x7a, 0x4f, 0x07, 0x7c,
	0x6e, 0x60, 0x23, 0xa6, 0x90, 0x15, 0xab, 0x02, 0xfd, 0x25, 0x8e, 0xce, 0xc0, 0xf3, 0x45, 0x99,
	0x8a, 0xa0, 0xb1, 0xa4, 0x7d, 0x8d, 0x60, 0x24, 0xfe, 0xae, 0xc0, 0xcf, 0x0f, 0x6e, 0xb0, 0xd4,
	0x73, 0x46, 0x33, 0xca, 0x9a, 0xcb, 0x76, 0x4c, 0xa2, 0x2c, 0x99, 0x43, 0x76, 0x88, 0x8d, 0x26,
	0x84, 0x14, 0x2e, 0x4e, 0x48, 0x51, 0x35, 0x2f, 0x70, 0x24, 0x0b, 0xda, 0xbe, 0xf2, 0xc5, 0xba,
	0xf3, 0x13, 0x04, 0xa3, 0x89, 0x07, 0xce, 0x20, 0x9e, 0x65, 0xbd, 0x84, 0x72, 0xc9, 0x2e, 0x93,
	0x53, 0xdb, 0x5f, 0x09, 0x7f, 0x40, 0x30, 0x91, 0x56, 0x60, 0x78, 0xa1, 0x88, 0xfa, 0x7d, 0x37,
	0xa2, 0x56, 0xea, 0x12, 0xd7, 0xaf, 0x72, 0x8c, 0x97, 0x74, 0xb3, 0x4c, 0x01, 0x63, 0xe2, 0x63,
	0x31, 0x2e, 0x1b, 0xf0, 0x57, 0x08, 0x46, 0x13, 0x62, 0x6b, 0x50, 0x0e, 0xb3, 0x54, 0x59, 0x49,
	0xb4, 0xb2, 0xc8, 0xd8, 0x2c, 0xcc, 0x68, 0x0c, 0x2a, 0x4b, 0xea, 0xf7, 0x08, 0xc6, 0x53, 0x7a,
	0x0c, 0xbf, 0x30, 0x98, 0xeb, 0xfd, 0x62, 0x50, 0x5b, 0xd8, 0xc7, 0x0a, 0xd9, 0x20, 0x49, 0xc4,
	0xe5, 0xf3, 0x8b, 0x7f, 0x44, 0x30, 0x91, 0x16, 0x6d, 0x83, 0x68, 0x90, 0x23, 0xf0, 0x8a, 0xda,
	0x66, 0x83, 0xe3, 0x7b, 0xad, 0xbe, 0xc4, 0xf1, 0xc5, 0x6a, 0x6a, 0x94, 0xcf, 0x6e, 0x92, 0x0b,
	0x5f, 0x20, 0x98, 0x48, 0xab, 0xb4, 0x41, 0xc0, 0x73, 0x14, 0x5d, 0x6e, 0x57, 0xc9, 0x8c, 0xd6,
	0xf6, 0xcd, 0x81, 0x8f, 0x11, 0x8c, 0x30, 0x4d, 0x44, 0x3a, 0x1b, 0xfc, 0x8f, 0xca, 0x3d, 0x35,
	0x60, 0x91, 0x8e, 0xb1, 0xb7, 0x60, 0xc4, 0x27, 0x15, 0x8a, 0xc9, 0x94, 0x8d, 0x98, 0x8d, 0xee,
	0x8e, 0x3a, 0x07, 0xe1, 0xd3, 0xc0, 0xed, 0xfa, 0xdb, 0xf9, 0x97, 0x6b, 0x3b, 0xe6, 0x99, 0x9d,
	0x39, 0x0c, 0xca, 0xcd, 0x41, 0x50, 0x6e, 0x3e, 0x35, 0x28, 0x41, 0x0a, 0xca, 0x77, 0x08, 0xf0,
	0x2d, 0x1a, 0xf0, 0x41, 0xea, 0x77, 0xac, 0x20, 0xe0, 0x7f, 0x1d, 0x9a, 0x4b, 0x6d, 0xd6, 0x6f,
	0xa2, 0x60, 0x9d, 0x2d, 0x61, 0x29, 0x9b, 0x61, 0x85, 0x43, 0x5d, 0xd6, 0x2f, 0x96, 0x83, 0x1a,
	0xf6, 0x79, 0x5a, 0x44, 0xb5, 0x2b, 0x3f, 0x21, 0x38, 0xb2, 0xed, 0x76, 0x72, 0x09, 0x75, 0x45,
	0xcb, 0x94, 0xf2, 0x1b, 0x8c, 0x45, 0x1b, 0xe8, 0xee, 0xb2, 0x5c, 0xd7, 0x76, 0x6d, 0xe2, 0xb4,
	0x0d, 0xd7, 0x6f, 0x9b, 0x6d, 0xea, 0x70, 0x8e, 0x99, 0x62, 0x8a, 0x78, 0x56, 0xd0, 0xff, 0xff,
	0x18, 0x4b, 0xfc, 0xc7, 0xa3, 0xca, 0xb1, 0x55, 0xb1, 0x7e, 0xc5, 0x76, 0xbb, 0x2d, 0x43, 0x6d,
	0x65, 0xf0, 0x3d, 0x8c, 0xdb, 0xf5, 0x5f, 0x95, 0xc1, 0x26, 0x37, 0xd8, 0x54, 0x06, 0x9b, 0xdc,
	0x60, 0xf3, 0x76, 0x7d, 0xeb, 0x20, 0xdf, 0xeb, 0xc5, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x2f,
	0xdb, 0x53, 0xda, 0xa2, 0x19, 0x00, 0x00,
}
