1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/firestore/v1beta1/query.proto 3 4package firestore // import "google.golang.org/genproto/googleapis/firestore/v1beta1" 5 6import proto "github.com/golang/protobuf/proto" 7import fmt "fmt" 8import math "math" 9import wrappers "github.com/golang/protobuf/ptypes/wrappers" 10import _ "google.golang.org/genproto/googleapis/api/annotations" 11 12// Reference imports to suppress errors if they are not otherwise used. 13var _ = proto.Marshal 14var _ = fmt.Errorf 15var _ = math.Inf 16 17// This is a compile-time assertion to ensure that this generated file 18// is compatible with the proto package it is being compiled against. 19// A compilation error at this line likely means your copy of the 20// proto package needs to be updated. 21const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package 22 23// A sort direction. 24type StructuredQuery_Direction int32 25 26const ( 27 // Unspecified. 28 StructuredQuery_DIRECTION_UNSPECIFIED StructuredQuery_Direction = 0 29 // Ascending. 30 StructuredQuery_ASCENDING StructuredQuery_Direction = 1 31 // Descending. 32 StructuredQuery_DESCENDING StructuredQuery_Direction = 2 33) 34 35var StructuredQuery_Direction_name = map[int32]string{ 36 0: "DIRECTION_UNSPECIFIED", 37 1: "ASCENDING", 38 2: "DESCENDING", 39} 40var StructuredQuery_Direction_value = map[string]int32{ 41 "DIRECTION_UNSPECIFIED": 0, 42 "ASCENDING": 1, 43 "DESCENDING": 2, 44} 45 46func (x StructuredQuery_Direction) String() string { 47 return proto.EnumName(StructuredQuery_Direction_name, int32(x)) 48} 49func (StructuredQuery_Direction) EnumDescriptor() ([]byte, []int) { 50 return fileDescriptor_query_4a614d17d9e42012, []int{0, 0} 51} 52 53// A composite filter operator. 54type StructuredQuery_CompositeFilter_Operator int32 55 56const ( 57 // Unspecified. This value must not be used. 58 StructuredQuery_CompositeFilter_OPERATOR_UNSPECIFIED StructuredQuery_CompositeFilter_Operator = 0 59 // The results are required to satisfy each of the combined filters. 60 StructuredQuery_CompositeFilter_AND StructuredQuery_CompositeFilter_Operator = 1 61) 62 63var StructuredQuery_CompositeFilter_Operator_name = map[int32]string{ 64 0: "OPERATOR_UNSPECIFIED", 65 1: "AND", 66} 67var StructuredQuery_CompositeFilter_Operator_value = map[string]int32{ 68 "OPERATOR_UNSPECIFIED": 0, 69 "AND": 1, 70} 71 72func (x StructuredQuery_CompositeFilter_Operator) String() string { 73 return proto.EnumName(StructuredQuery_CompositeFilter_Operator_name, int32(x)) 74} 75func (StructuredQuery_CompositeFilter_Operator) EnumDescriptor() ([]byte, []int) { 76 return fileDescriptor_query_4a614d17d9e42012, []int{0, 2, 0} 77} 78 79// A field filter operator. 80type StructuredQuery_FieldFilter_Operator int32 81 82const ( 83 // Unspecified. This value must not be used. 84 StructuredQuery_FieldFilter_OPERATOR_UNSPECIFIED StructuredQuery_FieldFilter_Operator = 0 85 // Less than. Requires that the field come first in `order_by`. 86 StructuredQuery_FieldFilter_LESS_THAN StructuredQuery_FieldFilter_Operator = 1 87 // Less than or equal. Requires that the field come first in `order_by`. 88 StructuredQuery_FieldFilter_LESS_THAN_OR_EQUAL StructuredQuery_FieldFilter_Operator = 2 89 // Greater than. Requires that the field come first in `order_by`. 90 StructuredQuery_FieldFilter_GREATER_THAN StructuredQuery_FieldFilter_Operator = 3 91 // Greater than or equal. Requires that the field come first in 92 // `order_by`. 93 StructuredQuery_FieldFilter_GREATER_THAN_OR_EQUAL StructuredQuery_FieldFilter_Operator = 4 94 // Equal. 95 StructuredQuery_FieldFilter_EQUAL StructuredQuery_FieldFilter_Operator = 5 96 // Contains. Requires that the field is an array. 97 StructuredQuery_FieldFilter_ARRAY_CONTAINS StructuredQuery_FieldFilter_Operator = 7 98) 99 100var StructuredQuery_FieldFilter_Operator_name = map[int32]string{ 101 0: "OPERATOR_UNSPECIFIED", 102 1: "LESS_THAN", 103 2: "LESS_THAN_OR_EQUAL", 104 3: "GREATER_THAN", 105 4: "GREATER_THAN_OR_EQUAL", 106 5: "EQUAL", 107 7: "ARRAY_CONTAINS", 108} 109var StructuredQuery_FieldFilter_Operator_value = map[string]int32{ 110 "OPERATOR_UNSPECIFIED": 0, 111 "LESS_THAN": 1, 112 "LESS_THAN_OR_EQUAL": 2, 113 "GREATER_THAN": 3, 114 "GREATER_THAN_OR_EQUAL": 4, 115 "EQUAL": 5, 116 "ARRAY_CONTAINS": 7, 117} 118 119func (x StructuredQuery_FieldFilter_Operator) String() string { 120 return proto.EnumName(StructuredQuery_FieldFilter_Operator_name, int32(x)) 121} 122func (StructuredQuery_FieldFilter_Operator) EnumDescriptor() ([]byte, []int) { 123 return fileDescriptor_query_4a614d17d9e42012, []int{0, 3, 0} 124} 125 126// A unary operator. 127type StructuredQuery_UnaryFilter_Operator int32 128 129const ( 130 // Unspecified. This value must not be used. 131 StructuredQuery_UnaryFilter_OPERATOR_UNSPECIFIED StructuredQuery_UnaryFilter_Operator = 0 132 // Test if a field is equal to NaN. 133 StructuredQuery_UnaryFilter_IS_NAN StructuredQuery_UnaryFilter_Operator = 2 134 // Test if an exprestion evaluates to Null. 135 StructuredQuery_UnaryFilter_IS_NULL StructuredQuery_UnaryFilter_Operator = 3 136) 137 138var StructuredQuery_UnaryFilter_Operator_name = map[int32]string{ 139 0: "OPERATOR_UNSPECIFIED", 140 2: "IS_NAN", 141 3: "IS_NULL", 142} 143var StructuredQuery_UnaryFilter_Operator_value = map[string]int32{ 144 "OPERATOR_UNSPECIFIED": 0, 145 "IS_NAN": 2, 146 "IS_NULL": 3, 147} 148 149func (x StructuredQuery_UnaryFilter_Operator) String() string { 150 return proto.EnumName(StructuredQuery_UnaryFilter_Operator_name, int32(x)) 151} 152func (StructuredQuery_UnaryFilter_Operator) EnumDescriptor() ([]byte, []int) { 153 return fileDescriptor_query_4a614d17d9e42012, []int{0, 4, 0} 154} 155 156// A Firestore query. 157type StructuredQuery struct { 158 // The projection to return. 159 Select *StructuredQuery_Projection `protobuf:"bytes,1,opt,name=select,proto3" json:"select,omitempty"` 160 // The collections to query. 161 From []*StructuredQuery_CollectionSelector `protobuf:"bytes,2,rep,name=from,proto3" json:"from,omitempty"` 162 // The filter to apply. 163 Where *StructuredQuery_Filter `protobuf:"bytes,3,opt,name=where,proto3" json:"where,omitempty"` 164 // The order to apply to the query results. 165 // 166 // Firestore guarantees a stable ordering through the following rules: 167 // 168 // * Any field required to appear in `order_by`, that is not already 169 // specified in `order_by`, is appended to the order in field name order 170 // by default. 171 // * If an order on `__name__` is not specified, it is appended by default. 172 // 173 // Fields are appended with the same sort direction as the last order 174 // specified, or 'ASCENDING' if no order was specified. For example: 175 // 176 // * `SELECT * FROM Foo ORDER BY A` becomes 177 // `SELECT * FROM Foo ORDER BY A, __name__` 178 // * `SELECT * FROM Foo ORDER BY A DESC` becomes 179 // `SELECT * FROM Foo ORDER BY A DESC, __name__ DESC` 180 // * `SELECT * FROM Foo WHERE A > 1` becomes 181 // `SELECT * FROM Foo WHERE A > 1 ORDER BY A, __name__` 182 OrderBy []*StructuredQuery_Order `protobuf:"bytes,4,rep,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 183 // A starting point for the query results. 184 StartAt *Cursor `protobuf:"bytes,7,opt,name=start_at,json=startAt,proto3" json:"start_at,omitempty"` 185 // A end point for the query results. 186 EndAt *Cursor `protobuf:"bytes,8,opt,name=end_at,json=endAt,proto3" json:"end_at,omitempty"` 187 // The number of results to skip. 188 // 189 // Applies before limit, but after all other constraints. Must be >= 0 if 190 // specified. 191 Offset int32 `protobuf:"varint,6,opt,name=offset,proto3" json:"offset,omitempty"` 192 // The maximum number of results to return. 193 // 194 // Applies after all other constraints. 195 // Must be >= 0 if specified. 196 Limit *wrappers.Int32Value `protobuf:"bytes,5,opt,name=limit,proto3" json:"limit,omitempty"` 197 XXX_NoUnkeyedLiteral struct{} `json:"-"` 198 XXX_unrecognized []byte `json:"-"` 199 XXX_sizecache int32 `json:"-"` 200} 201 202func (m *StructuredQuery) Reset() { *m = StructuredQuery{} } 203func (m *StructuredQuery) String() string { return proto.CompactTextString(m) } 204func (*StructuredQuery) ProtoMessage() {} 205func (*StructuredQuery) Descriptor() ([]byte, []int) { 206 return fileDescriptor_query_4a614d17d9e42012, []int{0} 207} 208func (m *StructuredQuery) XXX_Unmarshal(b []byte) error { 209 return xxx_messageInfo_StructuredQuery.Unmarshal(m, b) 210} 211func (m *StructuredQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 212 return xxx_messageInfo_StructuredQuery.Marshal(b, m, deterministic) 213} 214func (dst *StructuredQuery) XXX_Merge(src proto.Message) { 215 xxx_messageInfo_StructuredQuery.Merge(dst, src) 216} 217func (m *StructuredQuery) XXX_Size() int { 218 return xxx_messageInfo_StructuredQuery.Size(m) 219} 220func (m *StructuredQuery) XXX_DiscardUnknown() { 221 xxx_messageInfo_StructuredQuery.DiscardUnknown(m) 222} 223 224var xxx_messageInfo_StructuredQuery proto.InternalMessageInfo 225 226func (m *StructuredQuery) GetSelect() *StructuredQuery_Projection { 227 if m != nil { 228 return m.Select 229 } 230 return nil 231} 232 233func (m *StructuredQuery) GetFrom() []*StructuredQuery_CollectionSelector { 234 if m != nil { 235 return m.From 236 } 237 return nil 238} 239 240func (m *StructuredQuery) GetWhere() *StructuredQuery_Filter { 241 if m != nil { 242 return m.Where 243 } 244 return nil 245} 246 247func (m *StructuredQuery) GetOrderBy() []*StructuredQuery_Order { 248 if m != nil { 249 return m.OrderBy 250 } 251 return nil 252} 253 254func (m *StructuredQuery) GetStartAt() *Cursor { 255 if m != nil { 256 return m.StartAt 257 } 258 return nil 259} 260 261func (m *StructuredQuery) GetEndAt() *Cursor { 262 if m != nil { 263 return m.EndAt 264 } 265 return nil 266} 267 268func (m *StructuredQuery) GetOffset() int32 { 269 if m != nil { 270 return m.Offset 271 } 272 return 0 273} 274 275func (m *StructuredQuery) GetLimit() *wrappers.Int32Value { 276 if m != nil { 277 return m.Limit 278 } 279 return nil 280} 281 282// A selection of a collection, such as `messages as m1`. 283type StructuredQuery_CollectionSelector struct { 284 // The collection ID. 285 // When set, selects only collections with this ID. 286 CollectionId string `protobuf:"bytes,2,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"` 287 // When false, selects only collections that are immediate children of 288 // the `parent` specified in the containing `RunQueryRequest`. 289 // When true, selects all descendant collections. 290 AllDescendants bool `protobuf:"varint,3,opt,name=all_descendants,json=allDescendants,proto3" json:"all_descendants,omitempty"` 291 XXX_NoUnkeyedLiteral struct{} `json:"-"` 292 XXX_unrecognized []byte `json:"-"` 293 XXX_sizecache int32 `json:"-"` 294} 295 296func (m *StructuredQuery_CollectionSelector) Reset() { *m = StructuredQuery_CollectionSelector{} } 297func (m *StructuredQuery_CollectionSelector) String() string { return proto.CompactTextString(m) } 298func (*StructuredQuery_CollectionSelector) ProtoMessage() {} 299func (*StructuredQuery_CollectionSelector) Descriptor() ([]byte, []int) { 300 return fileDescriptor_query_4a614d17d9e42012, []int{0, 0} 301} 302func (m *StructuredQuery_CollectionSelector) XXX_Unmarshal(b []byte) error { 303 return xxx_messageInfo_StructuredQuery_CollectionSelector.Unmarshal(m, b) 304} 305func (m *StructuredQuery_CollectionSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 306 return xxx_messageInfo_StructuredQuery_CollectionSelector.Marshal(b, m, deterministic) 307} 308func (dst *StructuredQuery_CollectionSelector) XXX_Merge(src proto.Message) { 309 xxx_messageInfo_StructuredQuery_CollectionSelector.Merge(dst, src) 310} 311func (m *StructuredQuery_CollectionSelector) XXX_Size() int { 312 return xxx_messageInfo_StructuredQuery_CollectionSelector.Size(m) 313} 314func (m *StructuredQuery_CollectionSelector) XXX_DiscardUnknown() { 315 xxx_messageInfo_StructuredQuery_CollectionSelector.DiscardUnknown(m) 316} 317 318var xxx_messageInfo_StructuredQuery_CollectionSelector proto.InternalMessageInfo 319 320func (m *StructuredQuery_CollectionSelector) GetCollectionId() string { 321 if m != nil { 322 return m.CollectionId 323 } 324 return "" 325} 326 327func (m *StructuredQuery_CollectionSelector) GetAllDescendants() bool { 328 if m != nil { 329 return m.AllDescendants 330 } 331 return false 332} 333 334// A filter. 335type StructuredQuery_Filter struct { 336 // The type of filter. 337 // 338 // Types that are valid to be assigned to FilterType: 339 // *StructuredQuery_Filter_CompositeFilter 340 // *StructuredQuery_Filter_FieldFilter 341 // *StructuredQuery_Filter_UnaryFilter 342 FilterType isStructuredQuery_Filter_FilterType `protobuf_oneof:"filter_type"` 343 XXX_NoUnkeyedLiteral struct{} `json:"-"` 344 XXX_unrecognized []byte `json:"-"` 345 XXX_sizecache int32 `json:"-"` 346} 347 348func (m *StructuredQuery_Filter) Reset() { *m = StructuredQuery_Filter{} } 349func (m *StructuredQuery_Filter) String() string { return proto.CompactTextString(m) } 350func (*StructuredQuery_Filter) ProtoMessage() {} 351func (*StructuredQuery_Filter) Descriptor() ([]byte, []int) { 352 return fileDescriptor_query_4a614d17d9e42012, []int{0, 1} 353} 354func (m *StructuredQuery_Filter) XXX_Unmarshal(b []byte) error { 355 return xxx_messageInfo_StructuredQuery_Filter.Unmarshal(m, b) 356} 357func (m *StructuredQuery_Filter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 358 return xxx_messageInfo_StructuredQuery_Filter.Marshal(b, m, deterministic) 359} 360func (dst *StructuredQuery_Filter) XXX_Merge(src proto.Message) { 361 xxx_messageInfo_StructuredQuery_Filter.Merge(dst, src) 362} 363func (m *StructuredQuery_Filter) XXX_Size() int { 364 return xxx_messageInfo_StructuredQuery_Filter.Size(m) 365} 366func (m *StructuredQuery_Filter) XXX_DiscardUnknown() { 367 xxx_messageInfo_StructuredQuery_Filter.DiscardUnknown(m) 368} 369 370var xxx_messageInfo_StructuredQuery_Filter proto.InternalMessageInfo 371 372type isStructuredQuery_Filter_FilterType interface { 373 isStructuredQuery_Filter_FilterType() 374} 375 376type StructuredQuery_Filter_CompositeFilter struct { 377 CompositeFilter *StructuredQuery_CompositeFilter `protobuf:"bytes,1,opt,name=composite_filter,json=compositeFilter,proto3,oneof"` 378} 379 380type StructuredQuery_Filter_FieldFilter struct { 381 FieldFilter *StructuredQuery_FieldFilter `protobuf:"bytes,2,opt,name=field_filter,json=fieldFilter,proto3,oneof"` 382} 383 384type StructuredQuery_Filter_UnaryFilter struct { 385 UnaryFilter *StructuredQuery_UnaryFilter `protobuf:"bytes,3,opt,name=unary_filter,json=unaryFilter,proto3,oneof"` 386} 387 388func (*StructuredQuery_Filter_CompositeFilter) isStructuredQuery_Filter_FilterType() {} 389 390func (*StructuredQuery_Filter_FieldFilter) isStructuredQuery_Filter_FilterType() {} 391 392func (*StructuredQuery_Filter_UnaryFilter) isStructuredQuery_Filter_FilterType() {} 393 394func (m *StructuredQuery_Filter) GetFilterType() isStructuredQuery_Filter_FilterType { 395 if m != nil { 396 return m.FilterType 397 } 398 return nil 399} 400 401func (m *StructuredQuery_Filter) GetCompositeFilter() *StructuredQuery_CompositeFilter { 402 if x, ok := m.GetFilterType().(*StructuredQuery_Filter_CompositeFilter); ok { 403 return x.CompositeFilter 404 } 405 return nil 406} 407 408func (m *StructuredQuery_Filter) GetFieldFilter() *StructuredQuery_FieldFilter { 409 if x, ok := m.GetFilterType().(*StructuredQuery_Filter_FieldFilter); ok { 410 return x.FieldFilter 411 } 412 return nil 413} 414 415func (m *StructuredQuery_Filter) GetUnaryFilter() *StructuredQuery_UnaryFilter { 416 if x, ok := m.GetFilterType().(*StructuredQuery_Filter_UnaryFilter); ok { 417 return x.UnaryFilter 418 } 419 return nil 420} 421 422// XXX_OneofFuncs is for the internal use of the proto package. 423func (*StructuredQuery_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{}) { 424 return _StructuredQuery_Filter_OneofMarshaler, _StructuredQuery_Filter_OneofUnmarshaler, _StructuredQuery_Filter_OneofSizer, []interface{}{ 425 (*StructuredQuery_Filter_CompositeFilter)(nil), 426 (*StructuredQuery_Filter_FieldFilter)(nil), 427 (*StructuredQuery_Filter_UnaryFilter)(nil), 428 } 429} 430 431func _StructuredQuery_Filter_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { 432 m := msg.(*StructuredQuery_Filter) 433 // filter_type 434 switch x := m.FilterType.(type) { 435 case *StructuredQuery_Filter_CompositeFilter: 436 b.EncodeVarint(1<<3 | proto.WireBytes) 437 if err := b.EncodeMessage(x.CompositeFilter); err != nil { 438 return err 439 } 440 case *StructuredQuery_Filter_FieldFilter: 441 b.EncodeVarint(2<<3 | proto.WireBytes) 442 if err := b.EncodeMessage(x.FieldFilter); err != nil { 443 return err 444 } 445 case *StructuredQuery_Filter_UnaryFilter: 446 b.EncodeVarint(3<<3 | proto.WireBytes) 447 if err := b.EncodeMessage(x.UnaryFilter); err != nil { 448 return err 449 } 450 case nil: 451 default: 452 return fmt.Errorf("StructuredQuery_Filter.FilterType has unexpected type %T", x) 453 } 454 return nil 455} 456 457func _StructuredQuery_Filter_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { 458 m := msg.(*StructuredQuery_Filter) 459 switch tag { 460 case 1: // filter_type.composite_filter 461 if wire != proto.WireBytes { 462 return true, proto.ErrInternalBadWireType 463 } 464 msg := new(StructuredQuery_CompositeFilter) 465 err := b.DecodeMessage(msg) 466 m.FilterType = &StructuredQuery_Filter_CompositeFilter{msg} 467 return true, err 468 case 2: // filter_type.field_filter 469 if wire != proto.WireBytes { 470 return true, proto.ErrInternalBadWireType 471 } 472 msg := new(StructuredQuery_FieldFilter) 473 err := b.DecodeMessage(msg) 474 m.FilterType = &StructuredQuery_Filter_FieldFilter{msg} 475 return true, err 476 case 3: // filter_type.unary_filter 477 if wire != proto.WireBytes { 478 return true, proto.ErrInternalBadWireType 479 } 480 msg := new(StructuredQuery_UnaryFilter) 481 err := b.DecodeMessage(msg) 482 m.FilterType = &StructuredQuery_Filter_UnaryFilter{msg} 483 return true, err 484 default: 485 return false, nil 486 } 487} 488 489func _StructuredQuery_Filter_OneofSizer(msg proto.Message) (n int) { 490 m := msg.(*StructuredQuery_Filter) 491 // filter_type 492 switch x := m.FilterType.(type) { 493 case *StructuredQuery_Filter_CompositeFilter: 494 s := proto.Size(x.CompositeFilter) 495 n += 1 // tag and wire 496 n += proto.SizeVarint(uint64(s)) 497 n += s 498 case *StructuredQuery_Filter_FieldFilter: 499 s := proto.Size(x.FieldFilter) 500 n += 1 // tag and wire 501 n += proto.SizeVarint(uint64(s)) 502 n += s 503 case *StructuredQuery_Filter_UnaryFilter: 504 s := proto.Size(x.UnaryFilter) 505 n += 1 // tag and wire 506 n += proto.SizeVarint(uint64(s)) 507 n += s 508 case nil: 509 default: 510 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) 511 } 512 return n 513} 514 515// A filter that merges multiple other filters using the given operator. 516type StructuredQuery_CompositeFilter struct { 517 // The operator for combining multiple filters. 518 Op StructuredQuery_CompositeFilter_Operator `protobuf:"varint,1,opt,name=op,proto3,enum=google.firestore.v1beta1.StructuredQuery_CompositeFilter_Operator" json:"op,omitempty"` 519 // The list of filters to combine. 520 // Must contain at least one filter. 521 Filters []*StructuredQuery_Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` 522 XXX_NoUnkeyedLiteral struct{} `json:"-"` 523 XXX_unrecognized []byte `json:"-"` 524 XXX_sizecache int32 `json:"-"` 525} 526 527func (m *StructuredQuery_CompositeFilter) Reset() { *m = StructuredQuery_CompositeFilter{} } 528func (m *StructuredQuery_CompositeFilter) String() string { return proto.CompactTextString(m) } 529func (*StructuredQuery_CompositeFilter) ProtoMessage() {} 530func (*StructuredQuery_CompositeFilter) Descriptor() ([]byte, []int) { 531 return fileDescriptor_query_4a614d17d9e42012, []int{0, 2} 532} 533func (m *StructuredQuery_CompositeFilter) XXX_Unmarshal(b []byte) error { 534 return xxx_messageInfo_StructuredQuery_CompositeFilter.Unmarshal(m, b) 535} 536func (m *StructuredQuery_CompositeFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 537 return xxx_messageInfo_StructuredQuery_CompositeFilter.Marshal(b, m, deterministic) 538} 539func (dst *StructuredQuery_CompositeFilter) XXX_Merge(src proto.Message) { 540 xxx_messageInfo_StructuredQuery_CompositeFilter.Merge(dst, src) 541} 542func (m *StructuredQuery_CompositeFilter) XXX_Size() int { 543 return xxx_messageInfo_StructuredQuery_CompositeFilter.Size(m) 544} 545func (m *StructuredQuery_CompositeFilter) XXX_DiscardUnknown() { 546 xxx_messageInfo_StructuredQuery_CompositeFilter.DiscardUnknown(m) 547} 548 549var xxx_messageInfo_StructuredQuery_CompositeFilter proto.InternalMessageInfo 550 551func (m *StructuredQuery_CompositeFilter) GetOp() StructuredQuery_CompositeFilter_Operator { 552 if m != nil { 553 return m.Op 554 } 555 return StructuredQuery_CompositeFilter_OPERATOR_UNSPECIFIED 556} 557 558func (m *StructuredQuery_CompositeFilter) GetFilters() []*StructuredQuery_Filter { 559 if m != nil { 560 return m.Filters 561 } 562 return nil 563} 564 565// A filter on a specific field. 566type StructuredQuery_FieldFilter struct { 567 // The field to filter by. 568 Field *StructuredQuery_FieldReference `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"` 569 // The operator to filter by. 570 Op StructuredQuery_FieldFilter_Operator `protobuf:"varint,2,opt,name=op,proto3,enum=google.firestore.v1beta1.StructuredQuery_FieldFilter_Operator" json:"op,omitempty"` 571 // The value to compare to. 572 Value *Value `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` 573 XXX_NoUnkeyedLiteral struct{} `json:"-"` 574 XXX_unrecognized []byte `json:"-"` 575 XXX_sizecache int32 `json:"-"` 576} 577 578func (m *StructuredQuery_FieldFilter) Reset() { *m = StructuredQuery_FieldFilter{} } 579func (m *StructuredQuery_FieldFilter) String() string { return proto.CompactTextString(m) } 580func (*StructuredQuery_FieldFilter) ProtoMessage() {} 581func (*StructuredQuery_FieldFilter) Descriptor() ([]byte, []int) { 582 return fileDescriptor_query_4a614d17d9e42012, []int{0, 3} 583} 584func (m *StructuredQuery_FieldFilter) XXX_Unmarshal(b []byte) error { 585 return xxx_messageInfo_StructuredQuery_FieldFilter.Unmarshal(m, b) 586} 587func (m *StructuredQuery_FieldFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 588 return xxx_messageInfo_StructuredQuery_FieldFilter.Marshal(b, m, deterministic) 589} 590func (dst *StructuredQuery_FieldFilter) XXX_Merge(src proto.Message) { 591 xxx_messageInfo_StructuredQuery_FieldFilter.Merge(dst, src) 592} 593func (m *StructuredQuery_FieldFilter) XXX_Size() int { 594 return xxx_messageInfo_StructuredQuery_FieldFilter.Size(m) 595} 596func (m *StructuredQuery_FieldFilter) XXX_DiscardUnknown() { 597 xxx_messageInfo_StructuredQuery_FieldFilter.DiscardUnknown(m) 598} 599 600var xxx_messageInfo_StructuredQuery_FieldFilter proto.InternalMessageInfo 601 602func (m *StructuredQuery_FieldFilter) GetField() *StructuredQuery_FieldReference { 603 if m != nil { 604 return m.Field 605 } 606 return nil 607} 608 609func (m *StructuredQuery_FieldFilter) GetOp() StructuredQuery_FieldFilter_Operator { 610 if m != nil { 611 return m.Op 612 } 613 return StructuredQuery_FieldFilter_OPERATOR_UNSPECIFIED 614} 615 616func (m *StructuredQuery_FieldFilter) GetValue() *Value { 617 if m != nil { 618 return m.Value 619 } 620 return nil 621} 622 623// A filter with a single operand. 624type StructuredQuery_UnaryFilter struct { 625 // The unary operator to apply. 626 Op StructuredQuery_UnaryFilter_Operator `protobuf:"varint,1,opt,name=op,proto3,enum=google.firestore.v1beta1.StructuredQuery_UnaryFilter_Operator" json:"op,omitempty"` 627 // The argument to the filter. 628 // 629 // Types that are valid to be assigned to OperandType: 630 // *StructuredQuery_UnaryFilter_Field 631 OperandType isStructuredQuery_UnaryFilter_OperandType `protobuf_oneof:"operand_type"` 632 XXX_NoUnkeyedLiteral struct{} `json:"-"` 633 XXX_unrecognized []byte `json:"-"` 634 XXX_sizecache int32 `json:"-"` 635} 636 637func (m *StructuredQuery_UnaryFilter) Reset() { *m = StructuredQuery_UnaryFilter{} } 638func (m *StructuredQuery_UnaryFilter) String() string { return proto.CompactTextString(m) } 639func (*StructuredQuery_UnaryFilter) ProtoMessage() {} 640func (*StructuredQuery_UnaryFilter) Descriptor() ([]byte, []int) { 641 return fileDescriptor_query_4a614d17d9e42012, []int{0, 4} 642} 643func (m *StructuredQuery_UnaryFilter) XXX_Unmarshal(b []byte) error { 644 return xxx_messageInfo_StructuredQuery_UnaryFilter.Unmarshal(m, b) 645} 646func (m *StructuredQuery_UnaryFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 647 return xxx_messageInfo_StructuredQuery_UnaryFilter.Marshal(b, m, deterministic) 648} 649func (dst *StructuredQuery_UnaryFilter) XXX_Merge(src proto.Message) { 650 xxx_messageInfo_StructuredQuery_UnaryFilter.Merge(dst, src) 651} 652func (m *StructuredQuery_UnaryFilter) XXX_Size() int { 653 return xxx_messageInfo_StructuredQuery_UnaryFilter.Size(m) 654} 655func (m *StructuredQuery_UnaryFilter) XXX_DiscardUnknown() { 656 xxx_messageInfo_StructuredQuery_UnaryFilter.DiscardUnknown(m) 657} 658 659var xxx_messageInfo_StructuredQuery_UnaryFilter proto.InternalMessageInfo 660 661func (m *StructuredQuery_UnaryFilter) GetOp() StructuredQuery_UnaryFilter_Operator { 662 if m != nil { 663 return m.Op 664 } 665 return StructuredQuery_UnaryFilter_OPERATOR_UNSPECIFIED 666} 667 668type isStructuredQuery_UnaryFilter_OperandType interface { 669 isStructuredQuery_UnaryFilter_OperandType() 670} 671 672type StructuredQuery_UnaryFilter_Field struct { 673 Field *StructuredQuery_FieldReference `protobuf:"bytes,2,opt,name=field,proto3,oneof"` 674} 675 676func (*StructuredQuery_UnaryFilter_Field) isStructuredQuery_UnaryFilter_OperandType() {} 677 678func (m *StructuredQuery_UnaryFilter) GetOperandType() isStructuredQuery_UnaryFilter_OperandType { 679 if m != nil { 680 return m.OperandType 681 } 682 return nil 683} 684 685func (m *StructuredQuery_UnaryFilter) GetField() *StructuredQuery_FieldReference { 686 if x, ok := m.GetOperandType().(*StructuredQuery_UnaryFilter_Field); ok { 687 return x.Field 688 } 689 return nil 690} 691 692// XXX_OneofFuncs is for the internal use of the proto package. 693func (*StructuredQuery_UnaryFilter) 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{}) { 694 return _StructuredQuery_UnaryFilter_OneofMarshaler, _StructuredQuery_UnaryFilter_OneofUnmarshaler, _StructuredQuery_UnaryFilter_OneofSizer, []interface{}{ 695 (*StructuredQuery_UnaryFilter_Field)(nil), 696 } 697} 698 699func _StructuredQuery_UnaryFilter_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { 700 m := msg.(*StructuredQuery_UnaryFilter) 701 // operand_type 702 switch x := m.OperandType.(type) { 703 case *StructuredQuery_UnaryFilter_Field: 704 b.EncodeVarint(2<<3 | proto.WireBytes) 705 if err := b.EncodeMessage(x.Field); err != nil { 706 return err 707 } 708 case nil: 709 default: 710 return fmt.Errorf("StructuredQuery_UnaryFilter.OperandType has unexpected type %T", x) 711 } 712 return nil 713} 714 715func _StructuredQuery_UnaryFilter_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { 716 m := msg.(*StructuredQuery_UnaryFilter) 717 switch tag { 718 case 2: // operand_type.field 719 if wire != proto.WireBytes { 720 return true, proto.ErrInternalBadWireType 721 } 722 msg := new(StructuredQuery_FieldReference) 723 err := b.DecodeMessage(msg) 724 m.OperandType = &StructuredQuery_UnaryFilter_Field{msg} 725 return true, err 726 default: 727 return false, nil 728 } 729} 730 731func _StructuredQuery_UnaryFilter_OneofSizer(msg proto.Message) (n int) { 732 m := msg.(*StructuredQuery_UnaryFilter) 733 // operand_type 734 switch x := m.OperandType.(type) { 735 case *StructuredQuery_UnaryFilter_Field: 736 s := proto.Size(x.Field) 737 n += 1 // tag and wire 738 n += proto.SizeVarint(uint64(s)) 739 n += s 740 case nil: 741 default: 742 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) 743 } 744 return n 745} 746 747// An order on a field. 748type StructuredQuery_Order struct { 749 // The field to order by. 750 Field *StructuredQuery_FieldReference `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"` 751 // The direction to order by. Defaults to `ASCENDING`. 752 Direction StructuredQuery_Direction `protobuf:"varint,2,opt,name=direction,proto3,enum=google.firestore.v1beta1.StructuredQuery_Direction" json:"direction,omitempty"` 753 XXX_NoUnkeyedLiteral struct{} `json:"-"` 754 XXX_unrecognized []byte `json:"-"` 755 XXX_sizecache int32 `json:"-"` 756} 757 758func (m *StructuredQuery_Order) Reset() { *m = StructuredQuery_Order{} } 759func (m *StructuredQuery_Order) String() string { return proto.CompactTextString(m) } 760func (*StructuredQuery_Order) ProtoMessage() {} 761func (*StructuredQuery_Order) Descriptor() ([]byte, []int) { 762 return fileDescriptor_query_4a614d17d9e42012, []int{0, 5} 763} 764func (m *StructuredQuery_Order) XXX_Unmarshal(b []byte) error { 765 return xxx_messageInfo_StructuredQuery_Order.Unmarshal(m, b) 766} 767func (m *StructuredQuery_Order) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 768 return xxx_messageInfo_StructuredQuery_Order.Marshal(b, m, deterministic) 769} 770func (dst *StructuredQuery_Order) XXX_Merge(src proto.Message) { 771 xxx_messageInfo_StructuredQuery_Order.Merge(dst, src) 772} 773func (m *StructuredQuery_Order) XXX_Size() int { 774 return xxx_messageInfo_StructuredQuery_Order.Size(m) 775} 776func (m *StructuredQuery_Order) XXX_DiscardUnknown() { 777 xxx_messageInfo_StructuredQuery_Order.DiscardUnknown(m) 778} 779 780var xxx_messageInfo_StructuredQuery_Order proto.InternalMessageInfo 781 782func (m *StructuredQuery_Order) GetField() *StructuredQuery_FieldReference { 783 if m != nil { 784 return m.Field 785 } 786 return nil 787} 788 789func (m *StructuredQuery_Order) GetDirection() StructuredQuery_Direction { 790 if m != nil { 791 return m.Direction 792 } 793 return StructuredQuery_DIRECTION_UNSPECIFIED 794} 795 796// A reference to a field, such as `max(messages.time) as max_time`. 797type StructuredQuery_FieldReference struct { 798 FieldPath string `protobuf:"bytes,2,opt,name=field_path,json=fieldPath,proto3" json:"field_path,omitempty"` 799 XXX_NoUnkeyedLiteral struct{} `json:"-"` 800 XXX_unrecognized []byte `json:"-"` 801 XXX_sizecache int32 `json:"-"` 802} 803 804func (m *StructuredQuery_FieldReference) Reset() { *m = StructuredQuery_FieldReference{} } 805func (m *StructuredQuery_FieldReference) String() string { return proto.CompactTextString(m) } 806func (*StructuredQuery_FieldReference) ProtoMessage() {} 807func (*StructuredQuery_FieldReference) Descriptor() ([]byte, []int) { 808 return fileDescriptor_query_4a614d17d9e42012, []int{0, 6} 809} 810func (m *StructuredQuery_FieldReference) XXX_Unmarshal(b []byte) error { 811 return xxx_messageInfo_StructuredQuery_FieldReference.Unmarshal(m, b) 812} 813func (m *StructuredQuery_FieldReference) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 814 return xxx_messageInfo_StructuredQuery_FieldReference.Marshal(b, m, deterministic) 815} 816func (dst *StructuredQuery_FieldReference) XXX_Merge(src proto.Message) { 817 xxx_messageInfo_StructuredQuery_FieldReference.Merge(dst, src) 818} 819func (m *StructuredQuery_FieldReference) XXX_Size() int { 820 return xxx_messageInfo_StructuredQuery_FieldReference.Size(m) 821} 822func (m *StructuredQuery_FieldReference) XXX_DiscardUnknown() { 823 xxx_messageInfo_StructuredQuery_FieldReference.DiscardUnknown(m) 824} 825 826var xxx_messageInfo_StructuredQuery_FieldReference proto.InternalMessageInfo 827 828func (m *StructuredQuery_FieldReference) GetFieldPath() string { 829 if m != nil { 830 return m.FieldPath 831 } 832 return "" 833} 834 835// The projection of document's fields to return. 836type StructuredQuery_Projection struct { 837 // The fields to return. 838 // 839 // If empty, all fields are returned. To only return the name 840 // of the document, use `['__name__']`. 841 Fields []*StructuredQuery_FieldReference `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"` 842 XXX_NoUnkeyedLiteral struct{} `json:"-"` 843 XXX_unrecognized []byte `json:"-"` 844 XXX_sizecache int32 `json:"-"` 845} 846 847func (m *StructuredQuery_Projection) Reset() { *m = StructuredQuery_Projection{} } 848func (m *StructuredQuery_Projection) String() string { return proto.CompactTextString(m) } 849func (*StructuredQuery_Projection) ProtoMessage() {} 850func (*StructuredQuery_Projection) Descriptor() ([]byte, []int) { 851 return fileDescriptor_query_4a614d17d9e42012, []int{0, 7} 852} 853func (m *StructuredQuery_Projection) XXX_Unmarshal(b []byte) error { 854 return xxx_messageInfo_StructuredQuery_Projection.Unmarshal(m, b) 855} 856func (m *StructuredQuery_Projection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 857 return xxx_messageInfo_StructuredQuery_Projection.Marshal(b, m, deterministic) 858} 859func (dst *StructuredQuery_Projection) XXX_Merge(src proto.Message) { 860 xxx_messageInfo_StructuredQuery_Projection.Merge(dst, src) 861} 862func (m *StructuredQuery_Projection) XXX_Size() int { 863 return xxx_messageInfo_StructuredQuery_Projection.Size(m) 864} 865func (m *StructuredQuery_Projection) XXX_DiscardUnknown() { 866 xxx_messageInfo_StructuredQuery_Projection.DiscardUnknown(m) 867} 868 869var xxx_messageInfo_StructuredQuery_Projection proto.InternalMessageInfo 870 871func (m *StructuredQuery_Projection) GetFields() []*StructuredQuery_FieldReference { 872 if m != nil { 873 return m.Fields 874 } 875 return nil 876} 877 878// A position in a query result set. 879type Cursor struct { 880 // The values that represent a position, in the order they appear in 881 // the order by clause of a query. 882 // 883 // Can contain fewer values than specified in the order by clause. 884 Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` 885 // If the position is just before or just after the given values, relative 886 // to the sort order defined by the query. 887 Before bool `protobuf:"varint,2,opt,name=before,proto3" json:"before,omitempty"` 888 XXX_NoUnkeyedLiteral struct{} `json:"-"` 889 XXX_unrecognized []byte `json:"-"` 890 XXX_sizecache int32 `json:"-"` 891} 892 893func (m *Cursor) Reset() { *m = Cursor{} } 894func (m *Cursor) String() string { return proto.CompactTextString(m) } 895func (*Cursor) ProtoMessage() {} 896func (*Cursor) Descriptor() ([]byte, []int) { 897 return fileDescriptor_query_4a614d17d9e42012, []int{1} 898} 899func (m *Cursor) XXX_Unmarshal(b []byte) error { 900 return xxx_messageInfo_Cursor.Unmarshal(m, b) 901} 902func (m *Cursor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 903 return xxx_messageInfo_Cursor.Marshal(b, m, deterministic) 904} 905func (dst *Cursor) XXX_Merge(src proto.Message) { 906 xxx_messageInfo_Cursor.Merge(dst, src) 907} 908func (m *Cursor) XXX_Size() int { 909 return xxx_messageInfo_Cursor.Size(m) 910} 911func (m *Cursor) XXX_DiscardUnknown() { 912 xxx_messageInfo_Cursor.DiscardUnknown(m) 913} 914 915var xxx_messageInfo_Cursor proto.InternalMessageInfo 916 917func (m *Cursor) GetValues() []*Value { 918 if m != nil { 919 return m.Values 920 } 921 return nil 922} 923 924func (m *Cursor) GetBefore() bool { 925 if m != nil { 926 return m.Before 927 } 928 return false 929} 930 931func init() { 932 proto.RegisterType((*StructuredQuery)(nil), "google.firestore.v1beta1.StructuredQuery") 933 proto.RegisterType((*StructuredQuery_CollectionSelector)(nil), "google.firestore.v1beta1.StructuredQuery.CollectionSelector") 934 proto.RegisterType((*StructuredQuery_Filter)(nil), "google.firestore.v1beta1.StructuredQuery.Filter") 935 proto.RegisterType((*StructuredQuery_CompositeFilter)(nil), "google.firestore.v1beta1.StructuredQuery.CompositeFilter") 936 proto.RegisterType((*StructuredQuery_FieldFilter)(nil), "google.firestore.v1beta1.StructuredQuery.FieldFilter") 937 proto.RegisterType((*StructuredQuery_UnaryFilter)(nil), "google.firestore.v1beta1.StructuredQuery.UnaryFilter") 938 proto.RegisterType((*StructuredQuery_Order)(nil), "google.firestore.v1beta1.StructuredQuery.Order") 939 proto.RegisterType((*StructuredQuery_FieldReference)(nil), "google.firestore.v1beta1.StructuredQuery.FieldReference") 940 proto.RegisterType((*StructuredQuery_Projection)(nil), "google.firestore.v1beta1.StructuredQuery.Projection") 941 proto.RegisterType((*Cursor)(nil), "google.firestore.v1beta1.Cursor") 942 proto.RegisterEnum("google.firestore.v1beta1.StructuredQuery_Direction", StructuredQuery_Direction_name, StructuredQuery_Direction_value) 943 proto.RegisterEnum("google.firestore.v1beta1.StructuredQuery_CompositeFilter_Operator", StructuredQuery_CompositeFilter_Operator_name, StructuredQuery_CompositeFilter_Operator_value) 944 proto.RegisterEnum("google.firestore.v1beta1.StructuredQuery_FieldFilter_Operator", StructuredQuery_FieldFilter_Operator_name, StructuredQuery_FieldFilter_Operator_value) 945 proto.RegisterEnum("google.firestore.v1beta1.StructuredQuery_UnaryFilter_Operator", StructuredQuery_UnaryFilter_Operator_name, StructuredQuery_UnaryFilter_Operator_value) 946} 947 948func init() { 949 proto.RegisterFile("google/firestore/v1beta1/query.proto", fileDescriptor_query_4a614d17d9e42012) 950} 951 952var fileDescriptor_query_4a614d17d9e42012 = []byte{ 953 // 985 bytes of a gzipped FileDescriptorProto 954 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x96, 0xdd, 0x6e, 0xe3, 0x44, 955 0x14, 0xc7, 0x6b, 0xa7, 0xf9, 0x3a, 0x69, 0xd3, 0x30, 0x82, 0x95, 0x09, 0xcb, 0x52, 0x05, 0xa4, 956 0xed, 0x0d, 0x0e, 0x6d, 0x59, 0x01, 0x5a, 0x40, 0x72, 0x12, 0xb7, 0xcd, 0xaa, 0x72, 0xd2, 0x49, 957 0x5b, 0x69, 0x57, 0x15, 0x96, 0x63, 0x8f, 0x53, 0x23, 0xd7, 0x63, 0xc6, 0xe3, 0x5d, 0xf5, 0x25, 958 0xb8, 0xe5, 0x9e, 0xcb, 0x7d, 0x01, 0x78, 0x06, 0x9e, 0x82, 0x27, 0x59, 0x21, 0x8f, 0xc7, 0x49, 959 0xbb, 0x55, 0x45, 0x52, 0xb8, 0xcb, 0x39, 0x3e, 0xe7, 0x37, 0xc7, 0xff, 0x73, 0x8e, 0x27, 0xf0, 960 0xc5, 0x8c, 0xd2, 0x59, 0x48, 0xba, 0x7e, 0xc0, 0x48, 0xc2, 0x29, 0x23, 0xdd, 0xd7, 0xbb, 0x53, 961 0xc2, 0x9d, 0xdd, 0xee, 0x2f, 0x29, 0x61, 0xd7, 0x7a, 0xcc, 0x28, 0xa7, 0x48, 0xcb, 0xa3, 0xf4, 962 0x79, 0x94, 0x2e, 0xa3, 0xda, 0x8f, 0x65, 0xbe, 0x13, 0x07, 0x5d, 0x27, 0x8a, 0x28, 0x77, 0x78, 963 0x40, 0xa3, 0x24, 0xcf, 0x6b, 0x3f, 0xbd, 0x97, 0xee, 0x51, 0x37, 0xbd, 0x22, 0x11, 0x97, 0x81, 964 0x4f, 0x64, 0xa0, 0xb0, 0xa6, 0xa9, 0xdf, 0x7d, 0xc3, 0x9c, 0x38, 0x26, 0x4c, 0x82, 0x3a, 0xbf, 965 0x7e, 0x00, 0x5b, 0x13, 0xce, 0x52, 0x97, 0xa7, 0x8c, 0x78, 0x27, 0x59, 0x69, 0xe8, 0x18, 0x2a, 966 0x09, 0x09, 0x89, 0xcb, 0x35, 0x65, 0x5b, 0xd9, 0x69, 0xec, 0x7d, 0xad, 0xdf, 0x57, 0xa5, 0xfe, 967 0x5e, 0xaa, 0x3e, 0x66, 0xf4, 0x67, 0xe2, 0x66, 0x95, 0x62, 0xc9, 0x40, 0x63, 0x58, 0xf7, 0x19, 968 0xbd, 0xd2, 0xd4, 0xed, 0xd2, 0x4e, 0x63, 0xef, 0xfb, 0xe5, 0x59, 0x7d, 0x1a, 0x86, 0x39, 0x6b, 969 0x22, 0x48, 0x94, 0x61, 0x41, 0x42, 0x07, 0x50, 0x7e, 0x73, 0x49, 0x18, 0xd1, 0x4a, 0xa2, 0xbc, 970 0xaf, 0x96, 0x47, 0x1e, 0x04, 0x21, 0x27, 0x0c, 0xe7, 0xe9, 0xe8, 0x05, 0xd4, 0x28, 0xf3, 0x08, 971 0xb3, 0xa7, 0xd7, 0xda, 0xba, 0xa8, 0xae, 0xbb, 0x3c, 0x6a, 0x94, 0x65, 0xe2, 0xaa, 0x00, 0xf4, 972 0xae, 0xd1, 0x73, 0xa8, 0x25, 0xdc, 0x61, 0xdc, 0x76, 0xb8, 0x56, 0x15, 0x65, 0x6d, 0xdf, 0xcf, 973 0xea, 0xa7, 0x2c, 0xa1, 0x0c, 0x57, 0x45, 0x86, 0xc1, 0xd1, 0x37, 0x50, 0x21, 0x91, 0x97, 0xa5, 974 0xd6, 0x96, 0x4c, 0x2d, 0x93, 0xc8, 0x33, 0x38, 0x7a, 0x04, 0x15, 0xea, 0xfb, 0x09, 0xe1, 0x5a, 975 0x65, 0x5b, 0xd9, 0x29, 0x63, 0x69, 0xa1, 0x5d, 0x28, 0x87, 0xc1, 0x55, 0xc0, 0xb5, 0xb2, 0xe0, 976 0x7d, 0x52, 0xf0, 0x8a, 0x29, 0xd0, 0x87, 0x11, 0xdf, 0xdf, 0x3b, 0x77, 0xc2, 0x94, 0xe0, 0x3c, 977 0xb2, 0x3d, 0x05, 0x74, 0x57, 0x70, 0xf4, 0x39, 0x6c, 0xba, 0x73, 0xaf, 0x1d, 0x78, 0x9a, 0xba, 978 0xad, 0xec, 0xd4, 0xf1, 0xc6, 0xc2, 0x39, 0xf4, 0xd0, 0x53, 0xd8, 0x72, 0xc2, 0xd0, 0xf6, 0x48, 979 0xe2, 0x92, 0xc8, 0x73, 0x22, 0x9e, 0x88, 0xce, 0xd4, 0x70, 0xd3, 0x09, 0xc3, 0xc1, 0xc2, 0xdb, 980 0xfe, 0x43, 0x85, 0x4a, 0xde, 0x02, 0xe4, 0x43, 0xcb, 0xa5, 0x57, 0x31, 0x4d, 0x02, 0x4e, 0x6c, 981 0x5f, 0xf8, 0xe4, 0xb4, 0x7d, 0xb7, 0xca, 0x84, 0x48, 0x42, 0x0e, 0x3d, 0x5a, 0xc3, 0x5b, 0xee, 982 0x6d, 0x17, 0x7a, 0x05, 0x1b, 0x7e, 0x40, 0x42, 0xaf, 0x38, 0x43, 0x15, 0x67, 0x3c, 0x5b, 0x65, 983 0x64, 0x48, 0xe8, 0xcd, 0xf9, 0x0d, 0x7f, 0x61, 0x66, 0xec, 0x34, 0x72, 0xd8, 0x75, 0xc1, 0x2e, 984 0xad, 0xca, 0x3e, 0xcb, 0xb2, 0x17, 0xec, 0x74, 0x61, 0xf6, 0x36, 0xa1, 0x91, 0x53, 0x6d, 0x7e, 985 0x1d, 0x93, 0xf6, 0xdf, 0x0a, 0x6c, 0xbd, 0xf7, 0xb6, 0x08, 0x83, 0x4a, 0x63, 0x21, 0x5a, 0x73, 986 0xaf, 0xf7, 0x60, 0xd1, 0xf4, 0x51, 0x4c, 0x98, 0x93, 0x2d, 0x97, 0x4a, 0x63, 0xf4, 0x02, 0xaa, 987 0xf9, 0xb1, 0x89, 0xdc, 0xd7, 0xd5, 0x97, 0xab, 0x00, 0x74, 0xbe, 0x84, 0x5a, 0xc1, 0x46, 0x1a, 988 0x7c, 0x38, 0x1a, 0x9b, 0xd8, 0x38, 0x1d, 0x61, 0xfb, 0xcc, 0x9a, 0x8c, 0xcd, 0xfe, 0xf0, 0x60, 989 0x68, 0x0e, 0x5a, 0x6b, 0xa8, 0x0a, 0x25, 0xc3, 0x1a, 0xb4, 0x94, 0xf6, 0x3b, 0x15, 0x1a, 0x37, 990 0xc4, 0x46, 0x16, 0x94, 0x85, 0xd8, 0x72, 0x2c, 0xbe, 0x5d, 0xb1, 0x65, 0x98, 0xf8, 0x84, 0x91, 991 0xc8, 0x25, 0x38, 0xc7, 0x20, 0x4b, 0xc8, 0xa5, 0x0a, 0xb9, 0x7e, 0x7c, 0x50, 0xff, 0x6f, 0x4b, 992 0xf5, 0x0c, 0xca, 0xaf, 0xb3, 0x05, 0x92, 0x6d, 0xff, 0xec, 0x7e, 0xa4, 0xdc, 0x33, 0x11, 0xdd, 993 0xf9, 0x4d, 0x59, 0x4a, 0x96, 0x4d, 0xa8, 0x1f, 0x9b, 0x93, 0x89, 0x7d, 0x7a, 0x64, 0x58, 0x2d, 994 0x05, 0x3d, 0x02, 0x34, 0x37, 0xed, 0x11, 0xb6, 0xcd, 0x93, 0x33, 0xe3, 0xb8, 0xa5, 0xa2, 0x16, 995 0x6c, 0x1c, 0x62, 0xd3, 0x38, 0x35, 0x71, 0x1e, 0x59, 0x42, 0x1f, 0xc3, 0x47, 0x37, 0x3d, 0x8b, 996 0xe0, 0x75, 0x54, 0x87, 0x72, 0xfe, 0xb3, 0x8c, 0x10, 0x34, 0x0d, 0x8c, 0x8d, 0x97, 0x76, 0x7f, 997 0x64, 0x9d, 0x1a, 0x43, 0x6b, 0xd2, 0xaa, 0xb6, 0xdf, 0x29, 0xd0, 0xb8, 0x31, 0x91, 0x52, 0x30, 998 0x65, 0x55, 0xc1, 0x6e, 0x20, 0x6e, 0x0b, 0x36, 0x2e, 0x1a, 0xaa, 0xfe, 0xb7, 0x86, 0x1e, 0xad, 999 0xc9, 0x96, 0x76, 0x7e, 0x58, 0x4a, 0x4a, 0x80, 0xca, 0x70, 0x62, 0x5b, 0x86, 0xd5, 0x52, 0x51, 1000 0x03, 0xaa, 0xd9, 0xef, 0xb3, 0xe3, 0xe3, 0x56, 0xa9, 0xd7, 0x84, 0x0d, 0x9a, 0xa5, 0x47, 0x5e, 1001 0xbe, 0x64, 0x6f, 0x15, 0x28, 0x8b, 0xcf, 0xfa, 0xff, 0x3e, 0x7b, 0x27, 0x50, 0xf7, 0x02, 0x96, 1002 0x7f, 0x30, 0xe5, 0x08, 0xee, 0x2f, 0xcf, 0x1c, 0x14, 0xa9, 0x78, 0x41, 0x69, 0x77, 0xa1, 0x79, 1003 0xfb, 0x2c, 0xf4, 0x29, 0x40, 0xfe, 0xa9, 0x8b, 0x1d, 0x7e, 0x29, 0x3f, 0xd4, 0x75, 0xe1, 0x19, 1004 0x3b, 0xfc, 0xb2, 0xfd, 0x13, 0xc0, 0xe2, 0x76, 0x46, 0x63, 0xa8, 0x88, 0x47, 0xc5, 0x9e, 0x3f, 1005 0xfc, 0x15, 0x25, 0xa7, 0x63, 0x42, 0x7d, 0x5e, 0x68, 0x36, 0x85, 0x83, 0x21, 0x36, 0xfb, 0xa7, 1006 0xc3, 0x91, 0x75, 0x77, 0xb2, 0x8d, 0x49, 0xdf, 0xb4, 0x06, 0x43, 0xeb, 0xb0, 0xa5, 0xa0, 0x26, 1007 0xc0, 0xc0, 0x9c, 0xdb, 0x6a, 0xe7, 0x25, 0x54, 0xf2, 0x3b, 0x2e, 0xbb, 0x15, 0xc5, 0xca, 0x24, 1008 0x9a, 0x22, 0x4a, 0xfc, 0xd7, 0x0d, 0x93, 0xe1, 0xd9, 0xad, 0x38, 0x25, 0x3e, 0x65, 0x44, 0x88, 1009 0x50, 0xc3, 0xd2, 0xea, 0xfd, 0xa9, 0xc0, 0x63, 0x97, 0x5e, 0xdd, 0x8b, 0xe9, 0x81, 0x78, 0xc1, 1010 0x71, 0x76, 0x49, 0x8e, 0x95, 0x57, 0x86, 0x8c, 0x9b, 0xd1, 0xd0, 0x89, 0x66, 0x3a, 0x65, 0xb3, 1011 0xee, 0x8c, 0x44, 0xe2, 0x0a, 0xed, 0xe6, 0x8f, 0x9c, 0x38, 0x48, 0xee, 0xfe, 0x05, 0x7b, 0x3e, 1012 0xf7, 0xfc, 0xae, 0xae, 0x1f, 0xf6, 0x0f, 0x26, 0x6f, 0xd5, 0x27, 0x87, 0x39, 0xaa, 0x1f, 0xd2, 1013 0xd4, 0xd3, 0x0f, 0xe6, 0x07, 0x9f, 0xef, 0xf6, 0xb2, 0x8c, 0xbf, 0x8a, 0x80, 0x0b, 0x11, 0x70, 1014 0x31, 0x0f, 0xb8, 0x38, 0xcf, 0x91, 0xd3, 0x8a, 0x38, 0x76, 0xff, 0x9f, 0x00, 0x00, 0x00, 0xff, 1015 0xff, 0x3e, 0x38, 0xb4, 0xc6, 0x56, 0x0a, 0x00, 0x00, 1016} 1017