1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/datastore/v1beta3/query.proto
3
4package datastore
5
6import (
7	fmt "fmt"
8	math "math"
9
10	proto "github.com/golang/protobuf/proto"
11	wrappers "github.com/golang/protobuf/ptypes/wrappers"
12	_ "google.golang.org/genproto/googleapis/api/annotations"
13	_ "google.golang.org/genproto/googleapis/type/latlng"
14)
15
16// Reference imports to suppress errors if they are not otherwise used.
17var _ = proto.Marshal
18var _ = fmt.Errorf
19var _ = math.Inf
20
21// This is a compile-time assertion to ensure that this generated file
22// is compatible with the proto package it is being compiled against.
23// A compilation error at this line likely means your copy of the
24// proto package needs to be updated.
25const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
26
27// Specifies what data the 'entity' field contains.
28// A `ResultType` is either implied (for example, in `LookupResponse.missing`
29// from `datastore.proto`, it is always `KEY_ONLY`) or specified by context
30// (for example, in message `QueryResultBatch`, field `entity_result_type`
31// specifies a `ResultType` for all the values in field `entity_results`).
32type EntityResult_ResultType int32
33
34const (
35	// Unspecified. This value is never used.
36	EntityResult_RESULT_TYPE_UNSPECIFIED EntityResult_ResultType = 0
37	// The key and properties.
38	EntityResult_FULL EntityResult_ResultType = 1
39	// A projected subset of properties. The entity may have no key.
40	EntityResult_PROJECTION EntityResult_ResultType = 2
41	// Only the key.
42	EntityResult_KEY_ONLY EntityResult_ResultType = 3
43)
44
45var EntityResult_ResultType_name = map[int32]string{
46	0: "RESULT_TYPE_UNSPECIFIED",
47	1: "FULL",
48	2: "PROJECTION",
49	3: "KEY_ONLY",
50}
51
52var EntityResult_ResultType_value = map[string]int32{
53	"RESULT_TYPE_UNSPECIFIED": 0,
54	"FULL":                    1,
55	"PROJECTION":              2,
56	"KEY_ONLY":                3,
57}
58
59func (x EntityResult_ResultType) String() string {
60	return proto.EnumName(EntityResult_ResultType_name, int32(x))
61}
62
63func (EntityResult_ResultType) EnumDescriptor() ([]byte, []int) {
64	return fileDescriptor_7ed60bbcd54eb2b7, []int{0, 0}
65}
66
67// The sort direction.
68type PropertyOrder_Direction int32
69
70const (
71	// Unspecified. This value must not be used.
72	PropertyOrder_DIRECTION_UNSPECIFIED PropertyOrder_Direction = 0
73	// Ascending.
74	PropertyOrder_ASCENDING PropertyOrder_Direction = 1
75	// Descending.
76	PropertyOrder_DESCENDING PropertyOrder_Direction = 2
77)
78
79var PropertyOrder_Direction_name = map[int32]string{
80	0: "DIRECTION_UNSPECIFIED",
81	1: "ASCENDING",
82	2: "DESCENDING",
83}
84
85var PropertyOrder_Direction_value = map[string]int32{
86	"DIRECTION_UNSPECIFIED": 0,
87	"ASCENDING":             1,
88	"DESCENDING":            2,
89}
90
91func (x PropertyOrder_Direction) String() string {
92	return proto.EnumName(PropertyOrder_Direction_name, int32(x))
93}
94
95func (PropertyOrder_Direction) EnumDescriptor() ([]byte, []int) {
96	return fileDescriptor_7ed60bbcd54eb2b7, []int{5, 0}
97}
98
99// A composite filter operator.
100type CompositeFilter_Operator int32
101
102const (
103	// Unspecified. This value must not be used.
104	CompositeFilter_OPERATOR_UNSPECIFIED CompositeFilter_Operator = 0
105	// The results are required to satisfy each of the combined filters.
106	CompositeFilter_AND CompositeFilter_Operator = 1
107)
108
109var CompositeFilter_Operator_name = map[int32]string{
110	0: "OPERATOR_UNSPECIFIED",
111	1: "AND",
112}
113
114var CompositeFilter_Operator_value = map[string]int32{
115	"OPERATOR_UNSPECIFIED": 0,
116	"AND":                  1,
117}
118
119func (x CompositeFilter_Operator) String() string {
120	return proto.EnumName(CompositeFilter_Operator_name, int32(x))
121}
122
123func (CompositeFilter_Operator) EnumDescriptor() ([]byte, []int) {
124	return fileDescriptor_7ed60bbcd54eb2b7, []int{7, 0}
125}
126
127// A property filter operator.
128type PropertyFilter_Operator int32
129
130const (
131	// Unspecified. This value must not be used.
132	PropertyFilter_OPERATOR_UNSPECIFIED PropertyFilter_Operator = 0
133	// Less than.
134	PropertyFilter_LESS_THAN PropertyFilter_Operator = 1
135	// Less than or equal.
136	PropertyFilter_LESS_THAN_OR_EQUAL PropertyFilter_Operator = 2
137	// Greater than.
138	PropertyFilter_GREATER_THAN PropertyFilter_Operator = 3
139	// Greater than or equal.
140	PropertyFilter_GREATER_THAN_OR_EQUAL PropertyFilter_Operator = 4
141	// Equal.
142	PropertyFilter_EQUAL PropertyFilter_Operator = 5
143	// Has ancestor.
144	PropertyFilter_HAS_ANCESTOR PropertyFilter_Operator = 11
145)
146
147var PropertyFilter_Operator_name = map[int32]string{
148	0:  "OPERATOR_UNSPECIFIED",
149	1:  "LESS_THAN",
150	2:  "LESS_THAN_OR_EQUAL",
151	3:  "GREATER_THAN",
152	4:  "GREATER_THAN_OR_EQUAL",
153	5:  "EQUAL",
154	11: "HAS_ANCESTOR",
155}
156
157var PropertyFilter_Operator_value = map[string]int32{
158	"OPERATOR_UNSPECIFIED":  0,
159	"LESS_THAN":             1,
160	"LESS_THAN_OR_EQUAL":    2,
161	"GREATER_THAN":          3,
162	"GREATER_THAN_OR_EQUAL": 4,
163	"EQUAL":                 5,
164	"HAS_ANCESTOR":          11,
165}
166
167func (x PropertyFilter_Operator) String() string {
168	return proto.EnumName(PropertyFilter_Operator_name, int32(x))
169}
170
171func (PropertyFilter_Operator) EnumDescriptor() ([]byte, []int) {
172	return fileDescriptor_7ed60bbcd54eb2b7, []int{8, 0}
173}
174
175// The possible values for the `more_results` field.
176type QueryResultBatch_MoreResultsType int32
177
178const (
179	// Unspecified. This value is never used.
180	QueryResultBatch_MORE_RESULTS_TYPE_UNSPECIFIED QueryResultBatch_MoreResultsType = 0
181	// There may be additional batches to fetch from this query.
182	QueryResultBatch_NOT_FINISHED QueryResultBatch_MoreResultsType = 1
183	// The query is finished, but there may be more results after the limit.
184	QueryResultBatch_MORE_RESULTS_AFTER_LIMIT QueryResultBatch_MoreResultsType = 2
185	// The query is finished, but there may be more results after the end
186	// cursor.
187	QueryResultBatch_MORE_RESULTS_AFTER_CURSOR QueryResultBatch_MoreResultsType = 4
188	// The query is finished, and there are no more results.
189	QueryResultBatch_NO_MORE_RESULTS QueryResultBatch_MoreResultsType = 3
190)
191
192var QueryResultBatch_MoreResultsType_name = map[int32]string{
193	0: "MORE_RESULTS_TYPE_UNSPECIFIED",
194	1: "NOT_FINISHED",
195	2: "MORE_RESULTS_AFTER_LIMIT",
196	4: "MORE_RESULTS_AFTER_CURSOR",
197	3: "NO_MORE_RESULTS",
198}
199
200var QueryResultBatch_MoreResultsType_value = map[string]int32{
201	"MORE_RESULTS_TYPE_UNSPECIFIED": 0,
202	"NOT_FINISHED":                  1,
203	"MORE_RESULTS_AFTER_LIMIT":      2,
204	"MORE_RESULTS_AFTER_CURSOR":     4,
205	"NO_MORE_RESULTS":               3,
206}
207
208func (x QueryResultBatch_MoreResultsType) String() string {
209	return proto.EnumName(QueryResultBatch_MoreResultsType_name, int32(x))
210}
211
212func (QueryResultBatch_MoreResultsType) EnumDescriptor() ([]byte, []int) {
213	return fileDescriptor_7ed60bbcd54eb2b7, []int{11, 0}
214}
215
216// The result of fetching an entity from Datastore.
217type EntityResult struct {
218	// The resulting entity.
219	Entity *Entity `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
220	// The version of the entity, a strictly positive number that monotonically
221	// increases with changes to the entity.
222	//
223	// This field is set for
224	// [`FULL`][google.datastore.v1beta3.EntityResult.ResultType.FULL] entity
225	// results.
226	//
227	// For [missing][google.datastore.v1beta3.LookupResponse.missing] entities in
228	// `LookupResponse`, this is the version of the snapshot that was used to look
229	// up the entity, and it is always set except for eventually consistent reads.
230	Version int64 `protobuf:"varint,4,opt,name=version,proto3" json:"version,omitempty"`
231	// A cursor that points to the position after the result entity.
232	// Set only when the `EntityResult` is part of a `QueryResultBatch` message.
233	Cursor               []byte   `protobuf:"bytes,3,opt,name=cursor,proto3" json:"cursor,omitempty"`
234	XXX_NoUnkeyedLiteral struct{} `json:"-"`
235	XXX_unrecognized     []byte   `json:"-"`
236	XXX_sizecache        int32    `json:"-"`
237}
238
239func (m *EntityResult) Reset()         { *m = EntityResult{} }
240func (m *EntityResult) String() string { return proto.CompactTextString(m) }
241func (*EntityResult) ProtoMessage()    {}
242func (*EntityResult) Descriptor() ([]byte, []int) {
243	return fileDescriptor_7ed60bbcd54eb2b7, []int{0}
244}
245
246func (m *EntityResult) XXX_Unmarshal(b []byte) error {
247	return xxx_messageInfo_EntityResult.Unmarshal(m, b)
248}
249func (m *EntityResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
250	return xxx_messageInfo_EntityResult.Marshal(b, m, deterministic)
251}
252func (m *EntityResult) XXX_Merge(src proto.Message) {
253	xxx_messageInfo_EntityResult.Merge(m, src)
254}
255func (m *EntityResult) XXX_Size() int {
256	return xxx_messageInfo_EntityResult.Size(m)
257}
258func (m *EntityResult) XXX_DiscardUnknown() {
259	xxx_messageInfo_EntityResult.DiscardUnknown(m)
260}
261
262var xxx_messageInfo_EntityResult proto.InternalMessageInfo
263
264func (m *EntityResult) GetEntity() *Entity {
265	if m != nil {
266		return m.Entity
267	}
268	return nil
269}
270
271func (m *EntityResult) GetVersion() int64 {
272	if m != nil {
273		return m.Version
274	}
275	return 0
276}
277
278func (m *EntityResult) GetCursor() []byte {
279	if m != nil {
280		return m.Cursor
281	}
282	return nil
283}
284
285// A query for entities.
286type Query struct {
287	// The projection to return. Defaults to returning all properties.
288	Projection []*Projection `protobuf:"bytes,2,rep,name=projection,proto3" json:"projection,omitempty"`
289	// The kinds to query (if empty, returns entities of all kinds).
290	// Currently at most 1 kind may be specified.
291	Kind []*KindExpression `protobuf:"bytes,3,rep,name=kind,proto3" json:"kind,omitempty"`
292	// The filter to apply.
293	Filter *Filter `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
294	// The order to apply to the query results (if empty, order is unspecified).
295	Order []*PropertyOrder `protobuf:"bytes,5,rep,name=order,proto3" json:"order,omitempty"`
296	// The properties to make distinct. The query results will contain the first
297	// result for each distinct combination of values for the given properties
298	// (if empty, all results are returned).
299	DistinctOn []*PropertyReference `protobuf:"bytes,6,rep,name=distinct_on,json=distinctOn,proto3" json:"distinct_on,omitempty"`
300	// A starting point for the query results. Query cursors are
301	// returned in query result batches and
302	// [can only be used to continue the same
303	// query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
304	StartCursor []byte `protobuf:"bytes,7,opt,name=start_cursor,json=startCursor,proto3" json:"start_cursor,omitempty"`
305	// An ending point for the query results. Query cursors are
306	// returned in query result batches and
307	// [can only be used to limit the same
308	// query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
309	EndCursor []byte `protobuf:"bytes,8,opt,name=end_cursor,json=endCursor,proto3" json:"end_cursor,omitempty"`
310	// The number of results to skip. Applies before limit, but after all other
311	// constraints. Optional. Must be >= 0 if specified.
312	Offset int32 `protobuf:"varint,10,opt,name=offset,proto3" json:"offset,omitempty"`
313	// The maximum number of results to return. Applies after all other
314	// constraints. Optional.
315	// Unspecified is interpreted as no limit.
316	// Must be >= 0 if specified.
317	Limit                *wrappers.Int32Value `protobuf:"bytes,12,opt,name=limit,proto3" json:"limit,omitempty"`
318	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
319	XXX_unrecognized     []byte               `json:"-"`
320	XXX_sizecache        int32                `json:"-"`
321}
322
323func (m *Query) Reset()         { *m = Query{} }
324func (m *Query) String() string { return proto.CompactTextString(m) }
325func (*Query) ProtoMessage()    {}
326func (*Query) Descriptor() ([]byte, []int) {
327	return fileDescriptor_7ed60bbcd54eb2b7, []int{1}
328}
329
330func (m *Query) XXX_Unmarshal(b []byte) error {
331	return xxx_messageInfo_Query.Unmarshal(m, b)
332}
333func (m *Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
334	return xxx_messageInfo_Query.Marshal(b, m, deterministic)
335}
336func (m *Query) XXX_Merge(src proto.Message) {
337	xxx_messageInfo_Query.Merge(m, src)
338}
339func (m *Query) XXX_Size() int {
340	return xxx_messageInfo_Query.Size(m)
341}
342func (m *Query) XXX_DiscardUnknown() {
343	xxx_messageInfo_Query.DiscardUnknown(m)
344}
345
346var xxx_messageInfo_Query proto.InternalMessageInfo
347
348func (m *Query) GetProjection() []*Projection {
349	if m != nil {
350		return m.Projection
351	}
352	return nil
353}
354
355func (m *Query) GetKind() []*KindExpression {
356	if m != nil {
357		return m.Kind
358	}
359	return nil
360}
361
362func (m *Query) GetFilter() *Filter {
363	if m != nil {
364		return m.Filter
365	}
366	return nil
367}
368
369func (m *Query) GetOrder() []*PropertyOrder {
370	if m != nil {
371		return m.Order
372	}
373	return nil
374}
375
376func (m *Query) GetDistinctOn() []*PropertyReference {
377	if m != nil {
378		return m.DistinctOn
379	}
380	return nil
381}
382
383func (m *Query) GetStartCursor() []byte {
384	if m != nil {
385		return m.StartCursor
386	}
387	return nil
388}
389
390func (m *Query) GetEndCursor() []byte {
391	if m != nil {
392		return m.EndCursor
393	}
394	return nil
395}
396
397func (m *Query) GetOffset() int32 {
398	if m != nil {
399		return m.Offset
400	}
401	return 0
402}
403
404func (m *Query) GetLimit() *wrappers.Int32Value {
405	if m != nil {
406		return m.Limit
407	}
408	return nil
409}
410
411// A representation of a kind.
412type KindExpression struct {
413	// The name of the kind.
414	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
415	XXX_NoUnkeyedLiteral struct{} `json:"-"`
416	XXX_unrecognized     []byte   `json:"-"`
417	XXX_sizecache        int32    `json:"-"`
418}
419
420func (m *KindExpression) Reset()         { *m = KindExpression{} }
421func (m *KindExpression) String() string { return proto.CompactTextString(m) }
422func (*KindExpression) ProtoMessage()    {}
423func (*KindExpression) Descriptor() ([]byte, []int) {
424	return fileDescriptor_7ed60bbcd54eb2b7, []int{2}
425}
426
427func (m *KindExpression) XXX_Unmarshal(b []byte) error {
428	return xxx_messageInfo_KindExpression.Unmarshal(m, b)
429}
430func (m *KindExpression) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
431	return xxx_messageInfo_KindExpression.Marshal(b, m, deterministic)
432}
433func (m *KindExpression) XXX_Merge(src proto.Message) {
434	xxx_messageInfo_KindExpression.Merge(m, src)
435}
436func (m *KindExpression) XXX_Size() int {
437	return xxx_messageInfo_KindExpression.Size(m)
438}
439func (m *KindExpression) XXX_DiscardUnknown() {
440	xxx_messageInfo_KindExpression.DiscardUnknown(m)
441}
442
443var xxx_messageInfo_KindExpression proto.InternalMessageInfo
444
445func (m *KindExpression) GetName() string {
446	if m != nil {
447		return m.Name
448	}
449	return ""
450}
451
452// A reference to a property relative to the kind expressions.
453type PropertyReference struct {
454	// The name of the property.
455	// If name includes "."s, it may be interpreted as a property name path.
456	Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
457	XXX_NoUnkeyedLiteral struct{} `json:"-"`
458	XXX_unrecognized     []byte   `json:"-"`
459	XXX_sizecache        int32    `json:"-"`
460}
461
462func (m *PropertyReference) Reset()         { *m = PropertyReference{} }
463func (m *PropertyReference) String() string { return proto.CompactTextString(m) }
464func (*PropertyReference) ProtoMessage()    {}
465func (*PropertyReference) Descriptor() ([]byte, []int) {
466	return fileDescriptor_7ed60bbcd54eb2b7, []int{3}
467}
468
469func (m *PropertyReference) XXX_Unmarshal(b []byte) error {
470	return xxx_messageInfo_PropertyReference.Unmarshal(m, b)
471}
472func (m *PropertyReference) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
473	return xxx_messageInfo_PropertyReference.Marshal(b, m, deterministic)
474}
475func (m *PropertyReference) XXX_Merge(src proto.Message) {
476	xxx_messageInfo_PropertyReference.Merge(m, src)
477}
478func (m *PropertyReference) XXX_Size() int {
479	return xxx_messageInfo_PropertyReference.Size(m)
480}
481func (m *PropertyReference) XXX_DiscardUnknown() {
482	xxx_messageInfo_PropertyReference.DiscardUnknown(m)
483}
484
485var xxx_messageInfo_PropertyReference proto.InternalMessageInfo
486
487func (m *PropertyReference) GetName() string {
488	if m != nil {
489		return m.Name
490	}
491	return ""
492}
493
494// A representation of a property in a projection.
495type Projection struct {
496	// The property to project.
497	Property             *PropertyReference `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"`
498	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
499	XXX_unrecognized     []byte             `json:"-"`
500	XXX_sizecache        int32              `json:"-"`
501}
502
503func (m *Projection) Reset()         { *m = Projection{} }
504func (m *Projection) String() string { return proto.CompactTextString(m) }
505func (*Projection) ProtoMessage()    {}
506func (*Projection) Descriptor() ([]byte, []int) {
507	return fileDescriptor_7ed60bbcd54eb2b7, []int{4}
508}
509
510func (m *Projection) XXX_Unmarshal(b []byte) error {
511	return xxx_messageInfo_Projection.Unmarshal(m, b)
512}
513func (m *Projection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
514	return xxx_messageInfo_Projection.Marshal(b, m, deterministic)
515}
516func (m *Projection) XXX_Merge(src proto.Message) {
517	xxx_messageInfo_Projection.Merge(m, src)
518}
519func (m *Projection) XXX_Size() int {
520	return xxx_messageInfo_Projection.Size(m)
521}
522func (m *Projection) XXX_DiscardUnknown() {
523	xxx_messageInfo_Projection.DiscardUnknown(m)
524}
525
526var xxx_messageInfo_Projection proto.InternalMessageInfo
527
528func (m *Projection) GetProperty() *PropertyReference {
529	if m != nil {
530		return m.Property
531	}
532	return nil
533}
534
535// The desired order for a specific property.
536type PropertyOrder struct {
537	// The property to order by.
538	Property *PropertyReference `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"`
539	// The direction to order by. Defaults to `ASCENDING`.
540	Direction            PropertyOrder_Direction `protobuf:"varint,2,opt,name=direction,proto3,enum=google.datastore.v1beta3.PropertyOrder_Direction" json:"direction,omitempty"`
541	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
542	XXX_unrecognized     []byte                  `json:"-"`
543	XXX_sizecache        int32                   `json:"-"`
544}
545
546func (m *PropertyOrder) Reset()         { *m = PropertyOrder{} }
547func (m *PropertyOrder) String() string { return proto.CompactTextString(m) }
548func (*PropertyOrder) ProtoMessage()    {}
549func (*PropertyOrder) Descriptor() ([]byte, []int) {
550	return fileDescriptor_7ed60bbcd54eb2b7, []int{5}
551}
552
553func (m *PropertyOrder) XXX_Unmarshal(b []byte) error {
554	return xxx_messageInfo_PropertyOrder.Unmarshal(m, b)
555}
556func (m *PropertyOrder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
557	return xxx_messageInfo_PropertyOrder.Marshal(b, m, deterministic)
558}
559func (m *PropertyOrder) XXX_Merge(src proto.Message) {
560	xxx_messageInfo_PropertyOrder.Merge(m, src)
561}
562func (m *PropertyOrder) XXX_Size() int {
563	return xxx_messageInfo_PropertyOrder.Size(m)
564}
565func (m *PropertyOrder) XXX_DiscardUnknown() {
566	xxx_messageInfo_PropertyOrder.DiscardUnknown(m)
567}
568
569var xxx_messageInfo_PropertyOrder proto.InternalMessageInfo
570
571func (m *PropertyOrder) GetProperty() *PropertyReference {
572	if m != nil {
573		return m.Property
574	}
575	return nil
576}
577
578func (m *PropertyOrder) GetDirection() PropertyOrder_Direction {
579	if m != nil {
580		return m.Direction
581	}
582	return PropertyOrder_DIRECTION_UNSPECIFIED
583}
584
585// A holder for any type of filter.
586type Filter struct {
587	// The type of filter.
588	//
589	// Types that are valid to be assigned to FilterType:
590	//	*Filter_CompositeFilter
591	//	*Filter_PropertyFilter
592	FilterType           isFilter_FilterType `protobuf_oneof:"filter_type"`
593	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
594	XXX_unrecognized     []byte              `json:"-"`
595	XXX_sizecache        int32               `json:"-"`
596}
597
598func (m *Filter) Reset()         { *m = Filter{} }
599func (m *Filter) String() string { return proto.CompactTextString(m) }
600func (*Filter) ProtoMessage()    {}
601func (*Filter) Descriptor() ([]byte, []int) {
602	return fileDescriptor_7ed60bbcd54eb2b7, []int{6}
603}
604
605func (m *Filter) XXX_Unmarshal(b []byte) error {
606	return xxx_messageInfo_Filter.Unmarshal(m, b)
607}
608func (m *Filter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
609	return xxx_messageInfo_Filter.Marshal(b, m, deterministic)
610}
611func (m *Filter) XXX_Merge(src proto.Message) {
612	xxx_messageInfo_Filter.Merge(m, src)
613}
614func (m *Filter) XXX_Size() int {
615	return xxx_messageInfo_Filter.Size(m)
616}
617func (m *Filter) XXX_DiscardUnknown() {
618	xxx_messageInfo_Filter.DiscardUnknown(m)
619}
620
621var xxx_messageInfo_Filter proto.InternalMessageInfo
622
623type isFilter_FilterType interface {
624	isFilter_FilterType()
625}
626
627type Filter_CompositeFilter struct {
628	CompositeFilter *CompositeFilter `protobuf:"bytes,1,opt,name=composite_filter,json=compositeFilter,proto3,oneof"`
629}
630
631type Filter_PropertyFilter struct {
632	PropertyFilter *PropertyFilter `protobuf:"bytes,2,opt,name=property_filter,json=propertyFilter,proto3,oneof"`
633}
634
635func (*Filter_CompositeFilter) isFilter_FilterType() {}
636
637func (*Filter_PropertyFilter) isFilter_FilterType() {}
638
639func (m *Filter) GetFilterType() isFilter_FilterType {
640	if m != nil {
641		return m.FilterType
642	}
643	return nil
644}
645
646func (m *Filter) GetCompositeFilter() *CompositeFilter {
647	if x, ok := m.GetFilterType().(*Filter_CompositeFilter); ok {
648		return x.CompositeFilter
649	}
650	return nil
651}
652
653func (m *Filter) GetPropertyFilter() *PropertyFilter {
654	if x, ok := m.GetFilterType().(*Filter_PropertyFilter); ok {
655		return x.PropertyFilter
656	}
657	return nil
658}
659
660// XXX_OneofWrappers is for the internal use of the proto package.
661func (*Filter) XXX_OneofWrappers() []interface{} {
662	return []interface{}{
663		(*Filter_CompositeFilter)(nil),
664		(*Filter_PropertyFilter)(nil),
665	}
666}
667
668// A filter that merges multiple other filters using the given operator.
669type CompositeFilter struct {
670	// The operator for combining multiple filters.
671	Op CompositeFilter_Operator `protobuf:"varint,1,opt,name=op,proto3,enum=google.datastore.v1beta3.CompositeFilter_Operator" json:"op,omitempty"`
672	// The list of filters to combine.
673	// Must contain at least one filter.
674	Filters              []*Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"`
675	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
676	XXX_unrecognized     []byte    `json:"-"`
677	XXX_sizecache        int32     `json:"-"`
678}
679
680func (m *CompositeFilter) Reset()         { *m = CompositeFilter{} }
681func (m *CompositeFilter) String() string { return proto.CompactTextString(m) }
682func (*CompositeFilter) ProtoMessage()    {}
683func (*CompositeFilter) Descriptor() ([]byte, []int) {
684	return fileDescriptor_7ed60bbcd54eb2b7, []int{7}
685}
686
687func (m *CompositeFilter) XXX_Unmarshal(b []byte) error {
688	return xxx_messageInfo_CompositeFilter.Unmarshal(m, b)
689}
690func (m *CompositeFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
691	return xxx_messageInfo_CompositeFilter.Marshal(b, m, deterministic)
692}
693func (m *CompositeFilter) XXX_Merge(src proto.Message) {
694	xxx_messageInfo_CompositeFilter.Merge(m, src)
695}
696func (m *CompositeFilter) XXX_Size() int {
697	return xxx_messageInfo_CompositeFilter.Size(m)
698}
699func (m *CompositeFilter) XXX_DiscardUnknown() {
700	xxx_messageInfo_CompositeFilter.DiscardUnknown(m)
701}
702
703var xxx_messageInfo_CompositeFilter proto.InternalMessageInfo
704
705func (m *CompositeFilter) GetOp() CompositeFilter_Operator {
706	if m != nil {
707		return m.Op
708	}
709	return CompositeFilter_OPERATOR_UNSPECIFIED
710}
711
712func (m *CompositeFilter) GetFilters() []*Filter {
713	if m != nil {
714		return m.Filters
715	}
716	return nil
717}
718
719// A filter on a specific property.
720type PropertyFilter struct {
721	// The property to filter by.
722	Property *PropertyReference `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"`
723	// The operator to filter by.
724	Op PropertyFilter_Operator `protobuf:"varint,2,opt,name=op,proto3,enum=google.datastore.v1beta3.PropertyFilter_Operator" json:"op,omitempty"`
725	// The value to compare the property to.
726	Value                *Value   `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
727	XXX_NoUnkeyedLiteral struct{} `json:"-"`
728	XXX_unrecognized     []byte   `json:"-"`
729	XXX_sizecache        int32    `json:"-"`
730}
731
732func (m *PropertyFilter) Reset()         { *m = PropertyFilter{} }
733func (m *PropertyFilter) String() string { return proto.CompactTextString(m) }
734func (*PropertyFilter) ProtoMessage()    {}
735func (*PropertyFilter) Descriptor() ([]byte, []int) {
736	return fileDescriptor_7ed60bbcd54eb2b7, []int{8}
737}
738
739func (m *PropertyFilter) XXX_Unmarshal(b []byte) error {
740	return xxx_messageInfo_PropertyFilter.Unmarshal(m, b)
741}
742func (m *PropertyFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
743	return xxx_messageInfo_PropertyFilter.Marshal(b, m, deterministic)
744}
745func (m *PropertyFilter) XXX_Merge(src proto.Message) {
746	xxx_messageInfo_PropertyFilter.Merge(m, src)
747}
748func (m *PropertyFilter) XXX_Size() int {
749	return xxx_messageInfo_PropertyFilter.Size(m)
750}
751func (m *PropertyFilter) XXX_DiscardUnknown() {
752	xxx_messageInfo_PropertyFilter.DiscardUnknown(m)
753}
754
755var xxx_messageInfo_PropertyFilter proto.InternalMessageInfo
756
757func (m *PropertyFilter) GetProperty() *PropertyReference {
758	if m != nil {
759		return m.Property
760	}
761	return nil
762}
763
764func (m *PropertyFilter) GetOp() PropertyFilter_Operator {
765	if m != nil {
766		return m.Op
767	}
768	return PropertyFilter_OPERATOR_UNSPECIFIED
769}
770
771func (m *PropertyFilter) GetValue() *Value {
772	if m != nil {
773		return m.Value
774	}
775	return nil
776}
777
778// A [GQL
779// query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
780type GqlQuery struct {
781	// A string of the format described
782	// [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
783	QueryString string `protobuf:"bytes,1,opt,name=query_string,json=queryString,proto3" json:"query_string,omitempty"`
784	// When false, the query string must not contain any literals and instead must
785	// bind all values. For example,
786	// `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while
787	// `SELECT * FROM Kind WHERE a = @value` is.
788	AllowLiterals bool `protobuf:"varint,2,opt,name=allow_literals,json=allowLiterals,proto3" json:"allow_literals,omitempty"`
789	// For each non-reserved named binding site in the query string, there must be
790	// a named parameter with that name, but not necessarily the inverse.
791	//
792	// Key must match regex `[A-Za-z_$][A-Za-z_$0-9]*`, must not match regex
793	// `__.*__`, and must not be `""`.
794	NamedBindings map[string]*GqlQueryParameter `protobuf:"bytes,5,rep,name=named_bindings,json=namedBindings,proto3" json:"named_bindings,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
795	// Numbered binding site @1 references the first numbered parameter,
796	// effectively using 1-based indexing, rather than the usual 0.
797	//
798	// For each binding site numbered i in `query_string`, there must be an i-th
799	// numbered parameter. The inverse must also be true.
800	PositionalBindings   []*GqlQueryParameter `protobuf:"bytes,4,rep,name=positional_bindings,json=positionalBindings,proto3" json:"positional_bindings,omitempty"`
801	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
802	XXX_unrecognized     []byte               `json:"-"`
803	XXX_sizecache        int32                `json:"-"`
804}
805
806func (m *GqlQuery) Reset()         { *m = GqlQuery{} }
807func (m *GqlQuery) String() string { return proto.CompactTextString(m) }
808func (*GqlQuery) ProtoMessage()    {}
809func (*GqlQuery) Descriptor() ([]byte, []int) {
810	return fileDescriptor_7ed60bbcd54eb2b7, []int{9}
811}
812
813func (m *GqlQuery) XXX_Unmarshal(b []byte) error {
814	return xxx_messageInfo_GqlQuery.Unmarshal(m, b)
815}
816func (m *GqlQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
817	return xxx_messageInfo_GqlQuery.Marshal(b, m, deterministic)
818}
819func (m *GqlQuery) XXX_Merge(src proto.Message) {
820	xxx_messageInfo_GqlQuery.Merge(m, src)
821}
822func (m *GqlQuery) XXX_Size() int {
823	return xxx_messageInfo_GqlQuery.Size(m)
824}
825func (m *GqlQuery) XXX_DiscardUnknown() {
826	xxx_messageInfo_GqlQuery.DiscardUnknown(m)
827}
828
829var xxx_messageInfo_GqlQuery proto.InternalMessageInfo
830
831func (m *GqlQuery) GetQueryString() string {
832	if m != nil {
833		return m.QueryString
834	}
835	return ""
836}
837
838func (m *GqlQuery) GetAllowLiterals() bool {
839	if m != nil {
840		return m.AllowLiterals
841	}
842	return false
843}
844
845func (m *GqlQuery) GetNamedBindings() map[string]*GqlQueryParameter {
846	if m != nil {
847		return m.NamedBindings
848	}
849	return nil
850}
851
852func (m *GqlQuery) GetPositionalBindings() []*GqlQueryParameter {
853	if m != nil {
854		return m.PositionalBindings
855	}
856	return nil
857}
858
859// A binding parameter for a GQL query.
860type GqlQueryParameter struct {
861	// The type of parameter.
862	//
863	// Types that are valid to be assigned to ParameterType:
864	//	*GqlQueryParameter_Value
865	//	*GqlQueryParameter_Cursor
866	ParameterType        isGqlQueryParameter_ParameterType `protobuf_oneof:"parameter_type"`
867	XXX_NoUnkeyedLiteral struct{}                          `json:"-"`
868	XXX_unrecognized     []byte                            `json:"-"`
869	XXX_sizecache        int32                             `json:"-"`
870}
871
872func (m *GqlQueryParameter) Reset()         { *m = GqlQueryParameter{} }
873func (m *GqlQueryParameter) String() string { return proto.CompactTextString(m) }
874func (*GqlQueryParameter) ProtoMessage()    {}
875func (*GqlQueryParameter) Descriptor() ([]byte, []int) {
876	return fileDescriptor_7ed60bbcd54eb2b7, []int{10}
877}
878
879func (m *GqlQueryParameter) XXX_Unmarshal(b []byte) error {
880	return xxx_messageInfo_GqlQueryParameter.Unmarshal(m, b)
881}
882func (m *GqlQueryParameter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
883	return xxx_messageInfo_GqlQueryParameter.Marshal(b, m, deterministic)
884}
885func (m *GqlQueryParameter) XXX_Merge(src proto.Message) {
886	xxx_messageInfo_GqlQueryParameter.Merge(m, src)
887}
888func (m *GqlQueryParameter) XXX_Size() int {
889	return xxx_messageInfo_GqlQueryParameter.Size(m)
890}
891func (m *GqlQueryParameter) XXX_DiscardUnknown() {
892	xxx_messageInfo_GqlQueryParameter.DiscardUnknown(m)
893}
894
895var xxx_messageInfo_GqlQueryParameter proto.InternalMessageInfo
896
897type isGqlQueryParameter_ParameterType interface {
898	isGqlQueryParameter_ParameterType()
899}
900
901type GqlQueryParameter_Value struct {
902	Value *Value `protobuf:"bytes,2,opt,name=value,proto3,oneof"`
903}
904
905type GqlQueryParameter_Cursor struct {
906	Cursor []byte `protobuf:"bytes,3,opt,name=cursor,proto3,oneof"`
907}
908
909func (*GqlQueryParameter_Value) isGqlQueryParameter_ParameterType() {}
910
911func (*GqlQueryParameter_Cursor) isGqlQueryParameter_ParameterType() {}
912
913func (m *GqlQueryParameter) GetParameterType() isGqlQueryParameter_ParameterType {
914	if m != nil {
915		return m.ParameterType
916	}
917	return nil
918}
919
920func (m *GqlQueryParameter) GetValue() *Value {
921	if x, ok := m.GetParameterType().(*GqlQueryParameter_Value); ok {
922		return x.Value
923	}
924	return nil
925}
926
927func (m *GqlQueryParameter) GetCursor() []byte {
928	if x, ok := m.GetParameterType().(*GqlQueryParameter_Cursor); ok {
929		return x.Cursor
930	}
931	return nil
932}
933
934// XXX_OneofWrappers is for the internal use of the proto package.
935func (*GqlQueryParameter) XXX_OneofWrappers() []interface{} {
936	return []interface{}{
937		(*GqlQueryParameter_Value)(nil),
938		(*GqlQueryParameter_Cursor)(nil),
939	}
940}
941
942// A batch of results produced by a query.
943type QueryResultBatch struct {
944	// The number of results skipped, typically because of an offset.
945	SkippedResults int32 `protobuf:"varint,6,opt,name=skipped_results,json=skippedResults,proto3" json:"skipped_results,omitempty"`
946	// A cursor that points to the position after the last skipped result.
947	// Will be set when `skipped_results` != 0.
948	SkippedCursor []byte `protobuf:"bytes,3,opt,name=skipped_cursor,json=skippedCursor,proto3" json:"skipped_cursor,omitempty"`
949	// The result type for every entity in `entity_results`.
950	EntityResultType EntityResult_ResultType `protobuf:"varint,1,opt,name=entity_result_type,json=entityResultType,proto3,enum=google.datastore.v1beta3.EntityResult_ResultType" json:"entity_result_type,omitempty"`
951	// The results for this batch.
952	EntityResults []*EntityResult `protobuf:"bytes,2,rep,name=entity_results,json=entityResults,proto3" json:"entity_results,omitempty"`
953	// A cursor that points to the position after the last result in the batch.
954	EndCursor []byte `protobuf:"bytes,4,opt,name=end_cursor,json=endCursor,proto3" json:"end_cursor,omitempty"`
955	// The state of the query after the current batch.
956	MoreResults QueryResultBatch_MoreResultsType `protobuf:"varint,5,opt,name=more_results,json=moreResults,proto3,enum=google.datastore.v1beta3.QueryResultBatch_MoreResultsType" json:"more_results,omitempty"`
957	// The version number of the snapshot this batch was returned from.
958	// This applies to the range of results from the query's `start_cursor` (or
959	// the beginning of the query if no cursor was given) to this batch's
960	// `end_cursor` (not the query's `end_cursor`).
961	//
962	// In a single transaction, subsequent query result batches for the same query
963	// can have a greater snapshot version number. Each batch's snapshot version
964	// is valid for all preceding batches.
965	// The value will be zero for eventually consistent queries.
966	SnapshotVersion      int64    `protobuf:"varint,7,opt,name=snapshot_version,json=snapshotVersion,proto3" json:"snapshot_version,omitempty"`
967	XXX_NoUnkeyedLiteral struct{} `json:"-"`
968	XXX_unrecognized     []byte   `json:"-"`
969	XXX_sizecache        int32    `json:"-"`
970}
971
972func (m *QueryResultBatch) Reset()         { *m = QueryResultBatch{} }
973func (m *QueryResultBatch) String() string { return proto.CompactTextString(m) }
974func (*QueryResultBatch) ProtoMessage()    {}
975func (*QueryResultBatch) Descriptor() ([]byte, []int) {
976	return fileDescriptor_7ed60bbcd54eb2b7, []int{11}
977}
978
979func (m *QueryResultBatch) XXX_Unmarshal(b []byte) error {
980	return xxx_messageInfo_QueryResultBatch.Unmarshal(m, b)
981}
982func (m *QueryResultBatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
983	return xxx_messageInfo_QueryResultBatch.Marshal(b, m, deterministic)
984}
985func (m *QueryResultBatch) XXX_Merge(src proto.Message) {
986	xxx_messageInfo_QueryResultBatch.Merge(m, src)
987}
988func (m *QueryResultBatch) XXX_Size() int {
989	return xxx_messageInfo_QueryResultBatch.Size(m)
990}
991func (m *QueryResultBatch) XXX_DiscardUnknown() {
992	xxx_messageInfo_QueryResultBatch.DiscardUnknown(m)
993}
994
995var xxx_messageInfo_QueryResultBatch proto.InternalMessageInfo
996
997func (m *QueryResultBatch) GetSkippedResults() int32 {
998	if m != nil {
999		return m.SkippedResults
1000	}
1001	return 0
1002}
1003
1004func (m *QueryResultBatch) GetSkippedCursor() []byte {
1005	if m != nil {
1006		return m.SkippedCursor
1007	}
1008	return nil
1009}
1010
1011func (m *QueryResultBatch) GetEntityResultType() EntityResult_ResultType {
1012	if m != nil {
1013		return m.EntityResultType
1014	}
1015	return EntityResult_RESULT_TYPE_UNSPECIFIED
1016}
1017
1018func (m *QueryResultBatch) GetEntityResults() []*EntityResult {
1019	if m != nil {
1020		return m.EntityResults
1021	}
1022	return nil
1023}
1024
1025func (m *QueryResultBatch) GetEndCursor() []byte {
1026	if m != nil {
1027		return m.EndCursor
1028	}
1029	return nil
1030}
1031
1032func (m *QueryResultBatch) GetMoreResults() QueryResultBatch_MoreResultsType {
1033	if m != nil {
1034		return m.MoreResults
1035	}
1036	return QueryResultBatch_MORE_RESULTS_TYPE_UNSPECIFIED
1037}
1038
1039func (m *QueryResultBatch) GetSnapshotVersion() int64 {
1040	if m != nil {
1041		return m.SnapshotVersion
1042	}
1043	return 0
1044}
1045
1046func init() {
1047	proto.RegisterEnum("google.datastore.v1beta3.EntityResult_ResultType", EntityResult_ResultType_name, EntityResult_ResultType_value)
1048	proto.RegisterEnum("google.datastore.v1beta3.PropertyOrder_Direction", PropertyOrder_Direction_name, PropertyOrder_Direction_value)
1049	proto.RegisterEnum("google.datastore.v1beta3.CompositeFilter_Operator", CompositeFilter_Operator_name, CompositeFilter_Operator_value)
1050	proto.RegisterEnum("google.datastore.v1beta3.PropertyFilter_Operator", PropertyFilter_Operator_name, PropertyFilter_Operator_value)
1051	proto.RegisterEnum("google.datastore.v1beta3.QueryResultBatch_MoreResultsType", QueryResultBatch_MoreResultsType_name, QueryResultBatch_MoreResultsType_value)
1052	proto.RegisterType((*EntityResult)(nil), "google.datastore.v1beta3.EntityResult")
1053	proto.RegisterType((*Query)(nil), "google.datastore.v1beta3.Query")
1054	proto.RegisterType((*KindExpression)(nil), "google.datastore.v1beta3.KindExpression")
1055	proto.RegisterType((*PropertyReference)(nil), "google.datastore.v1beta3.PropertyReference")
1056	proto.RegisterType((*Projection)(nil), "google.datastore.v1beta3.Projection")
1057	proto.RegisterType((*PropertyOrder)(nil), "google.datastore.v1beta3.PropertyOrder")
1058	proto.RegisterType((*Filter)(nil), "google.datastore.v1beta3.Filter")
1059	proto.RegisterType((*CompositeFilter)(nil), "google.datastore.v1beta3.CompositeFilter")
1060	proto.RegisterType((*PropertyFilter)(nil), "google.datastore.v1beta3.PropertyFilter")
1061	proto.RegisterType((*GqlQuery)(nil), "google.datastore.v1beta3.GqlQuery")
1062	proto.RegisterMapType((map[string]*GqlQueryParameter)(nil), "google.datastore.v1beta3.GqlQuery.NamedBindingsEntry")
1063	proto.RegisterType((*GqlQueryParameter)(nil), "google.datastore.v1beta3.GqlQueryParameter")
1064	proto.RegisterType((*QueryResultBatch)(nil), "google.datastore.v1beta3.QueryResultBatch")
1065}
1066
1067func init() {
1068	proto.RegisterFile("google/datastore/v1beta3/query.proto", fileDescriptor_7ed60bbcd54eb2b7)
1069}
1070
1071var fileDescriptor_7ed60bbcd54eb2b7 = []byte{
1072	// 1323 bytes of a gzipped FileDescriptorProto
1073	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0xcb, 0x6e, 0xdb, 0x46,
1074	0x14, 0x35, 0xa9, 0x87, 0xa5, 0xab, 0x17, 0x33, 0x69, 0x53, 0xc6, 0x79, 0xd4, 0x21, 0x92, 0x46,
1075	0x41, 0x51, 0x09, 0x56, 0x10, 0x34, 0x48, 0xdb, 0x85, 0x1e, 0xb4, 0xad, 0x46, 0x16, 0x95, 0x91,
1076	0x6c, 0x20, 0x85, 0x0b, 0x82, 0x96, 0xc6, 0x0a, 0x1b, 0x8a, 0x64, 0xc8, 0x71, 0x12, 0x7f, 0x48,
1077	0x81, 0x7e, 0x43, 0x77, 0xfd, 0x83, 0x2e, 0xba, 0x2a, 0xd0, 0x6d, 0xb7, 0xfd, 0x80, 0x6e, 0xfa,
1078	0x07, 0x2d, 0x38, 0x33, 0xd4, 0xcb, 0x51, 0xe4, 0x02, 0xd9, 0x69, 0xee, 0x9c, 0x73, 0xee, 0xcc,
1079	0xe1, 0x9d, 0x99, 0x2b, 0xb8, 0x3b, 0xf6, 0xbc, 0xb1, 0x43, 0xaa, 0x23, 0x8b, 0x5a, 0x21, 0xf5,
1080	0x02, 0x52, 0x7d, 0xbd, 0x73, 0x42, 0xa8, 0xf5, 0xb0, 0xfa, 0xea, 0x8c, 0x04, 0xe7, 0x15, 0x3f,
1081	0xf0, 0xa8, 0x87, 0x54, 0x8e, 0xaa, 0x4c, 0x51, 0x15, 0x81, 0xda, 0xba, 0x29, 0xf8, 0x96, 0x6f,
1082	0x57, 0x2d, 0xd7, 0xf5, 0xa8, 0x45, 0x6d, 0xcf, 0x0d, 0x39, 0x6f, 0xeb, 0xde, 0x4a, 0x75, 0xe2,
1083	0x52, 0x9b, 0x0a, 0xf9, 0xad, 0xdb, 0x02, 0xc6, 0x46, 0x27, 0x67, 0xa7, 0xd5, 0x37, 0x81, 0xe5,
1084	0xfb, 0x24, 0x88, 0x65, 0x44, 0xfa, 0x2a, 0x3d, 0xf7, 0x49, 0xd5, 0xb1, 0xa8, 0xe3, 0x8e, 0xf9,
1085	0x8c, 0xf6, 0x87, 0x04, 0x79, 0x9d, 0x49, 0x61, 0x12, 0x9e, 0x39, 0x14, 0x3d, 0x86, 0x34, 0x97,
1086	0x56, 0xa5, 0x6d, 0xa9, 0x9c, 0xab, 0x6d, 0x57, 0x56, 0x2d, 0xbd, 0x22, 0x78, 0x02, 0x8f, 0x54,
1087	0xd8, 0x7c, 0x4d, 0x82, 0xd0, 0xf6, 0x5c, 0x35, 0xb9, 0x2d, 0x95, 0x13, 0x38, 0x1e, 0xa2, 0x6b,
1088	0x90, 0x1e, 0x9e, 0x05, 0xa1, 0x17, 0xa8, 0x89, 0x6d, 0xa9, 0x9c, 0xc7, 0x62, 0xa4, 0x3d, 0x03,
1089	0xe0, 0x59, 0x07, 0xe7, 0x3e, 0x41, 0x37, 0xe0, 0x13, 0xac, 0xf7, 0x0f, 0x3b, 0x03, 0x73, 0xf0,
1090	0xbc, 0xa7, 0x9b, 0x87, 0xdd, 0x7e, 0x4f, 0x6f, 0xb6, 0x77, 0xdb, 0x7a, 0x4b, 0xd9, 0x40, 0x19,
1091	0x48, 0xee, 0x1e, 0x76, 0x3a, 0x8a, 0x84, 0x8a, 0x00, 0x3d, 0x6c, 0x7c, 0xab, 0x37, 0x07, 0x6d,
1092	0xa3, 0xab, 0xc8, 0x28, 0x0f, 0x99, 0xa7, 0xfa, 0x73, 0xd3, 0xe8, 0x76, 0x9e, 0x2b, 0x09, 0xed,
1093	0xaf, 0x04, 0xa4, 0x9e, 0x45, 0xc6, 0xa3, 0x16, 0x80, 0x1f, 0x78, 0x3f, 0x90, 0x61, 0xe4, 0xa7,
1094	0x2a, 0x6f, 0x27, 0xca, 0xb9, 0xda, 0xdd, 0xd5, 0x9b, 0xe9, 0x4d, 0xb1, 0x78, 0x8e, 0x87, 0xbe,
1095	0x86, 0xe4, 0x4b, 0xdb, 0x1d, 0xa9, 0x09, 0xc6, 0x2f, 0xaf, 0xe6, 0x3f, 0xb5, 0xdd, 0x91, 0xfe,
1096	0xd6, 0x0f, 0x48, 0x18, 0x6d, 0x19, 0x33, 0x56, 0x64, 0xe6, 0xa9, 0xed, 0x50, 0x12, 0x30, 0x47,
1097	0xde, 0x6b, 0xe6, 0x2e, 0xc3, 0x61, 0x81, 0x47, 0xdf, 0x40, 0xca, 0x0b, 0x46, 0x24, 0x50, 0x53,
1098	0x2c, 0xf1, 0xfd, 0xf7, 0x2e, 0xdc, 0x27, 0x01, 0x3d, 0x37, 0x22, 0x38, 0xe6, 0x2c, 0xd4, 0x81,
1099	0xdc, 0xc8, 0x0e, 0xa9, 0xed, 0x0e, 0xa9, 0xe9, 0xb9, 0x6a, 0x9a, 0x89, 0x7c, 0xbe, 0x5e, 0x04,
1100	0x93, 0x53, 0x12, 0x10, 0x77, 0x48, 0x30, 0xc4, 0x7c, 0xc3, 0x45, 0x77, 0x20, 0x1f, 0x52, 0x2b,
1101	0xa0, 0xa6, 0xf8, 0x8a, 0x9b, 0xec, 0x2b, 0xe6, 0x58, 0xac, 0xc9, 0x42, 0xe8, 0x16, 0x00, 0x71,
1102	0x47, 0x31, 0x20, 0xc3, 0x00, 0x59, 0xe2, 0x8e, 0xc4, 0xf4, 0x35, 0x48, 0x7b, 0xa7, 0xa7, 0x21,
1103	0xa1, 0x2a, 0x6c, 0x4b, 0xe5, 0x14, 0x16, 0x23, 0xb4, 0x03, 0x29, 0xc7, 0x9e, 0xd8, 0x54, 0xcd,
1104	0x33, 0x7f, 0x6e, 0xc4, 0x2b, 0x8c, 0x0b, 0xb9, 0xd2, 0x76, 0xe9, 0xc3, 0xda, 0x91, 0xe5, 0x9c,
1105	0x11, 0xcc, 0x91, 0xda, 0x5d, 0x28, 0x2e, 0x7a, 0x8d, 0x10, 0x24, 0x5d, 0x6b, 0x42, 0x58, 0xc1,
1106	0x66, 0x31, 0xfb, 0xad, 0xdd, 0x87, 0x2b, 0x17, 0xf6, 0x34, 0x05, 0xca, 0x73, 0xc0, 0x43, 0x80,
1107	0xd9, 0xa7, 0x47, 0x7b, 0x90, 0xf1, 0x05, 0x4d, 0xd4, 0xff, 0xff, 0x32, 0x6d, 0x4a, 0xd6, 0xfe,
1108	0x91, 0xa0, 0xb0, 0xf0, 0x65, 0x3e, 0x98, 0x34, 0x32, 0x20, 0x3b, 0xb2, 0x83, 0x69, 0x5d, 0x4b,
1109	0xe5, 0x62, 0x6d, 0xe7, 0x92, 0xe5, 0x51, 0x69, 0xc5, 0x44, 0x3c, 0xd3, 0xd0, 0x74, 0xc8, 0x4e,
1110	0xe3, 0xe8, 0x3a, 0x7c, 0xdc, 0x6a, 0x63, 0x7e, 0xba, 0x96, 0xce, 0x60, 0x01, 0xb2, 0xf5, 0x7e,
1111	0x53, 0xef, 0xb6, 0xda, 0xdd, 0x3d, 0x7e, 0x10, 0x5b, 0xfa, 0x74, 0x2c, 0x6b, 0xbf, 0x49, 0x90,
1112	0xe6, 0x55, 0x8c, 0x8e, 0x40, 0x19, 0x7a, 0x13, 0xdf, 0x0b, 0x6d, 0x4a, 0x4c, 0x71, 0x02, 0xf8,
1113	0x9e, 0x1f, 0xac, 0x5e, 0x69, 0x33, 0x66, 0x70, 0x91, 0xfd, 0x0d, 0x5c, 0x1a, 0x2e, 0x86, 0x50,
1114	0x1f, 0x4a, 0xb1, 0x0d, 0xb1, 0xac, 0xcc, 0x64, 0xcb, 0xeb, 0x0d, 0x98, 0xaa, 0x16, 0xfd, 0x85,
1115	0x48, 0xa3, 0x00, 0x39, 0xae, 0x65, 0x46, 0xd7, 0xa3, 0xf6, 0xab, 0x04, 0xa5, 0xa5, 0xa5, 0xa0,
1116	0x06, 0xc8, 0x9e, 0xcf, 0x76, 0x50, 0xac, 0xd5, 0x2e, 0xbd, 0x83, 0x8a, 0xe1, 0x93, 0xc0, 0xa2,
1117	0x5e, 0x80, 0x65, 0xcf, 0x47, 0x4f, 0x60, 0x93, 0xa7, 0x09, 0xc5, 0x65, 0xb4, 0xfe, 0x32, 0x88,
1118	0x09, 0xda, 0x17, 0x90, 0x89, 0xb5, 0x90, 0x0a, 0x1f, 0x19, 0x3d, 0x1d, 0xd7, 0x07, 0x06, 0x5e,
1119	0xfa, 0x3e, 0x9b, 0x90, 0xa8, 0x77, 0x5b, 0x8a, 0xa4, 0xfd, 0x2d, 0x43, 0x71, 0x71, 0xdb, 0x1f,
1120	0xae, 0xfa, 0xea, 0xcc, 0x8a, 0x4b, 0x97, 0xdd, 0xbb, 0x9c, 0x78, 0x04, 0xa9, 0xd7, 0xd1, 0x89,
1121	0x66, 0xaf, 0x41, 0xae, 0xf6, 0xe9, 0x6a, 0x15, 0x71, 0xf0, 0x19, 0x5a, 0xfb, 0x51, 0xba, 0x94,
1122	0x0b, 0x05, 0xc8, 0x76, 0xf4, 0x7e, 0xdf, 0x1c, 0xec, 0xd7, 0xbb, 0x8a, 0x84, 0xae, 0x01, 0x9a,
1123	0x0e, 0x4d, 0x03, 0x9b, 0xfa, 0xb3, 0xc3, 0x7a, 0x47, 0x91, 0x91, 0x02, 0xf9, 0x3d, 0xac, 0xd7,
1124	0x07, 0x3a, 0xe6, 0xc8, 0x44, 0x54, 0xf9, 0xf3, 0x91, 0x19, 0x38, 0x89, 0xb2, 0x90, 0xe2, 0x3f,
1125	0x53, 0x11, 0x6f, 0xbf, 0xde, 0x37, 0xeb, 0xdd, 0xa6, 0xde, 0x1f, 0x18, 0x58, 0xc9, 0x69, 0xff,
1126	0xca, 0x90, 0xd9, 0x7b, 0xe5, 0xf0, 0x57, 0xe7, 0x0e, 0xe4, 0xd9, 0xbb, 0x6f, 0x86, 0x34, 0xb0,
1127	0xdd, 0xb1, 0xb8, 0x93, 0x72, 0x2c, 0xd6, 0x67, 0x21, 0x74, 0x0f, 0x8a, 0x96, 0xe3, 0x78, 0x6f,
1128	0x4c, 0xc7, 0xa6, 0x24, 0xb0, 0x9c, 0x90, 0xb9, 0x99, 0xc1, 0x05, 0x16, 0xed, 0x88, 0x20, 0x3a,
1129	0x86, 0x62, 0x74, 0x41, 0x8d, 0xcc, 0x13, 0xdb, 0x1d, 0xd9, 0xee, 0x38, 0x14, 0x4f, 0xc1, 0xa3,
1130	0xd5, 0x76, 0xc5, 0xab, 0xa8, 0x74, 0x23, 0x62, 0x43, 0xf0, 0x74, 0x97, 0x06, 0xe7, 0xb8, 0xe0,
1131	0xce, 0xc7, 0xd0, 0x31, 0x5c, 0x65, 0xa5, 0x6a, 0x7b, 0xae, 0xe5, 0xcc, 0x52, 0x24, 0xd7, 0x3d,
1132	0x14, 0x71, 0x8a, 0x9e, 0x15, 0x58, 0x13, 0x12, 0x15, 0x29, 0x9a, 0xe9, 0xc4, 0xea, 0x5b, 0x13,
1133	0x40, 0x17, 0x97, 0x80, 0x14, 0x48, 0xbc, 0x24, 0xe7, 0xc2, 0x92, 0xe8, 0x27, 0xaa, 0xc7, 0x95,
1134	0x20, 0xaf, 0x2b, 0xc9, 0x8b, 0x79, 0x39, 0xf3, 0x89, 0xfc, 0x58, 0xd2, 0xde, 0xc2, 0x95, 0x0b,
1135	0xf3, 0xe8, 0xcb, 0x45, 0xed, 0x75, 0x55, 0xb6, 0xbf, 0x21, 0x14, 0x91, 0xba, 0xd8, 0xad, 0xec,
1136	0x6f, 0xc4, 0xfd, 0x4a, 0x43, 0x81, 0xa2, 0x1f, 0xeb, 0xf3, 0xcb, 0xe2, 0xcf, 0x24, 0x28, 0x2c,
1137	0x2f, 0xef, 0x63, 0x1a, 0x16, 0x1d, 0xbe, 0x40, 0xf7, 0xa1, 0x14, 0xbe, 0xb4, 0x7d, 0x9f, 0x8c,
1138	0xcc, 0x80, 0x85, 0x43, 0x35, 0xcd, 0x5e, 0xbd, 0xa2, 0x08, 0x73, 0x70, 0x18, 0x55, 0x42, 0x0c,
1139	0x5c, 0xe8, 0x8f, 0x0a, 0x22, 0x2a, 0x1e, 0x4f, 0x13, 0x10, 0x6f, 0xb1, 0x84, 0x1c, 0x4b, 0x2d,
1140	0x6e, 0xa3, 0x9d, 0xb5, 0xed, 0x19, 0xa3, 0x54, 0x66, 0x7d, 0x16, 0x56, 0xc8, 0xdc, 0x04, 0xeb,
1141	0xbc, 0x0e, 0xa0, 0xb8, 0x90, 0x20, 0xbe, 0xa1, 0x3e, 0xbb, 0x9c, 0x38, 0x2e, 0xcc, 0x2b, 0x86,
1142	0x4b, 0xbd, 0x40, 0x72, 0xb9, 0x17, 0xf8, 0x1e, 0xf2, 0x13, 0x2f, 0x20, 0xd3, 0x5c, 0x29, 0xb6,
1143	0x91, 0x27, 0xab, 0x73, 0x2d, 0x1b, 0x5c, 0x39, 0xf0, 0x02, 0x22, 0x92, 0xb1, 0x1d, 0xe5, 0x26,
1144	0xb3, 0x00, 0x7a, 0x00, 0x4a, 0xe8, 0x5a, 0x7e, 0xf8, 0xc2, 0xa3, 0x66, 0xdc, 0x8f, 0x6e, 0xb2,
1145	0x7e, 0xb4, 0x14, 0xc7, 0x8f, 0x78, 0x58, 0xfb, 0x49, 0x82, 0xd2, 0x92, 0x16, 0xba, 0x03, 0xb7,
1146	0x0e, 0x0c, 0xac, 0x9b, 0xbc, 0x15, 0xed, 0xbf, 0xab, 0x17, 0x55, 0x20, 0xdf, 0x35, 0x06, 0xe6,
1147	0x6e, 0xbb, 0xdb, 0xee, 0xef, 0xeb, 0x2d, 0x45, 0x42, 0x37, 0x41, 0x5d, 0x20, 0xd5, 0x77, 0xa3,
1148	0x5b, 0xa4, 0xd3, 0x3e, 0x68, 0x0f, 0x14, 0x19, 0xdd, 0x82, 0xeb, 0xef, 0x98, 0x6d, 0x1e, 0xe2,
1149	0xbe, 0x81, 0x95, 0x24, 0xba, 0x0a, 0xa5, 0xae, 0x61, 0xce, 0x23, 0x94, 0x44, 0xe3, 0x17, 0x09,
1150	0x6e, 0x0e, 0xbd, 0xc9, 0x4a, 0x53, 0x1a, 0xc0, 0xcb, 0x3d, 0xea, 0x93, 0x7a, 0xd2, 0x77, 0x75,
1151	0x81, 0x1b, 0x7b, 0x8e, 0xe5, 0x8e, 0x2b, 0x5e, 0x30, 0xae, 0x8e, 0x89, 0xcb, 0xba, 0xa8, 0x2a,
1152	0x9f, 0xb2, 0x7c, 0x3b, 0xbc, 0xf8, 0x37, 0xe2, 0xab, 0x69, 0xe4, 0x67, 0xf9, 0xf6, 0x1e, 0xd7,
1153	0x68, 0x3a, 0xde, 0xd9, 0xa8, 0xd2, 0x9a, 0x66, 0x3c, 0xda, 0x69, 0x44, 0xd0, 0xdf, 0x63, 0xc0,
1154	0x31, 0x03, 0x1c, 0x4f, 0x01, 0xc7, 0x47, 0x5c, 0xeb, 0x24, 0xcd, 0xf2, 0x3d, 0xfc, 0x2f, 0x00,
1155	0x00, 0xff, 0xff, 0x61, 0xdf, 0x90, 0xd9, 0x13, 0x0d, 0x00, 0x00,
1156}
1157