1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/firestore/v1beta1/firestore.proto
3
4package firestore // import "google.golang.org/genproto/googleapis/firestore/v1beta1"
5
6import proto "github.com/golang/protobuf/proto"
7import fmt "fmt"
8import math "math"
9import empty "github.com/golang/protobuf/ptypes/empty"
10import timestamp "github.com/golang/protobuf/ptypes/timestamp"
11import _ "google.golang.org/genproto/googleapis/api/annotations"
12import status "google.golang.org/genproto/googleapis/rpc/status"
13
14import (
15	context "golang.org/x/net/context"
16	grpc "google.golang.org/grpc"
17)
18
19// Reference imports to suppress errors if they are not otherwise used.
20var _ = proto.Marshal
21var _ = fmt.Errorf
22var _ = math.Inf
23
24// This is a compile-time assertion to ensure that this generated file
25// is compatible with the proto package it is being compiled against.
26// A compilation error at this line likely means your copy of the
27// proto package needs to be updated.
28const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
29
30// The type of change.
31type TargetChange_TargetChangeType int32
32
33const (
34	// No change has occurred. Used only to send an updated `resume_token`.
35	TargetChange_NO_CHANGE TargetChange_TargetChangeType = 0
36	// The targets have been added.
37	TargetChange_ADD TargetChange_TargetChangeType = 1
38	// The targets have been removed.
39	TargetChange_REMOVE TargetChange_TargetChangeType = 2
40	// The targets reflect all changes committed before the targets were added
41	// to the stream.
42	//
43	// This will be sent after or with a `read_time` that is greater than or
44	// equal to the time at which the targets were added.
45	//
46	// Listeners can wait for this change if read-after-write semantics
47	// are desired.
48	TargetChange_CURRENT TargetChange_TargetChangeType = 3
49	// The targets have been reset, and a new initial state for the targets
50	// will be returned in subsequent changes.
51	//
52	// After the initial state is complete, `CURRENT` will be returned even
53	// if the target was previously indicated to be `CURRENT`.
54	TargetChange_RESET TargetChange_TargetChangeType = 4
55)
56
57var TargetChange_TargetChangeType_name = map[int32]string{
58	0: "NO_CHANGE",
59	1: "ADD",
60	2: "REMOVE",
61	3: "CURRENT",
62	4: "RESET",
63}
64var TargetChange_TargetChangeType_value = map[string]int32{
65	"NO_CHANGE": 0,
66	"ADD":       1,
67	"REMOVE":    2,
68	"CURRENT":   3,
69	"RESET":     4,
70}
71
72func (x TargetChange_TargetChangeType) String() string {
73	return proto.EnumName(TargetChange_TargetChangeType_name, int32(x))
74}
75func (TargetChange_TargetChangeType) EnumDescriptor() ([]byte, []int) {
76	return fileDescriptor_firestore_42af00d8e1a5b915, []int{20, 0}
77}
78
79// The request for [Firestore.GetDocument][google.firestore.v1beta1.Firestore.GetDocument].
80type GetDocumentRequest struct {
81	// The resource name of the Document to get. In the format:
82	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
83	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
84	// The fields to return. If not set, returns all fields.
85	//
86	// If the document has a field that is not present in this mask, that field
87	// will not be returned in the response.
88	Mask *DocumentMask `protobuf:"bytes,2,opt,name=mask,proto3" json:"mask,omitempty"`
89	// The consistency mode for this transaction.
90	// If not set, defaults to strong consistency.
91	//
92	// Types that are valid to be assigned to ConsistencySelector:
93	//	*GetDocumentRequest_Transaction
94	//	*GetDocumentRequest_ReadTime
95	ConsistencySelector  isGetDocumentRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"`
96	XXX_NoUnkeyedLiteral struct{}                                 `json:"-"`
97	XXX_unrecognized     []byte                                   `json:"-"`
98	XXX_sizecache        int32                                    `json:"-"`
99}
100
101func (m *GetDocumentRequest) Reset()         { *m = GetDocumentRequest{} }
102func (m *GetDocumentRequest) String() string { return proto.CompactTextString(m) }
103func (*GetDocumentRequest) ProtoMessage()    {}
104func (*GetDocumentRequest) Descriptor() ([]byte, []int) {
105	return fileDescriptor_firestore_42af00d8e1a5b915, []int{0}
106}
107func (m *GetDocumentRequest) XXX_Unmarshal(b []byte) error {
108	return xxx_messageInfo_GetDocumentRequest.Unmarshal(m, b)
109}
110func (m *GetDocumentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
111	return xxx_messageInfo_GetDocumentRequest.Marshal(b, m, deterministic)
112}
113func (dst *GetDocumentRequest) XXX_Merge(src proto.Message) {
114	xxx_messageInfo_GetDocumentRequest.Merge(dst, src)
115}
116func (m *GetDocumentRequest) XXX_Size() int {
117	return xxx_messageInfo_GetDocumentRequest.Size(m)
118}
119func (m *GetDocumentRequest) XXX_DiscardUnknown() {
120	xxx_messageInfo_GetDocumentRequest.DiscardUnknown(m)
121}
122
123var xxx_messageInfo_GetDocumentRequest proto.InternalMessageInfo
124
125type isGetDocumentRequest_ConsistencySelector interface {
126	isGetDocumentRequest_ConsistencySelector()
127}
128
129type GetDocumentRequest_Transaction struct {
130	Transaction []byte `protobuf:"bytes,3,opt,name=transaction,proto3,oneof"`
131}
132type GetDocumentRequest_ReadTime struct {
133	ReadTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=read_time,json=readTime,proto3,oneof"`
134}
135
136func (*GetDocumentRequest_Transaction) isGetDocumentRequest_ConsistencySelector() {}
137func (*GetDocumentRequest_ReadTime) isGetDocumentRequest_ConsistencySelector()    {}
138
139func (m *GetDocumentRequest) GetConsistencySelector() isGetDocumentRequest_ConsistencySelector {
140	if m != nil {
141		return m.ConsistencySelector
142	}
143	return nil
144}
145
146func (m *GetDocumentRequest) GetName() string {
147	if m != nil {
148		return m.Name
149	}
150	return ""
151}
152
153func (m *GetDocumentRequest) GetMask() *DocumentMask {
154	if m != nil {
155		return m.Mask
156	}
157	return nil
158}
159
160func (m *GetDocumentRequest) GetTransaction() []byte {
161	if x, ok := m.GetConsistencySelector().(*GetDocumentRequest_Transaction); ok {
162		return x.Transaction
163	}
164	return nil
165}
166
167func (m *GetDocumentRequest) GetReadTime() *timestamp.Timestamp {
168	if x, ok := m.GetConsistencySelector().(*GetDocumentRequest_ReadTime); ok {
169		return x.ReadTime
170	}
171	return nil
172}
173
174// XXX_OneofFuncs is for the internal use of the proto package.
175func (*GetDocumentRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
176	return _GetDocumentRequest_OneofMarshaler, _GetDocumentRequest_OneofUnmarshaler, _GetDocumentRequest_OneofSizer, []interface{}{
177		(*GetDocumentRequest_Transaction)(nil),
178		(*GetDocumentRequest_ReadTime)(nil),
179	}
180}
181
182func _GetDocumentRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
183	m := msg.(*GetDocumentRequest)
184	// consistency_selector
185	switch x := m.ConsistencySelector.(type) {
186	case *GetDocumentRequest_Transaction:
187		b.EncodeVarint(3<<3 | proto.WireBytes)
188		b.EncodeRawBytes(x.Transaction)
189	case *GetDocumentRequest_ReadTime:
190		b.EncodeVarint(5<<3 | proto.WireBytes)
191		if err := b.EncodeMessage(x.ReadTime); err != nil {
192			return err
193		}
194	case nil:
195	default:
196		return fmt.Errorf("GetDocumentRequest.ConsistencySelector has unexpected type %T", x)
197	}
198	return nil
199}
200
201func _GetDocumentRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
202	m := msg.(*GetDocumentRequest)
203	switch tag {
204	case 3: // consistency_selector.transaction
205		if wire != proto.WireBytes {
206			return true, proto.ErrInternalBadWireType
207		}
208		x, err := b.DecodeRawBytes(true)
209		m.ConsistencySelector = &GetDocumentRequest_Transaction{x}
210		return true, err
211	case 5: // consistency_selector.read_time
212		if wire != proto.WireBytes {
213			return true, proto.ErrInternalBadWireType
214		}
215		msg := new(timestamp.Timestamp)
216		err := b.DecodeMessage(msg)
217		m.ConsistencySelector = &GetDocumentRequest_ReadTime{msg}
218		return true, err
219	default:
220		return false, nil
221	}
222}
223
224func _GetDocumentRequest_OneofSizer(msg proto.Message) (n int) {
225	m := msg.(*GetDocumentRequest)
226	// consistency_selector
227	switch x := m.ConsistencySelector.(type) {
228	case *GetDocumentRequest_Transaction:
229		n += 1 // tag and wire
230		n += proto.SizeVarint(uint64(len(x.Transaction)))
231		n += len(x.Transaction)
232	case *GetDocumentRequest_ReadTime:
233		s := proto.Size(x.ReadTime)
234		n += 1 // tag and wire
235		n += proto.SizeVarint(uint64(s))
236		n += s
237	case nil:
238	default:
239		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
240	}
241	return n
242}
243
244// The request for [Firestore.ListDocuments][google.firestore.v1beta1.Firestore.ListDocuments].
245type ListDocumentsRequest struct {
246	// The parent resource name. In the format:
247	// `projects/{project_id}/databases/{database_id}/documents` or
248	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
249	// For example:
250	// `projects/my-project/databases/my-database/documents` or
251	// `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
252	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
253	// The collection ID, relative to `parent`, to list. For example: `chatrooms`
254	// or `messages`.
255	CollectionId string `protobuf:"bytes,2,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"`
256	// The maximum number of documents to return.
257	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
258	// The `next_page_token` value returned from a previous List request, if any.
259	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
260	// The order to sort results by. For example: `priority desc, name`.
261	OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
262	// The fields to return. If not set, returns all fields.
263	//
264	// If a document has a field that is not present in this mask, that field
265	// will not be returned in the response.
266	Mask *DocumentMask `protobuf:"bytes,7,opt,name=mask,proto3" json:"mask,omitempty"`
267	// The consistency mode for this transaction.
268	// If not set, defaults to strong consistency.
269	//
270	// Types that are valid to be assigned to ConsistencySelector:
271	//	*ListDocumentsRequest_Transaction
272	//	*ListDocumentsRequest_ReadTime
273	ConsistencySelector isListDocumentsRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"`
274	// If the list should show missing documents. A missing document is a
275	// document that does not exist but has sub-documents. These documents will
276	// be returned with a key but will not have fields, [Document.create_time][google.firestore.v1beta1.Document.create_time],
277	// or [Document.update_time][google.firestore.v1beta1.Document.update_time] set.
278	//
279	// Requests with `show_missing` may not specify `where` or
280	// `order_by`.
281	ShowMissing          bool     `protobuf:"varint,12,opt,name=show_missing,json=showMissing,proto3" json:"show_missing,omitempty"`
282	XXX_NoUnkeyedLiteral struct{} `json:"-"`
283	XXX_unrecognized     []byte   `json:"-"`
284	XXX_sizecache        int32    `json:"-"`
285}
286
287func (m *ListDocumentsRequest) Reset()         { *m = ListDocumentsRequest{} }
288func (m *ListDocumentsRequest) String() string { return proto.CompactTextString(m) }
289func (*ListDocumentsRequest) ProtoMessage()    {}
290func (*ListDocumentsRequest) Descriptor() ([]byte, []int) {
291	return fileDescriptor_firestore_42af00d8e1a5b915, []int{1}
292}
293func (m *ListDocumentsRequest) XXX_Unmarshal(b []byte) error {
294	return xxx_messageInfo_ListDocumentsRequest.Unmarshal(m, b)
295}
296func (m *ListDocumentsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
297	return xxx_messageInfo_ListDocumentsRequest.Marshal(b, m, deterministic)
298}
299func (dst *ListDocumentsRequest) XXX_Merge(src proto.Message) {
300	xxx_messageInfo_ListDocumentsRequest.Merge(dst, src)
301}
302func (m *ListDocumentsRequest) XXX_Size() int {
303	return xxx_messageInfo_ListDocumentsRequest.Size(m)
304}
305func (m *ListDocumentsRequest) XXX_DiscardUnknown() {
306	xxx_messageInfo_ListDocumentsRequest.DiscardUnknown(m)
307}
308
309var xxx_messageInfo_ListDocumentsRequest proto.InternalMessageInfo
310
311type isListDocumentsRequest_ConsistencySelector interface {
312	isListDocumentsRequest_ConsistencySelector()
313}
314
315type ListDocumentsRequest_Transaction struct {
316	Transaction []byte `protobuf:"bytes,8,opt,name=transaction,proto3,oneof"`
317}
318type ListDocumentsRequest_ReadTime struct {
319	ReadTime *timestamp.Timestamp `protobuf:"bytes,10,opt,name=read_time,json=readTime,proto3,oneof"`
320}
321
322func (*ListDocumentsRequest_Transaction) isListDocumentsRequest_ConsistencySelector() {}
323func (*ListDocumentsRequest_ReadTime) isListDocumentsRequest_ConsistencySelector()    {}
324
325func (m *ListDocumentsRequest) GetConsistencySelector() isListDocumentsRequest_ConsistencySelector {
326	if m != nil {
327		return m.ConsistencySelector
328	}
329	return nil
330}
331
332func (m *ListDocumentsRequest) GetParent() string {
333	if m != nil {
334		return m.Parent
335	}
336	return ""
337}
338
339func (m *ListDocumentsRequest) GetCollectionId() string {
340	if m != nil {
341		return m.CollectionId
342	}
343	return ""
344}
345
346func (m *ListDocumentsRequest) GetPageSize() int32 {
347	if m != nil {
348		return m.PageSize
349	}
350	return 0
351}
352
353func (m *ListDocumentsRequest) GetPageToken() string {
354	if m != nil {
355		return m.PageToken
356	}
357	return ""
358}
359
360func (m *ListDocumentsRequest) GetOrderBy() string {
361	if m != nil {
362		return m.OrderBy
363	}
364	return ""
365}
366
367func (m *ListDocumentsRequest) GetMask() *DocumentMask {
368	if m != nil {
369		return m.Mask
370	}
371	return nil
372}
373
374func (m *ListDocumentsRequest) GetTransaction() []byte {
375	if x, ok := m.GetConsistencySelector().(*ListDocumentsRequest_Transaction); ok {
376		return x.Transaction
377	}
378	return nil
379}
380
381func (m *ListDocumentsRequest) GetReadTime() *timestamp.Timestamp {
382	if x, ok := m.GetConsistencySelector().(*ListDocumentsRequest_ReadTime); ok {
383		return x.ReadTime
384	}
385	return nil
386}
387
388func (m *ListDocumentsRequest) GetShowMissing() bool {
389	if m != nil {
390		return m.ShowMissing
391	}
392	return false
393}
394
395// XXX_OneofFuncs is for the internal use of the proto package.
396func (*ListDocumentsRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
397	return _ListDocumentsRequest_OneofMarshaler, _ListDocumentsRequest_OneofUnmarshaler, _ListDocumentsRequest_OneofSizer, []interface{}{
398		(*ListDocumentsRequest_Transaction)(nil),
399		(*ListDocumentsRequest_ReadTime)(nil),
400	}
401}
402
403func _ListDocumentsRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
404	m := msg.(*ListDocumentsRequest)
405	// consistency_selector
406	switch x := m.ConsistencySelector.(type) {
407	case *ListDocumentsRequest_Transaction:
408		b.EncodeVarint(8<<3 | proto.WireBytes)
409		b.EncodeRawBytes(x.Transaction)
410	case *ListDocumentsRequest_ReadTime:
411		b.EncodeVarint(10<<3 | proto.WireBytes)
412		if err := b.EncodeMessage(x.ReadTime); err != nil {
413			return err
414		}
415	case nil:
416	default:
417		return fmt.Errorf("ListDocumentsRequest.ConsistencySelector has unexpected type %T", x)
418	}
419	return nil
420}
421
422func _ListDocumentsRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
423	m := msg.(*ListDocumentsRequest)
424	switch tag {
425	case 8: // consistency_selector.transaction
426		if wire != proto.WireBytes {
427			return true, proto.ErrInternalBadWireType
428		}
429		x, err := b.DecodeRawBytes(true)
430		m.ConsistencySelector = &ListDocumentsRequest_Transaction{x}
431		return true, err
432	case 10: // consistency_selector.read_time
433		if wire != proto.WireBytes {
434			return true, proto.ErrInternalBadWireType
435		}
436		msg := new(timestamp.Timestamp)
437		err := b.DecodeMessage(msg)
438		m.ConsistencySelector = &ListDocumentsRequest_ReadTime{msg}
439		return true, err
440	default:
441		return false, nil
442	}
443}
444
445func _ListDocumentsRequest_OneofSizer(msg proto.Message) (n int) {
446	m := msg.(*ListDocumentsRequest)
447	// consistency_selector
448	switch x := m.ConsistencySelector.(type) {
449	case *ListDocumentsRequest_Transaction:
450		n += 1 // tag and wire
451		n += proto.SizeVarint(uint64(len(x.Transaction)))
452		n += len(x.Transaction)
453	case *ListDocumentsRequest_ReadTime:
454		s := proto.Size(x.ReadTime)
455		n += 1 // tag and wire
456		n += proto.SizeVarint(uint64(s))
457		n += s
458	case nil:
459	default:
460		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
461	}
462	return n
463}
464
465// The response for [Firestore.ListDocuments][google.firestore.v1beta1.Firestore.ListDocuments].
466type ListDocumentsResponse struct {
467	// The Documents found.
468	Documents []*Document `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"`
469	// The next page token.
470	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
471	XXX_NoUnkeyedLiteral struct{} `json:"-"`
472	XXX_unrecognized     []byte   `json:"-"`
473	XXX_sizecache        int32    `json:"-"`
474}
475
476func (m *ListDocumentsResponse) Reset()         { *m = ListDocumentsResponse{} }
477func (m *ListDocumentsResponse) String() string { return proto.CompactTextString(m) }
478func (*ListDocumentsResponse) ProtoMessage()    {}
479func (*ListDocumentsResponse) Descriptor() ([]byte, []int) {
480	return fileDescriptor_firestore_42af00d8e1a5b915, []int{2}
481}
482func (m *ListDocumentsResponse) XXX_Unmarshal(b []byte) error {
483	return xxx_messageInfo_ListDocumentsResponse.Unmarshal(m, b)
484}
485func (m *ListDocumentsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
486	return xxx_messageInfo_ListDocumentsResponse.Marshal(b, m, deterministic)
487}
488func (dst *ListDocumentsResponse) XXX_Merge(src proto.Message) {
489	xxx_messageInfo_ListDocumentsResponse.Merge(dst, src)
490}
491func (m *ListDocumentsResponse) XXX_Size() int {
492	return xxx_messageInfo_ListDocumentsResponse.Size(m)
493}
494func (m *ListDocumentsResponse) XXX_DiscardUnknown() {
495	xxx_messageInfo_ListDocumentsResponse.DiscardUnknown(m)
496}
497
498var xxx_messageInfo_ListDocumentsResponse proto.InternalMessageInfo
499
500func (m *ListDocumentsResponse) GetDocuments() []*Document {
501	if m != nil {
502		return m.Documents
503	}
504	return nil
505}
506
507func (m *ListDocumentsResponse) GetNextPageToken() string {
508	if m != nil {
509		return m.NextPageToken
510	}
511	return ""
512}
513
514// The request for [Firestore.CreateDocument][google.firestore.v1beta1.Firestore.CreateDocument].
515type CreateDocumentRequest struct {
516	// The parent resource. For example:
517	// `projects/{project_id}/databases/{database_id}/documents` or
518	// `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}`
519	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
520	// The collection ID, relative to `parent`, to list. For example: `chatrooms`.
521	CollectionId string `protobuf:"bytes,2,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"`
522	// The client-assigned document ID to use for this document.
523	//
524	// Optional. If not specified, an ID will be assigned by the service.
525	DocumentId string `protobuf:"bytes,3,opt,name=document_id,json=documentId,proto3" json:"document_id,omitempty"`
526	// The document to create. `name` must not be set.
527	Document *Document `protobuf:"bytes,4,opt,name=document,proto3" json:"document,omitempty"`
528	// The fields to return. If not set, returns all fields.
529	//
530	// If the document has a field that is not present in this mask, that field
531	// will not be returned in the response.
532	Mask                 *DocumentMask `protobuf:"bytes,5,opt,name=mask,proto3" json:"mask,omitempty"`
533	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
534	XXX_unrecognized     []byte        `json:"-"`
535	XXX_sizecache        int32         `json:"-"`
536}
537
538func (m *CreateDocumentRequest) Reset()         { *m = CreateDocumentRequest{} }
539func (m *CreateDocumentRequest) String() string { return proto.CompactTextString(m) }
540func (*CreateDocumentRequest) ProtoMessage()    {}
541func (*CreateDocumentRequest) Descriptor() ([]byte, []int) {
542	return fileDescriptor_firestore_42af00d8e1a5b915, []int{3}
543}
544func (m *CreateDocumentRequest) XXX_Unmarshal(b []byte) error {
545	return xxx_messageInfo_CreateDocumentRequest.Unmarshal(m, b)
546}
547func (m *CreateDocumentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
548	return xxx_messageInfo_CreateDocumentRequest.Marshal(b, m, deterministic)
549}
550func (dst *CreateDocumentRequest) XXX_Merge(src proto.Message) {
551	xxx_messageInfo_CreateDocumentRequest.Merge(dst, src)
552}
553func (m *CreateDocumentRequest) XXX_Size() int {
554	return xxx_messageInfo_CreateDocumentRequest.Size(m)
555}
556func (m *CreateDocumentRequest) XXX_DiscardUnknown() {
557	xxx_messageInfo_CreateDocumentRequest.DiscardUnknown(m)
558}
559
560var xxx_messageInfo_CreateDocumentRequest proto.InternalMessageInfo
561
562func (m *CreateDocumentRequest) GetParent() string {
563	if m != nil {
564		return m.Parent
565	}
566	return ""
567}
568
569func (m *CreateDocumentRequest) GetCollectionId() string {
570	if m != nil {
571		return m.CollectionId
572	}
573	return ""
574}
575
576func (m *CreateDocumentRequest) GetDocumentId() string {
577	if m != nil {
578		return m.DocumentId
579	}
580	return ""
581}
582
583func (m *CreateDocumentRequest) GetDocument() *Document {
584	if m != nil {
585		return m.Document
586	}
587	return nil
588}
589
590func (m *CreateDocumentRequest) GetMask() *DocumentMask {
591	if m != nil {
592		return m.Mask
593	}
594	return nil
595}
596
597// The request for [Firestore.UpdateDocument][google.firestore.v1beta1.Firestore.UpdateDocument].
598type UpdateDocumentRequest struct {
599	// The updated document.
600	// Creates the document if it does not already exist.
601	Document *Document `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"`
602	// The fields to update.
603	// None of the field paths in the mask may contain a reserved name.
604	//
605	// If the document exists on the server and has fields not referenced in the
606	// mask, they are left unchanged.
607	// Fields referenced in the mask, but not present in the input document, are
608	// deleted from the document on the server.
609	UpdateMask *DocumentMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
610	// The fields to return. If not set, returns all fields.
611	//
612	// If the document has a field that is not present in this mask, that field
613	// will not be returned in the response.
614	Mask *DocumentMask `protobuf:"bytes,3,opt,name=mask,proto3" json:"mask,omitempty"`
615	// An optional precondition on the document.
616	// The request will fail if this is set and not met by the target document.
617	CurrentDocument      *Precondition `protobuf:"bytes,4,opt,name=current_document,json=currentDocument,proto3" json:"current_document,omitempty"`
618	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
619	XXX_unrecognized     []byte        `json:"-"`
620	XXX_sizecache        int32         `json:"-"`
621}
622
623func (m *UpdateDocumentRequest) Reset()         { *m = UpdateDocumentRequest{} }
624func (m *UpdateDocumentRequest) String() string { return proto.CompactTextString(m) }
625func (*UpdateDocumentRequest) ProtoMessage()    {}
626func (*UpdateDocumentRequest) Descriptor() ([]byte, []int) {
627	return fileDescriptor_firestore_42af00d8e1a5b915, []int{4}
628}
629func (m *UpdateDocumentRequest) XXX_Unmarshal(b []byte) error {
630	return xxx_messageInfo_UpdateDocumentRequest.Unmarshal(m, b)
631}
632func (m *UpdateDocumentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
633	return xxx_messageInfo_UpdateDocumentRequest.Marshal(b, m, deterministic)
634}
635func (dst *UpdateDocumentRequest) XXX_Merge(src proto.Message) {
636	xxx_messageInfo_UpdateDocumentRequest.Merge(dst, src)
637}
638func (m *UpdateDocumentRequest) XXX_Size() int {
639	return xxx_messageInfo_UpdateDocumentRequest.Size(m)
640}
641func (m *UpdateDocumentRequest) XXX_DiscardUnknown() {
642	xxx_messageInfo_UpdateDocumentRequest.DiscardUnknown(m)
643}
644
645var xxx_messageInfo_UpdateDocumentRequest proto.InternalMessageInfo
646
647func (m *UpdateDocumentRequest) GetDocument() *Document {
648	if m != nil {
649		return m.Document
650	}
651	return nil
652}
653
654func (m *UpdateDocumentRequest) GetUpdateMask() *DocumentMask {
655	if m != nil {
656		return m.UpdateMask
657	}
658	return nil
659}
660
661func (m *UpdateDocumentRequest) GetMask() *DocumentMask {
662	if m != nil {
663		return m.Mask
664	}
665	return nil
666}
667
668func (m *UpdateDocumentRequest) GetCurrentDocument() *Precondition {
669	if m != nil {
670		return m.CurrentDocument
671	}
672	return nil
673}
674
675// The request for [Firestore.DeleteDocument][google.firestore.v1beta1.Firestore.DeleteDocument].
676type DeleteDocumentRequest struct {
677	// The resource name of the Document to delete. In the format:
678	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
679	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
680	// An optional precondition on the document.
681	// The request will fail if this is set and not met by the target document.
682	CurrentDocument      *Precondition `protobuf:"bytes,2,opt,name=current_document,json=currentDocument,proto3" json:"current_document,omitempty"`
683	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
684	XXX_unrecognized     []byte        `json:"-"`
685	XXX_sizecache        int32         `json:"-"`
686}
687
688func (m *DeleteDocumentRequest) Reset()         { *m = DeleteDocumentRequest{} }
689func (m *DeleteDocumentRequest) String() string { return proto.CompactTextString(m) }
690func (*DeleteDocumentRequest) ProtoMessage()    {}
691func (*DeleteDocumentRequest) Descriptor() ([]byte, []int) {
692	return fileDescriptor_firestore_42af00d8e1a5b915, []int{5}
693}
694func (m *DeleteDocumentRequest) XXX_Unmarshal(b []byte) error {
695	return xxx_messageInfo_DeleteDocumentRequest.Unmarshal(m, b)
696}
697func (m *DeleteDocumentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
698	return xxx_messageInfo_DeleteDocumentRequest.Marshal(b, m, deterministic)
699}
700func (dst *DeleteDocumentRequest) XXX_Merge(src proto.Message) {
701	xxx_messageInfo_DeleteDocumentRequest.Merge(dst, src)
702}
703func (m *DeleteDocumentRequest) XXX_Size() int {
704	return xxx_messageInfo_DeleteDocumentRequest.Size(m)
705}
706func (m *DeleteDocumentRequest) XXX_DiscardUnknown() {
707	xxx_messageInfo_DeleteDocumentRequest.DiscardUnknown(m)
708}
709
710var xxx_messageInfo_DeleteDocumentRequest proto.InternalMessageInfo
711
712func (m *DeleteDocumentRequest) GetName() string {
713	if m != nil {
714		return m.Name
715	}
716	return ""
717}
718
719func (m *DeleteDocumentRequest) GetCurrentDocument() *Precondition {
720	if m != nil {
721		return m.CurrentDocument
722	}
723	return nil
724}
725
726// The request for [Firestore.BatchGetDocuments][google.firestore.v1beta1.Firestore.BatchGetDocuments].
727type BatchGetDocumentsRequest struct {
728	// The database name. In the format:
729	// `projects/{project_id}/databases/{database_id}`.
730	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
731	// The names of the documents to retrieve. In the format:
732	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
733	// The request will fail if any of the document is not a child resource of the
734	// given `database`. Duplicate names will be elided.
735	Documents []string `protobuf:"bytes,2,rep,name=documents,proto3" json:"documents,omitempty"`
736	// The fields to return. If not set, returns all fields.
737	//
738	// If a document has a field that is not present in this mask, that field will
739	// not be returned in the response.
740	Mask *DocumentMask `protobuf:"bytes,3,opt,name=mask,proto3" json:"mask,omitempty"`
741	// The consistency mode for this transaction.
742	// If not set, defaults to strong consistency.
743	//
744	// Types that are valid to be assigned to ConsistencySelector:
745	//	*BatchGetDocumentsRequest_Transaction
746	//	*BatchGetDocumentsRequest_NewTransaction
747	//	*BatchGetDocumentsRequest_ReadTime
748	ConsistencySelector  isBatchGetDocumentsRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"`
749	XXX_NoUnkeyedLiteral struct{}                                       `json:"-"`
750	XXX_unrecognized     []byte                                         `json:"-"`
751	XXX_sizecache        int32                                          `json:"-"`
752}
753
754func (m *BatchGetDocumentsRequest) Reset()         { *m = BatchGetDocumentsRequest{} }
755func (m *BatchGetDocumentsRequest) String() string { return proto.CompactTextString(m) }
756func (*BatchGetDocumentsRequest) ProtoMessage()    {}
757func (*BatchGetDocumentsRequest) Descriptor() ([]byte, []int) {
758	return fileDescriptor_firestore_42af00d8e1a5b915, []int{6}
759}
760func (m *BatchGetDocumentsRequest) XXX_Unmarshal(b []byte) error {
761	return xxx_messageInfo_BatchGetDocumentsRequest.Unmarshal(m, b)
762}
763func (m *BatchGetDocumentsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
764	return xxx_messageInfo_BatchGetDocumentsRequest.Marshal(b, m, deterministic)
765}
766func (dst *BatchGetDocumentsRequest) XXX_Merge(src proto.Message) {
767	xxx_messageInfo_BatchGetDocumentsRequest.Merge(dst, src)
768}
769func (m *BatchGetDocumentsRequest) XXX_Size() int {
770	return xxx_messageInfo_BatchGetDocumentsRequest.Size(m)
771}
772func (m *BatchGetDocumentsRequest) XXX_DiscardUnknown() {
773	xxx_messageInfo_BatchGetDocumentsRequest.DiscardUnknown(m)
774}
775
776var xxx_messageInfo_BatchGetDocumentsRequest proto.InternalMessageInfo
777
778type isBatchGetDocumentsRequest_ConsistencySelector interface {
779	isBatchGetDocumentsRequest_ConsistencySelector()
780}
781
782type BatchGetDocumentsRequest_Transaction struct {
783	Transaction []byte `protobuf:"bytes,4,opt,name=transaction,proto3,oneof"`
784}
785type BatchGetDocumentsRequest_NewTransaction struct {
786	NewTransaction *TransactionOptions `protobuf:"bytes,5,opt,name=new_transaction,json=newTransaction,proto3,oneof"`
787}
788type BatchGetDocumentsRequest_ReadTime struct {
789	ReadTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=read_time,json=readTime,proto3,oneof"`
790}
791
792func (*BatchGetDocumentsRequest_Transaction) isBatchGetDocumentsRequest_ConsistencySelector()    {}
793func (*BatchGetDocumentsRequest_NewTransaction) isBatchGetDocumentsRequest_ConsistencySelector() {}
794func (*BatchGetDocumentsRequest_ReadTime) isBatchGetDocumentsRequest_ConsistencySelector()       {}
795
796func (m *BatchGetDocumentsRequest) GetConsistencySelector() isBatchGetDocumentsRequest_ConsistencySelector {
797	if m != nil {
798		return m.ConsistencySelector
799	}
800	return nil
801}
802
803func (m *BatchGetDocumentsRequest) GetDatabase() string {
804	if m != nil {
805		return m.Database
806	}
807	return ""
808}
809
810func (m *BatchGetDocumentsRequest) GetDocuments() []string {
811	if m != nil {
812		return m.Documents
813	}
814	return nil
815}
816
817func (m *BatchGetDocumentsRequest) GetMask() *DocumentMask {
818	if m != nil {
819		return m.Mask
820	}
821	return nil
822}
823
824func (m *BatchGetDocumentsRequest) GetTransaction() []byte {
825	if x, ok := m.GetConsistencySelector().(*BatchGetDocumentsRequest_Transaction); ok {
826		return x.Transaction
827	}
828	return nil
829}
830
831func (m *BatchGetDocumentsRequest) GetNewTransaction() *TransactionOptions {
832	if x, ok := m.GetConsistencySelector().(*BatchGetDocumentsRequest_NewTransaction); ok {
833		return x.NewTransaction
834	}
835	return nil
836}
837
838func (m *BatchGetDocumentsRequest) GetReadTime() *timestamp.Timestamp {
839	if x, ok := m.GetConsistencySelector().(*BatchGetDocumentsRequest_ReadTime); ok {
840		return x.ReadTime
841	}
842	return nil
843}
844
845// XXX_OneofFuncs is for the internal use of the proto package.
846func (*BatchGetDocumentsRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
847	return _BatchGetDocumentsRequest_OneofMarshaler, _BatchGetDocumentsRequest_OneofUnmarshaler, _BatchGetDocumentsRequest_OneofSizer, []interface{}{
848		(*BatchGetDocumentsRequest_Transaction)(nil),
849		(*BatchGetDocumentsRequest_NewTransaction)(nil),
850		(*BatchGetDocumentsRequest_ReadTime)(nil),
851	}
852}
853
854func _BatchGetDocumentsRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
855	m := msg.(*BatchGetDocumentsRequest)
856	// consistency_selector
857	switch x := m.ConsistencySelector.(type) {
858	case *BatchGetDocumentsRequest_Transaction:
859		b.EncodeVarint(4<<3 | proto.WireBytes)
860		b.EncodeRawBytes(x.Transaction)
861	case *BatchGetDocumentsRequest_NewTransaction:
862		b.EncodeVarint(5<<3 | proto.WireBytes)
863		if err := b.EncodeMessage(x.NewTransaction); err != nil {
864			return err
865		}
866	case *BatchGetDocumentsRequest_ReadTime:
867		b.EncodeVarint(7<<3 | proto.WireBytes)
868		if err := b.EncodeMessage(x.ReadTime); err != nil {
869			return err
870		}
871	case nil:
872	default:
873		return fmt.Errorf("BatchGetDocumentsRequest.ConsistencySelector has unexpected type %T", x)
874	}
875	return nil
876}
877
878func _BatchGetDocumentsRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
879	m := msg.(*BatchGetDocumentsRequest)
880	switch tag {
881	case 4: // consistency_selector.transaction
882		if wire != proto.WireBytes {
883			return true, proto.ErrInternalBadWireType
884		}
885		x, err := b.DecodeRawBytes(true)
886		m.ConsistencySelector = &BatchGetDocumentsRequest_Transaction{x}
887		return true, err
888	case 5: // consistency_selector.new_transaction
889		if wire != proto.WireBytes {
890			return true, proto.ErrInternalBadWireType
891		}
892		msg := new(TransactionOptions)
893		err := b.DecodeMessage(msg)
894		m.ConsistencySelector = &BatchGetDocumentsRequest_NewTransaction{msg}
895		return true, err
896	case 7: // consistency_selector.read_time
897		if wire != proto.WireBytes {
898			return true, proto.ErrInternalBadWireType
899		}
900		msg := new(timestamp.Timestamp)
901		err := b.DecodeMessage(msg)
902		m.ConsistencySelector = &BatchGetDocumentsRequest_ReadTime{msg}
903		return true, err
904	default:
905		return false, nil
906	}
907}
908
909func _BatchGetDocumentsRequest_OneofSizer(msg proto.Message) (n int) {
910	m := msg.(*BatchGetDocumentsRequest)
911	// consistency_selector
912	switch x := m.ConsistencySelector.(type) {
913	case *BatchGetDocumentsRequest_Transaction:
914		n += 1 // tag and wire
915		n += proto.SizeVarint(uint64(len(x.Transaction)))
916		n += len(x.Transaction)
917	case *BatchGetDocumentsRequest_NewTransaction:
918		s := proto.Size(x.NewTransaction)
919		n += 1 // tag and wire
920		n += proto.SizeVarint(uint64(s))
921		n += s
922	case *BatchGetDocumentsRequest_ReadTime:
923		s := proto.Size(x.ReadTime)
924		n += 1 // tag and wire
925		n += proto.SizeVarint(uint64(s))
926		n += s
927	case nil:
928	default:
929		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
930	}
931	return n
932}
933
934// The streamed response for [Firestore.BatchGetDocuments][google.firestore.v1beta1.Firestore.BatchGetDocuments].
935type BatchGetDocumentsResponse struct {
936	// A single result.
937	// This can be empty if the server is just returning a transaction.
938	//
939	// Types that are valid to be assigned to Result:
940	//	*BatchGetDocumentsResponse_Found
941	//	*BatchGetDocumentsResponse_Missing
942	Result isBatchGetDocumentsResponse_Result `protobuf_oneof:"result"`
943	// The transaction that was started as part of this request.
944	// Will only be set in the first response, and only if
945	// [BatchGetDocumentsRequest.new_transaction][google.firestore.v1beta1.BatchGetDocumentsRequest.new_transaction] was set in the request.
946	Transaction []byte `protobuf:"bytes,3,opt,name=transaction,proto3" json:"transaction,omitempty"`
947	// The time at which the document was read.
948	// This may be monotically increasing, in this case the previous documents in
949	// the result stream are guaranteed not to have changed between their
950	// read_time and this one.
951	ReadTime             *timestamp.Timestamp `protobuf:"bytes,4,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
952	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
953	XXX_unrecognized     []byte               `json:"-"`
954	XXX_sizecache        int32                `json:"-"`
955}
956
957func (m *BatchGetDocumentsResponse) Reset()         { *m = BatchGetDocumentsResponse{} }
958func (m *BatchGetDocumentsResponse) String() string { return proto.CompactTextString(m) }
959func (*BatchGetDocumentsResponse) ProtoMessage()    {}
960func (*BatchGetDocumentsResponse) Descriptor() ([]byte, []int) {
961	return fileDescriptor_firestore_42af00d8e1a5b915, []int{7}
962}
963func (m *BatchGetDocumentsResponse) XXX_Unmarshal(b []byte) error {
964	return xxx_messageInfo_BatchGetDocumentsResponse.Unmarshal(m, b)
965}
966func (m *BatchGetDocumentsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
967	return xxx_messageInfo_BatchGetDocumentsResponse.Marshal(b, m, deterministic)
968}
969func (dst *BatchGetDocumentsResponse) XXX_Merge(src proto.Message) {
970	xxx_messageInfo_BatchGetDocumentsResponse.Merge(dst, src)
971}
972func (m *BatchGetDocumentsResponse) XXX_Size() int {
973	return xxx_messageInfo_BatchGetDocumentsResponse.Size(m)
974}
975func (m *BatchGetDocumentsResponse) XXX_DiscardUnknown() {
976	xxx_messageInfo_BatchGetDocumentsResponse.DiscardUnknown(m)
977}
978
979var xxx_messageInfo_BatchGetDocumentsResponse proto.InternalMessageInfo
980
981type isBatchGetDocumentsResponse_Result interface {
982	isBatchGetDocumentsResponse_Result()
983}
984
985type BatchGetDocumentsResponse_Found struct {
986	Found *Document `protobuf:"bytes,1,opt,name=found,proto3,oneof"`
987}
988type BatchGetDocumentsResponse_Missing struct {
989	Missing string `protobuf:"bytes,2,opt,name=missing,proto3,oneof"`
990}
991
992func (*BatchGetDocumentsResponse_Found) isBatchGetDocumentsResponse_Result()   {}
993func (*BatchGetDocumentsResponse_Missing) isBatchGetDocumentsResponse_Result() {}
994
995func (m *BatchGetDocumentsResponse) GetResult() isBatchGetDocumentsResponse_Result {
996	if m != nil {
997		return m.Result
998	}
999	return nil
1000}
1001
1002func (m *BatchGetDocumentsResponse) GetFound() *Document {
1003	if x, ok := m.GetResult().(*BatchGetDocumentsResponse_Found); ok {
1004		return x.Found
1005	}
1006	return nil
1007}
1008
1009func (m *BatchGetDocumentsResponse) GetMissing() string {
1010	if x, ok := m.GetResult().(*BatchGetDocumentsResponse_Missing); ok {
1011		return x.Missing
1012	}
1013	return ""
1014}
1015
1016func (m *BatchGetDocumentsResponse) GetTransaction() []byte {
1017	if m != nil {
1018		return m.Transaction
1019	}
1020	return nil
1021}
1022
1023func (m *BatchGetDocumentsResponse) GetReadTime() *timestamp.Timestamp {
1024	if m != nil {
1025		return m.ReadTime
1026	}
1027	return nil
1028}
1029
1030// XXX_OneofFuncs is for the internal use of the proto package.
1031func (*BatchGetDocumentsResponse) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
1032	return _BatchGetDocumentsResponse_OneofMarshaler, _BatchGetDocumentsResponse_OneofUnmarshaler, _BatchGetDocumentsResponse_OneofSizer, []interface{}{
1033		(*BatchGetDocumentsResponse_Found)(nil),
1034		(*BatchGetDocumentsResponse_Missing)(nil),
1035	}
1036}
1037
1038func _BatchGetDocumentsResponse_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
1039	m := msg.(*BatchGetDocumentsResponse)
1040	// result
1041	switch x := m.Result.(type) {
1042	case *BatchGetDocumentsResponse_Found:
1043		b.EncodeVarint(1<<3 | proto.WireBytes)
1044		if err := b.EncodeMessage(x.Found); err != nil {
1045			return err
1046		}
1047	case *BatchGetDocumentsResponse_Missing:
1048		b.EncodeVarint(2<<3 | proto.WireBytes)
1049		b.EncodeStringBytes(x.Missing)
1050	case nil:
1051	default:
1052		return fmt.Errorf("BatchGetDocumentsResponse.Result has unexpected type %T", x)
1053	}
1054	return nil
1055}
1056
1057func _BatchGetDocumentsResponse_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
1058	m := msg.(*BatchGetDocumentsResponse)
1059	switch tag {
1060	case 1: // result.found
1061		if wire != proto.WireBytes {
1062			return true, proto.ErrInternalBadWireType
1063		}
1064		msg := new(Document)
1065		err := b.DecodeMessage(msg)
1066		m.Result = &BatchGetDocumentsResponse_Found{msg}
1067		return true, err
1068	case 2: // result.missing
1069		if wire != proto.WireBytes {
1070			return true, proto.ErrInternalBadWireType
1071		}
1072		x, err := b.DecodeStringBytes()
1073		m.Result = &BatchGetDocumentsResponse_Missing{x}
1074		return true, err
1075	default:
1076		return false, nil
1077	}
1078}
1079
1080func _BatchGetDocumentsResponse_OneofSizer(msg proto.Message) (n int) {
1081	m := msg.(*BatchGetDocumentsResponse)
1082	// result
1083	switch x := m.Result.(type) {
1084	case *BatchGetDocumentsResponse_Found:
1085		s := proto.Size(x.Found)
1086		n += 1 // tag and wire
1087		n += proto.SizeVarint(uint64(s))
1088		n += s
1089	case *BatchGetDocumentsResponse_Missing:
1090		n += 1 // tag and wire
1091		n += proto.SizeVarint(uint64(len(x.Missing)))
1092		n += len(x.Missing)
1093	case nil:
1094	default:
1095		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
1096	}
1097	return n
1098}
1099
1100// The request for [Firestore.BeginTransaction][google.firestore.v1beta1.Firestore.BeginTransaction].
1101type BeginTransactionRequest struct {
1102	// The database name. In the format:
1103	// `projects/{project_id}/databases/{database_id}`.
1104	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
1105	// The options for the transaction.
1106	// Defaults to a read-write transaction.
1107	Options              *TransactionOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
1108	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
1109	XXX_unrecognized     []byte              `json:"-"`
1110	XXX_sizecache        int32               `json:"-"`
1111}
1112
1113func (m *BeginTransactionRequest) Reset()         { *m = BeginTransactionRequest{} }
1114func (m *BeginTransactionRequest) String() string { return proto.CompactTextString(m) }
1115func (*BeginTransactionRequest) ProtoMessage()    {}
1116func (*BeginTransactionRequest) Descriptor() ([]byte, []int) {
1117	return fileDescriptor_firestore_42af00d8e1a5b915, []int{8}
1118}
1119func (m *BeginTransactionRequest) XXX_Unmarshal(b []byte) error {
1120	return xxx_messageInfo_BeginTransactionRequest.Unmarshal(m, b)
1121}
1122func (m *BeginTransactionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1123	return xxx_messageInfo_BeginTransactionRequest.Marshal(b, m, deterministic)
1124}
1125func (dst *BeginTransactionRequest) XXX_Merge(src proto.Message) {
1126	xxx_messageInfo_BeginTransactionRequest.Merge(dst, src)
1127}
1128func (m *BeginTransactionRequest) XXX_Size() int {
1129	return xxx_messageInfo_BeginTransactionRequest.Size(m)
1130}
1131func (m *BeginTransactionRequest) XXX_DiscardUnknown() {
1132	xxx_messageInfo_BeginTransactionRequest.DiscardUnknown(m)
1133}
1134
1135var xxx_messageInfo_BeginTransactionRequest proto.InternalMessageInfo
1136
1137func (m *BeginTransactionRequest) GetDatabase() string {
1138	if m != nil {
1139		return m.Database
1140	}
1141	return ""
1142}
1143
1144func (m *BeginTransactionRequest) GetOptions() *TransactionOptions {
1145	if m != nil {
1146		return m.Options
1147	}
1148	return nil
1149}
1150
1151// The response for [Firestore.BeginTransaction][google.firestore.v1beta1.Firestore.BeginTransaction].
1152type BeginTransactionResponse struct {
1153	// The transaction that was started.
1154	Transaction          []byte   `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"`
1155	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1156	XXX_unrecognized     []byte   `json:"-"`
1157	XXX_sizecache        int32    `json:"-"`
1158}
1159
1160func (m *BeginTransactionResponse) Reset()         { *m = BeginTransactionResponse{} }
1161func (m *BeginTransactionResponse) String() string { return proto.CompactTextString(m) }
1162func (*BeginTransactionResponse) ProtoMessage()    {}
1163func (*BeginTransactionResponse) Descriptor() ([]byte, []int) {
1164	return fileDescriptor_firestore_42af00d8e1a5b915, []int{9}
1165}
1166func (m *BeginTransactionResponse) XXX_Unmarshal(b []byte) error {
1167	return xxx_messageInfo_BeginTransactionResponse.Unmarshal(m, b)
1168}
1169func (m *BeginTransactionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1170	return xxx_messageInfo_BeginTransactionResponse.Marshal(b, m, deterministic)
1171}
1172func (dst *BeginTransactionResponse) XXX_Merge(src proto.Message) {
1173	xxx_messageInfo_BeginTransactionResponse.Merge(dst, src)
1174}
1175func (m *BeginTransactionResponse) XXX_Size() int {
1176	return xxx_messageInfo_BeginTransactionResponse.Size(m)
1177}
1178func (m *BeginTransactionResponse) XXX_DiscardUnknown() {
1179	xxx_messageInfo_BeginTransactionResponse.DiscardUnknown(m)
1180}
1181
1182var xxx_messageInfo_BeginTransactionResponse proto.InternalMessageInfo
1183
1184func (m *BeginTransactionResponse) GetTransaction() []byte {
1185	if m != nil {
1186		return m.Transaction
1187	}
1188	return nil
1189}
1190
1191// The request for [Firestore.Commit][google.firestore.v1beta1.Firestore.Commit].
1192type CommitRequest struct {
1193	// The database name. In the format:
1194	// `projects/{project_id}/databases/{database_id}`.
1195	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
1196	// The writes to apply.
1197	//
1198	// Always executed atomically and in order.
1199	Writes []*Write `protobuf:"bytes,2,rep,name=writes,proto3" json:"writes,omitempty"`
1200	// If set, applies all writes in this transaction, and commits it.
1201	Transaction          []byte   `protobuf:"bytes,3,opt,name=transaction,proto3" json:"transaction,omitempty"`
1202	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1203	XXX_unrecognized     []byte   `json:"-"`
1204	XXX_sizecache        int32    `json:"-"`
1205}
1206
1207func (m *CommitRequest) Reset()         { *m = CommitRequest{} }
1208func (m *CommitRequest) String() string { return proto.CompactTextString(m) }
1209func (*CommitRequest) ProtoMessage()    {}
1210func (*CommitRequest) Descriptor() ([]byte, []int) {
1211	return fileDescriptor_firestore_42af00d8e1a5b915, []int{10}
1212}
1213func (m *CommitRequest) XXX_Unmarshal(b []byte) error {
1214	return xxx_messageInfo_CommitRequest.Unmarshal(m, b)
1215}
1216func (m *CommitRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1217	return xxx_messageInfo_CommitRequest.Marshal(b, m, deterministic)
1218}
1219func (dst *CommitRequest) XXX_Merge(src proto.Message) {
1220	xxx_messageInfo_CommitRequest.Merge(dst, src)
1221}
1222func (m *CommitRequest) XXX_Size() int {
1223	return xxx_messageInfo_CommitRequest.Size(m)
1224}
1225func (m *CommitRequest) XXX_DiscardUnknown() {
1226	xxx_messageInfo_CommitRequest.DiscardUnknown(m)
1227}
1228
1229var xxx_messageInfo_CommitRequest proto.InternalMessageInfo
1230
1231func (m *CommitRequest) GetDatabase() string {
1232	if m != nil {
1233		return m.Database
1234	}
1235	return ""
1236}
1237
1238func (m *CommitRequest) GetWrites() []*Write {
1239	if m != nil {
1240		return m.Writes
1241	}
1242	return nil
1243}
1244
1245func (m *CommitRequest) GetTransaction() []byte {
1246	if m != nil {
1247		return m.Transaction
1248	}
1249	return nil
1250}
1251
1252// The response for [Firestore.Commit][google.firestore.v1beta1.Firestore.Commit].
1253type CommitResponse struct {
1254	// The result of applying the writes.
1255	//
1256	// This i-th write result corresponds to the i-th write in the
1257	// request.
1258	WriteResults []*WriteResult `protobuf:"bytes,1,rep,name=write_results,json=writeResults,proto3" json:"write_results,omitempty"`
1259	// The time at which the commit occurred.
1260	CommitTime           *timestamp.Timestamp `protobuf:"bytes,2,opt,name=commit_time,json=commitTime,proto3" json:"commit_time,omitempty"`
1261	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
1262	XXX_unrecognized     []byte               `json:"-"`
1263	XXX_sizecache        int32                `json:"-"`
1264}
1265
1266func (m *CommitResponse) Reset()         { *m = CommitResponse{} }
1267func (m *CommitResponse) String() string { return proto.CompactTextString(m) }
1268func (*CommitResponse) ProtoMessage()    {}
1269func (*CommitResponse) Descriptor() ([]byte, []int) {
1270	return fileDescriptor_firestore_42af00d8e1a5b915, []int{11}
1271}
1272func (m *CommitResponse) XXX_Unmarshal(b []byte) error {
1273	return xxx_messageInfo_CommitResponse.Unmarshal(m, b)
1274}
1275func (m *CommitResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1276	return xxx_messageInfo_CommitResponse.Marshal(b, m, deterministic)
1277}
1278func (dst *CommitResponse) XXX_Merge(src proto.Message) {
1279	xxx_messageInfo_CommitResponse.Merge(dst, src)
1280}
1281func (m *CommitResponse) XXX_Size() int {
1282	return xxx_messageInfo_CommitResponse.Size(m)
1283}
1284func (m *CommitResponse) XXX_DiscardUnknown() {
1285	xxx_messageInfo_CommitResponse.DiscardUnknown(m)
1286}
1287
1288var xxx_messageInfo_CommitResponse proto.InternalMessageInfo
1289
1290func (m *CommitResponse) GetWriteResults() []*WriteResult {
1291	if m != nil {
1292		return m.WriteResults
1293	}
1294	return nil
1295}
1296
1297func (m *CommitResponse) GetCommitTime() *timestamp.Timestamp {
1298	if m != nil {
1299		return m.CommitTime
1300	}
1301	return nil
1302}
1303
1304// The request for [Firestore.Rollback][google.firestore.v1beta1.Firestore.Rollback].
1305type RollbackRequest struct {
1306	// The database name. In the format:
1307	// `projects/{project_id}/databases/{database_id}`.
1308	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
1309	// The transaction to roll back.
1310	Transaction          []byte   `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"`
1311	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1312	XXX_unrecognized     []byte   `json:"-"`
1313	XXX_sizecache        int32    `json:"-"`
1314}
1315
1316func (m *RollbackRequest) Reset()         { *m = RollbackRequest{} }
1317func (m *RollbackRequest) String() string { return proto.CompactTextString(m) }
1318func (*RollbackRequest) ProtoMessage()    {}
1319func (*RollbackRequest) Descriptor() ([]byte, []int) {
1320	return fileDescriptor_firestore_42af00d8e1a5b915, []int{12}
1321}
1322func (m *RollbackRequest) XXX_Unmarshal(b []byte) error {
1323	return xxx_messageInfo_RollbackRequest.Unmarshal(m, b)
1324}
1325func (m *RollbackRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1326	return xxx_messageInfo_RollbackRequest.Marshal(b, m, deterministic)
1327}
1328func (dst *RollbackRequest) XXX_Merge(src proto.Message) {
1329	xxx_messageInfo_RollbackRequest.Merge(dst, src)
1330}
1331func (m *RollbackRequest) XXX_Size() int {
1332	return xxx_messageInfo_RollbackRequest.Size(m)
1333}
1334func (m *RollbackRequest) XXX_DiscardUnknown() {
1335	xxx_messageInfo_RollbackRequest.DiscardUnknown(m)
1336}
1337
1338var xxx_messageInfo_RollbackRequest proto.InternalMessageInfo
1339
1340func (m *RollbackRequest) GetDatabase() string {
1341	if m != nil {
1342		return m.Database
1343	}
1344	return ""
1345}
1346
1347func (m *RollbackRequest) GetTransaction() []byte {
1348	if m != nil {
1349		return m.Transaction
1350	}
1351	return nil
1352}
1353
1354// The request for [Firestore.RunQuery][google.firestore.v1beta1.Firestore.RunQuery].
1355type RunQueryRequest struct {
1356	// The parent resource name. In the format:
1357	// `projects/{project_id}/databases/{database_id}/documents` or
1358	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
1359	// For example:
1360	// `projects/my-project/databases/my-database/documents` or
1361	// `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
1362	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1363	// The query to run.
1364	//
1365	// Types that are valid to be assigned to QueryType:
1366	//	*RunQueryRequest_StructuredQuery
1367	QueryType isRunQueryRequest_QueryType `protobuf_oneof:"query_type"`
1368	// The consistency mode for this transaction.
1369	// If not set, defaults to strong consistency.
1370	//
1371	// Types that are valid to be assigned to ConsistencySelector:
1372	//	*RunQueryRequest_Transaction
1373	//	*RunQueryRequest_NewTransaction
1374	//	*RunQueryRequest_ReadTime
1375	ConsistencySelector  isRunQueryRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"`
1376	XXX_NoUnkeyedLiteral struct{}                              `json:"-"`
1377	XXX_unrecognized     []byte                                `json:"-"`
1378	XXX_sizecache        int32                                 `json:"-"`
1379}
1380
1381func (m *RunQueryRequest) Reset()         { *m = RunQueryRequest{} }
1382func (m *RunQueryRequest) String() string { return proto.CompactTextString(m) }
1383func (*RunQueryRequest) ProtoMessage()    {}
1384func (*RunQueryRequest) Descriptor() ([]byte, []int) {
1385	return fileDescriptor_firestore_42af00d8e1a5b915, []int{13}
1386}
1387func (m *RunQueryRequest) XXX_Unmarshal(b []byte) error {
1388	return xxx_messageInfo_RunQueryRequest.Unmarshal(m, b)
1389}
1390func (m *RunQueryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1391	return xxx_messageInfo_RunQueryRequest.Marshal(b, m, deterministic)
1392}
1393func (dst *RunQueryRequest) XXX_Merge(src proto.Message) {
1394	xxx_messageInfo_RunQueryRequest.Merge(dst, src)
1395}
1396func (m *RunQueryRequest) XXX_Size() int {
1397	return xxx_messageInfo_RunQueryRequest.Size(m)
1398}
1399func (m *RunQueryRequest) XXX_DiscardUnknown() {
1400	xxx_messageInfo_RunQueryRequest.DiscardUnknown(m)
1401}
1402
1403var xxx_messageInfo_RunQueryRequest proto.InternalMessageInfo
1404
1405type isRunQueryRequest_QueryType interface {
1406	isRunQueryRequest_QueryType()
1407}
1408type isRunQueryRequest_ConsistencySelector interface {
1409	isRunQueryRequest_ConsistencySelector()
1410}
1411
1412type RunQueryRequest_StructuredQuery struct {
1413	StructuredQuery *StructuredQuery `protobuf:"bytes,2,opt,name=structured_query,json=structuredQuery,proto3,oneof"`
1414}
1415type RunQueryRequest_Transaction struct {
1416	Transaction []byte `protobuf:"bytes,5,opt,name=transaction,proto3,oneof"`
1417}
1418type RunQueryRequest_NewTransaction struct {
1419	NewTransaction *TransactionOptions `protobuf:"bytes,6,opt,name=new_transaction,json=newTransaction,proto3,oneof"`
1420}
1421type RunQueryRequest_ReadTime struct {
1422	ReadTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=read_time,json=readTime,proto3,oneof"`
1423}
1424
1425func (*RunQueryRequest_StructuredQuery) isRunQueryRequest_QueryType()          {}
1426func (*RunQueryRequest_Transaction) isRunQueryRequest_ConsistencySelector()    {}
1427func (*RunQueryRequest_NewTransaction) isRunQueryRequest_ConsistencySelector() {}
1428func (*RunQueryRequest_ReadTime) isRunQueryRequest_ConsistencySelector()       {}
1429
1430func (m *RunQueryRequest) GetQueryType() isRunQueryRequest_QueryType {
1431	if m != nil {
1432		return m.QueryType
1433	}
1434	return nil
1435}
1436func (m *RunQueryRequest) GetConsistencySelector() isRunQueryRequest_ConsistencySelector {
1437	if m != nil {
1438		return m.ConsistencySelector
1439	}
1440	return nil
1441}
1442
1443func (m *RunQueryRequest) GetParent() string {
1444	if m != nil {
1445		return m.Parent
1446	}
1447	return ""
1448}
1449
1450func (m *RunQueryRequest) GetStructuredQuery() *StructuredQuery {
1451	if x, ok := m.GetQueryType().(*RunQueryRequest_StructuredQuery); ok {
1452		return x.StructuredQuery
1453	}
1454	return nil
1455}
1456
1457func (m *RunQueryRequest) GetTransaction() []byte {
1458	if x, ok := m.GetConsistencySelector().(*RunQueryRequest_Transaction); ok {
1459		return x.Transaction
1460	}
1461	return nil
1462}
1463
1464func (m *RunQueryRequest) GetNewTransaction() *TransactionOptions {
1465	if x, ok := m.GetConsistencySelector().(*RunQueryRequest_NewTransaction); ok {
1466		return x.NewTransaction
1467	}
1468	return nil
1469}
1470
1471func (m *RunQueryRequest) GetReadTime() *timestamp.Timestamp {
1472	if x, ok := m.GetConsistencySelector().(*RunQueryRequest_ReadTime); ok {
1473		return x.ReadTime
1474	}
1475	return nil
1476}
1477
1478// XXX_OneofFuncs is for the internal use of the proto package.
1479func (*RunQueryRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
1480	return _RunQueryRequest_OneofMarshaler, _RunQueryRequest_OneofUnmarshaler, _RunQueryRequest_OneofSizer, []interface{}{
1481		(*RunQueryRequest_StructuredQuery)(nil),
1482		(*RunQueryRequest_Transaction)(nil),
1483		(*RunQueryRequest_NewTransaction)(nil),
1484		(*RunQueryRequest_ReadTime)(nil),
1485	}
1486}
1487
1488func _RunQueryRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
1489	m := msg.(*RunQueryRequest)
1490	// query_type
1491	switch x := m.QueryType.(type) {
1492	case *RunQueryRequest_StructuredQuery:
1493		b.EncodeVarint(2<<3 | proto.WireBytes)
1494		if err := b.EncodeMessage(x.StructuredQuery); err != nil {
1495			return err
1496		}
1497	case nil:
1498	default:
1499		return fmt.Errorf("RunQueryRequest.QueryType has unexpected type %T", x)
1500	}
1501	// consistency_selector
1502	switch x := m.ConsistencySelector.(type) {
1503	case *RunQueryRequest_Transaction:
1504		b.EncodeVarint(5<<3 | proto.WireBytes)
1505		b.EncodeRawBytes(x.Transaction)
1506	case *RunQueryRequest_NewTransaction:
1507		b.EncodeVarint(6<<3 | proto.WireBytes)
1508		if err := b.EncodeMessage(x.NewTransaction); err != nil {
1509			return err
1510		}
1511	case *RunQueryRequest_ReadTime:
1512		b.EncodeVarint(7<<3 | proto.WireBytes)
1513		if err := b.EncodeMessage(x.ReadTime); err != nil {
1514			return err
1515		}
1516	case nil:
1517	default:
1518		return fmt.Errorf("RunQueryRequest.ConsistencySelector has unexpected type %T", x)
1519	}
1520	return nil
1521}
1522
1523func _RunQueryRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
1524	m := msg.(*RunQueryRequest)
1525	switch tag {
1526	case 2: // query_type.structured_query
1527		if wire != proto.WireBytes {
1528			return true, proto.ErrInternalBadWireType
1529		}
1530		msg := new(StructuredQuery)
1531		err := b.DecodeMessage(msg)
1532		m.QueryType = &RunQueryRequest_StructuredQuery{msg}
1533		return true, err
1534	case 5: // consistency_selector.transaction
1535		if wire != proto.WireBytes {
1536			return true, proto.ErrInternalBadWireType
1537		}
1538		x, err := b.DecodeRawBytes(true)
1539		m.ConsistencySelector = &RunQueryRequest_Transaction{x}
1540		return true, err
1541	case 6: // consistency_selector.new_transaction
1542		if wire != proto.WireBytes {
1543			return true, proto.ErrInternalBadWireType
1544		}
1545		msg := new(TransactionOptions)
1546		err := b.DecodeMessage(msg)
1547		m.ConsistencySelector = &RunQueryRequest_NewTransaction{msg}
1548		return true, err
1549	case 7: // consistency_selector.read_time
1550		if wire != proto.WireBytes {
1551			return true, proto.ErrInternalBadWireType
1552		}
1553		msg := new(timestamp.Timestamp)
1554		err := b.DecodeMessage(msg)
1555		m.ConsistencySelector = &RunQueryRequest_ReadTime{msg}
1556		return true, err
1557	default:
1558		return false, nil
1559	}
1560}
1561
1562func _RunQueryRequest_OneofSizer(msg proto.Message) (n int) {
1563	m := msg.(*RunQueryRequest)
1564	// query_type
1565	switch x := m.QueryType.(type) {
1566	case *RunQueryRequest_StructuredQuery:
1567		s := proto.Size(x.StructuredQuery)
1568		n += 1 // tag and wire
1569		n += proto.SizeVarint(uint64(s))
1570		n += s
1571	case nil:
1572	default:
1573		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
1574	}
1575	// consistency_selector
1576	switch x := m.ConsistencySelector.(type) {
1577	case *RunQueryRequest_Transaction:
1578		n += 1 // tag and wire
1579		n += proto.SizeVarint(uint64(len(x.Transaction)))
1580		n += len(x.Transaction)
1581	case *RunQueryRequest_NewTransaction:
1582		s := proto.Size(x.NewTransaction)
1583		n += 1 // tag and wire
1584		n += proto.SizeVarint(uint64(s))
1585		n += s
1586	case *RunQueryRequest_ReadTime:
1587		s := proto.Size(x.ReadTime)
1588		n += 1 // tag and wire
1589		n += proto.SizeVarint(uint64(s))
1590		n += s
1591	case nil:
1592	default:
1593		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
1594	}
1595	return n
1596}
1597
1598// The response for [Firestore.RunQuery][google.firestore.v1beta1.Firestore.RunQuery].
1599type RunQueryResponse struct {
1600	// The transaction that was started as part of this request.
1601	// Can only be set in the first response, and only if
1602	// [RunQueryRequest.new_transaction][google.firestore.v1beta1.RunQueryRequest.new_transaction] was set in the request.
1603	// If set, no other fields will be set in this response.
1604	Transaction []byte `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"`
1605	// A query result.
1606	// Not set when reporting partial progress.
1607	Document *Document `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"`
1608	// The time at which the document was read. This may be monotonically
1609	// increasing; in this case, the previous documents in the result stream are
1610	// guaranteed not to have changed between their `read_time` and this one.
1611	//
1612	// If the query returns no results, a response with `read_time` and no
1613	// `document` will be sent, and this represents the time at which the query
1614	// was run.
1615	ReadTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
1616	// The number of results that have been skipped due to an offset between
1617	// the last response and the current response.
1618	SkippedResults       int32    `protobuf:"varint,4,opt,name=skipped_results,json=skippedResults,proto3" json:"skipped_results,omitempty"`
1619	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1620	XXX_unrecognized     []byte   `json:"-"`
1621	XXX_sizecache        int32    `json:"-"`
1622}
1623
1624func (m *RunQueryResponse) Reset()         { *m = RunQueryResponse{} }
1625func (m *RunQueryResponse) String() string { return proto.CompactTextString(m) }
1626func (*RunQueryResponse) ProtoMessage()    {}
1627func (*RunQueryResponse) Descriptor() ([]byte, []int) {
1628	return fileDescriptor_firestore_42af00d8e1a5b915, []int{14}
1629}
1630func (m *RunQueryResponse) XXX_Unmarshal(b []byte) error {
1631	return xxx_messageInfo_RunQueryResponse.Unmarshal(m, b)
1632}
1633func (m *RunQueryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1634	return xxx_messageInfo_RunQueryResponse.Marshal(b, m, deterministic)
1635}
1636func (dst *RunQueryResponse) XXX_Merge(src proto.Message) {
1637	xxx_messageInfo_RunQueryResponse.Merge(dst, src)
1638}
1639func (m *RunQueryResponse) XXX_Size() int {
1640	return xxx_messageInfo_RunQueryResponse.Size(m)
1641}
1642func (m *RunQueryResponse) XXX_DiscardUnknown() {
1643	xxx_messageInfo_RunQueryResponse.DiscardUnknown(m)
1644}
1645
1646var xxx_messageInfo_RunQueryResponse proto.InternalMessageInfo
1647
1648func (m *RunQueryResponse) GetTransaction() []byte {
1649	if m != nil {
1650		return m.Transaction
1651	}
1652	return nil
1653}
1654
1655func (m *RunQueryResponse) GetDocument() *Document {
1656	if m != nil {
1657		return m.Document
1658	}
1659	return nil
1660}
1661
1662func (m *RunQueryResponse) GetReadTime() *timestamp.Timestamp {
1663	if m != nil {
1664		return m.ReadTime
1665	}
1666	return nil
1667}
1668
1669func (m *RunQueryResponse) GetSkippedResults() int32 {
1670	if m != nil {
1671		return m.SkippedResults
1672	}
1673	return 0
1674}
1675
1676// The request for [Firestore.Write][google.firestore.v1beta1.Firestore.Write].
1677//
1678// The first request creates a stream, or resumes an existing one from a token.
1679//
1680// When creating a new stream, the server replies with a response containing
1681// only an ID and a token, to use in the next request.
1682//
1683// When resuming a stream, the server first streams any responses later than the
1684// given token, then a response containing only an up-to-date token, to use in
1685// the next request.
1686type WriteRequest struct {
1687	// The database name. In the format:
1688	// `projects/{project_id}/databases/{database_id}`.
1689	// This is only required in the first message.
1690	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
1691	// The ID of the write stream to resume.
1692	// This may only be set in the first message. When left empty, a new write
1693	// stream will be created.
1694	StreamId string `protobuf:"bytes,2,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"`
1695	// The writes to apply.
1696	//
1697	// Always executed atomically and in order.
1698	// This must be empty on the first request.
1699	// This may be empty on the last request.
1700	// This must not be empty on all other requests.
1701	Writes []*Write `protobuf:"bytes,3,rep,name=writes,proto3" json:"writes,omitempty"`
1702	// A stream token that was previously sent by the server.
1703	//
1704	// The client should set this field to the token from the most recent
1705	// [WriteResponse][google.firestore.v1beta1.WriteResponse] it has received. This acknowledges that the client has
1706	// received responses up to this token. After sending this token, earlier
1707	// tokens may not be used anymore.
1708	//
1709	// The server may close the stream if there are too many unacknowledged
1710	// responses.
1711	//
1712	// Leave this field unset when creating a new stream. To resume a stream at
1713	// a specific point, set this field and the `stream_id` field.
1714	//
1715	// Leave this field unset when creating a new stream.
1716	StreamToken []byte `protobuf:"bytes,4,opt,name=stream_token,json=streamToken,proto3" json:"stream_token,omitempty"`
1717	// Labels associated with this write request.
1718	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"`
1719	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
1720	XXX_unrecognized     []byte            `json:"-"`
1721	XXX_sizecache        int32             `json:"-"`
1722}
1723
1724func (m *WriteRequest) Reset()         { *m = WriteRequest{} }
1725func (m *WriteRequest) String() string { return proto.CompactTextString(m) }
1726func (*WriteRequest) ProtoMessage()    {}
1727func (*WriteRequest) Descriptor() ([]byte, []int) {
1728	return fileDescriptor_firestore_42af00d8e1a5b915, []int{15}
1729}
1730func (m *WriteRequest) XXX_Unmarshal(b []byte) error {
1731	return xxx_messageInfo_WriteRequest.Unmarshal(m, b)
1732}
1733func (m *WriteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1734	return xxx_messageInfo_WriteRequest.Marshal(b, m, deterministic)
1735}
1736func (dst *WriteRequest) XXX_Merge(src proto.Message) {
1737	xxx_messageInfo_WriteRequest.Merge(dst, src)
1738}
1739func (m *WriteRequest) XXX_Size() int {
1740	return xxx_messageInfo_WriteRequest.Size(m)
1741}
1742func (m *WriteRequest) XXX_DiscardUnknown() {
1743	xxx_messageInfo_WriteRequest.DiscardUnknown(m)
1744}
1745
1746var xxx_messageInfo_WriteRequest proto.InternalMessageInfo
1747
1748func (m *WriteRequest) GetDatabase() string {
1749	if m != nil {
1750		return m.Database
1751	}
1752	return ""
1753}
1754
1755func (m *WriteRequest) GetStreamId() string {
1756	if m != nil {
1757		return m.StreamId
1758	}
1759	return ""
1760}
1761
1762func (m *WriteRequest) GetWrites() []*Write {
1763	if m != nil {
1764		return m.Writes
1765	}
1766	return nil
1767}
1768
1769func (m *WriteRequest) GetStreamToken() []byte {
1770	if m != nil {
1771		return m.StreamToken
1772	}
1773	return nil
1774}
1775
1776func (m *WriteRequest) GetLabels() map[string]string {
1777	if m != nil {
1778		return m.Labels
1779	}
1780	return nil
1781}
1782
1783// The response for [Firestore.Write][google.firestore.v1beta1.Firestore.Write].
1784type WriteResponse struct {
1785	// The ID of the stream.
1786	// Only set on the first message, when a new stream was created.
1787	StreamId string `protobuf:"bytes,1,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"`
1788	// A token that represents the position of this response in the stream.
1789	// This can be used by a client to resume the stream at this point.
1790	//
1791	// This field is always set.
1792	StreamToken []byte `protobuf:"bytes,2,opt,name=stream_token,json=streamToken,proto3" json:"stream_token,omitempty"`
1793	// The result of applying the writes.
1794	//
1795	// This i-th write result corresponds to the i-th write in the
1796	// request.
1797	WriteResults []*WriteResult `protobuf:"bytes,3,rep,name=write_results,json=writeResults,proto3" json:"write_results,omitempty"`
1798	// The time at which the commit occurred.
1799	CommitTime           *timestamp.Timestamp `protobuf:"bytes,4,opt,name=commit_time,json=commitTime,proto3" json:"commit_time,omitempty"`
1800	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
1801	XXX_unrecognized     []byte               `json:"-"`
1802	XXX_sizecache        int32                `json:"-"`
1803}
1804
1805func (m *WriteResponse) Reset()         { *m = WriteResponse{} }
1806func (m *WriteResponse) String() string { return proto.CompactTextString(m) }
1807func (*WriteResponse) ProtoMessage()    {}
1808func (*WriteResponse) Descriptor() ([]byte, []int) {
1809	return fileDescriptor_firestore_42af00d8e1a5b915, []int{16}
1810}
1811func (m *WriteResponse) XXX_Unmarshal(b []byte) error {
1812	return xxx_messageInfo_WriteResponse.Unmarshal(m, b)
1813}
1814func (m *WriteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1815	return xxx_messageInfo_WriteResponse.Marshal(b, m, deterministic)
1816}
1817func (dst *WriteResponse) XXX_Merge(src proto.Message) {
1818	xxx_messageInfo_WriteResponse.Merge(dst, src)
1819}
1820func (m *WriteResponse) XXX_Size() int {
1821	return xxx_messageInfo_WriteResponse.Size(m)
1822}
1823func (m *WriteResponse) XXX_DiscardUnknown() {
1824	xxx_messageInfo_WriteResponse.DiscardUnknown(m)
1825}
1826
1827var xxx_messageInfo_WriteResponse proto.InternalMessageInfo
1828
1829func (m *WriteResponse) GetStreamId() string {
1830	if m != nil {
1831		return m.StreamId
1832	}
1833	return ""
1834}
1835
1836func (m *WriteResponse) GetStreamToken() []byte {
1837	if m != nil {
1838		return m.StreamToken
1839	}
1840	return nil
1841}
1842
1843func (m *WriteResponse) GetWriteResults() []*WriteResult {
1844	if m != nil {
1845		return m.WriteResults
1846	}
1847	return nil
1848}
1849
1850func (m *WriteResponse) GetCommitTime() *timestamp.Timestamp {
1851	if m != nil {
1852		return m.CommitTime
1853	}
1854	return nil
1855}
1856
1857// A request for [Firestore.Listen][google.firestore.v1beta1.Firestore.Listen]
1858type ListenRequest struct {
1859	// The database name. In the format:
1860	// `projects/{project_id}/databases/{database_id}`.
1861	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
1862	// The supported target changes.
1863	//
1864	// Types that are valid to be assigned to TargetChange:
1865	//	*ListenRequest_AddTarget
1866	//	*ListenRequest_RemoveTarget
1867	TargetChange isListenRequest_TargetChange `protobuf_oneof:"target_change"`
1868	// Labels associated with this target change.
1869	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"`
1870	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
1871	XXX_unrecognized     []byte            `json:"-"`
1872	XXX_sizecache        int32             `json:"-"`
1873}
1874
1875func (m *ListenRequest) Reset()         { *m = ListenRequest{} }
1876func (m *ListenRequest) String() string { return proto.CompactTextString(m) }
1877func (*ListenRequest) ProtoMessage()    {}
1878func (*ListenRequest) Descriptor() ([]byte, []int) {
1879	return fileDescriptor_firestore_42af00d8e1a5b915, []int{17}
1880}
1881func (m *ListenRequest) XXX_Unmarshal(b []byte) error {
1882	return xxx_messageInfo_ListenRequest.Unmarshal(m, b)
1883}
1884func (m *ListenRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1885	return xxx_messageInfo_ListenRequest.Marshal(b, m, deterministic)
1886}
1887func (dst *ListenRequest) XXX_Merge(src proto.Message) {
1888	xxx_messageInfo_ListenRequest.Merge(dst, src)
1889}
1890func (m *ListenRequest) XXX_Size() int {
1891	return xxx_messageInfo_ListenRequest.Size(m)
1892}
1893func (m *ListenRequest) XXX_DiscardUnknown() {
1894	xxx_messageInfo_ListenRequest.DiscardUnknown(m)
1895}
1896
1897var xxx_messageInfo_ListenRequest proto.InternalMessageInfo
1898
1899type isListenRequest_TargetChange interface {
1900	isListenRequest_TargetChange()
1901}
1902
1903type ListenRequest_AddTarget struct {
1904	AddTarget *Target `protobuf:"bytes,2,opt,name=add_target,json=addTarget,proto3,oneof"`
1905}
1906type ListenRequest_RemoveTarget struct {
1907	RemoveTarget int32 `protobuf:"varint,3,opt,name=remove_target,json=removeTarget,proto3,oneof"`
1908}
1909
1910func (*ListenRequest_AddTarget) isListenRequest_TargetChange()    {}
1911func (*ListenRequest_RemoveTarget) isListenRequest_TargetChange() {}
1912
1913func (m *ListenRequest) GetTargetChange() isListenRequest_TargetChange {
1914	if m != nil {
1915		return m.TargetChange
1916	}
1917	return nil
1918}
1919
1920func (m *ListenRequest) GetDatabase() string {
1921	if m != nil {
1922		return m.Database
1923	}
1924	return ""
1925}
1926
1927func (m *ListenRequest) GetAddTarget() *Target {
1928	if x, ok := m.GetTargetChange().(*ListenRequest_AddTarget); ok {
1929		return x.AddTarget
1930	}
1931	return nil
1932}
1933
1934func (m *ListenRequest) GetRemoveTarget() int32 {
1935	if x, ok := m.GetTargetChange().(*ListenRequest_RemoveTarget); ok {
1936		return x.RemoveTarget
1937	}
1938	return 0
1939}
1940
1941func (m *ListenRequest) GetLabels() map[string]string {
1942	if m != nil {
1943		return m.Labels
1944	}
1945	return nil
1946}
1947
1948// XXX_OneofFuncs is for the internal use of the proto package.
1949func (*ListenRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
1950	return _ListenRequest_OneofMarshaler, _ListenRequest_OneofUnmarshaler, _ListenRequest_OneofSizer, []interface{}{
1951		(*ListenRequest_AddTarget)(nil),
1952		(*ListenRequest_RemoveTarget)(nil),
1953	}
1954}
1955
1956func _ListenRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
1957	m := msg.(*ListenRequest)
1958	// target_change
1959	switch x := m.TargetChange.(type) {
1960	case *ListenRequest_AddTarget:
1961		b.EncodeVarint(2<<3 | proto.WireBytes)
1962		if err := b.EncodeMessage(x.AddTarget); err != nil {
1963			return err
1964		}
1965	case *ListenRequest_RemoveTarget:
1966		b.EncodeVarint(3<<3 | proto.WireVarint)
1967		b.EncodeVarint(uint64(x.RemoveTarget))
1968	case nil:
1969	default:
1970		return fmt.Errorf("ListenRequest.TargetChange has unexpected type %T", x)
1971	}
1972	return nil
1973}
1974
1975func _ListenRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
1976	m := msg.(*ListenRequest)
1977	switch tag {
1978	case 2: // target_change.add_target
1979		if wire != proto.WireBytes {
1980			return true, proto.ErrInternalBadWireType
1981		}
1982		msg := new(Target)
1983		err := b.DecodeMessage(msg)
1984		m.TargetChange = &ListenRequest_AddTarget{msg}
1985		return true, err
1986	case 3: // target_change.remove_target
1987		if wire != proto.WireVarint {
1988			return true, proto.ErrInternalBadWireType
1989		}
1990		x, err := b.DecodeVarint()
1991		m.TargetChange = &ListenRequest_RemoveTarget{int32(x)}
1992		return true, err
1993	default:
1994		return false, nil
1995	}
1996}
1997
1998func _ListenRequest_OneofSizer(msg proto.Message) (n int) {
1999	m := msg.(*ListenRequest)
2000	// target_change
2001	switch x := m.TargetChange.(type) {
2002	case *ListenRequest_AddTarget:
2003		s := proto.Size(x.AddTarget)
2004		n += 1 // tag and wire
2005		n += proto.SizeVarint(uint64(s))
2006		n += s
2007	case *ListenRequest_RemoveTarget:
2008		n += 1 // tag and wire
2009		n += proto.SizeVarint(uint64(x.RemoveTarget))
2010	case nil:
2011	default:
2012		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
2013	}
2014	return n
2015}
2016
2017// The response for [Firestore.Listen][google.firestore.v1beta1.Firestore.Listen].
2018type ListenResponse struct {
2019	// The supported responses.
2020	//
2021	// Types that are valid to be assigned to ResponseType:
2022	//	*ListenResponse_TargetChange
2023	//	*ListenResponse_DocumentChange
2024	//	*ListenResponse_DocumentDelete
2025	//	*ListenResponse_DocumentRemove
2026	//	*ListenResponse_Filter
2027	ResponseType         isListenResponse_ResponseType `protobuf_oneof:"response_type"`
2028	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
2029	XXX_unrecognized     []byte                        `json:"-"`
2030	XXX_sizecache        int32                         `json:"-"`
2031}
2032
2033func (m *ListenResponse) Reset()         { *m = ListenResponse{} }
2034func (m *ListenResponse) String() string { return proto.CompactTextString(m) }
2035func (*ListenResponse) ProtoMessage()    {}
2036func (*ListenResponse) Descriptor() ([]byte, []int) {
2037	return fileDescriptor_firestore_42af00d8e1a5b915, []int{18}
2038}
2039func (m *ListenResponse) XXX_Unmarshal(b []byte) error {
2040	return xxx_messageInfo_ListenResponse.Unmarshal(m, b)
2041}
2042func (m *ListenResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2043	return xxx_messageInfo_ListenResponse.Marshal(b, m, deterministic)
2044}
2045func (dst *ListenResponse) XXX_Merge(src proto.Message) {
2046	xxx_messageInfo_ListenResponse.Merge(dst, src)
2047}
2048func (m *ListenResponse) XXX_Size() int {
2049	return xxx_messageInfo_ListenResponse.Size(m)
2050}
2051func (m *ListenResponse) XXX_DiscardUnknown() {
2052	xxx_messageInfo_ListenResponse.DiscardUnknown(m)
2053}
2054
2055var xxx_messageInfo_ListenResponse proto.InternalMessageInfo
2056
2057type isListenResponse_ResponseType interface {
2058	isListenResponse_ResponseType()
2059}
2060
2061type ListenResponse_TargetChange struct {
2062	TargetChange *TargetChange `protobuf:"bytes,2,opt,name=target_change,json=targetChange,proto3,oneof"`
2063}
2064type ListenResponse_DocumentChange struct {
2065	DocumentChange *DocumentChange `protobuf:"bytes,3,opt,name=document_change,json=documentChange,proto3,oneof"`
2066}
2067type ListenResponse_DocumentDelete struct {
2068	DocumentDelete *DocumentDelete `protobuf:"bytes,4,opt,name=document_delete,json=documentDelete,proto3,oneof"`
2069}
2070type ListenResponse_DocumentRemove struct {
2071	DocumentRemove *DocumentRemove `protobuf:"bytes,6,opt,name=document_remove,json=documentRemove,proto3,oneof"`
2072}
2073type ListenResponse_Filter struct {
2074	Filter *ExistenceFilter `protobuf:"bytes,5,opt,name=filter,proto3,oneof"`
2075}
2076
2077func (*ListenResponse_TargetChange) isListenResponse_ResponseType()   {}
2078func (*ListenResponse_DocumentChange) isListenResponse_ResponseType() {}
2079func (*ListenResponse_DocumentDelete) isListenResponse_ResponseType() {}
2080func (*ListenResponse_DocumentRemove) isListenResponse_ResponseType() {}
2081func (*ListenResponse_Filter) isListenResponse_ResponseType()         {}
2082
2083func (m *ListenResponse) GetResponseType() isListenResponse_ResponseType {
2084	if m != nil {
2085		return m.ResponseType
2086	}
2087	return nil
2088}
2089
2090func (m *ListenResponse) GetTargetChange() *TargetChange {
2091	if x, ok := m.GetResponseType().(*ListenResponse_TargetChange); ok {
2092		return x.TargetChange
2093	}
2094	return nil
2095}
2096
2097func (m *ListenResponse) GetDocumentChange() *DocumentChange {
2098	if x, ok := m.GetResponseType().(*ListenResponse_DocumentChange); ok {
2099		return x.DocumentChange
2100	}
2101	return nil
2102}
2103
2104func (m *ListenResponse) GetDocumentDelete() *DocumentDelete {
2105	if x, ok := m.GetResponseType().(*ListenResponse_DocumentDelete); ok {
2106		return x.DocumentDelete
2107	}
2108	return nil
2109}
2110
2111func (m *ListenResponse) GetDocumentRemove() *DocumentRemove {
2112	if x, ok := m.GetResponseType().(*ListenResponse_DocumentRemove); ok {
2113		return x.DocumentRemove
2114	}
2115	return nil
2116}
2117
2118func (m *ListenResponse) GetFilter() *ExistenceFilter {
2119	if x, ok := m.GetResponseType().(*ListenResponse_Filter); ok {
2120		return x.Filter
2121	}
2122	return nil
2123}
2124
2125// XXX_OneofFuncs is for the internal use of the proto package.
2126func (*ListenResponse) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
2127	return _ListenResponse_OneofMarshaler, _ListenResponse_OneofUnmarshaler, _ListenResponse_OneofSizer, []interface{}{
2128		(*ListenResponse_TargetChange)(nil),
2129		(*ListenResponse_DocumentChange)(nil),
2130		(*ListenResponse_DocumentDelete)(nil),
2131		(*ListenResponse_DocumentRemove)(nil),
2132		(*ListenResponse_Filter)(nil),
2133	}
2134}
2135
2136func _ListenResponse_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
2137	m := msg.(*ListenResponse)
2138	// response_type
2139	switch x := m.ResponseType.(type) {
2140	case *ListenResponse_TargetChange:
2141		b.EncodeVarint(2<<3 | proto.WireBytes)
2142		if err := b.EncodeMessage(x.TargetChange); err != nil {
2143			return err
2144		}
2145	case *ListenResponse_DocumentChange:
2146		b.EncodeVarint(3<<3 | proto.WireBytes)
2147		if err := b.EncodeMessage(x.DocumentChange); err != nil {
2148			return err
2149		}
2150	case *ListenResponse_DocumentDelete:
2151		b.EncodeVarint(4<<3 | proto.WireBytes)
2152		if err := b.EncodeMessage(x.DocumentDelete); err != nil {
2153			return err
2154		}
2155	case *ListenResponse_DocumentRemove:
2156		b.EncodeVarint(6<<3 | proto.WireBytes)
2157		if err := b.EncodeMessage(x.DocumentRemove); err != nil {
2158			return err
2159		}
2160	case *ListenResponse_Filter:
2161		b.EncodeVarint(5<<3 | proto.WireBytes)
2162		if err := b.EncodeMessage(x.Filter); err != nil {
2163			return err
2164		}
2165	case nil:
2166	default:
2167		return fmt.Errorf("ListenResponse.ResponseType has unexpected type %T", x)
2168	}
2169	return nil
2170}
2171
2172func _ListenResponse_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
2173	m := msg.(*ListenResponse)
2174	switch tag {
2175	case 2: // response_type.target_change
2176		if wire != proto.WireBytes {
2177			return true, proto.ErrInternalBadWireType
2178		}
2179		msg := new(TargetChange)
2180		err := b.DecodeMessage(msg)
2181		m.ResponseType = &ListenResponse_TargetChange{msg}
2182		return true, err
2183	case 3: // response_type.document_change
2184		if wire != proto.WireBytes {
2185			return true, proto.ErrInternalBadWireType
2186		}
2187		msg := new(DocumentChange)
2188		err := b.DecodeMessage(msg)
2189		m.ResponseType = &ListenResponse_DocumentChange{msg}
2190		return true, err
2191	case 4: // response_type.document_delete
2192		if wire != proto.WireBytes {
2193			return true, proto.ErrInternalBadWireType
2194		}
2195		msg := new(DocumentDelete)
2196		err := b.DecodeMessage(msg)
2197		m.ResponseType = &ListenResponse_DocumentDelete{msg}
2198		return true, err
2199	case 6: // response_type.document_remove
2200		if wire != proto.WireBytes {
2201			return true, proto.ErrInternalBadWireType
2202		}
2203		msg := new(DocumentRemove)
2204		err := b.DecodeMessage(msg)
2205		m.ResponseType = &ListenResponse_DocumentRemove{msg}
2206		return true, err
2207	case 5: // response_type.filter
2208		if wire != proto.WireBytes {
2209			return true, proto.ErrInternalBadWireType
2210		}
2211		msg := new(ExistenceFilter)
2212		err := b.DecodeMessage(msg)
2213		m.ResponseType = &ListenResponse_Filter{msg}
2214		return true, err
2215	default:
2216		return false, nil
2217	}
2218}
2219
2220func _ListenResponse_OneofSizer(msg proto.Message) (n int) {
2221	m := msg.(*ListenResponse)
2222	// response_type
2223	switch x := m.ResponseType.(type) {
2224	case *ListenResponse_TargetChange:
2225		s := proto.Size(x.TargetChange)
2226		n += 1 // tag and wire
2227		n += proto.SizeVarint(uint64(s))
2228		n += s
2229	case *ListenResponse_DocumentChange:
2230		s := proto.Size(x.DocumentChange)
2231		n += 1 // tag and wire
2232		n += proto.SizeVarint(uint64(s))
2233		n += s
2234	case *ListenResponse_DocumentDelete:
2235		s := proto.Size(x.DocumentDelete)
2236		n += 1 // tag and wire
2237		n += proto.SizeVarint(uint64(s))
2238		n += s
2239	case *ListenResponse_DocumentRemove:
2240		s := proto.Size(x.DocumentRemove)
2241		n += 1 // tag and wire
2242		n += proto.SizeVarint(uint64(s))
2243		n += s
2244	case *ListenResponse_Filter:
2245		s := proto.Size(x.Filter)
2246		n += 1 // tag and wire
2247		n += proto.SizeVarint(uint64(s))
2248		n += s
2249	case nil:
2250	default:
2251		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
2252	}
2253	return n
2254}
2255
2256// A specification of a set of documents to listen to.
2257type Target struct {
2258	// The type of target to listen to.
2259	//
2260	// Types that are valid to be assigned to TargetType:
2261	//	*Target_Query
2262	//	*Target_Documents
2263	TargetType isTarget_TargetType `protobuf_oneof:"target_type"`
2264	// When to start listening.
2265	//
2266	// If not specified, all matching Documents are returned before any
2267	// subsequent changes.
2268	//
2269	// Types that are valid to be assigned to ResumeType:
2270	//	*Target_ResumeToken
2271	//	*Target_ReadTime
2272	ResumeType isTarget_ResumeType `protobuf_oneof:"resume_type"`
2273	// A client provided target ID.
2274	//
2275	// If not set, the server will assign an ID for the target.
2276	//
2277	// Used for resuming a target without changing IDs. The IDs can either be
2278	// client-assigned or be server-assigned in a previous stream. All targets
2279	// with client provided IDs must be added before adding a target that needs
2280	// a server-assigned id.
2281	TargetId int32 `protobuf:"varint,5,opt,name=target_id,json=targetId,proto3" json:"target_id,omitempty"`
2282	// If the target should be removed once it is current and consistent.
2283	Once                 bool     `protobuf:"varint,6,opt,name=once,proto3" json:"once,omitempty"`
2284	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2285	XXX_unrecognized     []byte   `json:"-"`
2286	XXX_sizecache        int32    `json:"-"`
2287}
2288
2289func (m *Target) Reset()         { *m = Target{} }
2290func (m *Target) String() string { return proto.CompactTextString(m) }
2291func (*Target) ProtoMessage()    {}
2292func (*Target) Descriptor() ([]byte, []int) {
2293	return fileDescriptor_firestore_42af00d8e1a5b915, []int{19}
2294}
2295func (m *Target) XXX_Unmarshal(b []byte) error {
2296	return xxx_messageInfo_Target.Unmarshal(m, b)
2297}
2298func (m *Target) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2299	return xxx_messageInfo_Target.Marshal(b, m, deterministic)
2300}
2301func (dst *Target) XXX_Merge(src proto.Message) {
2302	xxx_messageInfo_Target.Merge(dst, src)
2303}
2304func (m *Target) XXX_Size() int {
2305	return xxx_messageInfo_Target.Size(m)
2306}
2307func (m *Target) XXX_DiscardUnknown() {
2308	xxx_messageInfo_Target.DiscardUnknown(m)
2309}
2310
2311var xxx_messageInfo_Target proto.InternalMessageInfo
2312
2313type isTarget_TargetType interface {
2314	isTarget_TargetType()
2315}
2316type isTarget_ResumeType interface {
2317	isTarget_ResumeType()
2318}
2319
2320type Target_Query struct {
2321	Query *Target_QueryTarget `protobuf:"bytes,2,opt,name=query,proto3,oneof"`
2322}
2323type Target_Documents struct {
2324	Documents *Target_DocumentsTarget `protobuf:"bytes,3,opt,name=documents,proto3,oneof"`
2325}
2326type Target_ResumeToken struct {
2327	ResumeToken []byte `protobuf:"bytes,4,opt,name=resume_token,json=resumeToken,proto3,oneof"`
2328}
2329type Target_ReadTime struct {
2330	ReadTime *timestamp.Timestamp `protobuf:"bytes,11,opt,name=read_time,json=readTime,proto3,oneof"`
2331}
2332
2333func (*Target_Query) isTarget_TargetType()       {}
2334func (*Target_Documents) isTarget_TargetType()   {}
2335func (*Target_ResumeToken) isTarget_ResumeType() {}
2336func (*Target_ReadTime) isTarget_ResumeType()    {}
2337
2338func (m *Target) GetTargetType() isTarget_TargetType {
2339	if m != nil {
2340		return m.TargetType
2341	}
2342	return nil
2343}
2344func (m *Target) GetResumeType() isTarget_ResumeType {
2345	if m != nil {
2346		return m.ResumeType
2347	}
2348	return nil
2349}
2350
2351func (m *Target) GetQuery() *Target_QueryTarget {
2352	if x, ok := m.GetTargetType().(*Target_Query); ok {
2353		return x.Query
2354	}
2355	return nil
2356}
2357
2358func (m *Target) GetDocuments() *Target_DocumentsTarget {
2359	if x, ok := m.GetTargetType().(*Target_Documents); ok {
2360		return x.Documents
2361	}
2362	return nil
2363}
2364
2365func (m *Target) GetResumeToken() []byte {
2366	if x, ok := m.GetResumeType().(*Target_ResumeToken); ok {
2367		return x.ResumeToken
2368	}
2369	return nil
2370}
2371
2372func (m *Target) GetReadTime() *timestamp.Timestamp {
2373	if x, ok := m.GetResumeType().(*Target_ReadTime); ok {
2374		return x.ReadTime
2375	}
2376	return nil
2377}
2378
2379func (m *Target) GetTargetId() int32 {
2380	if m != nil {
2381		return m.TargetId
2382	}
2383	return 0
2384}
2385
2386func (m *Target) GetOnce() bool {
2387	if m != nil {
2388		return m.Once
2389	}
2390	return false
2391}
2392
2393// XXX_OneofFuncs is for the internal use of the proto package.
2394func (*Target) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
2395	return _Target_OneofMarshaler, _Target_OneofUnmarshaler, _Target_OneofSizer, []interface{}{
2396		(*Target_Query)(nil),
2397		(*Target_Documents)(nil),
2398		(*Target_ResumeToken)(nil),
2399		(*Target_ReadTime)(nil),
2400	}
2401}
2402
2403func _Target_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
2404	m := msg.(*Target)
2405	// target_type
2406	switch x := m.TargetType.(type) {
2407	case *Target_Query:
2408		b.EncodeVarint(2<<3 | proto.WireBytes)
2409		if err := b.EncodeMessage(x.Query); err != nil {
2410			return err
2411		}
2412	case *Target_Documents:
2413		b.EncodeVarint(3<<3 | proto.WireBytes)
2414		if err := b.EncodeMessage(x.Documents); err != nil {
2415			return err
2416		}
2417	case nil:
2418	default:
2419		return fmt.Errorf("Target.TargetType has unexpected type %T", x)
2420	}
2421	// resume_type
2422	switch x := m.ResumeType.(type) {
2423	case *Target_ResumeToken:
2424		b.EncodeVarint(4<<3 | proto.WireBytes)
2425		b.EncodeRawBytes(x.ResumeToken)
2426	case *Target_ReadTime:
2427		b.EncodeVarint(11<<3 | proto.WireBytes)
2428		if err := b.EncodeMessage(x.ReadTime); err != nil {
2429			return err
2430		}
2431	case nil:
2432	default:
2433		return fmt.Errorf("Target.ResumeType has unexpected type %T", x)
2434	}
2435	return nil
2436}
2437
2438func _Target_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
2439	m := msg.(*Target)
2440	switch tag {
2441	case 2: // target_type.query
2442		if wire != proto.WireBytes {
2443			return true, proto.ErrInternalBadWireType
2444		}
2445		msg := new(Target_QueryTarget)
2446		err := b.DecodeMessage(msg)
2447		m.TargetType = &Target_Query{msg}
2448		return true, err
2449	case 3: // target_type.documents
2450		if wire != proto.WireBytes {
2451			return true, proto.ErrInternalBadWireType
2452		}
2453		msg := new(Target_DocumentsTarget)
2454		err := b.DecodeMessage(msg)
2455		m.TargetType = &Target_Documents{msg}
2456		return true, err
2457	case 4: // resume_type.resume_token
2458		if wire != proto.WireBytes {
2459			return true, proto.ErrInternalBadWireType
2460		}
2461		x, err := b.DecodeRawBytes(true)
2462		m.ResumeType = &Target_ResumeToken{x}
2463		return true, err
2464	case 11: // resume_type.read_time
2465		if wire != proto.WireBytes {
2466			return true, proto.ErrInternalBadWireType
2467		}
2468		msg := new(timestamp.Timestamp)
2469		err := b.DecodeMessage(msg)
2470		m.ResumeType = &Target_ReadTime{msg}
2471		return true, err
2472	default:
2473		return false, nil
2474	}
2475}
2476
2477func _Target_OneofSizer(msg proto.Message) (n int) {
2478	m := msg.(*Target)
2479	// target_type
2480	switch x := m.TargetType.(type) {
2481	case *Target_Query:
2482		s := proto.Size(x.Query)
2483		n += 1 // tag and wire
2484		n += proto.SizeVarint(uint64(s))
2485		n += s
2486	case *Target_Documents:
2487		s := proto.Size(x.Documents)
2488		n += 1 // tag and wire
2489		n += proto.SizeVarint(uint64(s))
2490		n += s
2491	case nil:
2492	default:
2493		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
2494	}
2495	// resume_type
2496	switch x := m.ResumeType.(type) {
2497	case *Target_ResumeToken:
2498		n += 1 // tag and wire
2499		n += proto.SizeVarint(uint64(len(x.ResumeToken)))
2500		n += len(x.ResumeToken)
2501	case *Target_ReadTime:
2502		s := proto.Size(x.ReadTime)
2503		n += 1 // tag and wire
2504		n += proto.SizeVarint(uint64(s))
2505		n += s
2506	case nil:
2507	default:
2508		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
2509	}
2510	return n
2511}
2512
2513// A target specified by a set of documents names.
2514type Target_DocumentsTarget struct {
2515	// The names of the documents to retrieve. In the format:
2516	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
2517	// The request will fail if any of the document is not a child resource of
2518	// the given `database`. Duplicate names will be elided.
2519	Documents            []string `protobuf:"bytes,2,rep,name=documents,proto3" json:"documents,omitempty"`
2520	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2521	XXX_unrecognized     []byte   `json:"-"`
2522	XXX_sizecache        int32    `json:"-"`
2523}
2524
2525func (m *Target_DocumentsTarget) Reset()         { *m = Target_DocumentsTarget{} }
2526func (m *Target_DocumentsTarget) String() string { return proto.CompactTextString(m) }
2527func (*Target_DocumentsTarget) ProtoMessage()    {}
2528func (*Target_DocumentsTarget) Descriptor() ([]byte, []int) {
2529	return fileDescriptor_firestore_42af00d8e1a5b915, []int{19, 0}
2530}
2531func (m *Target_DocumentsTarget) XXX_Unmarshal(b []byte) error {
2532	return xxx_messageInfo_Target_DocumentsTarget.Unmarshal(m, b)
2533}
2534func (m *Target_DocumentsTarget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2535	return xxx_messageInfo_Target_DocumentsTarget.Marshal(b, m, deterministic)
2536}
2537func (dst *Target_DocumentsTarget) XXX_Merge(src proto.Message) {
2538	xxx_messageInfo_Target_DocumentsTarget.Merge(dst, src)
2539}
2540func (m *Target_DocumentsTarget) XXX_Size() int {
2541	return xxx_messageInfo_Target_DocumentsTarget.Size(m)
2542}
2543func (m *Target_DocumentsTarget) XXX_DiscardUnknown() {
2544	xxx_messageInfo_Target_DocumentsTarget.DiscardUnknown(m)
2545}
2546
2547var xxx_messageInfo_Target_DocumentsTarget proto.InternalMessageInfo
2548
2549func (m *Target_DocumentsTarget) GetDocuments() []string {
2550	if m != nil {
2551		return m.Documents
2552	}
2553	return nil
2554}
2555
2556// A target specified by a query.
2557type Target_QueryTarget struct {
2558	// The parent resource name. In the format:
2559	// `projects/{project_id}/databases/{database_id}/documents` or
2560	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
2561	// For example:
2562	// `projects/my-project/databases/my-database/documents` or
2563	// `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
2564	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2565	// The query to run.
2566	//
2567	// Types that are valid to be assigned to QueryType:
2568	//	*Target_QueryTarget_StructuredQuery
2569	QueryType            isTarget_QueryTarget_QueryType `protobuf_oneof:"query_type"`
2570	XXX_NoUnkeyedLiteral struct{}                       `json:"-"`
2571	XXX_unrecognized     []byte                         `json:"-"`
2572	XXX_sizecache        int32                          `json:"-"`
2573}
2574
2575func (m *Target_QueryTarget) Reset()         { *m = Target_QueryTarget{} }
2576func (m *Target_QueryTarget) String() string { return proto.CompactTextString(m) }
2577func (*Target_QueryTarget) ProtoMessage()    {}
2578func (*Target_QueryTarget) Descriptor() ([]byte, []int) {
2579	return fileDescriptor_firestore_42af00d8e1a5b915, []int{19, 1}
2580}
2581func (m *Target_QueryTarget) XXX_Unmarshal(b []byte) error {
2582	return xxx_messageInfo_Target_QueryTarget.Unmarshal(m, b)
2583}
2584func (m *Target_QueryTarget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2585	return xxx_messageInfo_Target_QueryTarget.Marshal(b, m, deterministic)
2586}
2587func (dst *Target_QueryTarget) XXX_Merge(src proto.Message) {
2588	xxx_messageInfo_Target_QueryTarget.Merge(dst, src)
2589}
2590func (m *Target_QueryTarget) XXX_Size() int {
2591	return xxx_messageInfo_Target_QueryTarget.Size(m)
2592}
2593func (m *Target_QueryTarget) XXX_DiscardUnknown() {
2594	xxx_messageInfo_Target_QueryTarget.DiscardUnknown(m)
2595}
2596
2597var xxx_messageInfo_Target_QueryTarget proto.InternalMessageInfo
2598
2599type isTarget_QueryTarget_QueryType interface {
2600	isTarget_QueryTarget_QueryType()
2601}
2602
2603type Target_QueryTarget_StructuredQuery struct {
2604	StructuredQuery *StructuredQuery `protobuf:"bytes,2,opt,name=structured_query,json=structuredQuery,proto3,oneof"`
2605}
2606
2607func (*Target_QueryTarget_StructuredQuery) isTarget_QueryTarget_QueryType() {}
2608
2609func (m *Target_QueryTarget) GetQueryType() isTarget_QueryTarget_QueryType {
2610	if m != nil {
2611		return m.QueryType
2612	}
2613	return nil
2614}
2615
2616func (m *Target_QueryTarget) GetParent() string {
2617	if m != nil {
2618		return m.Parent
2619	}
2620	return ""
2621}
2622
2623func (m *Target_QueryTarget) GetStructuredQuery() *StructuredQuery {
2624	if x, ok := m.GetQueryType().(*Target_QueryTarget_StructuredQuery); ok {
2625		return x.StructuredQuery
2626	}
2627	return nil
2628}
2629
2630// XXX_OneofFuncs is for the internal use of the proto package.
2631func (*Target_QueryTarget) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
2632	return _Target_QueryTarget_OneofMarshaler, _Target_QueryTarget_OneofUnmarshaler, _Target_QueryTarget_OneofSizer, []interface{}{
2633		(*Target_QueryTarget_StructuredQuery)(nil),
2634	}
2635}
2636
2637func _Target_QueryTarget_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
2638	m := msg.(*Target_QueryTarget)
2639	// query_type
2640	switch x := m.QueryType.(type) {
2641	case *Target_QueryTarget_StructuredQuery:
2642		b.EncodeVarint(2<<3 | proto.WireBytes)
2643		if err := b.EncodeMessage(x.StructuredQuery); err != nil {
2644			return err
2645		}
2646	case nil:
2647	default:
2648		return fmt.Errorf("Target_QueryTarget.QueryType has unexpected type %T", x)
2649	}
2650	return nil
2651}
2652
2653func _Target_QueryTarget_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
2654	m := msg.(*Target_QueryTarget)
2655	switch tag {
2656	case 2: // query_type.structured_query
2657		if wire != proto.WireBytes {
2658			return true, proto.ErrInternalBadWireType
2659		}
2660		msg := new(StructuredQuery)
2661		err := b.DecodeMessage(msg)
2662		m.QueryType = &Target_QueryTarget_StructuredQuery{msg}
2663		return true, err
2664	default:
2665		return false, nil
2666	}
2667}
2668
2669func _Target_QueryTarget_OneofSizer(msg proto.Message) (n int) {
2670	m := msg.(*Target_QueryTarget)
2671	// query_type
2672	switch x := m.QueryType.(type) {
2673	case *Target_QueryTarget_StructuredQuery:
2674		s := proto.Size(x.StructuredQuery)
2675		n += 1 // tag and wire
2676		n += proto.SizeVarint(uint64(s))
2677		n += s
2678	case nil:
2679	default:
2680		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
2681	}
2682	return n
2683}
2684
2685// Targets being watched have changed.
2686type TargetChange struct {
2687	// The type of change that occurred.
2688	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"`
2689	// The target IDs of targets that have changed.
2690	//
2691	// If empty, the change applies to all targets.
2692	//
2693	// For `target_change_type=ADD`, the order of the target IDs matches the order
2694	// of the requests to add the targets. This allows clients to unambiguously
2695	// associate server-assigned target IDs with added targets.
2696	//
2697	// For other states, the order of the target IDs is not defined.
2698	TargetIds []int32 `protobuf:"varint,2,rep,packed,name=target_ids,json=targetIds,proto3" json:"target_ids,omitempty"`
2699	// The error that resulted in this change, if applicable.
2700	Cause *status.Status `protobuf:"bytes,3,opt,name=cause,proto3" json:"cause,omitempty"`
2701	// A token that can be used to resume the stream for the given `target_ids`,
2702	// or all targets if `target_ids` is empty.
2703	//
2704	// Not set on every target change.
2705	ResumeToken []byte `protobuf:"bytes,4,opt,name=resume_token,json=resumeToken,proto3" json:"resume_token,omitempty"`
2706	// The consistent `read_time` for the given `target_ids` (omitted when the
2707	// target_ids are not at a consistent snapshot).
2708	//
2709	// The stream is guaranteed to send a `read_time` with `target_ids` empty
2710	// whenever the entire stream reaches a new consistent snapshot. ADD,
2711	// CURRENT, and RESET messages are guaranteed to (eventually) result in a
2712	// new consistent snapshot (while NO_CHANGE and REMOVE messages are not).
2713	//
2714	// For a given stream, `read_time` is guaranteed to be monotonically
2715	// increasing.
2716	ReadTime             *timestamp.Timestamp `protobuf:"bytes,6,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
2717	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
2718	XXX_unrecognized     []byte               `json:"-"`
2719	XXX_sizecache        int32                `json:"-"`
2720}
2721
2722func (m *TargetChange) Reset()         { *m = TargetChange{} }
2723func (m *TargetChange) String() string { return proto.CompactTextString(m) }
2724func (*TargetChange) ProtoMessage()    {}
2725func (*TargetChange) Descriptor() ([]byte, []int) {
2726	return fileDescriptor_firestore_42af00d8e1a5b915, []int{20}
2727}
2728func (m *TargetChange) XXX_Unmarshal(b []byte) error {
2729	return xxx_messageInfo_TargetChange.Unmarshal(m, b)
2730}
2731func (m *TargetChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2732	return xxx_messageInfo_TargetChange.Marshal(b, m, deterministic)
2733}
2734func (dst *TargetChange) XXX_Merge(src proto.Message) {
2735	xxx_messageInfo_TargetChange.Merge(dst, src)
2736}
2737func (m *TargetChange) XXX_Size() int {
2738	return xxx_messageInfo_TargetChange.Size(m)
2739}
2740func (m *TargetChange) XXX_DiscardUnknown() {
2741	xxx_messageInfo_TargetChange.DiscardUnknown(m)
2742}
2743
2744var xxx_messageInfo_TargetChange proto.InternalMessageInfo
2745
2746func (m *TargetChange) GetTargetChangeType() TargetChange_TargetChangeType {
2747	if m != nil {
2748		return m.TargetChangeType
2749	}
2750	return TargetChange_NO_CHANGE
2751}
2752
2753func (m *TargetChange) GetTargetIds() []int32 {
2754	if m != nil {
2755		return m.TargetIds
2756	}
2757	return nil
2758}
2759
2760func (m *TargetChange) GetCause() *status.Status {
2761	if m != nil {
2762		return m.Cause
2763	}
2764	return nil
2765}
2766
2767func (m *TargetChange) GetResumeToken() []byte {
2768	if m != nil {
2769		return m.ResumeToken
2770	}
2771	return nil
2772}
2773
2774func (m *TargetChange) GetReadTime() *timestamp.Timestamp {
2775	if m != nil {
2776		return m.ReadTime
2777	}
2778	return nil
2779}
2780
2781// The request for [Firestore.ListCollectionIds][google.firestore.v1beta1.Firestore.ListCollectionIds].
2782type ListCollectionIdsRequest struct {
2783	// The parent document. In the format:
2784	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
2785	// For example:
2786	// `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
2787	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2788	// The maximum number of results to return.
2789	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
2790	// A page token. Must be a value from
2791	// [ListCollectionIdsResponse][google.firestore.v1beta1.ListCollectionIdsResponse].
2792	PageToken            string   `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
2793	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2794	XXX_unrecognized     []byte   `json:"-"`
2795	XXX_sizecache        int32    `json:"-"`
2796}
2797
2798func (m *ListCollectionIdsRequest) Reset()         { *m = ListCollectionIdsRequest{} }
2799func (m *ListCollectionIdsRequest) String() string { return proto.CompactTextString(m) }
2800func (*ListCollectionIdsRequest) ProtoMessage()    {}
2801func (*ListCollectionIdsRequest) Descriptor() ([]byte, []int) {
2802	return fileDescriptor_firestore_42af00d8e1a5b915, []int{21}
2803}
2804func (m *ListCollectionIdsRequest) XXX_Unmarshal(b []byte) error {
2805	return xxx_messageInfo_ListCollectionIdsRequest.Unmarshal(m, b)
2806}
2807func (m *ListCollectionIdsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2808	return xxx_messageInfo_ListCollectionIdsRequest.Marshal(b, m, deterministic)
2809}
2810func (dst *ListCollectionIdsRequest) XXX_Merge(src proto.Message) {
2811	xxx_messageInfo_ListCollectionIdsRequest.Merge(dst, src)
2812}
2813func (m *ListCollectionIdsRequest) XXX_Size() int {
2814	return xxx_messageInfo_ListCollectionIdsRequest.Size(m)
2815}
2816func (m *ListCollectionIdsRequest) XXX_DiscardUnknown() {
2817	xxx_messageInfo_ListCollectionIdsRequest.DiscardUnknown(m)
2818}
2819
2820var xxx_messageInfo_ListCollectionIdsRequest proto.InternalMessageInfo
2821
2822func (m *ListCollectionIdsRequest) GetParent() string {
2823	if m != nil {
2824		return m.Parent
2825	}
2826	return ""
2827}
2828
2829func (m *ListCollectionIdsRequest) GetPageSize() int32 {
2830	if m != nil {
2831		return m.PageSize
2832	}
2833	return 0
2834}
2835
2836func (m *ListCollectionIdsRequest) GetPageToken() string {
2837	if m != nil {
2838		return m.PageToken
2839	}
2840	return ""
2841}
2842
2843// The response from [Firestore.ListCollectionIds][google.firestore.v1beta1.Firestore.ListCollectionIds].
2844type ListCollectionIdsResponse struct {
2845	// The collection ids.
2846	CollectionIds []string `protobuf:"bytes,1,rep,name=collection_ids,json=collectionIds,proto3" json:"collection_ids,omitempty"`
2847	// A page token that may be used to continue the list.
2848	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
2849	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2850	XXX_unrecognized     []byte   `json:"-"`
2851	XXX_sizecache        int32    `json:"-"`
2852}
2853
2854func (m *ListCollectionIdsResponse) Reset()         { *m = ListCollectionIdsResponse{} }
2855func (m *ListCollectionIdsResponse) String() string { return proto.CompactTextString(m) }
2856func (*ListCollectionIdsResponse) ProtoMessage()    {}
2857func (*ListCollectionIdsResponse) Descriptor() ([]byte, []int) {
2858	return fileDescriptor_firestore_42af00d8e1a5b915, []int{22}
2859}
2860func (m *ListCollectionIdsResponse) XXX_Unmarshal(b []byte) error {
2861	return xxx_messageInfo_ListCollectionIdsResponse.Unmarshal(m, b)
2862}
2863func (m *ListCollectionIdsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2864	return xxx_messageInfo_ListCollectionIdsResponse.Marshal(b, m, deterministic)
2865}
2866func (dst *ListCollectionIdsResponse) XXX_Merge(src proto.Message) {
2867	xxx_messageInfo_ListCollectionIdsResponse.Merge(dst, src)
2868}
2869func (m *ListCollectionIdsResponse) XXX_Size() int {
2870	return xxx_messageInfo_ListCollectionIdsResponse.Size(m)
2871}
2872func (m *ListCollectionIdsResponse) XXX_DiscardUnknown() {
2873	xxx_messageInfo_ListCollectionIdsResponse.DiscardUnknown(m)
2874}
2875
2876var xxx_messageInfo_ListCollectionIdsResponse proto.InternalMessageInfo
2877
2878func (m *ListCollectionIdsResponse) GetCollectionIds() []string {
2879	if m != nil {
2880		return m.CollectionIds
2881	}
2882	return nil
2883}
2884
2885func (m *ListCollectionIdsResponse) GetNextPageToken() string {
2886	if m != nil {
2887		return m.NextPageToken
2888	}
2889	return ""
2890}
2891
2892func init() {
2893	proto.RegisterType((*GetDocumentRequest)(nil), "google.firestore.v1beta1.GetDocumentRequest")
2894	proto.RegisterType((*ListDocumentsRequest)(nil), "google.firestore.v1beta1.ListDocumentsRequest")
2895	proto.RegisterType((*ListDocumentsResponse)(nil), "google.firestore.v1beta1.ListDocumentsResponse")
2896	proto.RegisterType((*CreateDocumentRequest)(nil), "google.firestore.v1beta1.CreateDocumentRequest")
2897	proto.RegisterType((*UpdateDocumentRequest)(nil), "google.firestore.v1beta1.UpdateDocumentRequest")
2898	proto.RegisterType((*DeleteDocumentRequest)(nil), "google.firestore.v1beta1.DeleteDocumentRequest")
2899	proto.RegisterType((*BatchGetDocumentsRequest)(nil), "google.firestore.v1beta1.BatchGetDocumentsRequest")
2900	proto.RegisterType((*BatchGetDocumentsResponse)(nil), "google.firestore.v1beta1.BatchGetDocumentsResponse")
2901	proto.RegisterType((*BeginTransactionRequest)(nil), "google.firestore.v1beta1.BeginTransactionRequest")
2902	proto.RegisterType((*BeginTransactionResponse)(nil), "google.firestore.v1beta1.BeginTransactionResponse")
2903	proto.RegisterType((*CommitRequest)(nil), "google.firestore.v1beta1.CommitRequest")
2904	proto.RegisterType((*CommitResponse)(nil), "google.firestore.v1beta1.CommitResponse")
2905	proto.RegisterType((*RollbackRequest)(nil), "google.firestore.v1beta1.RollbackRequest")
2906	proto.RegisterType((*RunQueryRequest)(nil), "google.firestore.v1beta1.RunQueryRequest")
2907	proto.RegisterType((*RunQueryResponse)(nil), "google.firestore.v1beta1.RunQueryResponse")
2908	proto.RegisterType((*WriteRequest)(nil), "google.firestore.v1beta1.WriteRequest")
2909	proto.RegisterMapType((map[string]string)(nil), "google.firestore.v1beta1.WriteRequest.LabelsEntry")
2910	proto.RegisterType((*WriteResponse)(nil), "google.firestore.v1beta1.WriteResponse")
2911	proto.RegisterType((*ListenRequest)(nil), "google.firestore.v1beta1.ListenRequest")
2912	proto.RegisterMapType((map[string]string)(nil), "google.firestore.v1beta1.ListenRequest.LabelsEntry")
2913	proto.RegisterType((*ListenResponse)(nil), "google.firestore.v1beta1.ListenResponse")
2914	proto.RegisterType((*Target)(nil), "google.firestore.v1beta1.Target")
2915	proto.RegisterType((*Target_DocumentsTarget)(nil), "google.firestore.v1beta1.Target.DocumentsTarget")
2916	proto.RegisterType((*Target_QueryTarget)(nil), "google.firestore.v1beta1.Target.QueryTarget")
2917	proto.RegisterType((*TargetChange)(nil), "google.firestore.v1beta1.TargetChange")
2918	proto.RegisterType((*ListCollectionIdsRequest)(nil), "google.firestore.v1beta1.ListCollectionIdsRequest")
2919	proto.RegisterType((*ListCollectionIdsResponse)(nil), "google.firestore.v1beta1.ListCollectionIdsResponse")
2920	proto.RegisterEnum("google.firestore.v1beta1.TargetChange_TargetChangeType", TargetChange_TargetChangeType_name, TargetChange_TargetChangeType_value)
2921}
2922
2923// Reference imports to suppress errors if they are not otherwise used.
2924var _ context.Context
2925var _ grpc.ClientConn
2926
2927// This is a compile-time assertion to ensure that this generated file
2928// is compatible with the grpc package it is being compiled against.
2929const _ = grpc.SupportPackageIsVersion4
2930
2931// FirestoreClient is the client API for Firestore service.
2932//
2933// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
2934type FirestoreClient interface {
2935	// Gets a single document.
2936	GetDocument(ctx context.Context, in *GetDocumentRequest, opts ...grpc.CallOption) (*Document, error)
2937	// Lists documents.
2938	ListDocuments(ctx context.Context, in *ListDocumentsRequest, opts ...grpc.CallOption) (*ListDocumentsResponse, error)
2939	// Creates a new document.
2940	CreateDocument(ctx context.Context, in *CreateDocumentRequest, opts ...grpc.CallOption) (*Document, error)
2941	// Updates or inserts a document.
2942	UpdateDocument(ctx context.Context, in *UpdateDocumentRequest, opts ...grpc.CallOption) (*Document, error)
2943	// Deletes a document.
2944	DeleteDocument(ctx context.Context, in *DeleteDocumentRequest, opts ...grpc.CallOption) (*empty.Empty, error)
2945	// Gets multiple documents.
2946	//
2947	// Documents returned by this method are not guaranteed to be returned in the
2948	// same order that they were requested.
2949	BatchGetDocuments(ctx context.Context, in *BatchGetDocumentsRequest, opts ...grpc.CallOption) (Firestore_BatchGetDocumentsClient, error)
2950	// Starts a new transaction.
2951	BeginTransaction(ctx context.Context, in *BeginTransactionRequest, opts ...grpc.CallOption) (*BeginTransactionResponse, error)
2952	// Commits a transaction, while optionally updating documents.
2953	Commit(ctx context.Context, in *CommitRequest, opts ...grpc.CallOption) (*CommitResponse, error)
2954	// Rolls back a transaction.
2955	Rollback(ctx context.Context, in *RollbackRequest, opts ...grpc.CallOption) (*empty.Empty, error)
2956	// Runs a query.
2957	RunQuery(ctx context.Context, in *RunQueryRequest, opts ...grpc.CallOption) (Firestore_RunQueryClient, error)
2958	// Streams batches of document updates and deletes, in order.
2959	Write(ctx context.Context, opts ...grpc.CallOption) (Firestore_WriteClient, error)
2960	// Listens to changes.
2961	Listen(ctx context.Context, opts ...grpc.CallOption) (Firestore_ListenClient, error)
2962	// Lists all the collection IDs underneath a document.
2963	ListCollectionIds(ctx context.Context, in *ListCollectionIdsRequest, opts ...grpc.CallOption) (*ListCollectionIdsResponse, error)
2964}
2965
2966type firestoreClient struct {
2967	cc *grpc.ClientConn
2968}
2969
2970func NewFirestoreClient(cc *grpc.ClientConn) FirestoreClient {
2971	return &firestoreClient{cc}
2972}
2973
2974func (c *firestoreClient) GetDocument(ctx context.Context, in *GetDocumentRequest, opts ...grpc.CallOption) (*Document, error) {
2975	out := new(Document)
2976	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/GetDocument", in, out, opts...)
2977	if err != nil {
2978		return nil, err
2979	}
2980	return out, nil
2981}
2982
2983func (c *firestoreClient) ListDocuments(ctx context.Context, in *ListDocumentsRequest, opts ...grpc.CallOption) (*ListDocumentsResponse, error) {
2984	out := new(ListDocumentsResponse)
2985	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/ListDocuments", in, out, opts...)
2986	if err != nil {
2987		return nil, err
2988	}
2989	return out, nil
2990}
2991
2992func (c *firestoreClient) CreateDocument(ctx context.Context, in *CreateDocumentRequest, opts ...grpc.CallOption) (*Document, error) {
2993	out := new(Document)
2994	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/CreateDocument", in, out, opts...)
2995	if err != nil {
2996		return nil, err
2997	}
2998	return out, nil
2999}
3000
3001func (c *firestoreClient) UpdateDocument(ctx context.Context, in *UpdateDocumentRequest, opts ...grpc.CallOption) (*Document, error) {
3002	out := new(Document)
3003	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/UpdateDocument", in, out, opts...)
3004	if err != nil {
3005		return nil, err
3006	}
3007	return out, nil
3008}
3009
3010func (c *firestoreClient) DeleteDocument(ctx context.Context, in *DeleteDocumentRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
3011	out := new(empty.Empty)
3012	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/DeleteDocument", in, out, opts...)
3013	if err != nil {
3014		return nil, err
3015	}
3016	return out, nil
3017}
3018
3019func (c *firestoreClient) BatchGetDocuments(ctx context.Context, in *BatchGetDocumentsRequest, opts ...grpc.CallOption) (Firestore_BatchGetDocumentsClient, error) {
3020	stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[0], "/google.firestore.v1beta1.Firestore/BatchGetDocuments", opts...)
3021	if err != nil {
3022		return nil, err
3023	}
3024	x := &firestoreBatchGetDocumentsClient{stream}
3025	if err := x.ClientStream.SendMsg(in); err != nil {
3026		return nil, err
3027	}
3028	if err := x.ClientStream.CloseSend(); err != nil {
3029		return nil, err
3030	}
3031	return x, nil
3032}
3033
3034type Firestore_BatchGetDocumentsClient interface {
3035	Recv() (*BatchGetDocumentsResponse, error)
3036	grpc.ClientStream
3037}
3038
3039type firestoreBatchGetDocumentsClient struct {
3040	grpc.ClientStream
3041}
3042
3043func (x *firestoreBatchGetDocumentsClient) Recv() (*BatchGetDocumentsResponse, error) {
3044	m := new(BatchGetDocumentsResponse)
3045	if err := x.ClientStream.RecvMsg(m); err != nil {
3046		return nil, err
3047	}
3048	return m, nil
3049}
3050
3051func (c *firestoreClient) BeginTransaction(ctx context.Context, in *BeginTransactionRequest, opts ...grpc.CallOption) (*BeginTransactionResponse, error) {
3052	out := new(BeginTransactionResponse)
3053	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/BeginTransaction", in, out, opts...)
3054	if err != nil {
3055		return nil, err
3056	}
3057	return out, nil
3058}
3059
3060func (c *firestoreClient) Commit(ctx context.Context, in *CommitRequest, opts ...grpc.CallOption) (*CommitResponse, error) {
3061	out := new(CommitResponse)
3062	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/Commit", in, out, opts...)
3063	if err != nil {
3064		return nil, err
3065	}
3066	return out, nil
3067}
3068
3069func (c *firestoreClient) Rollback(ctx context.Context, in *RollbackRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
3070	out := new(empty.Empty)
3071	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/Rollback", in, out, opts...)
3072	if err != nil {
3073		return nil, err
3074	}
3075	return out, nil
3076}
3077
3078func (c *firestoreClient) RunQuery(ctx context.Context, in *RunQueryRequest, opts ...grpc.CallOption) (Firestore_RunQueryClient, error) {
3079	stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[1], "/google.firestore.v1beta1.Firestore/RunQuery", opts...)
3080	if err != nil {
3081		return nil, err
3082	}
3083	x := &firestoreRunQueryClient{stream}
3084	if err := x.ClientStream.SendMsg(in); err != nil {
3085		return nil, err
3086	}
3087	if err := x.ClientStream.CloseSend(); err != nil {
3088		return nil, err
3089	}
3090	return x, nil
3091}
3092
3093type Firestore_RunQueryClient interface {
3094	Recv() (*RunQueryResponse, error)
3095	grpc.ClientStream
3096}
3097
3098type firestoreRunQueryClient struct {
3099	grpc.ClientStream
3100}
3101
3102func (x *firestoreRunQueryClient) Recv() (*RunQueryResponse, error) {
3103	m := new(RunQueryResponse)
3104	if err := x.ClientStream.RecvMsg(m); err != nil {
3105		return nil, err
3106	}
3107	return m, nil
3108}
3109
3110func (c *firestoreClient) Write(ctx context.Context, opts ...grpc.CallOption) (Firestore_WriteClient, error) {
3111	stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[2], "/google.firestore.v1beta1.Firestore/Write", opts...)
3112	if err != nil {
3113		return nil, err
3114	}
3115	x := &firestoreWriteClient{stream}
3116	return x, nil
3117}
3118
3119type Firestore_WriteClient interface {
3120	Send(*WriteRequest) error
3121	Recv() (*WriteResponse, error)
3122	grpc.ClientStream
3123}
3124
3125type firestoreWriteClient struct {
3126	grpc.ClientStream
3127}
3128
3129func (x *firestoreWriteClient) Send(m *WriteRequest) error {
3130	return x.ClientStream.SendMsg(m)
3131}
3132
3133func (x *firestoreWriteClient) Recv() (*WriteResponse, error) {
3134	m := new(WriteResponse)
3135	if err := x.ClientStream.RecvMsg(m); err != nil {
3136		return nil, err
3137	}
3138	return m, nil
3139}
3140
3141func (c *firestoreClient) Listen(ctx context.Context, opts ...grpc.CallOption) (Firestore_ListenClient, error) {
3142	stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[3], "/google.firestore.v1beta1.Firestore/Listen", opts...)
3143	if err != nil {
3144		return nil, err
3145	}
3146	x := &firestoreListenClient{stream}
3147	return x, nil
3148}
3149
3150type Firestore_ListenClient interface {
3151	Send(*ListenRequest) error
3152	Recv() (*ListenResponse, error)
3153	grpc.ClientStream
3154}
3155
3156type firestoreListenClient struct {
3157	grpc.ClientStream
3158}
3159
3160func (x *firestoreListenClient) Send(m *ListenRequest) error {
3161	return x.ClientStream.SendMsg(m)
3162}
3163
3164func (x *firestoreListenClient) Recv() (*ListenResponse, error) {
3165	m := new(ListenResponse)
3166	if err := x.ClientStream.RecvMsg(m); err != nil {
3167		return nil, err
3168	}
3169	return m, nil
3170}
3171
3172func (c *firestoreClient) ListCollectionIds(ctx context.Context, in *ListCollectionIdsRequest, opts ...grpc.CallOption) (*ListCollectionIdsResponse, error) {
3173	out := new(ListCollectionIdsResponse)
3174	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/ListCollectionIds", in, out, opts...)
3175	if err != nil {
3176		return nil, err
3177	}
3178	return out, nil
3179}
3180
3181// FirestoreServer is the server API for Firestore service.
3182type FirestoreServer interface {
3183	// Gets a single document.
3184	GetDocument(context.Context, *GetDocumentRequest) (*Document, error)
3185	// Lists documents.
3186	ListDocuments(context.Context, *ListDocumentsRequest) (*ListDocumentsResponse, error)
3187	// Creates a new document.
3188	CreateDocument(context.Context, *CreateDocumentRequest) (*Document, error)
3189	// Updates or inserts a document.
3190	UpdateDocument(context.Context, *UpdateDocumentRequest) (*Document, error)
3191	// Deletes a document.
3192	DeleteDocument(context.Context, *DeleteDocumentRequest) (*empty.Empty, error)
3193	// Gets multiple documents.
3194	//
3195	// Documents returned by this method are not guaranteed to be returned in the
3196	// same order that they were requested.
3197	BatchGetDocuments(*BatchGetDocumentsRequest, Firestore_BatchGetDocumentsServer) error
3198	// Starts a new transaction.
3199	BeginTransaction(context.Context, *BeginTransactionRequest) (*BeginTransactionResponse, error)
3200	// Commits a transaction, while optionally updating documents.
3201	Commit(context.Context, *CommitRequest) (*CommitResponse, error)
3202	// Rolls back a transaction.
3203	Rollback(context.Context, *RollbackRequest) (*empty.Empty, error)
3204	// Runs a query.
3205	RunQuery(*RunQueryRequest, Firestore_RunQueryServer) error
3206	// Streams batches of document updates and deletes, in order.
3207	Write(Firestore_WriteServer) error
3208	// Listens to changes.
3209	Listen(Firestore_ListenServer) error
3210	// Lists all the collection IDs underneath a document.
3211	ListCollectionIds(context.Context, *ListCollectionIdsRequest) (*ListCollectionIdsResponse, error)
3212}
3213
3214func RegisterFirestoreServer(s *grpc.Server, srv FirestoreServer) {
3215	s.RegisterService(&_Firestore_serviceDesc, srv)
3216}
3217
3218func _Firestore_GetDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3219	in := new(GetDocumentRequest)
3220	if err := dec(in); err != nil {
3221		return nil, err
3222	}
3223	if interceptor == nil {
3224		return srv.(FirestoreServer).GetDocument(ctx, in)
3225	}
3226	info := &grpc.UnaryServerInfo{
3227		Server:     srv,
3228		FullMethod: "/google.firestore.v1beta1.Firestore/GetDocument",
3229	}
3230	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3231		return srv.(FirestoreServer).GetDocument(ctx, req.(*GetDocumentRequest))
3232	}
3233	return interceptor(ctx, in, info, handler)
3234}
3235
3236func _Firestore_ListDocuments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3237	in := new(ListDocumentsRequest)
3238	if err := dec(in); err != nil {
3239		return nil, err
3240	}
3241	if interceptor == nil {
3242		return srv.(FirestoreServer).ListDocuments(ctx, in)
3243	}
3244	info := &grpc.UnaryServerInfo{
3245		Server:     srv,
3246		FullMethod: "/google.firestore.v1beta1.Firestore/ListDocuments",
3247	}
3248	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3249		return srv.(FirestoreServer).ListDocuments(ctx, req.(*ListDocumentsRequest))
3250	}
3251	return interceptor(ctx, in, info, handler)
3252}
3253
3254func _Firestore_CreateDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3255	in := new(CreateDocumentRequest)
3256	if err := dec(in); err != nil {
3257		return nil, err
3258	}
3259	if interceptor == nil {
3260		return srv.(FirestoreServer).CreateDocument(ctx, in)
3261	}
3262	info := &grpc.UnaryServerInfo{
3263		Server:     srv,
3264		FullMethod: "/google.firestore.v1beta1.Firestore/CreateDocument",
3265	}
3266	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3267		return srv.(FirestoreServer).CreateDocument(ctx, req.(*CreateDocumentRequest))
3268	}
3269	return interceptor(ctx, in, info, handler)
3270}
3271
3272func _Firestore_UpdateDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3273	in := new(UpdateDocumentRequest)
3274	if err := dec(in); err != nil {
3275		return nil, err
3276	}
3277	if interceptor == nil {
3278		return srv.(FirestoreServer).UpdateDocument(ctx, in)
3279	}
3280	info := &grpc.UnaryServerInfo{
3281		Server:     srv,
3282		FullMethod: "/google.firestore.v1beta1.Firestore/UpdateDocument",
3283	}
3284	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3285		return srv.(FirestoreServer).UpdateDocument(ctx, req.(*UpdateDocumentRequest))
3286	}
3287	return interceptor(ctx, in, info, handler)
3288}
3289
3290func _Firestore_DeleteDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3291	in := new(DeleteDocumentRequest)
3292	if err := dec(in); err != nil {
3293		return nil, err
3294	}
3295	if interceptor == nil {
3296		return srv.(FirestoreServer).DeleteDocument(ctx, in)
3297	}
3298	info := &grpc.UnaryServerInfo{
3299		Server:     srv,
3300		FullMethod: "/google.firestore.v1beta1.Firestore/DeleteDocument",
3301	}
3302	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3303		return srv.(FirestoreServer).DeleteDocument(ctx, req.(*DeleteDocumentRequest))
3304	}
3305	return interceptor(ctx, in, info, handler)
3306}
3307
3308func _Firestore_BatchGetDocuments_Handler(srv interface{}, stream grpc.ServerStream) error {
3309	m := new(BatchGetDocumentsRequest)
3310	if err := stream.RecvMsg(m); err != nil {
3311		return err
3312	}
3313	return srv.(FirestoreServer).BatchGetDocuments(m, &firestoreBatchGetDocumentsServer{stream})
3314}
3315
3316type Firestore_BatchGetDocumentsServer interface {
3317	Send(*BatchGetDocumentsResponse) error
3318	grpc.ServerStream
3319}
3320
3321type firestoreBatchGetDocumentsServer struct {
3322	grpc.ServerStream
3323}
3324
3325func (x *firestoreBatchGetDocumentsServer) Send(m *BatchGetDocumentsResponse) error {
3326	return x.ServerStream.SendMsg(m)
3327}
3328
3329func _Firestore_BeginTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3330	in := new(BeginTransactionRequest)
3331	if err := dec(in); err != nil {
3332		return nil, err
3333	}
3334	if interceptor == nil {
3335		return srv.(FirestoreServer).BeginTransaction(ctx, in)
3336	}
3337	info := &grpc.UnaryServerInfo{
3338		Server:     srv,
3339		FullMethod: "/google.firestore.v1beta1.Firestore/BeginTransaction",
3340	}
3341	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3342		return srv.(FirestoreServer).BeginTransaction(ctx, req.(*BeginTransactionRequest))
3343	}
3344	return interceptor(ctx, in, info, handler)
3345}
3346
3347func _Firestore_Commit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3348	in := new(CommitRequest)
3349	if err := dec(in); err != nil {
3350		return nil, err
3351	}
3352	if interceptor == nil {
3353		return srv.(FirestoreServer).Commit(ctx, in)
3354	}
3355	info := &grpc.UnaryServerInfo{
3356		Server:     srv,
3357		FullMethod: "/google.firestore.v1beta1.Firestore/Commit",
3358	}
3359	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3360		return srv.(FirestoreServer).Commit(ctx, req.(*CommitRequest))
3361	}
3362	return interceptor(ctx, in, info, handler)
3363}
3364
3365func _Firestore_Rollback_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3366	in := new(RollbackRequest)
3367	if err := dec(in); err != nil {
3368		return nil, err
3369	}
3370	if interceptor == nil {
3371		return srv.(FirestoreServer).Rollback(ctx, in)
3372	}
3373	info := &grpc.UnaryServerInfo{
3374		Server:     srv,
3375		FullMethod: "/google.firestore.v1beta1.Firestore/Rollback",
3376	}
3377	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3378		return srv.(FirestoreServer).Rollback(ctx, req.(*RollbackRequest))
3379	}
3380	return interceptor(ctx, in, info, handler)
3381}
3382
3383func _Firestore_RunQuery_Handler(srv interface{}, stream grpc.ServerStream) error {
3384	m := new(RunQueryRequest)
3385	if err := stream.RecvMsg(m); err != nil {
3386		return err
3387	}
3388	return srv.(FirestoreServer).RunQuery(m, &firestoreRunQueryServer{stream})
3389}
3390
3391type Firestore_RunQueryServer interface {
3392	Send(*RunQueryResponse) error
3393	grpc.ServerStream
3394}
3395
3396type firestoreRunQueryServer struct {
3397	grpc.ServerStream
3398}
3399
3400func (x *firestoreRunQueryServer) Send(m *RunQueryResponse) error {
3401	return x.ServerStream.SendMsg(m)
3402}
3403
3404func _Firestore_Write_Handler(srv interface{}, stream grpc.ServerStream) error {
3405	return srv.(FirestoreServer).Write(&firestoreWriteServer{stream})
3406}
3407
3408type Firestore_WriteServer interface {
3409	Send(*WriteResponse) error
3410	Recv() (*WriteRequest, error)
3411	grpc.ServerStream
3412}
3413
3414type firestoreWriteServer struct {
3415	grpc.ServerStream
3416}
3417
3418func (x *firestoreWriteServer) Send(m *WriteResponse) error {
3419	return x.ServerStream.SendMsg(m)
3420}
3421
3422func (x *firestoreWriteServer) Recv() (*WriteRequest, error) {
3423	m := new(WriteRequest)
3424	if err := x.ServerStream.RecvMsg(m); err != nil {
3425		return nil, err
3426	}
3427	return m, nil
3428}
3429
3430func _Firestore_Listen_Handler(srv interface{}, stream grpc.ServerStream) error {
3431	return srv.(FirestoreServer).Listen(&firestoreListenServer{stream})
3432}
3433
3434type Firestore_ListenServer interface {
3435	Send(*ListenResponse) error
3436	Recv() (*ListenRequest, error)
3437	grpc.ServerStream
3438}
3439
3440type firestoreListenServer struct {
3441	grpc.ServerStream
3442}
3443
3444func (x *firestoreListenServer) Send(m *ListenResponse) error {
3445	return x.ServerStream.SendMsg(m)
3446}
3447
3448func (x *firestoreListenServer) Recv() (*ListenRequest, error) {
3449	m := new(ListenRequest)
3450	if err := x.ServerStream.RecvMsg(m); err != nil {
3451		return nil, err
3452	}
3453	return m, nil
3454}
3455
3456func _Firestore_ListCollectionIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3457	in := new(ListCollectionIdsRequest)
3458	if err := dec(in); err != nil {
3459		return nil, err
3460	}
3461	if interceptor == nil {
3462		return srv.(FirestoreServer).ListCollectionIds(ctx, in)
3463	}
3464	info := &grpc.UnaryServerInfo{
3465		Server:     srv,
3466		FullMethod: "/google.firestore.v1beta1.Firestore/ListCollectionIds",
3467	}
3468	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3469		return srv.(FirestoreServer).ListCollectionIds(ctx, req.(*ListCollectionIdsRequest))
3470	}
3471	return interceptor(ctx, in, info, handler)
3472}
3473
3474var _Firestore_serviceDesc = grpc.ServiceDesc{
3475	ServiceName: "google.firestore.v1beta1.Firestore",
3476	HandlerType: (*FirestoreServer)(nil),
3477	Methods: []grpc.MethodDesc{
3478		{
3479			MethodName: "GetDocument",
3480			Handler:    _Firestore_GetDocument_Handler,
3481		},
3482		{
3483			MethodName: "ListDocuments",
3484			Handler:    _Firestore_ListDocuments_Handler,
3485		},
3486		{
3487			MethodName: "CreateDocument",
3488			Handler:    _Firestore_CreateDocument_Handler,
3489		},
3490		{
3491			MethodName: "UpdateDocument",
3492			Handler:    _Firestore_UpdateDocument_Handler,
3493		},
3494		{
3495			MethodName: "DeleteDocument",
3496			Handler:    _Firestore_DeleteDocument_Handler,
3497		},
3498		{
3499			MethodName: "BeginTransaction",
3500			Handler:    _Firestore_BeginTransaction_Handler,
3501		},
3502		{
3503			MethodName: "Commit",
3504			Handler:    _Firestore_Commit_Handler,
3505		},
3506		{
3507			MethodName: "Rollback",
3508			Handler:    _Firestore_Rollback_Handler,
3509		},
3510		{
3511			MethodName: "ListCollectionIds",
3512			Handler:    _Firestore_ListCollectionIds_Handler,
3513		},
3514	},
3515	Streams: []grpc.StreamDesc{
3516		{
3517			StreamName:    "BatchGetDocuments",
3518			Handler:       _Firestore_BatchGetDocuments_Handler,
3519			ServerStreams: true,
3520		},
3521		{
3522			StreamName:    "RunQuery",
3523			Handler:       _Firestore_RunQuery_Handler,
3524			ServerStreams: true,
3525		},
3526		{
3527			StreamName:    "Write",
3528			Handler:       _Firestore_Write_Handler,
3529			ServerStreams: true,
3530			ClientStreams: true,
3531		},
3532		{
3533			StreamName:    "Listen",
3534			Handler:       _Firestore_Listen_Handler,
3535			ServerStreams: true,
3536			ClientStreams: true,
3537		},
3538	},
3539	Metadata: "google/firestore/v1beta1/firestore.proto",
3540}
3541
3542func init() {
3543	proto.RegisterFile("google/firestore/v1beta1/firestore.proto", fileDescriptor_firestore_42af00d8e1a5b915)
3544}
3545
3546var fileDescriptor_firestore_42af00d8e1a5b915 = []byte{
3547	// 2180 bytes of a gzipped FileDescriptorProto
3548	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x59, 0xcd, 0x8f, 0x1b, 0x49,
3549	0x15, 0x77, 0xf9, 0x6b, 0xec, 0xe7, 0x8f, 0xf1, 0x96, 0x92, 0xac, 0xe3, 0x64, 0xc9, 0xd0, 0x4b,
3550	0x12, 0x63, 0xad, 0xec, 0x64, 0x22, 0x14, 0xd6, 0x21, 0xcb, 0x66, 0x66, 0x9c, 0xf1, 0x84, 0x24,
3551	0x33, 0xe9, 0x99, 0x4d, 0x24, 0x14, 0xc9, 0xea, 0xe9, 0xae, 0x38, 0xbd, 0x63, 0x77, 0x7b, 0xbb,
3552	0xcb, 0x99, 0x9d, 0x5d, 0x0d, 0x02, 0x0e, 0x5c, 0x90, 0xb8, 0x70, 0x00, 0x2e, 0x1c, 0xd8, 0x03,
3553	0xd2, 0x22, 0xe0, 0x82, 0xc4, 0x05, 0x21, 0x71, 0x43, 0x20, 0x4e, 0x48, 0x08, 0x89, 0x03, 0x1c,
3554	0x38, 0x71, 0xe3, 0x3f, 0x40, 0x5d, 0x55, 0xdd, 0xee, 0x6e, 0x7f, 0xb5, 0x3d, 0x11, 0xb7, 0xae,
3555	0xe7, 0x57, 0xaf, 0xde, 0xc7, 0xef, 0xbd, 0x7a, 0xf5, 0x0c, 0xd5, 0xae, 0x69, 0x76, 0x7b, 0xa4,
3556	0xf1, 0x42, 0xb7, 0x88, 0x4d, 0x4d, 0x8b, 0x34, 0x5e, 0xdd, 0x3c, 0x24, 0x54, 0xb9, 0x39, 0xa2,
3557	0xd4, 0x07, 0x96, 0x49, 0x4d, 0x5c, 0xe6, 0x9c, 0xf5, 0x11, 0x5d, 0x70, 0x56, 0x2e, 0x0b, 0x19,
3558	0xca, 0x40, 0x6f, 0x28, 0x86, 0x61, 0x52, 0x85, 0xea, 0xa6, 0x61, 0xf3, 0x7d, 0x95, 0xab, 0x53,
3559	0x4f, 0x50, 0xcd, 0x7e, 0xdf, 0x34, 0x04, 0xdb, 0xf5, 0xa9, 0x6c, 0x9a, 0xa9, 0x0e, 0xfb, 0xc4,
3560	0xa0, 0x82, 0xf1, 0x4b, 0x53, 0x19, 0x3f, 0x1a, 0x12, 0xeb, 0x64, 0x2e, 0xd7, 0xb1, 0xa5, 0x53,
3561	0x61, 0x53, 0xe5, 0x92, 0xe0, 0x62, 0xab, 0xc3, 0xe1, 0x8b, 0x06, 0xe9, 0x0f, 0xa8, 0x2b, 0xe2,
3562	0x4a, 0xf8, 0x47, 0xaa, 0xf7, 0x89, 0x4d, 0x95, 0xfe, 0x40, 0x30, 0xbc, 0x29, 0x18, 0xac, 0x81,
3563	0xda, 0xb0, 0xa9, 0x42, 0x87, 0xc2, 0x64, 0xe9, 0x1f, 0x08, 0xf0, 0x36, 0xa1, 0x5b, 0x42, 0x71,
3564	0x99, 0x7c, 0x34, 0x24, 0x36, 0xc5, 0x18, 0x92, 0x86, 0xd2, 0x27, 0x65, 0xb4, 0x86, 0xaa, 0x59,
3565	0x99, 0x7d, 0xe3, 0x26, 0x24, 0xfb, 0x8a, 0x7d, 0x54, 0x8e, 0xaf, 0xa1, 0x6a, 0x6e, 0xfd, 0x5a,
3566	0x7d, 0x9a, 0x93, 0xeb, 0xae, 0xb0, 0x47, 0x8a, 0x7d, 0x24, 0xb3, 0x3d, 0x58, 0x82, 0x1c, 0xb5,
3567	0x14, 0xc3, 0x56, 0x54, 0xc7, 0xdf, 0xe5, 0xc4, 0x1a, 0xaa, 0xe6, 0xdb, 0x31, 0xd9, 0x4f, 0xc4,
3568	0xef, 0x42, 0xd6, 0x22, 0x8a, 0xd6, 0x71, 0x74, 0x2f, 0xa7, 0xd8, 0x21, 0x15, 0xf7, 0x10, 0xd7,
3569	0xb0, 0xfa, 0x81, 0x6b, 0x58, 0x3b, 0x26, 0x67, 0x1c, 0x76, 0x87, 0xb0, 0x71, 0x01, 0xce, 0xa9,
3570	0xa6, 0x61, 0xeb, 0x36, 0x25, 0x86, 0x7a, 0xd2, 0xb1, 0x49, 0x8f, 0xa8, 0xd4, 0xb4, 0xa4, 0x6f,
3571	0x27, 0xe0, 0xdc, 0x43, 0xdd, 0xf6, 0xcc, 0xb3, 0x5d, 0xfb, 0x2e, 0x40, 0x7a, 0xa0, 0x58, 0xc4,
3572	0xa0, 0xc2, 0x42, 0xb1, 0xc2, 0x6f, 0x43, 0x41, 0x35, 0x7b, 0xce, 0x6e, 0xdd, 0x34, 0x3a, 0xba,
3573	0xc6, 0x8c, 0xcd, 0xca, 0xf9, 0x11, 0x71, 0x47, 0xc3, 0x97, 0x20, 0x3b, 0x50, 0xba, 0xa4, 0x63,
3574	0xeb, 0x9f, 0x10, 0x66, 0x4a, 0x4a, 0xce, 0x38, 0x84, 0x7d, 0xfd, 0x13, 0x82, 0xdf, 0x02, 0x60,
3575	0x3f, 0x52, 0xf3, 0x88, 0x18, 0xe5, 0x24, 0xdb, 0xce, 0xd8, 0x0f, 0x1c, 0x02, 0xbe, 0x08, 0x19,
3576	0xd3, 0xd2, 0x88, 0xd5, 0x39, 0x3c, 0x29, 0xa7, 0xd9, 0x8f, 0x2b, 0x6c, 0xbd, 0x71, 0xe2, 0xf9,
3577	0x77, 0xe5, 0xec, 0xfe, 0xcd, 0xcc, 0xf5, 0x2f, 0x2c, 0xe2, 0x5f, 0xfc, 0x45, 0xc8, 0xdb, 0x2f,
3578	0xcd, 0xe3, 0x4e, 0x5f, 0xb7, 0x6d, 0xdd, 0xe8, 0x96, 0xf3, 0x6b, 0xa8, 0x9a, 0x91, 0x73, 0x0e,
3579	0xed, 0x11, 0x27, 0x4d, 0x0d, 0xc1, 0x77, 0x10, 0x9c, 0x0f, 0x85, 0xc0, 0x1e, 0x98, 0x86, 0x4d,
3580	0xf0, 0xfb, 0x90, 0x75, 0xf3, 0xc5, 0x2e, 0xa3, 0xb5, 0x44, 0x35, 0xb7, 0x2e, 0xcd, 0x37, 0x5a,
3581	0x1e, 0x6d, 0xc2, 0xd7, 0x60, 0xd5, 0x20, 0x1f, 0xd3, 0x8e, 0xcf, 0xe1, 0x3c, 0x5e, 0x05, 0x87,
3582	0xbc, 0xe7, 0x3a, 0x5d, 0xfa, 0x2f, 0x82, 0xf3, 0x9b, 0x16, 0x51, 0x28, 0x09, 0xe3, 0xfc, 0x4c,
3583	0x38, 0xb8, 0x02, 0x39, 0x57, 0x17, 0x87, 0x25, 0xc1, 0x58, 0xc0, 0x25, 0xed, 0x68, 0xf8, 0x3d,
3584	0xc8, 0xb8, 0x2b, 0x86, 0x84, 0x68, 0x06, 0x7a, 0x7b, 0x3c, 0x44, 0xa4, 0x16, 0x47, 0x84, 0xf4,
3585	0xeb, 0x38, 0x9c, 0xff, 0x60, 0xa0, 0x4d, 0xb0, 0xd9, 0xaf, 0x15, 0x5a, 0x42, 0xab, 0x6d, 0xc8,
3586	0x0d, 0x99, 0xe0, 0xce, 0x12, 0xe5, 0x00, 0xf8, 0x56, 0xe7, 0xdb, 0x33, 0x2f, 0xb1, 0x04, 0xe0,
3587	0x9f, 0x40, 0x49, 0x1d, 0x5a, 0x4e, 0xac, 0x3a, 0x21, 0x17, 0xcf, 0x90, 0xb3, 0x67, 0x11, 0xd5,
3588	0x34, 0x34, 0xdd, 0x89, 0x9f, 0xbc, 0x2a, 0xf6, 0xbb, 0xc2, 0xa5, 0x6f, 0xc1, 0xf9, 0x2d, 0xd2,
3589	0x23, 0xe3, 0x0e, 0x9b, 0x54, 0x0c, 0x27, 0x9d, 0x1f, 0x3f, 0xdb, 0xf9, 0xff, 0x8a, 0x43, 0x79,
3590	0x43, 0xa1, 0xea, 0x4b, 0x5f, 0x3d, 0xf6, 0x0a, 0x56, 0x05, 0x32, 0x9a, 0x42, 0x95, 0x43, 0xc5,
3591	0x76, 0xf5, 0xf0, 0xd6, 0xf8, 0xb2, 0x3f, 0x91, 0xe2, 0x6b, 0x09, 0xa7, 0xe2, 0x8c, 0x92, 0xe4,
3592	0x2c, 0x5e, 0x0e, 0x95, 0x95, 0xe4, 0xa4, 0xb2, 0xf2, 0xcc, 0x49, 0xc2, 0xe3, 0x8e, 0x9f, 0x8f,
3593	0xe3, 0xf5, 0x9d, 0xe9, 0x47, 0x1d, 0x8c, 0x98, 0x77, 0x07, 0xec, 0x06, 0x6e, 0xc7, 0xe4, 0xa2,
3594	0x41, 0x8e, 0x0f, 0xa6, 0xd5, 0xab, 0x95, 0xd7, 0x72, 0x1f, 0xfc, 0x1d, 0xc1, 0xc5, 0x09, 0x2e,
3595	0x16, 0x05, 0xa9, 0x09, 0xa9, 0x17, 0xe6, 0xd0, 0xd0, 0xa2, 0x67, 0x45, 0x3b, 0x26, 0xf3, 0x2d,
3596	0xb8, 0x02, 0x2b, 0x6e, 0x71, 0x64, 0xa5, 0xa2, 0x1d, 0x93, 0x5d, 0x02, 0x5e, 0x9b, 0x70, 0xf9,
3597	0x05, 0x7d, 0x78, 0xdb, 0x6f, 0x6a, 0x72, 0x9e, 0xa9, 0x3e, 0x43, 0x33, 0x90, 0xb6, 0x88, 0x3d,
3598	0xec, 0x51, 0xe9, 0x14, 0xde, 0xdc, 0x20, 0x5d, 0xdd, 0xf0, 0x79, 0x30, 0x0a, 0x76, 0xee, 0xc3,
3599	0x8a, 0xc9, 0x23, 0x20, 0xe0, 0xbb, 0x50, 0xd4, 0x64, 0x77, 0xb3, 0xf4, 0x35, 0x28, 0x8f, 0x1f,
3600	0x2f, 0xfc, 0x1a, 0xb2, 0x1f, 0x8d, 0xd9, 0x2f, 0x7d, 0x0f, 0x41, 0x61, 0xd3, 0xec, 0xf7, 0x75,
3601	0x1a, 0x45, 0xe7, 0xdb, 0x90, 0x66, 0x9d, 0x11, 0x07, 0x7b, 0x6e, 0xfd, 0xca, 0x74, 0x95, 0x9f,
3602	0x39, 0x7c, 0xb2, 0x60, 0x9f, 0x1f, 0x08, 0xe9, 0x27, 0x08, 0x8a, 0xae, 0x22, 0x42, 0xfb, 0x07,
3603	0x50, 0x60, 0xdb, 0x3b, 0xdc, 0xd1, 0xee, 0x55, 0x75, 0x75, 0xde, 0xa1, 0x8c, 0x5b, 0xce, 0x1f,
3604	0x8f, 0x16, 0x36, 0xbe, 0x03, 0x39, 0x95, 0x49, 0xe7, 0x91, 0x8e, 0xcf, 0x8d, 0x34, 0x70, 0x76,
3605	0x87, 0x20, 0xed, 0xc2, 0xaa, 0x6c, 0xf6, 0x7a, 0x87, 0x8a, 0x7a, 0x14, 0xc5, 0x4b, 0x21, 0x63,
3606	0xe3, 0xe3, 0xc6, 0xfe, 0x33, 0x0e, 0xab, 0xf2, 0xd0, 0x78, 0xe2, 0xf4, 0xa2, 0xf3, 0x2e, 0xc4,
3607	0xa7, 0x50, 0xb2, 0xa9, 0x35, 0x54, 0xe9, 0xd0, 0x22, 0x5a, 0x87, 0xb5, 0xaf, 0x42, 0xfd, 0x2f,
3608	0x4f, 0x77, 0xc4, 0xbe, 0xb7, 0x83, 0x9d, 0xd1, 0x8e, 0xc9, 0xab, 0x76, 0x90, 0x14, 0xae, 0x30,
3609	0x29, 0x56, 0x61, 0xd0, 0xdc, 0x0a, 0x93, 0x5e, 0xa2, 0xc2, 0xa0, 0xb3, 0x56, 0x18, 0xe4, 0x4b,
3610	0xbc, 0x3c, 0x00, 0x73, 0x42, 0x87, 0x9e, 0x0c, 0xa6, 0xd7, 0x9b, 0xbf, 0x21, 0x28, 0x8d, 0x3c,
3611	0x3c, 0x39, 0x1d, 0xc6, 0x03, 0x73, 0xe6, 0x1b, 0x3a, 0x50, 0x4e, 0x12, 0xd1, 0xcb, 0x09, 0xbe,
3612	0x0e, 0xab, 0xf6, 0x91, 0x3e, 0x18, 0x10, 0xcd, 0x43, 0x7b, 0x92, 0xf5, 0xb7, 0x45, 0x41, 0x16,
3613	0x40, 0x96, 0x3e, 0x8f, 0x43, 0x5e, 0xc0, 0x7c, 0x3e, 0x12, 0x2f, 0x41, 0xd6, 0xa6, 0x16, 0x51,
3614	0xfa, 0xa3, 0x46, 0x2a, 0xc3, 0x09, 0x3b, 0x9a, 0x2f, 0x99, 0x13, 0x8b, 0x25, 0xb3, 0xd3, 0x93,
3615	0x72, 0xa9, 0xa3, 0x56, 0x3b, 0x2f, 0xe7, 0x38, 0x8d, 0x37, 0xdb, 0x0f, 0x20, 0xdd, 0x53, 0x0e,
3616	0x49, 0xcf, 0x2e, 0xa7, 0x98, 0xec, 0xf5, 0xb9, 0x39, 0xcb, 0x8c, 0xa9, 0x3f, 0x64, 0x9b, 0x5a,
3617	0x06, 0xb5, 0x4e, 0x64, 0x21, 0xa1, 0xf2, 0x2e, 0xe4, 0x7c, 0x64, 0x5c, 0x82, 0xc4, 0x11, 0x39,
3618	0x11, 0xa6, 0x3a, 0x9f, 0xf8, 0x1c, 0xa4, 0x5e, 0x29, 0xbd, 0x21, 0x11, 0x16, 0xf2, 0x45, 0x33,
3619	0xfe, 0x55, 0xe4, 0xdc, 0x3a, 0x05, 0xb7, 0x26, 0x70, 0x08, 0x04, 0x3c, 0x82, 0x42, 0x1e, 0x09,
3620	0x1b, 0x16, 0x9f, 0x64, 0x58, 0xa8, 0x26, 0x25, 0x5e, 0x5b, 0x4d, 0x4a, 0x2e, 0x54, 0x93, 0x7e,
3621	0x15, 0x87, 0xc2, 0x43, 0x06, 0xfb, 0x28, 0x40, 0xb8, 0x07, 0xa0, 0x68, 0x5a, 0x87, 0x2a, 0x56,
3622	0x97, 0xb8, 0xed, 0xd2, 0xda, 0x8c, 0x1c, 0x66, 0x7c, 0xed, 0x98, 0x9c, 0x55, 0x34, 0x8d, 0x2f,
3623	0xf0, 0x55, 0x28, 0x58, 0xa4, 0x6f, 0xbe, 0x22, 0xae, 0x14, 0xf6, 0xfe, 0x6a, 0xc7, 0xe4, 0x3c,
3624	0x27, 0x0b, 0xb6, 0x6f, 0x78, 0x91, 0x4f, 0x32, 0xcf, 0xdc, 0x9a, 0x7e, 0x4a, 0x40, 0xfd, 0xd7,
3625	0x1c, 0xfa, 0x8d, 0x55, 0x28, 0x70, 0x3d, 0x3b, 0xea, 0x4b, 0xc5, 0xe8, 0x12, 0xe9, 0x37, 0x09,
3626	0x28, 0xba, 0x27, 0x0a, 0x30, 0x3c, 0x0a, 0xf1, 0xcc, 0xef, 0x23, 0xb9, 0x91, 0x9b, 0x8c, 0xdb,
3627	0x31, 0x9d, 0xfa, 0xd6, 0x78, 0x1f, 0x56, 0xbd, 0x57, 0x89, 0x10, 0xc8, 0x4b, 0x40, 0x75, 0x7e,
3628	0x0d, 0xf1, 0x44, 0x16, 0xb5, 0x00, 0x25, 0x20, 0x54, 0x63, 0x4d, 0xb2, 0x00, 0x4a, 0x04, 0xa1,
3629	0xbc, 0xa9, 0xf6, 0x0b, 0xe5, 0x94, 0x80, 0x50, 0x1e, 0x3d, 0x51, 0xd7, 0x23, 0x08, 0x95, 0x19,
3630	0xbf, 0x5f, 0x28, 0xa7, 0xe0, 0x4d, 0x48, 0xbf, 0xd0, 0x7b, 0x94, 0x58, 0xa2, 0x0b, 0x9d, 0x71,
3631	0x3d, 0xb5, 0x3e, 0xe6, 0x05, 0x9b, 0xdc, 0x67, 0x1b, 0xda, 0x31, 0x59, 0x6c, 0x75, 0xc2, 0x66,
3632	0x89, 0xf0, 0xb0, 0x02, 0x2f, 0xfd, 0x20, 0x09, 0x69, 0x01, 0xad, 0x2d, 0x48, 0xf9, 0xaf, 0xbf,
3633	0x77, 0xe6, 0x85, 0xa9, 0xce, 0xaa, 0xbf, 0x87, 0x65, 0xbe, 0x19, 0xef, 0xf9, 0x7b, 0x76, 0x1e,
3634	0x9f, 0x1b, 0x73, 0x25, 0x79, 0x2d, 0xeb, 0x28, 0x33, 0x46, 0x7d, 0xfe, 0xdb, 0x90, 0x77, 0xaa,
3635	0x41, 0xdf, 0x3f, 0x7a, 0x60, 0x57, 0x29, 0xa7, 0xf2, 0xc2, 0x11, 0xb8, 0xf1, 0x72, 0x8b, 0xdc,
3636	0x78, 0x4e, 0xcd, 0x12, 0x30, 0xd5, 0x35, 0xe6, 0xdb, 0x94, 0x9c, 0xe1, 0x84, 0x1d, 0xcd, 0x79,
3637	0x22, 0x99, 0x86, 0xca, 0xe3, 0x97, 0x91, 0xd9, 0x77, 0xa5, 0x01, 0xab, 0x21, 0x85, 0x67, 0xbf,
3638	0x54, 0x2a, 0xdf, 0x47, 0x90, 0xf3, 0x39, 0xeb, 0xff, 0xdd, 0x8b, 0x84, 0xee, 0xf4, 0x02, 0xe4,
3639	0x84, 0xbd, 0xee, 0xd2, 0x75, 0xaf, 0x03, 0x88, 0xff, 0xc4, 0x21, 0xef, 0x4f, 0x43, 0x4c, 0x00,
3640	0x07, 0xb2, 0x98, 0xb1, 0x31, 0xc5, 0x8b, 0xeb, 0xb7, 0xa3, 0xa5, 0x72, 0x60, 0x71, 0x70, 0x32,
3641	0x20, 0x72, 0x89, 0x86, 0x28, 0xf8, 0x2d, 0x00, 0x2f, 0x0a, 0xdc, 0x85, 0x29, 0x39, 0xeb, 0x86,
3642	0xc1, 0xc6, 0x55, 0x48, 0xa9, 0xca, 0xd0, 0x76, 0x53, 0x1e, 0xbb, 0x07, 0x5b, 0x03, 0xb5, 0xbe,
3643	0xcf, 0xe6, 0x7e, 0x32, 0x67, 0x70, 0x6e, 0x99, 0x71, 0xb8, 0x04, 0xc1, 0x12, 0x68, 0x23, 0xd2,
3644	0xd1, 0xdb, 0x08, 0xe9, 0x31, 0x94, 0xc2, 0xa6, 0xe0, 0x02, 0x64, 0x1f, 0xef, 0x76, 0x36, 0xdb,
3645	0xf7, 0x1e, 0x6f, 0xb7, 0x4a, 0x31, 0xbc, 0x02, 0x89, 0x7b, 0x5b, 0x5b, 0x25, 0x84, 0x01, 0xd2,
3646	0x72, 0xeb, 0xd1, 0xee, 0xd3, 0x56, 0x29, 0x8e, 0x73, 0xb0, 0xb2, 0xf9, 0x81, 0x2c, 0xb7, 0x1e,
3647	0x1f, 0x94, 0x12, 0x38, 0x0b, 0x29, 0xb9, 0xb5, 0xdf, 0x3a, 0x28, 0x25, 0x25, 0x03, 0xca, 0x4e,
3648	0xcd, 0xdc, 0xf4, 0x0d, 0x5f, 0xe6, 0x4e, 0xf2, 0x02, 0x43, 0xba, 0xf8, 0xcc, 0x21, 0x5d, 0x22,
3649	0x34, 0xa4, 0x93, 0x3e, 0x84, 0x8b, 0x13, 0xce, 0x13, 0xe5, 0xfa, 0x2a, 0x14, 0x03, 0xa3, 0x21,
3650	0xfe, 0x20, 0xc8, 0xca, 0x05, 0xff, 0x6c, 0x28, 0xf2, 0x6c, 0x6a, 0xfd, 0x97, 0x18, 0xb2, 0xf7,
3651	0x5d, 0x58, 0xe0, 0x9f, 0x22, 0xc8, 0xf9, 0xde, 0xa6, 0x78, 0x46, 0x75, 0x19, 0x9f, 0xda, 0x56,
3652	0x22, 0x74, 0x89, 0xd2, 0xdd, 0xef, 0xfe, 0xf5, 0xdf, 0x3f, 0x8c, 0xdf, 0xc6, 0x5f, 0xf1, 0xa6,
3653	0xcc, 0x9f, 0x1a, 0x4a, 0x9f, 0xdc, 0x1d, 0x58, 0xe6, 0x87, 0x44, 0xa5, 0x76, 0xa3, 0xd6, 0x70,
3654	0xef, 0x6b, 0xf6, 0xed, 0x66, 0x67, 0xa3, 0xd6, 0xa8, 0xd5, 0x4e, 0xf1, 0x1f, 0x10, 0xbf, 0xf0,
3655	0xbd, 0xcc, 0xc6, 0xf5, 0xd9, 0x57, 0x6b, 0x78, 0x92, 0x51, 0x69, 0x44, 0xe6, 0xe7, 0x0e, 0x97,
3656	0x76, 0x99, 0xc6, 0x3b, 0x78, 0x7b, 0xa4, 0x31, 0x8f, 0x71, 0x44, 0x9d, 0x1b, 0x9f, 0x06, 0xe2,
3657	0x75, 0x8a, 0x7f, 0xef, 0x3c, 0xf2, 0x02, 0xe3, 0x40, 0x3c, 0x43, 0xa9, 0x89, 0x83, 0xc3, 0x48,
3658	0xae, 0x7e, 0xc6, 0x14, 0x7f, 0x22, 0xb5, 0x96, 0x50, 0x7c, 0x5c, 0xed, 0xe6, 0xa8, 0xbf, 0xff,
3659	0x2d, 0x82, 0x62, 0x70, 0xb6, 0x37, 0xcb, 0x80, 0x89, 0x53, 0xc0, 0x48, 0x06, 0xec, 0x31, 0x03,
3660	0x1e, 0xac, 0xbf, 0x37, 0x32, 0xc0, 0xfb, 0x87, 0x63, 0x01, 0xd0, 0xf8, 0x34, 0xff, 0x31, 0x82,
3661	0x62, 0x70, 0xc8, 0x36, 0x4b, 0xf3, 0x89, 0xe3, 0xb8, 0xca, 0x85, 0xb1, 0x1a, 0xd4, 0xea, 0x0f,
3662	0xe8, 0x89, 0x8b, 0xec, 0xda, 0x92, 0xc8, 0xfe, 0x23, 0x82, 0x37, 0xc6, 0x66, 0x43, 0x78, 0xc6,
3663	0x93, 0x61, 0xda, 0xac, 0xae, 0x72, 0x6b, 0xa1, 0x3d, 0x02, 0xe5, 0x6d, 0xa6, 0xfd, 0x86, 0x74,
3664	0xd7, 0xe7, 0x6b, 0xa1, 0xed, 0x14, 0x0b, 0x4e, 0x47, 0x26, 0x34, 0x0f, 0x85, 0xdc, 0x26, 0xaa,
3665	0xdd, 0x40, 0xf8, 0xcf, 0x08, 0x4a, 0xe1, 0x69, 0x0c, 0xbe, 0x39, 0x43, 0xab, 0xc9, 0x83, 0xa3,
3666	0xca, 0xfa, 0x22, 0x5b, 0x84, 0x1d, 0x02, 0x33, 0x7e, 0xd0, 0x2f, 0x62, 0x47, 0x48, 0x6c, 0x13,
3667	0xd5, 0xf0, 0x67, 0x08, 0xd2, 0x7c, 0x26, 0x83, 0xaf, 0xcf, 0x48, 0x53, 0xff, 0xf8, 0xa8, 0x52,
3668	0x9d, 0xcf, 0x28, 0xf4, 0xbd, 0xcf, 0xf4, 0x7d, 0x5f, 0xba, 0xb3, 0x94, 0xbe, 0xfc, 0x29, 0xe4,
3669	0x68, 0xf9, 0x23, 0x04, 0x19, 0x77, 0x3c, 0x83, 0x67, 0xf4, 0x21, 0xa1, 0x11, 0xce, 0x54, 0x34,
3670	0x9f, 0x0d, 0x0f, 0x96, 0x38, 0xc5, 0xd1, 0xec, 0x17, 0x8e, 0x66, 0x62, 0x08, 0x31, 0x53, 0xb3,
3671	0xe0, 0x28, 0xa8, 0x52, 0x8b, 0xc2, 0x3a, 0xdd, 0x8b, 0x11, 0x4b, 0xdd, 0x69, 0xd3, 0x12, 0xc2,
3672	0x38, 0x76, 0x3f, 0x43, 0x90, 0x62, 0x8f, 0x55, 0x7c, 0x2d, 0xda, 0x6b, 0xbd, 0x72, 0x7d, 0xfe,
3673	0xab, 0x97, 0x2b, 0xd9, 0x62, 0x4a, 0x7e, 0x5d, 0x6a, 0x2e, 0xe5, 0x52, 0xf6, 0x68, 0x6e, 0xa2,
3674	0x5a, 0x15, 0xdd, 0x40, 0xf8, 0xe7, 0x08, 0xd2, 0xfc, 0x19, 0x37, 0x0b, 0x93, 0x81, 0xa7, 0xe5,
3675	0x2c, 0x4c, 0x06, 0x5f, 0x84, 0x67, 0xc4, 0x64, 0x8f, 0x09, 0x73, 0x35, 0xfd, 0x0b, 0x82, 0x37,
3676	0xc6, 0x9a, 0x99, 0x59, 0x65, 0x6d, 0x5a, 0xa7, 0x55, 0xb9, 0xb5, 0xd0, 0x9e, 0xe0, 0xe5, 0x2d,
3677	0x6d, 0x2d, 0x01, 0x8c, 0x5e, 0x58, 0x6a, 0x13, 0xd5, 0x36, 0x7e, 0x87, 0xe0, 0xb2, 0x6a, 0xf6,
3678	0xa7, 0xea, 0xb2, 0x51, 0xf4, 0xba, 0xa9, 0x3d, 0x27, 0xa3, 0xf6, 0xd0, 0x37, 0xef, 0x09, 0xde,
3679	0xae, 0xd9, 0x53, 0x8c, 0x6e, 0xdd, 0xb4, 0xba, 0x8d, 0x2e, 0x31, 0x58, 0xbe, 0x35, 0xf8, 0x4f,
3680	0xca, 0x40, 0xb7, 0xc7, 0xff, 0x7f, 0xbf, 0xe3, 0x51, 0x7e, 0x16, 0x4f, 0x6e, 0x6f, 0xde, 0xdf,
3681	0xff, 0x3c, 0xfe, 0x85, 0x6d, 0x2e, 0x6a, 0xb3, 0x67, 0x0e, 0xb5, 0xba, 0x77, 0x52, 0xfd, 0xe9,
3682	0xcd, 0x0d, 0x67, 0xc7, 0x9f, 0x5c, 0x86, 0xe7, 0x8c, 0xe1, 0xb9, 0xc7, 0xf0, 0xfc, 0x29, 0x17,
3683	0x79, 0x98, 0x66, 0xc7, 0xde, 0xfa, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x63, 0xa1, 0x5f, 0x1d,
3684	0xcd, 0x20, 0x00, 0x00,
3685}
3686