OSDN Git Service

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