//
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements.  See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You 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.30.0
// 	protoc        (unknown)
// source: spark/connect/commands.proto

package generated

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	anypb "google.golang.org/protobuf/types/known/anypb"
	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)
)

// The enum used for client side streaming query listener event
// There is no QueryStartedEvent defined here,
// it is added as a field in WriteStreamOperationStartResult
type StreamingQueryEventType int32

const (
	StreamingQueryEventType_QUERY_PROGRESS_UNSPECIFIED StreamingQueryEventType = 0
	StreamingQueryEventType_QUERY_PROGRESS_EVENT       StreamingQueryEventType = 1
	StreamingQueryEventType_QUERY_TERMINATED_EVENT     StreamingQueryEventType = 2
	StreamingQueryEventType_QUERY_IDLE_EVENT           StreamingQueryEventType = 3
)

// Enum value maps for StreamingQueryEventType.
var (
	StreamingQueryEventType_name = map[int32]string{
		0: "QUERY_PROGRESS_UNSPECIFIED",
		1: "QUERY_PROGRESS_EVENT",
		2: "QUERY_TERMINATED_EVENT",
		3: "QUERY_IDLE_EVENT",
	}
	StreamingQueryEventType_value = map[string]int32{
		"QUERY_PROGRESS_UNSPECIFIED": 0,
		"QUERY_PROGRESS_EVENT":       1,
		"QUERY_TERMINATED_EVENT":     2,
		"QUERY_IDLE_EVENT":           3,
	}
)

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

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

func (StreamingQueryEventType) Descriptor() protoreflect.EnumDescriptor {
	return file_spark_connect_commands_proto_enumTypes[0].Descriptor()
}

func (StreamingQueryEventType) Type() protoreflect.EnumType {
	return &file_spark_connect_commands_proto_enumTypes[0]
}

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

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

type WriteOperation_SaveMode int32

const (
	WriteOperation_SAVE_MODE_UNSPECIFIED     WriteOperation_SaveMode = 0
	WriteOperation_SAVE_MODE_APPEND          WriteOperation_SaveMode = 1
	WriteOperation_SAVE_MODE_OVERWRITE       WriteOperation_SaveMode = 2
	WriteOperation_SAVE_MODE_ERROR_IF_EXISTS WriteOperation_SaveMode = 3
	WriteOperation_SAVE_MODE_IGNORE          WriteOperation_SaveMode = 4
)

// Enum value maps for WriteOperation_SaveMode.
var (
	WriteOperation_SaveMode_name = map[int32]string{
		0: "SAVE_MODE_UNSPECIFIED",
		1: "SAVE_MODE_APPEND",
		2: "SAVE_MODE_OVERWRITE",
		3: "SAVE_MODE_ERROR_IF_EXISTS",
		4: "SAVE_MODE_IGNORE",
	}
	WriteOperation_SaveMode_value = map[string]int32{
		"SAVE_MODE_UNSPECIFIED":     0,
		"SAVE_MODE_APPEND":          1,
		"SAVE_MODE_OVERWRITE":       2,
		"SAVE_MODE_ERROR_IF_EXISTS": 3,
		"SAVE_MODE_IGNORE":          4,
	}
)

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

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

func (WriteOperation_SaveMode) Descriptor() protoreflect.EnumDescriptor {
	return file_spark_connect_commands_proto_enumTypes[1].Descriptor()
}

func (WriteOperation_SaveMode) Type() protoreflect.EnumType {
	return &file_spark_connect_commands_proto_enumTypes[1]
}

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

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

type WriteOperation_SaveTable_TableSaveMethod int32

const (
	WriteOperation_SaveTable_TABLE_SAVE_METHOD_UNSPECIFIED   WriteOperation_SaveTable_TableSaveMethod = 0
	WriteOperation_SaveTable_TABLE_SAVE_METHOD_SAVE_AS_TABLE WriteOperation_SaveTable_TableSaveMethod = 1
	WriteOperation_SaveTable_TABLE_SAVE_METHOD_INSERT_INTO   WriteOperation_SaveTable_TableSaveMethod = 2
)

// Enum value maps for WriteOperation_SaveTable_TableSaveMethod.
var (
	WriteOperation_SaveTable_TableSaveMethod_name = map[int32]string{
		0: "TABLE_SAVE_METHOD_UNSPECIFIED",
		1: "TABLE_SAVE_METHOD_SAVE_AS_TABLE",
		2: "TABLE_SAVE_METHOD_INSERT_INTO",
	}
	WriteOperation_SaveTable_TableSaveMethod_value = map[string]int32{
		"TABLE_SAVE_METHOD_UNSPECIFIED":   0,
		"TABLE_SAVE_METHOD_SAVE_AS_TABLE": 1,
		"TABLE_SAVE_METHOD_INSERT_INTO":   2,
	}
)

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

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

func (WriteOperation_SaveTable_TableSaveMethod) Descriptor() protoreflect.EnumDescriptor {
	return file_spark_connect_commands_proto_enumTypes[2].Descriptor()
}

func (WriteOperation_SaveTable_TableSaveMethod) Type() protoreflect.EnumType {
	return &file_spark_connect_commands_proto_enumTypes[2]
}

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

// Deprecated: Use WriteOperation_SaveTable_TableSaveMethod.Descriptor instead.
func (WriteOperation_SaveTable_TableSaveMethod) EnumDescriptor() ([]byte, []int) {
	return file_spark_connect_commands_proto_rawDescGZIP(), []int{3, 1, 0}
}

type WriteOperationV2_Mode int32

const (
	WriteOperationV2_MODE_UNSPECIFIED          WriteOperationV2_Mode = 0
	WriteOperationV2_MODE_CREATE               WriteOperationV2_Mode = 1
	WriteOperationV2_MODE_OVERWRITE            WriteOperationV2_Mode = 2
	WriteOperationV2_MODE_OVERWRITE_PARTITIONS WriteOperationV2_Mode = 3
	WriteOperationV2_MODE_APPEND               WriteOperationV2_Mode = 4
	WriteOperationV2_MODE_REPLACE              WriteOperationV2_Mode = 5
	WriteOperationV2_MODE_CREATE_OR_REPLACE    WriteOperationV2_Mode = 6
)

// Enum value maps for WriteOperationV2_Mode.
var (
	WriteOperationV2_Mode_name = map[int32]string{
		0: "MODE_UNSPECIFIED",
		1: "MODE_CREATE",
		2: "MODE_OVERWRITE",
		3: "MODE_OVERWRITE_PARTITIONS",
		4: "MODE_APPEND",
		5: "MODE_REPLACE",
		6: "MODE_CREATE_OR_REPLACE",
	}
	WriteOperationV2_Mode_value = map[string]int32{
		"MODE_UNSPECIFIED":          0,
		"MODE_CREATE":               1,
		"MODE_OVERWRITE":            2,
		"MODE_OVERWRITE_PARTITIONS": 3,
		"MODE_APPEND":               4,
		"MODE_REPLACE":              5,
		"MODE_CREATE_OR_REPLACE":    6,
	}
)

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

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

func (WriteOperationV2_Mode) Descriptor() protoreflect.EnumDescriptor {
	return file_spark_connect_commands_proto_enumTypes[3].Descriptor()
}

func (WriteOperationV2_Mode) Type() protoreflect.EnumType {
	return &file_spark_connect_commands_proto_enumTypes[3]
}

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

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

// A [[Command]] is an operation that is executed by the server that does not directly consume or
// produce a relational result.
type Command struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to CommandType:
	//
	//	*Command_RegisterFunction
	//	*Command_WriteOperation
	//	*Command_CreateDataframeView
	//	*Command_WriteOperationV2
	//	*Command_SqlCommand
	//	*Command_WriteStreamOperationStart
	//	*Command_StreamingQueryCommand
	//	*Command_GetResourcesCommand
	//	*Command_StreamingQueryManagerCommand
	//	*Command_RegisterTableFunction
	//	*Command_StreamingQueryListenerBusCommand
	//	*Command_RegisterDataSource
	//	*Command_CreateResourceProfileCommand
	//	*Command_CheckpointCommand
	//	*Command_RemoveCachedRemoteRelationCommand
	//	*Command_MergeIntoTableCommand
	//	*Command_MlCommand
	//	*Command_ExecuteExternalCommand
	//	*Command_PipelineCommand
	//	*Command_Extension
	CommandType isCommand_CommandType `protobuf_oneof:"command_type"`
}

func (x *Command) Reset() {
	*x = Command{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Command) ProtoMessage() {}

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

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

func (m *Command) GetCommandType() isCommand_CommandType {
	if m != nil {
		return m.CommandType
	}
	return nil
}

func (x *Command) GetRegisterFunction() *CommonInlineUserDefinedFunction {
	if x, ok := x.GetCommandType().(*Command_RegisterFunction); ok {
		return x.RegisterFunction
	}
	return nil
}

func (x *Command) GetWriteOperation() *WriteOperation {
	if x, ok := x.GetCommandType().(*Command_WriteOperation); ok {
		return x.WriteOperation
	}
	return nil
}

func (x *Command) GetCreateDataframeView() *CreateDataFrameViewCommand {
	if x, ok := x.GetCommandType().(*Command_CreateDataframeView); ok {
		return x.CreateDataframeView
	}
	return nil
}

func (x *Command) GetWriteOperationV2() *WriteOperationV2 {
	if x, ok := x.GetCommandType().(*Command_WriteOperationV2); ok {
		return x.WriteOperationV2
	}
	return nil
}

func (x *Command) GetSqlCommand() *SqlCommand {
	if x, ok := x.GetCommandType().(*Command_SqlCommand); ok {
		return x.SqlCommand
	}
	return nil
}

func (x *Command) GetWriteStreamOperationStart() *WriteStreamOperationStart {
	if x, ok := x.GetCommandType().(*Command_WriteStreamOperationStart); ok {
		return x.WriteStreamOperationStart
	}
	return nil
}

func (x *Command) GetStreamingQueryCommand() *StreamingQueryCommand {
	if x, ok := x.GetCommandType().(*Command_StreamingQueryCommand); ok {
		return x.StreamingQueryCommand
	}
	return nil
}

func (x *Command) GetGetResourcesCommand() *GetResourcesCommand {
	if x, ok := x.GetCommandType().(*Command_GetResourcesCommand); ok {
		return x.GetResourcesCommand
	}
	return nil
}

func (x *Command) GetStreamingQueryManagerCommand() *StreamingQueryManagerCommand {
	if x, ok := x.GetCommandType().(*Command_StreamingQueryManagerCommand); ok {
		return x.StreamingQueryManagerCommand
	}
	return nil
}

func (x *Command) GetRegisterTableFunction() *CommonInlineUserDefinedTableFunction {
	if x, ok := x.GetCommandType().(*Command_RegisterTableFunction); ok {
		return x.RegisterTableFunction
	}
	return nil
}

func (x *Command) GetStreamingQueryListenerBusCommand() *StreamingQueryListenerBusCommand {
	if x, ok := x.GetCommandType().(*Command_StreamingQueryListenerBusCommand); ok {
		return x.StreamingQueryListenerBusCommand
	}
	return nil
}

func (x *Command) GetRegisterDataSource() *CommonInlineUserDefinedDataSource {
	if x, ok := x.GetCommandType().(*Command_RegisterDataSource); ok {
		return x.RegisterDataSource
	}
	return nil
}

func (x *Command) GetCreateResourceProfileCommand() *CreateResourceProfileCommand {
	if x, ok := x.GetCommandType().(*Command_CreateResourceProfileCommand); ok {
		return x.CreateResourceProfileCommand
	}
	return nil
}

func (x *Command) GetCheckpointCommand() *CheckpointCommand {
	if x, ok := x.GetCommandType().(*Command_CheckpointCommand); ok {
		return x.CheckpointCommand
	}
	return nil
}

func (x *Command) GetRemoveCachedRemoteRelationCommand() *RemoveCachedRemoteRelationCommand {
	if x, ok := x.GetCommandType().(*Command_RemoveCachedRemoteRelationCommand); ok {
		return x.RemoveCachedRemoteRelationCommand
	}
	return nil
}

func (x *Command) GetMergeIntoTableCommand() *MergeIntoTableCommand {
	if x, ok := x.GetCommandType().(*Command_MergeIntoTableCommand); ok {
		return x.MergeIntoTableCommand
	}
	return nil
}

func (x *Command) GetMlCommand() *MlCommand {
	if x, ok := x.GetCommandType().(*Command_MlCommand); ok {
		return x.MlCommand
	}
	return nil
}

func (x *Command) GetExecuteExternalCommand() *ExecuteExternalCommand {
	if x, ok := x.GetCommandType().(*Command_ExecuteExternalCommand); ok {
		return x.ExecuteExternalCommand
	}
	return nil
}

func (x *Command) GetPipelineCommand() *PipelineCommand {
	if x, ok := x.GetCommandType().(*Command_PipelineCommand); ok {
		return x.PipelineCommand
	}
	return nil
}

func (x *Command) GetExtension() *anypb.Any {
	if x, ok := x.GetCommandType().(*Command_Extension); ok {
		return x.Extension
	}
	return nil
}

type isCommand_CommandType interface {
	isCommand_CommandType()
}

type Command_RegisterFunction struct {
	RegisterFunction *CommonInlineUserDefinedFunction `protobuf:"bytes,1,opt,name=register_function,json=registerFunction,proto3,oneof"`
}

type Command_WriteOperation struct {
	WriteOperation *WriteOperation `protobuf:"bytes,2,opt,name=write_operation,json=writeOperation,proto3,oneof"`
}

type Command_CreateDataframeView struct {
	CreateDataframeView *CreateDataFrameViewCommand `protobuf:"bytes,3,opt,name=create_dataframe_view,json=createDataframeView,proto3,oneof"`
}

type Command_WriteOperationV2 struct {
	WriteOperationV2 *WriteOperationV2 `protobuf:"bytes,4,opt,name=write_operation_v2,json=writeOperationV2,proto3,oneof"`
}

type Command_SqlCommand struct {
	SqlCommand *SqlCommand `protobuf:"bytes,5,opt,name=sql_command,json=sqlCommand,proto3,oneof"`
}

type Command_WriteStreamOperationStart struct {
	WriteStreamOperationStart *WriteStreamOperationStart `protobuf:"bytes,6,opt,name=write_stream_operation_start,json=writeStreamOperationStart,proto3,oneof"`
}

type Command_StreamingQueryCommand struct {
	StreamingQueryCommand *StreamingQueryCommand `protobuf:"bytes,7,opt,name=streaming_query_command,json=streamingQueryCommand,proto3,oneof"`
}

type Command_GetResourcesCommand struct {
	GetResourcesCommand *GetResourcesCommand `protobuf:"bytes,8,opt,name=get_resources_command,json=getResourcesCommand,proto3,oneof"`
}

type Command_StreamingQueryManagerCommand struct {
	StreamingQueryManagerCommand *StreamingQueryManagerCommand `protobuf:"bytes,9,opt,name=streaming_query_manager_command,json=streamingQueryManagerCommand,proto3,oneof"`
}

type Command_RegisterTableFunction struct {
	RegisterTableFunction *CommonInlineUserDefinedTableFunction `protobuf:"bytes,10,opt,name=register_table_function,json=registerTableFunction,proto3,oneof"`
}

type Command_StreamingQueryListenerBusCommand struct {
	StreamingQueryListenerBusCommand *StreamingQueryListenerBusCommand `protobuf:"bytes,11,opt,name=streaming_query_listener_bus_command,json=streamingQueryListenerBusCommand,proto3,oneof"`
}

type Command_RegisterDataSource struct {
	RegisterDataSource *CommonInlineUserDefinedDataSource `protobuf:"bytes,12,opt,name=register_data_source,json=registerDataSource,proto3,oneof"`
}

type Command_CreateResourceProfileCommand struct {
	CreateResourceProfileCommand *CreateResourceProfileCommand `protobuf:"bytes,13,opt,name=create_resource_profile_command,json=createResourceProfileCommand,proto3,oneof"`
}

type Command_CheckpointCommand struct {
	CheckpointCommand *CheckpointCommand `protobuf:"bytes,14,opt,name=checkpoint_command,json=checkpointCommand,proto3,oneof"`
}

type Command_RemoveCachedRemoteRelationCommand struct {
	RemoveCachedRemoteRelationCommand *RemoveCachedRemoteRelationCommand `protobuf:"bytes,15,opt,name=remove_cached_remote_relation_command,json=removeCachedRemoteRelationCommand,proto3,oneof"`
}

type Command_MergeIntoTableCommand struct {
	MergeIntoTableCommand *MergeIntoTableCommand `protobuf:"bytes,16,opt,name=merge_into_table_command,json=mergeIntoTableCommand,proto3,oneof"`
}

type Command_MlCommand struct {
	MlCommand *MlCommand `protobuf:"bytes,17,opt,name=ml_command,json=mlCommand,proto3,oneof"`
}

type Command_ExecuteExternalCommand struct {
	ExecuteExternalCommand *ExecuteExternalCommand `protobuf:"bytes,18,opt,name=execute_external_command,json=executeExternalCommand,proto3,oneof"`
}

type Command_PipelineCommand struct {
	PipelineCommand *PipelineCommand `protobuf:"bytes,19,opt,name=pipeline_command,json=pipelineCommand,proto3,oneof"`
}

type Command_Extension struct {
	// This field is used to mark extensions to the protocol. When plugins generate arbitrary
	// Commands they can add them here. During the planning the correct resolution is done.
	Extension *anypb.Any `protobuf:"bytes,999,opt,name=extension,proto3,oneof"`
}

func (*Command_RegisterFunction) isCommand_CommandType() {}

func (*Command_WriteOperation) isCommand_CommandType() {}

func (*Command_CreateDataframeView) isCommand_CommandType() {}

func (*Command_WriteOperationV2) isCommand_CommandType() {}

func (*Command_SqlCommand) isCommand_CommandType() {}

func (*Command_WriteStreamOperationStart) isCommand_CommandType() {}

func (*Command_StreamingQueryCommand) isCommand_CommandType() {}

func (*Command_GetResourcesCommand) isCommand_CommandType() {}

func (*Command_StreamingQueryManagerCommand) isCommand_CommandType() {}

func (*Command_RegisterTableFunction) isCommand_CommandType() {}

func (*Command_StreamingQueryListenerBusCommand) isCommand_CommandType() {}

func (*Command_RegisterDataSource) isCommand_CommandType() {}

func (*Command_CreateResourceProfileCommand) isCommand_CommandType() {}

func (*Command_CheckpointCommand) isCommand_CommandType() {}

func (*Command_RemoveCachedRemoteRelationCommand) isCommand_CommandType() {}

func (*Command_MergeIntoTableCommand) isCommand_CommandType() {}

func (*Command_MlCommand) isCommand_CommandType() {}

func (*Command_ExecuteExternalCommand) isCommand_CommandType() {}

func (*Command_PipelineCommand) isCommand_CommandType() {}

func (*Command_Extension) isCommand_CommandType() {}

// A SQL Command is used to trigger the eager evaluation of SQL commands in Spark.
//
// When the SQL provide as part of the message is a command it will be immediately evaluated
// and the result will be collected and returned as part of a LocalRelation. If the result is
// not a command, the operation will simply return a SQL Relation. This allows the client to be
// almost oblivious to the server-side behavior.
type SqlCommand struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// (Required) SQL Query.
	//
	// Deprecated: Marked as deprecated in spark/connect/commands.proto.
	Sql string `protobuf:"bytes,1,opt,name=sql,proto3" json:"sql,omitempty"`
	// (Optional) A map of parameter names to literal expressions.
	//
	// Deprecated: Marked as deprecated in spark/connect/commands.proto.
	Args map[string]*Expression_Literal `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// (Optional) A sequence of literal expressions for positional parameters in the SQL query text.
	//
	// Deprecated: Marked as deprecated in spark/connect/commands.proto.
	PosArgs []*Expression_Literal `protobuf:"bytes,3,rep,name=pos_args,json=posArgs,proto3" json:"pos_args,omitempty"`
	// (Optional) A map of parameter names to expressions.
	// It cannot coexist with `pos_arguments`.
	//
	// Deprecated: Marked as deprecated in spark/connect/commands.proto.
	NamedArguments map[string]*Expression `protobuf:"bytes,4,rep,name=named_arguments,json=namedArguments,proto3" json:"named_arguments,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// (Optional) A sequence of expressions for positional parameters in the SQL query text.
	// It cannot coexist with `named_arguments`.
	//
	// Deprecated: Marked as deprecated in spark/connect/commands.proto.
	PosArguments []*Expression `protobuf:"bytes,5,rep,name=pos_arguments,json=posArguments,proto3" json:"pos_arguments,omitempty"`
	// (Optional) The relation that this SQL command will be built on.
	Input *Relation `protobuf:"bytes,6,opt,name=input,proto3" json:"input,omitempty"`
}

func (x *SqlCommand) Reset() {
	*x = SqlCommand{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*SqlCommand) ProtoMessage() {}

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

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

// Deprecated: Marked as deprecated in spark/connect/commands.proto.
func (x *SqlCommand) GetSql() string {
	if x != nil {
		return x.Sql
	}
	return ""
}

// Deprecated: Marked as deprecated in spark/connect/commands.proto.
func (x *SqlCommand) GetArgs() map[string]*Expression_Literal {
	if x != nil {
		return x.Args
	}
	return nil
}

// Deprecated: Marked as deprecated in spark/connect/commands.proto.
func (x *SqlCommand) GetPosArgs() []*Expression_Literal {
	if x != nil {
		return x.PosArgs
	}
	return nil
}

// Deprecated: Marked as deprecated in spark/connect/commands.proto.
func (x *SqlCommand) GetNamedArguments() map[string]*Expression {
	if x != nil {
		return x.NamedArguments
	}
	return nil
}

// Deprecated: Marked as deprecated in spark/connect/commands.proto.
func (x *SqlCommand) GetPosArguments() []*Expression {
	if x != nil {
		return x.PosArguments
	}
	return nil
}

func (x *SqlCommand) GetInput() *Relation {
	if x != nil {
		return x.Input
	}
	return nil
}

// A command that can create DataFrame global temp view or local temp view.
type CreateDataFrameViewCommand struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// (Required) The relation that this view will be built on.
	Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	// (Required) View name.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// (Required) Whether this is global temp view or local temp view.
	IsGlobal bool `protobuf:"varint,3,opt,name=is_global,json=isGlobal,proto3" json:"is_global,omitempty"`
	// (Required)
	//
	// If true, and if the view already exists, updates it; if false, and if the view
	// already exists, throws exception.
	Replace bool `protobuf:"varint,4,opt,name=replace,proto3" json:"replace,omitempty"`
}

func (x *CreateDataFrameViewCommand) Reset() {
	*x = CreateDataFrameViewCommand{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateDataFrameViewCommand) ProtoMessage() {}

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

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

func (x *CreateDataFrameViewCommand) GetInput() *Relation {
	if x != nil {
		return x.Input
	}
	return nil
}

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

func (x *CreateDataFrameViewCommand) GetIsGlobal() bool {
	if x != nil {
		return x.IsGlobal
	}
	return false
}

func (x *CreateDataFrameViewCommand) GetReplace() bool {
	if x != nil {
		return x.Replace
	}
	return false
}

// As writes are not directly handled during analysis and planning, they are modeled as commands.
type WriteOperation struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// (Required) The output of the `input` relation will be persisted according to the options.
	Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	// (Optional) Format value according to the Spark documentation. Examples are: text, parquet, delta.
	Source *string `protobuf:"bytes,2,opt,name=source,proto3,oneof" json:"source,omitempty"`
	// (Optional)
	//
	// The destination of the write operation can be either a path or a table.
	// If the destination is neither a path nor a table, such as jdbc and noop,
	// the `save_type` should not be set.
	//
	// Types that are assignable to SaveType:
	//
	//	*WriteOperation_Path
	//	*WriteOperation_Table
	SaveType isWriteOperation_SaveType `protobuf_oneof:"save_type"`
	// (Required) the save mode.
	Mode WriteOperation_SaveMode `protobuf:"varint,5,opt,name=mode,proto3,enum=spark.connect.WriteOperation_SaveMode" json:"mode,omitempty"`
	// (Optional) List of columns to sort the output by.
	SortColumnNames []string `protobuf:"bytes,6,rep,name=sort_column_names,json=sortColumnNames,proto3" json:"sort_column_names,omitempty"`
	// (Optional) List of columns for partitioning.
	PartitioningColumns []string `protobuf:"bytes,7,rep,name=partitioning_columns,json=partitioningColumns,proto3" json:"partitioning_columns,omitempty"`
	// (Optional) Bucketing specification. Bucketing must set the number of buckets and the columns
	// to bucket by.
	BucketBy *WriteOperation_BucketBy `protobuf:"bytes,8,opt,name=bucket_by,json=bucketBy,proto3" json:"bucket_by,omitempty"`
	// (Optional) A list of configuration options.
	Options map[string]string `protobuf:"bytes,9,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// (Optional) Columns used for clustering the table.
	ClusteringColumns []string `protobuf:"bytes,10,rep,name=clustering_columns,json=clusteringColumns,proto3" json:"clustering_columns,omitempty"`
}

func (x *WriteOperation) Reset() {
	*x = WriteOperation{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*WriteOperation) ProtoMessage() {}

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

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

func (x *WriteOperation) GetInput() *Relation {
	if x != nil {
		return x.Input
	}
	return nil
}

func (x *WriteOperation) GetSource() string {
	if x != nil && x.Source != nil {
		return *x.Source
	}
	return ""
}

func (m *WriteOperation) GetSaveType() isWriteOperation_SaveType {
	if m != nil {
		return m.SaveType
	}
	return nil
}

func (x *WriteOperation) GetPath() string {
	if x, ok := x.GetSaveType().(*WriteOperation_Path); ok {
		return x.Path
	}
	return ""
}

func (x *WriteOperation) GetTable() *WriteOperation_SaveTable {
	if x, ok := x.GetSaveType().(*WriteOperation_Table); ok {
		return x.Table
	}
	return nil
}

func (x *WriteOperation) GetMode() WriteOperation_SaveMode {
	if x != nil {
		return x.Mode
	}
	return WriteOperation_SAVE_MODE_UNSPECIFIED
}

func (x *WriteOperation) GetSortColumnNames() []string {
	if x != nil {
		return x.SortColumnNames
	}
	return nil
}

func (x *WriteOperation) GetPartitioningColumns() []string {
	if x != nil {
		return x.PartitioningColumns
	}
	return nil
}

func (x *WriteOperation) GetBucketBy() *WriteOperation_BucketBy {
	if x != nil {
		return x.BucketBy
	}
	return nil
}

func (x *WriteOperation) GetOptions() map[string]string {
	if x != nil {
		return x.Options
	}
	return nil
}

func (x *WriteOperation) GetClusteringColumns() []string {
	if x != nil {
		return x.ClusteringColumns
	}
	return nil
}

type isWriteOperation_SaveType interface {
	isWriteOperation_SaveType()
}

type WriteOperation_Path struct {
	Path string `protobuf:"bytes,3,opt,name=path,proto3,oneof"`
}

type WriteOperation_Table struct {
	Table *WriteOperation_SaveTable `protobuf:"bytes,4,opt,name=table,proto3,oneof"`
}

func (*WriteOperation_Path) isWriteOperation_SaveType() {}

func (*WriteOperation_Table) isWriteOperation_SaveType() {}

// As writes are not directly handled during analysis and planning, they are modeled as commands.
type WriteOperationV2 struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// (Required) The output of the `input` relation will be persisted according to the options.
	Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	// (Required) The destination of the write operation must be either a path or a table.
	TableName string `protobuf:"bytes,2,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
	// (Optional) A provider for the underlying output data source. Spark's default catalog supports
	// "parquet", "json", etc.
	Provider *string `protobuf:"bytes,3,opt,name=provider,proto3,oneof" json:"provider,omitempty"`
	// (Optional) List of columns for partitioning for output table created by `create`,
	// `createOrReplace`, or `replace`
	PartitioningColumns []*Expression `protobuf:"bytes,4,rep,name=partitioning_columns,json=partitioningColumns,proto3" json:"partitioning_columns,omitempty"`
	// (Optional) A list of configuration options.
	Options map[string]string `protobuf:"bytes,5,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// (Optional) A list of table properties.
	TableProperties map[string]string `protobuf:"bytes,6,rep,name=table_properties,json=tableProperties,proto3" json:"table_properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// (Required) Write mode.
	Mode WriteOperationV2_Mode `protobuf:"varint,7,opt,name=mode,proto3,enum=spark.connect.WriteOperationV2_Mode" json:"mode,omitempty"`
	// (Optional) A condition for overwrite saving mode
	OverwriteCondition *Expression `protobuf:"bytes,8,opt,name=overwrite_condition,json=overwriteCondition,proto3" json:"overwrite_condition,omitempty"`
	// (Optional) Columns used for clustering the table.
	ClusteringColumns []string `protobuf:"bytes,9,rep,name=clustering_columns,json=clusteringColumns,proto3" json:"clustering_columns,omitempty"`
}

func (x *WriteOperationV2) Reset() {
	*x = WriteOperationV2{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*WriteOperationV2) ProtoMessage() {}

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

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

func (x *WriteOperationV2) GetInput() *Relation {
	if x != nil {
		return x.Input
	}
	return nil
}

func (x *WriteOperationV2) GetTableName() string {
	if x != nil {
		return x.TableName
	}
	return ""
}

func (x *WriteOperationV2) GetProvider() string {
	if x != nil && x.Provider != nil {
		return *x.Provider
	}
	return ""
}

func (x *WriteOperationV2) GetPartitioningColumns() []*Expression {
	if x != nil {
		return x.PartitioningColumns
	}
	return nil
}

func (x *WriteOperationV2) GetOptions() map[string]string {
	if x != nil {
		return x.Options
	}
	return nil
}

func (x *WriteOperationV2) GetTableProperties() map[string]string {
	if x != nil {
		return x.TableProperties
	}
	return nil
}

func (x *WriteOperationV2) GetMode() WriteOperationV2_Mode {
	if x != nil {
		return x.Mode
	}
	return WriteOperationV2_MODE_UNSPECIFIED
}

func (x *WriteOperationV2) GetOverwriteCondition() *Expression {
	if x != nil {
		return x.OverwriteCondition
	}
	return nil
}

func (x *WriteOperationV2) GetClusteringColumns() []string {
	if x != nil {
		return x.ClusteringColumns
	}
	return nil
}

// Starts write stream operation as streaming query. Query ID and Run ID of the streaming
// query are returned.
type WriteStreamOperationStart struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// (Required) The output of the `input` streaming relation will be written.
	Input                   *Relation         `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	Format                  string            `protobuf:"bytes,2,opt,name=format,proto3" json:"format,omitempty"`
	Options                 map[string]string `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	PartitioningColumnNames []string          `protobuf:"bytes,4,rep,name=partitioning_column_names,json=partitioningColumnNames,proto3" json:"partitioning_column_names,omitempty"`
	// Types that are assignable to Trigger:
	//
	//	*WriteStreamOperationStart_ProcessingTimeInterval
	//	*WriteStreamOperationStart_AvailableNow
	//	*WriteStreamOperationStart_Once
	//	*WriteStreamOperationStart_ContinuousCheckpointInterval
	Trigger    isWriteStreamOperationStart_Trigger `protobuf_oneof:"trigger"`
	OutputMode string                              `protobuf:"bytes,9,opt,name=output_mode,json=outputMode,proto3" json:"output_mode,omitempty"`
	QueryName  string                              `protobuf:"bytes,10,opt,name=query_name,json=queryName,proto3" json:"query_name,omitempty"`
	// The destination is optional. When set, it can be a path or a table name.
	//
	// Types that are assignable to SinkDestination:
	//
	//	*WriteStreamOperationStart_Path
	//	*WriteStreamOperationStart_TableName
	SinkDestination isWriteStreamOperationStart_SinkDestination `protobuf_oneof:"sink_destination"`
	ForeachWriter   *StreamingForeachFunction                   `protobuf:"bytes,13,opt,name=foreach_writer,json=foreachWriter,proto3" json:"foreach_writer,omitempty"`
	ForeachBatch    *StreamingForeachFunction                   `protobuf:"bytes,14,opt,name=foreach_batch,json=foreachBatch,proto3" json:"foreach_batch,omitempty"`
	// (Optional) Columns used for clustering the table.
	ClusteringColumnNames []string `protobuf:"bytes,15,rep,name=clustering_column_names,json=clusteringColumnNames,proto3" json:"clustering_column_names,omitempty"`
}

func (x *WriteStreamOperationStart) Reset() {
	*x = WriteStreamOperationStart{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*WriteStreamOperationStart) ProtoMessage() {}

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

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

func (x *WriteStreamOperationStart) GetInput() *Relation {
	if x != nil {
		return x.Input
	}
	return nil
}

func (x *WriteStreamOperationStart) GetFormat() string {
	if x != nil {
		return x.Format
	}
	return ""
}

func (x *WriteStreamOperationStart) GetOptions() map[string]string {
	if x != nil {
		return x.Options
	}
	return nil
}

func (x *WriteStreamOperationStart) GetPartitioningColumnNames() []string {
	if x != nil {
		return x.PartitioningColumnNames
	}
	return nil
}

func (m *WriteStreamOperationStart) GetTrigger() isWriteStreamOperationStart_Trigger {
	if m != nil {
		return m.Trigger
	}
	return nil
}

func (x *WriteStreamOperationStart) GetProcessingTimeInterval() string {
	if x, ok := x.GetTrigger().(*WriteStreamOperationStart_ProcessingTimeInterval); ok {
		return x.ProcessingTimeInterval
	}
	return ""
}

func (x *WriteStreamOperationStart) GetAvailableNow() bool {
	if x, ok := x.GetTrigger().(*WriteStreamOperationStart_AvailableNow); ok {
		return x.AvailableNow
	}
	return false
}

func (x *WriteStreamOperationStart) GetOnce() bool {
	if x, ok := x.GetTrigger().(*WriteStreamOperationStart_Once); ok {
		return x.Once
	}
	return false
}

func (x *WriteStreamOperationStart) GetContinuousCheckpointInterval() string {
	if x, ok := x.GetTrigger().(*WriteStreamOperationStart_ContinuousCheckpointInterval); ok {
		return x.ContinuousCheckpointInterval
	}
	return ""
}

func (x *WriteStreamOperationStart) GetOutputMode() string {
	if x != nil {
		return x.OutputMode
	}
	return ""
}

func (x *WriteStreamOperationStart) GetQueryName() string {
	if x != nil {
		return x.QueryName
	}
	return ""
}

func (m *WriteStreamOperationStart) GetSinkDestination() isWriteStreamOperationStart_SinkDestination {
	if m != nil {
		return m.SinkDestination
	}
	return nil
}

func (x *WriteStreamOperationStart) GetPath() string {
	if x, ok := x.GetSinkDestination().(*WriteStreamOperationStart_Path); ok {
		return x.Path
	}
	return ""
}

func (x *WriteStreamOperationStart) GetTableName() string {
	if x, ok := x.GetSinkDestination().(*WriteStreamOperationStart_TableName); ok {
		return x.TableName
	}
	return ""
}

func (x *WriteStreamOperationStart) GetForeachWriter() *StreamingForeachFunction {
	if x != nil {
		return x.ForeachWriter
	}
	return nil
}

func (x *WriteStreamOperationStart) GetForeachBatch() *StreamingForeachFunction {
	if x != nil {
		return x.ForeachBatch
	}
	return nil
}

func (x *WriteStreamOperationStart) GetClusteringColumnNames() []string {
	if x != nil {
		return x.ClusteringColumnNames
	}
	return nil
}

type isWriteStreamOperationStart_Trigger interface {
	isWriteStreamOperationStart_Trigger()
}

type WriteStreamOperationStart_ProcessingTimeInterval struct {
	ProcessingTimeInterval string `protobuf:"bytes,5,opt,name=processing_time_interval,json=processingTimeInterval,proto3,oneof"`
}

type WriteStreamOperationStart_AvailableNow struct {
	AvailableNow bool `protobuf:"varint,6,opt,name=available_now,json=availableNow,proto3,oneof"`
}

type WriteStreamOperationStart_Once struct {
	Once bool `protobuf:"varint,7,opt,name=once,proto3,oneof"`
}

type WriteStreamOperationStart_ContinuousCheckpointInterval struct {
	ContinuousCheckpointInterval string `protobuf:"bytes,8,opt,name=continuous_checkpoint_interval,json=continuousCheckpointInterval,proto3,oneof"`
}

func (*WriteStreamOperationStart_ProcessingTimeInterval) isWriteStreamOperationStart_Trigger() {}

func (*WriteStreamOperationStart_AvailableNow) isWriteStreamOperationStart_Trigger() {}

func (*WriteStreamOperationStart_Once) isWriteStreamOperationStart_Trigger() {}

func (*WriteStreamOperationStart_ContinuousCheckpointInterval) isWriteStreamOperationStart_Trigger() {
}

type isWriteStreamOperationStart_SinkDestination interface {
	isWriteStreamOperationStart_SinkDestination()
}

type WriteStreamOperationStart_Path struct {
	Path string `protobuf:"bytes,11,opt,name=path,proto3,oneof"`
}

type WriteStreamOperationStart_TableName struct {
	TableName string `protobuf:"bytes,12,opt,name=table_name,json=tableName,proto3,oneof"`
}

func (*WriteStreamOperationStart_Path) isWriteStreamOperationStart_SinkDestination() {}

func (*WriteStreamOperationStart_TableName) isWriteStreamOperationStart_SinkDestination() {}

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

	// Types that are assignable to Function:
	//
	//	*StreamingForeachFunction_PythonFunction
	//	*StreamingForeachFunction_ScalaFunction
	Function isStreamingForeachFunction_Function `protobuf_oneof:"function"`
}

func (x *StreamingForeachFunction) Reset() {
	*x = StreamingForeachFunction{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingForeachFunction) ProtoMessage() {}

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

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

func (m *StreamingForeachFunction) GetFunction() isStreamingForeachFunction_Function {
	if m != nil {
		return m.Function
	}
	return nil
}

func (x *StreamingForeachFunction) GetPythonFunction() *PythonUDF {
	if x, ok := x.GetFunction().(*StreamingForeachFunction_PythonFunction); ok {
		return x.PythonFunction
	}
	return nil
}

func (x *StreamingForeachFunction) GetScalaFunction() *ScalarScalaUDF {
	if x, ok := x.GetFunction().(*StreamingForeachFunction_ScalaFunction); ok {
		return x.ScalaFunction
	}
	return nil
}

type isStreamingForeachFunction_Function interface {
	isStreamingForeachFunction_Function()
}

type StreamingForeachFunction_PythonFunction struct {
	PythonFunction *PythonUDF `protobuf:"bytes,1,opt,name=python_function,json=pythonFunction,proto3,oneof"`
}

type StreamingForeachFunction_ScalaFunction struct {
	ScalaFunction *ScalarScalaUDF `protobuf:"bytes,2,opt,name=scala_function,json=scalaFunction,proto3,oneof"`
}

func (*StreamingForeachFunction_PythonFunction) isStreamingForeachFunction_Function() {}

func (*StreamingForeachFunction_ScalaFunction) isStreamingForeachFunction_Function() {}

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

	// (Required) Query instance. See `StreamingQueryInstanceId`.
	QueryId *StreamingQueryInstanceId `protobuf:"bytes,1,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"`
	// An optional query name.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Optional query started event if there is any listener registered on the client side.
	QueryStartedEventJson *string `protobuf:"bytes,3,opt,name=query_started_event_json,json=queryStartedEventJson,proto3,oneof" json:"query_started_event_json,omitempty"`
}

func (x *WriteStreamOperationStartResult) Reset() {
	*x = WriteStreamOperationStartResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*WriteStreamOperationStartResult) ProtoMessage() {}

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

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

func (x *WriteStreamOperationStartResult) GetQueryId() *StreamingQueryInstanceId {
	if x != nil {
		return x.QueryId
	}
	return nil
}

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

func (x *WriteStreamOperationStartResult) GetQueryStartedEventJson() string {
	if x != nil && x.QueryStartedEventJson != nil {
		return *x.QueryStartedEventJson
	}
	return ""
}

// A tuple that uniquely identifies an instance of streaming query run. It consists of `id` that
// persists across the streaming runs and `run_id` that changes between each run of the
// streaming query that resumes from the checkpoint.
type StreamingQueryInstanceId struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// (Required) The unique id of this query that persists across restarts from checkpoint data.
	// That is, this id is generated when a query is started for the first time, and
	// will be the same every time it is restarted from checkpoint data.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// (Required) The unique id of this run of the query. That is, every start/restart of a query
	// will generate a unique run_id. Therefore, every time a query is restarted from
	// checkpoint, it will have the same `id` but different `run_id`s.
	RunId string `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
}

func (x *StreamingQueryInstanceId) Reset() {
	*x = StreamingQueryInstanceId{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryInstanceId) ProtoMessage() {}

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

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

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

func (x *StreamingQueryInstanceId) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

// Commands for a streaming query.
type StreamingQueryCommand struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// (Required) Query instance. See `StreamingQueryInstanceId`.
	QueryId *StreamingQueryInstanceId `protobuf:"bytes,1,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"`
	// See documentation for the corresponding API method in StreamingQuery.
	//
	// Types that are assignable to Command:
	//
	//	*StreamingQueryCommand_Status
	//	*StreamingQueryCommand_LastProgress
	//	*StreamingQueryCommand_RecentProgress
	//	*StreamingQueryCommand_Stop
	//	*StreamingQueryCommand_ProcessAllAvailable
	//	*StreamingQueryCommand_Explain
	//	*StreamingQueryCommand_Exception
	//	*StreamingQueryCommand_AwaitTermination
	Command isStreamingQueryCommand_Command `protobuf_oneof:"command"`
}

func (x *StreamingQueryCommand) Reset() {
	*x = StreamingQueryCommand{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryCommand) ProtoMessage() {}

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

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

func (x *StreamingQueryCommand) GetQueryId() *StreamingQueryInstanceId {
	if x != nil {
		return x.QueryId
	}
	return nil
}

func (m *StreamingQueryCommand) GetCommand() isStreamingQueryCommand_Command {
	if m != nil {
		return m.Command
	}
	return nil
}

func (x *StreamingQueryCommand) GetStatus() bool {
	if x, ok := x.GetCommand().(*StreamingQueryCommand_Status); ok {
		return x.Status
	}
	return false
}

func (x *StreamingQueryCommand) GetLastProgress() bool {
	if x, ok := x.GetCommand().(*StreamingQueryCommand_LastProgress); ok {
		return x.LastProgress
	}
	return false
}

func (x *StreamingQueryCommand) GetRecentProgress() bool {
	if x, ok := x.GetCommand().(*StreamingQueryCommand_RecentProgress); ok {
		return x.RecentProgress
	}
	return false
}

func (x *StreamingQueryCommand) GetStop() bool {
	if x, ok := x.GetCommand().(*StreamingQueryCommand_Stop); ok {
		return x.Stop
	}
	return false
}

func (x *StreamingQueryCommand) GetProcessAllAvailable() bool {
	if x, ok := x.GetCommand().(*StreamingQueryCommand_ProcessAllAvailable); ok {
		return x.ProcessAllAvailable
	}
	return false
}

func (x *StreamingQueryCommand) GetExplain() *StreamingQueryCommand_ExplainCommand {
	if x, ok := x.GetCommand().(*StreamingQueryCommand_Explain); ok {
		return x.Explain
	}
	return nil
}

func (x *StreamingQueryCommand) GetException() bool {
	if x, ok := x.GetCommand().(*StreamingQueryCommand_Exception); ok {
		return x.Exception
	}
	return false
}

func (x *StreamingQueryCommand) GetAwaitTermination() *StreamingQueryCommand_AwaitTerminationCommand {
	if x, ok := x.GetCommand().(*StreamingQueryCommand_AwaitTermination); ok {
		return x.AwaitTermination
	}
	return nil
}

type isStreamingQueryCommand_Command interface {
	isStreamingQueryCommand_Command()
}

type StreamingQueryCommand_Status struct {
	// status() API.
	Status bool `protobuf:"varint,2,opt,name=status,proto3,oneof"`
}

type StreamingQueryCommand_LastProgress struct {
	// lastProgress() API.
	LastProgress bool `protobuf:"varint,3,opt,name=last_progress,json=lastProgress,proto3,oneof"`
}

type StreamingQueryCommand_RecentProgress struct {
	// recentProgress() API.
	RecentProgress bool `protobuf:"varint,4,opt,name=recent_progress,json=recentProgress,proto3,oneof"`
}

type StreamingQueryCommand_Stop struct {
	// stop() API. Stops the query.
	Stop bool `protobuf:"varint,5,opt,name=stop,proto3,oneof"`
}

type StreamingQueryCommand_ProcessAllAvailable struct {
	// processAllAvailable() API. Waits till all the available data is processed
	ProcessAllAvailable bool `protobuf:"varint,6,opt,name=process_all_available,json=processAllAvailable,proto3,oneof"`
}

type StreamingQueryCommand_Explain struct {
	// explain() API. Returns logical and physical plans.
	Explain *StreamingQueryCommand_ExplainCommand `protobuf:"bytes,7,opt,name=explain,proto3,oneof"`
}

type StreamingQueryCommand_Exception struct {
	// exception() API. Returns the exception in the query if any.
	Exception bool `protobuf:"varint,8,opt,name=exception,proto3,oneof"`
}

type StreamingQueryCommand_AwaitTermination struct {
	// awaitTermination() API. Waits for the termination of the query.
	AwaitTermination *StreamingQueryCommand_AwaitTerminationCommand `protobuf:"bytes,9,opt,name=await_termination,json=awaitTermination,proto3,oneof"`
}

func (*StreamingQueryCommand_Status) isStreamingQueryCommand_Command() {}

func (*StreamingQueryCommand_LastProgress) isStreamingQueryCommand_Command() {}

func (*StreamingQueryCommand_RecentProgress) isStreamingQueryCommand_Command() {}

func (*StreamingQueryCommand_Stop) isStreamingQueryCommand_Command() {}

func (*StreamingQueryCommand_ProcessAllAvailable) isStreamingQueryCommand_Command() {}

func (*StreamingQueryCommand_Explain) isStreamingQueryCommand_Command() {}

func (*StreamingQueryCommand_Exception) isStreamingQueryCommand_Command() {}

func (*StreamingQueryCommand_AwaitTermination) isStreamingQueryCommand_Command() {}

// Response for commands on a streaming query.
type StreamingQueryCommandResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// (Required) Query instance id. See `StreamingQueryInstanceId`.
	QueryId *StreamingQueryInstanceId `protobuf:"bytes,1,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"`
	// Types that are assignable to ResultType:
	//
	//	*StreamingQueryCommandResult_Status
	//	*StreamingQueryCommandResult_RecentProgress
	//	*StreamingQueryCommandResult_Explain
	//	*StreamingQueryCommandResult_Exception
	//	*StreamingQueryCommandResult_AwaitTermination
	ResultType isStreamingQueryCommandResult_ResultType `protobuf_oneof:"result_type"`
}

func (x *StreamingQueryCommandResult) Reset() {
	*x = StreamingQueryCommandResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryCommandResult) ProtoMessage() {}

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

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

func (x *StreamingQueryCommandResult) GetQueryId() *StreamingQueryInstanceId {
	if x != nil {
		return x.QueryId
	}
	return nil
}

func (m *StreamingQueryCommandResult) GetResultType() isStreamingQueryCommandResult_ResultType {
	if m != nil {
		return m.ResultType
	}
	return nil
}

func (x *StreamingQueryCommandResult) GetStatus() *StreamingQueryCommandResult_StatusResult {
	if x, ok := x.GetResultType().(*StreamingQueryCommandResult_Status); ok {
		return x.Status
	}
	return nil
}

func (x *StreamingQueryCommandResult) GetRecentProgress() *StreamingQueryCommandResult_RecentProgressResult {
	if x, ok := x.GetResultType().(*StreamingQueryCommandResult_RecentProgress); ok {
		return x.RecentProgress
	}
	return nil
}

func (x *StreamingQueryCommandResult) GetExplain() *StreamingQueryCommandResult_ExplainResult {
	if x, ok := x.GetResultType().(*StreamingQueryCommandResult_Explain); ok {
		return x.Explain
	}
	return nil
}

func (x *StreamingQueryCommandResult) GetException() *StreamingQueryCommandResult_ExceptionResult {
	if x, ok := x.GetResultType().(*StreamingQueryCommandResult_Exception); ok {
		return x.Exception
	}
	return nil
}

func (x *StreamingQueryCommandResult) GetAwaitTermination() *StreamingQueryCommandResult_AwaitTerminationResult {
	if x, ok := x.GetResultType().(*StreamingQueryCommandResult_AwaitTermination); ok {
		return x.AwaitTermination
	}
	return nil
}

type isStreamingQueryCommandResult_ResultType interface {
	isStreamingQueryCommandResult_ResultType()
}

type StreamingQueryCommandResult_Status struct {
	Status *StreamingQueryCommandResult_StatusResult `protobuf:"bytes,2,opt,name=status,proto3,oneof"`
}

type StreamingQueryCommandResult_RecentProgress struct {
	RecentProgress *StreamingQueryCommandResult_RecentProgressResult `protobuf:"bytes,3,opt,name=recent_progress,json=recentProgress,proto3,oneof"`
}

type StreamingQueryCommandResult_Explain struct {
	Explain *StreamingQueryCommandResult_ExplainResult `protobuf:"bytes,4,opt,name=explain,proto3,oneof"`
}

type StreamingQueryCommandResult_Exception struct {
	Exception *StreamingQueryCommandResult_ExceptionResult `protobuf:"bytes,5,opt,name=exception,proto3,oneof"`
}

type StreamingQueryCommandResult_AwaitTermination struct {
	AwaitTermination *StreamingQueryCommandResult_AwaitTerminationResult `protobuf:"bytes,6,opt,name=await_termination,json=awaitTermination,proto3,oneof"`
}

func (*StreamingQueryCommandResult_Status) isStreamingQueryCommandResult_ResultType() {}

func (*StreamingQueryCommandResult_RecentProgress) isStreamingQueryCommandResult_ResultType() {}

func (*StreamingQueryCommandResult_Explain) isStreamingQueryCommandResult_ResultType() {}

func (*StreamingQueryCommandResult_Exception) isStreamingQueryCommandResult_ResultType() {}

func (*StreamingQueryCommandResult_AwaitTermination) isStreamingQueryCommandResult_ResultType() {}

// Commands for the streaming query manager.
type StreamingQueryManagerCommand struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// See documentation for the corresponding API method in StreamingQueryManager.
	//
	// Types that are assignable to Command:
	//
	//	*StreamingQueryManagerCommand_Active
	//	*StreamingQueryManagerCommand_GetQuery
	//	*StreamingQueryManagerCommand_AwaitAnyTermination
	//	*StreamingQueryManagerCommand_ResetTerminated
	//	*StreamingQueryManagerCommand_AddListener
	//	*StreamingQueryManagerCommand_RemoveListener
	//	*StreamingQueryManagerCommand_ListListeners
	Command isStreamingQueryManagerCommand_Command `protobuf_oneof:"command"`
}

func (x *StreamingQueryManagerCommand) Reset() {
	*x = StreamingQueryManagerCommand{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryManagerCommand) ProtoMessage() {}

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

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

func (m *StreamingQueryManagerCommand) GetCommand() isStreamingQueryManagerCommand_Command {
	if m != nil {
		return m.Command
	}
	return nil
}

func (x *StreamingQueryManagerCommand) GetActive() bool {
	if x, ok := x.GetCommand().(*StreamingQueryManagerCommand_Active); ok {
		return x.Active
	}
	return false
}

func (x *StreamingQueryManagerCommand) GetGetQuery() string {
	if x, ok := x.GetCommand().(*StreamingQueryManagerCommand_GetQuery); ok {
		return x.GetQuery
	}
	return ""
}

func (x *StreamingQueryManagerCommand) GetAwaitAnyTermination() *StreamingQueryManagerCommand_AwaitAnyTerminationCommand {
	if x, ok := x.GetCommand().(*StreamingQueryManagerCommand_AwaitAnyTermination); ok {
		return x.AwaitAnyTermination
	}
	return nil
}

func (x *StreamingQueryManagerCommand) GetResetTerminated() bool {
	if x, ok := x.GetCommand().(*StreamingQueryManagerCommand_ResetTerminated); ok {
		return x.ResetTerminated
	}
	return false
}

func (x *StreamingQueryManagerCommand) GetAddListener() *StreamingQueryManagerCommand_StreamingQueryListenerCommand {
	if x, ok := x.GetCommand().(*StreamingQueryManagerCommand_AddListener); ok {
		return x.AddListener
	}
	return nil
}

func (x *StreamingQueryManagerCommand) GetRemoveListener() *StreamingQueryManagerCommand_StreamingQueryListenerCommand {
	if x, ok := x.GetCommand().(*StreamingQueryManagerCommand_RemoveListener); ok {
		return x.RemoveListener
	}
	return nil
}

func (x *StreamingQueryManagerCommand) GetListListeners() bool {
	if x, ok := x.GetCommand().(*StreamingQueryManagerCommand_ListListeners); ok {
		return x.ListListeners
	}
	return false
}

type isStreamingQueryManagerCommand_Command interface {
	isStreamingQueryManagerCommand_Command()
}

type StreamingQueryManagerCommand_Active struct {
	// active() API, returns a list of active queries.
	Active bool `protobuf:"varint,1,opt,name=active,proto3,oneof"`
}

type StreamingQueryManagerCommand_GetQuery struct {
	// get() API, returns the StreamingQuery identified by id.
	GetQuery string `protobuf:"bytes,2,opt,name=get_query,json=getQuery,proto3,oneof"`
}

type StreamingQueryManagerCommand_AwaitAnyTermination struct {
	// awaitAnyTermination() API, wait until any query terminates or timeout.
	AwaitAnyTermination *StreamingQueryManagerCommand_AwaitAnyTerminationCommand `protobuf:"bytes,3,opt,name=await_any_termination,json=awaitAnyTermination,proto3,oneof"`
}

type StreamingQueryManagerCommand_ResetTerminated struct {
	// resetTerminated() API.
	ResetTerminated bool `protobuf:"varint,4,opt,name=reset_terminated,json=resetTerminated,proto3,oneof"`
}

type StreamingQueryManagerCommand_AddListener struct {
	// addListener API.
	AddListener *StreamingQueryManagerCommand_StreamingQueryListenerCommand `protobuf:"bytes,5,opt,name=add_listener,json=addListener,proto3,oneof"`
}

type StreamingQueryManagerCommand_RemoveListener struct {
	// removeListener API.
	RemoveListener *StreamingQueryManagerCommand_StreamingQueryListenerCommand `protobuf:"bytes,6,opt,name=remove_listener,json=removeListener,proto3,oneof"`
}

type StreamingQueryManagerCommand_ListListeners struct {
	// listListeners() API, returns a list of streaming query listeners.
	ListListeners bool `protobuf:"varint,7,opt,name=list_listeners,json=listListeners,proto3,oneof"`
}

func (*StreamingQueryManagerCommand_Active) isStreamingQueryManagerCommand_Command() {}

func (*StreamingQueryManagerCommand_GetQuery) isStreamingQueryManagerCommand_Command() {}

func (*StreamingQueryManagerCommand_AwaitAnyTermination) isStreamingQueryManagerCommand_Command() {}

func (*StreamingQueryManagerCommand_ResetTerminated) isStreamingQueryManagerCommand_Command() {}

func (*StreamingQueryManagerCommand_AddListener) isStreamingQueryManagerCommand_Command() {}

func (*StreamingQueryManagerCommand_RemoveListener) isStreamingQueryManagerCommand_Command() {}

func (*StreamingQueryManagerCommand_ListListeners) isStreamingQueryManagerCommand_Command() {}

// Response for commands on the streaming query manager.
type StreamingQueryManagerCommandResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to ResultType:
	//
	//	*StreamingQueryManagerCommandResult_Active
	//	*StreamingQueryManagerCommandResult_Query
	//	*StreamingQueryManagerCommandResult_AwaitAnyTermination
	//	*StreamingQueryManagerCommandResult_ResetTerminated
	//	*StreamingQueryManagerCommandResult_AddListener
	//	*StreamingQueryManagerCommandResult_RemoveListener
	//	*StreamingQueryManagerCommandResult_ListListeners
	ResultType isStreamingQueryManagerCommandResult_ResultType `protobuf_oneof:"result_type"`
}

func (x *StreamingQueryManagerCommandResult) Reset() {
	*x = StreamingQueryManagerCommandResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryManagerCommandResult) ProtoMessage() {}

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

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

func (m *StreamingQueryManagerCommandResult) GetResultType() isStreamingQueryManagerCommandResult_ResultType {
	if m != nil {
		return m.ResultType
	}
	return nil
}

func (x *StreamingQueryManagerCommandResult) GetActive() *StreamingQueryManagerCommandResult_ActiveResult {
	if x, ok := x.GetResultType().(*StreamingQueryManagerCommandResult_Active); ok {
		return x.Active
	}
	return nil
}

func (x *StreamingQueryManagerCommandResult) GetQuery() *StreamingQueryManagerCommandResult_StreamingQueryInstance {
	if x, ok := x.GetResultType().(*StreamingQueryManagerCommandResult_Query); ok {
		return x.Query
	}
	return nil
}

func (x *StreamingQueryManagerCommandResult) GetAwaitAnyTermination() *StreamingQueryManagerCommandResult_AwaitAnyTerminationResult {
	if x, ok := x.GetResultType().(*StreamingQueryManagerCommandResult_AwaitAnyTermination); ok {
		return x.AwaitAnyTermination
	}
	return nil
}

func (x *StreamingQueryManagerCommandResult) GetResetTerminated() bool {
	if x, ok := x.GetResultType().(*StreamingQueryManagerCommandResult_ResetTerminated); ok {
		return x.ResetTerminated
	}
	return false
}

func (x *StreamingQueryManagerCommandResult) GetAddListener() bool {
	if x, ok := x.GetResultType().(*StreamingQueryManagerCommandResult_AddListener); ok {
		return x.AddListener
	}
	return false
}

func (x *StreamingQueryManagerCommandResult) GetRemoveListener() bool {
	if x, ok := x.GetResultType().(*StreamingQueryManagerCommandResult_RemoveListener); ok {
		return x.RemoveListener
	}
	return false
}

func (x *StreamingQueryManagerCommandResult) GetListListeners() *StreamingQueryManagerCommandResult_ListStreamingQueryListenerResult {
	if x, ok := x.GetResultType().(*StreamingQueryManagerCommandResult_ListListeners); ok {
		return x.ListListeners
	}
	return nil
}

type isStreamingQueryManagerCommandResult_ResultType interface {
	isStreamingQueryManagerCommandResult_ResultType()
}

type StreamingQueryManagerCommandResult_Active struct {
	Active *StreamingQueryManagerCommandResult_ActiveResult `protobuf:"bytes,1,opt,name=active,proto3,oneof"`
}

type StreamingQueryManagerCommandResult_Query struct {
	Query *StreamingQueryManagerCommandResult_StreamingQueryInstance `protobuf:"bytes,2,opt,name=query,proto3,oneof"`
}

type StreamingQueryManagerCommandResult_AwaitAnyTermination struct {
	AwaitAnyTermination *StreamingQueryManagerCommandResult_AwaitAnyTerminationResult `protobuf:"bytes,3,opt,name=await_any_termination,json=awaitAnyTermination,proto3,oneof"`
}

type StreamingQueryManagerCommandResult_ResetTerminated struct {
	ResetTerminated bool `protobuf:"varint,4,opt,name=reset_terminated,json=resetTerminated,proto3,oneof"`
}

type StreamingQueryManagerCommandResult_AddListener struct {
	AddListener bool `protobuf:"varint,5,opt,name=add_listener,json=addListener,proto3,oneof"`
}

type StreamingQueryManagerCommandResult_RemoveListener struct {
	RemoveListener bool `protobuf:"varint,6,opt,name=remove_listener,json=removeListener,proto3,oneof"`
}

type StreamingQueryManagerCommandResult_ListListeners struct {
	ListListeners *StreamingQueryManagerCommandResult_ListStreamingQueryListenerResult `protobuf:"bytes,7,opt,name=list_listeners,json=listListeners,proto3,oneof"`
}

func (*StreamingQueryManagerCommandResult_Active) isStreamingQueryManagerCommandResult_ResultType() {}

func (*StreamingQueryManagerCommandResult_Query) isStreamingQueryManagerCommandResult_ResultType() {}

func (*StreamingQueryManagerCommandResult_AwaitAnyTermination) isStreamingQueryManagerCommandResult_ResultType() {
}

func (*StreamingQueryManagerCommandResult_ResetTerminated) isStreamingQueryManagerCommandResult_ResultType() {
}

func (*StreamingQueryManagerCommandResult_AddListener) isStreamingQueryManagerCommandResult_ResultType() {
}

func (*StreamingQueryManagerCommandResult_RemoveListener) isStreamingQueryManagerCommandResult_ResultType() {
}

func (*StreamingQueryManagerCommandResult_ListListeners) isStreamingQueryManagerCommandResult_ResultType() {
}

// The protocol for client-side StreamingQueryListener.
// This command will only be set when either the first listener is added to the client, or the last
// listener is removed from the client.
// The add_listener_bus_listener command will only be set true in the first case.
// The remove_listener_bus_listener command will only be set true in the second case.
type StreamingQueryListenerBusCommand struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Command:
	//
	//	*StreamingQueryListenerBusCommand_AddListenerBusListener
	//	*StreamingQueryListenerBusCommand_RemoveListenerBusListener
	Command isStreamingQueryListenerBusCommand_Command `protobuf_oneof:"command"`
}

func (x *StreamingQueryListenerBusCommand) Reset() {
	*x = StreamingQueryListenerBusCommand{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryListenerBusCommand) ProtoMessage() {}

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

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

func (m *StreamingQueryListenerBusCommand) GetCommand() isStreamingQueryListenerBusCommand_Command {
	if m != nil {
		return m.Command
	}
	return nil
}

func (x *StreamingQueryListenerBusCommand) GetAddListenerBusListener() bool {
	if x, ok := x.GetCommand().(*StreamingQueryListenerBusCommand_AddListenerBusListener); ok {
		return x.AddListenerBusListener
	}
	return false
}

func (x *StreamingQueryListenerBusCommand) GetRemoveListenerBusListener() bool {
	if x, ok := x.GetCommand().(*StreamingQueryListenerBusCommand_RemoveListenerBusListener); ok {
		return x.RemoveListenerBusListener
	}
	return false
}

type isStreamingQueryListenerBusCommand_Command interface {
	isStreamingQueryListenerBusCommand_Command()
}

type StreamingQueryListenerBusCommand_AddListenerBusListener struct {
	AddListenerBusListener bool `protobuf:"varint,1,opt,name=add_listener_bus_listener,json=addListenerBusListener,proto3,oneof"`
}

type StreamingQueryListenerBusCommand_RemoveListenerBusListener struct {
	RemoveListenerBusListener bool `protobuf:"varint,2,opt,name=remove_listener_bus_listener,json=removeListenerBusListener,proto3,oneof"`
}

func (*StreamingQueryListenerBusCommand_AddListenerBusListener) isStreamingQueryListenerBusCommand_Command() {
}

func (*StreamingQueryListenerBusCommand_RemoveListenerBusListener) isStreamingQueryListenerBusCommand_Command() {
}

// The protocol for the returned events in the long-running response channel.
type StreamingQueryListenerEvent struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// (Required) The json serialized event, all StreamingQueryListener events have a json method
	EventJson string `protobuf:"bytes,1,opt,name=event_json,json=eventJson,proto3" json:"event_json,omitempty"`
	// (Required) Query event type used by client to decide how to deserialize the event_json
	EventType StreamingQueryEventType `protobuf:"varint,2,opt,name=event_type,json=eventType,proto3,enum=spark.connect.StreamingQueryEventType" json:"event_type,omitempty"`
}

func (x *StreamingQueryListenerEvent) Reset() {
	*x = StreamingQueryListenerEvent{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryListenerEvent) ProtoMessage() {}

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

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

func (x *StreamingQueryListenerEvent) GetEventJson() string {
	if x != nil {
		return x.EventJson
	}
	return ""
}

func (x *StreamingQueryListenerEvent) GetEventType() StreamingQueryEventType {
	if x != nil {
		return x.EventType
	}
	return StreamingQueryEventType_QUERY_PROGRESS_UNSPECIFIED
}

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

	Events                   []*StreamingQueryListenerEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"`
	ListenerBusListenerAdded *bool                          `protobuf:"varint,2,opt,name=listener_bus_listener_added,json=listenerBusListenerAdded,proto3,oneof" json:"listener_bus_listener_added,omitempty"`
}

func (x *StreamingQueryListenerEventsResult) Reset() {
	*x = StreamingQueryListenerEventsResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryListenerEventsResult) ProtoMessage() {}

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

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

func (x *StreamingQueryListenerEventsResult) GetEvents() []*StreamingQueryListenerEvent {
	if x != nil {
		return x.Events
	}
	return nil
}

func (x *StreamingQueryListenerEventsResult) GetListenerBusListenerAdded() bool {
	if x != nil && x.ListenerBusListenerAdded != nil {
		return *x.ListenerBusListenerAdded
	}
	return false
}

// Command to get the output of 'SparkContext.resources'
type GetResourcesCommand struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetResourcesCommand) Reset() {
	*x = GetResourcesCommand{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetResourcesCommand) ProtoMessage() {}

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

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

// Response for command 'GetResourcesCommand'.
type GetResourcesCommandResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Resources map[string]*ResourceInformation `protobuf:"bytes,1,rep,name=resources,proto3" json:"resources,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *GetResourcesCommandResult) Reset() {
	*x = GetResourcesCommandResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetResourcesCommandResult) ProtoMessage() {}

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

// Deprecated: Use GetResourcesCommandResult.ProtoReflect.Descriptor instead.
func (*GetResourcesCommandResult) Descriptor() ([]byte, []int) {
	return file_spark_connect_commands_proto_rawDescGZIP(), []int{17}
}

func (x *GetResourcesCommandResult) GetResources() map[string]*ResourceInformation {
	if x != nil {
		return x.Resources
	}
	return nil
}

// Command to create ResourceProfile
type CreateResourceProfileCommand struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// (Required) The ResourceProfile to be built on the server-side.
	Profile *ResourceProfile `protobuf:"bytes,1,opt,name=profile,proto3" json:"profile,omitempty"`
}

func (x *CreateResourceProfileCommand) Reset() {
	*x = CreateResourceProfileCommand{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateResourceProfileCommand) ProtoMessage() {}

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

// Deprecated: Use CreateResourceProfileCommand.ProtoReflect.Descriptor instead.
func (*CreateResourceProfileCommand) Descriptor() ([]byte, []int) {
	return file_spark_connect_commands_proto_rawDescGZIP(), []int{18}
}

func (x *CreateResourceProfileCommand) GetProfile() *ResourceProfile {
	if x != nil {
		return x.Profile
	}
	return nil
}

// Response for command 'CreateResourceProfileCommand'.
type CreateResourceProfileCommandResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// (Required) Server-side generated resource profile id.
	ProfileId int32 `protobuf:"varint,1,opt,name=profile_id,json=profileId,proto3" json:"profile_id,omitempty"`
}

func (x *CreateResourceProfileCommandResult) Reset() {
	*x = CreateResourceProfileCommandResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateResourceProfileCommandResult) ProtoMessage() {}

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

// Deprecated: Use CreateResourceProfileCommandResult.ProtoReflect.Descriptor instead.
func (*CreateResourceProfileCommandResult) Descriptor() ([]byte, []int) {
	return file_spark_connect_commands_proto_rawDescGZIP(), []int{19}
}

func (x *CreateResourceProfileCommandResult) GetProfileId() int32 {
	if x != nil {
		return x.ProfileId
	}
	return 0
}

// Command to remove `CashedRemoteRelation`
type RemoveCachedRemoteRelationCommand struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// (Required) The remote to be related
	Relation *CachedRemoteRelation `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"`
}

func (x *RemoveCachedRemoteRelationCommand) Reset() {
	*x = RemoveCachedRemoteRelationCommand{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*RemoveCachedRemoteRelationCommand) ProtoMessage() {}

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

// Deprecated: Use RemoveCachedRemoteRelationCommand.ProtoReflect.Descriptor instead.
func (*RemoveCachedRemoteRelationCommand) Descriptor() ([]byte, []int) {
	return file_spark_connect_commands_proto_rawDescGZIP(), []int{20}
}

func (x *RemoveCachedRemoteRelationCommand) GetRelation() *CachedRemoteRelation {
	if x != nil {
		return x.Relation
	}
	return nil
}

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

	// (Required) The logical plan to checkpoint.
	Relation *Relation `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"`
	// (Required) Locally checkpoint using a local temporary
	// directory in Spark Connect server (Spark Driver)
	Local bool `protobuf:"varint,2,opt,name=local,proto3" json:"local,omitempty"`
	// (Required) Whether to checkpoint this dataframe immediately.
	Eager bool `protobuf:"varint,3,opt,name=eager,proto3" json:"eager,omitempty"`
	// (Optional) For local checkpoint, the storage level to use.
	StorageLevel *StorageLevel `protobuf:"bytes,4,opt,name=storage_level,json=storageLevel,proto3,oneof" json:"storage_level,omitempty"`
}

func (x *CheckpointCommand) Reset() {
	*x = CheckpointCommand{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CheckpointCommand) ProtoMessage() {}

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

// Deprecated: Use CheckpointCommand.ProtoReflect.Descriptor instead.
func (*CheckpointCommand) Descriptor() ([]byte, []int) {
	return file_spark_connect_commands_proto_rawDescGZIP(), []int{21}
}

func (x *CheckpointCommand) GetRelation() *Relation {
	if x != nil {
		return x.Relation
	}
	return nil
}

func (x *CheckpointCommand) GetLocal() bool {
	if x != nil {
		return x.Local
	}
	return false
}

func (x *CheckpointCommand) GetEager() bool {
	if x != nil {
		return x.Eager
	}
	return false
}

func (x *CheckpointCommand) GetStorageLevel() *StorageLevel {
	if x != nil {
		return x.StorageLevel
	}
	return nil
}

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

	// (Required) The name of the target table.
	TargetTableName string `protobuf:"bytes,1,opt,name=target_table_name,json=targetTableName,proto3" json:"target_table_name,omitempty"`
	// (Required) The relation of the source table.
	SourceTablePlan *Relation `protobuf:"bytes,2,opt,name=source_table_plan,json=sourceTablePlan,proto3" json:"source_table_plan,omitempty"`
	// (Required) The condition to match the source and target.
	MergeCondition *Expression `protobuf:"bytes,3,opt,name=merge_condition,json=mergeCondition,proto3" json:"merge_condition,omitempty"`
	// (Optional) The actions to be taken when the condition is matched.
	MatchActions []*Expression `protobuf:"bytes,4,rep,name=match_actions,json=matchActions,proto3" json:"match_actions,omitempty"`
	// (Optional) The actions to be taken when the condition is not matched.
	NotMatchedActions []*Expression `protobuf:"bytes,5,rep,name=not_matched_actions,json=notMatchedActions,proto3" json:"not_matched_actions,omitempty"`
	// (Optional) The actions to be taken when the condition is not matched by source.
	NotMatchedBySourceActions []*Expression `protobuf:"bytes,6,rep,name=not_matched_by_source_actions,json=notMatchedBySourceActions,proto3" json:"not_matched_by_source_actions,omitempty"`
	// (Required) Whether to enable schema evolution.
	WithSchemaEvolution bool `protobuf:"varint,7,opt,name=with_schema_evolution,json=withSchemaEvolution,proto3" json:"with_schema_evolution,omitempty"`
}

func (x *MergeIntoTableCommand) Reset() {
	*x = MergeIntoTableCommand{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*MergeIntoTableCommand) ProtoMessage() {}

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

// Deprecated: Use MergeIntoTableCommand.ProtoReflect.Descriptor instead.
func (*MergeIntoTableCommand) Descriptor() ([]byte, []int) {
	return file_spark_connect_commands_proto_rawDescGZIP(), []int{22}
}

func (x *MergeIntoTableCommand) GetTargetTableName() string {
	if x != nil {
		return x.TargetTableName
	}
	return ""
}

func (x *MergeIntoTableCommand) GetSourceTablePlan() *Relation {
	if x != nil {
		return x.SourceTablePlan
	}
	return nil
}

func (x *MergeIntoTableCommand) GetMergeCondition() *Expression {
	if x != nil {
		return x.MergeCondition
	}
	return nil
}

func (x *MergeIntoTableCommand) GetMatchActions() []*Expression {
	if x != nil {
		return x.MatchActions
	}
	return nil
}

func (x *MergeIntoTableCommand) GetNotMatchedActions() []*Expression {
	if x != nil {
		return x.NotMatchedActions
	}
	return nil
}

func (x *MergeIntoTableCommand) GetNotMatchedBySourceActions() []*Expression {
	if x != nil {
		return x.NotMatchedBySourceActions
	}
	return nil
}

func (x *MergeIntoTableCommand) GetWithSchemaEvolution() bool {
	if x != nil {
		return x.WithSchemaEvolution
	}
	return false
}

// Execute an arbitrary string command inside an external execution engine
type ExecuteExternalCommand struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// (Required) The class name of the runner that implements `ExternalCommandRunner`
	Runner string `protobuf:"bytes,1,opt,name=runner,proto3" json:"runner,omitempty"`
	// (Required) The target command to be executed.
	Command string `protobuf:"bytes,2,opt,name=command,proto3" json:"command,omitempty"`
	// (Optional) The options for the runner.
	Options map[string]string `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *ExecuteExternalCommand) Reset() {
	*x = ExecuteExternalCommand{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ExecuteExternalCommand) ProtoMessage() {}

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

// Deprecated: Use ExecuteExternalCommand.ProtoReflect.Descriptor instead.
func (*ExecuteExternalCommand) Descriptor() ([]byte, []int) {
	return file_spark_connect_commands_proto_rawDescGZIP(), []int{23}
}

func (x *ExecuteExternalCommand) GetRunner() string {
	if x != nil {
		return x.Runner
	}
	return ""
}

func (x *ExecuteExternalCommand) GetCommand() string {
	if x != nil {
		return x.Command
	}
	return ""
}

func (x *ExecuteExternalCommand) GetOptions() map[string]string {
	if x != nil {
		return x.Options
	}
	return nil
}

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

	// (Required) The table name.
	TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
	// (Required) The method to be called to write to the table.
	SaveMethod WriteOperation_SaveTable_TableSaveMethod `protobuf:"varint,2,opt,name=save_method,json=saveMethod,proto3,enum=spark.connect.WriteOperation_SaveTable_TableSaveMethod" json:"save_method,omitempty"`
}

func (x *WriteOperation_SaveTable) Reset() {
	*x = WriteOperation_SaveTable{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*WriteOperation_SaveTable) ProtoMessage() {}

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

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

func (x *WriteOperation_SaveTable) GetTableName() string {
	if x != nil {
		return x.TableName
	}
	return ""
}

func (x *WriteOperation_SaveTable) GetSaveMethod() WriteOperation_SaveTable_TableSaveMethod {
	if x != nil {
		return x.SaveMethod
	}
	return WriteOperation_SaveTable_TABLE_SAVE_METHOD_UNSPECIFIED
}

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

	BucketColumnNames []string `protobuf:"bytes,1,rep,name=bucket_column_names,json=bucketColumnNames,proto3" json:"bucket_column_names,omitempty"`
	NumBuckets        int32    `protobuf:"varint,2,opt,name=num_buckets,json=numBuckets,proto3" json:"num_buckets,omitempty"`
}

func (x *WriteOperation_BucketBy) Reset() {
	*x = WriteOperation_BucketBy{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*WriteOperation_BucketBy) ProtoMessage() {}

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

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

func (x *WriteOperation_BucketBy) GetBucketColumnNames() []string {
	if x != nil {
		return x.BucketColumnNames
	}
	return nil
}

func (x *WriteOperation_BucketBy) GetNumBuckets() int32 {
	if x != nil {
		return x.NumBuckets
	}
	return 0
}

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

	// TODO: Consider reusing Explain from AnalyzePlanRequest message.
	//
	//	We can not do this right now since it base.proto imports this file.
	Extended bool `protobuf:"varint,1,opt,name=extended,proto3" json:"extended,omitempty"`
}

func (x *StreamingQueryCommand_ExplainCommand) Reset() {
	*x = StreamingQueryCommand_ExplainCommand{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryCommand_ExplainCommand) ProtoMessage() {}

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

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

func (x *StreamingQueryCommand_ExplainCommand) GetExtended() bool {
	if x != nil {
		return x.Extended
	}
	return false
}

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

	TimeoutMs *int64 `protobuf:"varint,2,opt,name=timeout_ms,json=timeoutMs,proto3,oneof" json:"timeout_ms,omitempty"`
}

func (x *StreamingQueryCommand_AwaitTerminationCommand) Reset() {
	*x = StreamingQueryCommand_AwaitTerminationCommand{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryCommand_AwaitTerminationCommand) ProtoMessage() {}

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

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

func (x *StreamingQueryCommand_AwaitTerminationCommand) GetTimeoutMs() int64 {
	if x != nil && x.TimeoutMs != nil {
		return *x.TimeoutMs
	}
	return 0
}

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

	// See documentation for these Scala 'StreamingQueryStatus' struct
	StatusMessage   string `protobuf:"bytes,1,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
	IsDataAvailable bool   `protobuf:"varint,2,opt,name=is_data_available,json=isDataAvailable,proto3" json:"is_data_available,omitempty"`
	IsTriggerActive bool   `protobuf:"varint,3,opt,name=is_trigger_active,json=isTriggerActive,proto3" json:"is_trigger_active,omitempty"`
	IsActive        bool   `protobuf:"varint,4,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
}

func (x *StreamingQueryCommandResult_StatusResult) Reset() {
	*x = StreamingQueryCommandResult_StatusResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[34]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryCommandResult_StatusResult) ProtoMessage() {}

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

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

func (x *StreamingQueryCommandResult_StatusResult) GetStatusMessage() string {
	if x != nil {
		return x.StatusMessage
	}
	return ""
}

func (x *StreamingQueryCommandResult_StatusResult) GetIsDataAvailable() bool {
	if x != nil {
		return x.IsDataAvailable
	}
	return false
}

func (x *StreamingQueryCommandResult_StatusResult) GetIsTriggerActive() bool {
	if x != nil {
		return x.IsTriggerActive
	}
	return false
}

func (x *StreamingQueryCommandResult_StatusResult) GetIsActive() bool {
	if x != nil {
		return x.IsActive
	}
	return false
}

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

	// Progress reports as an array of json strings.
	RecentProgressJson []string `protobuf:"bytes,5,rep,name=recent_progress_json,json=recentProgressJson,proto3" json:"recent_progress_json,omitempty"`
}

func (x *StreamingQueryCommandResult_RecentProgressResult) Reset() {
	*x = StreamingQueryCommandResult_RecentProgressResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[35]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryCommandResult_RecentProgressResult) ProtoMessage() {}

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

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

func (x *StreamingQueryCommandResult_RecentProgressResult) GetRecentProgressJson() []string {
	if x != nil {
		return x.RecentProgressJson
	}
	return nil
}

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

	// Logical and physical plans as string
	Result string `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
}

func (x *StreamingQueryCommandResult_ExplainResult) Reset() {
	*x = StreamingQueryCommandResult_ExplainResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[36]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryCommandResult_ExplainResult) ProtoMessage() {}

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

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

func (x *StreamingQueryCommandResult_ExplainResult) GetResult() string {
	if x != nil {
		return x.Result
	}
	return ""
}

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

	// (Optional) Exception message as string, maps to the return value of original
	// StreamingQueryException's toString method
	ExceptionMessage *string `protobuf:"bytes,1,opt,name=exception_message,json=exceptionMessage,proto3,oneof" json:"exception_message,omitempty"`
	// (Optional) Exception error class as string
	ErrorClass *string `protobuf:"bytes,2,opt,name=error_class,json=errorClass,proto3,oneof" json:"error_class,omitempty"`
	// (Optional) Exception stack trace as string
	StackTrace *string `protobuf:"bytes,3,opt,name=stack_trace,json=stackTrace,proto3,oneof" json:"stack_trace,omitempty"`
}

func (x *StreamingQueryCommandResult_ExceptionResult) Reset() {
	*x = StreamingQueryCommandResult_ExceptionResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryCommandResult_ExceptionResult) ProtoMessage() {}

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

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

func (x *StreamingQueryCommandResult_ExceptionResult) GetExceptionMessage() string {
	if x != nil && x.ExceptionMessage != nil {
		return *x.ExceptionMessage
	}
	return ""
}

func (x *StreamingQueryCommandResult_ExceptionResult) GetErrorClass() string {
	if x != nil && x.ErrorClass != nil {
		return *x.ErrorClass
	}
	return ""
}

func (x *StreamingQueryCommandResult_ExceptionResult) GetStackTrace() string {
	if x != nil && x.StackTrace != nil {
		return *x.StackTrace
	}
	return ""
}

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

	Terminated bool `protobuf:"varint,1,opt,name=terminated,proto3" json:"terminated,omitempty"`
}

func (x *StreamingQueryCommandResult_AwaitTerminationResult) Reset() {
	*x = StreamingQueryCommandResult_AwaitTerminationResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[38]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryCommandResult_AwaitTerminationResult) ProtoMessage() {}

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

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

func (x *StreamingQueryCommandResult_AwaitTerminationResult) GetTerminated() bool {
	if x != nil {
		return x.Terminated
	}
	return false
}

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

	// (Optional) The waiting time in milliseconds to wait for any query to terminate.
	TimeoutMs *int64 `protobuf:"varint,1,opt,name=timeout_ms,json=timeoutMs,proto3,oneof" json:"timeout_ms,omitempty"`
}

func (x *StreamingQueryManagerCommand_AwaitAnyTerminationCommand) Reset() {
	*x = StreamingQueryManagerCommand_AwaitAnyTerminationCommand{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[39]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryManagerCommand_AwaitAnyTerminationCommand) ProtoMessage() {}

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

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

func (x *StreamingQueryManagerCommand_AwaitAnyTerminationCommand) GetTimeoutMs() int64 {
	if x != nil && x.TimeoutMs != nil {
		return *x.TimeoutMs
	}
	return 0
}

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

	ListenerPayload       []byte     `protobuf:"bytes,1,opt,name=listener_payload,json=listenerPayload,proto3" json:"listener_payload,omitempty"`
	PythonListenerPayload *PythonUDF `protobuf:"bytes,2,opt,name=python_listener_payload,json=pythonListenerPayload,proto3,oneof" json:"python_listener_payload,omitempty"`
	Id                    string     `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *StreamingQueryManagerCommand_StreamingQueryListenerCommand) Reset() {
	*x = StreamingQueryManagerCommand_StreamingQueryListenerCommand{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[40]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryManagerCommand_StreamingQueryListenerCommand) ProtoMessage() {}

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

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

func (x *StreamingQueryManagerCommand_StreamingQueryListenerCommand) GetListenerPayload() []byte {
	if x != nil {
		return x.ListenerPayload
	}
	return nil
}

func (x *StreamingQueryManagerCommand_StreamingQueryListenerCommand) GetPythonListenerPayload() *PythonUDF {
	if x != nil {
		return x.PythonListenerPayload
	}
	return nil
}

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

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

	ActiveQueries []*StreamingQueryManagerCommandResult_StreamingQueryInstance `protobuf:"bytes,1,rep,name=active_queries,json=activeQueries,proto3" json:"active_queries,omitempty"`
}

func (x *StreamingQueryManagerCommandResult_ActiveResult) Reset() {
	*x = StreamingQueryManagerCommandResult_ActiveResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[41]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryManagerCommandResult_ActiveResult) ProtoMessage() {}

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

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

func (x *StreamingQueryManagerCommandResult_ActiveResult) GetActiveQueries() []*StreamingQueryManagerCommandResult_StreamingQueryInstance {
	if x != nil {
		return x.ActiveQueries
	}
	return nil
}

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

	// (Required) The id and runId of this query.
	Id *StreamingQueryInstanceId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// (Optional) The name of this query.
	Name *string `protobuf:"bytes,2,opt,name=name,proto3,oneof" json:"name,omitempty"`
}

func (x *StreamingQueryManagerCommandResult_StreamingQueryInstance) Reset() {
	*x = StreamingQueryManagerCommandResult_StreamingQueryInstance{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[42]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryManagerCommandResult_StreamingQueryInstance) ProtoMessage() {}

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

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

func (x *StreamingQueryManagerCommandResult_StreamingQueryInstance) GetId() *StreamingQueryInstanceId {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *StreamingQueryManagerCommandResult_StreamingQueryInstance) GetName() string {
	if x != nil && x.Name != nil {
		return *x.Name
	}
	return ""
}

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

	Terminated bool `protobuf:"varint,1,opt,name=terminated,proto3" json:"terminated,omitempty"`
}

func (x *StreamingQueryManagerCommandResult_AwaitAnyTerminationResult) Reset() {
	*x = StreamingQueryManagerCommandResult_AwaitAnyTerminationResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[43]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryManagerCommandResult_AwaitAnyTerminationResult) ProtoMessage() {}

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

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

func (x *StreamingQueryManagerCommandResult_AwaitAnyTerminationResult) GetTerminated() bool {
	if x != nil {
		return x.Terminated
	}
	return false
}

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

	ListenerPayload []byte `protobuf:"bytes,1,opt,name=listener_payload,json=listenerPayload,proto3" json:"listener_payload,omitempty"`
}

func (x *StreamingQueryManagerCommandResult_StreamingQueryListenerInstance) Reset() {
	*x = StreamingQueryManagerCommandResult_StreamingQueryListenerInstance{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[44]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryManagerCommandResult_StreamingQueryListenerInstance) ProtoMessage() {}

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

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

func (x *StreamingQueryManagerCommandResult_StreamingQueryListenerInstance) GetListenerPayload() []byte {
	if x != nil {
		return x.ListenerPayload
	}
	return nil
}

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

	// (Required) Reference IDs of listener instances.
	ListenerIds []string `protobuf:"bytes,1,rep,name=listener_ids,json=listenerIds,proto3" json:"listener_ids,omitempty"`
}

func (x *StreamingQueryManagerCommandResult_ListStreamingQueryListenerResult) Reset() {
	*x = StreamingQueryManagerCommandResult_ListStreamingQueryListenerResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spark_connect_commands_proto_msgTypes[45]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StreamingQueryManagerCommandResult_ListStreamingQueryListenerResult) ProtoMessage() {}

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

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

func (x *StreamingQueryManagerCommandResult_ListStreamingQueryListenerResult) GetListenerIds() []string {
	if x != nil {
		return x.ListenerIds
	}
	return nil
}

var File_spark_connect_commands_proto protoreflect.FileDescriptor

var file_spark_connect_commands_proto_rawDesc = []byte{
	0x0a, 0x1c, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f,
	0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d,
	0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x19, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61,
	0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f,
	0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e,
	0x65, 0x63, 0x74, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e,
	0x6e, 0x65, 0x63, 0x74, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e,
	0x65, 0x63, 0x74, 0x2f, 0x6d, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x73, 0x70,
	0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x70, 0x69, 0x70, 0x65,
	0x6c, 0x69, 0x6e, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfb, 0x0e, 0x0a, 0x07,
	0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x5d, 0x0a, 0x11, 0x72, 0x65, 0x67, 0x69, 0x73,
	0x74, 0x65, 0x72, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
	0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x55,
	0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x46, 0x75,
	0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f,
	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1d, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e,
	0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00,
	0x52, 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x5f, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x66,
	0x72, 0x61, 0x6d, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x29, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e,
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x56,
	0x69, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x13, 0x63, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x56, 0x69, 0x65,
	0x77, 0x12, 0x4f, 0x0a, 0x12, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
	0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x57, 0x72,
	0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x48, 0x00,
	0x52, 0x10, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x56, 0x32, 0x12, 0x3c, 0x0a, 0x0b, 0x73, 0x71, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
	0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e,
	0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x71, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61,
	0x6e, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x71, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
	0x12, 0x6b, 0x0a, 0x1c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
	0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63,
	0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65,
	0x61, 0x6d, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74,
	0x48, 0x00, 0x52, 0x19, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f,
	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x5e, 0x0a,
	0x17, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24,
	0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53,
	0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d,
	0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x15, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e,
	0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x58, 0x0a,
	0x15, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x63,
	0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73,
	0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74,
	0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
	0x48, 0x00, 0x52, 0x13, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
	0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x74, 0x0a, 0x1f, 0x73, 0x74, 0x72, 0x65, 0x61,
	0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67,
	0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2b, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
	0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d,
	0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52,
	0x1c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d,
	0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x6d, 0x0a,
	0x17, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f,
	0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33,
	0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43,
	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44,
	0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x15, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54,
	0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x81, 0x01, 0x0a,
	0x24, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x62, 0x75, 0x73, 0x5f, 0x63, 0x6f,
	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x70,
	0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65,
	0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e,
	0x65, 0x72, 0x42, 0x75, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x20,
	0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69,
	0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x42, 0x75, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
	0x12, 0x64, 0x0a, 0x14, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74,
	0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30,
	0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43,
	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44,
	0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x48, 0x00, 0x52, 0x12, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61,
	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x74, 0x0a, 0x1f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c,
	0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x2b, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e,
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72,
	0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x1c,
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72,
	0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x51, 0x0a, 0x12,
	0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61,
	0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b,
	0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f,
	0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x11, 0x63, 0x68,
	0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12,
	0x84, 0x01, 0x0a, 0x25, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65,
	0x64, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x30, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e,
	0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x6d, 0x6f,
	0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
	0x64, 0x48, 0x00, 0x52, 0x21, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65,
	0x64, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43,
	0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x5f, 0x0a, 0x18, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f,
	0x69, 0x6e, 0x74, 0x6f, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61,
	0x6e, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b,
	0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x49, 0x6e,
	0x74, 0x6f, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00,
	0x52, 0x15, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x6f, 0x54, 0x61, 0x62, 0x6c, 0x65,
	0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x6d, 0x6c, 0x5f, 0x63, 0x6f,
	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x70,
	0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4d, 0x6c, 0x43, 0x6f,
	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61,
	0x6e, 0x64, 0x12, 0x61, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x78,
	0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x12,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e,
	0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65,
	0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x16, 0x65,
	0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6f,
	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x4b, 0x0a, 0x10, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e,
	0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1e, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e,
	0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48,
	0x00, 0x52, 0x0f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61,
	0x6e, 0x64, 0x12, 0x35, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18,
	0xe7, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x09,
	0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x63, 0x6f, 0x6d,
	0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xaa, 0x04, 0x0a, 0x0a, 0x53, 0x71,
	0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x12, 0x3b,
	0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73,
	0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x71, 0x6c,
	0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x70,
	0x6f, 0x73, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e,
	0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78,
	0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c,
	0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x41, 0x72, 0x67, 0x73, 0x12, 0x5a, 0x0a,
	0x0f, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73,
	0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63,
	0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x71, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
	0x64, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73,
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x6e, 0x61, 0x6d, 0x65, 0x64,
	0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x70, 0x6f, 0x73,
	0x5f, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
	0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52,
	0x0c, 0x70, 0x6f, 0x73, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x0a,
	0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73,
	0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x5a, 0x0a, 0x09,
	0x41, 0x72, 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, 0x37, 0x0a, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, 0x61,
	0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65,
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5c, 0x0a, 0x13, 0x4e, 0x61, 0x6d, 0x65,
	0x64, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 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, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
	0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c,
	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x96, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x44, 0x61, 0x74, 0x61, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f,
	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e,
	0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69,
	0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x67,
	0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x47,
	0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22,
	0xca, 0x08, 0x0a, 0x0e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
	0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75,
	0x74, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x48, 0x01, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x14,
	0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04,
	0x70, 0x61, 0x74, 0x68, 0x12, 0x3f, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e,
	0x65, 0x63, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x05,
	0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3a, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e,
	0x65, 0x63, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64,
	0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f,
	0x72, 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x31, 0x0a,
	0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f,
	0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72,
	0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73,
	0x12, 0x43, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x62, 0x79, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e,
	0x65, 0x63, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x79, 0x52, 0x08, 0x62, 0x75, 0x63,
	0x6b, 0x65, 0x74, 0x42, 0x79, 0x12, 0x44, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63,
	0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74,
	0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x63,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
	0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 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, 0x82, 0x02, 0x0a, 0x09, 0x53, 0x61, 0x76, 0x65, 0x54,
	0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61,
	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e,
	0x61, 0x6d, 0x65, 0x12, 0x58, 0x0a, 0x0b, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x68,
	0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b,
	0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70,
	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c,
	0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f,
	0x64, 0x52, 0x0a, 0x73, 0x61, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x7c, 0x0a,
	0x0f, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64,
	0x12, 0x21, 0x0a, 0x1d, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x5f, 0x4d,
	0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
	0x44, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x41, 0x56,
	0x45, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x5f, 0x41, 0x53,
	0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x41, 0x42, 0x4c,
	0x45, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x49, 0x4e,
	0x53, 0x45, 0x52, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x4f, 0x10, 0x02, 0x1a, 0x5b, 0x0a, 0x08, 0x42,
	0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x75, 0x63, 0x6b, 0x65,
	0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x75,
	0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x62,
	0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x75,
	0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x89, 0x01, 0x0a, 0x08, 0x53, 0x61, 0x76,
	0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x41, 0x56, 0x45, 0x5f, 0x4d, 0x4f,
	0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
	0x12, 0x14, 0x0a, 0x10, 0x53, 0x41, 0x56, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x50,
	0x50, 0x45, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x41, 0x56, 0x45, 0x5f, 0x4d,
	0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x02, 0x12,
	0x1d, 0x0a, 0x19, 0x53, 0x41, 0x56, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x52, 0x52,
	0x4f, 0x52, 0x5f, 0x49, 0x46, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x03, 0x12, 0x14,
	0x0a, 0x10, 0x53, 0x41, 0x56, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x47, 0x4e, 0x4f,
	0x52, 0x45, 0x10, 0x04, 0x42, 0x0b, 0x0a, 0x09, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x74, 0x79, 0x70,
	0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xdc, 0x06, 0x0a,
	0x10, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56,
	0x32, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
	0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74,
	0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
	0x1f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01,
	0x12, 0x4c, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67,
	0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19,
	0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45,
	0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x46,
	0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x2c, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e,
	0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32,
	0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5f, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f,
	0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x34, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
	0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56,
	0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f,
	0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64,
	0x65, 0x12, 0x4a, 0x0a, 0x13, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63,
	0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
	0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45,
	0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x6f, 0x76, 0x65, 0x72, 0x77,
	0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a,
	0x12, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75,
	0x6d, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x1a, 0x3a, 0x0a, 0x0c,
	0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 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, 0x42, 0x0a, 0x14, 0x54, 0x61, 0x62, 0x6c,
	0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 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, 0x9f, 0x01, 0x0a,
	0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e,
	0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4d,
	0x4f, 0x44, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e,
	0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x02,
	0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x57, 0x52, 0x49,
	0x54, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x03, 0x12,
	0x0f, 0x0a, 0x0b, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x50, 0x50, 0x45, 0x4e, 0x44, 0x10, 0x04,
	0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45,
	0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54,
	0x45, 0x5f, 0x4f, 0x52, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x06, 0x42, 0x0b,
	0x0a, 0x09, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0xd8, 0x06, 0x0a, 0x19,
	0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x70, 0x65, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70,
	0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b,
	0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d,
	0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
	0x12, 0x4f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x35, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
	0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x70, 0x65,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x12, 0x3a, 0x0a, 0x19, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e,
	0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69,
	0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x3a, 0x0a,
	0x18, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48,
	0x00, 0x52, 0x16, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d,
	0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x25, 0x0a, 0x0d, 0x61, 0x76, 0x61,
	0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
	0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x77,
	0x12, 0x14, 0x0a, 0x04, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00,
	0x52, 0x04, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x1e, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e,
	0x75, 0x6f, 0x75, 0x73, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f,
	0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
	0x52, 0x1c, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x43, 0x68, 0x65, 0x63,
	0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1f,
	0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12,
	0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14,
	0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04,
	0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61,
	0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c,
	0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x65, 0x61, 0x63, 0x68,
	0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e,
	0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74,
	0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x46, 0x75,
	0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x57,
	0x72, 0x69, 0x74, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x65, 0x61, 0x63, 0x68,
	0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73,
	0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72,
	0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x46, 0x75, 0x6e,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x66, 0x6f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x42, 0x61,
	0x74, 0x63, 0x68, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e,
	0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0f,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67,
	0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 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, 0x09, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x42, 0x12, 0x0a, 0x10, 0x73, 0x69, 0x6e, 0x6b, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69,
	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb3, 0x01, 0x0a, 0x18, 0x53, 0x74, 0x72, 0x65, 0x61,
	0x6d, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x46, 0x75, 0x6e, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0f, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x66, 0x75,
	0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73,
	0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x79, 0x74,
	0x68, 0x6f, 0x6e, 0x55, 0x44, 0x46, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e,
	0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0e, 0x73, 0x63, 0x61, 0x6c,
	0x61, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1d, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
	0x2e, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x55, 0x44, 0x46, 0x48,
	0x00, 0x52, 0x0d, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x42, 0x0a, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd4, 0x01, 0x0a,
	0x1f, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x70, 0x65, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x12, 0x42, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
	0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72,
	0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x07, 0x71, 0x75, 0x65,
	0x72, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x18, 0x71, 0x75, 0x65, 0x72,
	0x79, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f,
	0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x15, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4a,
	0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6a,
	0x73, 0x6f, 0x6e, 0x22, 0x41, 0x0a, 0x18, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67,
	0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12,
	0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12,
	0x15, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x22, 0xf8, 0x04, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61,
	0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
	0x12, 0x42, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
	0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72,
	0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x07, 0x71, 0x75, 0x65,
	0x72, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25,
	0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f,
	0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f,
	0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00,
	0x52, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
	0x12, 0x14, 0x0a, 0x04, 0x73, 0x74, 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00,
	0x52, 0x04, 0x73, 0x74, 0x6f, 0x70, 0x12, 0x34, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
	0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
	0x41, 0x6c, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x4f, 0x0a, 0x07,
	0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e,
	0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74,
	0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x6d,
	0x61, 0x6e, 0x64, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61,
	0x6e, 0x64, 0x48, 0x00, 0x52, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x12, 0x1e, 0x0a,
	0x09, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08,
	0x48, 0x00, 0x52, 0x09, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a,
	0x11, 0x61, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b,
	0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69,
	0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41,
	0x77, 0x61, 0x69, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43,
	0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x10, 0x61, 0x77, 0x61, 0x69, 0x74, 0x54,
	0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x2c, 0x0a, 0x0e, 0x45, 0x78,
	0x70, 0x6c, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08,
	0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
	0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x1a, 0x4c, 0x0a, 0x17, 0x41, 0x77, 0x61, 0x69,
	0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d,
	0x61, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6d,
	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x6f,
	0x75, 0x74, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
	0x64, 0x22, 0xf5, 0x08, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51,
	0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x12, 0x42, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e,
	0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65,
	0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x07, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x51, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f,
	0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51,
	0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00,
	0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x6a, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x65,
	0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x3f, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
	0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79,
	0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x65,
	0x63, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x67,
	0x72, 0x65, 0x73, 0x73, 0x12, 0x54, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f,
	0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51,
	0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48,
	0x00, 0x52, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x12, 0x5a, 0x0a, 0x09, 0x65, 0x78,
	0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e,
	0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74,
	0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x6d,
	0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, 0x63,
	0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x70, 0x0a, 0x11, 0x61, 0x77, 0x61, 0x69, 0x74, 0x5f,
	0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x41, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
	0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79,
	0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x41, 0x77,
	0x61, 0x69, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x10, 0x61, 0x77, 0x61, 0x69, 0x74, 0x54, 0x65, 0x72,
	0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xaa, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x76, 0x61, 0x69,
	0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x44,
	0x61, 0x74, 0x61, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x11,
	0x69, 0x73, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76,
	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x54, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61,
	0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41,
	0x63, 0x74, 0x69, 0x76, 0x65, 0x1a, 0x48, 0x0a, 0x14, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50,
	0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x30, 0x0a,
	0x14, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
	0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x63,
	0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x1a,
	0x27, 0x0a, 0x0d, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0xc5, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x63,
	0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x30, 0x0a, 0x11,
	0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x65, 0x78, 0x63, 0x65, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24,
	0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6c, 0x61, 0x73,
	0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x72,
	0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x73, 0x74, 0x61,
	0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65,
	0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73,
	0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65,
	0x1a, 0x38, 0x0a, 0x16, 0x41, 0x77, 0x61, 0x69, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x65,
	0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
	0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x72, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xbd, 0x06, 0x0a, 0x1c, 0x53, 0x74,
	0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x6e, 0x61,
	0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x06, 0x61, 0x63,
	0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x61, 0x63,
	0x74, 0x69, 0x76, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x67, 0x65, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72,
	0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x67, 0x65, 0x74, 0x51, 0x75,
	0x65, 0x72, 0x79, 0x12, 0x7c, 0x0a, 0x15, 0x61, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x61, 0x6e, 0x79,
	0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x46, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
	0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72,
	0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e,
	0x41, 0x77, 0x61, 0x69, 0x74, 0x41, 0x6e, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x13, 0x61, 0x77,
	0x61, 0x69, 0x74, 0x41, 0x6e, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x2b, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69,
	0x6e, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0f, 0x72,
	0x65, 0x73, 0x65, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x12, 0x6e,
	0x0a, 0x0c, 0x61, 0x64, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e,
	0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75,
	0x65, 0x72, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
	0x64, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79,
	0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48,
	0x00, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x74,
	0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65,
	0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e,
	0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e,
	0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d,
	0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75,
	0x65, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61,
	0x6e, 0x64, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x69, 0x73, 0x74,
	0x65, 0x6e, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0e, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x73,
	0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d,
	0x6c, 0x69, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x1a, 0x4f, 0x0a,
	0x1a, 0x41, 0x77, 0x61, 0x69, 0x74, 0x41, 0x6e, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x74,
	0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48,
	0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x42,
	0x0d, 0x0a, 0x0b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x1a, 0xcd,
	0x01, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72,
	0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
	0x12, 0x29, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x6c, 0x69, 0x73, 0x74,
	0x65, 0x6e, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x55, 0x0a, 0x17, 0x70,
	0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x70,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73,
	0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x79, 0x74,
	0x68, 0x6f, 0x6e, 0x55, 0x44, 0x46, 0x48, 0x00, 0x52, 0x15, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e,
	0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x88,
	0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
	0x69, 0x64, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x6c, 0x69,
	0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09,
	0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0xb4, 0x08, 0x0a, 0x22, 0x53, 0x74,
	0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x6e, 0x61,
	0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x12, 0x58, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x3e, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
	0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d,
	0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x48, 0x00, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x60, 0x0a, 0x05, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x73, 0x70, 0x61, 0x72,
	0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
	0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43,
	0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x74, 0x72,
	0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61,
	0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x81, 0x01, 0x0a,
	0x15, 0x61, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69,
	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x73,
	0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72,
	0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67,
	0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e,
	0x41, 0x77, 0x61, 0x69, 0x74, 0x41, 0x6e, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x13, 0x61, 0x77, 0x61,
	0x69, 0x74, 0x41, 0x6e, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x2b, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e,
	0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65,
	0x73, 0x65, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x12, 0x23, 0x0a,
	0x0c, 0x61, 0x64, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e,
	0x65, 0x72, 0x12, 0x29, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x6c, 0x69, 0x73,
	0x74, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x72,
	0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x7b, 0x0a,
	0x0e, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f,
	0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51,
	0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61,
	0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72,
	0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65,
	0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x6c, 0x69, 0x73,
	0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x73, 0x1a, 0x7f, 0x0a, 0x0c, 0x41, 0x63,
	0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x6f, 0x0a, 0x0e, 0x61, 0x63,
	0x74, 0x69, 0x76, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x48, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
	0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72,
	0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52,
	0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51,
	0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x61, 0x63,
	0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x73, 0x0a, 0x16, 0x53,
	0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x73,
	0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
	0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79,
	0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17,
	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
	0x1a, 0x3b, 0x0a, 0x19, 0x41, 0x77, 0x61, 0x69, 0x74, 0x41, 0x6e, 0x79, 0x54, 0x65, 0x72, 0x6d,
	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a,
	0x0a, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0a, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x1a, 0x4b, 0x0a,
	0x1e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c,
	0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12,
	0x29, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x79, 0x6c,
	0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x65,
	0x6e, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x45, 0x0a, 0x20, 0x4c, 0x69,
	0x73, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79,
	0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x21,
	0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x49, 0x64,
	0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
	0x22, 0xad, 0x01, 0x0a, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75,
	0x65, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x42, 0x75, 0x73, 0x43, 0x6f,
	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x3b, 0x0a, 0x19, 0x61, 0x64, 0x64, 0x5f, 0x6c, 0x69, 0x73,
	0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x62, 0x75, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e,
	0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x16, 0x61, 0x64, 0x64, 0x4c,
	0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x42, 0x75, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e,
	0x65, 0x72, 0x12, 0x41, 0x0a, 0x1c, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x6c, 0x69, 0x73,
	0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x62, 0x75, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e,
	0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x19, 0x72, 0x65, 0x6d, 0x6f,
	0x76, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x42, 0x75, 0x73, 0x4c, 0x69, 0x73,
	0x74, 0x65, 0x6e, 0x65, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
	0x22, 0x83, 0x01, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75,
	0x65, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74,
	0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x12,
	0x45, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e,
	0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65,
	0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x76, 0x65,
	0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xcc, 0x01, 0x0a, 0x22, 0x53, 0x74, 0x72, 0x65, 0x61,
	0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65,
	0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x42, 0x0a,
	0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
	0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74,
	0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74,
	0x65, 0x6e, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74,
	0x73, 0x12, 0x42, 0x0a, 0x1b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x62, 0x75,
	0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x18, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e,
	0x65, 0x72, 0x42, 0x75, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x64,
	0x65, 0x64, 0x88, 0x01, 0x01, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e,
	0x65, 0x72, 0x5f, 0x62, 0x75, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f,
	0x61, 0x64, 0x64, 0x65, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0xd4, 0x01, 0x0a,
	0x19, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x6d,
	0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x55, 0x0a, 0x09, 0x72, 0x65,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e,
	0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65,
	0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
	0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x73, 0x1a, 0x60, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 0x38, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e,
	0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66,
	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
	0x02, 0x38, 0x01, 0x22, 0x58, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d,
	0x61, 0x6e, 0x64, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e,
	0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f,
	0x66, 0x69, 0x6c, 0x65, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x43, 0x0a,
	0x22, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50,
	0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
	0x49, 0x64, 0x22, 0x64, 0x0a, 0x21, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68,
	0x65, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x3f, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x70, 0x61, 0x72,
	0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64,
	0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08,
	0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcd, 0x01, 0x0a, 0x11, 0x43, 0x68, 0x65,
	0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x33,
	0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
	0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x61, 0x67,
	0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x65, 0x61, 0x67, 0x65, 0x72, 0x12,
	0x45, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63,
	0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x65,
	0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x65,
	0x76, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61,
	0x67, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xe8, 0x03, 0x0a, 0x15, 0x4d, 0x65, 0x72,
	0x67, 0x65, 0x49, 0x6e, 0x74, 0x6f, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61,
	0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x62,
	0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74,
	0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x43,
	0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70,
	0x6c, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72,
	0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50,
	0x6c, 0x61, 0x6e, 0x12, 0x42, 0x0a, 0x0f, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e,
	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73,
	0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70,
	0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x43, 0x6f,
	0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68,
	0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19,
	0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45,
	0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68,
	0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x13, 0x6e, 0x6f, 0x74, 0x5f, 0x6d,
	0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e,
	0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52,
	0x11, 0x6e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x12, 0x5b, 0x0a, 0x1d, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65,
	0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72,
	0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73,
	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x19, 0x6e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64,
	0x42, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
	0x32, 0x0a, 0x15, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x65,
	0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13,
	0x77, 0x69, 0x74, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x45, 0x76, 0x6f, 0x6c, 0x75, 0x74,
	0x69, 0x6f, 0x6e, 0x22, 0xd4, 0x01, 0x0a, 0x16, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x45,
	0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x16,
	0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
	0x12, 0x4c, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x32, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
	0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,
	0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a,
	0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 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, 0x2a, 0x85, 0x01, 0x0a, 0x17, 0x53,
	0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x76, 0x65,
	0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f,
	0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f,
	0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x01,
	0x12, 0x1a, 0x0a, 0x16, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e,
	0x41, 0x54, 0x45, 0x44, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10,
	0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x44, 0x4c, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54,
	0x10, 0x03, 0x42, 0x36, 0x0a, 0x1e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65,
	0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x12, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
	0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x33,
}

var (
	file_spark_connect_commands_proto_rawDescOnce sync.Once
	file_spark_connect_commands_proto_rawDescData = file_spark_connect_commands_proto_rawDesc
)

func file_spark_connect_commands_proto_rawDescGZIP() []byte {
	file_spark_connect_commands_proto_rawDescOnce.Do(func() {
		file_spark_connect_commands_proto_rawDescData = protoimpl.X.CompressGZIP(file_spark_connect_commands_proto_rawDescData)
	})
	return file_spark_connect_commands_proto_rawDescData
}

var file_spark_connect_commands_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
var file_spark_connect_commands_proto_msgTypes = make([]protoimpl.MessageInfo, 48)
var file_spark_connect_commands_proto_goTypes = []interface{}{
	(StreamingQueryEventType)(0),                               // 0: spark.connect.StreamingQueryEventType
	(WriteOperation_SaveMode)(0),                               // 1: spark.connect.WriteOperation.SaveMode
	(WriteOperation_SaveTable_TableSaveMethod)(0),              // 2: spark.connect.WriteOperation.SaveTable.TableSaveMethod
	(WriteOperationV2_Mode)(0),                                 // 3: spark.connect.WriteOperationV2.Mode
	(*Command)(nil),                                            // 4: spark.connect.Command
	(*SqlCommand)(nil),                                         // 5: spark.connect.SqlCommand
	(*CreateDataFrameViewCommand)(nil),                         // 6: spark.connect.CreateDataFrameViewCommand
	(*WriteOperation)(nil),                                     // 7: spark.connect.WriteOperation
	(*WriteOperationV2)(nil),                                   // 8: spark.connect.WriteOperationV2
	(*WriteStreamOperationStart)(nil),                          // 9: spark.connect.WriteStreamOperationStart
	(*StreamingForeachFunction)(nil),                           // 10: spark.connect.StreamingForeachFunction
	(*WriteStreamOperationStartResult)(nil),                    // 11: spark.connect.WriteStreamOperationStartResult
	(*StreamingQueryInstanceId)(nil),                           // 12: spark.connect.StreamingQueryInstanceId
	(*StreamingQueryCommand)(nil),                              // 13: spark.connect.StreamingQueryCommand
	(*StreamingQueryCommandResult)(nil),                        // 14: spark.connect.StreamingQueryCommandResult
	(*StreamingQueryManagerCommand)(nil),                       // 15: spark.connect.StreamingQueryManagerCommand
	(*StreamingQueryManagerCommandResult)(nil),                 // 16: spark.connect.StreamingQueryManagerCommandResult
	(*StreamingQueryListenerBusCommand)(nil),                   // 17: spark.connect.StreamingQueryListenerBusCommand
	(*StreamingQueryListenerEvent)(nil),                        // 18: spark.connect.StreamingQueryListenerEvent
	(*StreamingQueryListenerEventsResult)(nil),                 // 19: spark.connect.StreamingQueryListenerEventsResult
	(*GetResourcesCommand)(nil),                                // 20: spark.connect.GetResourcesCommand
	(*GetResourcesCommandResult)(nil),                          // 21: spark.connect.GetResourcesCommandResult
	(*CreateResourceProfileCommand)(nil),                       // 22: spark.connect.CreateResourceProfileCommand
	(*CreateResourceProfileCommandResult)(nil),                 // 23: spark.connect.CreateResourceProfileCommandResult
	(*RemoveCachedRemoteRelationCommand)(nil),                  // 24: spark.connect.RemoveCachedRemoteRelationCommand
	(*CheckpointCommand)(nil),                                  // 25: spark.connect.CheckpointCommand
	(*MergeIntoTableCommand)(nil),                              // 26: spark.connect.MergeIntoTableCommand
	(*ExecuteExternalCommand)(nil),                             // 27: spark.connect.ExecuteExternalCommand
	nil,                                                        // 28: spark.connect.SqlCommand.ArgsEntry
	nil,                                                        // 29: spark.connect.SqlCommand.NamedArgumentsEntry
	nil,                                                        // 30: spark.connect.WriteOperation.OptionsEntry
	(*WriteOperation_SaveTable)(nil),                           // 31: spark.connect.WriteOperation.SaveTable
	(*WriteOperation_BucketBy)(nil),                            // 32: spark.connect.WriteOperation.BucketBy
	nil,                                                        // 33: spark.connect.WriteOperationV2.OptionsEntry
	nil,                                                        // 34: spark.connect.WriteOperationV2.TablePropertiesEntry
	nil,                                                        // 35: spark.connect.WriteStreamOperationStart.OptionsEntry
	(*StreamingQueryCommand_ExplainCommand)(nil),               // 36: spark.connect.StreamingQueryCommand.ExplainCommand
	(*StreamingQueryCommand_AwaitTerminationCommand)(nil),      // 37: spark.connect.StreamingQueryCommand.AwaitTerminationCommand
	(*StreamingQueryCommandResult_StatusResult)(nil),           // 38: spark.connect.StreamingQueryCommandResult.StatusResult
	(*StreamingQueryCommandResult_RecentProgressResult)(nil),   // 39: spark.connect.StreamingQueryCommandResult.RecentProgressResult
	(*StreamingQueryCommandResult_ExplainResult)(nil),          // 40: spark.connect.StreamingQueryCommandResult.ExplainResult
	(*StreamingQueryCommandResult_ExceptionResult)(nil),        // 41: spark.connect.StreamingQueryCommandResult.ExceptionResult
	(*StreamingQueryCommandResult_AwaitTerminationResult)(nil), // 42: spark.connect.StreamingQueryCommandResult.AwaitTerminationResult
	(*StreamingQueryManagerCommand_AwaitAnyTerminationCommand)(nil),             // 43: spark.connect.StreamingQueryManagerCommand.AwaitAnyTerminationCommand
	(*StreamingQueryManagerCommand_StreamingQueryListenerCommand)(nil),          // 44: spark.connect.StreamingQueryManagerCommand.StreamingQueryListenerCommand
	(*StreamingQueryManagerCommandResult_ActiveResult)(nil),                     // 45: spark.connect.StreamingQueryManagerCommandResult.ActiveResult
	(*StreamingQueryManagerCommandResult_StreamingQueryInstance)(nil),           // 46: spark.connect.StreamingQueryManagerCommandResult.StreamingQueryInstance
	(*StreamingQueryManagerCommandResult_AwaitAnyTerminationResult)(nil),        // 47: spark.connect.StreamingQueryManagerCommandResult.AwaitAnyTerminationResult
	(*StreamingQueryManagerCommandResult_StreamingQueryListenerInstance)(nil),   // 48: spark.connect.StreamingQueryManagerCommandResult.StreamingQueryListenerInstance
	(*StreamingQueryManagerCommandResult_ListStreamingQueryListenerResult)(nil), // 49: spark.connect.StreamingQueryManagerCommandResult.ListStreamingQueryListenerResult
	nil,                                     // 50: spark.connect.GetResourcesCommandResult.ResourcesEntry
	nil,                                     // 51: spark.connect.ExecuteExternalCommand.OptionsEntry
	(*CommonInlineUserDefinedFunction)(nil), // 52: spark.connect.CommonInlineUserDefinedFunction
	(*CommonInlineUserDefinedTableFunction)(nil), // 53: spark.connect.CommonInlineUserDefinedTableFunction
	(*CommonInlineUserDefinedDataSource)(nil),    // 54: spark.connect.CommonInlineUserDefinedDataSource
	(*MlCommand)(nil),                            // 55: spark.connect.MlCommand
	(*PipelineCommand)(nil),                      // 56: spark.connect.PipelineCommand
	(*anypb.Any)(nil),                            // 57: google.protobuf.Any
	(*Expression_Literal)(nil),                   // 58: spark.connect.Expression.Literal
	(*Expression)(nil),                           // 59: spark.connect.Expression
	(*Relation)(nil),                             // 60: spark.connect.Relation
	(*PythonUDF)(nil),                            // 61: spark.connect.PythonUDF
	(*ScalarScalaUDF)(nil),                       // 62: spark.connect.ScalarScalaUDF
	(*ResourceProfile)(nil),                      // 63: spark.connect.ResourceProfile
	(*CachedRemoteRelation)(nil),                 // 64: spark.connect.CachedRemoteRelation
	(*StorageLevel)(nil),                         // 65: spark.connect.StorageLevel
	(*ResourceInformation)(nil),                  // 66: spark.connect.ResourceInformation
}
var file_spark_connect_commands_proto_depIdxs = []int32{
	52, // 0: spark.connect.Command.register_function:type_name -> spark.connect.CommonInlineUserDefinedFunction
	7,  // 1: spark.connect.Command.write_operation:type_name -> spark.connect.WriteOperation
	6,  // 2: spark.connect.Command.create_dataframe_view:type_name -> spark.connect.CreateDataFrameViewCommand
	8,  // 3: spark.connect.Command.write_operation_v2:type_name -> spark.connect.WriteOperationV2
	5,  // 4: spark.connect.Command.sql_command:type_name -> spark.connect.SqlCommand
	9,  // 5: spark.connect.Command.write_stream_operation_start:type_name -> spark.connect.WriteStreamOperationStart
	13, // 6: spark.connect.Command.streaming_query_command:type_name -> spark.connect.StreamingQueryCommand
	20, // 7: spark.connect.Command.get_resources_command:type_name -> spark.connect.GetResourcesCommand
	15, // 8: spark.connect.Command.streaming_query_manager_command:type_name -> spark.connect.StreamingQueryManagerCommand
	53, // 9: spark.connect.Command.register_table_function:type_name -> spark.connect.CommonInlineUserDefinedTableFunction
	17, // 10: spark.connect.Command.streaming_query_listener_bus_command:type_name -> spark.connect.StreamingQueryListenerBusCommand
	54, // 11: spark.connect.Command.register_data_source:type_name -> spark.connect.CommonInlineUserDefinedDataSource
	22, // 12: spark.connect.Command.create_resource_profile_command:type_name -> spark.connect.CreateResourceProfileCommand
	25, // 13: spark.connect.Command.checkpoint_command:type_name -> spark.connect.CheckpointCommand
	24, // 14: spark.connect.Command.remove_cached_remote_relation_command:type_name -> spark.connect.RemoveCachedRemoteRelationCommand
	26, // 15: spark.connect.Command.merge_into_table_command:type_name -> spark.connect.MergeIntoTableCommand
	55, // 16: spark.connect.Command.ml_command:type_name -> spark.connect.MlCommand
	27, // 17: spark.connect.Command.execute_external_command:type_name -> spark.connect.ExecuteExternalCommand
	56, // 18: spark.connect.Command.pipeline_command:type_name -> spark.connect.PipelineCommand
	57, // 19: spark.connect.Command.extension:type_name -> google.protobuf.Any
	28, // 20: spark.connect.SqlCommand.args:type_name -> spark.connect.SqlCommand.ArgsEntry
	58, // 21: spark.connect.SqlCommand.pos_args:type_name -> spark.connect.Expression.Literal
	29, // 22: spark.connect.SqlCommand.named_arguments:type_name -> spark.connect.SqlCommand.NamedArgumentsEntry
	59, // 23: spark.connect.SqlCommand.pos_arguments:type_name -> spark.connect.Expression
	60, // 24: spark.connect.SqlCommand.input:type_name -> spark.connect.Relation
	60, // 25: spark.connect.CreateDataFrameViewCommand.input:type_name -> spark.connect.Relation
	60, // 26: spark.connect.WriteOperation.input:type_name -> spark.connect.Relation
	31, // 27: spark.connect.WriteOperation.table:type_name -> spark.connect.WriteOperation.SaveTable
	1,  // 28: spark.connect.WriteOperation.mode:type_name -> spark.connect.WriteOperation.SaveMode
	32, // 29: spark.connect.WriteOperation.bucket_by:type_name -> spark.connect.WriteOperation.BucketBy
	30, // 30: spark.connect.WriteOperation.options:type_name -> spark.connect.WriteOperation.OptionsEntry
	60, // 31: spark.connect.WriteOperationV2.input:type_name -> spark.connect.Relation
	59, // 32: spark.connect.WriteOperationV2.partitioning_columns:type_name -> spark.connect.Expression
	33, // 33: spark.connect.WriteOperationV2.options:type_name -> spark.connect.WriteOperationV2.OptionsEntry
	34, // 34: spark.connect.WriteOperationV2.table_properties:type_name -> spark.connect.WriteOperationV2.TablePropertiesEntry
	3,  // 35: spark.connect.WriteOperationV2.mode:type_name -> spark.connect.WriteOperationV2.Mode
	59, // 36: spark.connect.WriteOperationV2.overwrite_condition:type_name -> spark.connect.Expression
	60, // 37: spark.connect.WriteStreamOperationStart.input:type_name -> spark.connect.Relation
	35, // 38: spark.connect.WriteStreamOperationStart.options:type_name -> spark.connect.WriteStreamOperationStart.OptionsEntry
	10, // 39: spark.connect.WriteStreamOperationStart.foreach_writer:type_name -> spark.connect.StreamingForeachFunction
	10, // 40: spark.connect.WriteStreamOperationStart.foreach_batch:type_name -> spark.connect.StreamingForeachFunction
	61, // 41: spark.connect.StreamingForeachFunction.python_function:type_name -> spark.connect.PythonUDF
	62, // 42: spark.connect.StreamingForeachFunction.scala_function:type_name -> spark.connect.ScalarScalaUDF
	12, // 43: spark.connect.WriteStreamOperationStartResult.query_id:type_name -> spark.connect.StreamingQueryInstanceId
	12, // 44: spark.connect.StreamingQueryCommand.query_id:type_name -> spark.connect.StreamingQueryInstanceId
	36, // 45: spark.connect.StreamingQueryCommand.explain:type_name -> spark.connect.StreamingQueryCommand.ExplainCommand
	37, // 46: spark.connect.StreamingQueryCommand.await_termination:type_name -> spark.connect.StreamingQueryCommand.AwaitTerminationCommand
	12, // 47: spark.connect.StreamingQueryCommandResult.query_id:type_name -> spark.connect.StreamingQueryInstanceId
	38, // 48: spark.connect.StreamingQueryCommandResult.status:type_name -> spark.connect.StreamingQueryCommandResult.StatusResult
	39, // 49: spark.connect.StreamingQueryCommandResult.recent_progress:type_name -> spark.connect.StreamingQueryCommandResult.RecentProgressResult
	40, // 50: spark.connect.StreamingQueryCommandResult.explain:type_name -> spark.connect.StreamingQueryCommandResult.ExplainResult
	41, // 51: spark.connect.StreamingQueryCommandResult.exception:type_name -> spark.connect.StreamingQueryCommandResult.ExceptionResult
	42, // 52: spark.connect.StreamingQueryCommandResult.await_termination:type_name -> spark.connect.StreamingQueryCommandResult.AwaitTerminationResult
	43, // 53: spark.connect.StreamingQueryManagerCommand.await_any_termination:type_name -> spark.connect.StreamingQueryManagerCommand.AwaitAnyTerminationCommand
	44, // 54: spark.connect.StreamingQueryManagerCommand.add_listener:type_name -> spark.connect.StreamingQueryManagerCommand.StreamingQueryListenerCommand
	44, // 55: spark.connect.StreamingQueryManagerCommand.remove_listener:type_name -> spark.connect.StreamingQueryManagerCommand.StreamingQueryListenerCommand
	45, // 56: spark.connect.StreamingQueryManagerCommandResult.active:type_name -> spark.connect.StreamingQueryManagerCommandResult.ActiveResult
	46, // 57: spark.connect.StreamingQueryManagerCommandResult.query:type_name -> spark.connect.StreamingQueryManagerCommandResult.StreamingQueryInstance
	47, // 58: spark.connect.StreamingQueryManagerCommandResult.await_any_termination:type_name -> spark.connect.StreamingQueryManagerCommandResult.AwaitAnyTerminationResult
	49, // 59: spark.connect.StreamingQueryManagerCommandResult.list_listeners:type_name -> spark.connect.StreamingQueryManagerCommandResult.ListStreamingQueryListenerResult
	0,  // 60: spark.connect.StreamingQueryListenerEvent.event_type:type_name -> spark.connect.StreamingQueryEventType
	18, // 61: spark.connect.StreamingQueryListenerEventsResult.events:type_name -> spark.connect.StreamingQueryListenerEvent
	50, // 62: spark.connect.GetResourcesCommandResult.resources:type_name -> spark.connect.GetResourcesCommandResult.ResourcesEntry
	63, // 63: spark.connect.CreateResourceProfileCommand.profile:type_name -> spark.connect.ResourceProfile
	64, // 64: spark.connect.RemoveCachedRemoteRelationCommand.relation:type_name -> spark.connect.CachedRemoteRelation
	60, // 65: spark.connect.CheckpointCommand.relation:type_name -> spark.connect.Relation
	65, // 66: spark.connect.CheckpointCommand.storage_level:type_name -> spark.connect.StorageLevel
	60, // 67: spark.connect.MergeIntoTableCommand.source_table_plan:type_name -> spark.connect.Relation
	59, // 68: spark.connect.MergeIntoTableCommand.merge_condition:type_name -> spark.connect.Expression
	59, // 69: spark.connect.MergeIntoTableCommand.match_actions:type_name -> spark.connect.Expression
	59, // 70: spark.connect.MergeIntoTableCommand.not_matched_actions:type_name -> spark.connect.Expression
	59, // 71: spark.connect.MergeIntoTableCommand.not_matched_by_source_actions:type_name -> spark.connect.Expression
	51, // 72: spark.connect.ExecuteExternalCommand.options:type_name -> spark.connect.ExecuteExternalCommand.OptionsEntry
	58, // 73: spark.connect.SqlCommand.ArgsEntry.value:type_name -> spark.connect.Expression.Literal
	59, // 74: spark.connect.SqlCommand.NamedArgumentsEntry.value:type_name -> spark.connect.Expression
	2,  // 75: spark.connect.WriteOperation.SaveTable.save_method:type_name -> spark.connect.WriteOperation.SaveTable.TableSaveMethod
	61, // 76: spark.connect.StreamingQueryManagerCommand.StreamingQueryListenerCommand.python_listener_payload:type_name -> spark.connect.PythonUDF
	46, // 77: spark.connect.StreamingQueryManagerCommandResult.ActiveResult.active_queries:type_name -> spark.connect.StreamingQueryManagerCommandResult.StreamingQueryInstance
	12, // 78: spark.connect.StreamingQueryManagerCommandResult.StreamingQueryInstance.id:type_name -> spark.connect.StreamingQueryInstanceId
	66, // 79: spark.connect.GetResourcesCommandResult.ResourcesEntry.value:type_name -> spark.connect.ResourceInformation
	80, // [80:80] is the sub-list for method output_type
	80, // [80:80] is the sub-list for method input_type
	80, // [80:80] is the sub-list for extension type_name
	80, // [80:80] is the sub-list for extension extendee
	0,  // [0:80] is the sub-list for field type_name
}

func init() { file_spark_connect_commands_proto_init() }
func file_spark_connect_commands_proto_init() {
	if File_spark_connect_commands_proto != nil {
		return
	}
	file_spark_connect_common_proto_init()
	file_spark_connect_expressions_proto_init()
	file_spark_connect_relations_proto_init()
	file_spark_connect_ml_proto_init()
	file_spark_connect_pipelines_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_spark_connect_commands_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Command); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SqlCommand); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateDataFrameViewCommand); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WriteOperation); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WriteOperationV2); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WriteStreamOperationStart); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingForeachFunction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WriteStreamOperationStartResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryInstanceId); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryCommand); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryCommandResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryManagerCommand); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryManagerCommandResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryListenerBusCommand); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryListenerEvent); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryListenerEventsResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetResourcesCommand); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetResourcesCommandResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateResourceProfileCommand); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateResourceProfileCommandResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RemoveCachedRemoteRelationCommand); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CheckpointCommand); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MergeIntoTableCommand); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExecuteExternalCommand); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WriteOperation_SaveTable); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WriteOperation_BucketBy); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryCommand_ExplainCommand); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryCommand_AwaitTerminationCommand); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryCommandResult_StatusResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryCommandResult_RecentProgressResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryCommandResult_ExplainResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryCommandResult_ExceptionResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryCommandResult_AwaitTerminationResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryManagerCommand_AwaitAnyTerminationCommand); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryManagerCommand_StreamingQueryListenerCommand); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryManagerCommandResult_ActiveResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryManagerCommandResult_StreamingQueryInstance); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryManagerCommandResult_AwaitAnyTerminationResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryManagerCommandResult_StreamingQueryListenerInstance); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spark_connect_commands_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamingQueryManagerCommandResult_ListStreamingQueryListenerResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_spark_connect_commands_proto_msgTypes[0].OneofWrappers = []interface{}{
		(*Command_RegisterFunction)(nil),
		(*Command_WriteOperation)(nil),
		(*Command_CreateDataframeView)(nil),
		(*Command_WriteOperationV2)(nil),
		(*Command_SqlCommand)(nil),
		(*Command_WriteStreamOperationStart)(nil),
		(*Command_StreamingQueryCommand)(nil),
		(*Command_GetResourcesCommand)(nil),
		(*Command_StreamingQueryManagerCommand)(nil),
		(*Command_RegisterTableFunction)(nil),
		(*Command_StreamingQueryListenerBusCommand)(nil),
		(*Command_RegisterDataSource)(nil),
		(*Command_CreateResourceProfileCommand)(nil),
		(*Command_CheckpointCommand)(nil),
		(*Command_RemoveCachedRemoteRelationCommand)(nil),
		(*Command_MergeIntoTableCommand)(nil),
		(*Command_MlCommand)(nil),
		(*Command_ExecuteExternalCommand)(nil),
		(*Command_PipelineCommand)(nil),
		(*Command_Extension)(nil),
	}
	file_spark_connect_commands_proto_msgTypes[3].OneofWrappers = []interface{}{
		(*WriteOperation_Path)(nil),
		(*WriteOperation_Table)(nil),
	}
	file_spark_connect_commands_proto_msgTypes[4].OneofWrappers = []interface{}{}
	file_spark_connect_commands_proto_msgTypes[5].OneofWrappers = []interface{}{
		(*WriteStreamOperationStart_ProcessingTimeInterval)(nil),
		(*WriteStreamOperationStart_AvailableNow)(nil),
		(*WriteStreamOperationStart_Once)(nil),
		(*WriteStreamOperationStart_ContinuousCheckpointInterval)(nil),
		(*WriteStreamOperationStart_Path)(nil),
		(*WriteStreamOperationStart_TableName)(nil),
	}
	file_spark_connect_commands_proto_msgTypes[6].OneofWrappers = []interface{}{
		(*StreamingForeachFunction_PythonFunction)(nil),
		(*StreamingForeachFunction_ScalaFunction)(nil),
	}
	file_spark_connect_commands_proto_msgTypes[7].OneofWrappers = []interface{}{}
	file_spark_connect_commands_proto_msgTypes[9].OneofWrappers = []interface{}{
		(*StreamingQueryCommand_Status)(nil),
		(*StreamingQueryCommand_LastProgress)(nil),
		(*StreamingQueryCommand_RecentProgress)(nil),
		(*StreamingQueryCommand_Stop)(nil),
		(*StreamingQueryCommand_ProcessAllAvailable)(nil),
		(*StreamingQueryCommand_Explain)(nil),
		(*StreamingQueryCommand_Exception)(nil),
		(*StreamingQueryCommand_AwaitTermination)(nil),
	}
	file_spark_connect_commands_proto_msgTypes[10].OneofWrappers = []interface{}{
		(*StreamingQueryCommandResult_Status)(nil),
		(*StreamingQueryCommandResult_RecentProgress)(nil),
		(*StreamingQueryCommandResult_Explain)(nil),
		(*StreamingQueryCommandResult_Exception)(nil),
		(*StreamingQueryCommandResult_AwaitTermination)(nil),
	}
	file_spark_connect_commands_proto_msgTypes[11].OneofWrappers = []interface{}{
		(*StreamingQueryManagerCommand_Active)(nil),
		(*StreamingQueryManagerCommand_GetQuery)(nil),
		(*StreamingQueryManagerCommand_AwaitAnyTermination)(nil),
		(*StreamingQueryManagerCommand_ResetTerminated)(nil),
		(*StreamingQueryManagerCommand_AddListener)(nil),
		(*StreamingQueryManagerCommand_RemoveListener)(nil),
		(*StreamingQueryManagerCommand_ListListeners)(nil),
	}
	file_spark_connect_commands_proto_msgTypes[12].OneofWrappers = []interface{}{
		(*StreamingQueryManagerCommandResult_Active)(nil),
		(*StreamingQueryManagerCommandResult_Query)(nil),
		(*StreamingQueryManagerCommandResult_AwaitAnyTermination)(nil),
		(*StreamingQueryManagerCommandResult_ResetTerminated)(nil),
		(*StreamingQueryManagerCommandResult_AddListener)(nil),
		(*StreamingQueryManagerCommandResult_RemoveListener)(nil),
		(*StreamingQueryManagerCommandResult_ListListeners)(nil),
	}
	file_spark_connect_commands_proto_msgTypes[13].OneofWrappers = []interface{}{
		(*StreamingQueryListenerBusCommand_AddListenerBusListener)(nil),
		(*StreamingQueryListenerBusCommand_RemoveListenerBusListener)(nil),
	}
	file_spark_connect_commands_proto_msgTypes[15].OneofWrappers = []interface{}{}
	file_spark_connect_commands_proto_msgTypes[21].OneofWrappers = []interface{}{}
	file_spark_connect_commands_proto_msgTypes[33].OneofWrappers = []interface{}{}
	file_spark_connect_commands_proto_msgTypes[37].OneofWrappers = []interface{}{}
	file_spark_connect_commands_proto_msgTypes[39].OneofWrappers = []interface{}{}
	file_spark_connect_commands_proto_msgTypes[40].OneofWrappers = []interface{}{}
	file_spark_connect_commands_proto_msgTypes[42].OneofWrappers = []interface{}{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_spark_connect_commands_proto_rawDesc,
			NumEnums:      4,
			NumMessages:   48,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_spark_connect_commands_proto_goTypes,
		DependencyIndexes: file_spark_connect_commands_proto_depIdxs,
		EnumInfos:         file_spark_connect_commands_proto_enumTypes,
		MessageInfos:      file_spark_connect_commands_proto_msgTypes,
	}.Build()
	File_spark_connect_commands_proto = out.File
	file_spark_connect_commands_proto_rawDesc = nil
	file_spark_connect_commands_proto_goTypes = nil
	file_spark_connect_commands_proto_depIdxs = nil
}
