// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.35.2
// 	protoc        v4.25.7
// source: google/cloud/bigquery/v2/table.proto

package bigquerypb

import (
	context "context"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Replication status of the table created using `AS REPLICA` like:
// `CREATE MATERIALIZED VIEW mv1 AS REPLICA OF src_mv`
type TableReplicationInfo_ReplicationStatus int32

const (
	// Default value.
	TableReplicationInfo_REPLICATION_STATUS_UNSPECIFIED TableReplicationInfo_ReplicationStatus = 0
	// Replication is Active with no errors.
	TableReplicationInfo_ACTIVE TableReplicationInfo_ReplicationStatus = 1
	// Source object is deleted.
	TableReplicationInfo_SOURCE_DELETED TableReplicationInfo_ReplicationStatus = 2
	// Source revoked replication permissions.
	TableReplicationInfo_PERMISSION_DENIED TableReplicationInfo_ReplicationStatus = 3
	// Source configuration doesn’t allow replication.
	TableReplicationInfo_UNSUPPORTED_CONFIGURATION TableReplicationInfo_ReplicationStatus = 4
)

// Enum value maps for TableReplicationInfo_ReplicationStatus.
var (
	TableReplicationInfo_ReplicationStatus_name = map[int32]string{
		0: "REPLICATION_STATUS_UNSPECIFIED",
		1: "ACTIVE",
		2: "SOURCE_DELETED",
		3: "PERMISSION_DENIED",
		4: "UNSUPPORTED_CONFIGURATION",
	}
	TableReplicationInfo_ReplicationStatus_value = map[string]int32{
		"REPLICATION_STATUS_UNSPECIFIED": 0,
		"ACTIVE":                         1,
		"SOURCE_DELETED":                 2,
		"PERMISSION_DENIED":              3,
		"UNSUPPORTED_CONFIGURATION":      4,
	}
)

func (x TableReplicationInfo_ReplicationStatus) Enum() *TableReplicationInfo_ReplicationStatus {
	p := new(TableReplicationInfo_ReplicationStatus)
	*p = x
	return p
}

func (x TableReplicationInfo_ReplicationStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (TableReplicationInfo_ReplicationStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_bigquery_v2_table_proto_enumTypes[0].Descriptor()
}

func (TableReplicationInfo_ReplicationStatus) Type() protoreflect.EnumType {
	return &file_google_cloud_bigquery_v2_table_proto_enumTypes[0]
}

func (x TableReplicationInfo_ReplicationStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use TableReplicationInfo_ReplicationStatus.Descriptor instead.
func (TableReplicationInfo_ReplicationStatus) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{0, 0}
}

// TableMetadataView specifies which table information is returned.
type GetTableRequest_TableMetadataView int32

const (
	// The default value.
	// Default to the STORAGE_STATS view.
	GetTableRequest_TABLE_METADATA_VIEW_UNSPECIFIED GetTableRequest_TableMetadataView = 0
	// Includes basic table information including schema and
	// partitioning specification. This view does not include storage statistics
	// such as numRows or numBytes. This view is significantly more efficient
	// and should be used to support high query rates.
	GetTableRequest_BASIC GetTableRequest_TableMetadataView = 1
	// Includes all information in the BASIC view as well as storage statistics
	// (numBytes, numLongTermBytes, numRows and lastModifiedTime).
	GetTableRequest_STORAGE_STATS GetTableRequest_TableMetadataView = 2
	// Includes all table information, including storage statistics.
	// It returns same information as STORAGE_STATS view, but may contain
	// additional information in the future.
	GetTableRequest_FULL GetTableRequest_TableMetadataView = 3
)

// Enum value maps for GetTableRequest_TableMetadataView.
var (
	GetTableRequest_TableMetadataView_name = map[int32]string{
		0: "TABLE_METADATA_VIEW_UNSPECIFIED",
		1: "BASIC",
		2: "STORAGE_STATS",
		3: "FULL",
	}
	GetTableRequest_TableMetadataView_value = map[string]int32{
		"TABLE_METADATA_VIEW_UNSPECIFIED": 0,
		"BASIC":                           1,
		"STORAGE_STATS":                   2,
		"FULL":                            3,
	}
)

func (x GetTableRequest_TableMetadataView) Enum() *GetTableRequest_TableMetadataView {
	p := new(GetTableRequest_TableMetadataView)
	*p = x
	return p
}

func (x GetTableRequest_TableMetadataView) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (GetTableRequest_TableMetadataView) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_bigquery_v2_table_proto_enumTypes[1].Descriptor()
}

func (GetTableRequest_TableMetadataView) Type() protoreflect.EnumType {
	return &file_google_cloud_bigquery_v2_table_proto_enumTypes[1]
}

func (x GetTableRequest_TableMetadataView) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use GetTableRequest_TableMetadataView.Descriptor instead.
func (GetTableRequest_TableMetadataView) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{9, 0}
}

// Replication info of a table created using `AS REPLICA` DDL like:
// `CREATE MATERIALIZED VIEW mv1 AS REPLICA OF src_mv`
type TableReplicationInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. Source table reference that is replicated.
	SourceTable *TableReference `protobuf:"bytes,1,opt,name=source_table,json=sourceTable,proto3" json:"source_table,omitempty"`
	// Optional. Specifies the interval at which the source table is polled for
	// updates.
	// It's Optional. If not specified, default replication interval would be
	// applied.
	ReplicationIntervalMs int64 `protobuf:"varint,2,opt,name=replication_interval_ms,json=replicationIntervalMs,proto3" json:"replication_interval_ms,omitempty"`
	// Optional. Output only. If source is a materialized view, this field
	// signifies the last refresh time of the source.
	ReplicatedSourceLastRefreshTime int64 `protobuf:"varint,3,opt,name=replicated_source_last_refresh_time,json=replicatedSourceLastRefreshTime,proto3" json:"replicated_source_last_refresh_time,omitempty"`
	// Optional. Output only. Replication status of configured replication.
	ReplicationStatus TableReplicationInfo_ReplicationStatus `protobuf:"varint,4,opt,name=replication_status,json=replicationStatus,proto3,enum=google.cloud.bigquery.v2.TableReplicationInfo_ReplicationStatus" json:"replication_status,omitempty"`
	// Optional. Output only. Replication error that will permanently stopped
	// table replication.
	ReplicationError *ErrorProto `protobuf:"bytes,5,opt,name=replication_error,json=replicationError,proto3" json:"replication_error,omitempty"`
}

func (x *TableReplicationInfo) Reset() {
	*x = TableReplicationInfo{}
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TableReplicationInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TableReplicationInfo) ProtoMessage() {}

func (x *TableReplicationInfo) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TableReplicationInfo.ProtoReflect.Descriptor instead.
func (*TableReplicationInfo) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{0}
}

func (x *TableReplicationInfo) GetSourceTable() *TableReference {
	if x != nil {
		return x.SourceTable
	}
	return nil
}

func (x *TableReplicationInfo) GetReplicationIntervalMs() int64 {
	if x != nil {
		return x.ReplicationIntervalMs
	}
	return 0
}

func (x *TableReplicationInfo) GetReplicatedSourceLastRefreshTime() int64 {
	if x != nil {
		return x.ReplicatedSourceLastRefreshTime
	}
	return 0
}

func (x *TableReplicationInfo) GetReplicationStatus() TableReplicationInfo_ReplicationStatus {
	if x != nil {
		return x.ReplicationStatus
	}
	return TableReplicationInfo_REPLICATION_STATUS_UNSPECIFIED
}

func (x *TableReplicationInfo) GetReplicationError() *ErrorProto {
	if x != nil {
		return x.ReplicationError
	}
	return nil
}

// Describes the definition of a logical view.
type ViewDefinition struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. A query that BigQuery executes when the view is referenced.
	Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
	// Describes user-defined function resources used in the query.
	UserDefinedFunctionResources []*UserDefinedFunctionResource `protobuf:"bytes,2,rep,name=user_defined_function_resources,json=userDefinedFunctionResources,proto3" json:"user_defined_function_resources,omitempty"`
	// Specifies whether to use BigQuery's legacy SQL for this view.
	// The default value is true. If set to false, the view will use
	// BigQuery's GoogleSQL:
	// https://cloud.google.com/bigquery/sql-reference/
	//
	// Queries and views that reference this view must use the same flag value.
	// A wrapper is used here because the default value is True.
	UseLegacySql *wrapperspb.BoolValue `protobuf:"bytes,3,opt,name=use_legacy_sql,json=useLegacySql,proto3" json:"use_legacy_sql,omitempty"`
	// True if the column names are explicitly specified. For example by using the
	// 'CREATE VIEW v(c1, c2) AS ...' syntax.
	// Can only be set for GoogleSQL views.
	UseExplicitColumnNames bool `protobuf:"varint,4,opt,name=use_explicit_column_names,json=useExplicitColumnNames,proto3" json:"use_explicit_column_names,omitempty"`
	// Optional. Specifies the privacy policy for the view.
	PrivacyPolicy *PrivacyPolicy `protobuf:"bytes,5,opt,name=privacy_policy,json=privacyPolicy,proto3" json:"privacy_policy,omitempty"`
	// Optional. Foreign view representations.
	ForeignDefinitions []*ForeignViewDefinition `protobuf:"bytes,6,rep,name=foreign_definitions,json=foreignDefinitions,proto3" json:"foreign_definitions,omitempty"`
}

func (x *ViewDefinition) Reset() {
	*x = ViewDefinition{}
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ViewDefinition) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ViewDefinition) ProtoMessage() {}

func (x *ViewDefinition) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ViewDefinition.ProtoReflect.Descriptor instead.
func (*ViewDefinition) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{1}
}

func (x *ViewDefinition) GetQuery() string {
	if x != nil {
		return x.Query
	}
	return ""
}

func (x *ViewDefinition) GetUserDefinedFunctionResources() []*UserDefinedFunctionResource {
	if x != nil {
		return x.UserDefinedFunctionResources
	}
	return nil
}

func (x *ViewDefinition) GetUseLegacySql() *wrapperspb.BoolValue {
	if x != nil {
		return x.UseLegacySql
	}
	return nil
}

func (x *ViewDefinition) GetUseExplicitColumnNames() bool {
	if x != nil {
		return x.UseExplicitColumnNames
	}
	return false
}

func (x *ViewDefinition) GetPrivacyPolicy() *PrivacyPolicy {
	if x != nil {
		return x.PrivacyPolicy
	}
	return nil
}

func (x *ViewDefinition) GetForeignDefinitions() []*ForeignViewDefinition {
	if x != nil {
		return x.ForeignDefinitions
	}
	return nil
}

// A view can be represented in multiple ways. Each representation has its own
// dialect. This message stores the metadata required for these representations.
type ForeignViewDefinition struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The query that defines the view.
	Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
	// Optional. Represents the dialect of the query.
	Dialect string `protobuf:"bytes,7,opt,name=dialect,proto3" json:"dialect,omitempty"`
}

func (x *ForeignViewDefinition) Reset() {
	*x = ForeignViewDefinition{}
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ForeignViewDefinition) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ForeignViewDefinition) ProtoMessage() {}

func (x *ForeignViewDefinition) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ForeignViewDefinition.ProtoReflect.Descriptor instead.
func (*ForeignViewDefinition) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{2}
}

func (x *ForeignViewDefinition) GetQuery() string {
	if x != nil {
		return x.Query
	}
	return ""
}

func (x *ForeignViewDefinition) GetDialect() string {
	if x != nil {
		return x.Dialect
	}
	return ""
}

// Definition and configuration of a materialized view.
type MaterializedViewDefinition struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. A query whose results are persisted.
	Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
	// Output only. The time when this materialized view was last refreshed, in
	// milliseconds since the epoch.
	LastRefreshTime int64 `protobuf:"varint,2,opt,name=last_refresh_time,json=lastRefreshTime,proto3" json:"last_refresh_time,omitempty"`
	// Optional. Enable automatic refresh of the materialized view when the base
	// table is updated. The default value is "true".
	EnableRefresh *wrapperspb.BoolValue `protobuf:"bytes,3,opt,name=enable_refresh,json=enableRefresh,proto3" json:"enable_refresh,omitempty"`
	// Optional. The maximum frequency at which this materialized view will be
	// refreshed. The default value is "1800000" (30 minutes).
	RefreshIntervalMs *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=refresh_interval_ms,json=refreshIntervalMs,proto3" json:"refresh_interval_ms,omitempty"`
	// Optional. This option declares the intention to construct a materialized
	// view that isn't refreshed incrementally. Non-incremental materialized views
	// support an expanded range of SQL queries. The
	// `allow_non_incremental_definition` option can't be changed after the
	// materialized view is created.
	AllowNonIncrementalDefinition *wrapperspb.BoolValue `protobuf:"bytes,6,opt,name=allow_non_incremental_definition,json=allowNonIncrementalDefinition,proto3" json:"allow_non_incremental_definition,omitempty"`
}

func (x *MaterializedViewDefinition) Reset() {
	*x = MaterializedViewDefinition{}
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MaterializedViewDefinition) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MaterializedViewDefinition) ProtoMessage() {}

func (x *MaterializedViewDefinition) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MaterializedViewDefinition.ProtoReflect.Descriptor instead.
func (*MaterializedViewDefinition) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{3}
}

func (x *MaterializedViewDefinition) GetQuery() string {
	if x != nil {
		return x.Query
	}
	return ""
}

func (x *MaterializedViewDefinition) GetLastRefreshTime() int64 {
	if x != nil {
		return x.LastRefreshTime
	}
	return 0
}

func (x *MaterializedViewDefinition) GetEnableRefresh() *wrapperspb.BoolValue {
	if x != nil {
		return x.EnableRefresh
	}
	return nil
}

func (x *MaterializedViewDefinition) GetRefreshIntervalMs() *wrapperspb.UInt64Value {
	if x != nil {
		return x.RefreshIntervalMs
	}
	return nil
}

func (x *MaterializedViewDefinition) GetAllowNonIncrementalDefinition() *wrapperspb.BoolValue {
	if x != nil {
		return x.AllowNonIncrementalDefinition
	}
	return nil
}

// Status of a materialized view.
// The last refresh timestamp status is omitted here, but is present in the
// MaterializedViewDefinition message.
type MaterializedViewStatus struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Output only. Refresh watermark of materialized view. The base tables' data
	// were collected into the materialized view cache until this time.
	RefreshWatermark *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=refresh_watermark,json=refreshWatermark,proto3" json:"refresh_watermark,omitempty"`
	// Output only. Error result of the last automatic refresh. If present,
	// indicates that the last automatic refresh was unsuccessful.
	LastRefreshStatus *ErrorProto `protobuf:"bytes,2,opt,name=last_refresh_status,json=lastRefreshStatus,proto3" json:"last_refresh_status,omitempty"`
}

func (x *MaterializedViewStatus) Reset() {
	*x = MaterializedViewStatus{}
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MaterializedViewStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MaterializedViewStatus) ProtoMessage() {}

func (x *MaterializedViewStatus) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MaterializedViewStatus.ProtoReflect.Descriptor instead.
func (*MaterializedViewStatus) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{4}
}

func (x *MaterializedViewStatus) GetRefreshWatermark() *timestamppb.Timestamp {
	if x != nil {
		return x.RefreshWatermark
	}
	return nil
}

func (x *MaterializedViewStatus) GetLastRefreshStatus() *ErrorProto {
	if x != nil {
		return x.LastRefreshStatus
	}
	return nil
}

// Information about base table and snapshot time of the snapshot.
type SnapshotDefinition struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. Reference describing the ID of the table that was snapshot.
	BaseTableReference *TableReference `protobuf:"bytes,1,opt,name=base_table_reference,json=baseTableReference,proto3" json:"base_table_reference,omitempty"`
	// Required. The time at which the base table was snapshot. This value is
	// reported in the JSON response using RFC3339 format.
	SnapshotTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=snapshot_time,json=snapshotTime,proto3" json:"snapshot_time,omitempty"`
}

func (x *SnapshotDefinition) Reset() {
	*x = SnapshotDefinition{}
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SnapshotDefinition) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SnapshotDefinition) ProtoMessage() {}

func (x *SnapshotDefinition) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SnapshotDefinition.ProtoReflect.Descriptor instead.
func (*SnapshotDefinition) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{5}
}

func (x *SnapshotDefinition) GetBaseTableReference() *TableReference {
	if x != nil {
		return x.BaseTableReference
	}
	return nil
}

func (x *SnapshotDefinition) GetSnapshotTime() *timestamppb.Timestamp {
	if x != nil {
		return x.SnapshotTime
	}
	return nil
}

// Information about base table and clone time of a table clone.
type CloneDefinition struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. Reference describing the ID of the table that was cloned.
	BaseTableReference *TableReference `protobuf:"bytes,1,opt,name=base_table_reference,json=baseTableReference,proto3" json:"base_table_reference,omitempty"`
	// Required. The time at which the base table was cloned. This value is
	// reported in the JSON response using RFC3339 format.
	CloneTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=clone_time,json=cloneTime,proto3" json:"clone_time,omitempty"`
}

func (x *CloneDefinition) Reset() {
	*x = CloneDefinition{}
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CloneDefinition) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CloneDefinition) ProtoMessage() {}

func (x *CloneDefinition) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CloneDefinition.ProtoReflect.Descriptor instead.
func (*CloneDefinition) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{6}
}

func (x *CloneDefinition) GetBaseTableReference() *TableReference {
	if x != nil {
		return x.BaseTableReference
	}
	return nil
}

func (x *CloneDefinition) GetCloneTime() *timestamppb.Timestamp {
	if x != nil {
		return x.CloneTime
	}
	return nil
}

type Streamingbuffer struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Output only. A lower-bound estimate of the number of bytes currently in
	// the streaming buffer.
	EstimatedBytes uint64 `protobuf:"varint,1,opt,name=estimated_bytes,json=estimatedBytes,proto3" json:"estimated_bytes,omitempty"`
	// Output only. A lower-bound estimate of the number of rows currently in the
	// streaming buffer.
	EstimatedRows uint64 `protobuf:"varint,2,opt,name=estimated_rows,json=estimatedRows,proto3" json:"estimated_rows,omitempty"`
	// Output only. Contains the timestamp of the oldest entry in the streaming
	// buffer, in milliseconds since the epoch, if the streaming buffer is
	// available.
	OldestEntryTime uint64 `protobuf:"fixed64,3,opt,name=oldest_entry_time,json=oldestEntryTime,proto3" json:"oldest_entry_time,omitempty"`
}

func (x *Streamingbuffer) Reset() {
	*x = Streamingbuffer{}
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Streamingbuffer) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Streamingbuffer) ProtoMessage() {}

func (x *Streamingbuffer) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Streamingbuffer.ProtoReflect.Descriptor instead.
func (*Streamingbuffer) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{7}
}

func (x *Streamingbuffer) GetEstimatedBytes() uint64 {
	if x != nil {
		return x.EstimatedBytes
	}
	return 0
}

func (x *Streamingbuffer) GetEstimatedRows() uint64 {
	if x != nil {
		return x.EstimatedRows
	}
	return 0
}

func (x *Streamingbuffer) GetOldestEntryTime() uint64 {
	if x != nil {
		return x.OldestEntryTime
	}
	return 0
}

type Table struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The type of resource ID.
	Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
	// Output only. A hash of this resource.
	Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"`
	// Output only. An opaque ID uniquely identifying the table.
	Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
	// Output only. A URL that can be used to access this resource again.
	SelfLink string `protobuf:"bytes,4,opt,name=self_link,json=selfLink,proto3" json:"self_link,omitempty"`
	// Required. Reference describing the ID of this table.
	TableReference *TableReference `protobuf:"bytes,5,opt,name=table_reference,json=tableReference,proto3" json:"table_reference,omitempty"`
	// Optional. A descriptive name for this table.
	FriendlyName *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=friendly_name,json=friendlyName,proto3" json:"friendly_name,omitempty"`
	// Optional. A user-friendly description of this table.
	Description *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"`
	// The labels associated with this table. You can use these to organize and
	// group your tables. Label keys and values can be no longer than 63
	// characters, can only contain lowercase letters, numeric characters,
	// underscores and dashes. International characters are allowed. Label values
	// are optional. Label keys must start with a letter and each label in the
	// list must have a different key.
	Labels map[string]string `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// Optional. Describes the schema of this table.
	Schema *TableSchema `protobuf:"bytes,9,opt,name=schema,proto3" json:"schema,omitempty"`
	// If specified, configures time-based partitioning for this table.
	TimePartitioning *TimePartitioning `protobuf:"bytes,10,opt,name=time_partitioning,json=timePartitioning,proto3" json:"time_partitioning,omitempty"`
	// If specified, configures range partitioning for this table.
	RangePartitioning *RangePartitioning `protobuf:"bytes,27,opt,name=range_partitioning,json=rangePartitioning,proto3" json:"range_partitioning,omitempty"`
	// Clustering specification for the table. Must be specified with time-based
	// partitioning, data in the table will be first partitioned and subsequently
	// clustered.
	Clustering *Clustering `protobuf:"bytes,23,opt,name=clustering,proto3" json:"clustering,omitempty"`
	// Optional. If set to true, queries over this table require
	// a partition filter that can be used for partition elimination to be
	// specified.
	RequirePartitionFilter *wrapperspb.BoolValue `protobuf:"bytes,28,opt,name=require_partition_filter,json=requirePartitionFilter,proto3" json:"require_partition_filter,omitempty"`
	// Optional. The partition information for all table formats, including
	// managed partitioned tables, hive partitioned tables, iceberg partitioned,
	// and metastore partitioned tables. This field is only populated for
	// metastore partitioned tables. For other table formats, this is an output
	// only field.
	PartitionDefinition *PartitioningDefinition `protobuf:"bytes,51,opt,name=partition_definition,json=partitionDefinition,proto3,oneof" json:"partition_definition,omitempty"`
	// Output only. The size of this table in logical bytes, excluding any data in
	// the streaming buffer.
	NumBytes *wrapperspb.Int64Value `protobuf:"bytes,11,opt,name=num_bytes,json=numBytes,proto3" json:"num_bytes,omitempty"`
	// Output only. The physical size of this table in bytes. This includes
	// storage used for time travel.
	NumPhysicalBytes *wrapperspb.Int64Value `protobuf:"bytes,26,opt,name=num_physical_bytes,json=numPhysicalBytes,proto3" json:"num_physical_bytes,omitempty"`
	// Output only. The number of logical bytes in the table that are considered
	// "long-term storage".
	NumLongTermBytes *wrapperspb.Int64Value `protobuf:"bytes,12,opt,name=num_long_term_bytes,json=numLongTermBytes,proto3" json:"num_long_term_bytes,omitempty"`
	// Output only. The number of rows of data in this table, excluding any data
	// in the streaming buffer.
	NumRows *wrapperspb.UInt64Value `protobuf:"bytes,13,opt,name=num_rows,json=numRows,proto3" json:"num_rows,omitempty"`
	// Output only. The time when this table was created, in milliseconds since
	// the epoch.
	CreationTime int64 `protobuf:"varint,14,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"`
	// Optional. The time when this table expires, in milliseconds since the
	// epoch. If not present, the table will persist indefinitely. Expired tables
	// will be deleted and their storage reclaimed.  The defaultTableExpirationMs
	// property of the encapsulating dataset can be used to set a default
	// expirationTime on newly created tables.
	ExpirationTime *wrapperspb.Int64Value `protobuf:"bytes,15,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"`
	// Output only. The time when this table was last modified, in milliseconds
	// since the epoch.
	LastModifiedTime uint64 `protobuf:"fixed64,16,opt,name=last_modified_time,json=lastModifiedTime,proto3" json:"last_modified_time,omitempty"`
	// Output only. Describes the table type. The following values are supported:
	//
	//   - `TABLE`: A normal BigQuery table.
	//   - `VIEW`: A virtual table defined by a SQL query.
	//   - `EXTERNAL`: A table that references data stored in an external storage
	//     system, such as Google Cloud Storage.
	//   - `MATERIALIZED_VIEW`: A precomputed view defined by a SQL query.
	//   - `SNAPSHOT`: An immutable BigQuery table that preserves the contents of a
	//     base table at a particular time. See additional information on
	//     [table
	//     snapshots](https://cloud.google.com/bigquery/docs/table-snapshots-intro).
	//
	// The default value is `TABLE`.
	Type string `protobuf:"bytes,17,opt,name=type,proto3" json:"type,omitempty"`
	// Optional. The view definition.
	View *ViewDefinition `protobuf:"bytes,18,opt,name=view,proto3" json:"view,omitempty"`
	// Optional. The materialized view definition.
	MaterializedView *MaterializedViewDefinition `protobuf:"bytes,25,opt,name=materialized_view,json=materializedView,proto3" json:"materialized_view,omitempty"`
	// Output only. The materialized view status.
	MaterializedViewStatus *MaterializedViewStatus `protobuf:"bytes,42,opt,name=materialized_view_status,json=materializedViewStatus,proto3" json:"materialized_view_status,omitempty"`
	// Optional. Describes the data format, location, and other properties of
	// a table stored outside of BigQuery. By defining these properties, the data
	// source can then be queried as if it were a standard BigQuery table.
	ExternalDataConfiguration *ExternalDataConfiguration `protobuf:"bytes,19,opt,name=external_data_configuration,json=externalDataConfiguration,proto3" json:"external_data_configuration,omitempty"`
	// Optional. Specifies the configuration of a BigQuery table for Apache
	// Iceberg.
	BiglakeConfiguration *BigLakeConfiguration `protobuf:"bytes,45,opt,name=biglake_configuration,json=biglakeConfiguration,proto3" json:"biglake_configuration,omitempty"`
	// Optional. If set, overrides the default managed table type configured in
	// the dataset.
	ManagedTableType ManagedTableType `protobuf:"varint,55,opt,name=managed_table_type,json=managedTableType,proto3,enum=google.cloud.bigquery.v2.ManagedTableType" json:"managed_table_type,omitempty"`
	// Output only. The geographic location where the table resides. This value
	// is inherited from the dataset.
	Location string `protobuf:"bytes,20,opt,name=location,proto3" json:"location,omitempty"`
	// Output only. Contains information regarding this table's streaming buffer,
	// if one is present. This field will be absent if the table is not being
	// streamed to or if there is no data in the streaming buffer.
	StreamingBuffer *Streamingbuffer `protobuf:"bytes,21,opt,name=streaming_buffer,json=streamingBuffer,proto3" json:"streaming_buffer,omitempty"`
	// Custom encryption configuration (e.g., Cloud KMS keys).
	EncryptionConfiguration *EncryptionConfiguration `protobuf:"bytes,22,opt,name=encryption_configuration,json=encryptionConfiguration,proto3" json:"encryption_configuration,omitempty"`
	// Output only. Contains information about the snapshot. This value is set via
	// snapshot creation.
	SnapshotDefinition *SnapshotDefinition `protobuf:"bytes,29,opt,name=snapshot_definition,json=snapshotDefinition,proto3" json:"snapshot_definition,omitempty"`
	// Optional. Defines the default collation specification of new STRING fields
	// in the table. During table creation or update, if a STRING field is added
	// to this table without explicit collation specified, then the table inherits
	// the table default collation. A change to this field affects only fields
	// added afterwards, and does not alter the existing fields.
	// The following values are supported:
	//
	// * 'und:ci': undetermined locale, case insensitive.
	// * ”: empty string. Default to case-sensitive behavior.
	DefaultCollation *wrapperspb.StringValue `protobuf:"bytes,30,opt,name=default_collation,json=defaultCollation,proto3" json:"default_collation,omitempty"`
	// Optional. Defines the default rounding mode specification of new decimal
	// fields (NUMERIC OR BIGNUMERIC) in the table. During table creation or
	// update, if a decimal field is added to this table without an explicit
	// rounding mode specified, then the field inherits the table default
	// rounding mode. Changing this field doesn't affect existing fields.
	DefaultRoundingMode TableFieldSchema_RoundingMode `protobuf:"varint,44,opt,name=default_rounding_mode,json=defaultRoundingMode,proto3,enum=google.cloud.bigquery.v2.TableFieldSchema_RoundingMode" json:"default_rounding_mode,omitempty"`
	// Output only. Contains information about the clone. This value is set via
	// the clone operation.
	CloneDefinition *CloneDefinition `protobuf:"bytes,31,opt,name=clone_definition,json=cloneDefinition,proto3" json:"clone_definition,omitempty"`
	// Output only. Number of physical bytes used by time travel storage (deleted
	// or changed data). This data is not kept in real time, and might be delayed
	// by a few seconds to a few minutes.
	NumTimeTravelPhysicalBytes *wrapperspb.Int64Value `protobuf:"bytes,33,opt,name=num_time_travel_physical_bytes,json=numTimeTravelPhysicalBytes,proto3" json:"num_time_travel_physical_bytes,omitempty"`
	// Output only. Total number of logical bytes in the table or materialized
	// view.
	NumTotalLogicalBytes *wrapperspb.Int64Value `protobuf:"bytes,34,opt,name=num_total_logical_bytes,json=numTotalLogicalBytes,proto3" json:"num_total_logical_bytes,omitempty"`
	// Output only. Number of logical bytes that are less than 90 days old.
	NumActiveLogicalBytes *wrapperspb.Int64Value `protobuf:"bytes,35,opt,name=num_active_logical_bytes,json=numActiveLogicalBytes,proto3" json:"num_active_logical_bytes,omitempty"`
	// Output only. Number of logical bytes that are more than 90 days old.
	NumLongTermLogicalBytes *wrapperspb.Int64Value `protobuf:"bytes,36,opt,name=num_long_term_logical_bytes,json=numLongTermLogicalBytes,proto3" json:"num_long_term_logical_bytes,omitempty"`
	// Output only. Number of physical bytes used by current live data storage.
	// This data is not kept in real time, and might be delayed by a few seconds
	// to a few minutes.
	NumCurrentPhysicalBytes *wrapperspb.Int64Value `protobuf:"bytes,53,opt,name=num_current_physical_bytes,json=numCurrentPhysicalBytes,proto3" json:"num_current_physical_bytes,omitempty"`
	// Output only. The physical size of this table in bytes. This also includes
	// storage used for time travel. This data is not kept in real time, and might
	// be delayed by a few seconds to a few minutes.
	NumTotalPhysicalBytes *wrapperspb.Int64Value `protobuf:"bytes,37,opt,name=num_total_physical_bytes,json=numTotalPhysicalBytes,proto3" json:"num_total_physical_bytes,omitempty"`
	// Output only. Number of physical bytes less than 90 days old. This data is
	// not kept in real time, and might be delayed by a few seconds to a few
	// minutes.
	NumActivePhysicalBytes *wrapperspb.Int64Value `protobuf:"bytes,38,opt,name=num_active_physical_bytes,json=numActivePhysicalBytes,proto3" json:"num_active_physical_bytes,omitempty"`
	// Output only. Number of physical bytes more than 90 days old.
	// This data is not kept in real time, and might be delayed by a few seconds
	// to a few minutes.
	NumLongTermPhysicalBytes *wrapperspb.Int64Value `protobuf:"bytes,39,opt,name=num_long_term_physical_bytes,json=numLongTermPhysicalBytes,proto3" json:"num_long_term_physical_bytes,omitempty"`
	// Output only. The number of partitions present in the table or materialized
	// view. This data is not kept in real time, and might be delayed by a few
	// seconds to a few minutes.
	NumPartitions *wrapperspb.Int64Value `protobuf:"bytes,40,opt,name=num_partitions,json=numPartitions,proto3" json:"num_partitions,omitempty"`
	// Optional. The maximum staleness of data that could be returned when the
	// table (or stale MV) is queried. Staleness encoded as a string encoding
	// of sql IntervalValue type.
	MaxStaleness string `protobuf:"bytes,41,opt,name=max_staleness,json=maxStaleness,proto3" json:"max_staleness,omitempty"`
	// Optional. Output only. Restriction config for table. If set, restrict
	// certain accesses on the table based on the config. See [Data
	// egress](https://cloud.google.com/bigquery/docs/analytics-hub-introduction#data_egress)
	// for more details.
	Restrictions *RestrictionConfig `protobuf:"bytes,46,opt,name=restrictions,proto3" json:"restrictions,omitempty"`
	// Optional. Tables Primary Key and Foreign Key information
	TableConstraints *TableConstraints `protobuf:"bytes,47,opt,name=table_constraints,json=tableConstraints,proto3" json:"table_constraints,omitempty"`
	// Optional. The [tags](https://cloud.google.com/bigquery/docs/tags) attached
	// to this table. Tag keys are globally unique. Tag key is expected to be in
	// the namespaced format, for example "123456789012/environment" where
	// 123456789012 is the ID of the parent organization or project resource for
	// this tag key. Tag value is expected to be the short name, for example
	// "Production". See [Tag
	// definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions)
	// for more details.
	ResourceTags map[string]string `protobuf:"bytes,48,rep,name=resource_tags,json=resourceTags,proto3" json:"resource_tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// Optional. Table replication info for table created `AS REPLICA` DDL like:
	// `CREATE MATERIALIZED VIEW mv1 AS REPLICA OF src_mv`
	TableReplicationInfo *TableReplicationInfo `protobuf:"bytes,49,opt,name=table_replication_info,json=tableReplicationInfo,proto3" json:"table_replication_info,omitempty"`
	// Optional. Output only. Table references of all replicas currently active on
	// the table.
	Replicas []*TableReference `protobuf:"bytes,50,rep,name=replicas,proto3" json:"replicas,omitempty"`
	// Optional. Options defining open source compatible table.
	ExternalCatalogTableOptions *ExternalCatalogTableOptions `protobuf:"bytes,54,opt,name=external_catalog_table_options,json=externalCatalogTableOptions,proto3" json:"external_catalog_table_options,omitempty"`
}

func (x *Table) Reset() {
	*x = Table{}
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Table) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Table) ProtoMessage() {}

func (x *Table) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Table.ProtoReflect.Descriptor instead.
func (*Table) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{8}
}

func (x *Table) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *Table) GetEtag() string {
	if x != nil {
		return x.Etag
	}
	return ""
}

func (x *Table) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Table) GetSelfLink() string {
	if x != nil {
		return x.SelfLink
	}
	return ""
}

func (x *Table) GetTableReference() *TableReference {
	if x != nil {
		return x.TableReference
	}
	return nil
}

func (x *Table) GetFriendlyName() *wrapperspb.StringValue {
	if x != nil {
		return x.FriendlyName
	}
	return nil
}

func (x *Table) GetDescription() *wrapperspb.StringValue {
	if x != nil {
		return x.Description
	}
	return nil
}

func (x *Table) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *Table) GetSchema() *TableSchema {
	if x != nil {
		return x.Schema
	}
	return nil
}

func (x *Table) GetTimePartitioning() *TimePartitioning {
	if x != nil {
		return x.TimePartitioning
	}
	return nil
}

func (x *Table) GetRangePartitioning() *RangePartitioning {
	if x != nil {
		return x.RangePartitioning
	}
	return nil
}

func (x *Table) GetClustering() *Clustering {
	if x != nil {
		return x.Clustering
	}
	return nil
}

func (x *Table) GetRequirePartitionFilter() *wrapperspb.BoolValue {
	if x != nil {
		return x.RequirePartitionFilter
	}
	return nil
}

func (x *Table) GetPartitionDefinition() *PartitioningDefinition {
	if x != nil {
		return x.PartitionDefinition
	}
	return nil
}

func (x *Table) GetNumBytes() *wrapperspb.Int64Value {
	if x != nil {
		return x.NumBytes
	}
	return nil
}

func (x *Table) GetNumPhysicalBytes() *wrapperspb.Int64Value {
	if x != nil {
		return x.NumPhysicalBytes
	}
	return nil
}

func (x *Table) GetNumLongTermBytes() *wrapperspb.Int64Value {
	if x != nil {
		return x.NumLongTermBytes
	}
	return nil
}

func (x *Table) GetNumRows() *wrapperspb.UInt64Value {
	if x != nil {
		return x.NumRows
	}
	return nil
}

func (x *Table) GetCreationTime() int64 {
	if x != nil {
		return x.CreationTime
	}
	return 0
}

func (x *Table) GetExpirationTime() *wrapperspb.Int64Value {
	if x != nil {
		return x.ExpirationTime
	}
	return nil
}

func (x *Table) GetLastModifiedTime() uint64 {
	if x != nil {
		return x.LastModifiedTime
	}
	return 0
}

func (x *Table) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *Table) GetView() *ViewDefinition {
	if x != nil {
		return x.View
	}
	return nil
}

func (x *Table) GetMaterializedView() *MaterializedViewDefinition {
	if x != nil {
		return x.MaterializedView
	}
	return nil
}

func (x *Table) GetMaterializedViewStatus() *MaterializedViewStatus {
	if x != nil {
		return x.MaterializedViewStatus
	}
	return nil
}

func (x *Table) GetExternalDataConfiguration() *ExternalDataConfiguration {
	if x != nil {
		return x.ExternalDataConfiguration
	}
	return nil
}

func (x *Table) GetBiglakeConfiguration() *BigLakeConfiguration {
	if x != nil {
		return x.BiglakeConfiguration
	}
	return nil
}

func (x *Table) GetManagedTableType() ManagedTableType {
	if x != nil {
		return x.ManagedTableType
	}
	return ManagedTableType_MANAGED_TABLE_TYPE_UNSPECIFIED
}

func (x *Table) GetLocation() string {
	if x != nil {
		return x.Location
	}
	return ""
}

func (x *Table) GetStreamingBuffer() *Streamingbuffer {
	if x != nil {
		return x.StreamingBuffer
	}
	return nil
}

func (x *Table) GetEncryptionConfiguration() *EncryptionConfiguration {
	if x != nil {
		return x.EncryptionConfiguration
	}
	return nil
}

func (x *Table) GetSnapshotDefinition() *SnapshotDefinition {
	if x != nil {
		return x.SnapshotDefinition
	}
	return nil
}

func (x *Table) GetDefaultCollation() *wrapperspb.StringValue {
	if x != nil {
		return x.DefaultCollation
	}
	return nil
}

func (x *Table) GetDefaultRoundingMode() TableFieldSchema_RoundingMode {
	if x != nil {
		return x.DefaultRoundingMode
	}
	return TableFieldSchema_ROUNDING_MODE_UNSPECIFIED
}

func (x *Table) GetCloneDefinition() *CloneDefinition {
	if x != nil {
		return x.CloneDefinition
	}
	return nil
}

func (x *Table) GetNumTimeTravelPhysicalBytes() *wrapperspb.Int64Value {
	if x != nil {
		return x.NumTimeTravelPhysicalBytes
	}
	return nil
}

func (x *Table) GetNumTotalLogicalBytes() *wrapperspb.Int64Value {
	if x != nil {
		return x.NumTotalLogicalBytes
	}
	return nil
}

func (x *Table) GetNumActiveLogicalBytes() *wrapperspb.Int64Value {
	if x != nil {
		return x.NumActiveLogicalBytes
	}
	return nil
}

func (x *Table) GetNumLongTermLogicalBytes() *wrapperspb.Int64Value {
	if x != nil {
		return x.NumLongTermLogicalBytes
	}
	return nil
}

func (x *Table) GetNumCurrentPhysicalBytes() *wrapperspb.Int64Value {
	if x != nil {
		return x.NumCurrentPhysicalBytes
	}
	return nil
}

func (x *Table) GetNumTotalPhysicalBytes() *wrapperspb.Int64Value {
	if x != nil {
		return x.NumTotalPhysicalBytes
	}
	return nil
}

func (x *Table) GetNumActivePhysicalBytes() *wrapperspb.Int64Value {
	if x != nil {
		return x.NumActivePhysicalBytes
	}
	return nil
}

func (x *Table) GetNumLongTermPhysicalBytes() *wrapperspb.Int64Value {
	if x != nil {
		return x.NumLongTermPhysicalBytes
	}
	return nil
}

func (x *Table) GetNumPartitions() *wrapperspb.Int64Value {
	if x != nil {
		return x.NumPartitions
	}
	return nil
}

func (x *Table) GetMaxStaleness() string {
	if x != nil {
		return x.MaxStaleness
	}
	return ""
}

func (x *Table) GetRestrictions() *RestrictionConfig {
	if x != nil {
		return x.Restrictions
	}
	return nil
}

func (x *Table) GetTableConstraints() *TableConstraints {
	if x != nil {
		return x.TableConstraints
	}
	return nil
}

func (x *Table) GetResourceTags() map[string]string {
	if x != nil {
		return x.ResourceTags
	}
	return nil
}

func (x *Table) GetTableReplicationInfo() *TableReplicationInfo {
	if x != nil {
		return x.TableReplicationInfo
	}
	return nil
}

func (x *Table) GetReplicas() []*TableReference {
	if x != nil {
		return x.Replicas
	}
	return nil
}

func (x *Table) GetExternalCatalogTableOptions() *ExternalCatalogTableOptions {
	if x != nil {
		return x.ExternalCatalogTableOptions
	}
	return nil
}

// Request format for getting table metadata.
type GetTableRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. Project ID of the requested table
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. Dataset ID of the requested table
	DatasetId string `protobuf:"bytes,2,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"`
	// Required. Table ID of the requested table
	TableId string `protobuf:"bytes,3,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
	// List of table schema fields to return (comma-separated).
	// If unspecified, all fields are returned.
	// A fieldMask cannot be used here because the fields will automatically be
	// converted from camelCase to snake_case and the conversion will fail if
	// there are underscores. Since these are fields in BigQuery table schemas,
	// underscores are allowed.
	SelectedFields string `protobuf:"bytes,4,opt,name=selected_fields,json=selectedFields,proto3" json:"selected_fields,omitempty"`
	// Optional. Specifies the view that determines which table information is
	// returned. By default, basic table information and storage statistics
	// (STORAGE_STATS) are returned.
	View GetTableRequest_TableMetadataView `protobuf:"varint,5,opt,name=view,proto3,enum=google.cloud.bigquery.v2.GetTableRequest_TableMetadataView" json:"view,omitempty"`
}

func (x *GetTableRequest) Reset() {
	*x = GetTableRequest{}
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetTableRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetTableRequest) ProtoMessage() {}

func (x *GetTableRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetTableRequest.ProtoReflect.Descriptor instead.
func (*GetTableRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{9}
}

func (x *GetTableRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *GetTableRequest) GetDatasetId() string {
	if x != nil {
		return x.DatasetId
	}
	return ""
}

func (x *GetTableRequest) GetTableId() string {
	if x != nil {
		return x.TableId
	}
	return ""
}

func (x *GetTableRequest) GetSelectedFields() string {
	if x != nil {
		return x.SelectedFields
	}
	return ""
}

func (x *GetTableRequest) GetView() GetTableRequest_TableMetadataView {
	if x != nil {
		return x.View
	}
	return GetTableRequest_TABLE_METADATA_VIEW_UNSPECIFIED
}

// Request format for inserting table metadata.
type InsertTableRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. Project ID of the new table
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. Dataset ID of the new table
	DatasetId string `protobuf:"bytes,2,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"`
	// Required. A tables resource to insert
	Table *Table `protobuf:"bytes,4,opt,name=table,proto3" json:"table,omitempty"`
}

func (x *InsertTableRequest) Reset() {
	*x = InsertTableRequest{}
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InsertTableRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InsertTableRequest) ProtoMessage() {}

func (x *InsertTableRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InsertTableRequest.ProtoReflect.Descriptor instead.
func (*InsertTableRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{10}
}

func (x *InsertTableRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *InsertTableRequest) GetDatasetId() string {
	if x != nil {
		return x.DatasetId
	}
	return ""
}

func (x *InsertTableRequest) GetTable() *Table {
	if x != nil {
		return x.Table
	}
	return nil
}

type UpdateOrPatchTableRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. Project ID of the table to update
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. Dataset ID of the table to update
	DatasetId string `protobuf:"bytes,2,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"`
	// Required. Table ID of the table to update
	TableId string `protobuf:"bytes,3,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
	// Required. A tables resource which will replace or patch the specified table
	Table *Table `protobuf:"bytes,4,opt,name=table,proto3" json:"table,omitempty"`
	// Optional. When true will autodetect schema, else will keep original schema.
	AutodetectSchema bool `protobuf:"varint,5,opt,name=autodetect_schema,json=autodetectSchema,proto3" json:"autodetect_schema,omitempty"`
}

func (x *UpdateOrPatchTableRequest) Reset() {
	*x = UpdateOrPatchTableRequest{}
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateOrPatchTableRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateOrPatchTableRequest) ProtoMessage() {}

func (x *UpdateOrPatchTableRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateOrPatchTableRequest.ProtoReflect.Descriptor instead.
func (*UpdateOrPatchTableRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{11}
}

func (x *UpdateOrPatchTableRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *UpdateOrPatchTableRequest) GetDatasetId() string {
	if x != nil {
		return x.DatasetId
	}
	return ""
}

func (x *UpdateOrPatchTableRequest) GetTableId() string {
	if x != nil {
		return x.TableId
	}
	return ""
}

func (x *UpdateOrPatchTableRequest) GetTable() *Table {
	if x != nil {
		return x.Table
	}
	return nil
}

func (x *UpdateOrPatchTableRequest) GetAutodetectSchema() bool {
	if x != nil {
		return x.AutodetectSchema
	}
	return false
}

// Request format for deleting a table.
type DeleteTableRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. Project ID of the table to delete
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. Dataset ID of the table to delete
	DatasetId string `protobuf:"bytes,2,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"`
	// Required. Table ID of the table to delete
	TableId string `protobuf:"bytes,3,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
}

func (x *DeleteTableRequest) Reset() {
	*x = DeleteTableRequest{}
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteTableRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteTableRequest) ProtoMessage() {}

func (x *DeleteTableRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteTableRequest.ProtoReflect.Descriptor instead.
func (*DeleteTableRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{12}
}

func (x *DeleteTableRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *DeleteTableRequest) GetDatasetId() string {
	if x != nil {
		return x.DatasetId
	}
	return ""
}

func (x *DeleteTableRequest) GetTableId() string {
	if x != nil {
		return x.TableId
	}
	return ""
}

// Request format for enumerating tables.
type ListTablesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. Project ID of the tables to list
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. Dataset ID of the tables to list
	DatasetId string `protobuf:"bytes,2,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"`
	// The maximum number of results to return in a single response page.
	// Leverage the page tokens to iterate through the entire collection.
	MaxResults *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
	// Page token, returned by a previous call, to request the next page of
	// results
	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
}

func (x *ListTablesRequest) Reset() {
	*x = ListTablesRequest{}
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListTablesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListTablesRequest) ProtoMessage() {}

func (x *ListTablesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListTablesRequest.ProtoReflect.Descriptor instead.
func (*ListTablesRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{13}
}

func (x *ListTablesRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *ListTablesRequest) GetDatasetId() string {
	if x != nil {
		return x.DatasetId
	}
	return ""
}

func (x *ListTablesRequest) GetMaxResults() *wrapperspb.UInt32Value {
	if x != nil {
		return x.MaxResults
	}
	return nil
}

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

// Information about a logical view.
type ListFormatView struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// True if view is defined in legacy SQL dialect,
	// false if in GoogleSQL.
	UseLegacySql *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=use_legacy_sql,json=useLegacySql,proto3" json:"use_legacy_sql,omitempty"`
	// Specifies the privacy policy for the view.
	PrivacyPolicy *PrivacyPolicy `protobuf:"bytes,2,opt,name=privacy_policy,json=privacyPolicy,proto3" json:"privacy_policy,omitempty"`
}

func (x *ListFormatView) Reset() {
	*x = ListFormatView{}
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListFormatView) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListFormatView) ProtoMessage() {}

func (x *ListFormatView) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListFormatView.ProtoReflect.Descriptor instead.
func (*ListFormatView) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{14}
}

func (x *ListFormatView) GetUseLegacySql() *wrapperspb.BoolValue {
	if x != nil {
		return x.UseLegacySql
	}
	return nil
}

func (x *ListFormatView) GetPrivacyPolicy() *PrivacyPolicy {
	if x != nil {
		return x.PrivacyPolicy
	}
	return nil
}

type ListFormatTable struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The resource type.
	Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
	// An opaque ID of the table.
	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	// A reference uniquely identifying table.
	TableReference *TableReference `protobuf:"bytes,3,opt,name=table_reference,json=tableReference,proto3" json:"table_reference,omitempty"`
	// The user-friendly name for this table.
	FriendlyName *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=friendly_name,json=friendlyName,proto3" json:"friendly_name,omitempty"`
	// The type of table.
	Type string `protobuf:"bytes,5,opt,name=type,proto3" json:"type,omitempty"`
	// The time-based partitioning for this table.
	TimePartitioning *TimePartitioning `protobuf:"bytes,6,opt,name=time_partitioning,json=timePartitioning,proto3" json:"time_partitioning,omitempty"`
	// The range partitioning for this table.
	RangePartitioning *RangePartitioning `protobuf:"bytes,12,opt,name=range_partitioning,json=rangePartitioning,proto3" json:"range_partitioning,omitempty"`
	// Clustering specification for this table, if configured.
	Clustering *Clustering `protobuf:"bytes,11,opt,name=clustering,proto3" json:"clustering,omitempty"`
	// The labels associated with this table. You can use these to organize
	// and group your tables.
	Labels map[string]string `protobuf:"bytes,7,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// Additional details for a view.
	View *ListFormatView `protobuf:"bytes,8,opt,name=view,proto3" json:"view,omitempty"`
	// Output only. The time when this table was created, in milliseconds since
	// the epoch.
	CreationTime int64 `protobuf:"varint,9,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"`
	// The time when this table expires, in milliseconds since the
	// epoch. If not present, the table will persist indefinitely. Expired tables
	// will be deleted and their storage reclaimed.
	ExpirationTime int64 `protobuf:"varint,10,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"`
	// Optional. If set to true, queries including this table must specify a
	// partition filter. This filter is used for partition elimination.
	RequirePartitionFilter *wrapperspb.BoolValue `protobuf:"bytes,14,opt,name=require_partition_filter,json=requirePartitionFilter,proto3" json:"require_partition_filter,omitempty"`
}

func (x *ListFormatTable) Reset() {
	*x = ListFormatTable{}
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListFormatTable) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListFormatTable) ProtoMessage() {}

func (x *ListFormatTable) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListFormatTable.ProtoReflect.Descriptor instead.
func (*ListFormatTable) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{15}
}

func (x *ListFormatTable) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *ListFormatTable) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ListFormatTable) GetTableReference() *TableReference {
	if x != nil {
		return x.TableReference
	}
	return nil
}

func (x *ListFormatTable) GetFriendlyName() *wrapperspb.StringValue {
	if x != nil {
		return x.FriendlyName
	}
	return nil
}

func (x *ListFormatTable) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *ListFormatTable) GetTimePartitioning() *TimePartitioning {
	if x != nil {
		return x.TimePartitioning
	}
	return nil
}

func (x *ListFormatTable) GetRangePartitioning() *RangePartitioning {
	if x != nil {
		return x.RangePartitioning
	}
	return nil
}

func (x *ListFormatTable) GetClustering() *Clustering {
	if x != nil {
		return x.Clustering
	}
	return nil
}

func (x *ListFormatTable) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *ListFormatTable) GetView() *ListFormatView {
	if x != nil {
		return x.View
	}
	return nil
}

func (x *ListFormatTable) GetCreationTime() int64 {
	if x != nil {
		return x.CreationTime
	}
	return 0
}

func (x *ListFormatTable) GetExpirationTime() int64 {
	if x != nil {
		return x.ExpirationTime
	}
	return 0
}

func (x *ListFormatTable) GetRequirePartitionFilter() *wrapperspb.BoolValue {
	if x != nil {
		return x.RequirePartitionFilter
	}
	return nil
}

// Partial projection of the metadata for a given table in a list response.
type TableList struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The type of list.
	Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
	// A hash of this page of results.
	Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"`
	// A token to request the next page of results.
	NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// Tables in the requested dataset.
	Tables []*ListFormatTable `protobuf:"bytes,4,rep,name=tables,proto3" json:"tables,omitempty"`
	// The total number of tables in the dataset.
	TotalItems *wrapperspb.Int32Value `protobuf:"bytes,5,opt,name=total_items,json=totalItems,proto3" json:"total_items,omitempty"`
}

func (x *TableList) Reset() {
	*x = TableList{}
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TableList) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TableList) ProtoMessage() {}

func (x *TableList) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_table_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TableList.ProtoReflect.Descriptor instead.
func (*TableList) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_table_proto_rawDescGZIP(), []int{16}
}

func (x *TableList) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *TableList) GetEtag() string {
	if x != nil {
		return x.Etag
	}
	return ""
}

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

func (x *TableList) GetTables() []*ListFormatTable {
	if x != nil {
		return x.Tables
	}
	return nil
}

func (x *TableList) GetTotalItems() *wrapperspb.Int32Value {
	if x != nil {
		return x.TotalItems
	}
	return nil
}

var File_google_cloud_bigquery_v2_table_proto protoreflect.FileDescriptor

var file_google_cloud_bigquery_v2_table_proto_rawDesc = []byte{
	0x0a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
	0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e,
	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
	0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69,
	0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f,
	0x76, 0x32, 0x2f, 0x62, 0x69, 0x67, 0x6c, 0x61, 0x6b, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76,
	0x32, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x63,
	0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3d, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
	0x79, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x61,
	0x74, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x2f, 0x76, 0x32, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74,
	0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67,
	0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64,
	0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x1a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x61, 0x72, 0x74,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69,
	0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f,
	0x76, 0x32, 0x2f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
	0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67,
	0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63,
	0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65,
	0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65,
	0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71,
	0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72,
	0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
	0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69,
	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x75, 0x64, 0x66, 0x5f, 0x72, 0x65,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d,
	0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73,
	0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70,
	0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdf, 0x04, 0x0a, 0x14, 0x54,
	0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,
	0x6e, 0x66, 0x6f, 0x12, 0x50, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x61,
	0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
	0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65,
	0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x73,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x72, 0x65, 0x70,
	0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
	0x4d, 0x73, 0x12, 0x54, 0x0a, 0x23, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64,
	0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x66,
	0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42,
	0x06, 0xe0, 0x41, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
	0x74, 0x65, 0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x66,
	0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x77, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6c,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e,
	0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x06, 0xe0, 0x41, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11,
	0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x12, 0x59, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71,
	0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x72, 0x6f,
	0x74, 0x6f, 0x42, 0x06, 0xe0, 0x41, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, 0x65, 0x70, 0x6c,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x8d, 0x01, 0x0a,
	0x11, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x12, 0x22, 0x0a, 0x1e, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f,
	0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45,
	0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x4c,
	0x45, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53,
	0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1d, 0x0a,
	0x19, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e,
	0x46, 0x49, 0x47, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x22, 0xe2, 0x03, 0x0a,
	0x0e, 0x56, 0x69, 0x65, 0x77, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12,
	0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x7c, 0x0a, 0x1f, 0x75, 0x73,
	0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x55,
	0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x1c, 0x75, 0x73, 0x65, 0x72,
	0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x5f,
	0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x73, 0x71, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x75, 0x73,
	0x65, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x53, 0x71, 0x6c, 0x12, 0x39, 0x0a, 0x19, 0x75, 0x73,
	0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d,
	0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x75,
	0x73, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
	0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
	0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67,
	0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x70, 0x72, 0x69,
	0x76, 0x61, 0x63, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x65, 0x0a, 0x13, 0x66, 0x6f,
	0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
	0x76, 0x32, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x56, 0x69, 0x65, 0x77, 0x44, 0x65,
	0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x66,
	0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x22, 0x51, 0x0a, 0x15, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x56, 0x69, 0x65, 0x77,
	0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05,
	0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x07, 0x64, 0x69, 0x61, 0x6c, 0x65, 0x63, 0x74,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x64, 0x69, 0x61,
	0x6c, 0x65, 0x63, 0x74, 0x22, 0xed, 0x02, 0x0a, 0x1a, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61,
	0x6c, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2f,
	0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74,
	0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f,
	0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12,
	0x46, 0x0a, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73,
	0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x51, 0x0a, 0x13, 0x72, 0x65, 0x66, 0x72, 0x65,
	0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c,
	0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
	0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x73, 0x12, 0x68, 0x0a, 0x20, 0x61, 0x6c,
	0x6c, 0x6f, 0x77, 0x5f, 0x6e, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e,
	0x74, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4e, 0x6f, 0x6e, 0x49,
	0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc1, 0x01, 0x0a, 0x16, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61,
	0x6c, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
	0x4c, 0x0a, 0x11, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x77, 0x61, 0x74, 0x65, 0x72,
	0x6d, 0x61, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x72, 0x65, 0x66,
	0x72, 0x65, 0x73, 0x68, 0x57, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x59, 0x0a,
	0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x73, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
	0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f,
	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65,
	0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x12, 0x53, 0x6e, 0x61,
	0x70, 0x73, 0x68, 0x6f, 0x74, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12,
	0x5f, 0x0a, 0x14, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65,
	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67,
	0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65,
	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x62, 0x61,
	0x73, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
	0x12, 0x44, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68,
	0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x6e, 0x65,
	0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x14, 0x62, 0x61,
	0x73, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
	0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
	0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x62, 0x61, 0x73, 0x65, 0x54, 0x61, 0x62,
	0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x63,
	0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x09, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x0f,
	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x12,
	0x2c, 0x0a, 0x0f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74,
	0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x65,
	0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2a, 0x0a,
	0x0e, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x65, 0x73, 0x74, 0x69,
	0x6d, 0x61, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x2f, 0x0a, 0x11, 0x6f, 0x6c, 0x64,
	0x65, 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x06, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x6f, 0x6c, 0x64, 0x65, 0x73,
	0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x90, 0x21, 0x0a, 0x05, 0x54,
	0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x65, 0x74, 0x61,
	0x67, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
	0x41, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c,
	0x69, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08,
	0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x56, 0x0a, 0x0f, 0x74, 0x61, 0x62, 0x6c,
	0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62,
	0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
	0x12, 0x46, 0x0a, 0x0d, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x66, 0x72, 0x69, 0x65,
	0x6e, 0x64, 0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01,
	0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a,
	0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67,
	0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x4c,
	0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65,
	0x6c, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
	0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61,
	0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06,
	0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x57, 0x0a, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70,
	0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d,
	0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x74,
	0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12,
	0x5a, 0x0a, 0x12, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x72, 0x74,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x11, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x50,
	0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x44, 0x0a, 0x0a, 0x63,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62,
	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e,
	0x67, 0x12, 0x59, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x70, 0x61, 0x72,
	0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x1c, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42,
	0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x50, 0x61, 0x72,
	0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x6d, 0x0a, 0x14,
	0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
	0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69,
	0x6e, 0x67, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41,
	0x01, 0x48, 0x00, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65,
	0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x09, 0x6e,
	0x75, 0x6d, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03,
	0x52, 0x08, 0x6e, 0x75, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x12, 0x6e, 0x75,
	0x6d, 0x5f, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73,
	0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x50, 0x68, 0x79,
	0x73, 0x69, 0x63, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x13, 0x6e, 0x75,
	0x6d, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x5f, 0x62, 0x79, 0x74, 0x65,
	0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56,
	0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x4c, 0x6f,
	0x6e, 0x67, 0x54, 0x65, 0x72, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x08, 0x6e,
	0x75, 0x6d, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
	0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03,
	0x52, 0x07, 0x6e, 0x75, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03,
	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
	0x69, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49,
	0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e,
	0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x31,
	0x0a, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f,
	0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x06, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
	0x10, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x69, 0x6d,
	0x65, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x04, 0x76, 0x69,
	0x65, 0x77, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x2e, 0x76, 0x32, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, 0x66, 0x0a,
	0x11, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x76, 0x69,
	0x65, 0x77, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64,
	0x56, 0x69, 0x65, 0x77, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03,
	0xe0, 0x41, 0x01, 0x52, 0x10, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65,
	0x64, 0x56, 0x69, 0x65, 0x77, 0x12, 0x6f, 0x0a, 0x18, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61,
	0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
	0x76, 0x32, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x56,
	0x69, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x16,
	0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77,
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x78, 0x0a, 0x1b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e,
	0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x44,
	0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x19, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x44,
	0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x68, 0x0a, 0x15, 0x62, 0x69, 0x67, 0x6c, 0x61, 0x6b, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62,
	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x67, 0x4c, 0x61,
	0x6b, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42,
	0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x62, 0x69, 0x67, 0x6c, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x12, 0x6d, 0x61,
	0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65,
	0x18, 0x37, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76,
	0x32, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79,
	0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64,
	0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x6f, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03,
	0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x10, 0x73, 0x74,
	0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x15,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e,
	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x42,
	0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x42,
	0x75, 0x66, 0x66, 0x65, 0x72, 0x12, 0x6c, 0x0a, 0x18, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
	0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x65, 0x6e, 0x63, 0x72,
	0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x13, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f,
	0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6e, 0x61, 0x70,
	0x73, 0x68, 0x6f, 0x74, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03,
	0xe0, 0x41, 0x03, 0x52, 0x12, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x44, 0x65, 0x66,
	0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75,
	0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1e, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f,
	0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x70, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75,
	0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65,
	0x18, 0x2c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76,
	0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x63, 0x68, 0x65,
	0x6d, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x42,
	0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x75,
	0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x59, 0x0a, 0x10, 0x63, 0x6c, 0x6f,
	0x6e, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1f, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x43,
	0x6c, 0x6f, 0x6e, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03,
	0xe0, 0x41, 0x03, 0x52, 0x0f, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x64, 0x0a, 0x1e, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x5f, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x5f, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c,
	0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49,
	0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1a,
	0x6e, 0x75, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x50, 0x68, 0x79,
	0x73, 0x69, 0x63, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x57, 0x0a, 0x17, 0x6e, 0x75,
	0x6d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x5f,
	0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e,
	0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x14, 0x6e,
	0x75, 0x6d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x42, 0x79,
	0x74, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x18, 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76,
	0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
	0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c,
	0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x6e, 0x75, 0x6d, 0x41, 0x63, 0x74, 0x69,
	0x76, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x5e,
	0x0a, 0x1b, 0x6e, 0x75, 0x6d, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x5f,
	0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x24, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x17, 0x6e, 0x75, 0x6d, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x65,
	0x72, 0x6d, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x5d,
	0x0a, 0x1a, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x68,
	0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x35, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42,
	0x03, 0xe0, 0x41, 0x03, 0x52, 0x17, 0x6e, 0x75, 0x6d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
	0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x59, 0x0a,
	0x18, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x68, 0x79, 0x73, 0x69,
	0x63, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41,
	0x03, 0x52, 0x15, 0x6e, 0x75, 0x6d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x68, 0x79, 0x73, 0x69,
	0x63, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x5b, 0x0a, 0x19, 0x6e, 0x75, 0x6d, 0x5f,
	0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f,
	0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e,
	0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x16, 0x6e,
	0x75, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c,
	0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x1c, 0x6e, 0x75, 0x6d, 0x5f, 0x6c, 0x6f, 0x6e,
	0x67, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x5f, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f,
	0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e,
	0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x18, 0x6e,
	0x75, 0x6d, 0x4c, 0x6f, 0x6e, 0x67, 0x54, 0x65, 0x72, 0x6d, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63,
	0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x70,
	0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41,
	0x03, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x12, 0x28, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x65, 0x73,
	0x73, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x6d, 0x61,
	0x78, 0x53, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x57, 0x0a, 0x0c, 0x72, 0x65,
	0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x74,
	0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x06, 0xe0,
	0x41, 0x01, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x12, 0x5c, 0x0a, 0x11, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e,
	0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43,
	0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
	0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74,
	0x73, 0x12, 0x5b, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x61,
	0x67, 0x73, 0x18, 0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01,
	0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x69,
	0x0a, 0x16, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52,
	0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03,
	0xe0, 0x41, 0x01, 0x52, 0x14, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4c, 0x0a, 0x08, 0x72, 0x65, 0x70,
	0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x32, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65,
	0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x72,
	0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, 0x7f, 0x0a, 0x1e, 0x65, 0x78, 0x74, 0x65, 0x72,
	0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c,
	0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62,
	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72,
	0x6e, 0x61, 0x6c, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, 0x65, 0x78, 0x74,
	0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x54, 0x61, 0x62, 0x6c,
	0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65,
	0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
	0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54,
	0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x3a, 0x02, 0x38, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xda, 0x02,
	0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74,
	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09,
	0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x74, 0x61, 0x62,
	0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x6c,
	0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c,
	0x64, 0x73, 0x12, 0x54, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x54,
	0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x61, 0x62, 0x6c,
	0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x69, 0x65, 0x77, 0x42, 0x03, 0xe0,
	0x41, 0x01, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x22, 0x60, 0x0a, 0x11, 0x54, 0x61, 0x62, 0x6c,
	0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x69, 0x65, 0x77, 0x12, 0x23, 0x0a,
	0x1f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f,
	0x56, 0x49, 0x45, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
	0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x01, 0x12, 0x11, 0x0a,
	0x0d, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x53, 0x10, 0x02,
	0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x03, 0x22, 0x98, 0x01, 0x0a, 0x12, 0x49,
	0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74,
	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09,
	0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x05, 0x74, 0x61, 0x62,
	0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05,
	0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xf1, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x4f, 0x72, 0x50, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73,
	0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x74,
	0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x05, 0x74,
	0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
	0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x30, 0x0a, 0x11, 0x61, 0x75, 0x74, 0x6f, 0x64,
	0x65, 0x74, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x64, 0x65, 0x74,
	0x65, 0x63, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x7c, 0x0a, 0x12, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x64, 0x61,
	0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65,
	0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07,
	0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x22, 0xb9, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74,
	0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a,
	0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49,
	0x64, 0x12, 0x22, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61,
	0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e,
	0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
	0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f,
	0x6b, 0x65, 0x6e, 0x22, 0xa2, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x6d,
	0x61, 0x74, 0x56, 0x69, 0x65, 0x77, 0x12, 0x40, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x5f, 0x6c, 0x65,
	0x67, 0x61, 0x63, 0x79, 0x5f, 0x73, 0x71, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x4c,
	0x65, 0x67, 0x61, 0x63, 0x79, 0x53, 0x71, 0x6c, 0x12, 0x4e, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x76,
	0x61, 0x63, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x76,
	0x61, 0x63, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61,
	0x63, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xd0, 0x06, 0x0a, 0x0f, 0x4c, 0x69, 0x73,
	0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04,
	0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
	0x12, 0x51, 0x0a, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65,
	0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
	0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65,
	0x6e, 0x63, 0x65, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65,
	0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0d, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x5f,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
	0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64,
	0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x57, 0x0a, 0x11, 0x74, 0x69,
	0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e,
	0x67, 0x52, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x69, 0x6e, 0x67, 0x12, 0x5a, 0x0a, 0x12, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x72,
	0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62,
	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65,
	0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x11, 0x72, 0x61,
	0x6e, 0x67, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12,
	0x44, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x4d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18,
	0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65,
	0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61,
	0x62, 0x65, 0x6c, 0x73, 0x12, 0x3c, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
	0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69,
	0x73, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x76, 0x69,
	0x65, 0x77, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74,
	0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c,
	0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f,
	0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
	0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x59, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
	0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65,
	0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72,
	0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
	0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdc, 0x01, 0x0a, 0x09,
	0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a,
	0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61,
	0x67, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74,
	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74,
	0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x41, 0x0a, 0x06, 0x74, 0x61, 0x62,
	0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
	0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x54,
	0x61, 0x62, 0x6c, 0x65, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x0b,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x32, 0x90, 0x0a, 0x0a, 0x0c, 0x54,
	0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb0, 0x01, 0x0a, 0x08,
	0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54,
	0x61, 0x62, 0x6c, 0x65, 0x22, 0x58, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x12, 0x50, 0x2f, 0x62,
	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x3d,
	0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74,
	0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65,
	0x73, 0x2f, 0x7b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x12, 0xb0,
	0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2c,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74,
	0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71,
	0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x52, 0x82,
	0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x3a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x43, 0x2f, 0x62,
	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x3d,
	0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74,
	0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65,
	0x73, 0x12, 0xc3, 0x01, 0x0a, 0x0a, 0x50, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65,
	0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x4f, 0x72, 0x50, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
	0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x5f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x3a, 0x05,
	0x74, 0x61, 0x62, 0x6c, 0x65, 0x32, 0x50, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61,
	0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64,
	0x3d, 0x2a, 0x7d, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x62, 0x6c,
	0x65, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x12, 0xc4, 0x01, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
	0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x50, 0x61, 0x74, 0x63, 0x68,
	0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71,
	0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x5f, 0x82,
	0xd3, 0xe4, 0x93, 0x02, 0x59, 0x3a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x50, 0x2f, 0x62,
	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x3d,
	0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74,
	0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65,
	0x73, 0x2f, 0x7b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x12, 0xad,
	0x01, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2c,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
	0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
	0x6d, 0x70, 0x74, 0x79, 0x22, 0x58, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x2a, 0x50, 0x2f, 0x62,
	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x3d,
	0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74,
	0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65,
	0x73, 0x2f, 0x7b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x12, 0xab,
	0x01, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x2b, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67,
	0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x62,
	0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
	0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22,
	0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
	0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x64, 0x61,
	0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f,
	0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x1a, 0xae, 0x01, 0xca,
	0x41, 0x17, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x90, 0x01, 0x68, 0x74, 0x74,
	0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x62, 0x69, 0x67,
	0x71, 0x75, 0x65, 0x72, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77,
	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
	0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74,
	0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
	0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66,
	0x6f, 0x72, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x67, 0x0a,
	0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
	0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x42, 0x0a, 0x54,
	0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x3b, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x62,
	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x32,
	0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x70, 0x62, 0x3b, 0x62, 0x69, 0x67, 0x71,
	0x75, 0x65, 0x72, 0x79, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_google_cloud_bigquery_v2_table_proto_rawDescOnce sync.Once
	file_google_cloud_bigquery_v2_table_proto_rawDescData = file_google_cloud_bigquery_v2_table_proto_rawDesc
)

func file_google_cloud_bigquery_v2_table_proto_rawDescGZIP() []byte {
	file_google_cloud_bigquery_v2_table_proto_rawDescOnce.Do(func() {
		file_google_cloud_bigquery_v2_table_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_bigquery_v2_table_proto_rawDescData)
	})
	return file_google_cloud_bigquery_v2_table_proto_rawDescData
}

var file_google_cloud_bigquery_v2_table_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_google_cloud_bigquery_v2_table_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
var file_google_cloud_bigquery_v2_table_proto_goTypes = []any{
	(TableReplicationInfo_ReplicationStatus)(0), // 0: google.cloud.bigquery.v2.TableReplicationInfo.ReplicationStatus
	(GetTableRequest_TableMetadataView)(0),      // 1: google.cloud.bigquery.v2.GetTableRequest.TableMetadataView
	(*TableReplicationInfo)(nil),                // 2: google.cloud.bigquery.v2.TableReplicationInfo
	(*ViewDefinition)(nil),                      // 3: google.cloud.bigquery.v2.ViewDefinition
	(*ForeignViewDefinition)(nil),               // 4: google.cloud.bigquery.v2.ForeignViewDefinition
	(*MaterializedViewDefinition)(nil),          // 5: google.cloud.bigquery.v2.MaterializedViewDefinition
	(*MaterializedViewStatus)(nil),              // 6: google.cloud.bigquery.v2.MaterializedViewStatus
	(*SnapshotDefinition)(nil),                  // 7: google.cloud.bigquery.v2.SnapshotDefinition
	(*CloneDefinition)(nil),                     // 8: google.cloud.bigquery.v2.CloneDefinition
	(*Streamingbuffer)(nil),                     // 9: google.cloud.bigquery.v2.Streamingbuffer
	(*Table)(nil),                               // 10: google.cloud.bigquery.v2.Table
	(*GetTableRequest)(nil),                     // 11: google.cloud.bigquery.v2.GetTableRequest
	(*InsertTableRequest)(nil),                  // 12: google.cloud.bigquery.v2.InsertTableRequest
	(*UpdateOrPatchTableRequest)(nil),           // 13: google.cloud.bigquery.v2.UpdateOrPatchTableRequest
	(*DeleteTableRequest)(nil),                  // 14: google.cloud.bigquery.v2.DeleteTableRequest
	(*ListTablesRequest)(nil),                   // 15: google.cloud.bigquery.v2.ListTablesRequest
	(*ListFormatView)(nil),                      // 16: google.cloud.bigquery.v2.ListFormatView
	(*ListFormatTable)(nil),                     // 17: google.cloud.bigquery.v2.ListFormatTable
	(*TableList)(nil),                           // 18: google.cloud.bigquery.v2.TableList
	nil,                                         // 19: google.cloud.bigquery.v2.Table.LabelsEntry
	nil,                                         // 20: google.cloud.bigquery.v2.Table.ResourceTagsEntry
	nil,                                         // 21: google.cloud.bigquery.v2.ListFormatTable.LabelsEntry
	(*TableReference)(nil),                      // 22: google.cloud.bigquery.v2.TableReference
	(*ErrorProto)(nil),                          // 23: google.cloud.bigquery.v2.ErrorProto
	(*UserDefinedFunctionResource)(nil),         // 24: google.cloud.bigquery.v2.UserDefinedFunctionResource
	(*wrapperspb.BoolValue)(nil),                // 25: google.protobuf.BoolValue
	(*PrivacyPolicy)(nil),                       // 26: google.cloud.bigquery.v2.PrivacyPolicy
	(*wrapperspb.UInt64Value)(nil),              // 27: google.protobuf.UInt64Value
	(*timestamppb.Timestamp)(nil),               // 28: google.protobuf.Timestamp
	(*wrapperspb.StringValue)(nil),              // 29: google.protobuf.StringValue
	(*TableSchema)(nil),                         // 30: google.cloud.bigquery.v2.TableSchema
	(*TimePartitioning)(nil),                    // 31: google.cloud.bigquery.v2.TimePartitioning
	(*RangePartitioning)(nil),                   // 32: google.cloud.bigquery.v2.RangePartitioning
	(*Clustering)(nil),                          // 33: google.cloud.bigquery.v2.Clustering
	(*PartitioningDefinition)(nil),              // 34: google.cloud.bigquery.v2.PartitioningDefinition
	(*wrapperspb.Int64Value)(nil),               // 35: google.protobuf.Int64Value
	(*ExternalDataConfiguration)(nil),           // 36: google.cloud.bigquery.v2.ExternalDataConfiguration
	(*BigLakeConfiguration)(nil),                // 37: google.cloud.bigquery.v2.BigLakeConfiguration
	(ManagedTableType)(0),                       // 38: google.cloud.bigquery.v2.ManagedTableType
	(*EncryptionConfiguration)(nil),             // 39: google.cloud.bigquery.v2.EncryptionConfiguration
	(TableFieldSchema_RoundingMode)(0),          // 40: google.cloud.bigquery.v2.TableFieldSchema.RoundingMode
	(*RestrictionConfig)(nil),                   // 41: google.cloud.bigquery.v2.RestrictionConfig
	(*TableConstraints)(nil),                    // 42: google.cloud.bigquery.v2.TableConstraints
	(*ExternalCatalogTableOptions)(nil),         // 43: google.cloud.bigquery.v2.ExternalCatalogTableOptions
	(*wrapperspb.UInt32Value)(nil),              // 44: google.protobuf.UInt32Value
	(*wrapperspb.Int32Value)(nil),               // 45: google.protobuf.Int32Value
	(*emptypb.Empty)(nil),                       // 46: google.protobuf.Empty
}
var file_google_cloud_bigquery_v2_table_proto_depIdxs = []int32{
	22, // 0: google.cloud.bigquery.v2.TableReplicationInfo.source_table:type_name -> google.cloud.bigquery.v2.TableReference
	0,  // 1: google.cloud.bigquery.v2.TableReplicationInfo.replication_status:type_name -> google.cloud.bigquery.v2.TableReplicationInfo.ReplicationStatus
	23, // 2: google.cloud.bigquery.v2.TableReplicationInfo.replication_error:type_name -> google.cloud.bigquery.v2.ErrorProto
	24, // 3: google.cloud.bigquery.v2.ViewDefinition.user_defined_function_resources:type_name -> google.cloud.bigquery.v2.UserDefinedFunctionResource
	25, // 4: google.cloud.bigquery.v2.ViewDefinition.use_legacy_sql:type_name -> google.protobuf.BoolValue
	26, // 5: google.cloud.bigquery.v2.ViewDefinition.privacy_policy:type_name -> google.cloud.bigquery.v2.PrivacyPolicy
	4,  // 6: google.cloud.bigquery.v2.ViewDefinition.foreign_definitions:type_name -> google.cloud.bigquery.v2.ForeignViewDefinition
	25, // 7: google.cloud.bigquery.v2.MaterializedViewDefinition.enable_refresh:type_name -> google.protobuf.BoolValue
	27, // 8: google.cloud.bigquery.v2.MaterializedViewDefinition.refresh_interval_ms:type_name -> google.protobuf.UInt64Value
	25, // 9: google.cloud.bigquery.v2.MaterializedViewDefinition.allow_non_incremental_definition:type_name -> google.protobuf.BoolValue
	28, // 10: google.cloud.bigquery.v2.MaterializedViewStatus.refresh_watermark:type_name -> google.protobuf.Timestamp
	23, // 11: google.cloud.bigquery.v2.MaterializedViewStatus.last_refresh_status:type_name -> google.cloud.bigquery.v2.ErrorProto
	22, // 12: google.cloud.bigquery.v2.SnapshotDefinition.base_table_reference:type_name -> google.cloud.bigquery.v2.TableReference
	28, // 13: google.cloud.bigquery.v2.SnapshotDefinition.snapshot_time:type_name -> google.protobuf.Timestamp
	22, // 14: google.cloud.bigquery.v2.CloneDefinition.base_table_reference:type_name -> google.cloud.bigquery.v2.TableReference
	28, // 15: google.cloud.bigquery.v2.CloneDefinition.clone_time:type_name -> google.protobuf.Timestamp
	22, // 16: google.cloud.bigquery.v2.Table.table_reference:type_name -> google.cloud.bigquery.v2.TableReference
	29, // 17: google.cloud.bigquery.v2.Table.friendly_name:type_name -> google.protobuf.StringValue
	29, // 18: google.cloud.bigquery.v2.Table.description:type_name -> google.protobuf.StringValue
	19, // 19: google.cloud.bigquery.v2.Table.labels:type_name -> google.cloud.bigquery.v2.Table.LabelsEntry
	30, // 20: google.cloud.bigquery.v2.Table.schema:type_name -> google.cloud.bigquery.v2.TableSchema
	31, // 21: google.cloud.bigquery.v2.Table.time_partitioning:type_name -> google.cloud.bigquery.v2.TimePartitioning
	32, // 22: google.cloud.bigquery.v2.Table.range_partitioning:type_name -> google.cloud.bigquery.v2.RangePartitioning
	33, // 23: google.cloud.bigquery.v2.Table.clustering:type_name -> google.cloud.bigquery.v2.Clustering
	25, // 24: google.cloud.bigquery.v2.Table.require_partition_filter:type_name -> google.protobuf.BoolValue
	34, // 25: google.cloud.bigquery.v2.Table.partition_definition:type_name -> google.cloud.bigquery.v2.PartitioningDefinition
	35, // 26: google.cloud.bigquery.v2.Table.num_bytes:type_name -> google.protobuf.Int64Value
	35, // 27: google.cloud.bigquery.v2.Table.num_physical_bytes:type_name -> google.protobuf.Int64Value
	35, // 28: google.cloud.bigquery.v2.Table.num_long_term_bytes:type_name -> google.protobuf.Int64Value
	27, // 29: google.cloud.bigquery.v2.Table.num_rows:type_name -> google.protobuf.UInt64Value
	35, // 30: google.cloud.bigquery.v2.Table.expiration_time:type_name -> google.protobuf.Int64Value
	3,  // 31: google.cloud.bigquery.v2.Table.view:type_name -> google.cloud.bigquery.v2.ViewDefinition
	5,  // 32: google.cloud.bigquery.v2.Table.materialized_view:type_name -> google.cloud.bigquery.v2.MaterializedViewDefinition
	6,  // 33: google.cloud.bigquery.v2.Table.materialized_view_status:type_name -> google.cloud.bigquery.v2.MaterializedViewStatus
	36, // 34: google.cloud.bigquery.v2.Table.external_data_configuration:type_name -> google.cloud.bigquery.v2.ExternalDataConfiguration
	37, // 35: google.cloud.bigquery.v2.Table.biglake_configuration:type_name -> google.cloud.bigquery.v2.BigLakeConfiguration
	38, // 36: google.cloud.bigquery.v2.Table.managed_table_type:type_name -> google.cloud.bigquery.v2.ManagedTableType
	9,  // 37: google.cloud.bigquery.v2.Table.streaming_buffer:type_name -> google.cloud.bigquery.v2.Streamingbuffer
	39, // 38: google.cloud.bigquery.v2.Table.encryption_configuration:type_name -> google.cloud.bigquery.v2.EncryptionConfiguration
	7,  // 39: google.cloud.bigquery.v2.Table.snapshot_definition:type_name -> google.cloud.bigquery.v2.SnapshotDefinition
	29, // 40: google.cloud.bigquery.v2.Table.default_collation:type_name -> google.protobuf.StringValue
	40, // 41: google.cloud.bigquery.v2.Table.default_rounding_mode:type_name -> google.cloud.bigquery.v2.TableFieldSchema.RoundingMode
	8,  // 42: google.cloud.bigquery.v2.Table.clone_definition:type_name -> google.cloud.bigquery.v2.CloneDefinition
	35, // 43: google.cloud.bigquery.v2.Table.num_time_travel_physical_bytes:type_name -> google.protobuf.Int64Value
	35, // 44: google.cloud.bigquery.v2.Table.num_total_logical_bytes:type_name -> google.protobuf.Int64Value
	35, // 45: google.cloud.bigquery.v2.Table.num_active_logical_bytes:type_name -> google.protobuf.Int64Value
	35, // 46: google.cloud.bigquery.v2.Table.num_long_term_logical_bytes:type_name -> google.protobuf.Int64Value
	35, // 47: google.cloud.bigquery.v2.Table.num_current_physical_bytes:type_name -> google.protobuf.Int64Value
	35, // 48: google.cloud.bigquery.v2.Table.num_total_physical_bytes:type_name -> google.protobuf.Int64Value
	35, // 49: google.cloud.bigquery.v2.Table.num_active_physical_bytes:type_name -> google.protobuf.Int64Value
	35, // 50: google.cloud.bigquery.v2.Table.num_long_term_physical_bytes:type_name -> google.protobuf.Int64Value
	35, // 51: google.cloud.bigquery.v2.Table.num_partitions:type_name -> google.protobuf.Int64Value
	41, // 52: google.cloud.bigquery.v2.Table.restrictions:type_name -> google.cloud.bigquery.v2.RestrictionConfig
	42, // 53: google.cloud.bigquery.v2.Table.table_constraints:type_name -> google.cloud.bigquery.v2.TableConstraints
	20, // 54: google.cloud.bigquery.v2.Table.resource_tags:type_name -> google.cloud.bigquery.v2.Table.ResourceTagsEntry
	2,  // 55: google.cloud.bigquery.v2.Table.table_replication_info:type_name -> google.cloud.bigquery.v2.TableReplicationInfo
	22, // 56: google.cloud.bigquery.v2.Table.replicas:type_name -> google.cloud.bigquery.v2.TableReference
	43, // 57: google.cloud.bigquery.v2.Table.external_catalog_table_options:type_name -> google.cloud.bigquery.v2.ExternalCatalogTableOptions
	1,  // 58: google.cloud.bigquery.v2.GetTableRequest.view:type_name -> google.cloud.bigquery.v2.GetTableRequest.TableMetadataView
	10, // 59: google.cloud.bigquery.v2.InsertTableRequest.table:type_name -> google.cloud.bigquery.v2.Table
	10, // 60: google.cloud.bigquery.v2.UpdateOrPatchTableRequest.table:type_name -> google.cloud.bigquery.v2.Table
	44, // 61: google.cloud.bigquery.v2.ListTablesRequest.max_results:type_name -> google.protobuf.UInt32Value
	25, // 62: google.cloud.bigquery.v2.ListFormatView.use_legacy_sql:type_name -> google.protobuf.BoolValue
	26, // 63: google.cloud.bigquery.v2.ListFormatView.privacy_policy:type_name -> google.cloud.bigquery.v2.PrivacyPolicy
	22, // 64: google.cloud.bigquery.v2.ListFormatTable.table_reference:type_name -> google.cloud.bigquery.v2.TableReference
	29, // 65: google.cloud.bigquery.v2.ListFormatTable.friendly_name:type_name -> google.protobuf.StringValue
	31, // 66: google.cloud.bigquery.v2.ListFormatTable.time_partitioning:type_name -> google.cloud.bigquery.v2.TimePartitioning
	32, // 67: google.cloud.bigquery.v2.ListFormatTable.range_partitioning:type_name -> google.cloud.bigquery.v2.RangePartitioning
	33, // 68: google.cloud.bigquery.v2.ListFormatTable.clustering:type_name -> google.cloud.bigquery.v2.Clustering
	21, // 69: google.cloud.bigquery.v2.ListFormatTable.labels:type_name -> google.cloud.bigquery.v2.ListFormatTable.LabelsEntry
	16, // 70: google.cloud.bigquery.v2.ListFormatTable.view:type_name -> google.cloud.bigquery.v2.ListFormatView
	25, // 71: google.cloud.bigquery.v2.ListFormatTable.require_partition_filter:type_name -> google.protobuf.BoolValue
	17, // 72: google.cloud.bigquery.v2.TableList.tables:type_name -> google.cloud.bigquery.v2.ListFormatTable
	45, // 73: google.cloud.bigquery.v2.TableList.total_items:type_name -> google.protobuf.Int32Value
	11, // 74: google.cloud.bigquery.v2.TableService.GetTable:input_type -> google.cloud.bigquery.v2.GetTableRequest
	12, // 75: google.cloud.bigquery.v2.TableService.InsertTable:input_type -> google.cloud.bigquery.v2.InsertTableRequest
	13, // 76: google.cloud.bigquery.v2.TableService.PatchTable:input_type -> google.cloud.bigquery.v2.UpdateOrPatchTableRequest
	13, // 77: google.cloud.bigquery.v2.TableService.UpdateTable:input_type -> google.cloud.bigquery.v2.UpdateOrPatchTableRequest
	14, // 78: google.cloud.bigquery.v2.TableService.DeleteTable:input_type -> google.cloud.bigquery.v2.DeleteTableRequest
	15, // 79: google.cloud.bigquery.v2.TableService.ListTables:input_type -> google.cloud.bigquery.v2.ListTablesRequest
	10, // 80: google.cloud.bigquery.v2.TableService.GetTable:output_type -> google.cloud.bigquery.v2.Table
	10, // 81: google.cloud.bigquery.v2.TableService.InsertTable:output_type -> google.cloud.bigquery.v2.Table
	10, // 82: google.cloud.bigquery.v2.TableService.PatchTable:output_type -> google.cloud.bigquery.v2.Table
	10, // 83: google.cloud.bigquery.v2.TableService.UpdateTable:output_type -> google.cloud.bigquery.v2.Table
	46, // 84: google.cloud.bigquery.v2.TableService.DeleteTable:output_type -> google.protobuf.Empty
	18, // 85: google.cloud.bigquery.v2.TableService.ListTables:output_type -> google.cloud.bigquery.v2.TableList
	80, // [80:86] is the sub-list for method output_type
	74, // [74:80] is the sub-list for method input_type
	74, // [74:74] is the sub-list for extension type_name
	74, // [74:74] is the sub-list for extension extendee
	0,  // [0:74] is the sub-list for field type_name
}

func init() { file_google_cloud_bigquery_v2_table_proto_init() }
func file_google_cloud_bigquery_v2_table_proto_init() {
	if File_google_cloud_bigquery_v2_table_proto != nil {
		return
	}
	file_google_cloud_bigquery_v2_biglake_config_proto_init()
	file_google_cloud_bigquery_v2_clustering_proto_init()
	file_google_cloud_bigquery_v2_encryption_config_proto_init()
	file_google_cloud_bigquery_v2_error_proto_init()
	file_google_cloud_bigquery_v2_external_catalog_table_options_proto_init()
	file_google_cloud_bigquery_v2_external_data_config_proto_init()
	file_google_cloud_bigquery_v2_managed_table_type_proto_init()
	file_google_cloud_bigquery_v2_partitioning_definition_proto_init()
	file_google_cloud_bigquery_v2_privacy_policy_proto_init()
	file_google_cloud_bigquery_v2_range_partitioning_proto_init()
	file_google_cloud_bigquery_v2_restriction_config_proto_init()
	file_google_cloud_bigquery_v2_table_constraints_proto_init()
	file_google_cloud_bigquery_v2_table_reference_proto_init()
	file_google_cloud_bigquery_v2_table_schema_proto_init()
	file_google_cloud_bigquery_v2_time_partitioning_proto_init()
	file_google_cloud_bigquery_v2_udf_resource_proto_init()
	file_google_cloud_bigquery_v2_table_proto_msgTypes[8].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_google_cloud_bigquery_v2_table_proto_rawDesc,
			NumEnums:      2,
			NumMessages:   20,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_google_cloud_bigquery_v2_table_proto_goTypes,
		DependencyIndexes: file_google_cloud_bigquery_v2_table_proto_depIdxs,
		EnumInfos:         file_google_cloud_bigquery_v2_table_proto_enumTypes,
		MessageInfos:      file_google_cloud_bigquery_v2_table_proto_msgTypes,
	}.Build()
	File_google_cloud_bigquery_v2_table_proto = out.File
	file_google_cloud_bigquery_v2_table_proto_rawDesc = nil
	file_google_cloud_bigquery_v2_table_proto_goTypes = nil
	file_google_cloud_bigquery_v2_table_proto_depIdxs = nil
}

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

// 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.SupportPackageIsVersion6

// TableServiceClient is the client API for TableService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type TableServiceClient interface {
	// Gets the specified table resource by table ID.
	// This method does not return the data in the table, it only returns the
	// table resource, which describes the structure of this table.
	GetTable(ctx context.Context, in *GetTableRequest, opts ...grpc.CallOption) (*Table, error)
	// Creates a new, empty table in the dataset.
	InsertTable(ctx context.Context, in *InsertTableRequest, opts ...grpc.CallOption) (*Table, error)
	// Updates information in an existing table. The update method replaces the
	// entire table resource, whereas the patch method only replaces fields that
	// are provided in the submitted table resource.
	// This method supports RFC5789 patch semantics.
	PatchTable(ctx context.Context, in *UpdateOrPatchTableRequest, opts ...grpc.CallOption) (*Table, error)
	// Updates information in an existing table. The update method replaces the
	// entire Table resource, whereas the patch method only replaces fields that
	// are provided in the submitted Table resource.
	UpdateTable(ctx context.Context, in *UpdateOrPatchTableRequest, opts ...grpc.CallOption) (*Table, error)
	// Deletes the table specified by tableId from the dataset.
	// If the table contains data, all the data will be deleted.
	DeleteTable(ctx context.Context, in *DeleteTableRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Lists all tables in the specified dataset. Requires the READER dataset
	// role.
	ListTables(ctx context.Context, in *ListTablesRequest, opts ...grpc.CallOption) (*TableList, error)
}

type tableServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewTableServiceClient(cc grpc.ClientConnInterface) TableServiceClient {
	return &tableServiceClient{cc}
}

func (c *tableServiceClient) GetTable(ctx context.Context, in *GetTableRequest, opts ...grpc.CallOption) (*Table, error) {
	out := new(Table)
	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.v2.TableService/GetTable", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *tableServiceClient) InsertTable(ctx context.Context, in *InsertTableRequest, opts ...grpc.CallOption) (*Table, error) {
	out := new(Table)
	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.v2.TableService/InsertTable", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *tableServiceClient) PatchTable(ctx context.Context, in *UpdateOrPatchTableRequest, opts ...grpc.CallOption) (*Table, error) {
	out := new(Table)
	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.v2.TableService/PatchTable", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *tableServiceClient) UpdateTable(ctx context.Context, in *UpdateOrPatchTableRequest, opts ...grpc.CallOption) (*Table, error) {
	out := new(Table)
	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.v2.TableService/UpdateTable", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *tableServiceClient) DeleteTable(ctx context.Context, in *DeleteTableRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.v2.TableService/DeleteTable", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *tableServiceClient) ListTables(ctx context.Context, in *ListTablesRequest, opts ...grpc.CallOption) (*TableList, error) {
	out := new(TableList)
	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.v2.TableService/ListTables", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// TableServiceServer is the server API for TableService service.
type TableServiceServer interface {
	// Gets the specified table resource by table ID.
	// This method does not return the data in the table, it only returns the
	// table resource, which describes the structure of this table.
	GetTable(context.Context, *GetTableRequest) (*Table, error)
	// Creates a new, empty table in the dataset.
	InsertTable(context.Context, *InsertTableRequest) (*Table, error)
	// Updates information in an existing table. The update method replaces the
	// entire table resource, whereas the patch method only replaces fields that
	// are provided in the submitted table resource.
	// This method supports RFC5789 patch semantics.
	PatchTable(context.Context, *UpdateOrPatchTableRequest) (*Table, error)
	// Updates information in an existing table. The update method replaces the
	// entire Table resource, whereas the patch method only replaces fields that
	// are provided in the submitted Table resource.
	UpdateTable(context.Context, *UpdateOrPatchTableRequest) (*Table, error)
	// Deletes the table specified by tableId from the dataset.
	// If the table contains data, all the data will be deleted.
	DeleteTable(context.Context, *DeleteTableRequest) (*emptypb.Empty, error)
	// Lists all tables in the specified dataset. Requires the READER dataset
	// role.
	ListTables(context.Context, *ListTablesRequest) (*TableList, error)
}

// UnimplementedTableServiceServer can be embedded to have forward compatible implementations.
type UnimplementedTableServiceServer struct {
}

func (*UnimplementedTableServiceServer) GetTable(context.Context, *GetTableRequest) (*Table, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTable not implemented")
}
func (*UnimplementedTableServiceServer) InsertTable(context.Context, *InsertTableRequest) (*Table, error) {
	return nil, status.Errorf(codes.Unimplemented, "method InsertTable not implemented")
}
func (*UnimplementedTableServiceServer) PatchTable(context.Context, *UpdateOrPatchTableRequest) (*Table, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PatchTable not implemented")
}
func (*UnimplementedTableServiceServer) UpdateTable(context.Context, *UpdateOrPatchTableRequest) (*Table, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateTable not implemented")
}
func (*UnimplementedTableServiceServer) DeleteTable(context.Context, *DeleteTableRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteTable not implemented")
}
func (*UnimplementedTableServiceServer) ListTables(context.Context, *ListTablesRequest) (*TableList, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListTables not implemented")
}

func RegisterTableServiceServer(s *grpc.Server, srv TableServiceServer) {
	s.RegisterService(&_TableService_serviceDesc, srv)
}

func _TableService_GetTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetTableRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TableServiceServer).GetTable(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.bigquery.v2.TableService/GetTable",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TableServiceServer).GetTable(ctx, req.(*GetTableRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TableService_InsertTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(InsertTableRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TableServiceServer).InsertTable(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.bigquery.v2.TableService/InsertTable",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TableServiceServer).InsertTable(ctx, req.(*InsertTableRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TableService_PatchTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateOrPatchTableRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TableServiceServer).PatchTable(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.bigquery.v2.TableService/PatchTable",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TableServiceServer).PatchTable(ctx, req.(*UpdateOrPatchTableRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TableService_UpdateTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateOrPatchTableRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TableServiceServer).UpdateTable(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.bigquery.v2.TableService/UpdateTable",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TableServiceServer).UpdateTable(ctx, req.(*UpdateOrPatchTableRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TableService_DeleteTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteTableRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TableServiceServer).DeleteTable(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.bigquery.v2.TableService/DeleteTable",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TableServiceServer).DeleteTable(ctx, req.(*DeleteTableRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TableService_ListTables_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListTablesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TableServiceServer).ListTables(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.bigquery.v2.TableService/ListTables",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TableServiceServer).ListTables(ctx, req.(*ListTablesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _TableService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "google.cloud.bigquery.v2.TableService",
	HandlerType: (*TableServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetTable",
			Handler:    _TableService_GetTable_Handler,
		},
		{
			MethodName: "InsertTable",
			Handler:    _TableService_InsertTable_Handler,
		},
		{
			MethodName: "PatchTable",
			Handler:    _TableService_PatchTable_Handler,
		},
		{
			MethodName: "UpdateTable",
			Handler:    _TableService_UpdateTable_Handler,
		},
		{
			MethodName: "DeleteTable",
			Handler:    _TableService_DeleteTable_Handler,
		},
		{
			MethodName: "ListTables",
			Handler:    _TableService_ListTables_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "google/cloud/bigquery/v2/table.proto",
}
