You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1017 lines
41 KiB

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