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