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