...

Source file src/cloud.google.com/go/bigquery/storage/apiv1/storagepb/storage.pb.go

Documentation: cloud.google.com/go/bigquery/storage/apiv1/storagepb

     1  // Copyright 2023 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.32.0
    18  // 	protoc        v4.25.2
    19  // source: google/cloud/bigquery/storage/v1/storage.proto
    20  
    21  package storagepb
    22  
    23  import (
    24  	context "context"
    25  	reflect "reflect"
    26  	sync "sync"
    27  
    28  	_ "google.golang.org/genproto/googleapis/api/annotations"
    29  	status "google.golang.org/genproto/googleapis/rpc/status"
    30  	grpc "google.golang.org/grpc"
    31  	codes "google.golang.org/grpc/codes"
    32  	status1 "google.golang.org/grpc/status"
    33  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    34  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    35  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    36  	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
    37  )
    38  
    39  const (
    40  	// Verify that this generated code is sufficiently up-to-date.
    41  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    42  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    43  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    44  )
    45  
    46  // An enum to indicate how to interpret missing values of fields that are
    47  // present in user schema but missing in rows. A missing value can represent a
    48  // NULL or a column default value defined in BigQuery table schema.
    49  type AppendRowsRequest_MissingValueInterpretation int32
    50  
    51  const (
    52  	// Invalid missing value interpretation. Requests with this value will be
    53  	// rejected.
    54  	AppendRowsRequest_MISSING_VALUE_INTERPRETATION_UNSPECIFIED AppendRowsRequest_MissingValueInterpretation = 0
    55  	// Missing value is interpreted as NULL.
    56  	AppendRowsRequest_NULL_VALUE AppendRowsRequest_MissingValueInterpretation = 1
    57  	// Missing value is interpreted as column default value if declared in the
    58  	// table schema, NULL otherwise.
    59  	AppendRowsRequest_DEFAULT_VALUE AppendRowsRequest_MissingValueInterpretation = 2
    60  )
    61  
    62  // Enum value maps for AppendRowsRequest_MissingValueInterpretation.
    63  var (
    64  	AppendRowsRequest_MissingValueInterpretation_name = map[int32]string{
    65  		0: "MISSING_VALUE_INTERPRETATION_UNSPECIFIED",
    66  		1: "NULL_VALUE",
    67  		2: "DEFAULT_VALUE",
    68  	}
    69  	AppendRowsRequest_MissingValueInterpretation_value = map[string]int32{
    70  		"MISSING_VALUE_INTERPRETATION_UNSPECIFIED": 0,
    71  		"NULL_VALUE":    1,
    72  		"DEFAULT_VALUE": 2,
    73  	}
    74  )
    75  
    76  func (x AppendRowsRequest_MissingValueInterpretation) Enum() *AppendRowsRequest_MissingValueInterpretation {
    77  	p := new(AppendRowsRequest_MissingValueInterpretation)
    78  	*p = x
    79  	return p
    80  }
    81  
    82  func (x AppendRowsRequest_MissingValueInterpretation) String() string {
    83  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    84  }
    85  
    86  func (AppendRowsRequest_MissingValueInterpretation) Descriptor() protoreflect.EnumDescriptor {
    87  	return file_google_cloud_bigquery_storage_v1_storage_proto_enumTypes[0].Descriptor()
    88  }
    89  
    90  func (AppendRowsRequest_MissingValueInterpretation) Type() protoreflect.EnumType {
    91  	return &file_google_cloud_bigquery_storage_v1_storage_proto_enumTypes[0]
    92  }
    93  
    94  func (x AppendRowsRequest_MissingValueInterpretation) Number() protoreflect.EnumNumber {
    95  	return protoreflect.EnumNumber(x)
    96  }
    97  
    98  // Deprecated: Use AppendRowsRequest_MissingValueInterpretation.Descriptor instead.
    99  func (AppendRowsRequest_MissingValueInterpretation) EnumDescriptor() ([]byte, []int) {
   100  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{8, 0}
   101  }
   102  
   103  // Error code for `StorageError`.
   104  type StorageError_StorageErrorCode int32
   105  
   106  const (
   107  	// Default error.
   108  	StorageError_STORAGE_ERROR_CODE_UNSPECIFIED StorageError_StorageErrorCode = 0
   109  	// Table is not found in the system.
   110  	StorageError_TABLE_NOT_FOUND StorageError_StorageErrorCode = 1
   111  	// Stream is already committed.
   112  	StorageError_STREAM_ALREADY_COMMITTED StorageError_StorageErrorCode = 2
   113  	// Stream is not found.
   114  	StorageError_STREAM_NOT_FOUND StorageError_StorageErrorCode = 3
   115  	// Invalid Stream type.
   116  	// For example, you try to commit a stream that is not pending.
   117  	StorageError_INVALID_STREAM_TYPE StorageError_StorageErrorCode = 4
   118  	// Invalid Stream state.
   119  	// For example, you try to commit a stream that is not finalized or is
   120  	// garbaged.
   121  	StorageError_INVALID_STREAM_STATE StorageError_StorageErrorCode = 5
   122  	// Stream is finalized.
   123  	StorageError_STREAM_FINALIZED StorageError_StorageErrorCode = 6
   124  	// There is a schema mismatch and it is caused by user schema has extra
   125  	// field than bigquery schema.
   126  	StorageError_SCHEMA_MISMATCH_EXTRA_FIELDS StorageError_StorageErrorCode = 7
   127  	// Offset already exists.
   128  	StorageError_OFFSET_ALREADY_EXISTS StorageError_StorageErrorCode = 8
   129  	// Offset out of range.
   130  	StorageError_OFFSET_OUT_OF_RANGE StorageError_StorageErrorCode = 9
   131  	// Customer-managed encryption key (CMEK) not provided for CMEK-enabled
   132  	// data.
   133  	StorageError_CMEK_NOT_PROVIDED StorageError_StorageErrorCode = 10
   134  	// Customer-managed encryption key (CMEK) was incorrectly provided.
   135  	StorageError_INVALID_CMEK_PROVIDED StorageError_StorageErrorCode = 11
   136  	// There is an encryption error while using customer-managed encryption key.
   137  	StorageError_CMEK_ENCRYPTION_ERROR StorageError_StorageErrorCode = 12
   138  	// Key Management Service (KMS) service returned an error, which can be
   139  	// retried.
   140  	StorageError_KMS_SERVICE_ERROR StorageError_StorageErrorCode = 13
   141  	// Permission denied while using customer-managed encryption key.
   142  	StorageError_KMS_PERMISSION_DENIED StorageError_StorageErrorCode = 14
   143  )
   144  
   145  // Enum value maps for StorageError_StorageErrorCode.
   146  var (
   147  	StorageError_StorageErrorCode_name = map[int32]string{
   148  		0:  "STORAGE_ERROR_CODE_UNSPECIFIED",
   149  		1:  "TABLE_NOT_FOUND",
   150  		2:  "STREAM_ALREADY_COMMITTED",
   151  		3:  "STREAM_NOT_FOUND",
   152  		4:  "INVALID_STREAM_TYPE",
   153  		5:  "INVALID_STREAM_STATE",
   154  		6:  "STREAM_FINALIZED",
   155  		7:  "SCHEMA_MISMATCH_EXTRA_FIELDS",
   156  		8:  "OFFSET_ALREADY_EXISTS",
   157  		9:  "OFFSET_OUT_OF_RANGE",
   158  		10: "CMEK_NOT_PROVIDED",
   159  		11: "INVALID_CMEK_PROVIDED",
   160  		12: "CMEK_ENCRYPTION_ERROR",
   161  		13: "KMS_SERVICE_ERROR",
   162  		14: "KMS_PERMISSION_DENIED",
   163  	}
   164  	StorageError_StorageErrorCode_value = map[string]int32{
   165  		"STORAGE_ERROR_CODE_UNSPECIFIED": 0,
   166  		"TABLE_NOT_FOUND":                1,
   167  		"STREAM_ALREADY_COMMITTED":       2,
   168  		"STREAM_NOT_FOUND":               3,
   169  		"INVALID_STREAM_TYPE":            4,
   170  		"INVALID_STREAM_STATE":           5,
   171  		"STREAM_FINALIZED":               6,
   172  		"SCHEMA_MISMATCH_EXTRA_FIELDS":   7,
   173  		"OFFSET_ALREADY_EXISTS":          8,
   174  		"OFFSET_OUT_OF_RANGE":            9,
   175  		"CMEK_NOT_PROVIDED":              10,
   176  		"INVALID_CMEK_PROVIDED":          11,
   177  		"CMEK_ENCRYPTION_ERROR":          12,
   178  		"KMS_SERVICE_ERROR":              13,
   179  		"KMS_PERMISSION_DENIED":          14,
   180  	}
   181  )
   182  
   183  func (x StorageError_StorageErrorCode) Enum() *StorageError_StorageErrorCode {
   184  	p := new(StorageError_StorageErrorCode)
   185  	*p = x
   186  	return p
   187  }
   188  
   189  func (x StorageError_StorageErrorCode) String() string {
   190  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   191  }
   192  
   193  func (StorageError_StorageErrorCode) Descriptor() protoreflect.EnumDescriptor {
   194  	return file_google_cloud_bigquery_storage_v1_storage_proto_enumTypes[1].Descriptor()
   195  }
   196  
   197  func (StorageError_StorageErrorCode) Type() protoreflect.EnumType {
   198  	return &file_google_cloud_bigquery_storage_v1_storage_proto_enumTypes[1]
   199  }
   200  
   201  func (x StorageError_StorageErrorCode) Number() protoreflect.EnumNumber {
   202  	return protoreflect.EnumNumber(x)
   203  }
   204  
   205  // Deprecated: Use StorageError_StorageErrorCode.Descriptor instead.
   206  func (StorageError_StorageErrorCode) EnumDescriptor() ([]byte, []int) {
   207  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{17, 0}
   208  }
   209  
   210  // Error code for `RowError`.
   211  type RowError_RowErrorCode int32
   212  
   213  const (
   214  	// Default error.
   215  	RowError_ROW_ERROR_CODE_UNSPECIFIED RowError_RowErrorCode = 0
   216  	// One or more fields in the row has errors.
   217  	RowError_FIELDS_ERROR RowError_RowErrorCode = 1
   218  )
   219  
   220  // Enum value maps for RowError_RowErrorCode.
   221  var (
   222  	RowError_RowErrorCode_name = map[int32]string{
   223  		0: "ROW_ERROR_CODE_UNSPECIFIED",
   224  		1: "FIELDS_ERROR",
   225  	}
   226  	RowError_RowErrorCode_value = map[string]int32{
   227  		"ROW_ERROR_CODE_UNSPECIFIED": 0,
   228  		"FIELDS_ERROR":               1,
   229  	}
   230  )
   231  
   232  func (x RowError_RowErrorCode) Enum() *RowError_RowErrorCode {
   233  	p := new(RowError_RowErrorCode)
   234  	*p = x
   235  	return p
   236  }
   237  
   238  func (x RowError_RowErrorCode) String() string {
   239  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   240  }
   241  
   242  func (RowError_RowErrorCode) Descriptor() protoreflect.EnumDescriptor {
   243  	return file_google_cloud_bigquery_storage_v1_storage_proto_enumTypes[2].Descriptor()
   244  }
   245  
   246  func (RowError_RowErrorCode) Type() protoreflect.EnumType {
   247  	return &file_google_cloud_bigquery_storage_v1_storage_proto_enumTypes[2]
   248  }
   249  
   250  func (x RowError_RowErrorCode) Number() protoreflect.EnumNumber {
   251  	return protoreflect.EnumNumber(x)
   252  }
   253  
   254  // Deprecated: Use RowError_RowErrorCode.Descriptor instead.
   255  func (RowError_RowErrorCode) EnumDescriptor() ([]byte, []int) {
   256  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{18, 0}
   257  }
   258  
   259  // Request message for `CreateReadSession`.
   260  type CreateReadSessionRequest struct {
   261  	state         protoimpl.MessageState
   262  	sizeCache     protoimpl.SizeCache
   263  	unknownFields protoimpl.UnknownFields
   264  
   265  	// Required. The request project that owns the session, in the form of
   266  	// `projects/{project_id}`.
   267  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   268  	// Required. Session to be created.
   269  	ReadSession *ReadSession `protobuf:"bytes,2,opt,name=read_session,json=readSession,proto3" json:"read_session,omitempty"`
   270  	// Max initial number of streams. If unset or zero, the server will
   271  	// provide a value of streams so as to produce reasonable throughput. Must be
   272  	// non-negative. The number of streams may be lower than the requested number,
   273  	// depending on the amount parallelism that is reasonable for the table.
   274  	// There is a default system max limit of 1,000.
   275  	//
   276  	// This must be greater than or equal to preferred_min_stream_count.
   277  	// Typically, clients should either leave this unset to let the system to
   278  	// determine an upper bound OR set this a size for the maximum "units of work"
   279  	// it can gracefully handle.
   280  	MaxStreamCount int32 `protobuf:"varint,3,opt,name=max_stream_count,json=maxStreamCount,proto3" json:"max_stream_count,omitempty"`
   281  	// The minimum preferred stream count. This parameter can be used to inform
   282  	// the service that there is a desired lower bound on the number of streams.
   283  	// This is typically a target parallelism of the client (e.g. a Spark
   284  	// cluster with N-workers would set this to a low multiple of N to ensure
   285  	// good cluster utilization).
   286  	//
   287  	// The system will make a best effort to provide at least this number of
   288  	// streams, but in some cases might provide less.
   289  	PreferredMinStreamCount int32 `protobuf:"varint,4,opt,name=preferred_min_stream_count,json=preferredMinStreamCount,proto3" json:"preferred_min_stream_count,omitempty"`
   290  }
   291  
   292  func (x *CreateReadSessionRequest) Reset() {
   293  	*x = CreateReadSessionRequest{}
   294  	if protoimpl.UnsafeEnabled {
   295  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[0]
   296  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   297  		ms.StoreMessageInfo(mi)
   298  	}
   299  }
   300  
   301  func (x *CreateReadSessionRequest) String() string {
   302  	return protoimpl.X.MessageStringOf(x)
   303  }
   304  
   305  func (*CreateReadSessionRequest) ProtoMessage() {}
   306  
   307  func (x *CreateReadSessionRequest) ProtoReflect() protoreflect.Message {
   308  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[0]
   309  	if protoimpl.UnsafeEnabled && x != nil {
   310  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   311  		if ms.LoadMessageInfo() == nil {
   312  			ms.StoreMessageInfo(mi)
   313  		}
   314  		return ms
   315  	}
   316  	return mi.MessageOf(x)
   317  }
   318  
   319  // Deprecated: Use CreateReadSessionRequest.ProtoReflect.Descriptor instead.
   320  func (*CreateReadSessionRequest) Descriptor() ([]byte, []int) {
   321  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{0}
   322  }
   323  
   324  func (x *CreateReadSessionRequest) GetParent() string {
   325  	if x != nil {
   326  		return x.Parent
   327  	}
   328  	return ""
   329  }
   330  
   331  func (x *CreateReadSessionRequest) GetReadSession() *ReadSession {
   332  	if x != nil {
   333  		return x.ReadSession
   334  	}
   335  	return nil
   336  }
   337  
   338  func (x *CreateReadSessionRequest) GetMaxStreamCount() int32 {
   339  	if x != nil {
   340  		return x.MaxStreamCount
   341  	}
   342  	return 0
   343  }
   344  
   345  func (x *CreateReadSessionRequest) GetPreferredMinStreamCount() int32 {
   346  	if x != nil {
   347  		return x.PreferredMinStreamCount
   348  	}
   349  	return 0
   350  }
   351  
   352  // Request message for `ReadRows`.
   353  type ReadRowsRequest struct {
   354  	state         protoimpl.MessageState
   355  	sizeCache     protoimpl.SizeCache
   356  	unknownFields protoimpl.UnknownFields
   357  
   358  	// Required. Stream to read rows from.
   359  	ReadStream string `protobuf:"bytes,1,opt,name=read_stream,json=readStream,proto3" json:"read_stream,omitempty"`
   360  	// The offset requested must be less than the last row read from Read.
   361  	// Requesting a larger offset is undefined. If not specified, start reading
   362  	// from offset zero.
   363  	Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
   364  }
   365  
   366  func (x *ReadRowsRequest) Reset() {
   367  	*x = ReadRowsRequest{}
   368  	if protoimpl.UnsafeEnabled {
   369  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[1]
   370  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   371  		ms.StoreMessageInfo(mi)
   372  	}
   373  }
   374  
   375  func (x *ReadRowsRequest) String() string {
   376  	return protoimpl.X.MessageStringOf(x)
   377  }
   378  
   379  func (*ReadRowsRequest) ProtoMessage() {}
   380  
   381  func (x *ReadRowsRequest) ProtoReflect() protoreflect.Message {
   382  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[1]
   383  	if protoimpl.UnsafeEnabled && x != nil {
   384  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   385  		if ms.LoadMessageInfo() == nil {
   386  			ms.StoreMessageInfo(mi)
   387  		}
   388  		return ms
   389  	}
   390  	return mi.MessageOf(x)
   391  }
   392  
   393  // Deprecated: Use ReadRowsRequest.ProtoReflect.Descriptor instead.
   394  func (*ReadRowsRequest) Descriptor() ([]byte, []int) {
   395  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{1}
   396  }
   397  
   398  func (x *ReadRowsRequest) GetReadStream() string {
   399  	if x != nil {
   400  		return x.ReadStream
   401  	}
   402  	return ""
   403  }
   404  
   405  func (x *ReadRowsRequest) GetOffset() int64 {
   406  	if x != nil {
   407  		return x.Offset
   408  	}
   409  	return 0
   410  }
   411  
   412  // Information on if the current connection is being throttled.
   413  type ThrottleState struct {
   414  	state         protoimpl.MessageState
   415  	sizeCache     protoimpl.SizeCache
   416  	unknownFields protoimpl.UnknownFields
   417  
   418  	// How much this connection is being throttled. Zero means no throttling,
   419  	// 100 means fully throttled.
   420  	ThrottlePercent int32 `protobuf:"varint,1,opt,name=throttle_percent,json=throttlePercent,proto3" json:"throttle_percent,omitempty"`
   421  }
   422  
   423  func (x *ThrottleState) Reset() {
   424  	*x = ThrottleState{}
   425  	if protoimpl.UnsafeEnabled {
   426  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[2]
   427  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   428  		ms.StoreMessageInfo(mi)
   429  	}
   430  }
   431  
   432  func (x *ThrottleState) String() string {
   433  	return protoimpl.X.MessageStringOf(x)
   434  }
   435  
   436  func (*ThrottleState) ProtoMessage() {}
   437  
   438  func (x *ThrottleState) ProtoReflect() protoreflect.Message {
   439  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[2]
   440  	if protoimpl.UnsafeEnabled && x != nil {
   441  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   442  		if ms.LoadMessageInfo() == nil {
   443  			ms.StoreMessageInfo(mi)
   444  		}
   445  		return ms
   446  	}
   447  	return mi.MessageOf(x)
   448  }
   449  
   450  // Deprecated: Use ThrottleState.ProtoReflect.Descriptor instead.
   451  func (*ThrottleState) Descriptor() ([]byte, []int) {
   452  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{2}
   453  }
   454  
   455  func (x *ThrottleState) GetThrottlePercent() int32 {
   456  	if x != nil {
   457  		return x.ThrottlePercent
   458  	}
   459  	return 0
   460  }
   461  
   462  // Estimated stream statistics for a given read Stream.
   463  type StreamStats struct {
   464  	state         protoimpl.MessageState
   465  	sizeCache     protoimpl.SizeCache
   466  	unknownFields protoimpl.UnknownFields
   467  
   468  	// Represents the progress of the current stream.
   469  	Progress *StreamStats_Progress `protobuf:"bytes,2,opt,name=progress,proto3" json:"progress,omitempty"`
   470  }
   471  
   472  func (x *StreamStats) Reset() {
   473  	*x = StreamStats{}
   474  	if protoimpl.UnsafeEnabled {
   475  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[3]
   476  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   477  		ms.StoreMessageInfo(mi)
   478  	}
   479  }
   480  
   481  func (x *StreamStats) String() string {
   482  	return protoimpl.X.MessageStringOf(x)
   483  }
   484  
   485  func (*StreamStats) ProtoMessage() {}
   486  
   487  func (x *StreamStats) ProtoReflect() protoreflect.Message {
   488  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[3]
   489  	if protoimpl.UnsafeEnabled && x != nil {
   490  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   491  		if ms.LoadMessageInfo() == nil {
   492  			ms.StoreMessageInfo(mi)
   493  		}
   494  		return ms
   495  	}
   496  	return mi.MessageOf(x)
   497  }
   498  
   499  // Deprecated: Use StreamStats.ProtoReflect.Descriptor instead.
   500  func (*StreamStats) Descriptor() ([]byte, []int) {
   501  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{3}
   502  }
   503  
   504  func (x *StreamStats) GetProgress() *StreamStats_Progress {
   505  	if x != nil {
   506  		return x.Progress
   507  	}
   508  	return nil
   509  }
   510  
   511  // Response from calling `ReadRows` may include row data, progress and
   512  // throttling information.
   513  type ReadRowsResponse struct {
   514  	state         protoimpl.MessageState
   515  	sizeCache     protoimpl.SizeCache
   516  	unknownFields protoimpl.UnknownFields
   517  
   518  	// Row data is returned in format specified during session creation.
   519  	//
   520  	// Types that are assignable to Rows:
   521  	//
   522  	//	*ReadRowsResponse_AvroRows
   523  	//	*ReadRowsResponse_ArrowRecordBatch
   524  	Rows isReadRowsResponse_Rows `protobuf_oneof:"rows"`
   525  	// Number of serialized rows in the rows block.
   526  	RowCount int64 `protobuf:"varint,6,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"`
   527  	// Statistics for the stream.
   528  	Stats *StreamStats `protobuf:"bytes,2,opt,name=stats,proto3" json:"stats,omitempty"`
   529  	// Throttling state. If unset, the latest response still describes
   530  	// the current throttling status.
   531  	ThrottleState *ThrottleState `protobuf:"bytes,5,opt,name=throttle_state,json=throttleState,proto3" json:"throttle_state,omitempty"`
   532  	// The schema for the read. If read_options.selected_fields is set, the
   533  	// schema may be different from the table schema as it will only contain
   534  	// the selected fields. This schema is equivalent to the one returned by
   535  	// CreateSession. This field is only populated in the first ReadRowsResponse
   536  	// RPC.
   537  	//
   538  	// Types that are assignable to Schema:
   539  	//
   540  	//	*ReadRowsResponse_AvroSchema
   541  	//	*ReadRowsResponse_ArrowSchema
   542  	Schema isReadRowsResponse_Schema `protobuf_oneof:"schema"`
   543  	// Optional. If the row data in this ReadRowsResponse is compressed, then
   544  	// uncompressed byte size is the original size of the uncompressed row data.
   545  	// If it is set to a value greater than 0, then decompress into a buffer of
   546  	// size uncompressed_byte_size using the compression codec that was requested
   547  	// during session creation time and which is specified in
   548  	// TableReadOptions.response_compression_codec in ReadSession.
   549  	// This value is not set if no response_compression_codec was not requested
   550  	// and it is -1 if the requested compression would not have reduced the size
   551  	// of this ReadRowsResponse's row data. This attempts to match Apache Arrow's
   552  	// behavior described here https://github.com/apache/arrow/issues/15102 where
   553  	// the uncompressed length may be set to -1 to indicate that the data that
   554  	// follows is not compressed, which can be useful for cases where compression
   555  	// does not yield appreciable savings. When uncompressed_byte_size is not
   556  	// greater than 0, the client should skip decompression.
   557  	UncompressedByteSize *int64 `protobuf:"varint,9,opt,name=uncompressed_byte_size,json=uncompressedByteSize,proto3,oneof" json:"uncompressed_byte_size,omitempty"`
   558  }
   559  
   560  func (x *ReadRowsResponse) Reset() {
   561  	*x = ReadRowsResponse{}
   562  	if protoimpl.UnsafeEnabled {
   563  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[4]
   564  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   565  		ms.StoreMessageInfo(mi)
   566  	}
   567  }
   568  
   569  func (x *ReadRowsResponse) String() string {
   570  	return protoimpl.X.MessageStringOf(x)
   571  }
   572  
   573  func (*ReadRowsResponse) ProtoMessage() {}
   574  
   575  func (x *ReadRowsResponse) ProtoReflect() protoreflect.Message {
   576  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[4]
   577  	if protoimpl.UnsafeEnabled && x != nil {
   578  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   579  		if ms.LoadMessageInfo() == nil {
   580  			ms.StoreMessageInfo(mi)
   581  		}
   582  		return ms
   583  	}
   584  	return mi.MessageOf(x)
   585  }
   586  
   587  // Deprecated: Use ReadRowsResponse.ProtoReflect.Descriptor instead.
   588  func (*ReadRowsResponse) Descriptor() ([]byte, []int) {
   589  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{4}
   590  }
   591  
   592  func (m *ReadRowsResponse) GetRows() isReadRowsResponse_Rows {
   593  	if m != nil {
   594  		return m.Rows
   595  	}
   596  	return nil
   597  }
   598  
   599  func (x *ReadRowsResponse) GetAvroRows() *AvroRows {
   600  	if x, ok := x.GetRows().(*ReadRowsResponse_AvroRows); ok {
   601  		return x.AvroRows
   602  	}
   603  	return nil
   604  }
   605  
   606  func (x *ReadRowsResponse) GetArrowRecordBatch() *ArrowRecordBatch {
   607  	if x, ok := x.GetRows().(*ReadRowsResponse_ArrowRecordBatch); ok {
   608  		return x.ArrowRecordBatch
   609  	}
   610  	return nil
   611  }
   612  
   613  func (x *ReadRowsResponse) GetRowCount() int64 {
   614  	if x != nil {
   615  		return x.RowCount
   616  	}
   617  	return 0
   618  }
   619  
   620  func (x *ReadRowsResponse) GetStats() *StreamStats {
   621  	if x != nil {
   622  		return x.Stats
   623  	}
   624  	return nil
   625  }
   626  
   627  func (x *ReadRowsResponse) GetThrottleState() *ThrottleState {
   628  	if x != nil {
   629  		return x.ThrottleState
   630  	}
   631  	return nil
   632  }
   633  
   634  func (m *ReadRowsResponse) GetSchema() isReadRowsResponse_Schema {
   635  	if m != nil {
   636  		return m.Schema
   637  	}
   638  	return nil
   639  }
   640  
   641  func (x *ReadRowsResponse) GetAvroSchema() *AvroSchema {
   642  	if x, ok := x.GetSchema().(*ReadRowsResponse_AvroSchema); ok {
   643  		return x.AvroSchema
   644  	}
   645  	return nil
   646  }
   647  
   648  func (x *ReadRowsResponse) GetArrowSchema() *ArrowSchema {
   649  	if x, ok := x.GetSchema().(*ReadRowsResponse_ArrowSchema); ok {
   650  		return x.ArrowSchema
   651  	}
   652  	return nil
   653  }
   654  
   655  func (x *ReadRowsResponse) GetUncompressedByteSize() int64 {
   656  	if x != nil && x.UncompressedByteSize != nil {
   657  		return *x.UncompressedByteSize
   658  	}
   659  	return 0
   660  }
   661  
   662  type isReadRowsResponse_Rows interface {
   663  	isReadRowsResponse_Rows()
   664  }
   665  
   666  type ReadRowsResponse_AvroRows struct {
   667  	// Serialized row data in AVRO format.
   668  	AvroRows *AvroRows `protobuf:"bytes,3,opt,name=avro_rows,json=avroRows,proto3,oneof"`
   669  }
   670  
   671  type ReadRowsResponse_ArrowRecordBatch struct {
   672  	// Serialized row data in Arrow RecordBatch format.
   673  	ArrowRecordBatch *ArrowRecordBatch `protobuf:"bytes,4,opt,name=arrow_record_batch,json=arrowRecordBatch,proto3,oneof"`
   674  }
   675  
   676  func (*ReadRowsResponse_AvroRows) isReadRowsResponse_Rows() {}
   677  
   678  func (*ReadRowsResponse_ArrowRecordBatch) isReadRowsResponse_Rows() {}
   679  
   680  type isReadRowsResponse_Schema interface {
   681  	isReadRowsResponse_Schema()
   682  }
   683  
   684  type ReadRowsResponse_AvroSchema struct {
   685  	// Output only. Avro schema.
   686  	AvroSchema *AvroSchema `protobuf:"bytes,7,opt,name=avro_schema,json=avroSchema,proto3,oneof"`
   687  }
   688  
   689  type ReadRowsResponse_ArrowSchema struct {
   690  	// Output only. Arrow schema.
   691  	ArrowSchema *ArrowSchema `protobuf:"bytes,8,opt,name=arrow_schema,json=arrowSchema,proto3,oneof"`
   692  }
   693  
   694  func (*ReadRowsResponse_AvroSchema) isReadRowsResponse_Schema() {}
   695  
   696  func (*ReadRowsResponse_ArrowSchema) isReadRowsResponse_Schema() {}
   697  
   698  // Request message for `SplitReadStream`.
   699  type SplitReadStreamRequest struct {
   700  	state         protoimpl.MessageState
   701  	sizeCache     protoimpl.SizeCache
   702  	unknownFields protoimpl.UnknownFields
   703  
   704  	// Required. Name of the stream to split.
   705  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   706  	// A value in the range (0.0, 1.0) that specifies the fractional point at
   707  	// which the original stream should be split. The actual split point is
   708  	// evaluated on pre-filtered rows, so if a filter is provided, then there is
   709  	// no guarantee that the division of the rows between the new child streams
   710  	// will be proportional to this fractional value. Additionally, because the
   711  	// server-side unit for assigning data is collections of rows, this fraction
   712  	// will always map to a data storage boundary on the server side.
   713  	Fraction float64 `protobuf:"fixed64,2,opt,name=fraction,proto3" json:"fraction,omitempty"`
   714  }
   715  
   716  func (x *SplitReadStreamRequest) Reset() {
   717  	*x = SplitReadStreamRequest{}
   718  	if protoimpl.UnsafeEnabled {
   719  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[5]
   720  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   721  		ms.StoreMessageInfo(mi)
   722  	}
   723  }
   724  
   725  func (x *SplitReadStreamRequest) String() string {
   726  	return protoimpl.X.MessageStringOf(x)
   727  }
   728  
   729  func (*SplitReadStreamRequest) ProtoMessage() {}
   730  
   731  func (x *SplitReadStreamRequest) ProtoReflect() protoreflect.Message {
   732  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[5]
   733  	if protoimpl.UnsafeEnabled && x != nil {
   734  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   735  		if ms.LoadMessageInfo() == nil {
   736  			ms.StoreMessageInfo(mi)
   737  		}
   738  		return ms
   739  	}
   740  	return mi.MessageOf(x)
   741  }
   742  
   743  // Deprecated: Use SplitReadStreamRequest.ProtoReflect.Descriptor instead.
   744  func (*SplitReadStreamRequest) Descriptor() ([]byte, []int) {
   745  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{5}
   746  }
   747  
   748  func (x *SplitReadStreamRequest) GetName() string {
   749  	if x != nil {
   750  		return x.Name
   751  	}
   752  	return ""
   753  }
   754  
   755  func (x *SplitReadStreamRequest) GetFraction() float64 {
   756  	if x != nil {
   757  		return x.Fraction
   758  	}
   759  	return 0
   760  }
   761  
   762  // Response message for `SplitReadStream`.
   763  type SplitReadStreamResponse struct {
   764  	state         protoimpl.MessageState
   765  	sizeCache     protoimpl.SizeCache
   766  	unknownFields protoimpl.UnknownFields
   767  
   768  	// Primary stream, which contains the beginning portion of
   769  	// |original_stream|. An empty value indicates that the original stream can no
   770  	// longer be split.
   771  	PrimaryStream *ReadStream `protobuf:"bytes,1,opt,name=primary_stream,json=primaryStream,proto3" json:"primary_stream,omitempty"`
   772  	// Remainder stream, which contains the tail of |original_stream|. An empty
   773  	// value indicates that the original stream can no longer be split.
   774  	RemainderStream *ReadStream `protobuf:"bytes,2,opt,name=remainder_stream,json=remainderStream,proto3" json:"remainder_stream,omitempty"`
   775  }
   776  
   777  func (x *SplitReadStreamResponse) Reset() {
   778  	*x = SplitReadStreamResponse{}
   779  	if protoimpl.UnsafeEnabled {
   780  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[6]
   781  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   782  		ms.StoreMessageInfo(mi)
   783  	}
   784  }
   785  
   786  func (x *SplitReadStreamResponse) String() string {
   787  	return protoimpl.X.MessageStringOf(x)
   788  }
   789  
   790  func (*SplitReadStreamResponse) ProtoMessage() {}
   791  
   792  func (x *SplitReadStreamResponse) ProtoReflect() protoreflect.Message {
   793  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[6]
   794  	if protoimpl.UnsafeEnabled && x != nil {
   795  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   796  		if ms.LoadMessageInfo() == nil {
   797  			ms.StoreMessageInfo(mi)
   798  		}
   799  		return ms
   800  	}
   801  	return mi.MessageOf(x)
   802  }
   803  
   804  // Deprecated: Use SplitReadStreamResponse.ProtoReflect.Descriptor instead.
   805  func (*SplitReadStreamResponse) Descriptor() ([]byte, []int) {
   806  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{6}
   807  }
   808  
   809  func (x *SplitReadStreamResponse) GetPrimaryStream() *ReadStream {
   810  	if x != nil {
   811  		return x.PrimaryStream
   812  	}
   813  	return nil
   814  }
   815  
   816  func (x *SplitReadStreamResponse) GetRemainderStream() *ReadStream {
   817  	if x != nil {
   818  		return x.RemainderStream
   819  	}
   820  	return nil
   821  }
   822  
   823  // Request message for `CreateWriteStream`.
   824  type CreateWriteStreamRequest struct {
   825  	state         protoimpl.MessageState
   826  	sizeCache     protoimpl.SizeCache
   827  	unknownFields protoimpl.UnknownFields
   828  
   829  	// Required. Reference to the table to which the stream belongs, in the format
   830  	// of `projects/{project}/datasets/{dataset}/tables/{table}`.
   831  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   832  	// Required. Stream to be created.
   833  	WriteStream *WriteStream `protobuf:"bytes,2,opt,name=write_stream,json=writeStream,proto3" json:"write_stream,omitempty"`
   834  }
   835  
   836  func (x *CreateWriteStreamRequest) Reset() {
   837  	*x = CreateWriteStreamRequest{}
   838  	if protoimpl.UnsafeEnabled {
   839  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[7]
   840  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   841  		ms.StoreMessageInfo(mi)
   842  	}
   843  }
   844  
   845  func (x *CreateWriteStreamRequest) String() string {
   846  	return protoimpl.X.MessageStringOf(x)
   847  }
   848  
   849  func (*CreateWriteStreamRequest) ProtoMessage() {}
   850  
   851  func (x *CreateWriteStreamRequest) ProtoReflect() protoreflect.Message {
   852  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[7]
   853  	if protoimpl.UnsafeEnabled && x != nil {
   854  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   855  		if ms.LoadMessageInfo() == nil {
   856  			ms.StoreMessageInfo(mi)
   857  		}
   858  		return ms
   859  	}
   860  	return mi.MessageOf(x)
   861  }
   862  
   863  // Deprecated: Use CreateWriteStreamRequest.ProtoReflect.Descriptor instead.
   864  func (*CreateWriteStreamRequest) Descriptor() ([]byte, []int) {
   865  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{7}
   866  }
   867  
   868  func (x *CreateWriteStreamRequest) GetParent() string {
   869  	if x != nil {
   870  		return x.Parent
   871  	}
   872  	return ""
   873  }
   874  
   875  func (x *CreateWriteStreamRequest) GetWriteStream() *WriteStream {
   876  	if x != nil {
   877  		return x.WriteStream
   878  	}
   879  	return nil
   880  }
   881  
   882  // Request message for `AppendRows`.
   883  //
   884  // Because AppendRows is a bidirectional streaming RPC, certain parts of the
   885  // AppendRowsRequest need only be specified for the first request before
   886  // switching table destinations. You can also switch table destinations within
   887  // the same connection for the default stream.
   888  //
   889  // The size of a single AppendRowsRequest must be less than 10 MB in size.
   890  // Requests larger than this return an error, typically `INVALID_ARGUMENT`.
   891  type AppendRowsRequest struct {
   892  	state         protoimpl.MessageState
   893  	sizeCache     protoimpl.SizeCache
   894  	unknownFields protoimpl.UnknownFields
   895  
   896  	// Required. The write_stream identifies the append operation. It must be
   897  	// provided in the following scenarios:
   898  	//
   899  	// * In the first request to an AppendRows connection.
   900  	//
   901  	// * In all subsequent requests to an AppendRows connection, if you use the
   902  	// same connection to write to multiple tables or change the input schema for
   903  	// default streams.
   904  	//
   905  	// For explicitly created write streams, the format is:
   906  	//
   907  	// * `projects/{project}/datasets/{dataset}/tables/{table}/streams/{id}`
   908  	//
   909  	// For the special default stream, the format is:
   910  	//
   911  	// * `projects/{project}/datasets/{dataset}/tables/{table}/streams/_default`.
   912  	//
   913  	// An example of a possible sequence of requests with write_stream fields
   914  	// within a single connection:
   915  	//
   916  	// * r1: {write_stream: stream_name_1}
   917  	//
   918  	// * r2: {write_stream: /*omit*/}
   919  	//
   920  	// * r3: {write_stream: /*omit*/}
   921  	//
   922  	// * r4: {write_stream: stream_name_2}
   923  	//
   924  	// * r5: {write_stream: stream_name_2}
   925  	//
   926  	// The destination changed in request_4, so the write_stream field must be
   927  	// populated in all subsequent requests in this stream.
   928  	WriteStream string `protobuf:"bytes,1,opt,name=write_stream,json=writeStream,proto3" json:"write_stream,omitempty"`
   929  	// If present, the write is only performed if the next append offset is same
   930  	// as the provided value. If not present, the write is performed at the
   931  	// current end of stream. Specifying a value for this field is not allowed
   932  	// when calling AppendRows for the '_default' stream.
   933  	Offset *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=offset,proto3" json:"offset,omitempty"`
   934  	// Input rows. The `writer_schema` field must be specified at the initial
   935  	// request and currently, it will be ignored if specified in following
   936  	// requests. Following requests must have data in the same format as the
   937  	// initial request.
   938  	//
   939  	// Types that are assignable to Rows:
   940  	//
   941  	//	*AppendRowsRequest_ProtoRows
   942  	Rows isAppendRowsRequest_Rows `protobuf_oneof:"rows"`
   943  	// Id set by client to annotate its identity. Only initial request setting is
   944  	// respected.
   945  	TraceId string `protobuf:"bytes,6,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"`
   946  	// A map to indicate how to interpret missing value for some fields. Missing
   947  	// values are fields present in user schema but missing in rows. The key is
   948  	// the field name. The value is the interpretation of missing values for the
   949  	// field.
   950  	//
   951  	// For example, a map {'foo': NULL_VALUE, 'bar': DEFAULT_VALUE} means all
   952  	// missing values in field foo are interpreted as NULL, all missing values in
   953  	// field bar are interpreted as the default value of field bar in table
   954  	// schema.
   955  	//
   956  	// If a field is not in this map and has missing values, the missing values
   957  	// in this field are interpreted as NULL.
   958  	//
   959  	// This field only applies to the current request, it won't affect other
   960  	// requests on the connection.
   961  	//
   962  	// Currently, field name can only be top-level column name, can't be a struct
   963  	// field path like 'foo.bar'.
   964  	MissingValueInterpretations map[string]AppendRowsRequest_MissingValueInterpretation `protobuf:"bytes,7,rep,name=missing_value_interpretations,json=missingValueInterpretations,proto3" json:"missing_value_interpretations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=google.cloud.bigquery.storage.v1.AppendRowsRequest_MissingValueInterpretation"`
   965  	// Optional. Default missing value interpretation for all columns in the
   966  	// table. When a value is specified on an `AppendRowsRequest`, it is applied
   967  	// to all requests on the connection from that point forward, until a
   968  	// subsequent `AppendRowsRequest` sets it to a different value.
   969  	// `missing_value_interpretation` can override
   970  	// `default_missing_value_interpretation`. For example, if you want to write
   971  	// `NULL` instead of using default values for some columns, you can set
   972  	// `default_missing_value_interpretation` to `DEFAULT_VALUE` and at the same
   973  	// time, set `missing_value_interpretations` to `NULL_VALUE` on those columns.
   974  	DefaultMissingValueInterpretation AppendRowsRequest_MissingValueInterpretation `protobuf:"varint,8,opt,name=default_missing_value_interpretation,json=defaultMissingValueInterpretation,proto3,enum=google.cloud.bigquery.storage.v1.AppendRowsRequest_MissingValueInterpretation" json:"default_missing_value_interpretation,omitempty"`
   975  }
   976  
   977  func (x *AppendRowsRequest) Reset() {
   978  	*x = AppendRowsRequest{}
   979  	if protoimpl.UnsafeEnabled {
   980  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[8]
   981  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   982  		ms.StoreMessageInfo(mi)
   983  	}
   984  }
   985  
   986  func (x *AppendRowsRequest) String() string {
   987  	return protoimpl.X.MessageStringOf(x)
   988  }
   989  
   990  func (*AppendRowsRequest) ProtoMessage() {}
   991  
   992  func (x *AppendRowsRequest) ProtoReflect() protoreflect.Message {
   993  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[8]
   994  	if protoimpl.UnsafeEnabled && x != nil {
   995  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   996  		if ms.LoadMessageInfo() == nil {
   997  			ms.StoreMessageInfo(mi)
   998  		}
   999  		return ms
  1000  	}
  1001  	return mi.MessageOf(x)
  1002  }
  1003  
  1004  // Deprecated: Use AppendRowsRequest.ProtoReflect.Descriptor instead.
  1005  func (*AppendRowsRequest) Descriptor() ([]byte, []int) {
  1006  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{8}
  1007  }
  1008  
  1009  func (x *AppendRowsRequest) GetWriteStream() string {
  1010  	if x != nil {
  1011  		return x.WriteStream
  1012  	}
  1013  	return ""
  1014  }
  1015  
  1016  func (x *AppendRowsRequest) GetOffset() *wrapperspb.Int64Value {
  1017  	if x != nil {
  1018  		return x.Offset
  1019  	}
  1020  	return nil
  1021  }
  1022  
  1023  func (m *AppendRowsRequest) GetRows() isAppendRowsRequest_Rows {
  1024  	if m != nil {
  1025  		return m.Rows
  1026  	}
  1027  	return nil
  1028  }
  1029  
  1030  func (x *AppendRowsRequest) GetProtoRows() *AppendRowsRequest_ProtoData {
  1031  	if x, ok := x.GetRows().(*AppendRowsRequest_ProtoRows); ok {
  1032  		return x.ProtoRows
  1033  	}
  1034  	return nil
  1035  }
  1036  
  1037  func (x *AppendRowsRequest) GetTraceId() string {
  1038  	if x != nil {
  1039  		return x.TraceId
  1040  	}
  1041  	return ""
  1042  }
  1043  
  1044  func (x *AppendRowsRequest) GetMissingValueInterpretations() map[string]AppendRowsRequest_MissingValueInterpretation {
  1045  	if x != nil {
  1046  		return x.MissingValueInterpretations
  1047  	}
  1048  	return nil
  1049  }
  1050  
  1051  func (x *AppendRowsRequest) GetDefaultMissingValueInterpretation() AppendRowsRequest_MissingValueInterpretation {
  1052  	if x != nil {
  1053  		return x.DefaultMissingValueInterpretation
  1054  	}
  1055  	return AppendRowsRequest_MISSING_VALUE_INTERPRETATION_UNSPECIFIED
  1056  }
  1057  
  1058  type isAppendRowsRequest_Rows interface {
  1059  	isAppendRowsRequest_Rows()
  1060  }
  1061  
  1062  type AppendRowsRequest_ProtoRows struct {
  1063  	// Rows in proto format.
  1064  	ProtoRows *AppendRowsRequest_ProtoData `protobuf:"bytes,4,opt,name=proto_rows,json=protoRows,proto3,oneof"`
  1065  }
  1066  
  1067  func (*AppendRowsRequest_ProtoRows) isAppendRowsRequest_Rows() {}
  1068  
  1069  // Response message for `AppendRows`.
  1070  type AppendRowsResponse struct {
  1071  	state         protoimpl.MessageState
  1072  	sizeCache     protoimpl.SizeCache
  1073  	unknownFields protoimpl.UnknownFields
  1074  
  1075  	// Types that are assignable to Response:
  1076  	//
  1077  	//	*AppendRowsResponse_AppendResult_
  1078  	//	*AppendRowsResponse_Error
  1079  	Response isAppendRowsResponse_Response `protobuf_oneof:"response"`
  1080  	// If backend detects a schema update, pass it to user so that user can
  1081  	// use it to input new type of message. It will be empty when no schema
  1082  	// updates have occurred.
  1083  	UpdatedSchema *TableSchema `protobuf:"bytes,3,opt,name=updated_schema,json=updatedSchema,proto3" json:"updated_schema,omitempty"`
  1084  	// If a request failed due to corrupted rows, no rows in the batch will be
  1085  	// appended. The API will return row level error info, so that the caller can
  1086  	// remove the bad rows and retry the request.
  1087  	RowErrors []*RowError `protobuf:"bytes,4,rep,name=row_errors,json=rowErrors,proto3" json:"row_errors,omitempty"`
  1088  	// The target of the append operation. Matches the write_stream in the
  1089  	// corresponding request.
  1090  	WriteStream string `protobuf:"bytes,5,opt,name=write_stream,json=writeStream,proto3" json:"write_stream,omitempty"`
  1091  }
  1092  
  1093  func (x *AppendRowsResponse) Reset() {
  1094  	*x = AppendRowsResponse{}
  1095  	if protoimpl.UnsafeEnabled {
  1096  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[9]
  1097  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1098  		ms.StoreMessageInfo(mi)
  1099  	}
  1100  }
  1101  
  1102  func (x *AppendRowsResponse) String() string {
  1103  	return protoimpl.X.MessageStringOf(x)
  1104  }
  1105  
  1106  func (*AppendRowsResponse) ProtoMessage() {}
  1107  
  1108  func (x *AppendRowsResponse) ProtoReflect() protoreflect.Message {
  1109  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[9]
  1110  	if protoimpl.UnsafeEnabled && x != nil {
  1111  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1112  		if ms.LoadMessageInfo() == nil {
  1113  			ms.StoreMessageInfo(mi)
  1114  		}
  1115  		return ms
  1116  	}
  1117  	return mi.MessageOf(x)
  1118  }
  1119  
  1120  // Deprecated: Use AppendRowsResponse.ProtoReflect.Descriptor instead.
  1121  func (*AppendRowsResponse) Descriptor() ([]byte, []int) {
  1122  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{9}
  1123  }
  1124  
  1125  func (m *AppendRowsResponse) GetResponse() isAppendRowsResponse_Response {
  1126  	if m != nil {
  1127  		return m.Response
  1128  	}
  1129  	return nil
  1130  }
  1131  
  1132  func (x *AppendRowsResponse) GetAppendResult() *AppendRowsResponse_AppendResult {
  1133  	if x, ok := x.GetResponse().(*AppendRowsResponse_AppendResult_); ok {
  1134  		return x.AppendResult
  1135  	}
  1136  	return nil
  1137  }
  1138  
  1139  func (x *AppendRowsResponse) GetError() *status.Status {
  1140  	if x, ok := x.GetResponse().(*AppendRowsResponse_Error); ok {
  1141  		return x.Error
  1142  	}
  1143  	return nil
  1144  }
  1145  
  1146  func (x *AppendRowsResponse) GetUpdatedSchema() *TableSchema {
  1147  	if x != nil {
  1148  		return x.UpdatedSchema
  1149  	}
  1150  	return nil
  1151  }
  1152  
  1153  func (x *AppendRowsResponse) GetRowErrors() []*RowError {
  1154  	if x != nil {
  1155  		return x.RowErrors
  1156  	}
  1157  	return nil
  1158  }
  1159  
  1160  func (x *AppendRowsResponse) GetWriteStream() string {
  1161  	if x != nil {
  1162  		return x.WriteStream
  1163  	}
  1164  	return ""
  1165  }
  1166  
  1167  type isAppendRowsResponse_Response interface {
  1168  	isAppendRowsResponse_Response()
  1169  }
  1170  
  1171  type AppendRowsResponse_AppendResult_ struct {
  1172  	// Result if the append is successful.
  1173  	AppendResult *AppendRowsResponse_AppendResult `protobuf:"bytes,1,opt,name=append_result,json=appendResult,proto3,oneof"`
  1174  }
  1175  
  1176  type AppendRowsResponse_Error struct {
  1177  	// Error returned when problems were encountered.  If present,
  1178  	// it indicates rows were not accepted into the system.
  1179  	// Users can retry or continue with other append requests within the
  1180  	// same connection.
  1181  	//
  1182  	// Additional information about error signalling:
  1183  	//
  1184  	// ALREADY_EXISTS: Happens when an append specified an offset, and the
  1185  	// backend already has received data at this offset.  Typically encountered
  1186  	// in retry scenarios, and can be ignored.
  1187  	//
  1188  	// OUT_OF_RANGE: Returned when the specified offset in the stream is beyond
  1189  	// the current end of the stream.
  1190  	//
  1191  	// INVALID_ARGUMENT: Indicates a malformed request or data.
  1192  	//
  1193  	// ABORTED: Request processing is aborted because of prior failures.  The
  1194  	// request can be retried if previous failure is addressed.
  1195  	//
  1196  	// INTERNAL: Indicates server side error(s) that can be retried.
  1197  	Error *status.Status `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
  1198  }
  1199  
  1200  func (*AppendRowsResponse_AppendResult_) isAppendRowsResponse_Response() {}
  1201  
  1202  func (*AppendRowsResponse_Error) isAppendRowsResponse_Response() {}
  1203  
  1204  // Request message for `GetWriteStreamRequest`.
  1205  type GetWriteStreamRequest struct {
  1206  	state         protoimpl.MessageState
  1207  	sizeCache     protoimpl.SizeCache
  1208  	unknownFields protoimpl.UnknownFields
  1209  
  1210  	// Required. Name of the stream to get, in the form of
  1211  	// `projects/{project}/datasets/{dataset}/tables/{table}/streams/{stream}`.
  1212  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1213  	// Indicates whether to get full or partial view of the WriteStream. If
  1214  	// not set, view returned will be basic.
  1215  	View WriteStreamView `protobuf:"varint,3,opt,name=view,proto3,enum=google.cloud.bigquery.storage.v1.WriteStreamView" json:"view,omitempty"`
  1216  }
  1217  
  1218  func (x *GetWriteStreamRequest) Reset() {
  1219  	*x = GetWriteStreamRequest{}
  1220  	if protoimpl.UnsafeEnabled {
  1221  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[10]
  1222  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1223  		ms.StoreMessageInfo(mi)
  1224  	}
  1225  }
  1226  
  1227  func (x *GetWriteStreamRequest) String() string {
  1228  	return protoimpl.X.MessageStringOf(x)
  1229  }
  1230  
  1231  func (*GetWriteStreamRequest) ProtoMessage() {}
  1232  
  1233  func (x *GetWriteStreamRequest) ProtoReflect() protoreflect.Message {
  1234  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[10]
  1235  	if protoimpl.UnsafeEnabled && x != nil {
  1236  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1237  		if ms.LoadMessageInfo() == nil {
  1238  			ms.StoreMessageInfo(mi)
  1239  		}
  1240  		return ms
  1241  	}
  1242  	return mi.MessageOf(x)
  1243  }
  1244  
  1245  // Deprecated: Use GetWriteStreamRequest.ProtoReflect.Descriptor instead.
  1246  func (*GetWriteStreamRequest) Descriptor() ([]byte, []int) {
  1247  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{10}
  1248  }
  1249  
  1250  func (x *GetWriteStreamRequest) GetName() string {
  1251  	if x != nil {
  1252  		return x.Name
  1253  	}
  1254  	return ""
  1255  }
  1256  
  1257  func (x *GetWriteStreamRequest) GetView() WriteStreamView {
  1258  	if x != nil {
  1259  		return x.View
  1260  	}
  1261  	return WriteStreamView_WRITE_STREAM_VIEW_UNSPECIFIED
  1262  }
  1263  
  1264  // Request message for `BatchCommitWriteStreams`.
  1265  type BatchCommitWriteStreamsRequest struct {
  1266  	state         protoimpl.MessageState
  1267  	sizeCache     protoimpl.SizeCache
  1268  	unknownFields protoimpl.UnknownFields
  1269  
  1270  	// Required. Parent table that all the streams should belong to, in the form
  1271  	// of `projects/{project}/datasets/{dataset}/tables/{table}`.
  1272  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  1273  	// Required. The group of streams that will be committed atomically.
  1274  	WriteStreams []string `protobuf:"bytes,2,rep,name=write_streams,json=writeStreams,proto3" json:"write_streams,omitempty"`
  1275  }
  1276  
  1277  func (x *BatchCommitWriteStreamsRequest) Reset() {
  1278  	*x = BatchCommitWriteStreamsRequest{}
  1279  	if protoimpl.UnsafeEnabled {
  1280  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[11]
  1281  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1282  		ms.StoreMessageInfo(mi)
  1283  	}
  1284  }
  1285  
  1286  func (x *BatchCommitWriteStreamsRequest) String() string {
  1287  	return protoimpl.X.MessageStringOf(x)
  1288  }
  1289  
  1290  func (*BatchCommitWriteStreamsRequest) ProtoMessage() {}
  1291  
  1292  func (x *BatchCommitWriteStreamsRequest) ProtoReflect() protoreflect.Message {
  1293  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[11]
  1294  	if protoimpl.UnsafeEnabled && x != nil {
  1295  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1296  		if ms.LoadMessageInfo() == nil {
  1297  			ms.StoreMessageInfo(mi)
  1298  		}
  1299  		return ms
  1300  	}
  1301  	return mi.MessageOf(x)
  1302  }
  1303  
  1304  // Deprecated: Use BatchCommitWriteStreamsRequest.ProtoReflect.Descriptor instead.
  1305  func (*BatchCommitWriteStreamsRequest) Descriptor() ([]byte, []int) {
  1306  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{11}
  1307  }
  1308  
  1309  func (x *BatchCommitWriteStreamsRequest) GetParent() string {
  1310  	if x != nil {
  1311  		return x.Parent
  1312  	}
  1313  	return ""
  1314  }
  1315  
  1316  func (x *BatchCommitWriteStreamsRequest) GetWriteStreams() []string {
  1317  	if x != nil {
  1318  		return x.WriteStreams
  1319  	}
  1320  	return nil
  1321  }
  1322  
  1323  // Response message for `BatchCommitWriteStreams`.
  1324  type BatchCommitWriteStreamsResponse struct {
  1325  	state         protoimpl.MessageState
  1326  	sizeCache     protoimpl.SizeCache
  1327  	unknownFields protoimpl.UnknownFields
  1328  
  1329  	// The time at which streams were committed in microseconds granularity.
  1330  	// This field will only exist when there are no stream errors.
  1331  	// **Note** if this field is not set, it means the commit was not successful.
  1332  	CommitTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=commit_time,json=commitTime,proto3" json:"commit_time,omitempty"`
  1333  	// Stream level error if commit failed. Only streams with error will be in
  1334  	// the list.
  1335  	// If empty, there is no error and all streams are committed successfully.
  1336  	// If non empty, certain streams have errors and ZERO stream is committed due
  1337  	// to atomicity guarantee.
  1338  	StreamErrors []*StorageError `protobuf:"bytes,2,rep,name=stream_errors,json=streamErrors,proto3" json:"stream_errors,omitempty"`
  1339  }
  1340  
  1341  func (x *BatchCommitWriteStreamsResponse) Reset() {
  1342  	*x = BatchCommitWriteStreamsResponse{}
  1343  	if protoimpl.UnsafeEnabled {
  1344  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[12]
  1345  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1346  		ms.StoreMessageInfo(mi)
  1347  	}
  1348  }
  1349  
  1350  func (x *BatchCommitWriteStreamsResponse) String() string {
  1351  	return protoimpl.X.MessageStringOf(x)
  1352  }
  1353  
  1354  func (*BatchCommitWriteStreamsResponse) ProtoMessage() {}
  1355  
  1356  func (x *BatchCommitWriteStreamsResponse) ProtoReflect() protoreflect.Message {
  1357  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[12]
  1358  	if protoimpl.UnsafeEnabled && x != nil {
  1359  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1360  		if ms.LoadMessageInfo() == nil {
  1361  			ms.StoreMessageInfo(mi)
  1362  		}
  1363  		return ms
  1364  	}
  1365  	return mi.MessageOf(x)
  1366  }
  1367  
  1368  // Deprecated: Use BatchCommitWriteStreamsResponse.ProtoReflect.Descriptor instead.
  1369  func (*BatchCommitWriteStreamsResponse) Descriptor() ([]byte, []int) {
  1370  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{12}
  1371  }
  1372  
  1373  func (x *BatchCommitWriteStreamsResponse) GetCommitTime() *timestamppb.Timestamp {
  1374  	if x != nil {
  1375  		return x.CommitTime
  1376  	}
  1377  	return nil
  1378  }
  1379  
  1380  func (x *BatchCommitWriteStreamsResponse) GetStreamErrors() []*StorageError {
  1381  	if x != nil {
  1382  		return x.StreamErrors
  1383  	}
  1384  	return nil
  1385  }
  1386  
  1387  // Request message for invoking `FinalizeWriteStream`.
  1388  type FinalizeWriteStreamRequest struct {
  1389  	state         protoimpl.MessageState
  1390  	sizeCache     protoimpl.SizeCache
  1391  	unknownFields protoimpl.UnknownFields
  1392  
  1393  	// Required. Name of the stream to finalize, in the form of
  1394  	// `projects/{project}/datasets/{dataset}/tables/{table}/streams/{stream}`.
  1395  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1396  }
  1397  
  1398  func (x *FinalizeWriteStreamRequest) Reset() {
  1399  	*x = FinalizeWriteStreamRequest{}
  1400  	if protoimpl.UnsafeEnabled {
  1401  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[13]
  1402  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1403  		ms.StoreMessageInfo(mi)
  1404  	}
  1405  }
  1406  
  1407  func (x *FinalizeWriteStreamRequest) String() string {
  1408  	return protoimpl.X.MessageStringOf(x)
  1409  }
  1410  
  1411  func (*FinalizeWriteStreamRequest) ProtoMessage() {}
  1412  
  1413  func (x *FinalizeWriteStreamRequest) ProtoReflect() protoreflect.Message {
  1414  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[13]
  1415  	if protoimpl.UnsafeEnabled && x != nil {
  1416  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1417  		if ms.LoadMessageInfo() == nil {
  1418  			ms.StoreMessageInfo(mi)
  1419  		}
  1420  		return ms
  1421  	}
  1422  	return mi.MessageOf(x)
  1423  }
  1424  
  1425  // Deprecated: Use FinalizeWriteStreamRequest.ProtoReflect.Descriptor instead.
  1426  func (*FinalizeWriteStreamRequest) Descriptor() ([]byte, []int) {
  1427  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{13}
  1428  }
  1429  
  1430  func (x *FinalizeWriteStreamRequest) GetName() string {
  1431  	if x != nil {
  1432  		return x.Name
  1433  	}
  1434  	return ""
  1435  }
  1436  
  1437  // Response message for `FinalizeWriteStream`.
  1438  type FinalizeWriteStreamResponse struct {
  1439  	state         protoimpl.MessageState
  1440  	sizeCache     protoimpl.SizeCache
  1441  	unknownFields protoimpl.UnknownFields
  1442  
  1443  	// Number of rows in the finalized stream.
  1444  	RowCount int64 `protobuf:"varint,1,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"`
  1445  }
  1446  
  1447  func (x *FinalizeWriteStreamResponse) Reset() {
  1448  	*x = FinalizeWriteStreamResponse{}
  1449  	if protoimpl.UnsafeEnabled {
  1450  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[14]
  1451  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1452  		ms.StoreMessageInfo(mi)
  1453  	}
  1454  }
  1455  
  1456  func (x *FinalizeWriteStreamResponse) String() string {
  1457  	return protoimpl.X.MessageStringOf(x)
  1458  }
  1459  
  1460  func (*FinalizeWriteStreamResponse) ProtoMessage() {}
  1461  
  1462  func (x *FinalizeWriteStreamResponse) ProtoReflect() protoreflect.Message {
  1463  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[14]
  1464  	if protoimpl.UnsafeEnabled && x != nil {
  1465  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1466  		if ms.LoadMessageInfo() == nil {
  1467  			ms.StoreMessageInfo(mi)
  1468  		}
  1469  		return ms
  1470  	}
  1471  	return mi.MessageOf(x)
  1472  }
  1473  
  1474  // Deprecated: Use FinalizeWriteStreamResponse.ProtoReflect.Descriptor instead.
  1475  func (*FinalizeWriteStreamResponse) Descriptor() ([]byte, []int) {
  1476  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{14}
  1477  }
  1478  
  1479  func (x *FinalizeWriteStreamResponse) GetRowCount() int64 {
  1480  	if x != nil {
  1481  		return x.RowCount
  1482  	}
  1483  	return 0
  1484  }
  1485  
  1486  // Request message for `FlushRows`.
  1487  type FlushRowsRequest struct {
  1488  	state         protoimpl.MessageState
  1489  	sizeCache     protoimpl.SizeCache
  1490  	unknownFields protoimpl.UnknownFields
  1491  
  1492  	// Required. The stream that is the target of the flush operation.
  1493  	WriteStream string `protobuf:"bytes,1,opt,name=write_stream,json=writeStream,proto3" json:"write_stream,omitempty"`
  1494  	// Ending offset of the flush operation. Rows before this offset(including
  1495  	// this offset) will be flushed.
  1496  	Offset *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=offset,proto3" json:"offset,omitempty"`
  1497  }
  1498  
  1499  func (x *FlushRowsRequest) Reset() {
  1500  	*x = FlushRowsRequest{}
  1501  	if protoimpl.UnsafeEnabled {
  1502  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[15]
  1503  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1504  		ms.StoreMessageInfo(mi)
  1505  	}
  1506  }
  1507  
  1508  func (x *FlushRowsRequest) String() string {
  1509  	return protoimpl.X.MessageStringOf(x)
  1510  }
  1511  
  1512  func (*FlushRowsRequest) ProtoMessage() {}
  1513  
  1514  func (x *FlushRowsRequest) ProtoReflect() protoreflect.Message {
  1515  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[15]
  1516  	if protoimpl.UnsafeEnabled && x != nil {
  1517  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1518  		if ms.LoadMessageInfo() == nil {
  1519  			ms.StoreMessageInfo(mi)
  1520  		}
  1521  		return ms
  1522  	}
  1523  	return mi.MessageOf(x)
  1524  }
  1525  
  1526  // Deprecated: Use FlushRowsRequest.ProtoReflect.Descriptor instead.
  1527  func (*FlushRowsRequest) Descriptor() ([]byte, []int) {
  1528  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{15}
  1529  }
  1530  
  1531  func (x *FlushRowsRequest) GetWriteStream() string {
  1532  	if x != nil {
  1533  		return x.WriteStream
  1534  	}
  1535  	return ""
  1536  }
  1537  
  1538  func (x *FlushRowsRequest) GetOffset() *wrapperspb.Int64Value {
  1539  	if x != nil {
  1540  		return x.Offset
  1541  	}
  1542  	return nil
  1543  }
  1544  
  1545  // Respond message for `FlushRows`.
  1546  type FlushRowsResponse struct {
  1547  	state         protoimpl.MessageState
  1548  	sizeCache     protoimpl.SizeCache
  1549  	unknownFields protoimpl.UnknownFields
  1550  
  1551  	// The rows before this offset (including this offset) are flushed.
  1552  	Offset int64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"`
  1553  }
  1554  
  1555  func (x *FlushRowsResponse) Reset() {
  1556  	*x = FlushRowsResponse{}
  1557  	if protoimpl.UnsafeEnabled {
  1558  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[16]
  1559  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1560  		ms.StoreMessageInfo(mi)
  1561  	}
  1562  }
  1563  
  1564  func (x *FlushRowsResponse) String() string {
  1565  	return protoimpl.X.MessageStringOf(x)
  1566  }
  1567  
  1568  func (*FlushRowsResponse) ProtoMessage() {}
  1569  
  1570  func (x *FlushRowsResponse) ProtoReflect() protoreflect.Message {
  1571  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[16]
  1572  	if protoimpl.UnsafeEnabled && x != nil {
  1573  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1574  		if ms.LoadMessageInfo() == nil {
  1575  			ms.StoreMessageInfo(mi)
  1576  		}
  1577  		return ms
  1578  	}
  1579  	return mi.MessageOf(x)
  1580  }
  1581  
  1582  // Deprecated: Use FlushRowsResponse.ProtoReflect.Descriptor instead.
  1583  func (*FlushRowsResponse) Descriptor() ([]byte, []int) {
  1584  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{16}
  1585  }
  1586  
  1587  func (x *FlushRowsResponse) GetOffset() int64 {
  1588  	if x != nil {
  1589  		return x.Offset
  1590  	}
  1591  	return 0
  1592  }
  1593  
  1594  // Structured custom BigQuery Storage error message. The error can be attached
  1595  // as error details in the returned rpc Status. In particular, the use of error
  1596  // codes allows more structured error handling, and reduces the need to evaluate
  1597  // unstructured error text strings.
  1598  type StorageError struct {
  1599  	state         protoimpl.MessageState
  1600  	sizeCache     protoimpl.SizeCache
  1601  	unknownFields protoimpl.UnknownFields
  1602  
  1603  	// BigQuery Storage specific error code.
  1604  	Code StorageError_StorageErrorCode `protobuf:"varint,1,opt,name=code,proto3,enum=google.cloud.bigquery.storage.v1.StorageError_StorageErrorCode" json:"code,omitempty"`
  1605  	// Name of the failed entity.
  1606  	Entity string `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"`
  1607  	// Message that describes the error.
  1608  	ErrorMessage string `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
  1609  }
  1610  
  1611  func (x *StorageError) Reset() {
  1612  	*x = StorageError{}
  1613  	if protoimpl.UnsafeEnabled {
  1614  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[17]
  1615  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1616  		ms.StoreMessageInfo(mi)
  1617  	}
  1618  }
  1619  
  1620  func (x *StorageError) String() string {
  1621  	return protoimpl.X.MessageStringOf(x)
  1622  }
  1623  
  1624  func (*StorageError) ProtoMessage() {}
  1625  
  1626  func (x *StorageError) ProtoReflect() protoreflect.Message {
  1627  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[17]
  1628  	if protoimpl.UnsafeEnabled && x != nil {
  1629  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1630  		if ms.LoadMessageInfo() == nil {
  1631  			ms.StoreMessageInfo(mi)
  1632  		}
  1633  		return ms
  1634  	}
  1635  	return mi.MessageOf(x)
  1636  }
  1637  
  1638  // Deprecated: Use StorageError.ProtoReflect.Descriptor instead.
  1639  func (*StorageError) Descriptor() ([]byte, []int) {
  1640  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{17}
  1641  }
  1642  
  1643  func (x *StorageError) GetCode() StorageError_StorageErrorCode {
  1644  	if x != nil {
  1645  		return x.Code
  1646  	}
  1647  	return StorageError_STORAGE_ERROR_CODE_UNSPECIFIED
  1648  }
  1649  
  1650  func (x *StorageError) GetEntity() string {
  1651  	if x != nil {
  1652  		return x.Entity
  1653  	}
  1654  	return ""
  1655  }
  1656  
  1657  func (x *StorageError) GetErrorMessage() string {
  1658  	if x != nil {
  1659  		return x.ErrorMessage
  1660  	}
  1661  	return ""
  1662  }
  1663  
  1664  // The message that presents row level error info in a request.
  1665  type RowError struct {
  1666  	state         protoimpl.MessageState
  1667  	sizeCache     protoimpl.SizeCache
  1668  	unknownFields protoimpl.UnknownFields
  1669  
  1670  	// Index of the malformed row in the request.
  1671  	Index int64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
  1672  	// Structured error reason for a row error.
  1673  	Code RowError_RowErrorCode `protobuf:"varint,2,opt,name=code,proto3,enum=google.cloud.bigquery.storage.v1.RowError_RowErrorCode" json:"code,omitempty"`
  1674  	// Description of the issue encountered when processing the row.
  1675  	Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
  1676  }
  1677  
  1678  func (x *RowError) Reset() {
  1679  	*x = RowError{}
  1680  	if protoimpl.UnsafeEnabled {
  1681  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[18]
  1682  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1683  		ms.StoreMessageInfo(mi)
  1684  	}
  1685  }
  1686  
  1687  func (x *RowError) String() string {
  1688  	return protoimpl.X.MessageStringOf(x)
  1689  }
  1690  
  1691  func (*RowError) ProtoMessage() {}
  1692  
  1693  func (x *RowError) ProtoReflect() protoreflect.Message {
  1694  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[18]
  1695  	if protoimpl.UnsafeEnabled && x != nil {
  1696  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1697  		if ms.LoadMessageInfo() == nil {
  1698  			ms.StoreMessageInfo(mi)
  1699  		}
  1700  		return ms
  1701  	}
  1702  	return mi.MessageOf(x)
  1703  }
  1704  
  1705  // Deprecated: Use RowError.ProtoReflect.Descriptor instead.
  1706  func (*RowError) Descriptor() ([]byte, []int) {
  1707  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{18}
  1708  }
  1709  
  1710  func (x *RowError) GetIndex() int64 {
  1711  	if x != nil {
  1712  		return x.Index
  1713  	}
  1714  	return 0
  1715  }
  1716  
  1717  func (x *RowError) GetCode() RowError_RowErrorCode {
  1718  	if x != nil {
  1719  		return x.Code
  1720  	}
  1721  	return RowError_ROW_ERROR_CODE_UNSPECIFIED
  1722  }
  1723  
  1724  func (x *RowError) GetMessage() string {
  1725  	if x != nil {
  1726  		return x.Message
  1727  	}
  1728  	return ""
  1729  }
  1730  
  1731  type StreamStats_Progress struct {
  1732  	state         protoimpl.MessageState
  1733  	sizeCache     protoimpl.SizeCache
  1734  	unknownFields protoimpl.UnknownFields
  1735  
  1736  	// The fraction of rows assigned to the stream that have been processed by
  1737  	// the server so far, not including the rows in the current response
  1738  	// message.
  1739  	//
  1740  	// This value, along with `at_response_end`, can be used to interpolate
  1741  	// the progress made as the rows in the message are being processed using
  1742  	// the following formula: `at_response_start + (at_response_end -
  1743  	// at_response_start) * rows_processed_from_response / rows_in_response`.
  1744  	//
  1745  	// Note that if a filter is provided, the `at_response_end` value of the
  1746  	// previous response may not necessarily be equal to the
  1747  	// `at_response_start` value of the current response.
  1748  	AtResponseStart float64 `protobuf:"fixed64,1,opt,name=at_response_start,json=atResponseStart,proto3" json:"at_response_start,omitempty"`
  1749  	// Similar to `at_response_start`, except that this value includes the
  1750  	// rows in the current response.
  1751  	AtResponseEnd float64 `protobuf:"fixed64,2,opt,name=at_response_end,json=atResponseEnd,proto3" json:"at_response_end,omitempty"`
  1752  }
  1753  
  1754  func (x *StreamStats_Progress) Reset() {
  1755  	*x = StreamStats_Progress{}
  1756  	if protoimpl.UnsafeEnabled {
  1757  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[19]
  1758  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1759  		ms.StoreMessageInfo(mi)
  1760  	}
  1761  }
  1762  
  1763  func (x *StreamStats_Progress) String() string {
  1764  	return protoimpl.X.MessageStringOf(x)
  1765  }
  1766  
  1767  func (*StreamStats_Progress) ProtoMessage() {}
  1768  
  1769  func (x *StreamStats_Progress) ProtoReflect() protoreflect.Message {
  1770  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[19]
  1771  	if protoimpl.UnsafeEnabled && x != nil {
  1772  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1773  		if ms.LoadMessageInfo() == nil {
  1774  			ms.StoreMessageInfo(mi)
  1775  		}
  1776  		return ms
  1777  	}
  1778  	return mi.MessageOf(x)
  1779  }
  1780  
  1781  // Deprecated: Use StreamStats_Progress.ProtoReflect.Descriptor instead.
  1782  func (*StreamStats_Progress) Descriptor() ([]byte, []int) {
  1783  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{3, 0}
  1784  }
  1785  
  1786  func (x *StreamStats_Progress) GetAtResponseStart() float64 {
  1787  	if x != nil {
  1788  		return x.AtResponseStart
  1789  	}
  1790  	return 0
  1791  }
  1792  
  1793  func (x *StreamStats_Progress) GetAtResponseEnd() float64 {
  1794  	if x != nil {
  1795  		return x.AtResponseEnd
  1796  	}
  1797  	return 0
  1798  }
  1799  
  1800  // ProtoData contains the data rows and schema when constructing append
  1801  // requests.
  1802  type AppendRowsRequest_ProtoData struct {
  1803  	state         protoimpl.MessageState
  1804  	sizeCache     protoimpl.SizeCache
  1805  	unknownFields protoimpl.UnknownFields
  1806  
  1807  	// The protocol buffer schema used to serialize the data. Provide this value
  1808  	// whenever:
  1809  	//
  1810  	// * You send the first request of an RPC connection.
  1811  	//
  1812  	// * You change the input schema.
  1813  	//
  1814  	// * You specify a new destination table.
  1815  	WriterSchema *ProtoSchema `protobuf:"bytes,1,opt,name=writer_schema,json=writerSchema,proto3" json:"writer_schema,omitempty"`
  1816  	// Serialized row data in protobuf message format.
  1817  	// Currently, the backend expects the serialized rows to adhere to
  1818  	// proto2 semantics when appending rows, particularly with respect to
  1819  	// how default values are encoded.
  1820  	Rows *ProtoRows `protobuf:"bytes,2,opt,name=rows,proto3" json:"rows,omitempty"`
  1821  }
  1822  
  1823  func (x *AppendRowsRequest_ProtoData) Reset() {
  1824  	*x = AppendRowsRequest_ProtoData{}
  1825  	if protoimpl.UnsafeEnabled {
  1826  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[20]
  1827  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1828  		ms.StoreMessageInfo(mi)
  1829  	}
  1830  }
  1831  
  1832  func (x *AppendRowsRequest_ProtoData) String() string {
  1833  	return protoimpl.X.MessageStringOf(x)
  1834  }
  1835  
  1836  func (*AppendRowsRequest_ProtoData) ProtoMessage() {}
  1837  
  1838  func (x *AppendRowsRequest_ProtoData) ProtoReflect() protoreflect.Message {
  1839  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[20]
  1840  	if protoimpl.UnsafeEnabled && x != nil {
  1841  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1842  		if ms.LoadMessageInfo() == nil {
  1843  			ms.StoreMessageInfo(mi)
  1844  		}
  1845  		return ms
  1846  	}
  1847  	return mi.MessageOf(x)
  1848  }
  1849  
  1850  // Deprecated: Use AppendRowsRequest_ProtoData.ProtoReflect.Descriptor instead.
  1851  func (*AppendRowsRequest_ProtoData) Descriptor() ([]byte, []int) {
  1852  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{8, 0}
  1853  }
  1854  
  1855  func (x *AppendRowsRequest_ProtoData) GetWriterSchema() *ProtoSchema {
  1856  	if x != nil {
  1857  		return x.WriterSchema
  1858  	}
  1859  	return nil
  1860  }
  1861  
  1862  func (x *AppendRowsRequest_ProtoData) GetRows() *ProtoRows {
  1863  	if x != nil {
  1864  		return x.Rows
  1865  	}
  1866  	return nil
  1867  }
  1868  
  1869  // AppendResult is returned for successful append requests.
  1870  type AppendRowsResponse_AppendResult struct {
  1871  	state         protoimpl.MessageState
  1872  	sizeCache     protoimpl.SizeCache
  1873  	unknownFields protoimpl.UnknownFields
  1874  
  1875  	// The row offset at which the last append occurred. The offset will not be
  1876  	// set if appending using default streams.
  1877  	Offset *wrapperspb.Int64Value `protobuf:"bytes,1,opt,name=offset,proto3" json:"offset,omitempty"`
  1878  }
  1879  
  1880  func (x *AppendRowsResponse_AppendResult) Reset() {
  1881  	*x = AppendRowsResponse_AppendResult{}
  1882  	if protoimpl.UnsafeEnabled {
  1883  		mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[22]
  1884  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1885  		ms.StoreMessageInfo(mi)
  1886  	}
  1887  }
  1888  
  1889  func (x *AppendRowsResponse_AppendResult) String() string {
  1890  	return protoimpl.X.MessageStringOf(x)
  1891  }
  1892  
  1893  func (*AppendRowsResponse_AppendResult) ProtoMessage() {}
  1894  
  1895  func (x *AppendRowsResponse_AppendResult) ProtoReflect() protoreflect.Message {
  1896  	mi := &file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[22]
  1897  	if protoimpl.UnsafeEnabled && x != nil {
  1898  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1899  		if ms.LoadMessageInfo() == nil {
  1900  			ms.StoreMessageInfo(mi)
  1901  		}
  1902  		return ms
  1903  	}
  1904  	return mi.MessageOf(x)
  1905  }
  1906  
  1907  // Deprecated: Use AppendRowsResponse_AppendResult.ProtoReflect.Descriptor instead.
  1908  func (*AppendRowsResponse_AppendResult) Descriptor() ([]byte, []int) {
  1909  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP(), []int{9, 0}
  1910  }
  1911  
  1912  func (x *AppendRowsResponse_AppendResult) GetOffset() *wrapperspb.Int64Value {
  1913  	if x != nil {
  1914  		return x.Offset
  1915  	}
  1916  	return nil
  1917  }
  1918  
  1919  var File_google_cloud_bigquery_storage_v1_storage_proto protoreflect.FileDescriptor
  1920  
  1921  var file_google_cloud_bigquery_storage_v1_storage_proto_rawDesc = []byte{
  1922  	0x0a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
  1923  	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f,
  1924  	0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1925  	0x12, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62,
  1926  	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
  1927  	0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61,
  1928  	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1929  	0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69,
  1930  	0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1931  	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61,
  1932  	0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67,
  1933  	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e,
  1934  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,
  1935  	0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f,
  1936  	0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x2e, 0x70, 0x72,
  1937  	0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
  1938  	0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61,
  1939  	0x67, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x76, 0x72, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1940  	0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
  1941  	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f,
  1942  	0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1943  	0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
  1944  	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
  1945  	0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1946  	0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
  1947  	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f,
  1948  	0x76, 0x31, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
  1949  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
  1950  	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
  1951  	0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  1952  	0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
  1953  	0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74,
  1954  	0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x02, 0x0a, 0x18, 0x43, 0x72, 0x65,
  1955  	0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
  1956  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18,
  1957  	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63,
  1958  	0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61,
  1959  	0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
  1960  	0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65,
  1961  	0x6e, 0x74, 0x12, 0x55, 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69,
  1962  	0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1963  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
  1964  	0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64,
  1965  	0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x72, 0x65,
  1966  	0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78,
  1967  	0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20,
  1968  	0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f,
  1969  	0x75, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x1a, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64,
  1970  	0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
  1971  	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72,
  1972  	0x65, 0x64, 0x4d, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74,
  1973  	0x22, 0x7d, 0x0a, 0x0f, 0x52, 0x65, 0x61, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75,
  1974  	0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65,
  1975  	0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b,
  1976  	0x0a, 0x29, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
  1977  	0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
  1978  	0x2f, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x0a, 0x72, 0x65, 0x61,
  1979  	0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
  1980  	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22,
  1981  	0x3a, 0x0a, 0x0d, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65,
  1982  	0x12, 0x29, 0x0a, 0x10, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72,
  1983  	0x63, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x74, 0x68, 0x72, 0x6f,
  1984  	0x74, 0x74, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0xc1, 0x01, 0x0a, 0x0b,
  1985  	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x52, 0x0a, 0x08, 0x70,
  1986  	0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e,
  1987  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67,
  1988  	0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31,
  1989  	0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x50, 0x72, 0x6f,
  1990  	0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x1a,
  1991  	0x5e, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x61,
  1992  	0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74,
  1993  	0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  1994  	0x73, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x74, 0x5f, 0x72, 0x65,
  1995  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01,
  1996  	0x52, 0x0d, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x64, 0x22,
  1997  	0x97, 0x05, 0x0a, 0x10, 0x52, 0x65, 0x61, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70,
  1998  	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x09, 0x61, 0x76, 0x72, 0x6f, 0x5f, 0x72, 0x6f, 0x77,
  1999  	0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2000  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
  2001  	0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x76, 0x72, 0x6f, 0x52,
  2002  	0x6f, 0x77, 0x73, 0x48, 0x00, 0x52, 0x08, 0x61, 0x76, 0x72, 0x6f, 0x52, 0x6f, 0x77, 0x73, 0x12,
  2003  	0x62, 0x0a, 0x12, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f,
  2004  	0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f,
  2005  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
  2006  	0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41,
  2007  	0x72, 0x72, 0x6f, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x48,
  2008  	0x00, 0x52, 0x10, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x61,
  2009  	0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
  2010  	0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74,
  2011  	0x12, 0x43, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2012  	0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62,
  2013  	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
  2014  	0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05,
  2015  	0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x56, 0x0a, 0x0e, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c,
  2016  	0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
  2017  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67,
  2018  	0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31,
  2019  	0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d,
  2020  	0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x54, 0x0a,
  2021  	0x0b, 0x61, 0x76, 0x72, 0x6f, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x07, 0x20, 0x01,
  2022  	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  2023  	0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
  2024  	0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x76, 0x72, 0x6f, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
  2025  	0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x61, 0x76, 0x72, 0x6f, 0x53, 0x63, 0x68,
  2026  	0x65, 0x6d, 0x61, 0x12, 0x57, 0x0a, 0x0c, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x63, 0x68,
  2027  	0x65, 0x6d, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2028  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
  2029  	0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x72,
  2030  	0x6f, 0x77, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52,
  2031  	0x0b, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3e, 0x0a, 0x16,
  2032  	0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74,
  2033  	0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41,
  2034  	0x01, 0x48, 0x02, 0x52, 0x14, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65,
  2035  	0x64, 0x42, 0x79, 0x74, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04,
  2036  	0x72, 0x6f, 0x77, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x19,
  2037  	0x0a, 0x17, 0x5f, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f,
  2038  	0x62, 0x79, 0x74, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x7b, 0x0a, 0x16, 0x53, 0x70, 0x6c,
  2039  	0x69, 0x74, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75,
  2040  	0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  2041  	0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x62, 0x69, 0x67, 0x71, 0x75,
  2042  	0x65, 0x72, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2043  	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74,
  2044  	0x72, 0x65, 0x61, 0x6d, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72,
  2045  	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x72,
  2046  	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc7, 0x01, 0x0a, 0x17, 0x53, 0x70, 0x6c, 0x69, 0x74,
  2047  	0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  2048  	0x73, 0x65, 0x12, 0x53, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x74,
  2049  	0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f,
  2050  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
  2051  	0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65,
  2052  	0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72,
  2053  	0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x57, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x61, 0x69,
  2054  	0x6e, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28,
  2055  	0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  2056  	0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
  2057  	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52,
  2058  	0x0f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
  2059  	0x22, 0xb0, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65,
  2060  	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a,
  2061  	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0,
  2062  	0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
  2063  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54,
  2064  	0x61, 0x62, 0x6c, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x55, 0x0a, 0x0c,
  2065  	0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01,
  2066  	0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  2067  	0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
  2068  	0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61,
  2069  	0x6d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72,
  2070  	0x65, 0x61, 0x6d, 0x22, 0x97, 0x08, 0x0a, 0x11, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x6f,
  2071  	0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0c, 0x77, 0x72, 0x69,
  2072  	0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  2073  	0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
  2074  	0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
  2075  	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72,
  2076  	0x65, 0x61, 0x6d, 0x52, 0x0b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
  2077  	0x12, 0x33, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  2078  	0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  2079  	0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6f,
  2080  	0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x5e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x72,
  2081  	0x6f, 0x77, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2082  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
  2083  	0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70,
  2084  	0x65, 0x6e, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50,
  2085  	0x72, 0x6f, 0x74, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74,
  2086  	0x6f, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69,
  2087  	0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64,
  2088  	0x12, 0x98, 0x01, 0x0a, 0x1d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c,
  2089  	0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x61, 0x74, 0x69, 0x6f,
  2090  	0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2091  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
  2092  	0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65,
  2093  	0x6e, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x69,
  2094  	0x73, 0x73, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70,
  2095  	0x72, 0x65, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1b,
  2096  	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x65,
  2097  	0x72, 0x70, 0x72, 0x65, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xa4, 0x01, 0x0a, 0x24,
  2098  	0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f,
  2099  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x61,
  2100  	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f,
  2101  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
  2102  	0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70,
  2103  	0x70, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e,
  2104  	0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x65,
  2105  	0x72, 0x70, 0x72, 0x65, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  2106  	0x21, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x56,
  2107  	0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x61, 0x74, 0x69,
  2108  	0x6f, 0x6e, 0x1a, 0xa0, 0x01, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x44, 0x61, 0x74, 0x61,
  2109  	0x12, 0x52, 0x0a, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d,
  2110  	0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2111  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
  2112  	0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f,
  2113  	0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x53, 0x63,
  2114  	0x68, 0x65, 0x6d, 0x61, 0x12, 0x3f, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x01,
  2115  	0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  2116  	0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
  2117  	0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x6f, 0x77, 0x73, 0x52,
  2118  	0x04, 0x72, 0x6f, 0x77, 0x73, 0x1a, 0x9e, 0x01, 0x0a, 0x20, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e,
  2119  	0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x61,
  2120  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
  2121  	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x64, 0x0a, 0x05,
  2122  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4e, 0x2e, 0x67, 0x6f,
  2123  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
  2124  	0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41,
  2125  	0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  2126  	0x2e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74,
  2127  	0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c,
  2128  	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6d, 0x0a, 0x1a, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e,
  2129  	0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x61,
  2130  	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x28, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f,
  2131  	0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x50, 0x52, 0x45, 0x54, 0x41,
  2132  	0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
  2133  	0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45,
  2134  	0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x56, 0x41,
  2135  	0x4c, 0x55, 0x45, 0x10, 0x02, 0x42, 0x06, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x22, 0xbf, 0x03,
  2136  	0x0a, 0x12, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70,
  2137  	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0d, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x72,
  2138  	0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f,
  2139  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
  2140  	0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41,
  2141  	0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  2142  	0x65, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00,
  2143  	0x52, 0x0c, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a,
  2144  	0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
  2145  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75,
  2146  	0x73, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x54, 0x0a, 0x0e, 0x75, 0x70,
  2147  	0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01,
  2148  	0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  2149  	0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
  2150  	0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d,
  2151  	0x61, 0x52, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
  2152  	0x12, 0x49, 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04,
  2153  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  2154  	0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f,
  2155  	0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72,
  2156  	0x52, 0x09, 0x72, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x77,
  2157  	0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28,
  2158  	0x09, 0x52, 0x0b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x1a, 0x43,
  2159  	0x0a, 0x0c, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33,
  2160  	0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
  2161  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  2162  	0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x66, 0x66,
  2163  	0x73, 0x65, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
  2164  	0xa6, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65,
  2165  	0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
  2166  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a,
  2167  	0x2a, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
  2168  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  2169  	0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x04, 0x6e, 0x61, 0x6d,
  2170  	0x65, 0x12, 0x45, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32,
  2171  	0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62,
  2172  	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
  2173  	0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x56, 0x69,
  2174  	0x65, 0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x22, 0x89, 0x01, 0x0a, 0x1e, 0x42, 0x61, 0x74,
  2175  	0x63, 0x68, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72,
  2176  	0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70,
  2177  	0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02,
  2178  	0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x67, 0x6f,
  2179  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x62,
  2180  	0x6c, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x77, 0x72,
  2181  	0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
  2182  	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72,
  2183  	0x65, 0x61, 0x6d, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x1f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f,
  2184  	0x6d, 0x6d, 0x69, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73,
  2185  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d,
  2186  	0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
  2187  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  2188  	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69,
  2189  	0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f,
  2190  	0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67,
  2191  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71,
  2192  	0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e,
  2193  	0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x0c, 0x73, 0x74,
  2194  	0x72, 0x65, 0x61, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x64, 0x0a, 0x1a, 0x46, 0x69,
  2195  	0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61,
  2196  	0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
  2197  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a,
  2198  	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
  2199  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57,
  2200  	0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
  2201  	0x22, 0x3a, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x57, 0x72, 0x69, 0x74,
  2202  	0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
  2203  	0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
  2204  	0x28, 0x03, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x9e, 0x01, 0x0a,
  2205  	0x10, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  2206  	0x74, 0x12, 0x55, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61,
  2207  	0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a,
  2208  	0x2a, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
  2209  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  2210  	0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x77, 0x72, 0x69,
  2211  	0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x33, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73,
  2212  	0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2213  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34,
  2214  	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x2b, 0x0a,
  2215  	0x11, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  2216  	0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01,
  2217  	0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xc0, 0x04, 0x0a, 0x0c, 0x53,
  2218  	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x53, 0x0a, 0x04, 0x63,
  2219  	0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2220  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
  2221  	0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f,
  2222  	0x72, 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
  2223  	0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65,
  2224  	0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  2225  	0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f,
  2226  	0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
  2227  	0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x9d, 0x03,
  2228  	0x0a, 0x10, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f,
  2229  	0x64, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x52,
  2230  	0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
  2231  	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f,
  2232  	0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x53,
  2233  	0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x43, 0x4f,
  2234  	0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x52,
  2235  	0x45, 0x41, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x03, 0x12,
  2236  	0x17, 0x0a, 0x13, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41,
  2237  	0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x49, 0x4e, 0x56, 0x41,
  2238  	0x4c, 0x49, 0x44, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45,
  2239  	0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x46, 0x49, 0x4e,
  2240  	0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x06, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x43, 0x48, 0x45,
  2241  	0x4d, 0x41, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x45, 0x58, 0x54, 0x52,
  2242  	0x41, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x53, 0x10, 0x07, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x46,
  2243  	0x46, 0x53, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58, 0x49,
  2244  	0x53, 0x54, 0x53, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x5f,
  2245  	0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x09, 0x12, 0x15,
  2246  	0x0a, 0x11, 0x43, 0x4d, 0x45, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49,
  2247  	0x44, 0x45, 0x44, 0x10, 0x0a, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44,
  2248  	0x5f, 0x43, 0x4d, 0x45, 0x4b, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x44, 0x10, 0x0b,
  2249  	0x12, 0x19, 0x0a, 0x15, 0x43, 0x4d, 0x45, 0x4b, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54,
  2250  	0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, 0x4b,
  2251  	0x4d, 0x53, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52,
  2252  	0x10, 0x0d, 0x12, 0x19, 0x0a, 0x15, 0x4b, 0x4d, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53,
  2253  	0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x0e, 0x22, 0xc9, 0x01,
  2254  	0x0a, 0x08, 0x52, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e,
  2255  	0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78,
  2256  	0x12, 0x4b, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37,
  2257  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
  2258  	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
  2259  	0x31, 0x2e, 0x52, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x52, 0x6f, 0x77, 0x45, 0x72,
  2260  	0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a,
  2261  	0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
  2262  	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x40, 0x0a, 0x0c, 0x52, 0x6f, 0x77, 0x45, 0x72,
  2263  	0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x4f, 0x57, 0x5f, 0x45,
  2264  	0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
  2265  	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x49, 0x45, 0x4c, 0x44,
  2266  	0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x32, 0x92, 0x06, 0x0a, 0x0c, 0x42, 0x69,
  2267  	0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x12, 0xe9, 0x01, 0x0a, 0x11, 0x43,
  2268  	0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
  2269  	0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  2270  	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
  2271  	0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x53, 0x65,
  2272  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67,
  2273  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71,
  2274  	0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e,
  2275  	0x52, 0x65, 0x61, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x69, 0xda, 0x41, 0x24,
  2276  	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73,
  2277  	0x69, 0x6f, 0x6e, 0x2c, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63,
  2278  	0x6f, 0x75, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x3a, 0x01, 0x2a, 0x22, 0x37, 0x2f,
  2279  	0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
  2280  	0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
  2281  	0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62,
  2282  	0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcf, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x64, 0x52,
  2283  	0x6f, 0x77, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  2284  	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72,
  2285  	0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52,
  2286  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2287  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73,
  2288  	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x6f,
  2289  	0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5a, 0xda, 0x41, 0x12, 0x72,
  2290  	0x65, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2c, 0x6f, 0x66, 0x66, 0x73, 0x65,
  2291  	0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65,
  2292  	0x61, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  2293  	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
  2294  	0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x72, 0x65,
  2295  	0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x30, 0x01, 0x12, 0xc6, 0x01, 0x0a, 0x0f, 0x53, 0x70, 0x6c,
  2296  	0x69, 0x74, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x38, 0x2e, 0x67,
  2297  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71,
  2298  	0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e,
  2299  	0x53, 0x70, 0x6c, 0x69, 0x74, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52,
  2300  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2301  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73,
  2302  	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x52,
  2303  	0x65, 0x61, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  2304  	0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
  2305  	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
  2306  	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73,
  2307  	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a,
  2308  	0x7d, 0x1a, 0x7b, 0xca, 0x41, 0x1e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x73, 0x74,
  2309  	0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
  2310  	0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x57, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,
  2311  	0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
  2312  	0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2c,
  2313  	0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2314  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f,
  2315  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xbc,
  2316  	0x0b, 0x0a, 0x0d, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65,
  2317  	0x12, 0xd7, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65,
  2318  	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2319  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73,
  2320  	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
  2321  	0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65,
  2322  	0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  2323  	0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
  2324  	0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61,
  2325  	0x6d, 0x22, 0x57, 0xda, 0x41, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x77, 0x72, 0x69,
  2326  	0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a,
  2327  	0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x2b, 0x2f,
  2328  	0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
  2329  	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a,
  2330  	0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd2, 0x01, 0x0a, 0x0a, 0x41,
  2331  	0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2332  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
  2333  	0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70,
  2334  	0x65, 0x6e, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34,
  2335  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
  2336  	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
  2337  	0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70,
  2338  	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0xda, 0x41, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73,
  2339  	0x74, 0x72, 0x65, 0x61, 0x6d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x3a, 0x01, 0x2a, 0x22, 0x3b,
  2340  	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61,
  2341  	0x6d, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74,
  2342  	0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a,
  2343  	0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x28, 0x01, 0x30, 0x01, 0x12,
  2344  	0xbf, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65,
  2345  	0x61, 0x6d, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  2346  	0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
  2347  	0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74,
  2348  	0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f,
  2349  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
  2350  	0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57,
  2351  	0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x45, 0xda, 0x41, 0x04, 0x6e,
  2352  	0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x3a, 0x01, 0x2a, 0x22, 0x33, 0x2f, 0x76,
  2353  	0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
  2354  	0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61,
  2355  	0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a,
  2356  	0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x57, 0x72,
  2357  	0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2358  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
  2359  	0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6e,
  2360  	0x61, 0x6c, 0x69, 0x7a, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
  2361  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2362  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
  2363  	0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c,
  2364  	0x69, 0x7a, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65,
  2365  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82,
  2366  	0xd3, 0xe4, 0x93, 0x02, 0x38, 0x3a, 0x01, 0x2a, 0x22, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e,
  2367  	0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64,
  2368  	0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73,
  2369  	0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xdc, 0x01,
  2370  	0x0a, 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x57, 0x72, 0x69,
  2371  	0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2372  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
  2373  	0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74,
  2374  	0x63, 0x68, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72,
  2375  	0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x67, 0x6f,
  2376  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
  2377  	0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42,
  2378  	0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53,
  2379  	0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c,
  2380  	0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12,
  2381  	0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
  2382  	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73,
  2383  	0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcb, 0x01, 0x0a,
  2384  	0x09, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f,
  2385  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
  2386  	0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6c,
  2387  	0x75, 0x73, 0x68, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33,
  2388  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
  2389  	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
  2390  	0x31, 0x2e, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
  2391  	0x6e, 0x73, 0x65, 0x22, 0x55, 0xda, 0x41, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74,
  2392  	0x72, 0x65, 0x61, 0x6d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x3a, 0x01, 0x2a, 0x22, 0x3b, 0x2f,
  2393  	0x76, 0x31, 0x2f, 0x7b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
  2394  	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61,
  2395  	0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x2f,
  2396  	0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x1a, 0xb0, 0x01, 0xca, 0x41, 0x1e,
  2397  	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
  2398  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41,
  2399  	0x8b, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f,
  2400  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74,
  2401  	0x68, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73,
  2402  	0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
  2403  	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75,
  2404  	0x65, 0x72, 0x79, 0x2e, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x68,
  2405  	0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2406  	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63,
  2407  	0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x94, 0x02,
  2408  	0xea, 0x41, 0x55, 0x0a, 0x1d, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x67, 0x6f,
  2409  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x62,
  2410  	0x6c, 0x65, 0x12, 0x34, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72,
  2411  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f,
  2412  	0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x7d, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73,
  2413  	0x2f, 0x7b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x7d, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f,
  2414  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
  2415  	0x65, 0x72, 0x79, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0c,
  2416  	0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e,
  2417  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d,
  2418  	0x2f, 0x67, 0x6f, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x73, 0x74, 0x6f,
  2419  	0x72, 0x61, 0x67, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61,
  2420  	0x67, 0x65, 0x70, 0x62, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x70, 0x62, 0xaa, 0x02,
  2421  	0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x42, 0x69,
  2422  	0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x56,
  2423  	0x31, 0xca, 0x02, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64,
  2424  	0x5c, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x5c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
  2425  	0x65, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  2426  }
  2427  
  2428  var (
  2429  	file_google_cloud_bigquery_storage_v1_storage_proto_rawDescOnce sync.Once
  2430  	file_google_cloud_bigquery_storage_v1_storage_proto_rawDescData = file_google_cloud_bigquery_storage_v1_storage_proto_rawDesc
  2431  )
  2432  
  2433  func file_google_cloud_bigquery_storage_v1_storage_proto_rawDescGZIP() []byte {
  2434  	file_google_cloud_bigquery_storage_v1_storage_proto_rawDescOnce.Do(func() {
  2435  		file_google_cloud_bigquery_storage_v1_storage_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_bigquery_storage_v1_storage_proto_rawDescData)
  2436  	})
  2437  	return file_google_cloud_bigquery_storage_v1_storage_proto_rawDescData
  2438  }
  2439  
  2440  var file_google_cloud_bigquery_storage_v1_storage_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
  2441  var file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
  2442  var file_google_cloud_bigquery_storage_v1_storage_proto_goTypes = []interface{}{
  2443  	(AppendRowsRequest_MissingValueInterpretation)(0), // 0: google.cloud.bigquery.storage.v1.AppendRowsRequest.MissingValueInterpretation
  2444  	(StorageError_StorageErrorCode)(0),                // 1: google.cloud.bigquery.storage.v1.StorageError.StorageErrorCode
  2445  	(RowError_RowErrorCode)(0),                        // 2: google.cloud.bigquery.storage.v1.RowError.RowErrorCode
  2446  	(*CreateReadSessionRequest)(nil),                  // 3: google.cloud.bigquery.storage.v1.CreateReadSessionRequest
  2447  	(*ReadRowsRequest)(nil),                           // 4: google.cloud.bigquery.storage.v1.ReadRowsRequest
  2448  	(*ThrottleState)(nil),                             // 5: google.cloud.bigquery.storage.v1.ThrottleState
  2449  	(*StreamStats)(nil),                               // 6: google.cloud.bigquery.storage.v1.StreamStats
  2450  	(*ReadRowsResponse)(nil),                          // 7: google.cloud.bigquery.storage.v1.ReadRowsResponse
  2451  	(*SplitReadStreamRequest)(nil),                    // 8: google.cloud.bigquery.storage.v1.SplitReadStreamRequest
  2452  	(*SplitReadStreamResponse)(nil),                   // 9: google.cloud.bigquery.storage.v1.SplitReadStreamResponse
  2453  	(*CreateWriteStreamRequest)(nil),                  // 10: google.cloud.bigquery.storage.v1.CreateWriteStreamRequest
  2454  	(*AppendRowsRequest)(nil),                         // 11: google.cloud.bigquery.storage.v1.AppendRowsRequest
  2455  	(*AppendRowsResponse)(nil),                        // 12: google.cloud.bigquery.storage.v1.AppendRowsResponse
  2456  	(*GetWriteStreamRequest)(nil),                     // 13: google.cloud.bigquery.storage.v1.GetWriteStreamRequest
  2457  	(*BatchCommitWriteStreamsRequest)(nil),            // 14: google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest
  2458  	(*BatchCommitWriteStreamsResponse)(nil),           // 15: google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse
  2459  	(*FinalizeWriteStreamRequest)(nil),                // 16: google.cloud.bigquery.storage.v1.FinalizeWriteStreamRequest
  2460  	(*FinalizeWriteStreamResponse)(nil),               // 17: google.cloud.bigquery.storage.v1.FinalizeWriteStreamResponse
  2461  	(*FlushRowsRequest)(nil),                          // 18: google.cloud.bigquery.storage.v1.FlushRowsRequest
  2462  	(*FlushRowsResponse)(nil),                         // 19: google.cloud.bigquery.storage.v1.FlushRowsResponse
  2463  	(*StorageError)(nil),                              // 20: google.cloud.bigquery.storage.v1.StorageError
  2464  	(*RowError)(nil),                                  // 21: google.cloud.bigquery.storage.v1.RowError
  2465  	(*StreamStats_Progress)(nil),                      // 22: google.cloud.bigquery.storage.v1.StreamStats.Progress
  2466  	(*AppendRowsRequest_ProtoData)(nil),               // 23: google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData
  2467  	nil,                                               // 24: google.cloud.bigquery.storage.v1.AppendRowsRequest.MissingValueInterpretationsEntry
  2468  	(*AppendRowsResponse_AppendResult)(nil),           // 25: google.cloud.bigquery.storage.v1.AppendRowsResponse.AppendResult
  2469  	(*ReadSession)(nil),                               // 26: google.cloud.bigquery.storage.v1.ReadSession
  2470  	(*AvroRows)(nil),                                  // 27: google.cloud.bigquery.storage.v1.AvroRows
  2471  	(*ArrowRecordBatch)(nil),                          // 28: google.cloud.bigquery.storage.v1.ArrowRecordBatch
  2472  	(*AvroSchema)(nil),                                // 29: google.cloud.bigquery.storage.v1.AvroSchema
  2473  	(*ArrowSchema)(nil),                               // 30: google.cloud.bigquery.storage.v1.ArrowSchema
  2474  	(*ReadStream)(nil),                                // 31: google.cloud.bigquery.storage.v1.ReadStream
  2475  	(*WriteStream)(nil),                               // 32: google.cloud.bigquery.storage.v1.WriteStream
  2476  	(*wrapperspb.Int64Value)(nil),                     // 33: google.protobuf.Int64Value
  2477  	(*status.Status)(nil),                             // 34: google.rpc.Status
  2478  	(*TableSchema)(nil),                               // 35: google.cloud.bigquery.storage.v1.TableSchema
  2479  	(WriteStreamView)(0),                              // 36: google.cloud.bigquery.storage.v1.WriteStreamView
  2480  	(*timestamppb.Timestamp)(nil),                     // 37: google.protobuf.Timestamp
  2481  	(*ProtoSchema)(nil),                               // 38: google.cloud.bigquery.storage.v1.ProtoSchema
  2482  	(*ProtoRows)(nil),                                 // 39: google.cloud.bigquery.storage.v1.ProtoRows
  2483  }
  2484  var file_google_cloud_bigquery_storage_v1_storage_proto_depIdxs = []int32{
  2485  	26, // 0: google.cloud.bigquery.storage.v1.CreateReadSessionRequest.read_session:type_name -> google.cloud.bigquery.storage.v1.ReadSession
  2486  	22, // 1: google.cloud.bigquery.storage.v1.StreamStats.progress:type_name -> google.cloud.bigquery.storage.v1.StreamStats.Progress
  2487  	27, // 2: google.cloud.bigquery.storage.v1.ReadRowsResponse.avro_rows:type_name -> google.cloud.bigquery.storage.v1.AvroRows
  2488  	28, // 3: google.cloud.bigquery.storage.v1.ReadRowsResponse.arrow_record_batch:type_name -> google.cloud.bigquery.storage.v1.ArrowRecordBatch
  2489  	6,  // 4: google.cloud.bigquery.storage.v1.ReadRowsResponse.stats:type_name -> google.cloud.bigquery.storage.v1.StreamStats
  2490  	5,  // 5: google.cloud.bigquery.storage.v1.ReadRowsResponse.throttle_state:type_name -> google.cloud.bigquery.storage.v1.ThrottleState
  2491  	29, // 6: google.cloud.bigquery.storage.v1.ReadRowsResponse.avro_schema:type_name -> google.cloud.bigquery.storage.v1.AvroSchema
  2492  	30, // 7: google.cloud.bigquery.storage.v1.ReadRowsResponse.arrow_schema:type_name -> google.cloud.bigquery.storage.v1.ArrowSchema
  2493  	31, // 8: google.cloud.bigquery.storage.v1.SplitReadStreamResponse.primary_stream:type_name -> google.cloud.bigquery.storage.v1.ReadStream
  2494  	31, // 9: google.cloud.bigquery.storage.v1.SplitReadStreamResponse.remainder_stream:type_name -> google.cloud.bigquery.storage.v1.ReadStream
  2495  	32, // 10: google.cloud.bigquery.storage.v1.CreateWriteStreamRequest.write_stream:type_name -> google.cloud.bigquery.storage.v1.WriteStream
  2496  	33, // 11: google.cloud.bigquery.storage.v1.AppendRowsRequest.offset:type_name -> google.protobuf.Int64Value
  2497  	23, // 12: google.cloud.bigquery.storage.v1.AppendRowsRequest.proto_rows:type_name -> google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData
  2498  	24, // 13: google.cloud.bigquery.storage.v1.AppendRowsRequest.missing_value_interpretations:type_name -> google.cloud.bigquery.storage.v1.AppendRowsRequest.MissingValueInterpretationsEntry
  2499  	0,  // 14: google.cloud.bigquery.storage.v1.AppendRowsRequest.default_missing_value_interpretation:type_name -> google.cloud.bigquery.storage.v1.AppendRowsRequest.MissingValueInterpretation
  2500  	25, // 15: google.cloud.bigquery.storage.v1.AppendRowsResponse.append_result:type_name -> google.cloud.bigquery.storage.v1.AppendRowsResponse.AppendResult
  2501  	34, // 16: google.cloud.bigquery.storage.v1.AppendRowsResponse.error:type_name -> google.rpc.Status
  2502  	35, // 17: google.cloud.bigquery.storage.v1.AppendRowsResponse.updated_schema:type_name -> google.cloud.bigquery.storage.v1.TableSchema
  2503  	21, // 18: google.cloud.bigquery.storage.v1.AppendRowsResponse.row_errors:type_name -> google.cloud.bigquery.storage.v1.RowError
  2504  	36, // 19: google.cloud.bigquery.storage.v1.GetWriteStreamRequest.view:type_name -> google.cloud.bigquery.storage.v1.WriteStreamView
  2505  	37, // 20: google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse.commit_time:type_name -> google.protobuf.Timestamp
  2506  	20, // 21: google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse.stream_errors:type_name -> google.cloud.bigquery.storage.v1.StorageError
  2507  	33, // 22: google.cloud.bigquery.storage.v1.FlushRowsRequest.offset:type_name -> google.protobuf.Int64Value
  2508  	1,  // 23: google.cloud.bigquery.storage.v1.StorageError.code:type_name -> google.cloud.bigquery.storage.v1.StorageError.StorageErrorCode
  2509  	2,  // 24: google.cloud.bigquery.storage.v1.RowError.code:type_name -> google.cloud.bigquery.storage.v1.RowError.RowErrorCode
  2510  	38, // 25: google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData.writer_schema:type_name -> google.cloud.bigquery.storage.v1.ProtoSchema
  2511  	39, // 26: google.cloud.bigquery.storage.v1.AppendRowsRequest.ProtoData.rows:type_name -> google.cloud.bigquery.storage.v1.ProtoRows
  2512  	0,  // 27: google.cloud.bigquery.storage.v1.AppendRowsRequest.MissingValueInterpretationsEntry.value:type_name -> google.cloud.bigquery.storage.v1.AppendRowsRequest.MissingValueInterpretation
  2513  	33, // 28: google.cloud.bigquery.storage.v1.AppendRowsResponse.AppendResult.offset:type_name -> google.protobuf.Int64Value
  2514  	3,  // 29: google.cloud.bigquery.storage.v1.BigQueryRead.CreateReadSession:input_type -> google.cloud.bigquery.storage.v1.CreateReadSessionRequest
  2515  	4,  // 30: google.cloud.bigquery.storage.v1.BigQueryRead.ReadRows:input_type -> google.cloud.bigquery.storage.v1.ReadRowsRequest
  2516  	8,  // 31: google.cloud.bigquery.storage.v1.BigQueryRead.SplitReadStream:input_type -> google.cloud.bigquery.storage.v1.SplitReadStreamRequest
  2517  	10, // 32: google.cloud.bigquery.storage.v1.BigQueryWrite.CreateWriteStream:input_type -> google.cloud.bigquery.storage.v1.CreateWriteStreamRequest
  2518  	11, // 33: google.cloud.bigquery.storage.v1.BigQueryWrite.AppendRows:input_type -> google.cloud.bigquery.storage.v1.AppendRowsRequest
  2519  	13, // 34: google.cloud.bigquery.storage.v1.BigQueryWrite.GetWriteStream:input_type -> google.cloud.bigquery.storage.v1.GetWriteStreamRequest
  2520  	16, // 35: google.cloud.bigquery.storage.v1.BigQueryWrite.FinalizeWriteStream:input_type -> google.cloud.bigquery.storage.v1.FinalizeWriteStreamRequest
  2521  	14, // 36: google.cloud.bigquery.storage.v1.BigQueryWrite.BatchCommitWriteStreams:input_type -> google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsRequest
  2522  	18, // 37: google.cloud.bigquery.storage.v1.BigQueryWrite.FlushRows:input_type -> google.cloud.bigquery.storage.v1.FlushRowsRequest
  2523  	26, // 38: google.cloud.bigquery.storage.v1.BigQueryRead.CreateReadSession:output_type -> google.cloud.bigquery.storage.v1.ReadSession
  2524  	7,  // 39: google.cloud.bigquery.storage.v1.BigQueryRead.ReadRows:output_type -> google.cloud.bigquery.storage.v1.ReadRowsResponse
  2525  	9,  // 40: google.cloud.bigquery.storage.v1.BigQueryRead.SplitReadStream:output_type -> google.cloud.bigquery.storage.v1.SplitReadStreamResponse
  2526  	32, // 41: google.cloud.bigquery.storage.v1.BigQueryWrite.CreateWriteStream:output_type -> google.cloud.bigquery.storage.v1.WriteStream
  2527  	12, // 42: google.cloud.bigquery.storage.v1.BigQueryWrite.AppendRows:output_type -> google.cloud.bigquery.storage.v1.AppendRowsResponse
  2528  	32, // 43: google.cloud.bigquery.storage.v1.BigQueryWrite.GetWriteStream:output_type -> google.cloud.bigquery.storage.v1.WriteStream
  2529  	17, // 44: google.cloud.bigquery.storage.v1.BigQueryWrite.FinalizeWriteStream:output_type -> google.cloud.bigquery.storage.v1.FinalizeWriteStreamResponse
  2530  	15, // 45: google.cloud.bigquery.storage.v1.BigQueryWrite.BatchCommitWriteStreams:output_type -> google.cloud.bigquery.storage.v1.BatchCommitWriteStreamsResponse
  2531  	19, // 46: google.cloud.bigquery.storage.v1.BigQueryWrite.FlushRows:output_type -> google.cloud.bigquery.storage.v1.FlushRowsResponse
  2532  	38, // [38:47] is the sub-list for method output_type
  2533  	29, // [29:38] is the sub-list for method input_type
  2534  	29, // [29:29] is the sub-list for extension type_name
  2535  	29, // [29:29] is the sub-list for extension extendee
  2536  	0,  // [0:29] is the sub-list for field type_name
  2537  }
  2538  
  2539  func init() { file_google_cloud_bigquery_storage_v1_storage_proto_init() }
  2540  func file_google_cloud_bigquery_storage_v1_storage_proto_init() {
  2541  	if File_google_cloud_bigquery_storage_v1_storage_proto != nil {
  2542  		return
  2543  	}
  2544  	file_google_cloud_bigquery_storage_v1_arrow_proto_init()
  2545  	file_google_cloud_bigquery_storage_v1_avro_proto_init()
  2546  	file_google_cloud_bigquery_storage_v1_protobuf_proto_init()
  2547  	file_google_cloud_bigquery_storage_v1_stream_proto_init()
  2548  	file_google_cloud_bigquery_storage_v1_table_proto_init()
  2549  	if !protoimpl.UnsafeEnabled {
  2550  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2551  			switch v := v.(*CreateReadSessionRequest); i {
  2552  			case 0:
  2553  				return &v.state
  2554  			case 1:
  2555  				return &v.sizeCache
  2556  			case 2:
  2557  				return &v.unknownFields
  2558  			default:
  2559  				return nil
  2560  			}
  2561  		}
  2562  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2563  			switch v := v.(*ReadRowsRequest); i {
  2564  			case 0:
  2565  				return &v.state
  2566  			case 1:
  2567  				return &v.sizeCache
  2568  			case 2:
  2569  				return &v.unknownFields
  2570  			default:
  2571  				return nil
  2572  			}
  2573  		}
  2574  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2575  			switch v := v.(*ThrottleState); i {
  2576  			case 0:
  2577  				return &v.state
  2578  			case 1:
  2579  				return &v.sizeCache
  2580  			case 2:
  2581  				return &v.unknownFields
  2582  			default:
  2583  				return nil
  2584  			}
  2585  		}
  2586  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2587  			switch v := v.(*StreamStats); i {
  2588  			case 0:
  2589  				return &v.state
  2590  			case 1:
  2591  				return &v.sizeCache
  2592  			case 2:
  2593  				return &v.unknownFields
  2594  			default:
  2595  				return nil
  2596  			}
  2597  		}
  2598  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  2599  			switch v := v.(*ReadRowsResponse); i {
  2600  			case 0:
  2601  				return &v.state
  2602  			case 1:
  2603  				return &v.sizeCache
  2604  			case 2:
  2605  				return &v.unknownFields
  2606  			default:
  2607  				return nil
  2608  			}
  2609  		}
  2610  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  2611  			switch v := v.(*SplitReadStreamRequest); i {
  2612  			case 0:
  2613  				return &v.state
  2614  			case 1:
  2615  				return &v.sizeCache
  2616  			case 2:
  2617  				return &v.unknownFields
  2618  			default:
  2619  				return nil
  2620  			}
  2621  		}
  2622  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  2623  			switch v := v.(*SplitReadStreamResponse); i {
  2624  			case 0:
  2625  				return &v.state
  2626  			case 1:
  2627  				return &v.sizeCache
  2628  			case 2:
  2629  				return &v.unknownFields
  2630  			default:
  2631  				return nil
  2632  			}
  2633  		}
  2634  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  2635  			switch v := v.(*CreateWriteStreamRequest); i {
  2636  			case 0:
  2637  				return &v.state
  2638  			case 1:
  2639  				return &v.sizeCache
  2640  			case 2:
  2641  				return &v.unknownFields
  2642  			default:
  2643  				return nil
  2644  			}
  2645  		}
  2646  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  2647  			switch v := v.(*AppendRowsRequest); i {
  2648  			case 0:
  2649  				return &v.state
  2650  			case 1:
  2651  				return &v.sizeCache
  2652  			case 2:
  2653  				return &v.unknownFields
  2654  			default:
  2655  				return nil
  2656  			}
  2657  		}
  2658  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  2659  			switch v := v.(*AppendRowsResponse); i {
  2660  			case 0:
  2661  				return &v.state
  2662  			case 1:
  2663  				return &v.sizeCache
  2664  			case 2:
  2665  				return &v.unknownFields
  2666  			default:
  2667  				return nil
  2668  			}
  2669  		}
  2670  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  2671  			switch v := v.(*GetWriteStreamRequest); i {
  2672  			case 0:
  2673  				return &v.state
  2674  			case 1:
  2675  				return &v.sizeCache
  2676  			case 2:
  2677  				return &v.unknownFields
  2678  			default:
  2679  				return nil
  2680  			}
  2681  		}
  2682  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  2683  			switch v := v.(*BatchCommitWriteStreamsRequest); i {
  2684  			case 0:
  2685  				return &v.state
  2686  			case 1:
  2687  				return &v.sizeCache
  2688  			case 2:
  2689  				return &v.unknownFields
  2690  			default:
  2691  				return nil
  2692  			}
  2693  		}
  2694  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  2695  			switch v := v.(*BatchCommitWriteStreamsResponse); i {
  2696  			case 0:
  2697  				return &v.state
  2698  			case 1:
  2699  				return &v.sizeCache
  2700  			case 2:
  2701  				return &v.unknownFields
  2702  			default:
  2703  				return nil
  2704  			}
  2705  		}
  2706  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  2707  			switch v := v.(*FinalizeWriteStreamRequest); i {
  2708  			case 0:
  2709  				return &v.state
  2710  			case 1:
  2711  				return &v.sizeCache
  2712  			case 2:
  2713  				return &v.unknownFields
  2714  			default:
  2715  				return nil
  2716  			}
  2717  		}
  2718  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  2719  			switch v := v.(*FinalizeWriteStreamResponse); i {
  2720  			case 0:
  2721  				return &v.state
  2722  			case 1:
  2723  				return &v.sizeCache
  2724  			case 2:
  2725  				return &v.unknownFields
  2726  			default:
  2727  				return nil
  2728  			}
  2729  		}
  2730  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  2731  			switch v := v.(*FlushRowsRequest); i {
  2732  			case 0:
  2733  				return &v.state
  2734  			case 1:
  2735  				return &v.sizeCache
  2736  			case 2:
  2737  				return &v.unknownFields
  2738  			default:
  2739  				return nil
  2740  			}
  2741  		}
  2742  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  2743  			switch v := v.(*FlushRowsResponse); i {
  2744  			case 0:
  2745  				return &v.state
  2746  			case 1:
  2747  				return &v.sizeCache
  2748  			case 2:
  2749  				return &v.unknownFields
  2750  			default:
  2751  				return nil
  2752  			}
  2753  		}
  2754  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  2755  			switch v := v.(*StorageError); i {
  2756  			case 0:
  2757  				return &v.state
  2758  			case 1:
  2759  				return &v.sizeCache
  2760  			case 2:
  2761  				return &v.unknownFields
  2762  			default:
  2763  				return nil
  2764  			}
  2765  		}
  2766  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  2767  			switch v := v.(*RowError); i {
  2768  			case 0:
  2769  				return &v.state
  2770  			case 1:
  2771  				return &v.sizeCache
  2772  			case 2:
  2773  				return &v.unknownFields
  2774  			default:
  2775  				return nil
  2776  			}
  2777  		}
  2778  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  2779  			switch v := v.(*StreamStats_Progress); i {
  2780  			case 0:
  2781  				return &v.state
  2782  			case 1:
  2783  				return &v.sizeCache
  2784  			case 2:
  2785  				return &v.unknownFields
  2786  			default:
  2787  				return nil
  2788  			}
  2789  		}
  2790  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  2791  			switch v := v.(*AppendRowsRequest_ProtoData); i {
  2792  			case 0:
  2793  				return &v.state
  2794  			case 1:
  2795  				return &v.sizeCache
  2796  			case 2:
  2797  				return &v.unknownFields
  2798  			default:
  2799  				return nil
  2800  			}
  2801  		}
  2802  		file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  2803  			switch v := v.(*AppendRowsResponse_AppendResult); i {
  2804  			case 0:
  2805  				return &v.state
  2806  			case 1:
  2807  				return &v.sizeCache
  2808  			case 2:
  2809  				return &v.unknownFields
  2810  			default:
  2811  				return nil
  2812  			}
  2813  		}
  2814  	}
  2815  	file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[4].OneofWrappers = []interface{}{
  2816  		(*ReadRowsResponse_AvroRows)(nil),
  2817  		(*ReadRowsResponse_ArrowRecordBatch)(nil),
  2818  		(*ReadRowsResponse_AvroSchema)(nil),
  2819  		(*ReadRowsResponse_ArrowSchema)(nil),
  2820  	}
  2821  	file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[8].OneofWrappers = []interface{}{
  2822  		(*AppendRowsRequest_ProtoRows)(nil),
  2823  	}
  2824  	file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes[9].OneofWrappers = []interface{}{
  2825  		(*AppendRowsResponse_AppendResult_)(nil),
  2826  		(*AppendRowsResponse_Error)(nil),
  2827  	}
  2828  	type x struct{}
  2829  	out := protoimpl.TypeBuilder{
  2830  		File: protoimpl.DescBuilder{
  2831  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  2832  			RawDescriptor: file_google_cloud_bigquery_storage_v1_storage_proto_rawDesc,
  2833  			NumEnums:      3,
  2834  			NumMessages:   23,
  2835  			NumExtensions: 0,
  2836  			NumServices:   2,
  2837  		},
  2838  		GoTypes:           file_google_cloud_bigquery_storage_v1_storage_proto_goTypes,
  2839  		DependencyIndexes: file_google_cloud_bigquery_storage_v1_storage_proto_depIdxs,
  2840  		EnumInfos:         file_google_cloud_bigquery_storage_v1_storage_proto_enumTypes,
  2841  		MessageInfos:      file_google_cloud_bigquery_storage_v1_storage_proto_msgTypes,
  2842  	}.Build()
  2843  	File_google_cloud_bigquery_storage_v1_storage_proto = out.File
  2844  	file_google_cloud_bigquery_storage_v1_storage_proto_rawDesc = nil
  2845  	file_google_cloud_bigquery_storage_v1_storage_proto_goTypes = nil
  2846  	file_google_cloud_bigquery_storage_v1_storage_proto_depIdxs = nil
  2847  }
  2848  
  2849  // Reference imports to suppress errors if they are not otherwise used.
  2850  var _ context.Context
  2851  var _ grpc.ClientConnInterface
  2852  
  2853  // This is a compile-time assertion to ensure that this generated file
  2854  // is compatible with the grpc package it is being compiled against.
  2855  const _ = grpc.SupportPackageIsVersion6
  2856  
  2857  // BigQueryReadClient is the client API for BigQueryRead service.
  2858  //
  2859  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  2860  type BigQueryReadClient interface {
  2861  	// Creates a new read session. A read session divides the contents of a
  2862  	// BigQuery table into one or more streams, which can then be used to read
  2863  	// data from the table. The read session also specifies properties of the
  2864  	// data to be read, such as a list of columns or a push-down filter describing
  2865  	// the rows to be returned.
  2866  	//
  2867  	// A particular row can be read by at most one stream. When the caller has
  2868  	// reached the end of each stream in the session, then all the data in the
  2869  	// table has been read.
  2870  	//
  2871  	// Data is assigned to each stream such that roughly the same number of
  2872  	// rows can be read from each stream. Because the server-side unit for
  2873  	// assigning data is collections of rows, the API does not guarantee that
  2874  	// each stream will return the same number or rows. Additionally, the
  2875  	// limits are enforced based on the number of pre-filtered rows, so some
  2876  	// filters can lead to lopsided assignments.
  2877  	//
  2878  	// Read sessions automatically expire 6 hours after they are created and do
  2879  	// not require manual clean-up by the caller.
  2880  	CreateReadSession(ctx context.Context, in *CreateReadSessionRequest, opts ...grpc.CallOption) (*ReadSession, error)
  2881  	// Reads rows from the stream in the format prescribed by the ReadSession.
  2882  	// Each response contains one or more table rows, up to a maximum of 100 MiB
  2883  	// per response; read requests which attempt to read individual rows larger
  2884  	// than 100 MiB will fail.
  2885  	//
  2886  	// Each request also returns a set of stream statistics reflecting the current
  2887  	// state of the stream.
  2888  	ReadRows(ctx context.Context, in *ReadRowsRequest, opts ...grpc.CallOption) (BigQueryRead_ReadRowsClient, error)
  2889  	// Splits a given `ReadStream` into two `ReadStream` objects. These
  2890  	// `ReadStream` objects are referred to as the primary and the residual
  2891  	// streams of the split. The original `ReadStream` can still be read from in
  2892  	// the same manner as before. Both of the returned `ReadStream` objects can
  2893  	// also be read from, and the rows returned by both child streams will be
  2894  	// the same as the rows read from the original stream.
  2895  	//
  2896  	// Moreover, the two child streams will be allocated back-to-back in the
  2897  	// original `ReadStream`. Concretely, it is guaranteed that for streams
  2898  	// original, primary, and residual, that original[0-j] = primary[0-j] and
  2899  	// original[j-n] = residual[0-m] once the streams have been read to
  2900  	// completion.
  2901  	SplitReadStream(ctx context.Context, in *SplitReadStreamRequest, opts ...grpc.CallOption) (*SplitReadStreamResponse, error)
  2902  }
  2903  
  2904  type bigQueryReadClient struct {
  2905  	cc grpc.ClientConnInterface
  2906  }
  2907  
  2908  func NewBigQueryReadClient(cc grpc.ClientConnInterface) BigQueryReadClient {
  2909  	return &bigQueryReadClient{cc}
  2910  }
  2911  
  2912  func (c *bigQueryReadClient) CreateReadSession(ctx context.Context, in *CreateReadSessionRequest, opts ...grpc.CallOption) (*ReadSession, error) {
  2913  	out := new(ReadSession)
  2914  	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.storage.v1.BigQueryRead/CreateReadSession", in, out, opts...)
  2915  	if err != nil {
  2916  		return nil, err
  2917  	}
  2918  	return out, nil
  2919  }
  2920  
  2921  func (c *bigQueryReadClient) ReadRows(ctx context.Context, in *ReadRowsRequest, opts ...grpc.CallOption) (BigQueryRead_ReadRowsClient, error) {
  2922  	stream, err := c.cc.NewStream(ctx, &_BigQueryRead_serviceDesc.Streams[0], "/google.cloud.bigquery.storage.v1.BigQueryRead/ReadRows", opts...)
  2923  	if err != nil {
  2924  		return nil, err
  2925  	}
  2926  	x := &bigQueryReadReadRowsClient{stream}
  2927  	if err := x.ClientStream.SendMsg(in); err != nil {
  2928  		return nil, err
  2929  	}
  2930  	if err := x.ClientStream.CloseSend(); err != nil {
  2931  		return nil, err
  2932  	}
  2933  	return x, nil
  2934  }
  2935  
  2936  type BigQueryRead_ReadRowsClient interface {
  2937  	Recv() (*ReadRowsResponse, error)
  2938  	grpc.ClientStream
  2939  }
  2940  
  2941  type bigQueryReadReadRowsClient struct {
  2942  	grpc.ClientStream
  2943  }
  2944  
  2945  func (x *bigQueryReadReadRowsClient) Recv() (*ReadRowsResponse, error) {
  2946  	m := new(ReadRowsResponse)
  2947  	if err := x.ClientStream.RecvMsg(m); err != nil {
  2948  		return nil, err
  2949  	}
  2950  	return m, nil
  2951  }
  2952  
  2953  func (c *bigQueryReadClient) SplitReadStream(ctx context.Context, in *SplitReadStreamRequest, opts ...grpc.CallOption) (*SplitReadStreamResponse, error) {
  2954  	out := new(SplitReadStreamResponse)
  2955  	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.storage.v1.BigQueryRead/SplitReadStream", in, out, opts...)
  2956  	if err != nil {
  2957  		return nil, err
  2958  	}
  2959  	return out, nil
  2960  }
  2961  
  2962  // BigQueryReadServer is the server API for BigQueryRead service.
  2963  type BigQueryReadServer interface {
  2964  	// Creates a new read session. A read session divides the contents of a
  2965  	// BigQuery table into one or more streams, which can then be used to read
  2966  	// data from the table. The read session also specifies properties of the
  2967  	// data to be read, such as a list of columns or a push-down filter describing
  2968  	// the rows to be returned.
  2969  	//
  2970  	// A particular row can be read by at most one stream. When the caller has
  2971  	// reached the end of each stream in the session, then all the data in the
  2972  	// table has been read.
  2973  	//
  2974  	// Data is assigned to each stream such that roughly the same number of
  2975  	// rows can be read from each stream. Because the server-side unit for
  2976  	// assigning data is collections of rows, the API does not guarantee that
  2977  	// each stream will return the same number or rows. Additionally, the
  2978  	// limits are enforced based on the number of pre-filtered rows, so some
  2979  	// filters can lead to lopsided assignments.
  2980  	//
  2981  	// Read sessions automatically expire 6 hours after they are created and do
  2982  	// not require manual clean-up by the caller.
  2983  	CreateReadSession(context.Context, *CreateReadSessionRequest) (*ReadSession, error)
  2984  	// Reads rows from the stream in the format prescribed by the ReadSession.
  2985  	// Each response contains one or more table rows, up to a maximum of 100 MiB
  2986  	// per response; read requests which attempt to read individual rows larger
  2987  	// than 100 MiB will fail.
  2988  	//
  2989  	// Each request also returns a set of stream statistics reflecting the current
  2990  	// state of the stream.
  2991  	ReadRows(*ReadRowsRequest, BigQueryRead_ReadRowsServer) error
  2992  	// Splits a given `ReadStream` into two `ReadStream` objects. These
  2993  	// `ReadStream` objects are referred to as the primary and the residual
  2994  	// streams of the split. The original `ReadStream` can still be read from in
  2995  	// the same manner as before. Both of the returned `ReadStream` objects can
  2996  	// also be read from, and the rows returned by both child streams will be
  2997  	// the same as the rows read from the original stream.
  2998  	//
  2999  	// Moreover, the two child streams will be allocated back-to-back in the
  3000  	// original `ReadStream`. Concretely, it is guaranteed that for streams
  3001  	// original, primary, and residual, that original[0-j] = primary[0-j] and
  3002  	// original[j-n] = residual[0-m] once the streams have been read to
  3003  	// completion.
  3004  	SplitReadStream(context.Context, *SplitReadStreamRequest) (*SplitReadStreamResponse, error)
  3005  }
  3006  
  3007  // UnimplementedBigQueryReadServer can be embedded to have forward compatible implementations.
  3008  type UnimplementedBigQueryReadServer struct {
  3009  }
  3010  
  3011  func (*UnimplementedBigQueryReadServer) CreateReadSession(context.Context, *CreateReadSessionRequest) (*ReadSession, error) {
  3012  	return nil, status1.Errorf(codes.Unimplemented, "method CreateReadSession not implemented")
  3013  }
  3014  func (*UnimplementedBigQueryReadServer) ReadRows(*ReadRowsRequest, BigQueryRead_ReadRowsServer) error {
  3015  	return status1.Errorf(codes.Unimplemented, "method ReadRows not implemented")
  3016  }
  3017  func (*UnimplementedBigQueryReadServer) SplitReadStream(context.Context, *SplitReadStreamRequest) (*SplitReadStreamResponse, error) {
  3018  	return nil, status1.Errorf(codes.Unimplemented, "method SplitReadStream not implemented")
  3019  }
  3020  
  3021  func RegisterBigQueryReadServer(s *grpc.Server, srv BigQueryReadServer) {
  3022  	s.RegisterService(&_BigQueryRead_serviceDesc, srv)
  3023  }
  3024  
  3025  func _BigQueryRead_CreateReadSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3026  	in := new(CreateReadSessionRequest)
  3027  	if err := dec(in); err != nil {
  3028  		return nil, err
  3029  	}
  3030  	if interceptor == nil {
  3031  		return srv.(BigQueryReadServer).CreateReadSession(ctx, in)
  3032  	}
  3033  	info := &grpc.UnaryServerInfo{
  3034  		Server:     srv,
  3035  		FullMethod: "/google.cloud.bigquery.storage.v1.BigQueryRead/CreateReadSession",
  3036  	}
  3037  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3038  		return srv.(BigQueryReadServer).CreateReadSession(ctx, req.(*CreateReadSessionRequest))
  3039  	}
  3040  	return interceptor(ctx, in, info, handler)
  3041  }
  3042  
  3043  func _BigQueryRead_ReadRows_Handler(srv interface{}, stream grpc.ServerStream) error {
  3044  	m := new(ReadRowsRequest)
  3045  	if err := stream.RecvMsg(m); err != nil {
  3046  		return err
  3047  	}
  3048  	return srv.(BigQueryReadServer).ReadRows(m, &bigQueryReadReadRowsServer{stream})
  3049  }
  3050  
  3051  type BigQueryRead_ReadRowsServer interface {
  3052  	Send(*ReadRowsResponse) error
  3053  	grpc.ServerStream
  3054  }
  3055  
  3056  type bigQueryReadReadRowsServer struct {
  3057  	grpc.ServerStream
  3058  }
  3059  
  3060  func (x *bigQueryReadReadRowsServer) Send(m *ReadRowsResponse) error {
  3061  	return x.ServerStream.SendMsg(m)
  3062  }
  3063  
  3064  func _BigQueryRead_SplitReadStream_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3065  	in := new(SplitReadStreamRequest)
  3066  	if err := dec(in); err != nil {
  3067  		return nil, err
  3068  	}
  3069  	if interceptor == nil {
  3070  		return srv.(BigQueryReadServer).SplitReadStream(ctx, in)
  3071  	}
  3072  	info := &grpc.UnaryServerInfo{
  3073  		Server:     srv,
  3074  		FullMethod: "/google.cloud.bigquery.storage.v1.BigQueryRead/SplitReadStream",
  3075  	}
  3076  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3077  		return srv.(BigQueryReadServer).SplitReadStream(ctx, req.(*SplitReadStreamRequest))
  3078  	}
  3079  	return interceptor(ctx, in, info, handler)
  3080  }
  3081  
  3082  var _BigQueryRead_serviceDesc = grpc.ServiceDesc{
  3083  	ServiceName: "google.cloud.bigquery.storage.v1.BigQueryRead",
  3084  	HandlerType: (*BigQueryReadServer)(nil),
  3085  	Methods: []grpc.MethodDesc{
  3086  		{
  3087  			MethodName: "CreateReadSession",
  3088  			Handler:    _BigQueryRead_CreateReadSession_Handler,
  3089  		},
  3090  		{
  3091  			MethodName: "SplitReadStream",
  3092  			Handler:    _BigQueryRead_SplitReadStream_Handler,
  3093  		},
  3094  	},
  3095  	Streams: []grpc.StreamDesc{
  3096  		{
  3097  			StreamName:    "ReadRows",
  3098  			Handler:       _BigQueryRead_ReadRows_Handler,
  3099  			ServerStreams: true,
  3100  		},
  3101  	},
  3102  	Metadata: "google/cloud/bigquery/storage/v1/storage.proto",
  3103  }
  3104  
  3105  // BigQueryWriteClient is the client API for BigQueryWrite service.
  3106  //
  3107  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  3108  type BigQueryWriteClient interface {
  3109  	// Creates a write stream to the given table.
  3110  	// Additionally, every table has a special stream named '_default'
  3111  	// to which data can be written. This stream doesn't need to be created using
  3112  	// CreateWriteStream. It is a stream that can be used simultaneously by any
  3113  	// number of clients. Data written to this stream is considered committed as
  3114  	// soon as an acknowledgement is received.
  3115  	CreateWriteStream(ctx context.Context, in *CreateWriteStreamRequest, opts ...grpc.CallOption) (*WriteStream, error)
  3116  	// Appends data to the given stream.
  3117  	//
  3118  	// If `offset` is specified, the `offset` is checked against the end of
  3119  	// stream. The server returns `OUT_OF_RANGE` in `AppendRowsResponse` if an
  3120  	// attempt is made to append to an offset beyond the current end of the stream
  3121  	// or `ALREADY_EXISTS` if user provides an `offset` that has already been
  3122  	// written to. User can retry with adjusted offset within the same RPC
  3123  	// connection. If `offset` is not specified, append happens at the end of the
  3124  	// stream.
  3125  	//
  3126  	// The response contains an optional offset at which the append
  3127  	// happened.  No offset information will be returned for appends to a
  3128  	// default stream.
  3129  	//
  3130  	// Responses are received in the same order in which requests are sent.
  3131  	// There will be one response for each successful inserted request.  Responses
  3132  	// may optionally embed error information if the originating AppendRequest was
  3133  	// not successfully processed.
  3134  	//
  3135  	// The specifics of when successfully appended data is made visible to the
  3136  	// table are governed by the type of stream:
  3137  	//
  3138  	// * For COMMITTED streams (which includes the default stream), data is
  3139  	// visible immediately upon successful append.
  3140  	//
  3141  	// * For BUFFERED streams, data is made visible via a subsequent `FlushRows`
  3142  	// rpc which advances a cursor to a newer offset in the stream.
  3143  	//
  3144  	// * For PENDING streams, data is not made visible until the stream itself is
  3145  	// finalized (via the `FinalizeWriteStream` rpc), and the stream is explicitly
  3146  	// committed via the `BatchCommitWriteStreams` rpc.
  3147  	AppendRows(ctx context.Context, opts ...grpc.CallOption) (BigQueryWrite_AppendRowsClient, error)
  3148  	// Gets information about a write stream.
  3149  	GetWriteStream(ctx context.Context, in *GetWriteStreamRequest, opts ...grpc.CallOption) (*WriteStream, error)
  3150  	// Finalize a write stream so that no new data can be appended to the
  3151  	// stream. Finalize is not supported on the '_default' stream.
  3152  	FinalizeWriteStream(ctx context.Context, in *FinalizeWriteStreamRequest, opts ...grpc.CallOption) (*FinalizeWriteStreamResponse, error)
  3153  	// Atomically commits a group of `PENDING` streams that belong to the same
  3154  	// `parent` table.
  3155  	//
  3156  	// Streams must be finalized before commit and cannot be committed multiple
  3157  	// times. Once a stream is committed, data in the stream becomes available
  3158  	// for read operations.
  3159  	BatchCommitWriteStreams(ctx context.Context, in *BatchCommitWriteStreamsRequest, opts ...grpc.CallOption) (*BatchCommitWriteStreamsResponse, error)
  3160  	// Flushes rows to a BUFFERED stream.
  3161  	//
  3162  	// If users are appending rows to BUFFERED stream, flush operation is
  3163  	// required in order for the rows to become available for reading. A
  3164  	// Flush operation flushes up to any previously flushed offset in a BUFFERED
  3165  	// stream, to the offset specified in the request.
  3166  	//
  3167  	// Flush is not supported on the _default stream, since it is not BUFFERED.
  3168  	FlushRows(ctx context.Context, in *FlushRowsRequest, opts ...grpc.CallOption) (*FlushRowsResponse, error)
  3169  }
  3170  
  3171  type bigQueryWriteClient struct {
  3172  	cc grpc.ClientConnInterface
  3173  }
  3174  
  3175  func NewBigQueryWriteClient(cc grpc.ClientConnInterface) BigQueryWriteClient {
  3176  	return &bigQueryWriteClient{cc}
  3177  }
  3178  
  3179  func (c *bigQueryWriteClient) CreateWriteStream(ctx context.Context, in *CreateWriteStreamRequest, opts ...grpc.CallOption) (*WriteStream, error) {
  3180  	out := new(WriteStream)
  3181  	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.storage.v1.BigQueryWrite/CreateWriteStream", in, out, opts...)
  3182  	if err != nil {
  3183  		return nil, err
  3184  	}
  3185  	return out, nil
  3186  }
  3187  
  3188  func (c *bigQueryWriteClient) AppendRows(ctx context.Context, opts ...grpc.CallOption) (BigQueryWrite_AppendRowsClient, error) {
  3189  	stream, err := c.cc.NewStream(ctx, &_BigQueryWrite_serviceDesc.Streams[0], "/google.cloud.bigquery.storage.v1.BigQueryWrite/AppendRows", opts...)
  3190  	if err != nil {
  3191  		return nil, err
  3192  	}
  3193  	x := &bigQueryWriteAppendRowsClient{stream}
  3194  	return x, nil
  3195  }
  3196  
  3197  type BigQueryWrite_AppendRowsClient interface {
  3198  	Send(*AppendRowsRequest) error
  3199  	Recv() (*AppendRowsResponse, error)
  3200  	grpc.ClientStream
  3201  }
  3202  
  3203  type bigQueryWriteAppendRowsClient struct {
  3204  	grpc.ClientStream
  3205  }
  3206  
  3207  func (x *bigQueryWriteAppendRowsClient) Send(m *AppendRowsRequest) error {
  3208  	return x.ClientStream.SendMsg(m)
  3209  }
  3210  
  3211  func (x *bigQueryWriteAppendRowsClient) Recv() (*AppendRowsResponse, error) {
  3212  	m := new(AppendRowsResponse)
  3213  	if err := x.ClientStream.RecvMsg(m); err != nil {
  3214  		return nil, err
  3215  	}
  3216  	return m, nil
  3217  }
  3218  
  3219  func (c *bigQueryWriteClient) GetWriteStream(ctx context.Context, in *GetWriteStreamRequest, opts ...grpc.CallOption) (*WriteStream, error) {
  3220  	out := new(WriteStream)
  3221  	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.storage.v1.BigQueryWrite/GetWriteStream", in, out, opts...)
  3222  	if err != nil {
  3223  		return nil, err
  3224  	}
  3225  	return out, nil
  3226  }
  3227  
  3228  func (c *bigQueryWriteClient) FinalizeWriteStream(ctx context.Context, in *FinalizeWriteStreamRequest, opts ...grpc.CallOption) (*FinalizeWriteStreamResponse, error) {
  3229  	out := new(FinalizeWriteStreamResponse)
  3230  	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.storage.v1.BigQueryWrite/FinalizeWriteStream", in, out, opts...)
  3231  	if err != nil {
  3232  		return nil, err
  3233  	}
  3234  	return out, nil
  3235  }
  3236  
  3237  func (c *bigQueryWriteClient) BatchCommitWriteStreams(ctx context.Context, in *BatchCommitWriteStreamsRequest, opts ...grpc.CallOption) (*BatchCommitWriteStreamsResponse, error) {
  3238  	out := new(BatchCommitWriteStreamsResponse)
  3239  	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.storage.v1.BigQueryWrite/BatchCommitWriteStreams", in, out, opts...)
  3240  	if err != nil {
  3241  		return nil, err
  3242  	}
  3243  	return out, nil
  3244  }
  3245  
  3246  func (c *bigQueryWriteClient) FlushRows(ctx context.Context, in *FlushRowsRequest, opts ...grpc.CallOption) (*FlushRowsResponse, error) {
  3247  	out := new(FlushRowsResponse)
  3248  	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.storage.v1.BigQueryWrite/FlushRows", in, out, opts...)
  3249  	if err != nil {
  3250  		return nil, err
  3251  	}
  3252  	return out, nil
  3253  }
  3254  
  3255  // BigQueryWriteServer is the server API for BigQueryWrite service.
  3256  type BigQueryWriteServer interface {
  3257  	// Creates a write stream to the given table.
  3258  	// Additionally, every table has a special stream named '_default'
  3259  	// to which data can be written. This stream doesn't need to be created using
  3260  	// CreateWriteStream. It is a stream that can be used simultaneously by any
  3261  	// number of clients. Data written to this stream is considered committed as
  3262  	// soon as an acknowledgement is received.
  3263  	CreateWriteStream(context.Context, *CreateWriteStreamRequest) (*WriteStream, error)
  3264  	// Appends data to the given stream.
  3265  	//
  3266  	// If `offset` is specified, the `offset` is checked against the end of
  3267  	// stream. The server returns `OUT_OF_RANGE` in `AppendRowsResponse` if an
  3268  	// attempt is made to append to an offset beyond the current end of the stream
  3269  	// or `ALREADY_EXISTS` if user provides an `offset` that has already been
  3270  	// written to. User can retry with adjusted offset within the same RPC
  3271  	// connection. If `offset` is not specified, append happens at the end of the
  3272  	// stream.
  3273  	//
  3274  	// The response contains an optional offset at which the append
  3275  	// happened.  No offset information will be returned for appends to a
  3276  	// default stream.
  3277  	//
  3278  	// Responses are received in the same order in which requests are sent.
  3279  	// There will be one response for each successful inserted request.  Responses
  3280  	// may optionally embed error information if the originating AppendRequest was
  3281  	// not successfully processed.
  3282  	//
  3283  	// The specifics of when successfully appended data is made visible to the
  3284  	// table are governed by the type of stream:
  3285  	//
  3286  	// * For COMMITTED streams (which includes the default stream), data is
  3287  	// visible immediately upon successful append.
  3288  	//
  3289  	// * For BUFFERED streams, data is made visible via a subsequent `FlushRows`
  3290  	// rpc which advances a cursor to a newer offset in the stream.
  3291  	//
  3292  	// * For PENDING streams, data is not made visible until the stream itself is
  3293  	// finalized (via the `FinalizeWriteStream` rpc), and the stream is explicitly
  3294  	// committed via the `BatchCommitWriteStreams` rpc.
  3295  	AppendRows(BigQueryWrite_AppendRowsServer) error
  3296  	// Gets information about a write stream.
  3297  	GetWriteStream(context.Context, *GetWriteStreamRequest) (*WriteStream, error)
  3298  	// Finalize a write stream so that no new data can be appended to the
  3299  	// stream. Finalize is not supported on the '_default' stream.
  3300  	FinalizeWriteStream(context.Context, *FinalizeWriteStreamRequest) (*FinalizeWriteStreamResponse, error)
  3301  	// Atomically commits a group of `PENDING` streams that belong to the same
  3302  	// `parent` table.
  3303  	//
  3304  	// Streams must be finalized before commit and cannot be committed multiple
  3305  	// times. Once a stream is committed, data in the stream becomes available
  3306  	// for read operations.
  3307  	BatchCommitWriteStreams(context.Context, *BatchCommitWriteStreamsRequest) (*BatchCommitWriteStreamsResponse, error)
  3308  	// Flushes rows to a BUFFERED stream.
  3309  	//
  3310  	// If users are appending rows to BUFFERED stream, flush operation is
  3311  	// required in order for the rows to become available for reading. A
  3312  	// Flush operation flushes up to any previously flushed offset in a BUFFERED
  3313  	// stream, to the offset specified in the request.
  3314  	//
  3315  	// Flush is not supported on the _default stream, since it is not BUFFERED.
  3316  	FlushRows(context.Context, *FlushRowsRequest) (*FlushRowsResponse, error)
  3317  }
  3318  
  3319  // UnimplementedBigQueryWriteServer can be embedded to have forward compatible implementations.
  3320  type UnimplementedBigQueryWriteServer struct {
  3321  }
  3322  
  3323  func (*UnimplementedBigQueryWriteServer) CreateWriteStream(context.Context, *CreateWriteStreamRequest) (*WriteStream, error) {
  3324  	return nil, status1.Errorf(codes.Unimplemented, "method CreateWriteStream not implemented")
  3325  }
  3326  func (*UnimplementedBigQueryWriteServer) AppendRows(BigQueryWrite_AppendRowsServer) error {
  3327  	return status1.Errorf(codes.Unimplemented, "method AppendRows not implemented")
  3328  }
  3329  func (*UnimplementedBigQueryWriteServer) GetWriteStream(context.Context, *GetWriteStreamRequest) (*WriteStream, error) {
  3330  	return nil, status1.Errorf(codes.Unimplemented, "method GetWriteStream not implemented")
  3331  }
  3332  func (*UnimplementedBigQueryWriteServer) FinalizeWriteStream(context.Context, *FinalizeWriteStreamRequest) (*FinalizeWriteStreamResponse, error) {
  3333  	return nil, status1.Errorf(codes.Unimplemented, "method FinalizeWriteStream not implemented")
  3334  }
  3335  func (*UnimplementedBigQueryWriteServer) BatchCommitWriteStreams(context.Context, *BatchCommitWriteStreamsRequest) (*BatchCommitWriteStreamsResponse, error) {
  3336  	return nil, status1.Errorf(codes.Unimplemented, "method BatchCommitWriteStreams not implemented")
  3337  }
  3338  func (*UnimplementedBigQueryWriteServer) FlushRows(context.Context, *FlushRowsRequest) (*FlushRowsResponse, error) {
  3339  	return nil, status1.Errorf(codes.Unimplemented, "method FlushRows not implemented")
  3340  }
  3341  
  3342  func RegisterBigQueryWriteServer(s *grpc.Server, srv BigQueryWriteServer) {
  3343  	s.RegisterService(&_BigQueryWrite_serviceDesc, srv)
  3344  }
  3345  
  3346  func _BigQueryWrite_CreateWriteStream_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3347  	in := new(CreateWriteStreamRequest)
  3348  	if err := dec(in); err != nil {
  3349  		return nil, err
  3350  	}
  3351  	if interceptor == nil {
  3352  		return srv.(BigQueryWriteServer).CreateWriteStream(ctx, in)
  3353  	}
  3354  	info := &grpc.UnaryServerInfo{
  3355  		Server:     srv,
  3356  		FullMethod: "/google.cloud.bigquery.storage.v1.BigQueryWrite/CreateWriteStream",
  3357  	}
  3358  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3359  		return srv.(BigQueryWriteServer).CreateWriteStream(ctx, req.(*CreateWriteStreamRequest))
  3360  	}
  3361  	return interceptor(ctx, in, info, handler)
  3362  }
  3363  
  3364  func _BigQueryWrite_AppendRows_Handler(srv interface{}, stream grpc.ServerStream) error {
  3365  	return srv.(BigQueryWriteServer).AppendRows(&bigQueryWriteAppendRowsServer{stream})
  3366  }
  3367  
  3368  type BigQueryWrite_AppendRowsServer interface {
  3369  	Send(*AppendRowsResponse) error
  3370  	Recv() (*AppendRowsRequest, error)
  3371  	grpc.ServerStream
  3372  }
  3373  
  3374  type bigQueryWriteAppendRowsServer struct {
  3375  	grpc.ServerStream
  3376  }
  3377  
  3378  func (x *bigQueryWriteAppendRowsServer) Send(m *AppendRowsResponse) error {
  3379  	return x.ServerStream.SendMsg(m)
  3380  }
  3381  
  3382  func (x *bigQueryWriteAppendRowsServer) Recv() (*AppendRowsRequest, error) {
  3383  	m := new(AppendRowsRequest)
  3384  	if err := x.ServerStream.RecvMsg(m); err != nil {
  3385  		return nil, err
  3386  	}
  3387  	return m, nil
  3388  }
  3389  
  3390  func _BigQueryWrite_GetWriteStream_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3391  	in := new(GetWriteStreamRequest)
  3392  	if err := dec(in); err != nil {
  3393  		return nil, err
  3394  	}
  3395  	if interceptor == nil {
  3396  		return srv.(BigQueryWriteServer).GetWriteStream(ctx, in)
  3397  	}
  3398  	info := &grpc.UnaryServerInfo{
  3399  		Server:     srv,
  3400  		FullMethod: "/google.cloud.bigquery.storage.v1.BigQueryWrite/GetWriteStream",
  3401  	}
  3402  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3403  		return srv.(BigQueryWriteServer).GetWriteStream(ctx, req.(*GetWriteStreamRequest))
  3404  	}
  3405  	return interceptor(ctx, in, info, handler)
  3406  }
  3407  
  3408  func _BigQueryWrite_FinalizeWriteStream_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3409  	in := new(FinalizeWriteStreamRequest)
  3410  	if err := dec(in); err != nil {
  3411  		return nil, err
  3412  	}
  3413  	if interceptor == nil {
  3414  		return srv.(BigQueryWriteServer).FinalizeWriteStream(ctx, in)
  3415  	}
  3416  	info := &grpc.UnaryServerInfo{
  3417  		Server:     srv,
  3418  		FullMethod: "/google.cloud.bigquery.storage.v1.BigQueryWrite/FinalizeWriteStream",
  3419  	}
  3420  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3421  		return srv.(BigQueryWriteServer).FinalizeWriteStream(ctx, req.(*FinalizeWriteStreamRequest))
  3422  	}
  3423  	return interceptor(ctx, in, info, handler)
  3424  }
  3425  
  3426  func _BigQueryWrite_BatchCommitWriteStreams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3427  	in := new(BatchCommitWriteStreamsRequest)
  3428  	if err := dec(in); err != nil {
  3429  		return nil, err
  3430  	}
  3431  	if interceptor == nil {
  3432  		return srv.(BigQueryWriteServer).BatchCommitWriteStreams(ctx, in)
  3433  	}
  3434  	info := &grpc.UnaryServerInfo{
  3435  		Server:     srv,
  3436  		FullMethod: "/google.cloud.bigquery.storage.v1.BigQueryWrite/BatchCommitWriteStreams",
  3437  	}
  3438  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3439  		return srv.(BigQueryWriteServer).BatchCommitWriteStreams(ctx, req.(*BatchCommitWriteStreamsRequest))
  3440  	}
  3441  	return interceptor(ctx, in, info, handler)
  3442  }
  3443  
  3444  func _BigQueryWrite_FlushRows_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3445  	in := new(FlushRowsRequest)
  3446  	if err := dec(in); err != nil {
  3447  		return nil, err
  3448  	}
  3449  	if interceptor == nil {
  3450  		return srv.(BigQueryWriteServer).FlushRows(ctx, in)
  3451  	}
  3452  	info := &grpc.UnaryServerInfo{
  3453  		Server:     srv,
  3454  		FullMethod: "/google.cloud.bigquery.storage.v1.BigQueryWrite/FlushRows",
  3455  	}
  3456  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3457  		return srv.(BigQueryWriteServer).FlushRows(ctx, req.(*FlushRowsRequest))
  3458  	}
  3459  	return interceptor(ctx, in, info, handler)
  3460  }
  3461  
  3462  var _BigQueryWrite_serviceDesc = grpc.ServiceDesc{
  3463  	ServiceName: "google.cloud.bigquery.storage.v1.BigQueryWrite",
  3464  	HandlerType: (*BigQueryWriteServer)(nil),
  3465  	Methods: []grpc.MethodDesc{
  3466  		{
  3467  			MethodName: "CreateWriteStream",
  3468  			Handler:    _BigQueryWrite_CreateWriteStream_Handler,
  3469  		},
  3470  		{
  3471  			MethodName: "GetWriteStream",
  3472  			Handler:    _BigQueryWrite_GetWriteStream_Handler,
  3473  		},
  3474  		{
  3475  			MethodName: "FinalizeWriteStream",
  3476  			Handler:    _BigQueryWrite_FinalizeWriteStream_Handler,
  3477  		},
  3478  		{
  3479  			MethodName: "BatchCommitWriteStreams",
  3480  			Handler:    _BigQueryWrite_BatchCommitWriteStreams_Handler,
  3481  		},
  3482  		{
  3483  			MethodName: "FlushRows",
  3484  			Handler:    _BigQueryWrite_FlushRows_Handler,
  3485  		},
  3486  	},
  3487  	Streams: []grpc.StreamDesc{
  3488  		{
  3489  			StreamName:    "AppendRows",
  3490  			Handler:       _BigQueryWrite_AppendRows_Handler,
  3491  			ServerStreams: true,
  3492  			ClientStreams: true,
  3493  		},
  3494  	},
  3495  	Metadata: "google/cloud/bigquery/storage/v1/storage.proto",
  3496  }
  3497  

View as plain text