1// Copyright 2021 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.23.0
18// 	protoc        v3.13.0
19// source: google/firestore/v1beta1/firestore.proto
20
21package firestore
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	proto "github.com/golang/protobuf/proto"
29	_ "google.golang.org/genproto/googleapis/api/annotations"
30	status "google.golang.org/genproto/googleapis/rpc/status"
31	grpc "google.golang.org/grpc"
32	codes "google.golang.org/grpc/codes"
33	status1 "google.golang.org/grpc/status"
34	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
35	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
36	emptypb "google.golang.org/protobuf/types/known/emptypb"
37	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
38)
39
40const (
41	// Verify that this generated code is sufficiently up-to-date.
42	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
43	// Verify that runtime/protoimpl is sufficiently up-to-date.
44	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
45)
46
47// This is a compile-time assertion that a sufficiently up-to-date version
48// of the legacy proto package is being used.
49const _ = proto.ProtoPackageIsVersion4
50
51// The type of change.
52type TargetChange_TargetChangeType int32
53
54const (
55	// No change has occurred. Used only to send an updated `resume_token`.
56	TargetChange_NO_CHANGE TargetChange_TargetChangeType = 0
57	// The targets have been added.
58	TargetChange_ADD TargetChange_TargetChangeType = 1
59	// The targets have been removed.
60	TargetChange_REMOVE TargetChange_TargetChangeType = 2
61	// The targets reflect all changes committed before the targets were added
62	// to the stream.
63	//
64	// This will be sent after or with a `read_time` that is greater than or
65	// equal to the time at which the targets were added.
66	//
67	// Listeners can wait for this change if read-after-write semantics
68	// are desired.
69	TargetChange_CURRENT TargetChange_TargetChangeType = 3
70	// The targets have been reset, and a new initial state for the targets
71	// will be returned in subsequent changes.
72	//
73	// After the initial state is complete, `CURRENT` will be returned even
74	// if the target was previously indicated to be `CURRENT`.
75	TargetChange_RESET TargetChange_TargetChangeType = 4
76)
77
78// Enum value maps for TargetChange_TargetChangeType.
79var (
80	TargetChange_TargetChangeType_name = map[int32]string{
81		0: "NO_CHANGE",
82		1: "ADD",
83		2: "REMOVE",
84		3: "CURRENT",
85		4: "RESET",
86	}
87	TargetChange_TargetChangeType_value = map[string]int32{
88		"NO_CHANGE": 0,
89		"ADD":       1,
90		"REMOVE":    2,
91		"CURRENT":   3,
92		"RESET":     4,
93	}
94)
95
96func (x TargetChange_TargetChangeType) Enum() *TargetChange_TargetChangeType {
97	p := new(TargetChange_TargetChangeType)
98	*p = x
99	return p
100}
101
102func (x TargetChange_TargetChangeType) String() string {
103	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
104}
105
106func (TargetChange_TargetChangeType) Descriptor() protoreflect.EnumDescriptor {
107	return file_google_firestore_v1beta1_firestore_proto_enumTypes[0].Descriptor()
108}
109
110func (TargetChange_TargetChangeType) Type() protoreflect.EnumType {
111	return &file_google_firestore_v1beta1_firestore_proto_enumTypes[0]
112}
113
114func (x TargetChange_TargetChangeType) Number() protoreflect.EnumNumber {
115	return protoreflect.EnumNumber(x)
116}
117
118// Deprecated: Use TargetChange_TargetChangeType.Descriptor instead.
119func (TargetChange_TargetChangeType) EnumDescriptor() ([]byte, []int) {
120	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{22, 0}
121}
122
123// The request for [Firestore.GetDocument][google.firestore.v1beta1.Firestore.GetDocument].
124type GetDocumentRequest struct {
125	state         protoimpl.MessageState
126	sizeCache     protoimpl.SizeCache
127	unknownFields protoimpl.UnknownFields
128
129	// Required. The resource name of the Document to get. In the format:
130	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
131	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
132	// The fields to return. If not set, returns all fields.
133	//
134	// If the document has a field that is not present in this mask, that field
135	// will not be returned in the response.
136	Mask *DocumentMask `protobuf:"bytes,2,opt,name=mask,proto3" json:"mask,omitempty"`
137	// The consistency mode for this transaction.
138	// If not set, defaults to strong consistency.
139	//
140	// Types that are assignable to ConsistencySelector:
141	//	*GetDocumentRequest_Transaction
142	//	*GetDocumentRequest_ReadTime
143	ConsistencySelector isGetDocumentRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"`
144}
145
146func (x *GetDocumentRequest) Reset() {
147	*x = GetDocumentRequest{}
148	if protoimpl.UnsafeEnabled {
149		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[0]
150		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
151		ms.StoreMessageInfo(mi)
152	}
153}
154
155func (x *GetDocumentRequest) String() string {
156	return protoimpl.X.MessageStringOf(x)
157}
158
159func (*GetDocumentRequest) ProtoMessage() {}
160
161func (x *GetDocumentRequest) ProtoReflect() protoreflect.Message {
162	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[0]
163	if protoimpl.UnsafeEnabled && x != nil {
164		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
165		if ms.LoadMessageInfo() == nil {
166			ms.StoreMessageInfo(mi)
167		}
168		return ms
169	}
170	return mi.MessageOf(x)
171}
172
173// Deprecated: Use GetDocumentRequest.ProtoReflect.Descriptor instead.
174func (*GetDocumentRequest) Descriptor() ([]byte, []int) {
175	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{0}
176}
177
178func (x *GetDocumentRequest) GetName() string {
179	if x != nil {
180		return x.Name
181	}
182	return ""
183}
184
185func (x *GetDocumentRequest) GetMask() *DocumentMask {
186	if x != nil {
187		return x.Mask
188	}
189	return nil
190}
191
192func (m *GetDocumentRequest) GetConsistencySelector() isGetDocumentRequest_ConsistencySelector {
193	if m != nil {
194		return m.ConsistencySelector
195	}
196	return nil
197}
198
199func (x *GetDocumentRequest) GetTransaction() []byte {
200	if x, ok := x.GetConsistencySelector().(*GetDocumentRequest_Transaction); ok {
201		return x.Transaction
202	}
203	return nil
204}
205
206func (x *GetDocumentRequest) GetReadTime() *timestamppb.Timestamp {
207	if x, ok := x.GetConsistencySelector().(*GetDocumentRequest_ReadTime); ok {
208		return x.ReadTime
209	}
210	return nil
211}
212
213type isGetDocumentRequest_ConsistencySelector interface {
214	isGetDocumentRequest_ConsistencySelector()
215}
216
217type GetDocumentRequest_Transaction struct {
218	// Reads the document in a transaction.
219	Transaction []byte `protobuf:"bytes,3,opt,name=transaction,proto3,oneof"`
220}
221
222type GetDocumentRequest_ReadTime struct {
223	// Reads the version of the document at the given time.
224	// This may not be older than 270 seconds.
225	ReadTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=read_time,json=readTime,proto3,oneof"`
226}
227
228func (*GetDocumentRequest_Transaction) isGetDocumentRequest_ConsistencySelector() {}
229
230func (*GetDocumentRequest_ReadTime) isGetDocumentRequest_ConsistencySelector() {}
231
232// The request for [Firestore.ListDocuments][google.firestore.v1beta1.Firestore.ListDocuments].
233type ListDocumentsRequest struct {
234	state         protoimpl.MessageState
235	sizeCache     protoimpl.SizeCache
236	unknownFields protoimpl.UnknownFields
237
238	// Required. The parent resource name. In the format:
239	// `projects/{project_id}/databases/{database_id}/documents` or
240	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
241	// For example:
242	// `projects/my-project/databases/my-database/documents` or
243	// `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
244	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
245	// Required. The collection ID, relative to `parent`, to list. For example: `chatrooms`
246	// or `messages`.
247	CollectionId string `protobuf:"bytes,2,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"`
248	// The maximum number of documents to return.
249	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
250	// The `next_page_token` value returned from a previous List request, if any.
251	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
252	// The order to sort results by. For example: `priority desc, name`.
253	OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
254	// The fields to return. If not set, returns all fields.
255	//
256	// If a document has a field that is not present in this mask, that field
257	// will not be returned in the response.
258	Mask *DocumentMask `protobuf:"bytes,7,opt,name=mask,proto3" json:"mask,omitempty"`
259	// The consistency mode for this transaction.
260	// If not set, defaults to strong consistency.
261	//
262	// Types that are assignable to ConsistencySelector:
263	//	*ListDocumentsRequest_Transaction
264	//	*ListDocumentsRequest_ReadTime
265	ConsistencySelector isListDocumentsRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"`
266	// If the list should show missing documents. A missing document is a
267	// document that does not exist but has sub-documents. These documents will
268	// be returned with a key but will not have fields, [Document.create_time][google.firestore.v1beta1.Document.create_time],
269	// or [Document.update_time][google.firestore.v1beta1.Document.update_time] set.
270	//
271	// Requests with `show_missing` may not specify `where` or
272	// `order_by`.
273	ShowMissing bool `protobuf:"varint,12,opt,name=show_missing,json=showMissing,proto3" json:"show_missing,omitempty"`
274}
275
276func (x *ListDocumentsRequest) Reset() {
277	*x = ListDocumentsRequest{}
278	if protoimpl.UnsafeEnabled {
279		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[1]
280		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
281		ms.StoreMessageInfo(mi)
282	}
283}
284
285func (x *ListDocumentsRequest) String() string {
286	return protoimpl.X.MessageStringOf(x)
287}
288
289func (*ListDocumentsRequest) ProtoMessage() {}
290
291func (x *ListDocumentsRequest) ProtoReflect() protoreflect.Message {
292	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[1]
293	if protoimpl.UnsafeEnabled && x != nil {
294		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
295		if ms.LoadMessageInfo() == nil {
296			ms.StoreMessageInfo(mi)
297		}
298		return ms
299	}
300	return mi.MessageOf(x)
301}
302
303// Deprecated: Use ListDocumentsRequest.ProtoReflect.Descriptor instead.
304func (*ListDocumentsRequest) Descriptor() ([]byte, []int) {
305	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{1}
306}
307
308func (x *ListDocumentsRequest) GetParent() string {
309	if x != nil {
310		return x.Parent
311	}
312	return ""
313}
314
315func (x *ListDocumentsRequest) GetCollectionId() string {
316	if x != nil {
317		return x.CollectionId
318	}
319	return ""
320}
321
322func (x *ListDocumentsRequest) GetPageSize() int32 {
323	if x != nil {
324		return x.PageSize
325	}
326	return 0
327}
328
329func (x *ListDocumentsRequest) GetPageToken() string {
330	if x != nil {
331		return x.PageToken
332	}
333	return ""
334}
335
336func (x *ListDocumentsRequest) GetOrderBy() string {
337	if x != nil {
338		return x.OrderBy
339	}
340	return ""
341}
342
343func (x *ListDocumentsRequest) GetMask() *DocumentMask {
344	if x != nil {
345		return x.Mask
346	}
347	return nil
348}
349
350func (m *ListDocumentsRequest) GetConsistencySelector() isListDocumentsRequest_ConsistencySelector {
351	if m != nil {
352		return m.ConsistencySelector
353	}
354	return nil
355}
356
357func (x *ListDocumentsRequest) GetTransaction() []byte {
358	if x, ok := x.GetConsistencySelector().(*ListDocumentsRequest_Transaction); ok {
359		return x.Transaction
360	}
361	return nil
362}
363
364func (x *ListDocumentsRequest) GetReadTime() *timestamppb.Timestamp {
365	if x, ok := x.GetConsistencySelector().(*ListDocumentsRequest_ReadTime); ok {
366		return x.ReadTime
367	}
368	return nil
369}
370
371func (x *ListDocumentsRequest) GetShowMissing() bool {
372	if x != nil {
373		return x.ShowMissing
374	}
375	return false
376}
377
378type isListDocumentsRequest_ConsistencySelector interface {
379	isListDocumentsRequest_ConsistencySelector()
380}
381
382type ListDocumentsRequest_Transaction struct {
383	// Reads documents in a transaction.
384	Transaction []byte `protobuf:"bytes,8,opt,name=transaction,proto3,oneof"`
385}
386
387type ListDocumentsRequest_ReadTime struct {
388	// Reads documents as they were at the given time.
389	// This may not be older than 270 seconds.
390	ReadTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=read_time,json=readTime,proto3,oneof"`
391}
392
393func (*ListDocumentsRequest_Transaction) isListDocumentsRequest_ConsistencySelector() {}
394
395func (*ListDocumentsRequest_ReadTime) isListDocumentsRequest_ConsistencySelector() {}
396
397// The response for [Firestore.ListDocuments][google.firestore.v1beta1.Firestore.ListDocuments].
398type ListDocumentsResponse struct {
399	state         protoimpl.MessageState
400	sizeCache     protoimpl.SizeCache
401	unknownFields protoimpl.UnknownFields
402
403	// The Documents found.
404	Documents []*Document `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"`
405	// The next page token.
406	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
407}
408
409func (x *ListDocumentsResponse) Reset() {
410	*x = ListDocumentsResponse{}
411	if protoimpl.UnsafeEnabled {
412		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[2]
413		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
414		ms.StoreMessageInfo(mi)
415	}
416}
417
418func (x *ListDocumentsResponse) String() string {
419	return protoimpl.X.MessageStringOf(x)
420}
421
422func (*ListDocumentsResponse) ProtoMessage() {}
423
424func (x *ListDocumentsResponse) ProtoReflect() protoreflect.Message {
425	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[2]
426	if protoimpl.UnsafeEnabled && x != nil {
427		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
428		if ms.LoadMessageInfo() == nil {
429			ms.StoreMessageInfo(mi)
430		}
431		return ms
432	}
433	return mi.MessageOf(x)
434}
435
436// Deprecated: Use ListDocumentsResponse.ProtoReflect.Descriptor instead.
437func (*ListDocumentsResponse) Descriptor() ([]byte, []int) {
438	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{2}
439}
440
441func (x *ListDocumentsResponse) GetDocuments() []*Document {
442	if x != nil {
443		return x.Documents
444	}
445	return nil
446}
447
448func (x *ListDocumentsResponse) GetNextPageToken() string {
449	if x != nil {
450		return x.NextPageToken
451	}
452	return ""
453}
454
455// The request for [Firestore.CreateDocument][google.firestore.v1beta1.Firestore.CreateDocument].
456type CreateDocumentRequest struct {
457	state         protoimpl.MessageState
458	sizeCache     protoimpl.SizeCache
459	unknownFields protoimpl.UnknownFields
460
461	// Required. The parent resource. For example:
462	// `projects/{project_id}/databases/{database_id}/documents` or
463	// `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}`
464	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
465	// Required. The collection ID, relative to `parent`, to list. For example: `chatrooms`.
466	CollectionId string `protobuf:"bytes,2,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"`
467	// The client-assigned document ID to use for this document.
468	//
469	// Optional. If not specified, an ID will be assigned by the service.
470	DocumentId string `protobuf:"bytes,3,opt,name=document_id,json=documentId,proto3" json:"document_id,omitempty"`
471	// Required. The document to create. `name` must not be set.
472	Document *Document `protobuf:"bytes,4,opt,name=document,proto3" json:"document,omitempty"`
473	// The fields to return. If not set, returns all fields.
474	//
475	// If the document has a field that is not present in this mask, that field
476	// will not be returned in the response.
477	Mask *DocumentMask `protobuf:"bytes,5,opt,name=mask,proto3" json:"mask,omitempty"`
478}
479
480func (x *CreateDocumentRequest) Reset() {
481	*x = CreateDocumentRequest{}
482	if protoimpl.UnsafeEnabled {
483		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[3]
484		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
485		ms.StoreMessageInfo(mi)
486	}
487}
488
489func (x *CreateDocumentRequest) String() string {
490	return protoimpl.X.MessageStringOf(x)
491}
492
493func (*CreateDocumentRequest) ProtoMessage() {}
494
495func (x *CreateDocumentRequest) ProtoReflect() protoreflect.Message {
496	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[3]
497	if protoimpl.UnsafeEnabled && x != nil {
498		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
499		if ms.LoadMessageInfo() == nil {
500			ms.StoreMessageInfo(mi)
501		}
502		return ms
503	}
504	return mi.MessageOf(x)
505}
506
507// Deprecated: Use CreateDocumentRequest.ProtoReflect.Descriptor instead.
508func (*CreateDocumentRequest) Descriptor() ([]byte, []int) {
509	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{3}
510}
511
512func (x *CreateDocumentRequest) GetParent() string {
513	if x != nil {
514		return x.Parent
515	}
516	return ""
517}
518
519func (x *CreateDocumentRequest) GetCollectionId() string {
520	if x != nil {
521		return x.CollectionId
522	}
523	return ""
524}
525
526func (x *CreateDocumentRequest) GetDocumentId() string {
527	if x != nil {
528		return x.DocumentId
529	}
530	return ""
531}
532
533func (x *CreateDocumentRequest) GetDocument() *Document {
534	if x != nil {
535		return x.Document
536	}
537	return nil
538}
539
540func (x *CreateDocumentRequest) GetMask() *DocumentMask {
541	if x != nil {
542		return x.Mask
543	}
544	return nil
545}
546
547// The request for [Firestore.UpdateDocument][google.firestore.v1beta1.Firestore.UpdateDocument].
548type UpdateDocumentRequest struct {
549	state         protoimpl.MessageState
550	sizeCache     protoimpl.SizeCache
551	unknownFields protoimpl.UnknownFields
552
553	// Required. The updated document.
554	// Creates the document if it does not already exist.
555	Document *Document `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"`
556	// The fields to update.
557	// None of the field paths in the mask may contain a reserved name.
558	//
559	// If the document exists on the server and has fields not referenced in the
560	// mask, they are left unchanged.
561	// Fields referenced in the mask, but not present in the input document, are
562	// deleted from the document on the server.
563	UpdateMask *DocumentMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
564	// The fields to return. If not set, returns all fields.
565	//
566	// If the document has a field that is not present in this mask, that field
567	// will not be returned in the response.
568	Mask *DocumentMask `protobuf:"bytes,3,opt,name=mask,proto3" json:"mask,omitempty"`
569	// An optional precondition on the document.
570	// The request will fail if this is set and not met by the target document.
571	CurrentDocument *Precondition `protobuf:"bytes,4,opt,name=current_document,json=currentDocument,proto3" json:"current_document,omitempty"`
572}
573
574func (x *UpdateDocumentRequest) Reset() {
575	*x = UpdateDocumentRequest{}
576	if protoimpl.UnsafeEnabled {
577		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[4]
578		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
579		ms.StoreMessageInfo(mi)
580	}
581}
582
583func (x *UpdateDocumentRequest) String() string {
584	return protoimpl.X.MessageStringOf(x)
585}
586
587func (*UpdateDocumentRequest) ProtoMessage() {}
588
589func (x *UpdateDocumentRequest) ProtoReflect() protoreflect.Message {
590	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[4]
591	if protoimpl.UnsafeEnabled && x != nil {
592		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
593		if ms.LoadMessageInfo() == nil {
594			ms.StoreMessageInfo(mi)
595		}
596		return ms
597	}
598	return mi.MessageOf(x)
599}
600
601// Deprecated: Use UpdateDocumentRequest.ProtoReflect.Descriptor instead.
602func (*UpdateDocumentRequest) Descriptor() ([]byte, []int) {
603	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{4}
604}
605
606func (x *UpdateDocumentRequest) GetDocument() *Document {
607	if x != nil {
608		return x.Document
609	}
610	return nil
611}
612
613func (x *UpdateDocumentRequest) GetUpdateMask() *DocumentMask {
614	if x != nil {
615		return x.UpdateMask
616	}
617	return nil
618}
619
620func (x *UpdateDocumentRequest) GetMask() *DocumentMask {
621	if x != nil {
622		return x.Mask
623	}
624	return nil
625}
626
627func (x *UpdateDocumentRequest) GetCurrentDocument() *Precondition {
628	if x != nil {
629		return x.CurrentDocument
630	}
631	return nil
632}
633
634// The request for [Firestore.DeleteDocument][google.firestore.v1beta1.Firestore.DeleteDocument].
635type DeleteDocumentRequest struct {
636	state         protoimpl.MessageState
637	sizeCache     protoimpl.SizeCache
638	unknownFields protoimpl.UnknownFields
639
640	// Required. The resource name of the Document to delete. In the format:
641	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
642	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
643	// An optional precondition on the document.
644	// The request will fail if this is set and not met by the target document.
645	CurrentDocument *Precondition `protobuf:"bytes,2,opt,name=current_document,json=currentDocument,proto3" json:"current_document,omitempty"`
646}
647
648func (x *DeleteDocumentRequest) Reset() {
649	*x = DeleteDocumentRequest{}
650	if protoimpl.UnsafeEnabled {
651		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[5]
652		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
653		ms.StoreMessageInfo(mi)
654	}
655}
656
657func (x *DeleteDocumentRequest) String() string {
658	return protoimpl.X.MessageStringOf(x)
659}
660
661func (*DeleteDocumentRequest) ProtoMessage() {}
662
663func (x *DeleteDocumentRequest) ProtoReflect() protoreflect.Message {
664	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[5]
665	if protoimpl.UnsafeEnabled && x != nil {
666		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
667		if ms.LoadMessageInfo() == nil {
668			ms.StoreMessageInfo(mi)
669		}
670		return ms
671	}
672	return mi.MessageOf(x)
673}
674
675// Deprecated: Use DeleteDocumentRequest.ProtoReflect.Descriptor instead.
676func (*DeleteDocumentRequest) Descriptor() ([]byte, []int) {
677	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{5}
678}
679
680func (x *DeleteDocumentRequest) GetName() string {
681	if x != nil {
682		return x.Name
683	}
684	return ""
685}
686
687func (x *DeleteDocumentRequest) GetCurrentDocument() *Precondition {
688	if x != nil {
689		return x.CurrentDocument
690	}
691	return nil
692}
693
694// The request for [Firestore.BatchGetDocuments][google.firestore.v1beta1.Firestore.BatchGetDocuments].
695type BatchGetDocumentsRequest struct {
696	state         protoimpl.MessageState
697	sizeCache     protoimpl.SizeCache
698	unknownFields protoimpl.UnknownFields
699
700	// Required. The database name. In the format:
701	// `projects/{project_id}/databases/{database_id}`.
702	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
703	// The names of the documents to retrieve. In the format:
704	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
705	// The request will fail if any of the document is not a child resource of the
706	// given `database`. Duplicate names will be elided.
707	Documents []string `protobuf:"bytes,2,rep,name=documents,proto3" json:"documents,omitempty"`
708	// The fields to return. If not set, returns all fields.
709	//
710	// If a document has a field that is not present in this mask, that field will
711	// not be returned in the response.
712	Mask *DocumentMask `protobuf:"bytes,3,opt,name=mask,proto3" json:"mask,omitempty"`
713	// The consistency mode for this transaction.
714	// If not set, defaults to strong consistency.
715	//
716	// Types that are assignable to ConsistencySelector:
717	//	*BatchGetDocumentsRequest_Transaction
718	//	*BatchGetDocumentsRequest_NewTransaction
719	//	*BatchGetDocumentsRequest_ReadTime
720	ConsistencySelector isBatchGetDocumentsRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"`
721}
722
723func (x *BatchGetDocumentsRequest) Reset() {
724	*x = BatchGetDocumentsRequest{}
725	if protoimpl.UnsafeEnabled {
726		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[6]
727		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
728		ms.StoreMessageInfo(mi)
729	}
730}
731
732func (x *BatchGetDocumentsRequest) String() string {
733	return protoimpl.X.MessageStringOf(x)
734}
735
736func (*BatchGetDocumentsRequest) ProtoMessage() {}
737
738func (x *BatchGetDocumentsRequest) ProtoReflect() protoreflect.Message {
739	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[6]
740	if protoimpl.UnsafeEnabled && x != nil {
741		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
742		if ms.LoadMessageInfo() == nil {
743			ms.StoreMessageInfo(mi)
744		}
745		return ms
746	}
747	return mi.MessageOf(x)
748}
749
750// Deprecated: Use BatchGetDocumentsRequest.ProtoReflect.Descriptor instead.
751func (*BatchGetDocumentsRequest) Descriptor() ([]byte, []int) {
752	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{6}
753}
754
755func (x *BatchGetDocumentsRequest) GetDatabase() string {
756	if x != nil {
757		return x.Database
758	}
759	return ""
760}
761
762func (x *BatchGetDocumentsRequest) GetDocuments() []string {
763	if x != nil {
764		return x.Documents
765	}
766	return nil
767}
768
769func (x *BatchGetDocumentsRequest) GetMask() *DocumentMask {
770	if x != nil {
771		return x.Mask
772	}
773	return nil
774}
775
776func (m *BatchGetDocumentsRequest) GetConsistencySelector() isBatchGetDocumentsRequest_ConsistencySelector {
777	if m != nil {
778		return m.ConsistencySelector
779	}
780	return nil
781}
782
783func (x *BatchGetDocumentsRequest) GetTransaction() []byte {
784	if x, ok := x.GetConsistencySelector().(*BatchGetDocumentsRequest_Transaction); ok {
785		return x.Transaction
786	}
787	return nil
788}
789
790func (x *BatchGetDocumentsRequest) GetNewTransaction() *TransactionOptions {
791	if x, ok := x.GetConsistencySelector().(*BatchGetDocumentsRequest_NewTransaction); ok {
792		return x.NewTransaction
793	}
794	return nil
795}
796
797func (x *BatchGetDocumentsRequest) GetReadTime() *timestamppb.Timestamp {
798	if x, ok := x.GetConsistencySelector().(*BatchGetDocumentsRequest_ReadTime); ok {
799		return x.ReadTime
800	}
801	return nil
802}
803
804type isBatchGetDocumentsRequest_ConsistencySelector interface {
805	isBatchGetDocumentsRequest_ConsistencySelector()
806}
807
808type BatchGetDocumentsRequest_Transaction struct {
809	// Reads documents in a transaction.
810	Transaction []byte `protobuf:"bytes,4,opt,name=transaction,proto3,oneof"`
811}
812
813type BatchGetDocumentsRequest_NewTransaction struct {
814	// Starts a new transaction and reads the documents.
815	// Defaults to a read-only transaction.
816	// The new transaction ID will be returned as the first response in the
817	// stream.
818	NewTransaction *TransactionOptions `protobuf:"bytes,5,opt,name=new_transaction,json=newTransaction,proto3,oneof"`
819}
820
821type BatchGetDocumentsRequest_ReadTime struct {
822	// Reads documents as they were at the given time.
823	// This may not be older than 270 seconds.
824	ReadTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=read_time,json=readTime,proto3,oneof"`
825}
826
827func (*BatchGetDocumentsRequest_Transaction) isBatchGetDocumentsRequest_ConsistencySelector() {}
828
829func (*BatchGetDocumentsRequest_NewTransaction) isBatchGetDocumentsRequest_ConsistencySelector() {}
830
831func (*BatchGetDocumentsRequest_ReadTime) isBatchGetDocumentsRequest_ConsistencySelector() {}
832
833// The streamed response for [Firestore.BatchGetDocuments][google.firestore.v1beta1.Firestore.BatchGetDocuments].
834type BatchGetDocumentsResponse struct {
835	state         protoimpl.MessageState
836	sizeCache     protoimpl.SizeCache
837	unknownFields protoimpl.UnknownFields
838
839	// A single result.
840	// This can be empty if the server is just returning a transaction.
841	//
842	// Types that are assignable to Result:
843	//	*BatchGetDocumentsResponse_Found
844	//	*BatchGetDocumentsResponse_Missing
845	Result isBatchGetDocumentsResponse_Result `protobuf_oneof:"result"`
846	// The transaction that was started as part of this request.
847	// Will only be set in the first response, and only if
848	// [BatchGetDocumentsRequest.new_transaction][google.firestore.v1beta1.BatchGetDocumentsRequest.new_transaction] was set in the request.
849	Transaction []byte `protobuf:"bytes,3,opt,name=transaction,proto3" json:"transaction,omitempty"`
850	// The time at which the document was read.
851	// This may be monotically increasing, in this case the previous documents in
852	// the result stream are guaranteed not to have changed between their
853	// read_time and this one.
854	ReadTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
855}
856
857func (x *BatchGetDocumentsResponse) Reset() {
858	*x = BatchGetDocumentsResponse{}
859	if protoimpl.UnsafeEnabled {
860		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[7]
861		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
862		ms.StoreMessageInfo(mi)
863	}
864}
865
866func (x *BatchGetDocumentsResponse) String() string {
867	return protoimpl.X.MessageStringOf(x)
868}
869
870func (*BatchGetDocumentsResponse) ProtoMessage() {}
871
872func (x *BatchGetDocumentsResponse) ProtoReflect() protoreflect.Message {
873	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[7]
874	if protoimpl.UnsafeEnabled && x != nil {
875		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
876		if ms.LoadMessageInfo() == nil {
877			ms.StoreMessageInfo(mi)
878		}
879		return ms
880	}
881	return mi.MessageOf(x)
882}
883
884// Deprecated: Use BatchGetDocumentsResponse.ProtoReflect.Descriptor instead.
885func (*BatchGetDocumentsResponse) Descriptor() ([]byte, []int) {
886	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{7}
887}
888
889func (m *BatchGetDocumentsResponse) GetResult() isBatchGetDocumentsResponse_Result {
890	if m != nil {
891		return m.Result
892	}
893	return nil
894}
895
896func (x *BatchGetDocumentsResponse) GetFound() *Document {
897	if x, ok := x.GetResult().(*BatchGetDocumentsResponse_Found); ok {
898		return x.Found
899	}
900	return nil
901}
902
903func (x *BatchGetDocumentsResponse) GetMissing() string {
904	if x, ok := x.GetResult().(*BatchGetDocumentsResponse_Missing); ok {
905		return x.Missing
906	}
907	return ""
908}
909
910func (x *BatchGetDocumentsResponse) GetTransaction() []byte {
911	if x != nil {
912		return x.Transaction
913	}
914	return nil
915}
916
917func (x *BatchGetDocumentsResponse) GetReadTime() *timestamppb.Timestamp {
918	if x != nil {
919		return x.ReadTime
920	}
921	return nil
922}
923
924type isBatchGetDocumentsResponse_Result interface {
925	isBatchGetDocumentsResponse_Result()
926}
927
928type BatchGetDocumentsResponse_Found struct {
929	// A document that was requested.
930	Found *Document `protobuf:"bytes,1,opt,name=found,proto3,oneof"`
931}
932
933type BatchGetDocumentsResponse_Missing struct {
934	// A document name that was requested but does not exist. In the format:
935	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
936	Missing string `protobuf:"bytes,2,opt,name=missing,proto3,oneof"`
937}
938
939func (*BatchGetDocumentsResponse_Found) isBatchGetDocumentsResponse_Result() {}
940
941func (*BatchGetDocumentsResponse_Missing) isBatchGetDocumentsResponse_Result() {}
942
943// The request for [Firestore.BeginTransaction][google.firestore.v1beta1.Firestore.BeginTransaction].
944type BeginTransactionRequest struct {
945	state         protoimpl.MessageState
946	sizeCache     protoimpl.SizeCache
947	unknownFields protoimpl.UnknownFields
948
949	// Required. The database name. In the format:
950	// `projects/{project_id}/databases/{database_id}`.
951	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
952	// The options for the transaction.
953	// Defaults to a read-write transaction.
954	Options *TransactionOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
955}
956
957func (x *BeginTransactionRequest) Reset() {
958	*x = BeginTransactionRequest{}
959	if protoimpl.UnsafeEnabled {
960		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[8]
961		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
962		ms.StoreMessageInfo(mi)
963	}
964}
965
966func (x *BeginTransactionRequest) String() string {
967	return protoimpl.X.MessageStringOf(x)
968}
969
970func (*BeginTransactionRequest) ProtoMessage() {}
971
972func (x *BeginTransactionRequest) ProtoReflect() protoreflect.Message {
973	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[8]
974	if protoimpl.UnsafeEnabled && x != nil {
975		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
976		if ms.LoadMessageInfo() == nil {
977			ms.StoreMessageInfo(mi)
978		}
979		return ms
980	}
981	return mi.MessageOf(x)
982}
983
984// Deprecated: Use BeginTransactionRequest.ProtoReflect.Descriptor instead.
985func (*BeginTransactionRequest) Descriptor() ([]byte, []int) {
986	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{8}
987}
988
989func (x *BeginTransactionRequest) GetDatabase() string {
990	if x != nil {
991		return x.Database
992	}
993	return ""
994}
995
996func (x *BeginTransactionRequest) GetOptions() *TransactionOptions {
997	if x != nil {
998		return x.Options
999	}
1000	return nil
1001}
1002
1003// The response for [Firestore.BeginTransaction][google.firestore.v1beta1.Firestore.BeginTransaction].
1004type BeginTransactionResponse struct {
1005	state         protoimpl.MessageState
1006	sizeCache     protoimpl.SizeCache
1007	unknownFields protoimpl.UnknownFields
1008
1009	// The transaction that was started.
1010	Transaction []byte `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"`
1011}
1012
1013func (x *BeginTransactionResponse) Reset() {
1014	*x = BeginTransactionResponse{}
1015	if protoimpl.UnsafeEnabled {
1016		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[9]
1017		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1018		ms.StoreMessageInfo(mi)
1019	}
1020}
1021
1022func (x *BeginTransactionResponse) String() string {
1023	return protoimpl.X.MessageStringOf(x)
1024}
1025
1026func (*BeginTransactionResponse) ProtoMessage() {}
1027
1028func (x *BeginTransactionResponse) ProtoReflect() protoreflect.Message {
1029	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[9]
1030	if protoimpl.UnsafeEnabled && x != nil {
1031		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1032		if ms.LoadMessageInfo() == nil {
1033			ms.StoreMessageInfo(mi)
1034		}
1035		return ms
1036	}
1037	return mi.MessageOf(x)
1038}
1039
1040// Deprecated: Use BeginTransactionResponse.ProtoReflect.Descriptor instead.
1041func (*BeginTransactionResponse) Descriptor() ([]byte, []int) {
1042	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{9}
1043}
1044
1045func (x *BeginTransactionResponse) GetTransaction() []byte {
1046	if x != nil {
1047		return x.Transaction
1048	}
1049	return nil
1050}
1051
1052// The request for [Firestore.Commit][google.firestore.v1beta1.Firestore.Commit].
1053type CommitRequest struct {
1054	state         protoimpl.MessageState
1055	sizeCache     protoimpl.SizeCache
1056	unknownFields protoimpl.UnknownFields
1057
1058	// Required. The database name. In the format:
1059	// `projects/{project_id}/databases/{database_id}`.
1060	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
1061	// The writes to apply.
1062	//
1063	// Always executed atomically and in order.
1064	Writes []*Write `protobuf:"bytes,2,rep,name=writes,proto3" json:"writes,omitempty"`
1065	// If set, applies all writes in this transaction, and commits it.
1066	Transaction []byte `protobuf:"bytes,3,opt,name=transaction,proto3" json:"transaction,omitempty"`
1067}
1068
1069func (x *CommitRequest) Reset() {
1070	*x = CommitRequest{}
1071	if protoimpl.UnsafeEnabled {
1072		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[10]
1073		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1074		ms.StoreMessageInfo(mi)
1075	}
1076}
1077
1078func (x *CommitRequest) String() string {
1079	return protoimpl.X.MessageStringOf(x)
1080}
1081
1082func (*CommitRequest) ProtoMessage() {}
1083
1084func (x *CommitRequest) ProtoReflect() protoreflect.Message {
1085	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[10]
1086	if protoimpl.UnsafeEnabled && x != nil {
1087		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1088		if ms.LoadMessageInfo() == nil {
1089			ms.StoreMessageInfo(mi)
1090		}
1091		return ms
1092	}
1093	return mi.MessageOf(x)
1094}
1095
1096// Deprecated: Use CommitRequest.ProtoReflect.Descriptor instead.
1097func (*CommitRequest) Descriptor() ([]byte, []int) {
1098	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{10}
1099}
1100
1101func (x *CommitRequest) GetDatabase() string {
1102	if x != nil {
1103		return x.Database
1104	}
1105	return ""
1106}
1107
1108func (x *CommitRequest) GetWrites() []*Write {
1109	if x != nil {
1110		return x.Writes
1111	}
1112	return nil
1113}
1114
1115func (x *CommitRequest) GetTransaction() []byte {
1116	if x != nil {
1117		return x.Transaction
1118	}
1119	return nil
1120}
1121
1122// The response for [Firestore.Commit][google.firestore.v1beta1.Firestore.Commit].
1123type CommitResponse struct {
1124	state         protoimpl.MessageState
1125	sizeCache     protoimpl.SizeCache
1126	unknownFields protoimpl.UnknownFields
1127
1128	// The result of applying the writes.
1129	//
1130	// This i-th write result corresponds to the i-th write in the
1131	// request.
1132	WriteResults []*WriteResult `protobuf:"bytes,1,rep,name=write_results,json=writeResults,proto3" json:"write_results,omitempty"`
1133	// The time at which the commit occurred. Any read with an equal or greater
1134	// `read_time` is guaranteed to see the effects of the commit.
1135	CommitTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=commit_time,json=commitTime,proto3" json:"commit_time,omitempty"`
1136}
1137
1138func (x *CommitResponse) Reset() {
1139	*x = CommitResponse{}
1140	if protoimpl.UnsafeEnabled {
1141		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[11]
1142		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1143		ms.StoreMessageInfo(mi)
1144	}
1145}
1146
1147func (x *CommitResponse) String() string {
1148	return protoimpl.X.MessageStringOf(x)
1149}
1150
1151func (*CommitResponse) ProtoMessage() {}
1152
1153func (x *CommitResponse) ProtoReflect() protoreflect.Message {
1154	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[11]
1155	if protoimpl.UnsafeEnabled && x != nil {
1156		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1157		if ms.LoadMessageInfo() == nil {
1158			ms.StoreMessageInfo(mi)
1159		}
1160		return ms
1161	}
1162	return mi.MessageOf(x)
1163}
1164
1165// Deprecated: Use CommitResponse.ProtoReflect.Descriptor instead.
1166func (*CommitResponse) Descriptor() ([]byte, []int) {
1167	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{11}
1168}
1169
1170func (x *CommitResponse) GetWriteResults() []*WriteResult {
1171	if x != nil {
1172		return x.WriteResults
1173	}
1174	return nil
1175}
1176
1177func (x *CommitResponse) GetCommitTime() *timestamppb.Timestamp {
1178	if x != nil {
1179		return x.CommitTime
1180	}
1181	return nil
1182}
1183
1184// The request for [Firestore.Rollback][google.firestore.v1beta1.Firestore.Rollback].
1185type RollbackRequest struct {
1186	state         protoimpl.MessageState
1187	sizeCache     protoimpl.SizeCache
1188	unknownFields protoimpl.UnknownFields
1189
1190	// Required. The database name. In the format:
1191	// `projects/{project_id}/databases/{database_id}`.
1192	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
1193	// Required. The transaction to roll back.
1194	Transaction []byte `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"`
1195}
1196
1197func (x *RollbackRequest) Reset() {
1198	*x = RollbackRequest{}
1199	if protoimpl.UnsafeEnabled {
1200		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[12]
1201		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1202		ms.StoreMessageInfo(mi)
1203	}
1204}
1205
1206func (x *RollbackRequest) String() string {
1207	return protoimpl.X.MessageStringOf(x)
1208}
1209
1210func (*RollbackRequest) ProtoMessage() {}
1211
1212func (x *RollbackRequest) ProtoReflect() protoreflect.Message {
1213	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[12]
1214	if protoimpl.UnsafeEnabled && x != nil {
1215		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1216		if ms.LoadMessageInfo() == nil {
1217			ms.StoreMessageInfo(mi)
1218		}
1219		return ms
1220	}
1221	return mi.MessageOf(x)
1222}
1223
1224// Deprecated: Use RollbackRequest.ProtoReflect.Descriptor instead.
1225func (*RollbackRequest) Descriptor() ([]byte, []int) {
1226	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{12}
1227}
1228
1229func (x *RollbackRequest) GetDatabase() string {
1230	if x != nil {
1231		return x.Database
1232	}
1233	return ""
1234}
1235
1236func (x *RollbackRequest) GetTransaction() []byte {
1237	if x != nil {
1238		return x.Transaction
1239	}
1240	return nil
1241}
1242
1243// The request for [Firestore.RunQuery][google.firestore.v1beta1.Firestore.RunQuery].
1244type RunQueryRequest struct {
1245	state         protoimpl.MessageState
1246	sizeCache     protoimpl.SizeCache
1247	unknownFields protoimpl.UnknownFields
1248
1249	// Required. The parent resource name. In the format:
1250	// `projects/{project_id}/databases/{database_id}/documents` or
1251	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
1252	// For example:
1253	// `projects/my-project/databases/my-database/documents` or
1254	// `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
1255	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1256	// The query to run.
1257	//
1258	// Types that are assignable to QueryType:
1259	//	*RunQueryRequest_StructuredQuery
1260	QueryType isRunQueryRequest_QueryType `protobuf_oneof:"query_type"`
1261	// The consistency mode for this transaction.
1262	// If not set, defaults to strong consistency.
1263	//
1264	// Types that are assignable to ConsistencySelector:
1265	//	*RunQueryRequest_Transaction
1266	//	*RunQueryRequest_NewTransaction
1267	//	*RunQueryRequest_ReadTime
1268	ConsistencySelector isRunQueryRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"`
1269}
1270
1271func (x *RunQueryRequest) Reset() {
1272	*x = RunQueryRequest{}
1273	if protoimpl.UnsafeEnabled {
1274		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[13]
1275		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1276		ms.StoreMessageInfo(mi)
1277	}
1278}
1279
1280func (x *RunQueryRequest) String() string {
1281	return protoimpl.X.MessageStringOf(x)
1282}
1283
1284func (*RunQueryRequest) ProtoMessage() {}
1285
1286func (x *RunQueryRequest) ProtoReflect() protoreflect.Message {
1287	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[13]
1288	if protoimpl.UnsafeEnabled && x != nil {
1289		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1290		if ms.LoadMessageInfo() == nil {
1291			ms.StoreMessageInfo(mi)
1292		}
1293		return ms
1294	}
1295	return mi.MessageOf(x)
1296}
1297
1298// Deprecated: Use RunQueryRequest.ProtoReflect.Descriptor instead.
1299func (*RunQueryRequest) Descriptor() ([]byte, []int) {
1300	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{13}
1301}
1302
1303func (x *RunQueryRequest) GetParent() string {
1304	if x != nil {
1305		return x.Parent
1306	}
1307	return ""
1308}
1309
1310func (m *RunQueryRequest) GetQueryType() isRunQueryRequest_QueryType {
1311	if m != nil {
1312		return m.QueryType
1313	}
1314	return nil
1315}
1316
1317func (x *RunQueryRequest) GetStructuredQuery() *StructuredQuery {
1318	if x, ok := x.GetQueryType().(*RunQueryRequest_StructuredQuery); ok {
1319		return x.StructuredQuery
1320	}
1321	return nil
1322}
1323
1324func (m *RunQueryRequest) GetConsistencySelector() isRunQueryRequest_ConsistencySelector {
1325	if m != nil {
1326		return m.ConsistencySelector
1327	}
1328	return nil
1329}
1330
1331func (x *RunQueryRequest) GetTransaction() []byte {
1332	if x, ok := x.GetConsistencySelector().(*RunQueryRequest_Transaction); ok {
1333		return x.Transaction
1334	}
1335	return nil
1336}
1337
1338func (x *RunQueryRequest) GetNewTransaction() *TransactionOptions {
1339	if x, ok := x.GetConsistencySelector().(*RunQueryRequest_NewTransaction); ok {
1340		return x.NewTransaction
1341	}
1342	return nil
1343}
1344
1345func (x *RunQueryRequest) GetReadTime() *timestamppb.Timestamp {
1346	if x, ok := x.GetConsistencySelector().(*RunQueryRequest_ReadTime); ok {
1347		return x.ReadTime
1348	}
1349	return nil
1350}
1351
1352type isRunQueryRequest_QueryType interface {
1353	isRunQueryRequest_QueryType()
1354}
1355
1356type RunQueryRequest_StructuredQuery struct {
1357	// A structured query.
1358	StructuredQuery *StructuredQuery `protobuf:"bytes,2,opt,name=structured_query,json=structuredQuery,proto3,oneof"`
1359}
1360
1361func (*RunQueryRequest_StructuredQuery) isRunQueryRequest_QueryType() {}
1362
1363type isRunQueryRequest_ConsistencySelector interface {
1364	isRunQueryRequest_ConsistencySelector()
1365}
1366
1367type RunQueryRequest_Transaction struct {
1368	// Reads documents in a transaction.
1369	Transaction []byte `protobuf:"bytes,5,opt,name=transaction,proto3,oneof"`
1370}
1371
1372type RunQueryRequest_NewTransaction struct {
1373	// Starts a new transaction and reads the documents.
1374	// Defaults to a read-only transaction.
1375	// The new transaction ID will be returned as the first response in the
1376	// stream.
1377	NewTransaction *TransactionOptions `protobuf:"bytes,6,opt,name=new_transaction,json=newTransaction,proto3,oneof"`
1378}
1379
1380type RunQueryRequest_ReadTime struct {
1381	// Reads documents as they were at the given time.
1382	// This may not be older than 270 seconds.
1383	ReadTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=read_time,json=readTime,proto3,oneof"`
1384}
1385
1386func (*RunQueryRequest_Transaction) isRunQueryRequest_ConsistencySelector() {}
1387
1388func (*RunQueryRequest_NewTransaction) isRunQueryRequest_ConsistencySelector() {}
1389
1390func (*RunQueryRequest_ReadTime) isRunQueryRequest_ConsistencySelector() {}
1391
1392// The response for [Firestore.RunQuery][google.firestore.v1beta1.Firestore.RunQuery].
1393type RunQueryResponse struct {
1394	state         protoimpl.MessageState
1395	sizeCache     protoimpl.SizeCache
1396	unknownFields protoimpl.UnknownFields
1397
1398	// The transaction that was started as part of this request.
1399	// Can only be set in the first response, and only if
1400	// [RunQueryRequest.new_transaction][google.firestore.v1beta1.RunQueryRequest.new_transaction] was set in the request.
1401	// If set, no other fields will be set in this response.
1402	Transaction []byte `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"`
1403	// A query result.
1404	// Not set when reporting partial progress.
1405	Document *Document `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"`
1406	// The time at which the document was read. This may be monotonically
1407	// increasing; in this case, the previous documents in the result stream are
1408	// guaranteed not to have changed between their `read_time` and this one.
1409	//
1410	// If the query returns no results, a response with `read_time` and no
1411	// `document` will be sent, and this represents the time at which the query
1412	// was run.
1413	ReadTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
1414	// The number of results that have been skipped due to an offset between
1415	// the last response and the current response.
1416	SkippedResults int32 `protobuf:"varint,4,opt,name=skipped_results,json=skippedResults,proto3" json:"skipped_results,omitempty"`
1417}
1418
1419func (x *RunQueryResponse) Reset() {
1420	*x = RunQueryResponse{}
1421	if protoimpl.UnsafeEnabled {
1422		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[14]
1423		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1424		ms.StoreMessageInfo(mi)
1425	}
1426}
1427
1428func (x *RunQueryResponse) String() string {
1429	return protoimpl.X.MessageStringOf(x)
1430}
1431
1432func (*RunQueryResponse) ProtoMessage() {}
1433
1434func (x *RunQueryResponse) ProtoReflect() protoreflect.Message {
1435	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[14]
1436	if protoimpl.UnsafeEnabled && x != nil {
1437		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1438		if ms.LoadMessageInfo() == nil {
1439			ms.StoreMessageInfo(mi)
1440		}
1441		return ms
1442	}
1443	return mi.MessageOf(x)
1444}
1445
1446// Deprecated: Use RunQueryResponse.ProtoReflect.Descriptor instead.
1447func (*RunQueryResponse) Descriptor() ([]byte, []int) {
1448	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{14}
1449}
1450
1451func (x *RunQueryResponse) GetTransaction() []byte {
1452	if x != nil {
1453		return x.Transaction
1454	}
1455	return nil
1456}
1457
1458func (x *RunQueryResponse) GetDocument() *Document {
1459	if x != nil {
1460		return x.Document
1461	}
1462	return nil
1463}
1464
1465func (x *RunQueryResponse) GetReadTime() *timestamppb.Timestamp {
1466	if x != nil {
1467		return x.ReadTime
1468	}
1469	return nil
1470}
1471
1472func (x *RunQueryResponse) GetSkippedResults() int32 {
1473	if x != nil {
1474		return x.SkippedResults
1475	}
1476	return 0
1477}
1478
1479// The request for [Firestore.PartitionQuery][google.firestore.v1beta1.Firestore.PartitionQuery].
1480type PartitionQueryRequest struct {
1481	state         protoimpl.MessageState
1482	sizeCache     protoimpl.SizeCache
1483	unknownFields protoimpl.UnknownFields
1484
1485	// Required. The parent resource name. In the format:
1486	// `projects/{project_id}/databases/{database_id}/documents`.
1487	// Document resource names are not supported; only database resource names
1488	// can be specified.
1489	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1490	// The query to partition.
1491	//
1492	// Types that are assignable to QueryType:
1493	//	*PartitionQueryRequest_StructuredQuery
1494	QueryType isPartitionQueryRequest_QueryType `protobuf_oneof:"query_type"`
1495	// The desired maximum number of partition points.
1496	// The partitions may be returned across multiple pages of results.
1497	// The number must be positive. The actual number of partitions
1498	// returned may be fewer.
1499	//
1500	// For example, this may be set to one fewer than the number of parallel
1501	// queries to be run, or in running a data pipeline job, one fewer than the
1502	// number of workers or compute instances available.
1503	PartitionCount int64 `protobuf:"varint,3,opt,name=partition_count,json=partitionCount,proto3" json:"partition_count,omitempty"`
1504	// The `next_page_token` value returned from a previous call to
1505	// PartitionQuery that may be used to get an additional set of results.
1506	// There are no ordering guarantees between sets of results. Thus, using
1507	// multiple sets of results will require merging the different result sets.
1508	//
1509	// For example, two subsequent calls using a page_token may return:
1510	//
1511	//  * cursor B, cursor M, cursor Q
1512	//  * cursor A, cursor U, cursor W
1513	//
1514	// To obtain a complete result set ordered with respect to the results of the
1515	// query supplied to PartitionQuery, the results sets should be merged:
1516	// cursor A, cursor B, cursor M, cursor Q, cursor U, cursor W
1517	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
1518	// The maximum number of partitions to return in this call, subject to
1519	// `partition_count`.
1520	//
1521	// For example, if `partition_count` = 10 and `page_size` = 8, the first call
1522	// to PartitionQuery will return up to 8 partitions and a `next_page_token`
1523	// if more results exist. A second call to PartitionQuery will return up to
1524	// 2 partitions, to complete the total of 10 specified in `partition_count`.
1525	PageSize int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
1526}
1527
1528func (x *PartitionQueryRequest) Reset() {
1529	*x = PartitionQueryRequest{}
1530	if protoimpl.UnsafeEnabled {
1531		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[15]
1532		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1533		ms.StoreMessageInfo(mi)
1534	}
1535}
1536
1537func (x *PartitionQueryRequest) String() string {
1538	return protoimpl.X.MessageStringOf(x)
1539}
1540
1541func (*PartitionQueryRequest) ProtoMessage() {}
1542
1543func (x *PartitionQueryRequest) ProtoReflect() protoreflect.Message {
1544	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[15]
1545	if protoimpl.UnsafeEnabled && x != nil {
1546		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1547		if ms.LoadMessageInfo() == nil {
1548			ms.StoreMessageInfo(mi)
1549		}
1550		return ms
1551	}
1552	return mi.MessageOf(x)
1553}
1554
1555// Deprecated: Use PartitionQueryRequest.ProtoReflect.Descriptor instead.
1556func (*PartitionQueryRequest) Descriptor() ([]byte, []int) {
1557	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{15}
1558}
1559
1560func (x *PartitionQueryRequest) GetParent() string {
1561	if x != nil {
1562		return x.Parent
1563	}
1564	return ""
1565}
1566
1567func (m *PartitionQueryRequest) GetQueryType() isPartitionQueryRequest_QueryType {
1568	if m != nil {
1569		return m.QueryType
1570	}
1571	return nil
1572}
1573
1574func (x *PartitionQueryRequest) GetStructuredQuery() *StructuredQuery {
1575	if x, ok := x.GetQueryType().(*PartitionQueryRequest_StructuredQuery); ok {
1576		return x.StructuredQuery
1577	}
1578	return nil
1579}
1580
1581func (x *PartitionQueryRequest) GetPartitionCount() int64 {
1582	if x != nil {
1583		return x.PartitionCount
1584	}
1585	return 0
1586}
1587
1588func (x *PartitionQueryRequest) GetPageToken() string {
1589	if x != nil {
1590		return x.PageToken
1591	}
1592	return ""
1593}
1594
1595func (x *PartitionQueryRequest) GetPageSize() int32 {
1596	if x != nil {
1597		return x.PageSize
1598	}
1599	return 0
1600}
1601
1602type isPartitionQueryRequest_QueryType interface {
1603	isPartitionQueryRequest_QueryType()
1604}
1605
1606type PartitionQueryRequest_StructuredQuery struct {
1607	// A structured query.
1608	// Query must specify collection with all descendants and be ordered by name
1609	// ascending. Other filters, order bys, limits, offsets, and start/end
1610	// cursors are not supported.
1611	StructuredQuery *StructuredQuery `protobuf:"bytes,2,opt,name=structured_query,json=structuredQuery,proto3,oneof"`
1612}
1613
1614func (*PartitionQueryRequest_StructuredQuery) isPartitionQueryRequest_QueryType() {}
1615
1616// The response for [Firestore.PartitionQuery][google.firestore.v1beta1.Firestore.PartitionQuery].
1617type PartitionQueryResponse struct {
1618	state         protoimpl.MessageState
1619	sizeCache     protoimpl.SizeCache
1620	unknownFields protoimpl.UnknownFields
1621
1622	// Partition results.
1623	// Each partition is a split point that can be used by RunQuery as a starting
1624	// or end point for the query results. The RunQuery requests must be made with
1625	// the same query supplied to this PartitionQuery request. The partition
1626	// cursors will be ordered according to same ordering as the results of the
1627	// query supplied to PartitionQuery.
1628	//
1629	// For example, if a PartitionQuery request returns partition cursors A and B,
1630	// running the following three queries will return the entire result set of
1631	// the original query:
1632	//
1633	//  * query, end_at A
1634	//  * query, start_at A, end_at B
1635	//  * query, start_at B
1636	//
1637	// An empty result may indicate that the query has too few results to be
1638	// partitioned.
1639	Partitions []*Cursor `protobuf:"bytes,1,rep,name=partitions,proto3" json:"partitions,omitempty"`
1640	// A page token that may be used to request an additional set of results, up
1641	// to the number specified by `partition_count` in the PartitionQuery request.
1642	// If blank, there are no more results.
1643	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
1644}
1645
1646func (x *PartitionQueryResponse) Reset() {
1647	*x = PartitionQueryResponse{}
1648	if protoimpl.UnsafeEnabled {
1649		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[16]
1650		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1651		ms.StoreMessageInfo(mi)
1652	}
1653}
1654
1655func (x *PartitionQueryResponse) String() string {
1656	return protoimpl.X.MessageStringOf(x)
1657}
1658
1659func (*PartitionQueryResponse) ProtoMessage() {}
1660
1661func (x *PartitionQueryResponse) ProtoReflect() protoreflect.Message {
1662	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[16]
1663	if protoimpl.UnsafeEnabled && x != nil {
1664		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1665		if ms.LoadMessageInfo() == nil {
1666			ms.StoreMessageInfo(mi)
1667		}
1668		return ms
1669	}
1670	return mi.MessageOf(x)
1671}
1672
1673// Deprecated: Use PartitionQueryResponse.ProtoReflect.Descriptor instead.
1674func (*PartitionQueryResponse) Descriptor() ([]byte, []int) {
1675	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{16}
1676}
1677
1678func (x *PartitionQueryResponse) GetPartitions() []*Cursor {
1679	if x != nil {
1680		return x.Partitions
1681	}
1682	return nil
1683}
1684
1685func (x *PartitionQueryResponse) GetNextPageToken() string {
1686	if x != nil {
1687		return x.NextPageToken
1688	}
1689	return ""
1690}
1691
1692// The request for [Firestore.Write][google.firestore.v1beta1.Firestore.Write].
1693//
1694// The first request creates a stream, or resumes an existing one from a token.
1695//
1696// When creating a new stream, the server replies with a response containing
1697// only an ID and a token, to use in the next request.
1698//
1699// When resuming a stream, the server first streams any responses later than the
1700// given token, then a response containing only an up-to-date token, to use in
1701// the next request.
1702type WriteRequest struct {
1703	state         protoimpl.MessageState
1704	sizeCache     protoimpl.SizeCache
1705	unknownFields protoimpl.UnknownFields
1706
1707	// Required. The database name. In the format:
1708	// `projects/{project_id}/databases/{database_id}`.
1709	// This is only required in the first message.
1710	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
1711	// The ID of the write stream to resume.
1712	// This may only be set in the first message. When left empty, a new write
1713	// stream will be created.
1714	StreamId string `protobuf:"bytes,2,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"`
1715	// The writes to apply.
1716	//
1717	// Always executed atomically and in order.
1718	// This must be empty on the first request.
1719	// This may be empty on the last request.
1720	// This must not be empty on all other requests.
1721	Writes []*Write `protobuf:"bytes,3,rep,name=writes,proto3" json:"writes,omitempty"`
1722	// A stream token that was previously sent by the server.
1723	//
1724	// The client should set this field to the token from the most recent
1725	// [WriteResponse][google.firestore.v1beta1.WriteResponse] it has received. This acknowledges that the client has
1726	// received responses up to this token. After sending this token, earlier
1727	// tokens may not be used anymore.
1728	//
1729	// The server may close the stream if there are too many unacknowledged
1730	// responses.
1731	//
1732	// Leave this field unset when creating a new stream. To resume a stream at
1733	// a specific point, set this field and the `stream_id` field.
1734	//
1735	// Leave this field unset when creating a new stream.
1736	StreamToken []byte `protobuf:"bytes,4,opt,name=stream_token,json=streamToken,proto3" json:"stream_token,omitempty"`
1737	// Labels associated with this write request.
1738	Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1739}
1740
1741func (x *WriteRequest) Reset() {
1742	*x = WriteRequest{}
1743	if protoimpl.UnsafeEnabled {
1744		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[17]
1745		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1746		ms.StoreMessageInfo(mi)
1747	}
1748}
1749
1750func (x *WriteRequest) String() string {
1751	return protoimpl.X.MessageStringOf(x)
1752}
1753
1754func (*WriteRequest) ProtoMessage() {}
1755
1756func (x *WriteRequest) ProtoReflect() protoreflect.Message {
1757	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[17]
1758	if protoimpl.UnsafeEnabled && x != nil {
1759		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1760		if ms.LoadMessageInfo() == nil {
1761			ms.StoreMessageInfo(mi)
1762		}
1763		return ms
1764	}
1765	return mi.MessageOf(x)
1766}
1767
1768// Deprecated: Use WriteRequest.ProtoReflect.Descriptor instead.
1769func (*WriteRequest) Descriptor() ([]byte, []int) {
1770	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{17}
1771}
1772
1773func (x *WriteRequest) GetDatabase() string {
1774	if x != nil {
1775		return x.Database
1776	}
1777	return ""
1778}
1779
1780func (x *WriteRequest) GetStreamId() string {
1781	if x != nil {
1782		return x.StreamId
1783	}
1784	return ""
1785}
1786
1787func (x *WriteRequest) GetWrites() []*Write {
1788	if x != nil {
1789		return x.Writes
1790	}
1791	return nil
1792}
1793
1794func (x *WriteRequest) GetStreamToken() []byte {
1795	if x != nil {
1796		return x.StreamToken
1797	}
1798	return nil
1799}
1800
1801func (x *WriteRequest) GetLabels() map[string]string {
1802	if x != nil {
1803		return x.Labels
1804	}
1805	return nil
1806}
1807
1808// The response for [Firestore.Write][google.firestore.v1beta1.Firestore.Write].
1809type WriteResponse struct {
1810	state         protoimpl.MessageState
1811	sizeCache     protoimpl.SizeCache
1812	unknownFields protoimpl.UnknownFields
1813
1814	// The ID of the stream.
1815	// Only set on the first message, when a new stream was created.
1816	StreamId string `protobuf:"bytes,1,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"`
1817	// A token that represents the position of this response in the stream.
1818	// This can be used by a client to resume the stream at this point.
1819	//
1820	// This field is always set.
1821	StreamToken []byte `protobuf:"bytes,2,opt,name=stream_token,json=streamToken,proto3" json:"stream_token,omitempty"`
1822	// The result of applying the writes.
1823	//
1824	// This i-th write result corresponds to the i-th write in the
1825	// request.
1826	WriteResults []*WriteResult `protobuf:"bytes,3,rep,name=write_results,json=writeResults,proto3" json:"write_results,omitempty"`
1827	// The time at which the commit occurred. Any read with an equal or greater
1828	// `read_time` is guaranteed to see the effects of the write.
1829	CommitTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=commit_time,json=commitTime,proto3" json:"commit_time,omitempty"`
1830}
1831
1832func (x *WriteResponse) Reset() {
1833	*x = WriteResponse{}
1834	if protoimpl.UnsafeEnabled {
1835		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[18]
1836		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1837		ms.StoreMessageInfo(mi)
1838	}
1839}
1840
1841func (x *WriteResponse) String() string {
1842	return protoimpl.X.MessageStringOf(x)
1843}
1844
1845func (*WriteResponse) ProtoMessage() {}
1846
1847func (x *WriteResponse) ProtoReflect() protoreflect.Message {
1848	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[18]
1849	if protoimpl.UnsafeEnabled && x != nil {
1850		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1851		if ms.LoadMessageInfo() == nil {
1852			ms.StoreMessageInfo(mi)
1853		}
1854		return ms
1855	}
1856	return mi.MessageOf(x)
1857}
1858
1859// Deprecated: Use WriteResponse.ProtoReflect.Descriptor instead.
1860func (*WriteResponse) Descriptor() ([]byte, []int) {
1861	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{18}
1862}
1863
1864func (x *WriteResponse) GetStreamId() string {
1865	if x != nil {
1866		return x.StreamId
1867	}
1868	return ""
1869}
1870
1871func (x *WriteResponse) GetStreamToken() []byte {
1872	if x != nil {
1873		return x.StreamToken
1874	}
1875	return nil
1876}
1877
1878func (x *WriteResponse) GetWriteResults() []*WriteResult {
1879	if x != nil {
1880		return x.WriteResults
1881	}
1882	return nil
1883}
1884
1885func (x *WriteResponse) GetCommitTime() *timestamppb.Timestamp {
1886	if x != nil {
1887		return x.CommitTime
1888	}
1889	return nil
1890}
1891
1892// A request for [Firestore.Listen][google.firestore.v1beta1.Firestore.Listen]
1893type ListenRequest struct {
1894	state         protoimpl.MessageState
1895	sizeCache     protoimpl.SizeCache
1896	unknownFields protoimpl.UnknownFields
1897
1898	// Required. The database name. In the format:
1899	// `projects/{project_id}/databases/{database_id}`.
1900	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
1901	// The supported target changes.
1902	//
1903	// Types that are assignable to TargetChange:
1904	//	*ListenRequest_AddTarget
1905	//	*ListenRequest_RemoveTarget
1906	TargetChange isListenRequest_TargetChange `protobuf_oneof:"target_change"`
1907	// Labels associated with this target change.
1908	Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1909}
1910
1911func (x *ListenRequest) Reset() {
1912	*x = ListenRequest{}
1913	if protoimpl.UnsafeEnabled {
1914		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[19]
1915		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1916		ms.StoreMessageInfo(mi)
1917	}
1918}
1919
1920func (x *ListenRequest) String() string {
1921	return protoimpl.X.MessageStringOf(x)
1922}
1923
1924func (*ListenRequest) ProtoMessage() {}
1925
1926func (x *ListenRequest) ProtoReflect() protoreflect.Message {
1927	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[19]
1928	if protoimpl.UnsafeEnabled && x != nil {
1929		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1930		if ms.LoadMessageInfo() == nil {
1931			ms.StoreMessageInfo(mi)
1932		}
1933		return ms
1934	}
1935	return mi.MessageOf(x)
1936}
1937
1938// Deprecated: Use ListenRequest.ProtoReflect.Descriptor instead.
1939func (*ListenRequest) Descriptor() ([]byte, []int) {
1940	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{19}
1941}
1942
1943func (x *ListenRequest) GetDatabase() string {
1944	if x != nil {
1945		return x.Database
1946	}
1947	return ""
1948}
1949
1950func (m *ListenRequest) GetTargetChange() isListenRequest_TargetChange {
1951	if m != nil {
1952		return m.TargetChange
1953	}
1954	return nil
1955}
1956
1957func (x *ListenRequest) GetAddTarget() *Target {
1958	if x, ok := x.GetTargetChange().(*ListenRequest_AddTarget); ok {
1959		return x.AddTarget
1960	}
1961	return nil
1962}
1963
1964func (x *ListenRequest) GetRemoveTarget() int32 {
1965	if x, ok := x.GetTargetChange().(*ListenRequest_RemoveTarget); ok {
1966		return x.RemoveTarget
1967	}
1968	return 0
1969}
1970
1971func (x *ListenRequest) GetLabels() map[string]string {
1972	if x != nil {
1973		return x.Labels
1974	}
1975	return nil
1976}
1977
1978type isListenRequest_TargetChange interface {
1979	isListenRequest_TargetChange()
1980}
1981
1982type ListenRequest_AddTarget struct {
1983	// A target to add to this stream.
1984	AddTarget *Target `protobuf:"bytes,2,opt,name=add_target,json=addTarget,proto3,oneof"`
1985}
1986
1987type ListenRequest_RemoveTarget struct {
1988	// The ID of a target to remove from this stream.
1989	RemoveTarget int32 `protobuf:"varint,3,opt,name=remove_target,json=removeTarget,proto3,oneof"`
1990}
1991
1992func (*ListenRequest_AddTarget) isListenRequest_TargetChange() {}
1993
1994func (*ListenRequest_RemoveTarget) isListenRequest_TargetChange() {}
1995
1996// The response for [Firestore.Listen][google.firestore.v1beta1.Firestore.Listen].
1997type ListenResponse struct {
1998	state         protoimpl.MessageState
1999	sizeCache     protoimpl.SizeCache
2000	unknownFields protoimpl.UnknownFields
2001
2002	// The supported responses.
2003	//
2004	// Types that are assignable to ResponseType:
2005	//	*ListenResponse_TargetChange
2006	//	*ListenResponse_DocumentChange
2007	//	*ListenResponse_DocumentDelete
2008	//	*ListenResponse_DocumentRemove
2009	//	*ListenResponse_Filter
2010	ResponseType isListenResponse_ResponseType `protobuf_oneof:"response_type"`
2011}
2012
2013func (x *ListenResponse) Reset() {
2014	*x = ListenResponse{}
2015	if protoimpl.UnsafeEnabled {
2016		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[20]
2017		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2018		ms.StoreMessageInfo(mi)
2019	}
2020}
2021
2022func (x *ListenResponse) String() string {
2023	return protoimpl.X.MessageStringOf(x)
2024}
2025
2026func (*ListenResponse) ProtoMessage() {}
2027
2028func (x *ListenResponse) ProtoReflect() protoreflect.Message {
2029	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[20]
2030	if protoimpl.UnsafeEnabled && x != nil {
2031		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2032		if ms.LoadMessageInfo() == nil {
2033			ms.StoreMessageInfo(mi)
2034		}
2035		return ms
2036	}
2037	return mi.MessageOf(x)
2038}
2039
2040// Deprecated: Use ListenResponse.ProtoReflect.Descriptor instead.
2041func (*ListenResponse) Descriptor() ([]byte, []int) {
2042	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{20}
2043}
2044
2045func (m *ListenResponse) GetResponseType() isListenResponse_ResponseType {
2046	if m != nil {
2047		return m.ResponseType
2048	}
2049	return nil
2050}
2051
2052func (x *ListenResponse) GetTargetChange() *TargetChange {
2053	if x, ok := x.GetResponseType().(*ListenResponse_TargetChange); ok {
2054		return x.TargetChange
2055	}
2056	return nil
2057}
2058
2059func (x *ListenResponse) GetDocumentChange() *DocumentChange {
2060	if x, ok := x.GetResponseType().(*ListenResponse_DocumentChange); ok {
2061		return x.DocumentChange
2062	}
2063	return nil
2064}
2065
2066func (x *ListenResponse) GetDocumentDelete() *DocumentDelete {
2067	if x, ok := x.GetResponseType().(*ListenResponse_DocumentDelete); ok {
2068		return x.DocumentDelete
2069	}
2070	return nil
2071}
2072
2073func (x *ListenResponse) GetDocumentRemove() *DocumentRemove {
2074	if x, ok := x.GetResponseType().(*ListenResponse_DocumentRemove); ok {
2075		return x.DocumentRemove
2076	}
2077	return nil
2078}
2079
2080func (x *ListenResponse) GetFilter() *ExistenceFilter {
2081	if x, ok := x.GetResponseType().(*ListenResponse_Filter); ok {
2082		return x.Filter
2083	}
2084	return nil
2085}
2086
2087type isListenResponse_ResponseType interface {
2088	isListenResponse_ResponseType()
2089}
2090
2091type ListenResponse_TargetChange struct {
2092	// Targets have changed.
2093	TargetChange *TargetChange `protobuf:"bytes,2,opt,name=target_change,json=targetChange,proto3,oneof"`
2094}
2095
2096type ListenResponse_DocumentChange struct {
2097	// A [Document][google.firestore.v1beta1.Document] has changed.
2098	DocumentChange *DocumentChange `protobuf:"bytes,3,opt,name=document_change,json=documentChange,proto3,oneof"`
2099}
2100
2101type ListenResponse_DocumentDelete struct {
2102	// A [Document][google.firestore.v1beta1.Document] has been deleted.
2103	DocumentDelete *DocumentDelete `protobuf:"bytes,4,opt,name=document_delete,json=documentDelete,proto3,oneof"`
2104}
2105
2106type ListenResponse_DocumentRemove struct {
2107	// A [Document][google.firestore.v1beta1.Document] has been removed from a target (because it is no longer
2108	// relevant to that target).
2109	DocumentRemove *DocumentRemove `protobuf:"bytes,6,opt,name=document_remove,json=documentRemove,proto3,oneof"`
2110}
2111
2112type ListenResponse_Filter struct {
2113	// A filter to apply to the set of documents previously returned for the
2114	// given target.
2115	//
2116	// Returned when documents may have been removed from the given target, but
2117	// the exact documents are unknown.
2118	Filter *ExistenceFilter `protobuf:"bytes,5,opt,name=filter,proto3,oneof"`
2119}
2120
2121func (*ListenResponse_TargetChange) isListenResponse_ResponseType() {}
2122
2123func (*ListenResponse_DocumentChange) isListenResponse_ResponseType() {}
2124
2125func (*ListenResponse_DocumentDelete) isListenResponse_ResponseType() {}
2126
2127func (*ListenResponse_DocumentRemove) isListenResponse_ResponseType() {}
2128
2129func (*ListenResponse_Filter) isListenResponse_ResponseType() {}
2130
2131// A specification of a set of documents to listen to.
2132type Target struct {
2133	state         protoimpl.MessageState
2134	sizeCache     protoimpl.SizeCache
2135	unknownFields protoimpl.UnknownFields
2136
2137	// The type of target to listen to.
2138	//
2139	// Types that are assignable to TargetType:
2140	//	*Target_Query
2141	//	*Target_Documents
2142	TargetType isTarget_TargetType `protobuf_oneof:"target_type"`
2143	// When to start listening.
2144	//
2145	// If not specified, all matching Documents are returned before any
2146	// subsequent changes.
2147	//
2148	// Types that are assignable to ResumeType:
2149	//	*Target_ResumeToken
2150	//	*Target_ReadTime
2151	ResumeType isTarget_ResumeType `protobuf_oneof:"resume_type"`
2152	// The target ID that identifies the target on the stream. Must be a positive
2153	// number and non-zero.
2154	TargetId int32 `protobuf:"varint,5,opt,name=target_id,json=targetId,proto3" json:"target_id,omitempty"`
2155	// If the target should be removed once it is current and consistent.
2156	Once bool `protobuf:"varint,6,opt,name=once,proto3" json:"once,omitempty"`
2157}
2158
2159func (x *Target) Reset() {
2160	*x = Target{}
2161	if protoimpl.UnsafeEnabled {
2162		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[21]
2163		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2164		ms.StoreMessageInfo(mi)
2165	}
2166}
2167
2168func (x *Target) String() string {
2169	return protoimpl.X.MessageStringOf(x)
2170}
2171
2172func (*Target) ProtoMessage() {}
2173
2174func (x *Target) ProtoReflect() protoreflect.Message {
2175	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[21]
2176	if protoimpl.UnsafeEnabled && x != nil {
2177		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2178		if ms.LoadMessageInfo() == nil {
2179			ms.StoreMessageInfo(mi)
2180		}
2181		return ms
2182	}
2183	return mi.MessageOf(x)
2184}
2185
2186// Deprecated: Use Target.ProtoReflect.Descriptor instead.
2187func (*Target) Descriptor() ([]byte, []int) {
2188	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{21}
2189}
2190
2191func (m *Target) GetTargetType() isTarget_TargetType {
2192	if m != nil {
2193		return m.TargetType
2194	}
2195	return nil
2196}
2197
2198func (x *Target) GetQuery() *Target_QueryTarget {
2199	if x, ok := x.GetTargetType().(*Target_Query); ok {
2200		return x.Query
2201	}
2202	return nil
2203}
2204
2205func (x *Target) GetDocuments() *Target_DocumentsTarget {
2206	if x, ok := x.GetTargetType().(*Target_Documents); ok {
2207		return x.Documents
2208	}
2209	return nil
2210}
2211
2212func (m *Target) GetResumeType() isTarget_ResumeType {
2213	if m != nil {
2214		return m.ResumeType
2215	}
2216	return nil
2217}
2218
2219func (x *Target) GetResumeToken() []byte {
2220	if x, ok := x.GetResumeType().(*Target_ResumeToken); ok {
2221		return x.ResumeToken
2222	}
2223	return nil
2224}
2225
2226func (x *Target) GetReadTime() *timestamppb.Timestamp {
2227	if x, ok := x.GetResumeType().(*Target_ReadTime); ok {
2228		return x.ReadTime
2229	}
2230	return nil
2231}
2232
2233func (x *Target) GetTargetId() int32 {
2234	if x != nil {
2235		return x.TargetId
2236	}
2237	return 0
2238}
2239
2240func (x *Target) GetOnce() bool {
2241	if x != nil {
2242		return x.Once
2243	}
2244	return false
2245}
2246
2247type isTarget_TargetType interface {
2248	isTarget_TargetType()
2249}
2250
2251type Target_Query struct {
2252	// A target specified by a query.
2253	Query *Target_QueryTarget `protobuf:"bytes,2,opt,name=query,proto3,oneof"`
2254}
2255
2256type Target_Documents struct {
2257	// A target specified by a set of document names.
2258	Documents *Target_DocumentsTarget `protobuf:"bytes,3,opt,name=documents,proto3,oneof"`
2259}
2260
2261func (*Target_Query) isTarget_TargetType() {}
2262
2263func (*Target_Documents) isTarget_TargetType() {}
2264
2265type isTarget_ResumeType interface {
2266	isTarget_ResumeType()
2267}
2268
2269type Target_ResumeToken struct {
2270	// A resume token from a prior [TargetChange][google.firestore.v1beta1.TargetChange] for an identical target.
2271	//
2272	// Using a resume token with a different target is unsupported and may fail.
2273	ResumeToken []byte `protobuf:"bytes,4,opt,name=resume_token,json=resumeToken,proto3,oneof"`
2274}
2275
2276type Target_ReadTime struct {
2277	// Start listening after a specific `read_time`.
2278	//
2279	// The client must know the state of matching documents at this time.
2280	ReadTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=read_time,json=readTime,proto3,oneof"`
2281}
2282
2283func (*Target_ResumeToken) isTarget_ResumeType() {}
2284
2285func (*Target_ReadTime) isTarget_ResumeType() {}
2286
2287// Targets being watched have changed.
2288type TargetChange struct {
2289	state         protoimpl.MessageState
2290	sizeCache     protoimpl.SizeCache
2291	unknownFields protoimpl.UnknownFields
2292
2293	// The type of change that occurred.
2294	TargetChangeType TargetChange_TargetChangeType `protobuf:"varint,1,opt,name=target_change_type,json=targetChangeType,proto3,enum=google.firestore.v1beta1.TargetChange_TargetChangeType" json:"target_change_type,omitempty"`
2295	// The target IDs of targets that have changed.
2296	//
2297	// If empty, the change applies to all targets.
2298	//
2299	// The order of the target IDs is not defined.
2300	TargetIds []int32 `protobuf:"varint,2,rep,packed,name=target_ids,json=targetIds,proto3" json:"target_ids,omitempty"`
2301	// The error that resulted in this change, if applicable.
2302	Cause *status.Status `protobuf:"bytes,3,opt,name=cause,proto3" json:"cause,omitempty"`
2303	// A token that can be used to resume the stream for the given `target_ids`,
2304	// or all targets if `target_ids` is empty.
2305	//
2306	// Not set on every target change.
2307	ResumeToken []byte `protobuf:"bytes,4,opt,name=resume_token,json=resumeToken,proto3" json:"resume_token,omitempty"`
2308	// The consistent `read_time` for the given `target_ids` (omitted when the
2309	// target_ids are not at a consistent snapshot).
2310	//
2311	// The stream is guaranteed to send a `read_time` with `target_ids` empty
2312	// whenever the entire stream reaches a new consistent snapshot. ADD,
2313	// CURRENT, and RESET messages are guaranteed to (eventually) result in a
2314	// new consistent snapshot (while NO_CHANGE and REMOVE messages are not).
2315	//
2316	// For a given stream, `read_time` is guaranteed to be monotonically
2317	// increasing.
2318	ReadTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
2319}
2320
2321func (x *TargetChange) Reset() {
2322	*x = TargetChange{}
2323	if protoimpl.UnsafeEnabled {
2324		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[22]
2325		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2326		ms.StoreMessageInfo(mi)
2327	}
2328}
2329
2330func (x *TargetChange) String() string {
2331	return protoimpl.X.MessageStringOf(x)
2332}
2333
2334func (*TargetChange) ProtoMessage() {}
2335
2336func (x *TargetChange) ProtoReflect() protoreflect.Message {
2337	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[22]
2338	if protoimpl.UnsafeEnabled && x != nil {
2339		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2340		if ms.LoadMessageInfo() == nil {
2341			ms.StoreMessageInfo(mi)
2342		}
2343		return ms
2344	}
2345	return mi.MessageOf(x)
2346}
2347
2348// Deprecated: Use TargetChange.ProtoReflect.Descriptor instead.
2349func (*TargetChange) Descriptor() ([]byte, []int) {
2350	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{22}
2351}
2352
2353func (x *TargetChange) GetTargetChangeType() TargetChange_TargetChangeType {
2354	if x != nil {
2355		return x.TargetChangeType
2356	}
2357	return TargetChange_NO_CHANGE
2358}
2359
2360func (x *TargetChange) GetTargetIds() []int32 {
2361	if x != nil {
2362		return x.TargetIds
2363	}
2364	return nil
2365}
2366
2367func (x *TargetChange) GetCause() *status.Status {
2368	if x != nil {
2369		return x.Cause
2370	}
2371	return nil
2372}
2373
2374func (x *TargetChange) GetResumeToken() []byte {
2375	if x != nil {
2376		return x.ResumeToken
2377	}
2378	return nil
2379}
2380
2381func (x *TargetChange) GetReadTime() *timestamppb.Timestamp {
2382	if x != nil {
2383		return x.ReadTime
2384	}
2385	return nil
2386}
2387
2388// The request for [Firestore.ListCollectionIds][google.firestore.v1beta1.Firestore.ListCollectionIds].
2389type ListCollectionIdsRequest struct {
2390	state         protoimpl.MessageState
2391	sizeCache     protoimpl.SizeCache
2392	unknownFields protoimpl.UnknownFields
2393
2394	// Required. The parent document. In the format:
2395	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
2396	// For example:
2397	// `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
2398	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2399	// The maximum number of results to return.
2400	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
2401	// A page token. Must be a value from
2402	// [ListCollectionIdsResponse][google.firestore.v1beta1.ListCollectionIdsResponse].
2403	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
2404}
2405
2406func (x *ListCollectionIdsRequest) Reset() {
2407	*x = ListCollectionIdsRequest{}
2408	if protoimpl.UnsafeEnabled {
2409		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[23]
2410		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2411		ms.StoreMessageInfo(mi)
2412	}
2413}
2414
2415func (x *ListCollectionIdsRequest) String() string {
2416	return protoimpl.X.MessageStringOf(x)
2417}
2418
2419func (*ListCollectionIdsRequest) ProtoMessage() {}
2420
2421func (x *ListCollectionIdsRequest) ProtoReflect() protoreflect.Message {
2422	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[23]
2423	if protoimpl.UnsafeEnabled && x != nil {
2424		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2425		if ms.LoadMessageInfo() == nil {
2426			ms.StoreMessageInfo(mi)
2427		}
2428		return ms
2429	}
2430	return mi.MessageOf(x)
2431}
2432
2433// Deprecated: Use ListCollectionIdsRequest.ProtoReflect.Descriptor instead.
2434func (*ListCollectionIdsRequest) Descriptor() ([]byte, []int) {
2435	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{23}
2436}
2437
2438func (x *ListCollectionIdsRequest) GetParent() string {
2439	if x != nil {
2440		return x.Parent
2441	}
2442	return ""
2443}
2444
2445func (x *ListCollectionIdsRequest) GetPageSize() int32 {
2446	if x != nil {
2447		return x.PageSize
2448	}
2449	return 0
2450}
2451
2452func (x *ListCollectionIdsRequest) GetPageToken() string {
2453	if x != nil {
2454		return x.PageToken
2455	}
2456	return ""
2457}
2458
2459// The response from [Firestore.ListCollectionIds][google.firestore.v1beta1.Firestore.ListCollectionIds].
2460type ListCollectionIdsResponse struct {
2461	state         protoimpl.MessageState
2462	sizeCache     protoimpl.SizeCache
2463	unknownFields protoimpl.UnknownFields
2464
2465	// The collection ids.
2466	CollectionIds []string `protobuf:"bytes,1,rep,name=collection_ids,json=collectionIds,proto3" json:"collection_ids,omitempty"`
2467	// A page token that may be used to continue the list.
2468	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
2469}
2470
2471func (x *ListCollectionIdsResponse) Reset() {
2472	*x = ListCollectionIdsResponse{}
2473	if protoimpl.UnsafeEnabled {
2474		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[24]
2475		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2476		ms.StoreMessageInfo(mi)
2477	}
2478}
2479
2480func (x *ListCollectionIdsResponse) String() string {
2481	return protoimpl.X.MessageStringOf(x)
2482}
2483
2484func (*ListCollectionIdsResponse) ProtoMessage() {}
2485
2486func (x *ListCollectionIdsResponse) ProtoReflect() protoreflect.Message {
2487	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[24]
2488	if protoimpl.UnsafeEnabled && x != nil {
2489		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2490		if ms.LoadMessageInfo() == nil {
2491			ms.StoreMessageInfo(mi)
2492		}
2493		return ms
2494	}
2495	return mi.MessageOf(x)
2496}
2497
2498// Deprecated: Use ListCollectionIdsResponse.ProtoReflect.Descriptor instead.
2499func (*ListCollectionIdsResponse) Descriptor() ([]byte, []int) {
2500	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{24}
2501}
2502
2503func (x *ListCollectionIdsResponse) GetCollectionIds() []string {
2504	if x != nil {
2505		return x.CollectionIds
2506	}
2507	return nil
2508}
2509
2510func (x *ListCollectionIdsResponse) GetNextPageToken() string {
2511	if x != nil {
2512		return x.NextPageToken
2513	}
2514	return ""
2515}
2516
2517// The request for [Firestore.BatchWrite][google.firestore.v1beta1.Firestore.BatchWrite].
2518type BatchWriteRequest struct {
2519	state         protoimpl.MessageState
2520	sizeCache     protoimpl.SizeCache
2521	unknownFields protoimpl.UnknownFields
2522
2523	// Required. The database name. In the format:
2524	// `projects/{project_id}/databases/{database_id}`.
2525	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
2526	// The writes to apply.
2527	//
2528	// Method does not apply writes atomically and does not guarantee ordering.
2529	// Each write succeeds or fails independently. You cannot write to the same
2530	// document more than once per request.
2531	Writes []*Write `protobuf:"bytes,2,rep,name=writes,proto3" json:"writes,omitempty"`
2532	// Labels associated with this batch write.
2533	Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
2534}
2535
2536func (x *BatchWriteRequest) Reset() {
2537	*x = BatchWriteRequest{}
2538	if protoimpl.UnsafeEnabled {
2539		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[25]
2540		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2541		ms.StoreMessageInfo(mi)
2542	}
2543}
2544
2545func (x *BatchWriteRequest) String() string {
2546	return protoimpl.X.MessageStringOf(x)
2547}
2548
2549func (*BatchWriteRequest) ProtoMessage() {}
2550
2551func (x *BatchWriteRequest) ProtoReflect() protoreflect.Message {
2552	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[25]
2553	if protoimpl.UnsafeEnabled && x != nil {
2554		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2555		if ms.LoadMessageInfo() == nil {
2556			ms.StoreMessageInfo(mi)
2557		}
2558		return ms
2559	}
2560	return mi.MessageOf(x)
2561}
2562
2563// Deprecated: Use BatchWriteRequest.ProtoReflect.Descriptor instead.
2564func (*BatchWriteRequest) Descriptor() ([]byte, []int) {
2565	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{25}
2566}
2567
2568func (x *BatchWriteRequest) GetDatabase() string {
2569	if x != nil {
2570		return x.Database
2571	}
2572	return ""
2573}
2574
2575func (x *BatchWriteRequest) GetWrites() []*Write {
2576	if x != nil {
2577		return x.Writes
2578	}
2579	return nil
2580}
2581
2582func (x *BatchWriteRequest) GetLabels() map[string]string {
2583	if x != nil {
2584		return x.Labels
2585	}
2586	return nil
2587}
2588
2589// The response from [Firestore.BatchWrite][google.firestore.v1beta1.Firestore.BatchWrite].
2590type BatchWriteResponse struct {
2591	state         protoimpl.MessageState
2592	sizeCache     protoimpl.SizeCache
2593	unknownFields protoimpl.UnknownFields
2594
2595	// The result of applying the writes.
2596	//
2597	// This i-th write result corresponds to the i-th write in the
2598	// request.
2599	WriteResults []*WriteResult `protobuf:"bytes,1,rep,name=write_results,json=writeResults,proto3" json:"write_results,omitempty"`
2600	// The status of applying the writes.
2601	//
2602	// This i-th write status corresponds to the i-th write in the
2603	// request.
2604	Status []*status.Status `protobuf:"bytes,2,rep,name=status,proto3" json:"status,omitempty"`
2605}
2606
2607func (x *BatchWriteResponse) Reset() {
2608	*x = BatchWriteResponse{}
2609	if protoimpl.UnsafeEnabled {
2610		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[26]
2611		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2612		ms.StoreMessageInfo(mi)
2613	}
2614}
2615
2616func (x *BatchWriteResponse) String() string {
2617	return protoimpl.X.MessageStringOf(x)
2618}
2619
2620func (*BatchWriteResponse) ProtoMessage() {}
2621
2622func (x *BatchWriteResponse) ProtoReflect() protoreflect.Message {
2623	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[26]
2624	if protoimpl.UnsafeEnabled && x != nil {
2625		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2626		if ms.LoadMessageInfo() == nil {
2627			ms.StoreMessageInfo(mi)
2628		}
2629		return ms
2630	}
2631	return mi.MessageOf(x)
2632}
2633
2634// Deprecated: Use BatchWriteResponse.ProtoReflect.Descriptor instead.
2635func (*BatchWriteResponse) Descriptor() ([]byte, []int) {
2636	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{26}
2637}
2638
2639func (x *BatchWriteResponse) GetWriteResults() []*WriteResult {
2640	if x != nil {
2641		return x.WriteResults
2642	}
2643	return nil
2644}
2645
2646func (x *BatchWriteResponse) GetStatus() []*status.Status {
2647	if x != nil {
2648		return x.Status
2649	}
2650	return nil
2651}
2652
2653// A target specified by a set of documents names.
2654type Target_DocumentsTarget struct {
2655	state         protoimpl.MessageState
2656	sizeCache     protoimpl.SizeCache
2657	unknownFields protoimpl.UnknownFields
2658
2659	// The names of the documents to retrieve. In the format:
2660	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
2661	// The request will fail if any of the document is not a child resource of
2662	// the given `database`. Duplicate names will be elided.
2663	Documents []string `protobuf:"bytes,2,rep,name=documents,proto3" json:"documents,omitempty"`
2664}
2665
2666func (x *Target_DocumentsTarget) Reset() {
2667	*x = Target_DocumentsTarget{}
2668	if protoimpl.UnsafeEnabled {
2669		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[29]
2670		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2671		ms.StoreMessageInfo(mi)
2672	}
2673}
2674
2675func (x *Target_DocumentsTarget) String() string {
2676	return protoimpl.X.MessageStringOf(x)
2677}
2678
2679func (*Target_DocumentsTarget) ProtoMessage() {}
2680
2681func (x *Target_DocumentsTarget) ProtoReflect() protoreflect.Message {
2682	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[29]
2683	if protoimpl.UnsafeEnabled && x != nil {
2684		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2685		if ms.LoadMessageInfo() == nil {
2686			ms.StoreMessageInfo(mi)
2687		}
2688		return ms
2689	}
2690	return mi.MessageOf(x)
2691}
2692
2693// Deprecated: Use Target_DocumentsTarget.ProtoReflect.Descriptor instead.
2694func (*Target_DocumentsTarget) Descriptor() ([]byte, []int) {
2695	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{21, 0}
2696}
2697
2698func (x *Target_DocumentsTarget) GetDocuments() []string {
2699	if x != nil {
2700		return x.Documents
2701	}
2702	return nil
2703}
2704
2705// A target specified by a query.
2706type Target_QueryTarget struct {
2707	state         protoimpl.MessageState
2708	sizeCache     protoimpl.SizeCache
2709	unknownFields protoimpl.UnknownFields
2710
2711	// The parent resource name. In the format:
2712	// `projects/{project_id}/databases/{database_id}/documents` or
2713	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
2714	// For example:
2715	// `projects/my-project/databases/my-database/documents` or
2716	// `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
2717	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2718	// The query to run.
2719	//
2720	// Types that are assignable to QueryType:
2721	//	*Target_QueryTarget_StructuredQuery
2722	QueryType isTarget_QueryTarget_QueryType `protobuf_oneof:"query_type"`
2723}
2724
2725func (x *Target_QueryTarget) Reset() {
2726	*x = Target_QueryTarget{}
2727	if protoimpl.UnsafeEnabled {
2728		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[30]
2729		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2730		ms.StoreMessageInfo(mi)
2731	}
2732}
2733
2734func (x *Target_QueryTarget) String() string {
2735	return protoimpl.X.MessageStringOf(x)
2736}
2737
2738func (*Target_QueryTarget) ProtoMessage() {}
2739
2740func (x *Target_QueryTarget) ProtoReflect() protoreflect.Message {
2741	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[30]
2742	if protoimpl.UnsafeEnabled && x != nil {
2743		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2744		if ms.LoadMessageInfo() == nil {
2745			ms.StoreMessageInfo(mi)
2746		}
2747		return ms
2748	}
2749	return mi.MessageOf(x)
2750}
2751
2752// Deprecated: Use Target_QueryTarget.ProtoReflect.Descriptor instead.
2753func (*Target_QueryTarget) Descriptor() ([]byte, []int) {
2754	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{21, 1}
2755}
2756
2757func (x *Target_QueryTarget) GetParent() string {
2758	if x != nil {
2759		return x.Parent
2760	}
2761	return ""
2762}
2763
2764func (m *Target_QueryTarget) GetQueryType() isTarget_QueryTarget_QueryType {
2765	if m != nil {
2766		return m.QueryType
2767	}
2768	return nil
2769}
2770
2771func (x *Target_QueryTarget) GetStructuredQuery() *StructuredQuery {
2772	if x, ok := x.GetQueryType().(*Target_QueryTarget_StructuredQuery); ok {
2773		return x.StructuredQuery
2774	}
2775	return nil
2776}
2777
2778type isTarget_QueryTarget_QueryType interface {
2779	isTarget_QueryTarget_QueryType()
2780}
2781
2782type Target_QueryTarget_StructuredQuery struct {
2783	// A structured query.
2784	StructuredQuery *StructuredQuery `protobuf:"bytes,2,opt,name=structured_query,json=structuredQuery,proto3,oneof"`
2785}
2786
2787func (*Target_QueryTarget_StructuredQuery) isTarget_QueryTarget_QueryType() {}
2788
2789var File_google_firestore_v1beta1_firestore_proto protoreflect.FileDescriptor
2790
2791var file_google_firestore_v1beta1_firestore_proto_rawDesc = []byte{
2792	0x0a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f,
2793	0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73,
2794	0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67,
2795	0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62,
2796	0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
2797	0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
2798	0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63,
2799	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f,
2800	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65,
2801	0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f,
2802	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76,
2803	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
2804	0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65,
2805	0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x6f,
2806	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f,
2807	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76,
2808	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f,
2809	0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73,
2810	0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x77, 0x72, 0x69,
2811	0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2812	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e,
2813	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
2814	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
2815	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72,
2816	0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
2817	0xe0, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52,
2818	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
2819	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
2820	0x3a, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
2821	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
2822	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
2823	0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0b, 0x74,
2824	0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
2825	0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
2826	0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,
2827	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2828	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00,
2829	0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f,
2830	0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74,
2831	0x6f, 0x72, 0x22, 0x8a, 0x03, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d,
2832	0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70,
2833	0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
2834	0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c,
2835	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
2836	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
2837	0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
2838	0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12,
2839	0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20,
2840	0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19,
2841	0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
2842	0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x3a, 0x0a, 0x04, 0x6d, 0x61, 0x73,
2843	0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2844	0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
2845	0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52,
2846	0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
2847	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72,
2848	0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61,
2849	0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
2850	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
2851	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64,
2852	0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73,
2853	0x73, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x77,
2854	0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69,
2855	0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22,
2856	0x81, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
2857	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x64, 0x6f, 0x63,
2858	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67,
2859	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
2860	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
2861	0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e,
2862	0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02,
2863	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f,
2864	0x6b, 0x65, 0x6e, 0x22, 0x80, 0x02, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f,
2865	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a,
2866	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
2867	0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x6f,
2868	0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
2869	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
2870	0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
2871	0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6f, 0x63, 0x75, 0x6d,
2872	0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
2873	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2874	0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
2875	0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02,
2876	0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x6d, 0x61,
2877	0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2878	0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65,
2879	0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b,
2880	0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xb4, 0x02, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74,
2881	0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
2882	0x12, 0x43, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
2883	0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65,
2884	0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f,
2885	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x6f, 0x63,
2886	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f,
2887	0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f,
2888	0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31,
2889	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61,
2890	0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x3a,
2891	0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67,
2892	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
2893	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
2894	0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x51, 0x0a, 0x10, 0x63, 0x75,
2895	0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04,
2896	0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69,
2897	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2898	0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x75,
2899	0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x83, 0x01,
2900	0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
2901	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
2902	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
2903	0x12, 0x51, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x63, 0x75,
2904	0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f,
2905	0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31,
2906	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
2907	0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d,
2908	0x65, 0x6e, 0x74, 0x22, 0xe5, 0x02, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74,
2909	0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
2910	0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01,
2911	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
2912	0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02,
2913	0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12,
2914	0x3a, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
2915	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
2916	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
2917	0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0b, 0x74,
2918	0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c,
2919	0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
2920	0x57, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
2921	0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2922	0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65,
2923	0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f,
2924	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x54, 0x72, 0x61,
2925	0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64,
2926	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
2927	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
2928	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54,
2929	0x69, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e,
2930	0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xd8, 0x01, 0x0a, 0x19,
2931	0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
2932	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x66, 0x6f, 0x75,
2933	0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2934	0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65,
2935	0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05,
2936	0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67,
2937	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e,
2938	0x67, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
2939	0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
2940	0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65,
2941	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2942	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
2943	0x6d, 0x70, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06,
2944	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x82, 0x01, 0x0a, 0x17, 0x42, 0x65, 0x67, 0x69, 0x6e,
2945	0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
2946	0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01,
2947	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62,
2948	0x61, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02,
2949	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69,
2950	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2951	0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f,
2952	0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3c, 0x0a, 0x18, 0x42,
2953	0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
2954	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73,
2955	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72,
2956	0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8b, 0x01, 0x0a, 0x0d, 0x43, 0x6f,
2957	0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64,
2958	0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
2959	0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06,
2960	0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67,
2961	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
2962	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x06, 0x77,
2963	0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
2964	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e,
2965	0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d,
2966	0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0d, 0x77, 0x72,
2967	0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
2968	0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73,
2969	0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69,
2970	0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52,
2971	0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
2972	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
2973	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
2974	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54,
2975	0x69, 0x6d, 0x65, 0x22, 0x59, 0x0a, 0x0f, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52,
2976	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61,
2977	0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64,
2978	0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73,
2979	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41,
2980	0x02, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe4,
2981	0x02, 0x0a, 0x0f, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
2982	0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
2983	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
2984	0x56, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x71, 0x75,
2985	0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2986	0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62,
2987	0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51,
2988	0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72,
2989	0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73,
2990	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0b,
2991	0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0f, 0x6e,
2992	0x65, 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06,
2993	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69,
2994	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2995	0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f,
2996	0x6e, 0x73, 0x48, 0x01, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
2997	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d,
2998	0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2999	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
3000	0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42,
3001	0x0c, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x16, 0x0a,
3002	0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c,
3003	0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xd6, 0x01, 0x0a, 0x10, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65,
3004	0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72,
3005	0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52,
3006	0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x08,
3007	0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
3008	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
3009	0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65,
3010	0x6e, 0x74, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x09,
3011	0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
3012	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
3013	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x72, 0x65, 0x61,
3014	0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64,
3015	0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e,
3016	0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xff,
3017	0x01, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72,
3018	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65,
3019	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70,
3020	0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75,
3021	0x72, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
3022	0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f,
3023	0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63,
3024	0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74,
3025	0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x27, 0x0a,
3026	0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
3027	0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f,
3028	0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74,
3029	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65,
3030	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69,
3031	0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69,
3032	0x7a, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65,
3033	0x22, 0x82, 0x01, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75,
3034	0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0a, 0x70,
3035	0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
3036	0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f,
3037	0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f,
3038	0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a,
3039	0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
3040	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65,
3041	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xaf, 0x02, 0x0a, 0x0c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52,
3042	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61,
3043	0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64,
3044	0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61,
3045	0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65,
3046	0x61, 0x6d, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, 0x03,
3047	0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69,
3048	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
3049	0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a,
3050	0x0c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20,
3051	0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
3052	0x12, 0x4a, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
3053	0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74,
3054	0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74,
3055	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45,
3056	0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b,
3057	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
3058	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
3059	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
3060	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd8, 0x01, 0x0a, 0x0d, 0x57, 0x72, 0x69, 0x74,
3061	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72,
3062	0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74,
3063	0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
3064	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x74,
3065	0x72, 0x65, 0x61, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x4a, 0x0a, 0x0d, 0x77, 0x72, 0x69,
3066	0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
3067	0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74,
3068	0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74,
3069	0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65,
3070	0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f,
3071	0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
3072	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
3073	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x69,
3074	0x6d, 0x65, 0x22, 0xb3, 0x02, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71,
3075	0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
3076	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74,
3077	0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x61, 0x64, 0x64, 0x5f, 0x74, 0x61, 0x72,
3078	0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3079	0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62,
3080	0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x61,
3081	0x64, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f,
3082	0x76, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48,
3083	0x00, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12,
3084	0x4b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
3085	0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f,
3086	0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65,
3087	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45,
3088	0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b,
3089	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
3090	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
3091	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
3092	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65,
3093	0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xb4, 0x03, 0x0a, 0x0e, 0x4c, 0x69, 0x73,
3094	0x74, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x74,
3095	0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01,
3096	0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65,
3097	0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61,
3098	0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x61,
3099	0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x6f,
3100	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20,
3101	0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72,
3102	0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44,
3103	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52,
3104	0x0e, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12,
3105	0x53, 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x65,
3106	0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3107	0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65,
3108	0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65,
3109	0x74, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65,
3110	0x6c, 0x65, 0x74, 0x65, 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
3111	0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
3112	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
3113	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
3114	0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x6f, 0x63, 0x75, 0x6d,
3115	0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x66, 0x69, 0x6c,
3116	0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3117	0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62,
3118	0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x46, 0x69,
3119	0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0f,
3120	0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22,
3121	0x8e, 0x04, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x44, 0x0a, 0x05, 0x71, 0x75,
3122	0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3123	0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62,
3124	0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72,
3125	0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79,
3126	0x12, 0x50, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20,
3127	0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72,
3128	0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54,
3129	0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x54,
3130	0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
3131	0x74, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
3132	0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x75,
3133	0x6d, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f,
3134	0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
3135	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
3136	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69,
3137	0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18,
3138	0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12,
3139	0x12, 0x0a, 0x04, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f,
3140	0x6e, 0x63, 0x65, 0x1a, 0x2f, 0x0a, 0x0f, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73,
3141	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,
3142	0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d,
3143	0x65, 0x6e, 0x74, 0x73, 0x1a, 0x8b, 0x01, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61,
3144	0x72, 0x67, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01,
3145	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x10,
3146	0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79,
3147	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3148	0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
3149	0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72,
3150	0x79, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51,
3151	0x75, 0x65, 0x72, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79,
3152	0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70,
3153	0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65,
3154	0x22, 0xea, 0x02, 0x0a, 0x0c, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67,
3155	0x65, 0x12, 0x65, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e,
3156	0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e,
3157	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
3158	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43,
3159	0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e,
3160	0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68,
3161	0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67,
3162	0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x74, 0x61,
3163	0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65,
3164	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3165	0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x63, 0x61, 0x75, 0x73,
3166	0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
3167	0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x54,
3168	0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d,
3169	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3170	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
3171	0x61, 0x6d, 0x70, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x4e, 0x0a,
3172	0x10, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70,
3173	0x65, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x00,
3174	0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d,
3175	0x4f, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54,
3176	0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0x04, 0x22, 0x73, 0x0a,
3177	0x18, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49,
3178	0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72,
3179	0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06,
3180	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73,
3181	0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53,
3182	0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
3183	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b,
3184	0x65, 0x6e, 0x22, 0x6a, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
3185	0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
3186	0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
3187	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
3188	0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70,
3189	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
3190	0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf9,
3191	0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71,
3192	0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
3193	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74,
3194	0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18,
3195	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
3196	0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
3197	0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x4f,
3198	0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37,
3199	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
3200	0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57,
3201	0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65,
3202	0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a,
3203	0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
3204	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
3205	0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
3206	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8c, 0x01, 0x0a, 0x12, 0x42,
3207	0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
3208	0x65, 0x12, 0x4a, 0x0a, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c,
3209	0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3210	0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65,
3211	0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
3212	0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2a, 0x0a,
3213	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e,
3214	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75,
3215	0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0xe4, 0x18, 0x0a, 0x09, 0x46, 0x69,
3216	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x44,
3217	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3218	0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
3219	0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65,
3220	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
3221	0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
3222	0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02,
3223	0x37, 0x12, 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,
3224	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74,
3225	0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
3226	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x12, 0xc1, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73,
3227	0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f,
3228	0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31,
3229	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65,
3230	0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
3231	0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31,
3232	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65,
3233	0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x82, 0xd3, 0xe4,
3234	0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70,
3235	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
3236	0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63,
3237	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x2f, 0x7b, 0x63, 0x6f,
3238	0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xce, 0x01, 0x0a,
3239	0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12,
3240	0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f,
3241	0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
3242	0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3243	0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74,
3244	0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75,
3245	0x6d, 0x65, 0x6e, 0x74, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x32, 0x3e, 0x2f, 0x76,
3246	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
3247	0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
3248	0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63,
3249	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x08, 0x64, 0x6f,
3250	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0xda, 0x41, 0x14, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
3251	0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x9f, 0x01,
3252	0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
3253	0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74,
3254	0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65,
3255	0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3256	0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3257	0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02,
3258	0x37, 0x2a, 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,
3259	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74,
3260	0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
3261	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
3262	0xc8, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75,
3263	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
3264	0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
3265	0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
3266	0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3267	0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62,
3268	0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63,
3269	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48,
3270	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x22, 0x3d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
3271	0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
3272	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f,
3273	0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x62, 0x61, 0x74,
3274	0x63, 0x68, 0x47, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x30, 0x01, 0x12, 0xd6, 0x01, 0x0a, 0x10, 0x42,
3275	0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
3276	0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f,
3277	0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x65, 0x67, 0x69, 0x6e,
3278	0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
3279	0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65,
3280	0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x65,
3281	0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
3282	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x22, 0x45,
3283	0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61,
3284	0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61,
3285	0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d,
3286	0x65, 0x6e, 0x74, 0x73, 0x3a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61,
3287	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62,
3288	0x61, 0x73, 0x65, 0x12, 0xb5, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x27,
3289	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
3290	0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
3291	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3292	0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
3293	0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
3294	0x65, 0x22, 0x58, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x22, 0x3b, 0x2f, 0x76, 0x31, 0x62, 0x65,
3295	0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72,
3296	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
3297	0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a,
3298	0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0f, 0x64, 0x61, 0x74, 0x61,
3299	0x62, 0x61, 0x73, 0x65, 0x2c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0xae, 0x01, 0x0a, 0x08,
3300	0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3301	0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65,
3302	0x74, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
3303	0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
3304	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5f, 0x82, 0xd3, 0xe4,
3305	0x93, 0x02, 0x42, 0x22, 0x3d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64,
3306	0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
3307	0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f,
3308	0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61,
3309	0x63, 0x6b, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x14, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
3310	0x2c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xf4, 0x01, 0x0a,
3311	0x08, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3312	0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62,
3313	0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71,
3314	0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69,
3315	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
3316	0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
3317	0x22, 0x8e, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x87, 0x01, 0x22, 0x3b, 0x2f, 0x76, 0x31, 0x62,
3318	0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
3319	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
3320	0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x7d, 0x3a, 0x72,
3321	0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a, 0x5a, 0x45, 0x22, 0x40, 0x2f, 0x76,
3322	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70,
3323	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61,
3324	0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f,
3325	0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01,
3326	0x2a, 0x30, 0x01, 0x12, 0x90, 0x02, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f,
3327	0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3328	0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
3329	0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79,
3330	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3331	0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
3332	0x61, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72,
3333	0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x82, 0xd3, 0xe4, 0x93,
3334	0x02, 0x93, 0x01, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70,
3335	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
3336	0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63,
3337	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x7d, 0x3a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f,
3338	0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a, 0x5a, 0x4b, 0x22, 0x46, 0x2f, 0x76, 0x31,
3339	0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72,
3340	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
3341	0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a,
3342	0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75,
3343	0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a, 0x12, 0xa3, 0x01, 0x0a, 0x05, 0x57, 0x72, 0x69, 0x74, 0x65,
3344	0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74,
3345	0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74,
3346	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3347	0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65,
3348	0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
3349	0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65,
3350	0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72,
3351	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
3352	0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a,
3353	0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa7, 0x01, 0x0a,
3354	0x06, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3355	0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
3356	0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3357	0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74,
3358	0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
3359	0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93,
3360	0x02, 0x40, 0x22, 0x3b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x61,
3361	0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
3362	0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64,
3363	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x3a,
3364	0x01, 0x2a, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa8, 0x02, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x43,
3365	0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x32, 0x2e, 0x67,
3366	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
3367	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c,
3368	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3369	0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74,
3370	0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
3371	0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73,
3372	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa9, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x99, 0x01, 0x22,
3373	0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e,
3374	0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74,
3375	0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
3376	0x74, 0x73, 0x7d, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
3377	0x6f, 0x6e, 0x49, 0x64, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x4e, 0x22, 0x49, 0x2f, 0x76, 0x31, 0x62,
3378	0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
3379	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
3380	0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
3381	0x2a, 0x2a, 0x7d, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
3382	0x6f, 0x6e, 0x49, 0x64, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
3383	0x74, 0x12, 0xb3, 0x01, 0x0a, 0x0a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65,
3384	0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74,
3385	0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63,
3386	0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e,
3387	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
3388	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72,
3389	0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4,
3390	0x93, 0x02, 0x44, 0x22, 0x3f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64,
3391	0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
3392	0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f,
3393	0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x57,
3394	0x72, 0x69, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61,
3395	0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
3396	0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31,
3397	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75,
3398	0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f,
3399	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76,
3400	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22,
3401	0x57, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x22, 0x45, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
3402	0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
3403	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a,
3404	0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x2f, 0x7b,
3405	0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x08,
3406	0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x76, 0xca, 0x41, 0x18, 0x66, 0x69, 0x72,
3407	0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
3408	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x58, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f,
3409	0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
3410	0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c,
3411	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,
3412	0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
3413	0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65,
3414	0x42, 0xe0, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3415	0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
3416	0x31, 0x42, 0x0e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x74,
3417	0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61,
3418	0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
3419	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73,
3420	0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x66, 0x69, 0x72,
3421	0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0xa2, 0x02, 0x04, 0x47, 0x43, 0x46, 0x53, 0xaa, 0x02, 0x1e,
3422	0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x46, 0x69, 0x72,
3423	0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02,
3424	0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x46, 0x69,
3425	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea,
3426	0x02, 0x21, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a,
3427	0x3a, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65,
3428	0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
3429}
3430
3431var (
3432	file_google_firestore_v1beta1_firestore_proto_rawDescOnce sync.Once
3433	file_google_firestore_v1beta1_firestore_proto_rawDescData = file_google_firestore_v1beta1_firestore_proto_rawDesc
3434)
3435
3436func file_google_firestore_v1beta1_firestore_proto_rawDescGZIP() []byte {
3437	file_google_firestore_v1beta1_firestore_proto_rawDescOnce.Do(func() {
3438		file_google_firestore_v1beta1_firestore_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_firestore_v1beta1_firestore_proto_rawDescData)
3439	})
3440	return file_google_firestore_v1beta1_firestore_proto_rawDescData
3441}
3442
3443var file_google_firestore_v1beta1_firestore_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
3444var file_google_firestore_v1beta1_firestore_proto_msgTypes = make([]protoimpl.MessageInfo, 32)
3445var file_google_firestore_v1beta1_firestore_proto_goTypes = []interface{}{
3446	(TargetChange_TargetChangeType)(0), // 0: google.firestore.v1beta1.TargetChange.TargetChangeType
3447	(*GetDocumentRequest)(nil),         // 1: google.firestore.v1beta1.GetDocumentRequest
3448	(*ListDocumentsRequest)(nil),       // 2: google.firestore.v1beta1.ListDocumentsRequest
3449	(*ListDocumentsResponse)(nil),      // 3: google.firestore.v1beta1.ListDocumentsResponse
3450	(*CreateDocumentRequest)(nil),      // 4: google.firestore.v1beta1.CreateDocumentRequest
3451	(*UpdateDocumentRequest)(nil),      // 5: google.firestore.v1beta1.UpdateDocumentRequest
3452	(*DeleteDocumentRequest)(nil),      // 6: google.firestore.v1beta1.DeleteDocumentRequest
3453	(*BatchGetDocumentsRequest)(nil),   // 7: google.firestore.v1beta1.BatchGetDocumentsRequest
3454	(*BatchGetDocumentsResponse)(nil),  // 8: google.firestore.v1beta1.BatchGetDocumentsResponse
3455	(*BeginTransactionRequest)(nil),    // 9: google.firestore.v1beta1.BeginTransactionRequest
3456	(*BeginTransactionResponse)(nil),   // 10: google.firestore.v1beta1.BeginTransactionResponse
3457	(*CommitRequest)(nil),              // 11: google.firestore.v1beta1.CommitRequest
3458	(*CommitResponse)(nil),             // 12: google.firestore.v1beta1.CommitResponse
3459	(*RollbackRequest)(nil),            // 13: google.firestore.v1beta1.RollbackRequest
3460	(*RunQueryRequest)(nil),            // 14: google.firestore.v1beta1.RunQueryRequest
3461	(*RunQueryResponse)(nil),           // 15: google.firestore.v1beta1.RunQueryResponse
3462	(*PartitionQueryRequest)(nil),      // 16: google.firestore.v1beta1.PartitionQueryRequest
3463	(*PartitionQueryResponse)(nil),     // 17: google.firestore.v1beta1.PartitionQueryResponse
3464	(*WriteRequest)(nil),               // 18: google.firestore.v1beta1.WriteRequest
3465	(*WriteResponse)(nil),              // 19: google.firestore.v1beta1.WriteResponse
3466	(*ListenRequest)(nil),              // 20: google.firestore.v1beta1.ListenRequest
3467	(*ListenResponse)(nil),             // 21: google.firestore.v1beta1.ListenResponse
3468	(*Target)(nil),                     // 22: google.firestore.v1beta1.Target
3469	(*TargetChange)(nil),               // 23: google.firestore.v1beta1.TargetChange
3470	(*ListCollectionIdsRequest)(nil),   // 24: google.firestore.v1beta1.ListCollectionIdsRequest
3471	(*ListCollectionIdsResponse)(nil),  // 25: google.firestore.v1beta1.ListCollectionIdsResponse
3472	(*BatchWriteRequest)(nil),          // 26: google.firestore.v1beta1.BatchWriteRequest
3473	(*BatchWriteResponse)(nil),         // 27: google.firestore.v1beta1.BatchWriteResponse
3474	nil,                                // 28: google.firestore.v1beta1.WriteRequest.LabelsEntry
3475	nil,                                // 29: google.firestore.v1beta1.ListenRequest.LabelsEntry
3476	(*Target_DocumentsTarget)(nil),     // 30: google.firestore.v1beta1.Target.DocumentsTarget
3477	(*Target_QueryTarget)(nil),         // 31: google.firestore.v1beta1.Target.QueryTarget
3478	nil,                                // 32: google.firestore.v1beta1.BatchWriteRequest.LabelsEntry
3479	(*DocumentMask)(nil),               // 33: google.firestore.v1beta1.DocumentMask
3480	(*timestamppb.Timestamp)(nil),      // 34: google.protobuf.Timestamp
3481	(*Document)(nil),                   // 35: google.firestore.v1beta1.Document
3482	(*Precondition)(nil),               // 36: google.firestore.v1beta1.Precondition
3483	(*TransactionOptions)(nil),         // 37: google.firestore.v1beta1.TransactionOptions
3484	(*Write)(nil),                      // 38: google.firestore.v1beta1.Write
3485	(*WriteResult)(nil),                // 39: google.firestore.v1beta1.WriteResult
3486	(*StructuredQuery)(nil),            // 40: google.firestore.v1beta1.StructuredQuery
3487	(*Cursor)(nil),                     // 41: google.firestore.v1beta1.Cursor
3488	(*DocumentChange)(nil),             // 42: google.firestore.v1beta1.DocumentChange
3489	(*DocumentDelete)(nil),             // 43: google.firestore.v1beta1.DocumentDelete
3490	(*DocumentRemove)(nil),             // 44: google.firestore.v1beta1.DocumentRemove
3491	(*ExistenceFilter)(nil),            // 45: google.firestore.v1beta1.ExistenceFilter
3492	(*status.Status)(nil),              // 46: google.rpc.Status
3493	(*emptypb.Empty)(nil),              // 47: google.protobuf.Empty
3494}
3495var file_google_firestore_v1beta1_firestore_proto_depIdxs = []int32{
3496	33, // 0: google.firestore.v1beta1.GetDocumentRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask
3497	34, // 1: google.firestore.v1beta1.GetDocumentRequest.read_time:type_name -> google.protobuf.Timestamp
3498	33, // 2: google.firestore.v1beta1.ListDocumentsRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask
3499	34, // 3: google.firestore.v1beta1.ListDocumentsRequest.read_time:type_name -> google.protobuf.Timestamp
3500	35, // 4: google.firestore.v1beta1.ListDocumentsResponse.documents:type_name -> google.firestore.v1beta1.Document
3501	35, // 5: google.firestore.v1beta1.CreateDocumentRequest.document:type_name -> google.firestore.v1beta1.Document
3502	33, // 6: google.firestore.v1beta1.CreateDocumentRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask
3503	35, // 7: google.firestore.v1beta1.UpdateDocumentRequest.document:type_name -> google.firestore.v1beta1.Document
3504	33, // 8: google.firestore.v1beta1.UpdateDocumentRequest.update_mask:type_name -> google.firestore.v1beta1.DocumentMask
3505	33, // 9: google.firestore.v1beta1.UpdateDocumentRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask
3506	36, // 10: google.firestore.v1beta1.UpdateDocumentRequest.current_document:type_name -> google.firestore.v1beta1.Precondition
3507	36, // 11: google.firestore.v1beta1.DeleteDocumentRequest.current_document:type_name -> google.firestore.v1beta1.Precondition
3508	33, // 12: google.firestore.v1beta1.BatchGetDocumentsRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask
3509	37, // 13: google.firestore.v1beta1.BatchGetDocumentsRequest.new_transaction:type_name -> google.firestore.v1beta1.TransactionOptions
3510	34, // 14: google.firestore.v1beta1.BatchGetDocumentsRequest.read_time:type_name -> google.protobuf.Timestamp
3511	35, // 15: google.firestore.v1beta1.BatchGetDocumentsResponse.found:type_name -> google.firestore.v1beta1.Document
3512	34, // 16: google.firestore.v1beta1.BatchGetDocumentsResponse.read_time:type_name -> google.protobuf.Timestamp
3513	37, // 17: google.firestore.v1beta1.BeginTransactionRequest.options:type_name -> google.firestore.v1beta1.TransactionOptions
3514	38, // 18: google.firestore.v1beta1.CommitRequest.writes:type_name -> google.firestore.v1beta1.Write
3515	39, // 19: google.firestore.v1beta1.CommitResponse.write_results:type_name -> google.firestore.v1beta1.WriteResult
3516	34, // 20: google.firestore.v1beta1.CommitResponse.commit_time:type_name -> google.protobuf.Timestamp
3517	40, // 21: google.firestore.v1beta1.RunQueryRequest.structured_query:type_name -> google.firestore.v1beta1.StructuredQuery
3518	37, // 22: google.firestore.v1beta1.RunQueryRequest.new_transaction:type_name -> google.firestore.v1beta1.TransactionOptions
3519	34, // 23: google.firestore.v1beta1.RunQueryRequest.read_time:type_name -> google.protobuf.Timestamp
3520	35, // 24: google.firestore.v1beta1.RunQueryResponse.document:type_name -> google.firestore.v1beta1.Document
3521	34, // 25: google.firestore.v1beta1.RunQueryResponse.read_time:type_name -> google.protobuf.Timestamp
3522	40, // 26: google.firestore.v1beta1.PartitionQueryRequest.structured_query:type_name -> google.firestore.v1beta1.StructuredQuery
3523	41, // 27: google.firestore.v1beta1.PartitionQueryResponse.partitions:type_name -> google.firestore.v1beta1.Cursor
3524	38, // 28: google.firestore.v1beta1.WriteRequest.writes:type_name -> google.firestore.v1beta1.Write
3525	28, // 29: google.firestore.v1beta1.WriteRequest.labels:type_name -> google.firestore.v1beta1.WriteRequest.LabelsEntry
3526	39, // 30: google.firestore.v1beta1.WriteResponse.write_results:type_name -> google.firestore.v1beta1.WriteResult
3527	34, // 31: google.firestore.v1beta1.WriteResponse.commit_time:type_name -> google.protobuf.Timestamp
3528	22, // 32: google.firestore.v1beta1.ListenRequest.add_target:type_name -> google.firestore.v1beta1.Target
3529	29, // 33: google.firestore.v1beta1.ListenRequest.labels:type_name -> google.firestore.v1beta1.ListenRequest.LabelsEntry
3530	23, // 34: google.firestore.v1beta1.ListenResponse.target_change:type_name -> google.firestore.v1beta1.TargetChange
3531	42, // 35: google.firestore.v1beta1.ListenResponse.document_change:type_name -> google.firestore.v1beta1.DocumentChange
3532	43, // 36: google.firestore.v1beta1.ListenResponse.document_delete:type_name -> google.firestore.v1beta1.DocumentDelete
3533	44, // 37: google.firestore.v1beta1.ListenResponse.document_remove:type_name -> google.firestore.v1beta1.DocumentRemove
3534	45, // 38: google.firestore.v1beta1.ListenResponse.filter:type_name -> google.firestore.v1beta1.ExistenceFilter
3535	31, // 39: google.firestore.v1beta1.Target.query:type_name -> google.firestore.v1beta1.Target.QueryTarget
3536	30, // 40: google.firestore.v1beta1.Target.documents:type_name -> google.firestore.v1beta1.Target.DocumentsTarget
3537	34, // 41: google.firestore.v1beta1.Target.read_time:type_name -> google.protobuf.Timestamp
3538	0,  // 42: google.firestore.v1beta1.TargetChange.target_change_type:type_name -> google.firestore.v1beta1.TargetChange.TargetChangeType
3539	46, // 43: google.firestore.v1beta1.TargetChange.cause:type_name -> google.rpc.Status
3540	34, // 44: google.firestore.v1beta1.TargetChange.read_time:type_name -> google.protobuf.Timestamp
3541	38, // 45: google.firestore.v1beta1.BatchWriteRequest.writes:type_name -> google.firestore.v1beta1.Write
3542	32, // 46: google.firestore.v1beta1.BatchWriteRequest.labels:type_name -> google.firestore.v1beta1.BatchWriteRequest.LabelsEntry
3543	39, // 47: google.firestore.v1beta1.BatchWriteResponse.write_results:type_name -> google.firestore.v1beta1.WriteResult
3544	46, // 48: google.firestore.v1beta1.BatchWriteResponse.status:type_name -> google.rpc.Status
3545	40, // 49: google.firestore.v1beta1.Target.QueryTarget.structured_query:type_name -> google.firestore.v1beta1.StructuredQuery
3546	1,  // 50: google.firestore.v1beta1.Firestore.GetDocument:input_type -> google.firestore.v1beta1.GetDocumentRequest
3547	2,  // 51: google.firestore.v1beta1.Firestore.ListDocuments:input_type -> google.firestore.v1beta1.ListDocumentsRequest
3548	5,  // 52: google.firestore.v1beta1.Firestore.UpdateDocument:input_type -> google.firestore.v1beta1.UpdateDocumentRequest
3549	6,  // 53: google.firestore.v1beta1.Firestore.DeleteDocument:input_type -> google.firestore.v1beta1.DeleteDocumentRequest
3550	7,  // 54: google.firestore.v1beta1.Firestore.BatchGetDocuments:input_type -> google.firestore.v1beta1.BatchGetDocumentsRequest
3551	9,  // 55: google.firestore.v1beta1.Firestore.BeginTransaction:input_type -> google.firestore.v1beta1.BeginTransactionRequest
3552	11, // 56: google.firestore.v1beta1.Firestore.Commit:input_type -> google.firestore.v1beta1.CommitRequest
3553	13, // 57: google.firestore.v1beta1.Firestore.Rollback:input_type -> google.firestore.v1beta1.RollbackRequest
3554	14, // 58: google.firestore.v1beta1.Firestore.RunQuery:input_type -> google.firestore.v1beta1.RunQueryRequest
3555	16, // 59: google.firestore.v1beta1.Firestore.PartitionQuery:input_type -> google.firestore.v1beta1.PartitionQueryRequest
3556	18, // 60: google.firestore.v1beta1.Firestore.Write:input_type -> google.firestore.v1beta1.WriteRequest
3557	20, // 61: google.firestore.v1beta1.Firestore.Listen:input_type -> google.firestore.v1beta1.ListenRequest
3558	24, // 62: google.firestore.v1beta1.Firestore.ListCollectionIds:input_type -> google.firestore.v1beta1.ListCollectionIdsRequest
3559	26, // 63: google.firestore.v1beta1.Firestore.BatchWrite:input_type -> google.firestore.v1beta1.BatchWriteRequest
3560	4,  // 64: google.firestore.v1beta1.Firestore.CreateDocument:input_type -> google.firestore.v1beta1.CreateDocumentRequest
3561	35, // 65: google.firestore.v1beta1.Firestore.GetDocument:output_type -> google.firestore.v1beta1.Document
3562	3,  // 66: google.firestore.v1beta1.Firestore.ListDocuments:output_type -> google.firestore.v1beta1.ListDocumentsResponse
3563	35, // 67: google.firestore.v1beta1.Firestore.UpdateDocument:output_type -> google.firestore.v1beta1.Document
3564	47, // 68: google.firestore.v1beta1.Firestore.DeleteDocument:output_type -> google.protobuf.Empty
3565	8,  // 69: google.firestore.v1beta1.Firestore.BatchGetDocuments:output_type -> google.firestore.v1beta1.BatchGetDocumentsResponse
3566	10, // 70: google.firestore.v1beta1.Firestore.BeginTransaction:output_type -> google.firestore.v1beta1.BeginTransactionResponse
3567	12, // 71: google.firestore.v1beta1.Firestore.Commit:output_type -> google.firestore.v1beta1.CommitResponse
3568	47, // 72: google.firestore.v1beta1.Firestore.Rollback:output_type -> google.protobuf.Empty
3569	15, // 73: google.firestore.v1beta1.Firestore.RunQuery:output_type -> google.firestore.v1beta1.RunQueryResponse
3570	17, // 74: google.firestore.v1beta1.Firestore.PartitionQuery:output_type -> google.firestore.v1beta1.PartitionQueryResponse
3571	19, // 75: google.firestore.v1beta1.Firestore.Write:output_type -> google.firestore.v1beta1.WriteResponse
3572	21, // 76: google.firestore.v1beta1.Firestore.Listen:output_type -> google.firestore.v1beta1.ListenResponse
3573	25, // 77: google.firestore.v1beta1.Firestore.ListCollectionIds:output_type -> google.firestore.v1beta1.ListCollectionIdsResponse
3574	27, // 78: google.firestore.v1beta1.Firestore.BatchWrite:output_type -> google.firestore.v1beta1.BatchWriteResponse
3575	35, // 79: google.firestore.v1beta1.Firestore.CreateDocument:output_type -> google.firestore.v1beta1.Document
3576	65, // [65:80] is the sub-list for method output_type
3577	50, // [50:65] is the sub-list for method input_type
3578	50, // [50:50] is the sub-list for extension type_name
3579	50, // [50:50] is the sub-list for extension extendee
3580	0,  // [0:50] is the sub-list for field type_name
3581}
3582
3583func init() { file_google_firestore_v1beta1_firestore_proto_init() }
3584func file_google_firestore_v1beta1_firestore_proto_init() {
3585	if File_google_firestore_v1beta1_firestore_proto != nil {
3586		return
3587	}
3588	file_google_firestore_v1beta1_common_proto_init()
3589	file_google_firestore_v1beta1_document_proto_init()
3590	file_google_firestore_v1beta1_query_proto_init()
3591	file_google_firestore_v1beta1_write_proto_init()
3592	if !protoimpl.UnsafeEnabled {
3593		file_google_firestore_v1beta1_firestore_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
3594			switch v := v.(*GetDocumentRequest); i {
3595			case 0:
3596				return &v.state
3597			case 1:
3598				return &v.sizeCache
3599			case 2:
3600				return &v.unknownFields
3601			default:
3602				return nil
3603			}
3604		}
3605		file_google_firestore_v1beta1_firestore_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
3606			switch v := v.(*ListDocumentsRequest); i {
3607			case 0:
3608				return &v.state
3609			case 1:
3610				return &v.sizeCache
3611			case 2:
3612				return &v.unknownFields
3613			default:
3614				return nil
3615			}
3616		}
3617		file_google_firestore_v1beta1_firestore_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
3618			switch v := v.(*ListDocumentsResponse); i {
3619			case 0:
3620				return &v.state
3621			case 1:
3622				return &v.sizeCache
3623			case 2:
3624				return &v.unknownFields
3625			default:
3626				return nil
3627			}
3628		}
3629		file_google_firestore_v1beta1_firestore_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
3630			switch v := v.(*CreateDocumentRequest); i {
3631			case 0:
3632				return &v.state
3633			case 1:
3634				return &v.sizeCache
3635			case 2:
3636				return &v.unknownFields
3637			default:
3638				return nil
3639			}
3640		}
3641		file_google_firestore_v1beta1_firestore_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
3642			switch v := v.(*UpdateDocumentRequest); i {
3643			case 0:
3644				return &v.state
3645			case 1:
3646				return &v.sizeCache
3647			case 2:
3648				return &v.unknownFields
3649			default:
3650				return nil
3651			}
3652		}
3653		file_google_firestore_v1beta1_firestore_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
3654			switch v := v.(*DeleteDocumentRequest); i {
3655			case 0:
3656				return &v.state
3657			case 1:
3658				return &v.sizeCache
3659			case 2:
3660				return &v.unknownFields
3661			default:
3662				return nil
3663			}
3664		}
3665		file_google_firestore_v1beta1_firestore_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
3666			switch v := v.(*BatchGetDocumentsRequest); i {
3667			case 0:
3668				return &v.state
3669			case 1:
3670				return &v.sizeCache
3671			case 2:
3672				return &v.unknownFields
3673			default:
3674				return nil
3675			}
3676		}
3677		file_google_firestore_v1beta1_firestore_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
3678			switch v := v.(*BatchGetDocumentsResponse); i {
3679			case 0:
3680				return &v.state
3681			case 1:
3682				return &v.sizeCache
3683			case 2:
3684				return &v.unknownFields
3685			default:
3686				return nil
3687			}
3688		}
3689		file_google_firestore_v1beta1_firestore_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
3690			switch v := v.(*BeginTransactionRequest); i {
3691			case 0:
3692				return &v.state
3693			case 1:
3694				return &v.sizeCache
3695			case 2:
3696				return &v.unknownFields
3697			default:
3698				return nil
3699			}
3700		}
3701		file_google_firestore_v1beta1_firestore_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
3702			switch v := v.(*BeginTransactionResponse); i {
3703			case 0:
3704				return &v.state
3705			case 1:
3706				return &v.sizeCache
3707			case 2:
3708				return &v.unknownFields
3709			default:
3710				return nil
3711			}
3712		}
3713		file_google_firestore_v1beta1_firestore_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
3714			switch v := v.(*CommitRequest); i {
3715			case 0:
3716				return &v.state
3717			case 1:
3718				return &v.sizeCache
3719			case 2:
3720				return &v.unknownFields
3721			default:
3722				return nil
3723			}
3724		}
3725		file_google_firestore_v1beta1_firestore_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
3726			switch v := v.(*CommitResponse); i {
3727			case 0:
3728				return &v.state
3729			case 1:
3730				return &v.sizeCache
3731			case 2:
3732				return &v.unknownFields
3733			default:
3734				return nil
3735			}
3736		}
3737		file_google_firestore_v1beta1_firestore_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
3738			switch v := v.(*RollbackRequest); i {
3739			case 0:
3740				return &v.state
3741			case 1:
3742				return &v.sizeCache
3743			case 2:
3744				return &v.unknownFields
3745			default:
3746				return nil
3747			}
3748		}
3749		file_google_firestore_v1beta1_firestore_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
3750			switch v := v.(*RunQueryRequest); i {
3751			case 0:
3752				return &v.state
3753			case 1:
3754				return &v.sizeCache
3755			case 2:
3756				return &v.unknownFields
3757			default:
3758				return nil
3759			}
3760		}
3761		file_google_firestore_v1beta1_firestore_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
3762			switch v := v.(*RunQueryResponse); i {
3763			case 0:
3764				return &v.state
3765			case 1:
3766				return &v.sizeCache
3767			case 2:
3768				return &v.unknownFields
3769			default:
3770				return nil
3771			}
3772		}
3773		file_google_firestore_v1beta1_firestore_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
3774			switch v := v.(*PartitionQueryRequest); i {
3775			case 0:
3776				return &v.state
3777			case 1:
3778				return &v.sizeCache
3779			case 2:
3780				return &v.unknownFields
3781			default:
3782				return nil
3783			}
3784		}
3785		file_google_firestore_v1beta1_firestore_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
3786			switch v := v.(*PartitionQueryResponse); i {
3787			case 0:
3788				return &v.state
3789			case 1:
3790				return &v.sizeCache
3791			case 2:
3792				return &v.unknownFields
3793			default:
3794				return nil
3795			}
3796		}
3797		file_google_firestore_v1beta1_firestore_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
3798			switch v := v.(*WriteRequest); i {
3799			case 0:
3800				return &v.state
3801			case 1:
3802				return &v.sizeCache
3803			case 2:
3804				return &v.unknownFields
3805			default:
3806				return nil
3807			}
3808		}
3809		file_google_firestore_v1beta1_firestore_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
3810			switch v := v.(*WriteResponse); i {
3811			case 0:
3812				return &v.state
3813			case 1:
3814				return &v.sizeCache
3815			case 2:
3816				return &v.unknownFields
3817			default:
3818				return nil
3819			}
3820		}
3821		file_google_firestore_v1beta1_firestore_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
3822			switch v := v.(*ListenRequest); i {
3823			case 0:
3824				return &v.state
3825			case 1:
3826				return &v.sizeCache
3827			case 2:
3828				return &v.unknownFields
3829			default:
3830				return nil
3831			}
3832		}
3833		file_google_firestore_v1beta1_firestore_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
3834			switch v := v.(*ListenResponse); i {
3835			case 0:
3836				return &v.state
3837			case 1:
3838				return &v.sizeCache
3839			case 2:
3840				return &v.unknownFields
3841			default:
3842				return nil
3843			}
3844		}
3845		file_google_firestore_v1beta1_firestore_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
3846			switch v := v.(*Target); i {
3847			case 0:
3848				return &v.state
3849			case 1:
3850				return &v.sizeCache
3851			case 2:
3852				return &v.unknownFields
3853			default:
3854				return nil
3855			}
3856		}
3857		file_google_firestore_v1beta1_firestore_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
3858			switch v := v.(*TargetChange); i {
3859			case 0:
3860				return &v.state
3861			case 1:
3862				return &v.sizeCache
3863			case 2:
3864				return &v.unknownFields
3865			default:
3866				return nil
3867			}
3868		}
3869		file_google_firestore_v1beta1_firestore_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
3870			switch v := v.(*ListCollectionIdsRequest); i {
3871			case 0:
3872				return &v.state
3873			case 1:
3874				return &v.sizeCache
3875			case 2:
3876				return &v.unknownFields
3877			default:
3878				return nil
3879			}
3880		}
3881		file_google_firestore_v1beta1_firestore_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
3882			switch v := v.(*ListCollectionIdsResponse); i {
3883			case 0:
3884				return &v.state
3885			case 1:
3886				return &v.sizeCache
3887			case 2:
3888				return &v.unknownFields
3889			default:
3890				return nil
3891			}
3892		}
3893		file_google_firestore_v1beta1_firestore_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
3894			switch v := v.(*BatchWriteRequest); i {
3895			case 0:
3896				return &v.state
3897			case 1:
3898				return &v.sizeCache
3899			case 2:
3900				return &v.unknownFields
3901			default:
3902				return nil
3903			}
3904		}
3905		file_google_firestore_v1beta1_firestore_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
3906			switch v := v.(*BatchWriteResponse); i {
3907			case 0:
3908				return &v.state
3909			case 1:
3910				return &v.sizeCache
3911			case 2:
3912				return &v.unknownFields
3913			default:
3914				return nil
3915			}
3916		}
3917		file_google_firestore_v1beta1_firestore_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
3918			switch v := v.(*Target_DocumentsTarget); i {
3919			case 0:
3920				return &v.state
3921			case 1:
3922				return &v.sizeCache
3923			case 2:
3924				return &v.unknownFields
3925			default:
3926				return nil
3927			}
3928		}
3929		file_google_firestore_v1beta1_firestore_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
3930			switch v := v.(*Target_QueryTarget); i {
3931			case 0:
3932				return &v.state
3933			case 1:
3934				return &v.sizeCache
3935			case 2:
3936				return &v.unknownFields
3937			default:
3938				return nil
3939			}
3940		}
3941	}
3942	file_google_firestore_v1beta1_firestore_proto_msgTypes[0].OneofWrappers = []interface{}{
3943		(*GetDocumentRequest_Transaction)(nil),
3944		(*GetDocumentRequest_ReadTime)(nil),
3945	}
3946	file_google_firestore_v1beta1_firestore_proto_msgTypes[1].OneofWrappers = []interface{}{
3947		(*ListDocumentsRequest_Transaction)(nil),
3948		(*ListDocumentsRequest_ReadTime)(nil),
3949	}
3950	file_google_firestore_v1beta1_firestore_proto_msgTypes[6].OneofWrappers = []interface{}{
3951		(*BatchGetDocumentsRequest_Transaction)(nil),
3952		(*BatchGetDocumentsRequest_NewTransaction)(nil),
3953		(*BatchGetDocumentsRequest_ReadTime)(nil),
3954	}
3955	file_google_firestore_v1beta1_firestore_proto_msgTypes[7].OneofWrappers = []interface{}{
3956		(*BatchGetDocumentsResponse_Found)(nil),
3957		(*BatchGetDocumentsResponse_Missing)(nil),
3958	}
3959	file_google_firestore_v1beta1_firestore_proto_msgTypes[13].OneofWrappers = []interface{}{
3960		(*RunQueryRequest_StructuredQuery)(nil),
3961		(*RunQueryRequest_Transaction)(nil),
3962		(*RunQueryRequest_NewTransaction)(nil),
3963		(*RunQueryRequest_ReadTime)(nil),
3964	}
3965	file_google_firestore_v1beta1_firestore_proto_msgTypes[15].OneofWrappers = []interface{}{
3966		(*PartitionQueryRequest_StructuredQuery)(nil),
3967	}
3968	file_google_firestore_v1beta1_firestore_proto_msgTypes[19].OneofWrappers = []interface{}{
3969		(*ListenRequest_AddTarget)(nil),
3970		(*ListenRequest_RemoveTarget)(nil),
3971	}
3972	file_google_firestore_v1beta1_firestore_proto_msgTypes[20].OneofWrappers = []interface{}{
3973		(*ListenResponse_TargetChange)(nil),
3974		(*ListenResponse_DocumentChange)(nil),
3975		(*ListenResponse_DocumentDelete)(nil),
3976		(*ListenResponse_DocumentRemove)(nil),
3977		(*ListenResponse_Filter)(nil),
3978	}
3979	file_google_firestore_v1beta1_firestore_proto_msgTypes[21].OneofWrappers = []interface{}{
3980		(*Target_Query)(nil),
3981		(*Target_Documents)(nil),
3982		(*Target_ResumeToken)(nil),
3983		(*Target_ReadTime)(nil),
3984	}
3985	file_google_firestore_v1beta1_firestore_proto_msgTypes[30].OneofWrappers = []interface{}{
3986		(*Target_QueryTarget_StructuredQuery)(nil),
3987	}
3988	type x struct{}
3989	out := protoimpl.TypeBuilder{
3990		File: protoimpl.DescBuilder{
3991			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
3992			RawDescriptor: file_google_firestore_v1beta1_firestore_proto_rawDesc,
3993			NumEnums:      1,
3994			NumMessages:   32,
3995			NumExtensions: 0,
3996			NumServices:   1,
3997		},
3998		GoTypes:           file_google_firestore_v1beta1_firestore_proto_goTypes,
3999		DependencyIndexes: file_google_firestore_v1beta1_firestore_proto_depIdxs,
4000		EnumInfos:         file_google_firestore_v1beta1_firestore_proto_enumTypes,
4001		MessageInfos:      file_google_firestore_v1beta1_firestore_proto_msgTypes,
4002	}.Build()
4003	File_google_firestore_v1beta1_firestore_proto = out.File
4004	file_google_firestore_v1beta1_firestore_proto_rawDesc = nil
4005	file_google_firestore_v1beta1_firestore_proto_goTypes = nil
4006	file_google_firestore_v1beta1_firestore_proto_depIdxs = nil
4007}
4008
4009// Reference imports to suppress errors if they are not otherwise used.
4010var _ context.Context
4011var _ grpc.ClientConnInterface
4012
4013// This is a compile-time assertion to ensure that this generated file
4014// is compatible with the grpc package it is being compiled against.
4015const _ = grpc.SupportPackageIsVersion6
4016
4017// FirestoreClient is the client API for Firestore service.
4018//
4019// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
4020type FirestoreClient interface {
4021	// Gets a single document.
4022	GetDocument(ctx context.Context, in *GetDocumentRequest, opts ...grpc.CallOption) (*Document, error)
4023	// Lists documents.
4024	ListDocuments(ctx context.Context, in *ListDocumentsRequest, opts ...grpc.CallOption) (*ListDocumentsResponse, error)
4025	// Updates or inserts a document.
4026	UpdateDocument(ctx context.Context, in *UpdateDocumentRequest, opts ...grpc.CallOption) (*Document, error)
4027	// Deletes a document.
4028	DeleteDocument(ctx context.Context, in *DeleteDocumentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
4029	// Gets multiple documents.
4030	//
4031	// Documents returned by this method are not guaranteed to be returned in the
4032	// same order that they were requested.
4033	BatchGetDocuments(ctx context.Context, in *BatchGetDocumentsRequest, opts ...grpc.CallOption) (Firestore_BatchGetDocumentsClient, error)
4034	// Starts a new transaction.
4035	BeginTransaction(ctx context.Context, in *BeginTransactionRequest, opts ...grpc.CallOption) (*BeginTransactionResponse, error)
4036	// Commits a transaction, while optionally updating documents.
4037	Commit(ctx context.Context, in *CommitRequest, opts ...grpc.CallOption) (*CommitResponse, error)
4038	// Rolls back a transaction.
4039	Rollback(ctx context.Context, in *RollbackRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
4040	// Runs a query.
4041	RunQuery(ctx context.Context, in *RunQueryRequest, opts ...grpc.CallOption) (Firestore_RunQueryClient, error)
4042	// Partitions a query by returning partition cursors that can be used to run
4043	// the query in parallel. The returned partition cursors are split points that
4044	// can be used by RunQuery as starting/end points for the query results.
4045	PartitionQuery(ctx context.Context, in *PartitionQueryRequest, opts ...grpc.CallOption) (*PartitionQueryResponse, error)
4046	// Streams batches of document updates and deletes, in order.
4047	Write(ctx context.Context, opts ...grpc.CallOption) (Firestore_WriteClient, error)
4048	// Listens to changes.
4049	Listen(ctx context.Context, opts ...grpc.CallOption) (Firestore_ListenClient, error)
4050	// Lists all the collection IDs underneath a document.
4051	ListCollectionIds(ctx context.Context, in *ListCollectionIdsRequest, opts ...grpc.CallOption) (*ListCollectionIdsResponse, error)
4052	// Applies a batch of write operations.
4053	//
4054	// The BatchWrite method does not apply the write operations atomically
4055	// and can apply them out of order. Method does not allow more than one write
4056	// per document. Each write succeeds or fails independently. See the
4057	// [BatchWriteResponse][google.firestore.v1beta1.BatchWriteResponse] for the success status of each write.
4058	//
4059	// If you require an atomically applied set of writes, use
4060	// [Commit][google.firestore.v1beta1.Firestore.Commit] instead.
4061	BatchWrite(ctx context.Context, in *BatchWriteRequest, opts ...grpc.CallOption) (*BatchWriteResponse, error)
4062	// Creates a new document.
4063	CreateDocument(ctx context.Context, in *CreateDocumentRequest, opts ...grpc.CallOption) (*Document, error)
4064}
4065
4066type firestoreClient struct {
4067	cc grpc.ClientConnInterface
4068}
4069
4070func NewFirestoreClient(cc grpc.ClientConnInterface) FirestoreClient {
4071	return &firestoreClient{cc}
4072}
4073
4074func (c *firestoreClient) GetDocument(ctx context.Context, in *GetDocumentRequest, opts ...grpc.CallOption) (*Document, error) {
4075	out := new(Document)
4076	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/GetDocument", in, out, opts...)
4077	if err != nil {
4078		return nil, err
4079	}
4080	return out, nil
4081}
4082
4083func (c *firestoreClient) ListDocuments(ctx context.Context, in *ListDocumentsRequest, opts ...grpc.CallOption) (*ListDocumentsResponse, error) {
4084	out := new(ListDocumentsResponse)
4085	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/ListDocuments", in, out, opts...)
4086	if err != nil {
4087		return nil, err
4088	}
4089	return out, nil
4090}
4091
4092func (c *firestoreClient) UpdateDocument(ctx context.Context, in *UpdateDocumentRequest, opts ...grpc.CallOption) (*Document, error) {
4093	out := new(Document)
4094	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/UpdateDocument", in, out, opts...)
4095	if err != nil {
4096		return nil, err
4097	}
4098	return out, nil
4099}
4100
4101func (c *firestoreClient) DeleteDocument(ctx context.Context, in *DeleteDocumentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
4102	out := new(emptypb.Empty)
4103	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/DeleteDocument", in, out, opts...)
4104	if err != nil {
4105		return nil, err
4106	}
4107	return out, nil
4108}
4109
4110func (c *firestoreClient) BatchGetDocuments(ctx context.Context, in *BatchGetDocumentsRequest, opts ...grpc.CallOption) (Firestore_BatchGetDocumentsClient, error) {
4111	stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[0], "/google.firestore.v1beta1.Firestore/BatchGetDocuments", opts...)
4112	if err != nil {
4113		return nil, err
4114	}
4115	x := &firestoreBatchGetDocumentsClient{stream}
4116	if err := x.ClientStream.SendMsg(in); err != nil {
4117		return nil, err
4118	}
4119	if err := x.ClientStream.CloseSend(); err != nil {
4120		return nil, err
4121	}
4122	return x, nil
4123}
4124
4125type Firestore_BatchGetDocumentsClient interface {
4126	Recv() (*BatchGetDocumentsResponse, error)
4127	grpc.ClientStream
4128}
4129
4130type firestoreBatchGetDocumentsClient struct {
4131	grpc.ClientStream
4132}
4133
4134func (x *firestoreBatchGetDocumentsClient) Recv() (*BatchGetDocumentsResponse, error) {
4135	m := new(BatchGetDocumentsResponse)
4136	if err := x.ClientStream.RecvMsg(m); err != nil {
4137		return nil, err
4138	}
4139	return m, nil
4140}
4141
4142func (c *firestoreClient) BeginTransaction(ctx context.Context, in *BeginTransactionRequest, opts ...grpc.CallOption) (*BeginTransactionResponse, error) {
4143	out := new(BeginTransactionResponse)
4144	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/BeginTransaction", in, out, opts...)
4145	if err != nil {
4146		return nil, err
4147	}
4148	return out, nil
4149}
4150
4151func (c *firestoreClient) Commit(ctx context.Context, in *CommitRequest, opts ...grpc.CallOption) (*CommitResponse, error) {
4152	out := new(CommitResponse)
4153	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/Commit", in, out, opts...)
4154	if err != nil {
4155		return nil, err
4156	}
4157	return out, nil
4158}
4159
4160func (c *firestoreClient) Rollback(ctx context.Context, in *RollbackRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
4161	out := new(emptypb.Empty)
4162	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/Rollback", in, out, opts...)
4163	if err != nil {
4164		return nil, err
4165	}
4166	return out, nil
4167}
4168
4169func (c *firestoreClient) RunQuery(ctx context.Context, in *RunQueryRequest, opts ...grpc.CallOption) (Firestore_RunQueryClient, error) {
4170	stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[1], "/google.firestore.v1beta1.Firestore/RunQuery", opts...)
4171	if err != nil {
4172		return nil, err
4173	}
4174	x := &firestoreRunQueryClient{stream}
4175	if err := x.ClientStream.SendMsg(in); err != nil {
4176		return nil, err
4177	}
4178	if err := x.ClientStream.CloseSend(); err != nil {
4179		return nil, err
4180	}
4181	return x, nil
4182}
4183
4184type Firestore_RunQueryClient interface {
4185	Recv() (*RunQueryResponse, error)
4186	grpc.ClientStream
4187}
4188
4189type firestoreRunQueryClient struct {
4190	grpc.ClientStream
4191}
4192
4193func (x *firestoreRunQueryClient) Recv() (*RunQueryResponse, error) {
4194	m := new(RunQueryResponse)
4195	if err := x.ClientStream.RecvMsg(m); err != nil {
4196		return nil, err
4197	}
4198	return m, nil
4199}
4200
4201func (c *firestoreClient) PartitionQuery(ctx context.Context, in *PartitionQueryRequest, opts ...grpc.CallOption) (*PartitionQueryResponse, error) {
4202	out := new(PartitionQueryResponse)
4203	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/PartitionQuery", in, out, opts...)
4204	if err != nil {
4205		return nil, err
4206	}
4207	return out, nil
4208}
4209
4210func (c *firestoreClient) Write(ctx context.Context, opts ...grpc.CallOption) (Firestore_WriteClient, error) {
4211	stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[2], "/google.firestore.v1beta1.Firestore/Write", opts...)
4212	if err != nil {
4213		return nil, err
4214	}
4215	x := &firestoreWriteClient{stream}
4216	return x, nil
4217}
4218
4219type Firestore_WriteClient interface {
4220	Send(*WriteRequest) error
4221	Recv() (*WriteResponse, error)
4222	grpc.ClientStream
4223}
4224
4225type firestoreWriteClient struct {
4226	grpc.ClientStream
4227}
4228
4229func (x *firestoreWriteClient) Send(m *WriteRequest) error {
4230	return x.ClientStream.SendMsg(m)
4231}
4232
4233func (x *firestoreWriteClient) Recv() (*WriteResponse, error) {
4234	m := new(WriteResponse)
4235	if err := x.ClientStream.RecvMsg(m); err != nil {
4236		return nil, err
4237	}
4238	return m, nil
4239}
4240
4241func (c *firestoreClient) Listen(ctx context.Context, opts ...grpc.CallOption) (Firestore_ListenClient, error) {
4242	stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[3], "/google.firestore.v1beta1.Firestore/Listen", opts...)
4243	if err != nil {
4244		return nil, err
4245	}
4246	x := &firestoreListenClient{stream}
4247	return x, nil
4248}
4249
4250type Firestore_ListenClient interface {
4251	Send(*ListenRequest) error
4252	Recv() (*ListenResponse, error)
4253	grpc.ClientStream
4254}
4255
4256type firestoreListenClient struct {
4257	grpc.ClientStream
4258}
4259
4260func (x *firestoreListenClient) Send(m *ListenRequest) error {
4261	return x.ClientStream.SendMsg(m)
4262}
4263
4264func (x *firestoreListenClient) Recv() (*ListenResponse, error) {
4265	m := new(ListenResponse)
4266	if err := x.ClientStream.RecvMsg(m); err != nil {
4267		return nil, err
4268	}
4269	return m, nil
4270}
4271
4272func (c *firestoreClient) ListCollectionIds(ctx context.Context, in *ListCollectionIdsRequest, opts ...grpc.CallOption) (*ListCollectionIdsResponse, error) {
4273	out := new(ListCollectionIdsResponse)
4274	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/ListCollectionIds", in, out, opts...)
4275	if err != nil {
4276		return nil, err
4277	}
4278	return out, nil
4279}
4280
4281func (c *firestoreClient) BatchWrite(ctx context.Context, in *BatchWriteRequest, opts ...grpc.CallOption) (*BatchWriteResponse, error) {
4282	out := new(BatchWriteResponse)
4283	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/BatchWrite", in, out, opts...)
4284	if err != nil {
4285		return nil, err
4286	}
4287	return out, nil
4288}
4289
4290func (c *firestoreClient) CreateDocument(ctx context.Context, in *CreateDocumentRequest, opts ...grpc.CallOption) (*Document, error) {
4291	out := new(Document)
4292	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/CreateDocument", in, out, opts...)
4293	if err != nil {
4294		return nil, err
4295	}
4296	return out, nil
4297}
4298
4299// FirestoreServer is the server API for Firestore service.
4300type FirestoreServer interface {
4301	// Gets a single document.
4302	GetDocument(context.Context, *GetDocumentRequest) (*Document, error)
4303	// Lists documents.
4304	ListDocuments(context.Context, *ListDocumentsRequest) (*ListDocumentsResponse, error)
4305	// Updates or inserts a document.
4306	UpdateDocument(context.Context, *UpdateDocumentRequest) (*Document, error)
4307	// Deletes a document.
4308	DeleteDocument(context.Context, *DeleteDocumentRequest) (*emptypb.Empty, error)
4309	// Gets multiple documents.
4310	//
4311	// Documents returned by this method are not guaranteed to be returned in the
4312	// same order that they were requested.
4313	BatchGetDocuments(*BatchGetDocumentsRequest, Firestore_BatchGetDocumentsServer) error
4314	// Starts a new transaction.
4315	BeginTransaction(context.Context, *BeginTransactionRequest) (*BeginTransactionResponse, error)
4316	// Commits a transaction, while optionally updating documents.
4317	Commit(context.Context, *CommitRequest) (*CommitResponse, error)
4318	// Rolls back a transaction.
4319	Rollback(context.Context, *RollbackRequest) (*emptypb.Empty, error)
4320	// Runs a query.
4321	RunQuery(*RunQueryRequest, Firestore_RunQueryServer) error
4322	// Partitions a query by returning partition cursors that can be used to run
4323	// the query in parallel. The returned partition cursors are split points that
4324	// can be used by RunQuery as starting/end points for the query results.
4325	PartitionQuery(context.Context, *PartitionQueryRequest) (*PartitionQueryResponse, error)
4326	// Streams batches of document updates and deletes, in order.
4327	Write(Firestore_WriteServer) error
4328	// Listens to changes.
4329	Listen(Firestore_ListenServer) error
4330	// Lists all the collection IDs underneath a document.
4331	ListCollectionIds(context.Context, *ListCollectionIdsRequest) (*ListCollectionIdsResponse, error)
4332	// Applies a batch of write operations.
4333	//
4334	// The BatchWrite method does not apply the write operations atomically
4335	// and can apply them out of order. Method does not allow more than one write
4336	// per document. Each write succeeds or fails independently. See the
4337	// [BatchWriteResponse][google.firestore.v1beta1.BatchWriteResponse] for the success status of each write.
4338	//
4339	// If you require an atomically applied set of writes, use
4340	// [Commit][google.firestore.v1beta1.Firestore.Commit] instead.
4341	BatchWrite(context.Context, *BatchWriteRequest) (*BatchWriteResponse, error)
4342	// Creates a new document.
4343	CreateDocument(context.Context, *CreateDocumentRequest) (*Document, error)
4344}
4345
4346// UnimplementedFirestoreServer can be embedded to have forward compatible implementations.
4347type UnimplementedFirestoreServer struct {
4348}
4349
4350func (*UnimplementedFirestoreServer) GetDocument(context.Context, *GetDocumentRequest) (*Document, error) {
4351	return nil, status1.Errorf(codes.Unimplemented, "method GetDocument not implemented")
4352}
4353func (*UnimplementedFirestoreServer) ListDocuments(context.Context, *ListDocumentsRequest) (*ListDocumentsResponse, error) {
4354	return nil, status1.Errorf(codes.Unimplemented, "method ListDocuments not implemented")
4355}
4356func (*UnimplementedFirestoreServer) UpdateDocument(context.Context, *UpdateDocumentRequest) (*Document, error) {
4357	return nil, status1.Errorf(codes.Unimplemented, "method UpdateDocument not implemented")
4358}
4359func (*UnimplementedFirestoreServer) DeleteDocument(context.Context, *DeleteDocumentRequest) (*emptypb.Empty, error) {
4360	return nil, status1.Errorf(codes.Unimplemented, "method DeleteDocument not implemented")
4361}
4362func (*UnimplementedFirestoreServer) BatchGetDocuments(*BatchGetDocumentsRequest, Firestore_BatchGetDocumentsServer) error {
4363	return status1.Errorf(codes.Unimplemented, "method BatchGetDocuments not implemented")
4364}
4365func (*UnimplementedFirestoreServer) BeginTransaction(context.Context, *BeginTransactionRequest) (*BeginTransactionResponse, error) {
4366	return nil, status1.Errorf(codes.Unimplemented, "method BeginTransaction not implemented")
4367}
4368func (*UnimplementedFirestoreServer) Commit(context.Context, *CommitRequest) (*CommitResponse, error) {
4369	return nil, status1.Errorf(codes.Unimplemented, "method Commit not implemented")
4370}
4371func (*UnimplementedFirestoreServer) Rollback(context.Context, *RollbackRequest) (*emptypb.Empty, error) {
4372	return nil, status1.Errorf(codes.Unimplemented, "method Rollback not implemented")
4373}
4374func (*UnimplementedFirestoreServer) RunQuery(*RunQueryRequest, Firestore_RunQueryServer) error {
4375	return status1.Errorf(codes.Unimplemented, "method RunQuery not implemented")
4376}
4377func (*UnimplementedFirestoreServer) PartitionQuery(context.Context, *PartitionQueryRequest) (*PartitionQueryResponse, error) {
4378	return nil, status1.Errorf(codes.Unimplemented, "method PartitionQuery not implemented")
4379}
4380func (*UnimplementedFirestoreServer) Write(Firestore_WriteServer) error {
4381	return status1.Errorf(codes.Unimplemented, "method Write not implemented")
4382}
4383func (*UnimplementedFirestoreServer) Listen(Firestore_ListenServer) error {
4384	return status1.Errorf(codes.Unimplemented, "method Listen not implemented")
4385}
4386func (*UnimplementedFirestoreServer) ListCollectionIds(context.Context, *ListCollectionIdsRequest) (*ListCollectionIdsResponse, error) {
4387	return nil, status1.Errorf(codes.Unimplemented, "method ListCollectionIds not implemented")
4388}
4389func (*UnimplementedFirestoreServer) BatchWrite(context.Context, *BatchWriteRequest) (*BatchWriteResponse, error) {
4390	return nil, status1.Errorf(codes.Unimplemented, "method BatchWrite not implemented")
4391}
4392func (*UnimplementedFirestoreServer) CreateDocument(context.Context, *CreateDocumentRequest) (*Document, error) {
4393	return nil, status1.Errorf(codes.Unimplemented, "method CreateDocument not implemented")
4394}
4395
4396func RegisterFirestoreServer(s *grpc.Server, srv FirestoreServer) {
4397	s.RegisterService(&_Firestore_serviceDesc, srv)
4398}
4399
4400func _Firestore_GetDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4401	in := new(GetDocumentRequest)
4402	if err := dec(in); err != nil {
4403		return nil, err
4404	}
4405	if interceptor == nil {
4406		return srv.(FirestoreServer).GetDocument(ctx, in)
4407	}
4408	info := &grpc.UnaryServerInfo{
4409		Server:     srv,
4410		FullMethod: "/google.firestore.v1beta1.Firestore/GetDocument",
4411	}
4412	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4413		return srv.(FirestoreServer).GetDocument(ctx, req.(*GetDocumentRequest))
4414	}
4415	return interceptor(ctx, in, info, handler)
4416}
4417
4418func _Firestore_ListDocuments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4419	in := new(ListDocumentsRequest)
4420	if err := dec(in); err != nil {
4421		return nil, err
4422	}
4423	if interceptor == nil {
4424		return srv.(FirestoreServer).ListDocuments(ctx, in)
4425	}
4426	info := &grpc.UnaryServerInfo{
4427		Server:     srv,
4428		FullMethod: "/google.firestore.v1beta1.Firestore/ListDocuments",
4429	}
4430	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4431		return srv.(FirestoreServer).ListDocuments(ctx, req.(*ListDocumentsRequest))
4432	}
4433	return interceptor(ctx, in, info, handler)
4434}
4435
4436func _Firestore_UpdateDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4437	in := new(UpdateDocumentRequest)
4438	if err := dec(in); err != nil {
4439		return nil, err
4440	}
4441	if interceptor == nil {
4442		return srv.(FirestoreServer).UpdateDocument(ctx, in)
4443	}
4444	info := &grpc.UnaryServerInfo{
4445		Server:     srv,
4446		FullMethod: "/google.firestore.v1beta1.Firestore/UpdateDocument",
4447	}
4448	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4449		return srv.(FirestoreServer).UpdateDocument(ctx, req.(*UpdateDocumentRequest))
4450	}
4451	return interceptor(ctx, in, info, handler)
4452}
4453
4454func _Firestore_DeleteDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4455	in := new(DeleteDocumentRequest)
4456	if err := dec(in); err != nil {
4457		return nil, err
4458	}
4459	if interceptor == nil {
4460		return srv.(FirestoreServer).DeleteDocument(ctx, in)
4461	}
4462	info := &grpc.UnaryServerInfo{
4463		Server:     srv,
4464		FullMethod: "/google.firestore.v1beta1.Firestore/DeleteDocument",
4465	}
4466	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4467		return srv.(FirestoreServer).DeleteDocument(ctx, req.(*DeleteDocumentRequest))
4468	}
4469	return interceptor(ctx, in, info, handler)
4470}
4471
4472func _Firestore_BatchGetDocuments_Handler(srv interface{}, stream grpc.ServerStream) error {
4473	m := new(BatchGetDocumentsRequest)
4474	if err := stream.RecvMsg(m); err != nil {
4475		return err
4476	}
4477	return srv.(FirestoreServer).BatchGetDocuments(m, &firestoreBatchGetDocumentsServer{stream})
4478}
4479
4480type Firestore_BatchGetDocumentsServer interface {
4481	Send(*BatchGetDocumentsResponse) error
4482	grpc.ServerStream
4483}
4484
4485type firestoreBatchGetDocumentsServer struct {
4486	grpc.ServerStream
4487}
4488
4489func (x *firestoreBatchGetDocumentsServer) Send(m *BatchGetDocumentsResponse) error {
4490	return x.ServerStream.SendMsg(m)
4491}
4492
4493func _Firestore_BeginTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4494	in := new(BeginTransactionRequest)
4495	if err := dec(in); err != nil {
4496		return nil, err
4497	}
4498	if interceptor == nil {
4499		return srv.(FirestoreServer).BeginTransaction(ctx, in)
4500	}
4501	info := &grpc.UnaryServerInfo{
4502		Server:     srv,
4503		FullMethod: "/google.firestore.v1beta1.Firestore/BeginTransaction",
4504	}
4505	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4506		return srv.(FirestoreServer).BeginTransaction(ctx, req.(*BeginTransactionRequest))
4507	}
4508	return interceptor(ctx, in, info, handler)
4509}
4510
4511func _Firestore_Commit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4512	in := new(CommitRequest)
4513	if err := dec(in); err != nil {
4514		return nil, err
4515	}
4516	if interceptor == nil {
4517		return srv.(FirestoreServer).Commit(ctx, in)
4518	}
4519	info := &grpc.UnaryServerInfo{
4520		Server:     srv,
4521		FullMethod: "/google.firestore.v1beta1.Firestore/Commit",
4522	}
4523	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4524		return srv.(FirestoreServer).Commit(ctx, req.(*CommitRequest))
4525	}
4526	return interceptor(ctx, in, info, handler)
4527}
4528
4529func _Firestore_Rollback_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4530	in := new(RollbackRequest)
4531	if err := dec(in); err != nil {
4532		return nil, err
4533	}
4534	if interceptor == nil {
4535		return srv.(FirestoreServer).Rollback(ctx, in)
4536	}
4537	info := &grpc.UnaryServerInfo{
4538		Server:     srv,
4539		FullMethod: "/google.firestore.v1beta1.Firestore/Rollback",
4540	}
4541	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4542		return srv.(FirestoreServer).Rollback(ctx, req.(*RollbackRequest))
4543	}
4544	return interceptor(ctx, in, info, handler)
4545}
4546
4547func _Firestore_RunQuery_Handler(srv interface{}, stream grpc.ServerStream) error {
4548	m := new(RunQueryRequest)
4549	if err := stream.RecvMsg(m); err != nil {
4550		return err
4551	}
4552	return srv.(FirestoreServer).RunQuery(m, &firestoreRunQueryServer{stream})
4553}
4554
4555type Firestore_RunQueryServer interface {
4556	Send(*RunQueryResponse) error
4557	grpc.ServerStream
4558}
4559
4560type firestoreRunQueryServer struct {
4561	grpc.ServerStream
4562}
4563
4564func (x *firestoreRunQueryServer) Send(m *RunQueryResponse) error {
4565	return x.ServerStream.SendMsg(m)
4566}
4567
4568func _Firestore_PartitionQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4569	in := new(PartitionQueryRequest)
4570	if err := dec(in); err != nil {
4571		return nil, err
4572	}
4573	if interceptor == nil {
4574		return srv.(FirestoreServer).PartitionQuery(ctx, in)
4575	}
4576	info := &grpc.UnaryServerInfo{
4577		Server:     srv,
4578		FullMethod: "/google.firestore.v1beta1.Firestore/PartitionQuery",
4579	}
4580	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4581		return srv.(FirestoreServer).PartitionQuery(ctx, req.(*PartitionQueryRequest))
4582	}
4583	return interceptor(ctx, in, info, handler)
4584}
4585
4586func _Firestore_Write_Handler(srv interface{}, stream grpc.ServerStream) error {
4587	return srv.(FirestoreServer).Write(&firestoreWriteServer{stream})
4588}
4589
4590type Firestore_WriteServer interface {
4591	Send(*WriteResponse) error
4592	Recv() (*WriteRequest, error)
4593	grpc.ServerStream
4594}
4595
4596type firestoreWriteServer struct {
4597	grpc.ServerStream
4598}
4599
4600func (x *firestoreWriteServer) Send(m *WriteResponse) error {
4601	return x.ServerStream.SendMsg(m)
4602}
4603
4604func (x *firestoreWriteServer) Recv() (*WriteRequest, error) {
4605	m := new(WriteRequest)
4606	if err := x.ServerStream.RecvMsg(m); err != nil {
4607		return nil, err
4608	}
4609	return m, nil
4610}
4611
4612func _Firestore_Listen_Handler(srv interface{}, stream grpc.ServerStream) error {
4613	return srv.(FirestoreServer).Listen(&firestoreListenServer{stream})
4614}
4615
4616type Firestore_ListenServer interface {
4617	Send(*ListenResponse) error
4618	Recv() (*ListenRequest, error)
4619	grpc.ServerStream
4620}
4621
4622type firestoreListenServer struct {
4623	grpc.ServerStream
4624}
4625
4626func (x *firestoreListenServer) Send(m *ListenResponse) error {
4627	return x.ServerStream.SendMsg(m)
4628}
4629
4630func (x *firestoreListenServer) Recv() (*ListenRequest, error) {
4631	m := new(ListenRequest)
4632	if err := x.ServerStream.RecvMsg(m); err != nil {
4633		return nil, err
4634	}
4635	return m, nil
4636}
4637
4638func _Firestore_ListCollectionIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4639	in := new(ListCollectionIdsRequest)
4640	if err := dec(in); err != nil {
4641		return nil, err
4642	}
4643	if interceptor == nil {
4644		return srv.(FirestoreServer).ListCollectionIds(ctx, in)
4645	}
4646	info := &grpc.UnaryServerInfo{
4647		Server:     srv,
4648		FullMethod: "/google.firestore.v1beta1.Firestore/ListCollectionIds",
4649	}
4650	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4651		return srv.(FirestoreServer).ListCollectionIds(ctx, req.(*ListCollectionIdsRequest))
4652	}
4653	return interceptor(ctx, in, info, handler)
4654}
4655
4656func _Firestore_BatchWrite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4657	in := new(BatchWriteRequest)
4658	if err := dec(in); err != nil {
4659		return nil, err
4660	}
4661	if interceptor == nil {
4662		return srv.(FirestoreServer).BatchWrite(ctx, in)
4663	}
4664	info := &grpc.UnaryServerInfo{
4665		Server:     srv,
4666		FullMethod: "/google.firestore.v1beta1.Firestore/BatchWrite",
4667	}
4668	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4669		return srv.(FirestoreServer).BatchWrite(ctx, req.(*BatchWriteRequest))
4670	}
4671	return interceptor(ctx, in, info, handler)
4672}
4673
4674func _Firestore_CreateDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4675	in := new(CreateDocumentRequest)
4676	if err := dec(in); err != nil {
4677		return nil, err
4678	}
4679	if interceptor == nil {
4680		return srv.(FirestoreServer).CreateDocument(ctx, in)
4681	}
4682	info := &grpc.UnaryServerInfo{
4683		Server:     srv,
4684		FullMethod: "/google.firestore.v1beta1.Firestore/CreateDocument",
4685	}
4686	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4687		return srv.(FirestoreServer).CreateDocument(ctx, req.(*CreateDocumentRequest))
4688	}
4689	return interceptor(ctx, in, info, handler)
4690}
4691
4692var _Firestore_serviceDesc = grpc.ServiceDesc{
4693	ServiceName: "google.firestore.v1beta1.Firestore",
4694	HandlerType: (*FirestoreServer)(nil),
4695	Methods: []grpc.MethodDesc{
4696		{
4697			MethodName: "GetDocument",
4698			Handler:    _Firestore_GetDocument_Handler,
4699		},
4700		{
4701			MethodName: "ListDocuments",
4702			Handler:    _Firestore_ListDocuments_Handler,
4703		},
4704		{
4705			MethodName: "UpdateDocument",
4706			Handler:    _Firestore_UpdateDocument_Handler,
4707		},
4708		{
4709			MethodName: "DeleteDocument",
4710			Handler:    _Firestore_DeleteDocument_Handler,
4711		},
4712		{
4713			MethodName: "BeginTransaction",
4714			Handler:    _Firestore_BeginTransaction_Handler,
4715		},
4716		{
4717			MethodName: "Commit",
4718			Handler:    _Firestore_Commit_Handler,
4719		},
4720		{
4721			MethodName: "Rollback",
4722			Handler:    _Firestore_Rollback_Handler,
4723		},
4724		{
4725			MethodName: "PartitionQuery",
4726			Handler:    _Firestore_PartitionQuery_Handler,
4727		},
4728		{
4729			MethodName: "ListCollectionIds",
4730			Handler:    _Firestore_ListCollectionIds_Handler,
4731		},
4732		{
4733			MethodName: "BatchWrite",
4734			Handler:    _Firestore_BatchWrite_Handler,
4735		},
4736		{
4737			MethodName: "CreateDocument",
4738			Handler:    _Firestore_CreateDocument_Handler,
4739		},
4740	},
4741	Streams: []grpc.StreamDesc{
4742		{
4743			StreamName:    "BatchGetDocuments",
4744			Handler:       _Firestore_BatchGetDocuments_Handler,
4745			ServerStreams: true,
4746		},
4747		{
4748			StreamName:    "RunQuery",
4749			Handler:       _Firestore_RunQuery_Handler,
4750			ServerStreams: true,
4751		},
4752		{
4753			StreamName:    "Write",
4754			Handler:       _Firestore_Write_Handler,
4755			ServerStreams: true,
4756			ClientStreams: true,
4757		},
4758		{
4759			StreamName:    "Listen",
4760			Handler:       _Firestore_Listen_Handler,
4761			ServerStreams: true,
4762			ClientStreams: true,
4763		},
4764	},
4765	Metadata: "google/firestore/v1beta1/firestore.proto",
4766}
4767