mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-08-28 10:54:59 +00:00
This commit changes the underlying storage for `Bitmap` from a red-black tree to a roaring bitmap. It also removes bitmaps from the cache and only stores the bitmap count.
558 lines
18 KiB
Go
558 lines
18 KiB
Go
// Code generated by protoc-gen-gogo.
|
|
// source: internal/internal.proto
|
|
// DO NOT EDIT!
|
|
|
|
/*
|
|
Package internal is a generated protocol buffer package.
|
|
|
|
It is generated from these files:
|
|
internal/internal.proto
|
|
|
|
It has these top-level messages:
|
|
Bitmap
|
|
Pair
|
|
Bit
|
|
Profile
|
|
Attr
|
|
AttrMap
|
|
QueryRequest
|
|
QueryResponse
|
|
QueryResult
|
|
ImportRequest
|
|
ImportResponse
|
|
BlockDataRequest
|
|
BlockDataResponse
|
|
Cache
|
|
SliceMaxResponse
|
|
*/
|
|
package internal
|
|
|
|
import proto "github.com/gogo/protobuf/proto"
|
|
import fmt "fmt"
|
|
import math "math"
|
|
|
|
// Reference imports to suppress errors if they are not otherwise used.
|
|
var _ = proto.Marshal
|
|
var _ = fmt.Errorf
|
|
var _ = math.Inf
|
|
|
|
// This is a compile-time assertion to ensure that this generated file
|
|
// is compatible with the proto package it is being compiled against.
|
|
const _ = proto.GoGoProtoPackageIsVersion1
|
|
|
|
type Bitmap struct {
|
|
Bits []uint64 `protobuf:"varint,1,rep,name=Bits" json:"Bits,omitempty"`
|
|
Attrs []*Attr `protobuf:"bytes,2,rep,name=Attrs" json:"Attrs,omitempty"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
}
|
|
|
|
func (m *Bitmap) Reset() { *m = Bitmap{} }
|
|
func (m *Bitmap) String() string { return proto.CompactTextString(m) }
|
|
func (*Bitmap) ProtoMessage() {}
|
|
func (*Bitmap) Descriptor() ([]byte, []int) { return fileDescriptorInternal, []int{0} }
|
|
|
|
func (m *Bitmap) GetBits() []uint64 {
|
|
if m != nil {
|
|
return m.Bits
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m *Bitmap) GetAttrs() []*Attr {
|
|
if m != nil {
|
|
return m.Attrs
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Pair struct {
|
|
Key *uint64 `protobuf:"varint,1,req,name=Key" json:"Key,omitempty"`
|
|
Count *uint64 `protobuf:"varint,2,req,name=Count" json:"Count,omitempty"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
}
|
|
|
|
func (m *Pair) Reset() { *m = Pair{} }
|
|
func (m *Pair) String() string { return proto.CompactTextString(m) }
|
|
func (*Pair) ProtoMessage() {}
|
|
func (*Pair) Descriptor() ([]byte, []int) { return fileDescriptorInternal, []int{1} }
|
|
|
|
func (m *Pair) GetKey() uint64 {
|
|
if m != nil && m.Key != nil {
|
|
return *m.Key
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (m *Pair) GetCount() uint64 {
|
|
if m != nil && m.Count != nil {
|
|
return *m.Count
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type Bit struct {
|
|
BitmapID *uint64 `protobuf:"varint,1,req,name=BitmapID" json:"BitmapID,omitempty"`
|
|
ProfileID *uint64 `protobuf:"varint,2,req,name=ProfileID" json:"ProfileID,omitempty"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
}
|
|
|
|
func (m *Bit) Reset() { *m = Bit{} }
|
|
func (m *Bit) String() string { return proto.CompactTextString(m) }
|
|
func (*Bit) ProtoMessage() {}
|
|
func (*Bit) Descriptor() ([]byte, []int) { return fileDescriptorInternal, []int{2} }
|
|
|
|
func (m *Bit) GetBitmapID() uint64 {
|
|
if m != nil && m.BitmapID != nil {
|
|
return *m.BitmapID
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (m *Bit) GetProfileID() uint64 {
|
|
if m != nil && m.ProfileID != nil {
|
|
return *m.ProfileID
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type Profile struct {
|
|
ID *uint64 `protobuf:"varint,1,req,name=ID" json:"ID,omitempty"`
|
|
Attrs []*Attr `protobuf:"bytes,2,rep,name=Attrs" json:"Attrs,omitempty"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
}
|
|
|
|
func (m *Profile) Reset() { *m = Profile{} }
|
|
func (m *Profile) String() string { return proto.CompactTextString(m) }
|
|
func (*Profile) ProtoMessage() {}
|
|
func (*Profile) Descriptor() ([]byte, []int) { return fileDescriptorInternal, []int{3} }
|
|
|
|
func (m *Profile) GetID() uint64 {
|
|
if m != nil && m.ID != nil {
|
|
return *m.ID
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (m *Profile) GetAttrs() []*Attr {
|
|
if m != nil {
|
|
return m.Attrs
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Attr struct {
|
|
Key *string `protobuf:"bytes,1,req,name=Key" json:"Key,omitempty"`
|
|
StringValue *string `protobuf:"bytes,2,opt,name=StringValue" json:"StringValue,omitempty"`
|
|
UintValue *uint64 `protobuf:"varint,3,opt,name=UintValue" json:"UintValue,omitempty"`
|
|
BoolValue *bool `protobuf:"varint,4,opt,name=BoolValue" json:"BoolValue,omitempty"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
}
|
|
|
|
func (m *Attr) Reset() { *m = Attr{} }
|
|
func (m *Attr) String() string { return proto.CompactTextString(m) }
|
|
func (*Attr) ProtoMessage() {}
|
|
func (*Attr) Descriptor() ([]byte, []int) { return fileDescriptorInternal, []int{4} }
|
|
|
|
func (m *Attr) GetKey() string {
|
|
if m != nil && m.Key != nil {
|
|
return *m.Key
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *Attr) GetStringValue() string {
|
|
if m != nil && m.StringValue != nil {
|
|
return *m.StringValue
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *Attr) GetUintValue() uint64 {
|
|
if m != nil && m.UintValue != nil {
|
|
return *m.UintValue
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (m *Attr) GetBoolValue() bool {
|
|
if m != nil && m.BoolValue != nil {
|
|
return *m.BoolValue
|
|
}
|
|
return false
|
|
}
|
|
|
|
type AttrMap struct {
|
|
Attrs []*Attr `protobuf:"bytes,1,rep,name=Attrs" json:"Attrs,omitempty"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
}
|
|
|
|
func (m *AttrMap) Reset() { *m = AttrMap{} }
|
|
func (m *AttrMap) String() string { return proto.CompactTextString(m) }
|
|
func (*AttrMap) ProtoMessage() {}
|
|
func (*AttrMap) Descriptor() ([]byte, []int) { return fileDescriptorInternal, []int{5} }
|
|
|
|
func (m *AttrMap) GetAttrs() []*Attr {
|
|
if m != nil {
|
|
return m.Attrs
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type QueryRequest struct {
|
|
DB *string `protobuf:"bytes,1,req,name=DB" json:"DB,omitempty"`
|
|
Query *string `protobuf:"bytes,2,req,name=Query" json:"Query,omitempty"`
|
|
Slices []uint64 `protobuf:"varint,3,rep,name=Slices" json:"Slices,omitempty"`
|
|
Profiles *bool `protobuf:"varint,4,opt,name=Profiles" json:"Profiles,omitempty"`
|
|
Timestamp *int64 `protobuf:"varint,5,opt,name=Timestamp" json:"Timestamp,omitempty"`
|
|
Quantum *uint32 `protobuf:"varint,6,opt,name=Quantum" json:"Quantum,omitempty"`
|
|
Remote *bool `protobuf:"varint,7,opt,name=Remote" json:"Remote,omitempty"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
}
|
|
|
|
func (m *QueryRequest) Reset() { *m = QueryRequest{} }
|
|
func (m *QueryRequest) String() string { return proto.CompactTextString(m) }
|
|
func (*QueryRequest) ProtoMessage() {}
|
|
func (*QueryRequest) Descriptor() ([]byte, []int) { return fileDescriptorInternal, []int{6} }
|
|
|
|
func (m *QueryRequest) GetDB() string {
|
|
if m != nil && m.DB != nil {
|
|
return *m.DB
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *QueryRequest) GetQuery() string {
|
|
if m != nil && m.Query != nil {
|
|
return *m.Query
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *QueryRequest) GetSlices() []uint64 {
|
|
if m != nil {
|
|
return m.Slices
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m *QueryRequest) GetProfiles() bool {
|
|
if m != nil && m.Profiles != nil {
|
|
return *m.Profiles
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (m *QueryRequest) GetTimestamp() int64 {
|
|
if m != nil && m.Timestamp != nil {
|
|
return *m.Timestamp
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (m *QueryRequest) GetQuantum() uint32 {
|
|
if m != nil && m.Quantum != nil {
|
|
return *m.Quantum
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (m *QueryRequest) GetRemote() bool {
|
|
if m != nil && m.Remote != nil {
|
|
return *m.Remote
|
|
}
|
|
return false
|
|
}
|
|
|
|
type QueryResponse struct {
|
|
Err *string `protobuf:"bytes,1,opt,name=Err" json:"Err,omitempty"`
|
|
Results []*QueryResult `protobuf:"bytes,2,rep,name=Results" json:"Results,omitempty"`
|
|
Profiles []*Profile `protobuf:"bytes,3,rep,name=Profiles" json:"Profiles,omitempty"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
}
|
|
|
|
func (m *QueryResponse) Reset() { *m = QueryResponse{} }
|
|
func (m *QueryResponse) String() string { return proto.CompactTextString(m) }
|
|
func (*QueryResponse) ProtoMessage() {}
|
|
func (*QueryResponse) Descriptor() ([]byte, []int) { return fileDescriptorInternal, []int{7} }
|
|
|
|
func (m *QueryResponse) GetErr() string {
|
|
if m != nil && m.Err != nil {
|
|
return *m.Err
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *QueryResponse) GetResults() []*QueryResult {
|
|
if m != nil {
|
|
return m.Results
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m *QueryResponse) GetProfiles() []*Profile {
|
|
if m != nil {
|
|
return m.Profiles
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type QueryResult struct {
|
|
Bitmap *Bitmap `protobuf:"bytes,1,opt,name=Bitmap" json:"Bitmap,omitempty"`
|
|
N *uint64 `protobuf:"varint,2,opt,name=N" json:"N,omitempty"`
|
|
Pairs []*Pair `protobuf:"bytes,3,rep,name=Pairs" json:"Pairs,omitempty"`
|
|
Changed *bool `protobuf:"varint,4,opt,name=Changed" json:"Changed,omitempty"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
}
|
|
|
|
func (m *QueryResult) Reset() { *m = QueryResult{} }
|
|
func (m *QueryResult) String() string { return proto.CompactTextString(m) }
|
|
func (*QueryResult) ProtoMessage() {}
|
|
func (*QueryResult) Descriptor() ([]byte, []int) { return fileDescriptorInternal, []int{8} }
|
|
|
|
func (m *QueryResult) GetBitmap() *Bitmap {
|
|
if m != nil {
|
|
return m.Bitmap
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m *QueryResult) GetN() uint64 {
|
|
if m != nil && m.N != nil {
|
|
return *m.N
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (m *QueryResult) GetPairs() []*Pair {
|
|
if m != nil {
|
|
return m.Pairs
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m *QueryResult) GetChanged() bool {
|
|
if m != nil && m.Changed != nil {
|
|
return *m.Changed
|
|
}
|
|
return false
|
|
}
|
|
|
|
type ImportRequest struct {
|
|
DB *string `protobuf:"bytes,1,req,name=DB" json:"DB,omitempty"`
|
|
Frame *string `protobuf:"bytes,2,req,name=Frame" json:"Frame,omitempty"`
|
|
Slice *uint64 `protobuf:"varint,3,req,name=Slice" json:"Slice,omitempty"`
|
|
BitmapIDs []uint64 `protobuf:"varint,4,rep,name=BitmapIDs" json:"BitmapIDs,omitempty"`
|
|
ProfileIDs []uint64 `protobuf:"varint,5,rep,name=ProfileIDs" json:"ProfileIDs,omitempty"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
}
|
|
|
|
func (m *ImportRequest) Reset() { *m = ImportRequest{} }
|
|
func (m *ImportRequest) String() string { return proto.CompactTextString(m) }
|
|
func (*ImportRequest) ProtoMessage() {}
|
|
func (*ImportRequest) Descriptor() ([]byte, []int) { return fileDescriptorInternal, []int{9} }
|
|
|
|
func (m *ImportRequest) GetDB() string {
|
|
if m != nil && m.DB != nil {
|
|
return *m.DB
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *ImportRequest) GetFrame() string {
|
|
if m != nil && m.Frame != nil {
|
|
return *m.Frame
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *ImportRequest) GetSlice() uint64 {
|
|
if m != nil && m.Slice != nil {
|
|
return *m.Slice
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (m *ImportRequest) GetBitmapIDs() []uint64 {
|
|
if m != nil {
|
|
return m.BitmapIDs
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m *ImportRequest) GetProfileIDs() []uint64 {
|
|
if m != nil {
|
|
return m.ProfileIDs
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ImportResponse struct {
|
|
Err *string `protobuf:"bytes,1,opt,name=Err" json:"Err,omitempty"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
}
|
|
|
|
func (m *ImportResponse) Reset() { *m = ImportResponse{} }
|
|
func (m *ImportResponse) String() string { return proto.CompactTextString(m) }
|
|
func (*ImportResponse) ProtoMessage() {}
|
|
func (*ImportResponse) Descriptor() ([]byte, []int) { return fileDescriptorInternal, []int{10} }
|
|
|
|
func (m *ImportResponse) GetErr() string {
|
|
if m != nil && m.Err != nil {
|
|
return *m.Err
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type BlockDataRequest struct {
|
|
DB *string `protobuf:"bytes,1,req,name=DB" json:"DB,omitempty"`
|
|
Frame *string `protobuf:"bytes,2,req,name=Frame" json:"Frame,omitempty"`
|
|
Slice *uint64 `protobuf:"varint,3,req,name=Slice" json:"Slice,omitempty"`
|
|
Block *uint64 `protobuf:"varint,4,req,name=Block" json:"Block,omitempty"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
}
|
|
|
|
func (m *BlockDataRequest) Reset() { *m = BlockDataRequest{} }
|
|
func (m *BlockDataRequest) String() string { return proto.CompactTextString(m) }
|
|
func (*BlockDataRequest) ProtoMessage() {}
|
|
func (*BlockDataRequest) Descriptor() ([]byte, []int) { return fileDescriptorInternal, []int{11} }
|
|
|
|
func (m *BlockDataRequest) GetDB() string {
|
|
if m != nil && m.DB != nil {
|
|
return *m.DB
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *BlockDataRequest) GetFrame() string {
|
|
if m != nil && m.Frame != nil {
|
|
return *m.Frame
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (m *BlockDataRequest) GetSlice() uint64 {
|
|
if m != nil && m.Slice != nil {
|
|
return *m.Slice
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (m *BlockDataRequest) GetBlock() uint64 {
|
|
if m != nil && m.Block != nil {
|
|
return *m.Block
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type BlockDataResponse struct {
|
|
BitmapIDs []uint64 `protobuf:"varint,1,rep,name=BitmapIDs" json:"BitmapIDs,omitempty"`
|
|
ProfileIDs []uint64 `protobuf:"varint,2,rep,name=ProfileIDs" json:"ProfileIDs,omitempty"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
}
|
|
|
|
func (m *BlockDataResponse) Reset() { *m = BlockDataResponse{} }
|
|
func (m *BlockDataResponse) String() string { return proto.CompactTextString(m) }
|
|
func (*BlockDataResponse) ProtoMessage() {}
|
|
func (*BlockDataResponse) Descriptor() ([]byte, []int) { return fileDescriptorInternal, []int{12} }
|
|
|
|
func (m *BlockDataResponse) GetBitmapIDs() []uint64 {
|
|
if m != nil {
|
|
return m.BitmapIDs
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m *BlockDataResponse) GetProfileIDs() []uint64 {
|
|
if m != nil {
|
|
return m.ProfileIDs
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Cache struct {
|
|
BitmapIDs []uint64 `protobuf:"varint,1,rep,name=BitmapIDs" json:"BitmapIDs,omitempty"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
}
|
|
|
|
func (m *Cache) Reset() { *m = Cache{} }
|
|
func (m *Cache) String() string { return proto.CompactTextString(m) }
|
|
func (*Cache) ProtoMessage() {}
|
|
func (*Cache) Descriptor() ([]byte, []int) { return fileDescriptorInternal, []int{13} }
|
|
|
|
func (m *Cache) GetBitmapIDs() []uint64 {
|
|
if m != nil {
|
|
return m.BitmapIDs
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type SliceMaxResponse struct {
|
|
SliceMax *uint64 `protobuf:"varint,1,req,name=SliceMax" json:"SliceMax,omitempty"`
|
|
XXX_unrecognized []byte `json:"-"`
|
|
}
|
|
|
|
func (m *SliceMaxResponse) Reset() { *m = SliceMaxResponse{} }
|
|
func (m *SliceMaxResponse) String() string { return proto.CompactTextString(m) }
|
|
func (*SliceMaxResponse) ProtoMessage() {}
|
|
func (*SliceMaxResponse) Descriptor() ([]byte, []int) { return fileDescriptorInternal, []int{14} }
|
|
|
|
func (m *SliceMaxResponse) GetSliceMax() uint64 {
|
|
if m != nil && m.SliceMax != nil {
|
|
return *m.SliceMax
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func init() {
|
|
proto.RegisterType((*Bitmap)(nil), "internal.Bitmap")
|
|
proto.RegisterType((*Pair)(nil), "internal.Pair")
|
|
proto.RegisterType((*Bit)(nil), "internal.Bit")
|
|
proto.RegisterType((*Profile)(nil), "internal.Profile")
|
|
proto.RegisterType((*Attr)(nil), "internal.Attr")
|
|
proto.RegisterType((*AttrMap)(nil), "internal.AttrMap")
|
|
proto.RegisterType((*QueryRequest)(nil), "internal.QueryRequest")
|
|
proto.RegisterType((*QueryResponse)(nil), "internal.QueryResponse")
|
|
proto.RegisterType((*QueryResult)(nil), "internal.QueryResult")
|
|
proto.RegisterType((*ImportRequest)(nil), "internal.ImportRequest")
|
|
proto.RegisterType((*ImportResponse)(nil), "internal.ImportResponse")
|
|
proto.RegisterType((*BlockDataRequest)(nil), "internal.BlockDataRequest")
|
|
proto.RegisterType((*BlockDataResponse)(nil), "internal.BlockDataResponse")
|
|
proto.RegisterType((*Cache)(nil), "internal.Cache")
|
|
proto.RegisterType((*SliceMaxResponse)(nil), "internal.SliceMaxResponse")
|
|
}
|
|
|
|
var fileDescriptorInternal = []byte{
|
|
// 499 bytes of a gzipped FileDescriptorProto
|
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x53, 0x5d, 0x6b, 0xd4, 0x40,
|
|
0x14, 0x65, 0x37, 0xd9, 0xcd, 0xee, 0x4d, 0x77, 0xdd, 0x1d, 0x11, 0x83, 0x50, 0x28, 0x51, 0xa4,
|
|
0xf8, 0x50, 0xa1, 0xe8, 0x8b, 0x6f, 0x6e, 0x57, 0xa1, 0x94, 0x96, 0x7e, 0xa8, 0xcf, 0x0e, 0xeb,
|
|
0xd8, 0x46, 0x93, 0x4c, 0x9c, 0x4c, 0xc0, 0x3e, 0xf9, 0xd7, 0x3d, 0x33, 0x99, 0xc9, 0x46, 0x58,
|
|
0x11, 0x9f, 0x92, 0x7b, 0xe6, 0x9e, 0x7b, 0xce, 0x9c, 0xdc, 0xd0, 0xe3, 0xac, 0xd4, 0x42, 0x95,
|
|
0x3c, 0x7f, 0xe9, 0x5f, 0x8e, 0x2a, 0x25, 0xb5, 0x64, 0x13, 0x5f, 0xa7, 0xaf, 0x69, 0xbc, 0xca,
|
|
0x74, 0xc1, 0x2b, 0xb6, 0x47, 0x21, 0xde, 0xea, 0x64, 0x70, 0x10, 0x1c, 0x86, 0x6c, 0x9f, 0x46,
|
|
0x6f, 0xb5, 0x56, 0x75, 0x32, 0x44, 0x19, 0x1f, 0xcf, 0x8f, 0xba, 0x09, 0x06, 0x4e, 0x53, 0x0a,
|
|
0x2f, 0x79, 0xa6, 0x58, 0x4c, 0xc1, 0x99, 0xb8, 0x07, 0x67, 0x08, 0xce, 0x8c, 0x46, 0x27, 0xb2,
|
|
0x29, 0x35, 0x38, 0x28, 0xd3, 0x17, 0x14, 0x60, 0x20, 0x5b, 0xd0, 0xa4, 0x55, 0x38, 0x5d, 0xbb,
|
|
0xbe, 0x25, 0x4d, 0x2f, 0x95, 0xfc, 0x9a, 0xe5, 0x02, 0x50, 0xdb, 0xfb, 0x8a, 0x22, 0x07, 0x31,
|
|
0xa2, 0x61, 0xd7, 0xf9, 0x0f, 0x17, 0x17, 0x14, 0x9a, 0x67, 0xdf, 0xc5, 0x94, 0x3d, 0xa4, 0xf8,
|
|
0x46, 0xab, 0xac, 0xbc, 0xfd, 0xc4, 0xf3, 0x46, 0x80, 0x39, 0x00, 0x08, 0xc9, 0x8f, 0xe0, 0xb6,
|
|
0x50, 0x00, 0xc8, 0xba, 0x58, 0x49, 0x99, 0xb7, 0x50, 0x08, 0x68, 0x92, 0x1e, 0x52, 0x64, 0xe6,
|
|
0x9d, 0x23, 0x8d, 0x4e, 0x79, 0xb0, 0x53, 0xf9, 0x17, 0xed, 0x5d, 0x35, 0x42, 0xdd, 0x5f, 0x8b,
|
|
0x1f, 0x8d, 0xa8, 0xb5, 0x31, 0xbd, 0x5e, 0x39, 0x03, 0x88, 0xc1, 0x9e, 0xd9, 0xab, 0x4d, 0xd9,
|
|
0x9c, 0xc6, 0x37, 0x79, 0xb6, 0x11, 0x35, 0x74, 0x4d, 0xb2, 0xc8, 0xc3, 0x5d, 0xb5, 0x6e, 0x65,
|
|
0x8d, 0x93, 0x0f, 0x59, 0x81, 0x31, 0xbc, 0xa8, 0x92, 0x11, 0xa0, 0x80, 0x3d, 0xa0, 0xe8, 0xaa,
|
|
0xe1, 0xa5, 0x6e, 0x8a, 0x64, 0x0c, 0x60, 0x66, 0xa6, 0x5c, 0x8b, 0x42, 0x6a, 0x91, 0x44, 0xd6,
|
|
0x6a, 0x46, 0x33, 0x67, 0xa0, 0xae, 0x64, 0x59, 0x0b, 0x93, 0xc1, 0x3b, 0xa5, 0x60, 0xc1, 0x5c,
|
|
0xf7, 0x39, 0x45, 0x38, 0x68, 0x72, 0xed, 0x93, 0x7b, 0xb4, 0xf5, 0xef, 0x69, 0x38, 0x65, 0x4f,
|
|
0x7b, 0x5e, 0x02, 0xdb, 0xb8, 0xdc, 0x36, 0xba, 0x93, 0xf4, 0x1b, 0xc5, 0x7d, 0xce, 0x81, 0xdf,
|
|
0x18, 0xab, 0x15, 0x1f, 0x2f, 0xb6, 0x0c, 0xb7, 0x49, 0x53, 0x1a, 0x5c, 0xd8, 0xdc, 0xed, 0x07,
|
|
0x34, 0x7b, 0xe2, 0xa7, 0xf7, 0x62, 0xb4, 0xeb, 0x83, 0x6b, 0x9e, 0xdc, 0xf1, 0xf2, 0x56, 0x7c,
|
|
0x71, 0x5f, 0xe0, 0x33, 0xcd, 0x4e, 0x8b, 0x4a, 0x2a, 0xfd, 0x97, 0x60, 0xdf, 0x2b, 0x5e, 0x08,
|
|
0x17, 0x2c, 0x4a, 0x1b, 0x2c, 0x66, 0xbb, 0xad, 0xf2, 0x7b, 0x66, 0x82, 0x35, 0x51, 0x83, 0xdd,
|
|
0x2d, 0x5a, 0x8d, 0x64, 0x81, 0xa5, 0xfb, 0x34, 0xf7, 0x0a, 0x3b, 0x92, 0x4b, 0xcf, 0x68, 0xb1,
|
|
0xca, 0xe5, 0xe6, 0xfb, 0x9a, 0x6b, 0xfe, 0xff, 0x1e, 0x50, 0x5a, 0x36, 0xf4, 0xcd, 0x56, 0xbf,
|
|
0xa1, 0x65, 0x6f, 0x98, 0x93, 0xfb, 0xc3, 0xe7, 0x60, 0x87, 0xcf, 0xa1, 0xf5, 0xf9, 0x04, 0x3f,
|
|
0x13, 0xdf, 0xdc, 0xed, 0xea, 0x4f, 0x9f, 0xd1, 0xc2, 0xaa, 0x9e, 0xf3, 0x9f, 0xdd, 0x58, 0xac,
|
|
0x95, 0xc7, 0xda, 0x9f, 0xe7, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa7, 0x12, 0x50, 0x70, 0xfe,
|
|
0x03, 0x00, 0x00,
|
|
}
|