diff --git a/base/gnfd/gnfd_service.go b/base/gnfd/gnfd_service.go
index 34a19acb0..079596103 100644
--- a/base/gnfd/gnfd_service.go
+++ b/base/gnfd/gnfd_service.go
@@ -509,6 +509,36 @@ func (g *Gnfd) QueryBucketInfo(ctx context.Context, bucket string) (bucketInfo *
return resp.GetBucketInfo(), nil
}
+// QueryBucketExtraInfo returns the bucket extra info by name.
+func (g *Gnfd) QueryBucketExtraInfo(ctx context.Context, bucket string) (bucketInfo *storagetypes.BucketExtraInfo, err error) {
+ startTime := time.Now()
+ defer func() {
+ if err != nil {
+ metrics.GnfdChainCounter.WithLabelValues(ChainFailureQueryBucketInfo).Inc()
+ metrics.GnfdChainTime.WithLabelValues(ChainFailureQueryBucketInfo).Observe(
+ time.Since(startTime).Seconds())
+ metrics.GnfdChainCounter.WithLabelValues(ChainFailureTotal).Inc()
+ metrics.GnfdChainTime.WithLabelValues(ChainFailureTotal).Observe(
+ time.Since(startTime).Seconds())
+ return
+ }
+ metrics.GnfdChainCounter.WithLabelValues(ChainSuccessQueryBucketInfo).Inc()
+ metrics.GnfdChainTime.WithLabelValues(ChainSuccessQueryBucketInfo).Observe(
+ time.Since(startTime).Seconds())
+ metrics.GnfdChainCounter.WithLabelValues(ChainSuccessTotal).Inc()
+ metrics.GnfdChainTime.WithLabelValues(ChainSuccessTotal).Observe(
+ time.Since(startTime).Seconds())
+ }()
+
+ client := g.getCurrentClient().GnfdClient()
+ resp, err := client.HeadBucket(ctx, &storagetypes.QueryHeadBucketRequest{BucketName: bucket})
+ if err != nil {
+ log.CtxErrorw(ctx, "failed to query bucket", "bucket_name", bucket, "error", err)
+ return nil, err
+ }
+ return resp.GetExtraInfo(), nil
+}
+
// QueryBucketInfoById returns the bucket info by name.
func (g *Gnfd) QueryBucketInfoById(ctx context.Context, bucketId uint64) (bucketInfo *storagetypes.BucketInfo, err error) {
startTime := time.Now()
diff --git a/core/consensus/consensus.go b/core/consensus/consensus.go
index 9c6e7c9a1..7407c0511 100644
--- a/core/consensus/consensus.go
+++ b/core/consensus/consensus.go
@@ -51,6 +51,8 @@ type Consensus interface {
QueryStorageParamsByTimestamp(ctx context.Context, timestamp int64) (params *storagetypes.Params, err error)
// QueryBucketInfo returns the bucket info by bucket name.
QueryBucketInfo(ctx context.Context, bucket string) (*storagetypes.BucketInfo, error)
+ // QueryBucketExtraInfo returns the bucket extra info by bucket name.
+ QueryBucketExtraInfo(ctx context.Context, bucket string) (bucketInfo *storagetypes.BucketExtraInfo, err error)
// QueryBucketInfoById returns the bucket info by bucket id.
QueryBucketInfoById(ctx context.Context, bucketId uint64) (bucketInfo *storagetypes.BucketInfo, err error)
// QueryObjectInfo returns the object info by bucket and object name.
@@ -136,6 +138,9 @@ func (*NullConsensus) QueryStorageParamsByTimestamp(context.Context, int64) (*st
func (*NullConsensus) QueryBucketInfo(context.Context, string) (*storagetypes.BucketInfo, error) {
return nil, nil
}
+func (*NullConsensus) QueryBucketExtraInfo(context.Context, string) (*storagetypes.BucketExtraInfo, error) {
+ return nil, nil
+}
func (*NullConsensus) QueryBucketInfoById(context.Context, uint64) (*storagetypes.BucketInfo, error) {
return nil, nil
}
diff --git a/core/consensus/consensus_mock.go b/core/consensus/consensus_mock.go
index ee6bd26be..5aed06a85 100644
--- a/core/consensus/consensus_mock.go
+++ b/core/consensus/consensus_mock.go
@@ -209,6 +209,21 @@ func (mr *MockConsensusMockRecorder) ListenRejectUnSealObject(ctx, objectID, tim
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListenRejectUnSealObject", reflect.TypeOf((*MockConsensus)(nil).ListenRejectUnSealObject), ctx, objectID, timeoutHeight)
}
+// QueryBucketExtraInfo mocks base method.
+func (m *MockConsensus) QueryBucketExtraInfo(ctx context.Context, bucket string) (*types1.BucketExtraInfo, error) {
+ m.ctrl.T.Helper()
+ ret := m.ctrl.Call(m, "QueryBucketExtraInfo", ctx, bucket)
+ ret0, _ := ret[0].(*types1.BucketExtraInfo)
+ ret1, _ := ret[1].(error)
+ return ret0, ret1
+}
+
+// QueryBucketExtraInfo indicates an expected call of QueryBucketExtraInfo.
+func (mr *MockConsensusMockRecorder) QueryBucketExtraInfo(ctx, bucket any) *gomock.Call {
+ mr.mock.ctrl.T.Helper()
+ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryBucketExtraInfo", reflect.TypeOf((*MockConsensus)(nil).QueryBucketExtraInfo), ctx, bucket)
+}
+
// QueryBucketInfo mocks base method.
func (m *MockConsensus) QueryBucketInfo(ctx context.Context, bucket string) (*types1.BucketInfo, error) {
m.ctrl.T.Helper()
diff --git a/core/consensus/consensus_test.go b/core/consensus/consensus_test.go
index fc6c3bac0..be645c7d8 100644
--- a/core/consensus/consensus_test.go
+++ b/core/consensus/consensus_test.go
@@ -24,6 +24,7 @@ func TestNullConsensus(t *testing.T) {
_, _ = nc.QueryStorageParams(context.TODO())
_, _ = nc.QueryStorageParamsByTimestamp(context.TODO(), 0)
_, _ = nc.QueryBucketInfo(context.TODO(), "")
+ _, _ = nc.QueryBucketExtraInfo(context.TODO(), "")
_, _ = nc.QueryBucketInfoById(context.TODO(), 0)
_, _ = nc.QueryObjectInfo(context.TODO(), "", "")
_, _ = nc.QueryObjectInfoByID(context.TODO(), "")
diff --git a/go.mod b/go.mod
index a5499ed5a..198ca292b 100644
--- a/go.mod
+++ b/go.mod
@@ -10,7 +10,7 @@ require (
github.com/aliyun/credentials-go v1.3.0
github.com/avast/retry-go/v4 v4.3.1
github.com/aws/aws-sdk-go v1.44.159
- github.com/bnb-chain/greenfield v1.4.1-0.20240313092637-df143c62cbb5
+ github.com/bnb-chain/greenfield v1.5.1-0.20240314113148-e4cc584f6da2
github.com/bnb-chain/greenfield-common/go v0.0.0-20240228080631-2683b0ee669a
github.com/bytedance/gopkg v0.0.0-20221122125632-68358b8ecec6
github.com/cometbft/cometbft v0.37.2
@@ -124,7 +124,7 @@ require (
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang-jwt/jwt/v4 v4.3.0 // indirect
github.com/golang/glog v1.1.0 // indirect
- github.com/golang/mock v1.6.0
+ github.com/golang/mock v1.6.0 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/golang/snappy v0.0.4 // indirect
github.com/google/btree v1.1.2 // indirect
@@ -306,7 +306,7 @@ replace (
github.com/confio/ics23/go => github.com/cosmos/cosmos-sdk/ics23/go v0.8.0
github.com/cosmos/cosmos-sdk => github.com/bnb-chain/greenfield-cosmos-sdk v1.4.1-0.20240305064839-3cb07f5a365c
github.com/cosmos/iavl => github.com/bnb-chain/greenfield-iavl v0.20.1
- github.com/forbole/juno/v4 => github.com/bnb-chain/juno/v4 v4.0.0-20240221084449-8b5ee76301fa
+ github.com/forbole/juno/v4 => github.com/bnb-chain/juno/v4 v4.0.0-20240326082854-3c67c32eb2be
github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1
github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7
)
diff --git a/go.sum b/go.sum
index bb350cad4..64cd825ee 100644
--- a/go.sum
+++ b/go.sum
@@ -176,8 +176,8 @@ github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816/go.mod h1:+zsy
github.com/bits-and-blooms/bitset v1.2.0 h1:Kn4yilvwNtMACtf1eYDlG8H77R07mZSPbMjLyS07ChA=
github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c=
-github.com/bnb-chain/greenfield v1.4.1-0.20240313092637-df143c62cbb5 h1:xR5qjFrUesFAw3YTndfhHPauiFLRy7nEoX9rMtCbrrs=
-github.com/bnb-chain/greenfield v1.4.1-0.20240313092637-df143c62cbb5/go.mod h1:N45Dfmj0EwL4xiKtpVvX1AkeER1CtKR0vMF+Nr9gLbE=
+github.com/bnb-chain/greenfield v1.5.1-0.20240314113148-e4cc584f6da2 h1:y2eM3EGsVjCaHKLDrfZ5n0gtFZuDza2BEwQvaQJlzFM=
+github.com/bnb-chain/greenfield v1.5.1-0.20240314113148-e4cc584f6da2/go.mod h1:z970om1k0EPmDFCUvxZpufQz3a1bOP7QriaZbaywaVY=
github.com/bnb-chain/greenfield-cometbft v1.2.0 h1:LTStppZS9WkVj0TfEYKkk5OAQDGfYlUefWByr7Zr018=
github.com/bnb-chain/greenfield-cometbft v1.2.0/go.mod h1:WVOEZ59UYM2XePQH47/IQfcInspDn8wbRXhFSJrbU1c=
github.com/bnb-chain/greenfield-cometbft-db v0.8.1-alpha.1 h1:XcWulGacHVRiSCx90Q8Y//ajOrLNBQWR/KDB89dy3cU=
@@ -192,8 +192,8 @@ github.com/bnb-chain/greenfield-cosmos-sdk/math v0.0.0-20231206043955-0855e0965b
github.com/bnb-chain/greenfield-cosmos-sdk/math v0.0.0-20231206043955-0855e0965bc8/go.mod h1:An0MllWJY6PxibUpnwGk8jOm+a/qIxlKmL5Zyp9NnaM=
github.com/bnb-chain/greenfield-iavl v0.20.1 h1:y3L64GU99otNp27/xLVBTDbv4eroR6CzoYz0rbaVotM=
github.com/bnb-chain/greenfield-iavl v0.20.1/go.mod h1:oLksTs8dfh7DYIKBro7hbRQ+ewls7ghJ27pIXlbEXyI=
-github.com/bnb-chain/juno/v4 v4.0.0-20240221084449-8b5ee76301fa h1:bkNYQmoiE0ZpigBawuqX+UOJziBboDqD8Z3REYMpIzI=
-github.com/bnb-chain/juno/v4 v4.0.0-20240221084449-8b5ee76301fa/go.mod h1:p+KkPIHURpqUJOdXanhhYgZpTLQxGZWkrAwtUaOuPlM=
+github.com/bnb-chain/juno/v4 v4.0.0-20240326082854-3c67c32eb2be h1:yympDqs1gg3oUgSTm31ybKhvWgsEySvqC7LO1npVvRc=
+github.com/bnb-chain/juno/v4 v4.0.0-20240326082854-3c67c32eb2be/go.mod h1:p+KkPIHURpqUJOdXanhhYgZpTLQxGZWkrAwtUaOuPlM=
github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps=
github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g=
github.com/bradfitz/gomemcache v0.0.0-20170208213004-1952afaa557d/go.mod h1:PmM6Mmwb0LSuEubjR8N7PtNe1KxZLtOUHtbeikc5h60=
diff --git a/modular/authenticator/authenticator.go b/modular/authenticator/authenticator.go
index c3071b42f..7039bdb35 100644
--- a/modular/authenticator/authenticator.go
+++ b/modular/authenticator/authenticator.go
@@ -45,6 +45,7 @@ var (
ErrInvalidAddressOrDomainOrPublicKey = gfsperrors.Register(module.AuthenticationModularName, http.StatusBadRequest, 20017, "userAddress, domain or publicKey can't be null")
ErrInvalidPublicKeyLength = gfsperrors.Register(module.AuthenticationModularName, http.StatusBadRequest, 20018, "The length of publicKeys must be less or equal to 100")
ErrPublicKeyNotExist = gfsperrors.Register(module.AuthenticationModularName, http.StatusBadRequest, 20019, "The publicKey was not registered")
+ ErrBucketIsRateLimited = gfsperrors.Register(module.AuthenticationModularName, http.StatusBadRequest, 20020, "bucket is rate limited")
)
func ErrUnexpectedObjectStatusWithDetail(objectName string, expectedStatus storagetypes.ObjectStatus, actualStatus storagetypes.ObjectStatus) *gfsperrors.GfSpError {
@@ -441,6 +442,17 @@ func (a *AuthenticationModular) VerifyAuthentication(
}
return false, ErrConsensusWithDetail("failed to get bucket and object info from consensus, error: " + err.Error())
}
+ bucketExtraInfo, err := a.baseApp.Consensus().QueryBucketExtraInfo(ctx, bucket)
+ if err != nil {
+ log.CtxErrorw(ctx, "failed to get bucket extra info from consensus", "error", err)
+ if strings.Contains(err.Error(), "No such bucket") {
+ return false, ErrNoSuchBucket
+ }
+ return false, ErrConsensusWithDetail("failed to get bucket extra info from consensus, error: " + err.Error())
+ }
+ if bucketExtraInfo.IsRateLimited {
+ return false, ErrBucketIsRateLimited
+ }
spID, err := a.getSPID()
if err != nil {
return false, ErrConsensusWithDetail("getSPID error: " + err.Error())
diff --git a/modular/authenticator/authenticator_test.go b/modular/authenticator/authenticator_test.go
index 72bd5cbf5..50676b268 100644
--- a/modular/authenticator/authenticator_test.go
+++ b/modular/authenticator/authenticator_test.go
@@ -847,7 +847,9 @@ func VerifyObjectAndBucketAndSPID(t *testing.T, authType coremodule.AuthOpType)
// object exists but get SP ID returns error
mockedConsensus = consensus.NewMockConsensus(ctrl)
mockedConsensus.EXPECT().QueryBucketInfoAndObjectInfo(gomock.Any(), gomock.Any(), gomock.Any()).Return(&storagetypes.BucketInfo{}, &storagetypes.ObjectInfo{}, nil).Times(1)
-
+ if authType == coremodule.AuthOpTypeGetObject {
+ mockedConsensus.EXPECT().QueryBucketExtraInfo(gomock.Any(), gomock.Any()).Return(&storagetypes.BucketExtraInfo{IsRateLimited: false}, nil).Times(1)
+ }
mockedConsensus.EXPECT().QuerySP(gomock.Any(), gomock.Any()).Return(nil, errors.New("error")).Times(1)
a.baseApp.SetConsensus(mockedConsensus)
_, err = a.VerifyAuthentication(context.Background(), authType, userAddress, "test_bucket", "test_object")
@@ -856,6 +858,9 @@ func VerifyObjectAndBucketAndSPID(t *testing.T, authType coremodule.AuthOpType)
// QueryVirtualGroupFamily returns error
mockedConsensus = consensus.NewMockConsensus(ctrl)
mockedConsensus.EXPECT().QueryBucketInfoAndObjectInfo(gomock.Any(), gomock.Any(), gomock.Any()).Return(&storagetypes.BucketInfo{}, &storagetypes.ObjectInfo{}, nil).Times(1)
+ if authType == coremodule.AuthOpTypeGetObject {
+ mockedConsensus.EXPECT().QueryBucketExtraInfo(gomock.Any(), gomock.Any()).Return(&storagetypes.BucketExtraInfo{IsRateLimited: false}, nil).Times(1)
+ }
mockedConsensus.EXPECT().QuerySP(gomock.Any(), gomock.Any()).Return(&sptypes.StorageProvider{
Id: 1,
}, nil).Times(1)
@@ -867,6 +872,9 @@ func VerifyObjectAndBucketAndSPID(t *testing.T, authType coremodule.AuthOpType)
// bucketSPID != spID
mockedConsensus = consensus.NewMockConsensus(ctrl)
mockedConsensus.EXPECT().QueryBucketInfoAndObjectInfo(gomock.Any(), gomock.Any(), gomock.Any()).Return(&storagetypes.BucketInfo{}, &storagetypes.ObjectInfo{}, nil).Times(1)
+ if authType == coremodule.AuthOpTypeGetObject {
+ mockedConsensus.EXPECT().QueryBucketExtraInfo(gomock.Any(), gomock.Any()).Return(&storagetypes.BucketExtraInfo{IsRateLimited: false}, nil).Times(1)
+ }
mockedConsensus.EXPECT().QuerySP(gomock.Any(), gomock.Any()).Return(&sptypes.StorageProvider{
Id: 1,
}, nil).Times(0) // the SPID query result is cached already in above tests
@@ -980,6 +988,7 @@ func Test_VerifyAuth_GetObject(t *testing.T) {
mockedConsensus.EXPECT().QueryBucketInfoAndObjectInfo(gomock.Any(), gomock.Any(), gomock.Any()).Return(&storagetypes.BucketInfo{}, &storagetypes.ObjectInfo{
ObjectStatus: storagetypes.OBJECT_STATUS_CREATED,
}, nil).Times(1)
+ mockedConsensus.EXPECT().QueryBucketExtraInfo(gomock.Any(), gomock.Any()).Return(&storagetypes.BucketExtraInfo{IsRateLimited: false}, nil).Times(1)
mockedConsensus.EXPECT().QuerySP(gomock.Any(), gomock.Any()).Return(&sptypes.StorageProvider{
Id: 1,
}, nil).Times(1)
@@ -996,6 +1005,7 @@ func Test_VerifyAuth_GetObject(t *testing.T) {
mockedConsensus.EXPECT().QueryBucketInfoAndObjectInfo(gomock.Any(), gomock.Any(), gomock.Any()).Return(&storagetypes.BucketInfo{}, &storagetypes.ObjectInfo{
ObjectStatus: storagetypes.OBJECT_STATUS_SEALED,
}, nil).Times(1)
+ mockedConsensus.EXPECT().QueryBucketExtraInfo(gomock.Any(), gomock.Any()).Return(&storagetypes.BucketExtraInfo{IsRateLimited: false}, nil).Times(1)
mockedConsensus.EXPECT().QuerySP(gomock.Any(), gomock.Any()).Return(&sptypes.StorageProvider{
Id: 1,
}, nil).Times(0) // the SPID query result is cached already in above tests
@@ -1012,6 +1022,7 @@ func Test_VerifyAuth_GetObject(t *testing.T) {
mockedConsensus.EXPECT().QueryBucketInfoAndObjectInfo(gomock.Any(), gomock.Any(), gomock.Any()).Return(&storagetypes.BucketInfo{}, &storagetypes.ObjectInfo{
ObjectStatus: storagetypes.OBJECT_STATUS_SEALED,
}, nil).Times(1)
+ mockedConsensus.EXPECT().QueryBucketExtraInfo(gomock.Any(), gomock.Any()).Return(&storagetypes.BucketExtraInfo{IsRateLimited: false}, nil).Times(1)
mockedConsensus.EXPECT().QuerySP(gomock.Any(), gomock.Any()).Return(&sptypes.StorageProvider{
Id: 1,
}, nil).Times(0) // the SPID query result is cached already in above tests
@@ -1030,6 +1041,7 @@ func Test_VerifyAuth_GetObject(t *testing.T) {
mockedConsensus.EXPECT().QueryBucketInfoAndObjectInfo(gomock.Any(), gomock.Any(), gomock.Any()).Return(&storagetypes.BucketInfo{}, &storagetypes.ObjectInfo{
ObjectStatus: storagetypes.OBJECT_STATUS_SEALED,
}, nil).Times(1)
+ mockedConsensus.EXPECT().QueryBucketExtraInfo(gomock.Any(), gomock.Any()).Return(&storagetypes.BucketExtraInfo{IsRateLimited: false}, nil).Times(1)
mockedConsensus.EXPECT().QuerySP(gomock.Any(), gomock.Any()).Return(&sptypes.StorageProvider{
Id: 1,
}, nil).Times(0) // the SPID query result is cached already in above tests
@@ -1053,6 +1065,7 @@ func Test_VerifyAuth_GetObject(t *testing.T) {
mockedConsensus.EXPECT().QueryBucketInfoAndObjectInfo(gomock.Any(), gomock.Any(), gomock.Any()).Return(&storagetypes.BucketInfo{}, &storagetypes.ObjectInfo{
ObjectStatus: storagetypes.OBJECT_STATUS_SEALED,
}, nil).Times(1)
+ mockedConsensus.EXPECT().QueryBucketExtraInfo(gomock.Any(), gomock.Any()).Return(&storagetypes.BucketExtraInfo{IsRateLimited: false}, nil).Times(1)
mockedConsensus.EXPECT().QuerySP(gomock.Any(), gomock.Any()).Return(&sptypes.StorageProvider{
Id: 1,
}, nil).Times(0) // the SPID query result is cached already in above tests
diff --git a/modular/blocksyncer/database/bucket.go b/modular/blocksyncer/database/bucket.go
index 24703c94b..4839660aa 100644
--- a/modular/blocksyncer/database/bucket.go
+++ b/modular/blocksyncer/database/bucket.go
@@ -113,3 +113,17 @@ func (db *DB) UpdateChargeSizeToSQL(ctx context.Context, objectID common.Hash, b
finalSql := fmt.Sprintf(sql, operation, tableName, tableName)
return finalSql, vars
}
+
+// GetBucketByBucketName get bucket by bucket name
+func (db *DB) GetBucketByBucketName(ctx context.Context, bucketName string) (*models.Bucket, error) {
+ var (
+ bucket *models.Bucket
+ err error
+ )
+ err = db.Db.WithContext(ctx).Table((&models.Bucket{}).TableName()).
+ Where("bucket_name = ? AND removed = ?", bucketName, false).Take(&bucket).Error
+ if err != nil {
+ return nil, err
+ }
+ return bucket, nil
+}
diff --git a/modular/blocksyncer/modules/bucket/bucket_handle.go b/modular/blocksyncer/modules/bucket/bucket_handle.go
index 88a7ba589..ea2f73208 100644
--- a/modular/blocksyncer/modules/bucket/bucket_handle.go
+++ b/modular/blocksyncer/modules/bucket/bucket_handle.go
@@ -31,6 +31,27 @@ var BucketEvents = map[string]bool{
EventCompleteMigrationBucket: true,
}
+type OffChainStatus int
+
+const (
+ OffChainStatusIsLimited OffChainStatus = 1 << iota // 1
+)
+
+// AddStatus updates the current status by adding the specified status to it.
+func AddStatus(currentStatus int, statusToAdd int) int {
+ return currentStatus | statusToAdd
+}
+
+// RemoveStatus removes the specified status from the current status.
+func RemoveStatus(currentStatus int, statusToRemove int) int {
+ return currentStatus &^ statusToRemove
+}
+
+// IsStatusSet checks if the specified status is set in the current status.
+func IsStatusSet(currentStatus int, statusToCheck int) bool {
+ return currentStatus&statusToCheck == statusToCheck
+}
+
func (m *Module) ExtractEventStatements(ctx context.Context, block *tmctypes.ResultBlock, txHash common.Hash, event sdk.Event) (map[string][]interface{}, error) {
if !BucketEvents[event.Type] {
return nil, nil
diff --git a/modular/blocksyncer/modules/payment/payment_handler.go b/modular/blocksyncer/modules/payment/payment_handler.go
index 84d67fdd1..153f96a23 100644
--- a/modular/blocksyncer/modules/payment/payment_handler.go
+++ b/modular/blocksyncer/modules/payment/payment_handler.go
@@ -4,11 +4,14 @@ import (
"context"
"errors"
+ bucketmodule "github.com/bnb-chain/greenfield-storage-provider/modular/blocksyncer/modules/bucket"
paymenttypes "github.com/bnb-chain/greenfield/x/payment/types"
+ storagetypes "github.com/bnb-chain/greenfield/x/storage/types"
abci "github.com/cometbft/cometbft/abci/types"
tmctypes "github.com/cometbft/cometbft/rpc/core/types"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/gogoproto/proto"
+ "gorm.io/gorm"
"github.com/forbole/juno/v4/common"
"github.com/forbole/juno/v4/log"
@@ -16,13 +19,15 @@ import (
)
var (
- EventPaymentAccountUpdate = proto.MessageName(&paymenttypes.EventPaymentAccountUpdate{})
- EventStreamRecordUpdate = proto.MessageName(&paymenttypes.EventStreamRecordUpdate{})
+ EventPaymentAccountUpdate = proto.MessageName(&paymenttypes.EventPaymentAccountUpdate{})
+ EventStreamRecordUpdate = proto.MessageName(&paymenttypes.EventStreamRecordUpdate{})
+ EventBucketFlowRateLimitStatus = proto.MessageName(&storagetypes.EventBucketFlowRateLimitStatus{})
)
var PaymentEvents = map[string]bool{
- EventPaymentAccountUpdate: true,
- EventStreamRecordUpdate: true,
+ EventPaymentAccountUpdate: true,
+ EventStreamRecordUpdate: true,
+ EventBucketFlowRateLimitStatus: true,
}
func (m *Module) ExtractEventStatements(ctx context.Context, block *tmctypes.ResultBlock, txHash common.Hash, event sdk.Event) (map[string][]interface{}, error) {
@@ -51,6 +56,13 @@ func (m *Module) ExtractEventStatements(ctx context.Context, block *tmctypes.Res
return nil, errors.New("update stream record event assert error")
}
return m.handleEventStreamRecordUpdate(ctx, streamRecordUpdate), nil
+ case EventBucketFlowRateLimitStatus:
+ bucketFlowRateLimitStatus, ok := typedEvent.(*storagetypes.EventBucketFlowRateLimitStatus)
+ if !ok {
+ log.Errorw("type assert error", "type", "EventBucketFlowRateLimitStatus", "event", typedEvent)
+ return nil, errors.New("bucket flow rate limit status event assert error")
+ }
+ return m.handleEventBucketFlowRateLimitStatus(ctx, block, txHash, bucketFlowRateLimitStatus), nil
}
return nil, nil
}
@@ -92,3 +104,31 @@ func (m *Module) handleEventStreamRecordUpdate(ctx context.Context, streamRecord
k: v,
}
}
+
+func (m *Module) handleEventBucketFlowRateLimitStatus(ctx context.Context, block *tmctypes.ResultBlock, txHash common.Hash, bucketFlowRateLimitStatus *storagetypes.EventBucketFlowRateLimitStatus) map[string][]interface{} {
+ bucket, err := m.db.GetBucketByBucketName(ctx, bucketFlowRateLimitStatus.BucketName)
+ if err != nil {
+ if err == gorm.ErrRecordNotFound {
+ return nil
+ }
+ }
+ var offChainStatus int
+ if bucketFlowRateLimitStatus.IsLimited {
+ offChainStatus = bucketmodule.AddStatus(bucket.OffChainStatus, int(bucketmodule.OffChainStatusIsLimited))
+ } else {
+ offChainStatus = bucketmodule.RemoveStatus(bucket.OffChainStatus, int(bucketmodule.OffChainStatusIsLimited))
+ }
+ bucketStatus := &models.Bucket{
+ BucketName: bucketFlowRateLimitStatus.BucketName,
+ OffChainStatus: offChainStatus,
+
+ UpdateAt: block.Block.Height,
+ UpdateTxHash: txHash,
+ UpdateTime: block.Block.Time.UTC().Unix(),
+ }
+
+ k, v := m.db.UpdateBucketByNameToSQL(ctx, bucketStatus)
+ return map[string][]interface{}{
+ k: v,
+ }
+}
diff --git a/modular/blocksyncer/test/case.json b/modular/blocksyncer/test/case.json
index 6bdaedfde..3e9e1c1ed 100644
--- a/modular/blocksyncer/test/case.json
+++ b/modular/blocksyncer/test/case.json
@@ -333,5 +333,10 @@
"name": "create, seal, updateObjectContent, cancelUpdate, updateObjectContent, rejectSeal, updateObjectContent, seal in 1 block",
"block": "{\"block\":{\"header\":{\"height\":\"67\",\"time\":\"2024-01-17T06:18:31.636521739Z\"},\"data\":{\"txs\":[\"Cq0FCuQBCiMvZ3JlZW5maWVsZC5zdG9yYWdlLk1zZ0NyZWF0ZUJ1Y2tldBK8AQoqMHgyQzg4MDkxOTA1NTgyYUY1RjExOEM1QzlhMzNmNDdCOTQ0NWU3OEJCEgtwaHVnd2x5MWdycRgCKioweDM5OTdEYWY1ODBhNzk0MTJkYkRjQmE3NWE3MzNDMThFOEVhOTNlRTYyUAj///////////8BEAQaQYH8RBS7gDWwzg3YMRdOQ04+HgP6DnjcxUCADQUe+DJyWSNhbpVTW0qosYDAeCweKcTLNGTemV9KoaLI/vLY3tEAOOgHCsMDCiMvZ3JlZW5maWVsZC5zdG9yYWdlLk1zZ0NyZWF0ZU9iamVjdBKbAwoqMHgyQzg4MDkxOTA1NTgyYUY1RjExOEM1QzlhMzNmNDdCOTQ0NWU3OEJCEgtwaHVnd2x5MWdycRoIajVsZ25nY2YggKCLBSgCMhF0ZXh0L2V2ZW50LXN0cmVhbTpOCP///////////wEaQT0B4qIe9u9FEEPwubTDkoSsAwwpAdCzLA+ZHUOFHrcjKwfmgqT9PNEAq3jvAi6hBILrZLK2+DxPCBJuwcgKWPkBQiBu7JIaLEIxb0a/EQSAXNdDOJlseYlxINoPDVOjin75T0IgbuySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U9CIG7skhosQjFvRr8RBIBc10M4mWx5iXEg2g8NU6OKfvlPQiBu7JIaLEIxb0a/EQSAXNdDOJlseYlxINoPDVOjin75T0IgbuySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U9CIG7skhosQjFvRr8RBIBc10M4mWx5iXEg2g8NU6OKfvlPQiBu7JIaLEIxb0a/EQSAXNdDOJlseYlxINoPDVOjin75TxJ2ClYKTQomL2Nvc21vcy5jcnlwdG8uZXRoLmV0aHNlY3AyNTZrMS5QdWJLZXkSIwohAq7A3ny9ZwxjfT8306MErwaWR7h2Thsci6Fpn2C/N9yhEgUKAwjIBRIcChYKA0JOQhIPMTAwMDAwMDAwMDAwMDAwEKCcARpBvimCa9As0YE4nsIYvFDEFpKuB/UUfWz1vHmcMnzZ7XIxOn0Oioq4GeiFyVw9Loysze4lvUFtgAw9MR167p4r6QA=\",\"CtABCs0BCiEvZ3JlZW5maWVsZC5zdG9yYWdlLk1zZ1NlYWxPYmplY3QSpwEKKjB4YzU4OTBmNTE3ZUUwN0Q1YUFFNDg3MkQ0NWM1YTcxRUY3ZTExYTQzNhILcGh1Z3dseTFncnEaCGo1bGduZ2NmIAQqYI3hitJb5gxXFhjwWMXWSWYzVzxABsgmn5jIgAZkw2ZQBWT0kqlAMy/3y5xk7YOV9xkC7vj2PifXQwpJo1k2RRLdJBHfoY0tyWf1wBSvxMbmqyZoVsLu05GttbSeuHnfxRJ4ClgKTQomL2Nvc21vcy5jcnlwdG8uZXRoLmV0aHNlY3AyNTZrMS5QdWJLZXkSIwohA6uHMSxtcZpDhVBOnyOk4D4mf91A8P3Q8ByyN3/dVfp4EgUKAwjIBRgCEhwKFgoDQk5CEg8xMDAwMDAwMDAwMDAwMDAQoJwBGkGPTNltc7oqWKsgq98gClFmc1gjnqbqwR+ljV7VGOrqHC4bq0bwXnQhLx8zHUTIEa6mRIqFp1U+Oqd6p9lmT6ElAA==\",\"CuADCuQCCiovZ3JlZW5maWVsZC5zdG9yYWdlLk1zZ1VwZGF0ZU9iamVjdENvbnRlbnQStQIKKjB4MkM4ODA5MTkwNTU4MmFGNUYxMThDNUM5YTMzZjQ3Qjk0NDVlNzhCQhILcGh1Z3dseTFncnEaCGo1bGduZ2NmIICQQTIgAlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqEyIAJR0A04ZnLBUHKjEbVogb1HDiu0NaphjKRX60RFa1qhMiACUdANOGZywVByoxG1aIG9Rw4rtDWqYYykV+tERWtaoTIgAlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqEyIAJR0A04ZnLBUHKjEbVogb1HDiu0NaphjKRX60RFa1qhMiACUdANOGZywVByoxG1aIG9Rw4rtDWqYYykV+tERWtaoTIgAlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqEKdwowL2dyZWVuZmllbGQuc3RvcmFnZS5Nc2dDYW5jZWxVcGRhdGVPYmplY3RDb250ZW50EkMKKjB4MkM4ODA5MTkwNTU4MmFGNUYxMThDNUM5YTMzZjQ3Qjk0NDVlNzhCQhILcGh1Z3dseTFncnEaCGo1bGduZ2NmEngKWApNCiYvY29zbW9zLmNyeXB0by5ldGguZXRoc2VjcDI1NmsxLlB1YktleRIjCiECrsDefL1nDGN9PzfTowSvBpZHuHZOGxyLoWmfYL833KESBQoDCMgFGAESHAoWCgNCTkISDzEwMDAwMDAwMDAwMDAwMBCgnAEaQbB25MnseDv9p7hYyDT9/gYhUf9jOUbkK0Y3WYha0VJyEfQxRlHs93Pd9wzoZC2Ji7uu7qUII4O0haaLg9A4TmwB\",\"CucCCuQCCiovZ3JlZW5maWVsZC5zdG9yYWdlLk1zZ1VwZGF0ZU9iamVjdENvbnRlbnQStQIKKjB4MkM4ODA5MTkwNTU4MmFGNUYxMThDNUM5YTMzZjQ3Qjk0NDVlNzhCQhILcGh1Z3dseTFncnEaCGo1bGduZ2NmIICQQTIgAlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqEyIAJR0A04ZnLBUHKjEbVogb1HDiu0NaphjKRX60RFa1qhMiACUdANOGZywVByoxG1aIG9Rw4rtDWqYYykV+tERWtaoTIgAlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqEyIAJR0A04ZnLBUHKjEbVogb1HDiu0NaphjKRX60RFa1qhMiACUdANOGZywVByoxG1aIG9Rw4rtDWqYYykV+tERWtaoTIgAlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqESeApYCk0KJi9jb3Ntb3MuY3J5cHRvLmV0aC5ldGhzZWNwMjU2azEuUHViS2V5EiMKIQKuwN58vWcMY30/N9OjBK8Glke4dk4bHIuhaZ9gvzfcoRIFCgMIyAUYAhIcChYKA0JOQhIPMTAwMDAwMDAwMDAwMDAwEKCcARpBxuS1hHbCaNJtB8scH1l2oYT80Tr86DlxSBLB4KTvuphhjum/GYJkBJJQJuHrzkU/5oxQnuAUOQlnfVwsVbVJgAE=\",\"CnAKbgonL2dyZWVuZmllbGQuc3RvcmFnZS5Nc2dSZWplY3RTZWFsT2JqZWN0EkMKKjB4YzU4OTBmNTE3ZUUwN0Q1YUFFNDg3MkQ0NWM1YTcxRUY3ZTExYTQzNhILcGh1Z3dseTFncnEaCGo1bGduZ2NmEngKWApNCiYvY29zbW9zLmNyeXB0by5ldGguZXRoc2VjcDI1NmsxLlB1YktleRIjCiEDq4cxLG1xmkOFUE6fI6TgPiZ/3UDw/dDwHLI3f91V+ngSBQoDCMgFGAMSHAoWCgNCTkISDzEwMDAwMDAwMDAwMDAwMBCgnAEaQQuu6tOXpl7cZ5nL6e7401xvrnOPDzIE/4BQnkS9+ArBJXEEiY7Bgji41rsnOzbmgVx0yXuBpfu6D6oiKwknZJEA\",\"CucCCuQCCiovZ3JlZW5maWVsZC5zdG9yYWdlLk1zZ1VwZGF0ZU9iamVjdENvbnRlbnQStQIKKjB4MkM4ODA5MTkwNTU4MmFGNUYxMThDNUM5YTMzZjQ3Qjk0NDVlNzhCQhILcGh1Z3dseTFncnEaCGo1bGduZ2NmIICQQTIgAlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqEyIAJR0A04ZnLBUHKjEbVogb1HDiu0NaphjKRX60RFa1qhMiACUdANOGZywVByoxG1aIG9Rw4rtDWqYYykV+tERWtaoTIgAlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqEyIAJR0A04ZnLBUHKjEbVogb1HDiu0NaphjKRX60RFa1qhMiACUdANOGZywVByoxG1aIG9Rw4rtDWqYYykV+tERWtaoTIgAlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqESeApYCk0KJi9jb3Ntb3MuY3J5cHRvLmV0aC5ldGhzZWNwMjU2azEuUHViS2V5EiMKIQKuwN58vWcMY30/N9OjBK8Glke4dk4bHIuhaZ9gvzfcoRIFCgMIyAUYAxIcChYKA0JOQhIPMTAwMDAwMDAwMDAwMDAwEKCcARpBcSuJzLOl+r3DV00QNY1IgOzlcsUpKwPoDxBgQpwZt7x+WncUn4XL4avv0syu864fsF/DFBRez2Wbm2dcvKeGIwA=\",\"CtABCs0BCiEvZ3JlZW5maWVsZC5zdG9yYWdlLk1zZ1NlYWxPYmplY3QSpwEKKjB4YzU4OTBmNTE3ZUUwN0Q1YUFFNDg3MkQ0NWM1YTcxRUY3ZTExYTQzNhILcGh1Z3dseTFncnEaCGo1bGduZ2NmIAQqYK5/Ebk6ydoqbeCZVCF4dE195Ib13+ZY0EOuPvjJXc77n6Sy3f7ysfjUkixHMsS1LAT7+5g+yKriGtfXl6hTq35tWJpiR42TiMr/Q6pAd71vWwPNq9ikl6xctNrzhlVIVBJ4ClgKTQomL2Nvc21vcy5jcnlwdG8uZXRoLmV0aHNlY3AyNTZrMS5QdWJLZXkSIwohA6uHMSxtcZpDhVBOnyOk4D4mf91A8P3Q8ByyN3/dVfp4EgUKAwjIBRgEEhwKFgoDQk5CEg8xMDAwMDAwMDAwMDAwMDAQoJwBGkE4COgJhN234K6SnJK2TxnHOOEVTQDFsK/V/TKvydQupQ8TykPeVdt+MY5EkZIbS4+e2TiD500G0N9vF/SvFPPxAQ==\"]}}}",
"block_results": "{\"height\":\"67\",\"txs_results\":[{\"events\":[{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"0xf1829676DB577682E944fc3493d451B67Ff3E29F\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"0xf1829676DB577682E944fc3493d451B67Ff3E29F\",\"index\":true},{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"fee\",\"value\":\"100000000000000BNB\",\"index\":true},{\"key\":\"fee_payer\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"acc_seq\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB/0\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"signature\",\"value\":\"vimCa9As0YE4nsIYvFDEFpKuB/UUfWz1vHmcMnzZ7XIxOn0Oioq4GeiFyVw9Loysze4lvUFtgAw9MR167p4r6QA=\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/greenfield.storage.MsgCreateBucket\",\"index\":true},{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"module\",\"value\":\"storage\",\"index\":true}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"amount\",\"value\":\"6060000BNB\",\"index\":true}]},{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"0x040fFD5925D40E11c67b7238A7fc9957850B8b9a\",\"index\":true},{\"key\":\"amount\",\"value\":\"6060000BNB\",\"index\":true}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"0x040fFD5925D40E11c67b7238A7fc9957850B8b9a\",\"index\":true},{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"amount\",\"value\":\"6060000BNB\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true}]},{\"type\":\"greenfield.payment.EventDeposit\",\"attributes\":[{\"key\":\"amount\",\"value\":\"\\\"6060000\\\"\",\"index\":true},{\"key\":\"from\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"to\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"6060000\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"-101000\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"1707127448\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0x8D720138eC1f2006dbe283C9A0f6eCe4B5c2fF1e\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"300000\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"352900000\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0xdF5F0588f6B09f0B9E58D3426252db25Dc74E7a1\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"5505776280\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"2297754463520\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.storage.EventCreateBucket\",\"attributes\":[{\"key\":\"bucket_id\",\"value\":\"\\\"15\\\"\",\"index\":true},{\"key\":\"bucket_name\",\"value\":\"\\\"phugwly1grq\\\"\",\"index\":true},{\"key\":\"charged_read_quota\",\"value\":\"\\\"1000\\\"\",\"index\":true},{\"key\":\"create_at\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"global_virtual_group_family_id\",\"value\":\"4\",\"index\":true},{\"key\":\"owner\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"payment_address\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"primary_sp_id\",\"value\":\"1\",\"index\":true},{\"key\":\"source_type\",\"value\":\"\\\"SOURCE_TYPE_ORIGIN\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"BUCKET_STATUS_CREATED\\\"\",\"index\":true},{\"key\":\"visibility\",\"value\":\"\\\"VISIBILITY_TYPE_PRIVATE\\\"\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/greenfield.storage.MsgCreateObject\",\"index\":true},{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"module\",\"value\":\"storage\",\"index\":true}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"amount\",\"value\":\"11121637785600BNB\",\"index\":true}]},{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"0x040fFD5925D40E11c67b7238A7fc9957850B8b9a\",\"index\":true},{\"key\":\"amount\",\"value\":\"11121637785600BNB\",\"index\":true}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"0x040fFD5925D40E11c67b7238A7fc9957850B8b9a\",\"index\":true},{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"amount\",\"value\":\"11121637785600BNB\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true}]},{\"type\":\"greenfield.payment.EventDeposit\",\"attributes\":[{\"key\":\"amount\",\"value\":\"\\\"11121637785600\\\"\",\"index\":true},{\"key\":\"from\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"to\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"6060000\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"11121637785600\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"-101000\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"1707127448\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.storage.EventCreateObject\",\"attributes\":[{\"key\":\"bucket_id\",\"value\":\"\\\"15\\\"\",\"index\":true},{\"key\":\"bucket_name\",\"value\":\"\\\"phugwly1grq\\\"\",\"index\":true},{\"key\":\"checksums\",\"value\":\"[\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\",\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\",\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\",\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\",\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\",\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\",\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\"]\",\"index\":true},{\"key\":\"content_type\",\"value\":\"\\\"text/event-stream\\\"\",\"index\":true},{\"key\":\"create_at\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"creator\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"local_virtual_group_id\",\"value\":\"0\",\"index\":true},{\"key\":\"object_id\",\"value\":\"\\\"13\\\"\",\"index\":true},{\"key\":\"object_name\",\"value\":\"\\\"j5lgngcf\\\"\",\"index\":true},{\"key\":\"owner\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"payload_size\",\"value\":\"\\\"10670080\\\"\",\"index\":true},{\"key\":\"primary_sp_id\",\"value\":\"1\",\"index\":true},{\"key\":\"redundancy_type\",\"value\":\"\\\"REDUNDANCY_EC_TYPE\\\"\",\"index\":true},{\"key\":\"source_type\",\"value\":\"\\\"SOURCE_TYPE_ORIGIN\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"OBJECT_STATUS_CREATED\\\"\",\"index\":true},{\"key\":\"visibility\",\"value\":\"\\\"VISIBILITY_TYPE_PRIVATE\\\"\",\"index\":true}]}],\"codespace\":\"\"},{\"code\":0,\"data\":\"EisKKS9ncmVlbmZpZWxkLnN0b3JhZ2UuTXNnU2VhbE9iamVjdFJlc3BvbnNlGggAAAAAAAE+Ag==\",\"log\":\"[{\\\"msg_index\\\":0,\\\"events\\\":[{\\\"type\\\":\\\"message\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"action\\\",\\\"value\\\":\\\"/greenfield.storage.MsgSealObject\\\"},{\\\"key\\\":\\\"sender\\\",\\\"value\\\":\\\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\\\"},{\\\"key\\\":\\\"module\\\",\\\"value\\\":\\\"storage\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"6060000\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"-101000\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1817242673\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"11121637785600\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"11121643845600\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"-185360730760\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127448\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0x8D720138eC1f2006dbe283C9A0f6eCe4B5c2fF1e\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"106701100000\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"352900000\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0xc2500339568AEB167147B1755FA90ede5175A9eF\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"76824576000\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0xdF5F0588f6B09f0B9E58D3426252db25Dc74E7a1\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"7341030040\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"2297754463520\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.virtualgroup.EventUpdateGlobalVirtualGroup\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"id\\\",\\\"value\\\":\\\"4\\\"},{\\\"key\\\":\\\"primary_sp_id\\\",\\\"value\\\":\\\"1\\\"},{\\\"key\\\":\\\"secondary_sp_ids\\\",\\\"value\\\":\\\"[3,4,5,6,7,2]\\\"},{\\\"key\\\":\\\"store_size\\\",\\\"value\\\":\\\"\\\\\\\"10670080\\\\\\\"\\\"},{\\\"key\\\":\\\"total_deposit\\\",\\\"value\\\":\\\"\\\\\\\"1000000000000000000\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.virtualgroup.EventCreateLocalVirtualGroup\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"bucket_id\\\",\\\"value\\\":\\\"\\\\\\\"15\\\\\\\"\\\"},{\\\"key\\\":\\\"global_virtual_group_id\\\",\\\"value\\\":\\\"4\\\"},{\\\"key\\\":\\\"id\\\",\\\"value\\\":\\\"1\\\"},{\\\"key\\\":\\\"stored_size\\\",\\\"value\\\":\\\"\\\\\\\"10670080\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.storage.EventSealObject\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"bucket_name\\\",\\\"value\\\":\\\"\\\\\\\"phugwly1grq\\\\\\\"\\\"},{\\\"key\\\":\\\"global_virtual_group_id\\\",\\\"value\\\":\\\"4\\\"},{\\\"key\\\":\\\"local_virtual_group_id\\\",\\\"value\\\":\\\"1\\\"},{\\\"key\\\":\\\"object_id\\\",\\\"value\\\":\\\"\\\\\\\"13\\\\\\\"\\\"},{\\\"key\\\":\\\"object_name\\\",\\\"value\\\":\\\"\\\\\\\"j5lgngcf\\\\\\\"\\\"},{\\\"key\\\":\\\"operator\\\",\\\"value\\\":\\\"\\\\\\\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"OBJECT_STATUS_SEALED\\\\\\\"\\\"}]}]}]\",\"info\":\"\",\"gas_wanted\":\"20000\",\"gas_used\":\"120\",\"events\":[{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"0xf1829676DB577682E944fc3493d451B67Ff3E29F\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"0xf1829676DB577682E944fc3493d451B67Ff3E29F\",\"index\":true},{\"key\":\"sender\",\"value\":\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"sender\",\"value\":\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"fee\",\"value\":\"100000000000000BNB\",\"index\":true},{\"key\":\"fee_payer\",\"value\":\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"acc_seq\",\"value\":\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436/2\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"signature\",\"value\":\"j0zZbXO6KlirIKvfIApRZnNYI56m6sEfpY1e1Rjq6hwuG6tG8F50IS8fMx1EyBGupkSKhadVPjqneqfZZk+hJQA=\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/greenfield.storage.MsgSealObject\",\"index\":true},{\"key\":\"sender\",\"value\":\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\",\"index\":true},{\"key\":\"module\",\"value\":\"storage\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"6060000\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"-101000\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"1817242673\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"11121637785600\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"11121643845600\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"-185360730760\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"1707127448\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0x8D720138eC1f2006dbe283C9A0f6eCe4B5c2fF1e\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"106701100000\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"352900000\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0xc2500339568AEB167147B1755FA90ede5175A9eF\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"76824576000\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0xdF5F0588f6B09f0B9E58D3426252db25Dc74E7a1\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"7341030040\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"2297754463520\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.virtualgroup.EventUpdateGlobalVirtualGroup\",\"attributes\":[{\"key\":\"id\",\"value\":\"4\",\"index\":true},{\"key\":\"primary_sp_id\",\"value\":\"1\",\"index\":true},{\"key\":\"secondary_sp_ids\",\"value\":\"[3,4,5,6,7,2]\",\"index\":true},{\"key\":\"store_size\",\"value\":\"\\\"10670080\\\"\",\"index\":true},{\"key\":\"total_deposit\",\"value\":\"\\\"1000000000000000000\\\"\",\"index\":true}]},{\"type\":\"greenfield.virtualgroup.EventCreateLocalVirtualGroup\",\"attributes\":[{\"key\":\"bucket_id\",\"value\":\"\\\"15\\\"\",\"index\":true},{\"key\":\"global_virtual_group_id\",\"value\":\"4\",\"index\":true},{\"key\":\"id\",\"value\":\"1\",\"index\":true},{\"key\":\"stored_size\",\"value\":\"\\\"10670080\\\"\",\"index\":true}]},{\"type\":\"greenfield.storage.EventSealObject\",\"attributes\":[{\"key\":\"bucket_name\",\"value\":\"\\\"phugwly1grq\\\"\",\"index\":true},{\"key\":\"global_virtual_group_id\",\"value\":\"4\",\"index\":true},{\"key\":\"local_virtual_group_id\",\"value\":\"1\",\"index\":true},{\"key\":\"object_id\",\"value\":\"\\\"13\\\"\",\"index\":true},{\"key\":\"object_name\",\"value\":\"\\\"j5lgngcf\\\"\",\"index\":true},{\"key\":\"operator\",\"value\":\"\\\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"OBJECT_STATUS_SEALED\\\"\",\"index\":true}]}],\"codespace\":\"\"},{\"code\":0,\"data\":\"EjQKMi9ncmVlbmZpZWxkLnN0b3JhZ2UuTXNnVXBkYXRlT2JqZWN0Q29udGVudFJlc3BvbnNlEjoKOC9ncmVlbmZpZWxkLnN0b3JhZ2UuTXNnQ2FuY2VsVXBkYXRlT2JqZWN0Q29udGVudFJlc3BvbnNlGggAAAAAAAFppA==\",\"log\":\"[{\\\"msg_index\\\":0,\\\"events\\\":[{\\\"type\\\":\\\"message\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"action\\\",\\\"value\\\":\\\"/greenfield.storage.MsgUpdateObjectContent\\\"},{\\\"key\\\":\\\"sender\\\",\\\"value\\\":\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"},{\\\"key\\\":\\\"module\\\",\\\"value\\\":\\\"storage\\\"}]},{\\\"type\\\":\\\"coin_spent\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"spender\\\",\\\"value\\\":\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"},{\\\"key\\\":\\\"amount\\\",\\\"value\\\":\\\"1112163778560BNB\\\"}]},{\\\"type\\\":\\\"coin_received\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"receiver\\\",\\\"value\\\":\\\"0x040fFD5925D40E11c67b7238A7fc9957850B8b9a\\\"},{\\\"key\\\":\\\"amount\\\",\\\"value\\\":\\\"1112163778560BNB\\\"}]},{\\\"type\\\":\\\"transfer\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"recipient\\\",\\\"value\\\":\\\"0x040fFD5925D40E11c67b7238A7fc9957850B8b9a\\\"},{\\\"key\\\":\\\"sender\\\",\\\"value\\\":\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"},{\\\"key\\\":\\\"amount\\\",\\\"value\\\":\\\"1112163778560BNB\\\"}]},{\\\"type\\\":\\\"message\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"sender\\\",\\\"value\\\":\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventDeposit\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"amount\\\",\\\"value\\\":\\\"\\\\\\\"1112163778560\\\\\\\"\\\"},{\\\"key\\\":\\\"from\\\",\\\"value\\\":\\\"\\\\\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\\\\\"\\\"},{\\\"key\\\":\\\"to\\\",\\\"value\\\":\\\"\\\\\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"11121643845600\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"1112163778560\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"-185360730760\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127448\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.storage.EventUpdateObjectContent\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"bucket_name\\\",\\\"value\\\":\\\"\\\\\\\"\\\\\\\"\\\"},{\\\"key\\\":\\\"checksums\\\",\\\"value\\\":\\\"[\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\"]\\\"},{\\\"key\\\":\\\"object_id\\\",\\\"value\\\":\\\"\\\\\\\"13\\\\\\\"\\\"},{\\\"key\\\":\\\"object_name\\\",\\\"value\\\":\\\"\\\\\\\"\\\\\\\"\\\"},{\\\"key\\\":\\\"operator\\\",\\\"value\\\":\\\"\\\\\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\\\\\"\\\"},{\\\"key\\\":\\\"payload_size\\\",\\\"value\\\":\\\"\\\\\\\"1067008\\\\\\\"\\\"},{\\\"key\\\":\\\"version\\\",\\\"value\\\":\\\"\\\\\\\"1\\\\\\\"\\\"}]}]},{\\\"msg_index\\\":1,\\\"events\\\":[{\\\"type\\\":\\\"message\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"action\\\",\\\"value\\\":\\\"/greenfield.storage.MsgCancelUpdateObjectContent\\\"},{\\\"key\\\":\\\"sender\\\",\\\"value\\\":\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"},{\\\"key\\\":\\\"module\\\",\\\"value\\\":\\\"storage\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"11121643845600\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"-185360730760\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127453\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"1112163778560\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.storage.EventCancelUpdateObjectContent\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"bucket_name\\\",\\\"value\\\":\\\"\\\\\\\"phugwly1grq\\\\\\\"\\\"},{\\\"key\\\":\\\"object_id\\\",\\\"value\\\":\\\"\\\\\\\"13\\\\\\\"\\\"},{\\\"key\\\":\\\"object_name\\\",\\\"value\\\":\\\"\\\\\\\"j5lgngcf\\\\\\\"\\\"},{\\\"key\\\":\\\"operator\\\",\\\"value\\\":\\\"\\\\\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\\\\\"\\\"}]}]}]\",\"info\":\"\",\"gas_wanted\":\"20000\",\"gas_used\":\"2400\",\"events\":[{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"0xf1829676DB577682E944fc3493d451B67Ff3E29F\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"0xf1829676DB577682E944fc3493d451B67Ff3E29F\",\"index\":true},{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"fee\",\"value\":\"100000000000000BNB\",\"index\":true},{\"key\":\"fee_payer\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"acc_seq\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB/1\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"signature\",\"value\":\"sHbkyex4O/2nuFjINP3+BiFR/2M5RuQrRjdZiFrRUnIR9DFGUez3c933DOhkLYmLu67upQgjg7SFpouD0DhObAE=\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/greenfield.storage.MsgUpdateObjectContent\",\"index\":true},{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"module\",\"value\":\"storage\",\"index\":true}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"amount\",\"value\":\"1112163778560BNB\",\"index\":true}]},{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"0x040fFD5925D40E11c67b7238A7fc9957850B8b9a\",\"index\":true},{\"key\":\"amount\",\"value\":\"1112163778560BNB\",\"index\":true}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"0x040fFD5925D40E11c67b7238A7fc9957850B8b9a\",\"index\":true},{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"amount\",\"value\":\"1112163778560BNB\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true}]},{\"type\":\"greenfield.payment.EventDeposit\",\"attributes\":[{\"key\":\"amount\",\"value\":\"\\\"1112163778560\\\"\",\"index\":true},{\"key\":\"from\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"to\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"11121643845600\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"1112163778560\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"-185360730760\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"1707127448\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.storage.EventUpdateObjectContent\",\"attributes\":[{\"key\":\"bucket_name\",\"value\":\"\\\"\\\"\",\"index\":true},{\"key\":\"checksums\",\"value\":\"[\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\"]\",\"index\":true},{\"key\":\"object_id\",\"value\":\"\\\"13\\\"\",\"index\":true},{\"key\":\"object_name\",\"value\":\"\\\"\\\"\",\"index\":true},{\"key\":\"operator\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"payload_size\",\"value\":\"\\\"1067008\\\"\",\"index\":true},{\"key\":\"version\",\"value\":\"\\\"1\\\"\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/greenfield.storage.MsgCancelUpdateObjectContent\",\"index\":true},{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"module\",\"value\":\"storage\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"11121643845600\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"-185360730760\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"1707127453\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"1112163778560\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.storage.EventCancelUpdateObjectContent\",\"attributes\":[{\"key\":\"bucket_name\",\"value\":\"\\\"phugwly1grq\\\"\",\"index\":true},{\"key\":\"object_id\",\"value\":\"\\\"13\\\"\",\"index\":true},{\"key\":\"object_name\",\"value\":\"\\\"j5lgngcf\\\"\",\"index\":true},{\"key\":\"operator\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true}]}],\"codespace\":\"\"},{\"code\":0,\"data\":\"EjQKMi9ncmVlbmZpZWxkLnN0b3JhZ2UuTXNnVXBkYXRlT2JqZWN0Q29udGVudFJlc3BvbnNlGggAAAAAAAD2Dg==\",\"log\":\"[{\\\"msg_index\\\":0,\\\"events\\\":[{\\\"type\\\":\\\"message\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"action\\\",\\\"value\\\":\\\"/greenfield.storage.MsgUpdateObjectContent\\\"},{\\\"key\\\":\\\"sender\\\",\\\"value\\\":\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"},{\\\"key\\\":\\\"module\\\",\\\"value\\\":\\\"storage\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"11121643845600\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"1112163778560\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"-185360730760\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127448\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.storage.EventUpdateObjectContent\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"bucket_name\\\",\\\"value\\\":\\\"\\\\\\\"\\\\\\\"\\\"},{\\\"key\\\":\\\"checksums\\\",\\\"value\\\":\\\"[\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\"]\\\"},{\\\"key\\\":\\\"object_id\\\",\\\"value\\\":\\\"\\\\\\\"13\\\\\\\"\\\"},{\\\"key\\\":\\\"object_name\\\",\\\"value\\\":\\\"\\\\\\\"\\\\\\\"\\\"},{\\\"key\\\":\\\"operator\\\",\\\"value\\\":\\\"\\\\\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\\\\\"\\\"},{\\\"key\\\":\\\"payload_size\\\",\\\"value\\\":\\\"\\\\\\\"1067008\\\\\\\"\\\"},{\\\"key\\\":\\\"version\\\",\\\"value\\\":\\\"\\\\\\\"1\\\\\\\"\\\"}]}]}]\",\"info\":\"\",\"gas_wanted\":\"20000\",\"gas_used\":\"1200\",\"events\":[{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"0xf1829676DB577682E944fc3493d451B67Ff3E29F\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"0xf1829676DB577682E944fc3493d451B67Ff3E29F\",\"index\":true},{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"fee\",\"value\":\"100000000000000BNB\",\"index\":true},{\"key\":\"fee_payer\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"acc_seq\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB/2\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"signature\",\"value\":\"xuS1hHbCaNJtB8scH1l2oYT80Tr86DlxSBLB4KTvuphhjum/GYJkBJJQJuHrzkU/5oxQnuAUOQlnfVwsVbVJgAE=\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/greenfield.storage.MsgUpdateObjectContent\",\"index\":true},{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"module\",\"value\":\"storage\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"11121643845600\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"1112163778560\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"-185360730760\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"1707127448\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.storage.EventUpdateObjectContent\",\"attributes\":[{\"key\":\"bucket_name\",\"value\":\"\\\"\\\"\",\"index\":true},{\"key\":\"checksums\",\"value\":\"[\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\"]\",\"index\":true},{\"key\":\"object_id\",\"value\":\"\\\"13\\\"\",\"index\":true},{\"key\":\"object_name\",\"value\":\"\\\"\\\"\",\"index\":true},{\"key\":\"operator\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"payload_size\",\"value\":\"\\\"1067008\\\"\",\"index\":true},{\"key\":\"version\",\"value\":\"\\\"1\\\"\",\"index\":true}]}],\"codespace\":\"\"},{\"code\":0,\"data\":\"EjEKLy9ncmVlbmZpZWxkLnN0b3JhZ2UuTXNnUmVqZWN0U2VhbE9iamVjdFJlc3BvbnNlGggAAAAAAACd7g==\",\"log\":\"[{\\\"msg_index\\\":0,\\\"events\\\":[{\\\"type\\\":\\\"message\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"action\\\",\\\"value\\\":\\\"/greenfield.storage.MsgRejectSealObject\\\"},{\\\"key\\\":\\\"sender\\\",\\\"value\\\":\\\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\\\"},{\\\"key\\\":\\\"module\\\",\\\"value\\\":\\\"storage\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"11121643845600\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"-185360730760\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127453\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"1112163778560\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.storage.EventRejectSealObject\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"bucket_name\\\",\\\"value\\\":\\\"\\\\\\\"phugwly1grq\\\\\\\"\\\"},{\\\"key\\\":\\\"for_update\\\",\\\"value\\\":\\\"true\\\"},{\\\"key\\\":\\\"object_id\\\",\\\"value\\\":\\\"\\\\\\\"13\\\\\\\"\\\"},{\\\"key\\\":\\\"object_name\\\",\\\"value\\\":\\\"\\\\\\\"j5lgngcf\\\\\\\"\\\"},{\\\"key\\\":\\\"operator\\\",\\\"value\\\":\\\"\\\\\\\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\\\\\\\"\\\"}]}]}]\",\"info\":\"\",\"gas_wanted\":\"20000\",\"gas_used\":\"12000\",\"events\":[{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"0xf1829676DB577682E944fc3493d451B67Ff3E29F\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"0xf1829676DB577682E944fc3493d451B67Ff3E29F\",\"index\":true},{\"key\":\"sender\",\"value\":\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"sender\",\"value\":\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"fee\",\"value\":\"100000000000000BNB\",\"index\":true},{\"key\":\"fee_payer\",\"value\":\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"acc_seq\",\"value\":\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436/3\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"signature\",\"value\":\"C67q05emXtxnmcvp7vjTXG+uc48PMgT/gFCeRL34CsElcQSJjsGCOLjWuyc7NuaBXHTJe4Gl+7oPqiIrCSdkkQA=\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/greenfield.storage.MsgRejectSealObject\",\"index\":true},{\"key\":\"sender\",\"value\":\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\",\"index\":true},{\"key\":\"module\",\"value\":\"storage\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"11121643845600\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"-185360730760\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"1707127453\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"1112163778560\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.storage.EventRejectSealObject\",\"attributes\":[{\"key\":\"bucket_name\",\"value\":\"\\\"phugwly1grq\\\"\",\"index\":true},{\"key\":\"for_update\",\"value\":\"true\",\"index\":true},{\"key\":\"object_id\",\"value\":\"\\\"13\\\"\",\"index\":true},{\"key\":\"object_name\",\"value\":\"\\\"j5lgngcf\\\"\",\"index\":true},{\"key\":\"operator\",\"value\":\"\\\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\\\"\",\"index\":true}]}],\"codespace\":\"\"},{\"code\":0,\"data\":\"EjQKMi9ncmVlbmZpZWxkLnN0b3JhZ2UuTXNnVXBkYXRlT2JqZWN0Q29udGVudFJlc3BvbnNlGggAAAAAAAD2Dg==\",\"log\":\"[{\\\"msg_index\\\":0,\\\"events\\\":[{\\\"type\\\":\\\"message\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"action\\\",\\\"value\\\":\\\"/greenfield.storage.MsgUpdateObjectContent\\\"},{\\\"key\\\":\\\"sender\\\",\\\"value\\\":\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"},{\\\"key\\\":\\\"module\\\",\\\"value\\\":\\\"storage\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"11121643845600\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"1112163778560\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"-185360730760\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127448\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.storage.EventUpdateObjectContent\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"bucket_name\\\",\\\"value\\\":\\\"\\\\\\\"\\\\\\\"\\\"},{\\\"key\\\":\\\"checksums\\\",\\\"value\\\":\\\"[\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\"]\\\"},{\\\"key\\\":\\\"object_id\\\",\\\"value\\\":\\\"\\\\\\\"13\\\\\\\"\\\"},{\\\"key\\\":\\\"object_name\\\",\\\"value\\\":\\\"\\\\\\\"\\\\\\\"\\\"},{\\\"key\\\":\\\"operator\\\",\\\"value\\\":\\\"\\\\\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\\\\\"\\\"},{\\\"key\\\":\\\"payload_size\\\",\\\"value\\\":\\\"\\\\\\\"1067008\\\\\\\"\\\"},{\\\"key\\\":\\\"version\\\",\\\"value\\\":\\\"\\\\\\\"1\\\\\\\"\\\"}]}]}]\",\"info\":\"\",\"gas_wanted\":\"20000\",\"gas_used\":\"1200\",\"events\":[{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"0xf1829676DB577682E944fc3493d451B67Ff3E29F\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"0xf1829676DB577682E944fc3493d451B67Ff3E29F\",\"index\":true},{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"fee\",\"value\":\"100000000000000BNB\",\"index\":true},{\"key\":\"fee_payer\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"acc_seq\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB/3\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"signature\",\"value\":\"cSuJzLOl+r3DV00QNY1IgOzlcsUpKwPoDxBgQpwZt7x+WncUn4XL4avv0syu864fsF/DFBRez2Wbm2dcvKeGIwA=\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/greenfield.storage.MsgUpdateObjectContent\",\"index\":true},{\"key\":\"sender\",\"value\":\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\",\"index\":true},{\"key\":\"module\",\"value\":\"storage\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"11121643845600\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"1112163778560\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"-185360730760\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"1707127448\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.storage.EventUpdateObjectContent\",\"attributes\":[{\"key\":\"bucket_name\",\"value\":\"\\\"\\\"\",\"index\":true},{\"key\":\"checksums\",\"value\":\"[\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\"]\",\"index\":true},{\"key\":\"object_id\",\"value\":\"\\\"13\\\"\",\"index\":true},{\"key\":\"object_name\",\"value\":\"\\\"\\\"\",\"index\":true},{\"key\":\"operator\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"payload_size\",\"value\":\"\\\"1067008\\\"\",\"index\":true},{\"key\":\"version\",\"value\":\"\\\"1\\\"\",\"index\":true}]}],\"codespace\":\"\"},{\"code\":0,\"data\":\"EisKKS9ncmVlbmZpZWxkLnN0b3JhZ2UuTXNnU2VhbE9iamVjdFJlc3BvbnNlGggAAAAAAAIkmA==\",\"log\":\"[{\\\"msg_index\\\":0,\\\"events\\\":[{\\\"type\\\":\\\"message\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"action\\\",\\\"value\\\":\\\"/greenfield.storage.MsgSealObject\\\"},{\\\"key\\\":\\\"sender\\\",\\\"value\\\":\\\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\\\"},{\\\"key\\\":\\\"module\\\",\\\"value\\\":\\\"storage\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"6060000\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"1112163778560\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"-101000\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1817242673\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"11121637785600\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0x8D720138eC1f2006dbe283C9A0f6eCe4B5c2fF1e\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"300000\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"352900000\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0xc2500339568AEB167147B1755FA90ede5175A9eF\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0xdF5F0588f6B09f0B9E58D3426252db25Dc74E7a1\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"5505776280\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"2297754463520\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0x8D720138eC1f2006dbe283C9A0f6eCe4B5c2fF1e\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"300000\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"6402400900000\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0xc2500339568AEB167147B1755FA90ede5175A9eF\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"4609474560000\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0xdF5F0588f6B09f0B9E58D3426252db25Dc74E7a1\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"5505776280\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"2407869689120\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"6060000\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"1112163778560\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"-101000\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127448\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.virtualgroup.EventDeleteLocalVirtualGroup\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"bucket_id\\\",\\\"value\\\":\\\"\\\\\\\"15\\\\\\\"\\\"},{\\\"key\\\":\\\"id\\\",\\\"value\\\":\\\"1\\\"}]},{\\\"type\\\":\\\"greenfield.virtualgroup.EventUpdateGlobalVirtualGroup\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"id\\\",\\\"value\\\":\\\"4\\\"},{\\\"key\\\":\\\"primary_sp_id\\\",\\\"value\\\":\\\"1\\\"},{\\\"key\\\":\\\"secondary_sp_ids\\\",\\\"value\\\":\\\"[3,4,5,6,7,2]\\\"},{\\\"key\\\":\\\"store_size\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"total_deposit\\\",\\\"value\\\":\\\"\\\\\\\"1000000000000000000\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.virtualgroup.EventUpdateLocalVirtualGroup\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"bucket_id\\\",\\\"value\\\":\\\"\\\\\\\"15\\\\\\\"\\\"},{\\\"key\\\":\\\"global_virtual_group_id\\\",\\\"value\\\":\\\"4\\\"},{\\\"key\\\":\\\"id\\\",\\\"value\\\":\\\"1\\\"},{\\\"key\\\":\\\"stored_size\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"6060000\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"-101000\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1718138970\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"1112163778560\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"1112169838560\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"-18536163976\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127448\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0x8D720138eC1f2006dbe283C9A0f6eCe4B5c2fF1e\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"10670380000\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"6402400900000\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0xc2500339568AEB167147B1755FA90ede5175A9eF\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"7682457600\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"4609474560000\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.payment.EventStreamRecordUpdate\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"account\\\",\\\"value\\\":\\\"\\\\\\\"0xdF5F0588f6B09f0B9E58D3426252db25Dc74E7a1\\\\\\\"\\\"},{\\\"key\\\":\\\"buffer_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"crud_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"frozen_netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"lock_balance\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"netflow_rate\\\",\\\"value\\\":\\\"\\\\\\\"5689301656\\\\\\\"\\\"},{\\\"key\\\":\\\"settle_timestamp\\\",\\\"value\\\":\\\"\\\\\\\"0\\\\\\\"\\\"},{\\\"key\\\":\\\"static_balance\\\",\\\"value\\\":\\\"\\\\\\\"2407869689120\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.virtualgroup.EventUpdateGlobalVirtualGroup\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"id\\\",\\\"value\\\":\\\"4\\\"},{\\\"key\\\":\\\"primary_sp_id\\\",\\\"value\\\":\\\"1\\\"},{\\\"key\\\":\\\"secondary_sp_ids\\\",\\\"value\\\":\\\"[3,4,5,6,7,2]\\\"},{\\\"key\\\":\\\"store_size\\\",\\\"value\\\":\\\"\\\\\\\"1067008\\\\\\\"\\\"},{\\\"key\\\":\\\"total_deposit\\\",\\\"value\\\":\\\"\\\\\\\"1000000000000000000\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.virtualgroup.EventCreateLocalVirtualGroup\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"bucket_id\\\",\\\"value\\\":\\\"\\\\\\\"15\\\\\\\"\\\"},{\\\"key\\\":\\\"global_virtual_group_id\\\",\\\"value\\\":\\\"4\\\"},{\\\"key\\\":\\\"id\\\",\\\"value\\\":\\\"1\\\"},{\\\"key\\\":\\\"stored_size\\\",\\\"value\\\":\\\"\\\\\\\"1067008\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.storage.EventUpdateObjectContentSuccess\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"bucket_name\\\",\\\"value\\\":\\\"\\\\\\\"phugwly1grq\\\\\\\"\\\"},{\\\"key\\\":\\\"content_type\\\",\\\"value\\\":\\\"\\\\\\\"\\\\\\\"\\\"},{\\\"key\\\":\\\"new_checksums\\\",\\\"value\\\":\\\"[\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\",\\\\\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\\\\\"]\\\"},{\\\"key\\\":\\\"new_payload_size\\\",\\\"value\\\":\\\"\\\\\\\"1067008\\\\\\\"\\\"},{\\\"key\\\":\\\"object_id\\\",\\\"value\\\":\\\"\\\\\\\"13\\\\\\\"\\\"},{\\\"key\\\":\\\"object_name\\\",\\\"value\\\":\\\"\\\\\\\"j5lgngcf\\\\\\\"\\\"},{\\\"key\\\":\\\"operator\\\",\\\"value\\\":\\\"\\\\\\\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\\\\\\\"\\\"},{\\\"key\\\":\\\"prev_checksums\\\",\\\"value\\\":\\\"[\\\\\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\\\\\",\\\\\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\\\\\",\\\\\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\\\\\",\\\\\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\\\\\",\\\\\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\\\\\",\\\\\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\\\\\",\\\\\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\\\\\"]\\\"},{\\\"key\\\":\\\"prev_payload_size\\\",\\\"value\\\":\\\"\\\\\\\"10670080\\\\\\\"\\\"},{\\\"key\\\":\\\"updated_at\\\",\\\"value\\\":\\\"\\\\\\\"1707127418\\\\\\\"\\\"},{\\\"key\\\":\\\"version\\\",\\\"value\\\":\\\"\\\\\\\"1\\\\\\\"\\\"}]},{\\\"type\\\":\\\"greenfield.storage.EventSealObject\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"bucket_name\\\",\\\"value\\\":\\\"\\\\\\\"phugwly1grq\\\\\\\"\\\"},{\\\"key\\\":\\\"global_virtual_group_id\\\",\\\"value\\\":\\\"4\\\"},{\\\"key\\\":\\\"local_virtual_group_id\\\",\\\"value\\\":\\\"1\\\"},{\\\"key\\\":\\\"object_id\\\",\\\"value\\\":\\\"\\\\\\\"13\\\\\\\"\\\"},{\\\"key\\\":\\\"object_name\\\",\\\"value\\\":\\\"\\\\\\\"j5lgngcf\\\\\\\"\\\"},{\\\"key\\\":\\\"operator\\\",\\\"value\\\":\\\"\\\\\\\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\\\\\\\"\\\"},{\\\"key\\\":\\\"status\\\",\\\"value\\\":\\\"\\\\\\\"OBJECT_STATUS_SEALED\\\\\\\"\\\"}]}]}]\",\"info\":\"\",\"gas_wanted\":\"20000\",\"gas_used\":\"120\",\"events\":[{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"0xf1829676DB577682E944fc3493d451B67Ff3E29F\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"0xf1829676DB577682E944fc3493d451B67Ff3E29F\",\"index\":true},{\"key\":\"sender\",\"value\":\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\",\"index\":true},{\"key\":\"amount\",\"value\":\"100000000000000BNB\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"sender\",\"value\":\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"fee\",\"value\":\"100000000000000BNB\",\"index\":true},{\"key\":\"fee_payer\",\"value\":\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"acc_seq\",\"value\":\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436/4\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"signature\",\"value\":\"OAjoCYTdt+CukpyStk8ZxzjhFU0AxbCv1f0yr8nULqUPE8pD3lXbfjGORJGSG0uPntk4g+dNBtDfbxf0rxTz8QE=\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/greenfield.storage.MsgSealObject\",\"index\":true},{\"key\":\"sender\",\"value\":\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\",\"index\":true},{\"key\":\"module\",\"value\":\"storage\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"6060000\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"1112163778560\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"-101000\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"1817242673\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"11121637785600\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0x8D720138eC1f2006dbe283C9A0f6eCe4B5c2fF1e\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"300000\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"352900000\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0xc2500339568AEB167147B1755FA90ede5175A9eF\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0xdF5F0588f6B09f0B9E58D3426252db25Dc74E7a1\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"5505776280\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"2297754463520\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0x8D720138eC1f2006dbe283C9A0f6eCe4B5c2fF1e\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"300000\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"6402400900000\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0xc2500339568AEB167147B1755FA90ede5175A9eF\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"4609474560000\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0xdF5F0588f6B09f0B9E58D3426252db25Dc74E7a1\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"5505776280\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"2407869689120\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"6060000\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"1112163778560\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"-101000\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"1707127448\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.virtualgroup.EventDeleteLocalVirtualGroup\",\"attributes\":[{\"key\":\"bucket_id\",\"value\":\"\\\"15\\\"\",\"index\":true},{\"key\":\"id\",\"value\":\"1\",\"index\":true}]},{\"type\":\"greenfield.virtualgroup.EventUpdateGlobalVirtualGroup\",\"attributes\":[{\"key\":\"id\",\"value\":\"4\",\"index\":true},{\"key\":\"primary_sp_id\",\"value\":\"1\",\"index\":true},{\"key\":\"secondary_sp_ids\",\"value\":\"[3,4,5,6,7,2]\",\"index\":true},{\"key\":\"store_size\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"total_deposit\",\"value\":\"\\\"1000000000000000000\\\"\",\"index\":true}]},{\"type\":\"greenfield.virtualgroup.EventUpdateLocalVirtualGroup\",\"attributes\":[{\"key\":\"bucket_id\",\"value\":\"\\\"15\\\"\",\"index\":true},{\"key\":\"global_virtual_group_id\",\"value\":\"4\",\"index\":true},{\"key\":\"id\",\"value\":\"1\",\"index\":true},{\"key\":\"stored_size\",\"value\":\"\\\"0\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"6060000\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"-101000\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"1718138970\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"1112163778560\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0x2C88091905582aF5F118C5C9a33f47B9445e78BB\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"1112169838560\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"-18536163976\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"1707127448\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0x8D720138eC1f2006dbe283C9A0f6eCe4B5c2fF1e\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"10670380000\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"6402400900000\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0xc2500339568AEB167147B1755FA90ede5175A9eF\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"7682457600\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"4609474560000\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.payment.EventStreamRecordUpdate\",\"attributes\":[{\"key\":\"account\",\"value\":\"\\\"0xdF5F0588f6B09f0B9E58D3426252db25Dc74E7a1\\\"\",\"index\":true},{\"key\":\"buffer_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"crud_timestamp\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"frozen_netflow_rate\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"lock_balance\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"netflow_rate\",\"value\":\"\\\"5689301656\\\"\",\"index\":true},{\"key\":\"settle_timestamp\",\"value\":\"\\\"0\\\"\",\"index\":true},{\"key\":\"static_balance\",\"value\":\"\\\"2407869689120\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"STREAM_ACCOUNT_STATUS_ACTIVE\\\"\",\"index\":true}]},{\"type\":\"greenfield.virtualgroup.EventUpdateGlobalVirtualGroup\",\"attributes\":[{\"key\":\"id\",\"value\":\"4\",\"index\":true},{\"key\":\"primary_sp_id\",\"value\":\"1\",\"index\":true},{\"key\":\"secondary_sp_ids\",\"value\":\"[3,4,5,6,7,2]\",\"index\":true},{\"key\":\"store_size\",\"value\":\"\\\"1067008\\\"\",\"index\":true},{\"key\":\"total_deposit\",\"value\":\"\\\"1000000000000000000\\\"\",\"index\":true}]},{\"type\":\"greenfield.virtualgroup.EventCreateLocalVirtualGroup\",\"attributes\":[{\"key\":\"bucket_id\",\"value\":\"\\\"15\\\"\",\"index\":true},{\"key\":\"global_virtual_group_id\",\"value\":\"4\",\"index\":true},{\"key\":\"id\",\"value\":\"1\",\"index\":true},{\"key\":\"stored_size\",\"value\":\"\\\"1067008\\\"\",\"index\":true}]},{\"type\":\"greenfield.storage.EventUpdateObjectContentSuccess\",\"attributes\":[{\"key\":\"bucket_name\",\"value\":\"\\\"phugwly1grq\\\"\",\"index\":true},{\"key\":\"content_type\",\"value\":\"\\\"\\\"\",\"index\":true},{\"key\":\"new_checksums\",\"value\":\"[\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\",\\\"AlHQDThmcsFQcqMRtWiBvUcOK7Q1qmGMpFfrREVrWqE=\\\"]\",\"index\":true},{\"key\":\"new_payload_size\",\"value\":\"\\\"1067008\\\"\",\"index\":true},{\"key\":\"object_id\",\"value\":\"\\\"13\\\"\",\"index\":true},{\"key\":\"object_name\",\"value\":\"\\\"j5lgngcf\\\"\",\"index\":true},{\"key\":\"operator\",\"value\":\"\\\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\\\"\",\"index\":true},{\"key\":\"prev_checksums\",\"value\":\"[\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\",\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\",\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\",\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\",\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\",\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\",\\\"buySGixCMW9GvxEEgFzXQziZbHmJcSDaDw1To4p++U8=\\\"]\",\"index\":true},{\"key\":\"prev_payload_size\",\"value\":\"\\\"10670080\\\"\",\"index\":true},{\"key\":\"updated_at\",\"value\":\"\\\"1707127418\\\"\",\"index\":true},{\"key\":\"version\",\"value\":\"\\\"1\\\"\",\"index\":true}]},{\"type\":\"greenfield.storage.EventSealObject\",\"attributes\":[{\"key\":\"bucket_name\",\"value\":\"\\\"phugwly1grq\\\"\",\"index\":true},{\"key\":\"global_virtual_group_id\",\"value\":\"4\",\"index\":true},{\"key\":\"local_virtual_group_id\",\"value\":\"1\",\"index\":true},{\"key\":\"object_id\",\"value\":\"\\\"13\\\"\",\"index\":true},{\"key\":\"object_name\",\"value\":\"\\\"j5lgngcf\\\"\",\"index\":true},{\"key\":\"operator\",\"value\":\"\\\"0xc5890f517eE07D5aAE4872D45c5a71EF7e11a436\\\"\",\"index\":true},{\"key\":\"status\",\"value\":\"\\\"OBJECT_STATUS_SEALED\\\"\",\"index\":true}]}],\"codespace\":\"\"}]}"
+ },
+ {
+ "name": "update bucket",
+ "block": "{\"block\":{\"header\":{\"height\":\"68\",\"time\":\"2024-01-17T06:18:32.636521739Z\"},\"data\":{\"txs\":[\"CvoBCvcBCiMvZ3JlZW5maWVsZC5zdG9yYWdlLk1zZ0NyZWF0ZUJ1Y2tldBLPAQoqMHg4NjljNDBkNDk2YTc5NjM0QkVmNDNhZjhFRWI4MTdGMmI4QTFDQjJjEihmdWxsLW5vZGUtdjEtYWNjMDAwMDAwMDA3Mi1idWMwMDAwMDAwMDAwGAIqKjB4MzM0NEVFYTlGQkQ3ZERBMWM3MWJhZTgzYkY3MjNDODVEOTRlODY1OTJJCPCeDBARGkF1QxEUgocG3uzLeeSImESkzZrlsD9RznBjdMSkQsbRKmAfhTBiV5VDpSpwCzOotaZcCcvH7+i8uGQ/hDw7g28EARJ2ClgKTQomL2Nvc21vcy5jcnlwdG8uZXRoLmV0aHNlY3AyNTZrMS5QdWJLZXkSIwohAjPGjCB4AldgyL0SXau5XO9VPOWF0Am7LH3CMogJhcwxEgUKAwjIBRg0EhoKFQoDQk5CEg4xMjAwMDAwMDAwMDAwMBDgEhpBJYtn8jCJvroTA72YUcY0CdkJlVth7xJvt+voqLZi+MlE845j+GX1tvXCpyCPQjcQHs7pibXQPImBrupKxENk5QA=\"]}}}",
+ "block_results": "{\"height\":\"68\",\"txs_results\":[{\"events\":[{\"type\":\"greenfield.storage.handleEventBucketFlowRateLimitStatus\",\"attributes\":[{\"key\":\"bucket_name\",\"value\":\"\\\"phugwly1grq\\\"\",\"index\":true},{\"key\":\"is_limited\",\"value\":\"\\\"true\\\"\",\"index\":true}]}]}]}"
}
]
\ No newline at end of file
diff --git a/modular/blocksyncer/test/verify.go b/modular/blocksyncer/test/verify.go
index 1c83f22bd..62d4f8645 100644
--- a/modular/blocksyncer/test/verify.go
+++ b/modular/blocksyncer/test/verify.go
@@ -27,7 +27,7 @@ var verifyFuncs = []func(t *testing.T, db *gorm.DB) error{
verify31, verify32, verify33, verify34, verify35, verify36, verify37, verify38, verify39, verify40,
verify41, verify42, verify43, verify44, verify45, verify46, verify47, verify48, verify49, verify50,
verify51, verify52, verify53, verify54, verify55, verify56, verify57, verify58, verify59, verify60,
- verify61, verify62, verify63, verify64, verify65, verify66, verify67,
+ verify61, verify62, verify63, verify64, verify65, verify66, verify67, verify68,
}
func Verify(t *testing.T) error {
@@ -728,6 +728,18 @@ func verify67(t *testing.T, db *gorm.DB) error {
}
+func verify68(t *testing.T, db *gorm.DB) error {
+ var bucket models.Bucket
+ if err := db.Table((&models.Bucket{}).TableName()).Where("bucket_name=?", "phugwly1grq").Find(&bucket).Error; err != nil {
+ assert.NoError(t, err)
+ }
+ if bucket.OffChainStatus != 0 {
+ return errors.New("update bucket flow rate limit status error")
+ }
+ return nil
+
+}
+
const ObjectsNumberOfShards = 64
const ObjectTableName = "objects"
diff --git a/modular/gater/metadata_handler_test.go b/modular/gater/metadata_handler_test.go
index adcacba47..67a3341bc 100644
--- a/modular/gater/metadata_handler_test.go
+++ b/modular/gater/metadata_handler_test.go
@@ -1268,7 +1268,7 @@ func TestGateModular_ListPaymentAccountStreamsHandler(t *testing.T) {
return req
},
wantedResultFn: func(body string) bool {
- assert.Equal(t, "0xF72aDa8130f934887755492879496b026665FbABmock-bucket-name010016997810800xF72aDa8130f934887755492879496b026665FbAB300falsefalse00xF72aDa8130f934887755492879496b026665FbAB0x21c349a869bde1f44378936e2a9a15ed3fb2d54a43eaea8787960bba1134cdc20x0cbff0ff3831d61345dbfda5b984e254c4bf87ecf80b45ccbb0635c0547a3b1a12798111699781103",
+ assert.Equal(t, "0xF72aDa8130f934887755492879496b026665FbABmock-bucket-name010016997810800xF72aDa8130f934887755492879496b026665FbAB300falsefalse00xF72aDa8130f934887755492879496b026665FbAB0x21c349a869bde1f44378936e2a9a15ed3fb2d54a43eaea8787960bba1134cdc20x0cbff0ff3831d61345dbfda5b984e254c4bf87ecf80b45ccbb0635c0547a3b1a127981116997811030",
body)
return true
},
@@ -1481,7 +1481,7 @@ func TestGateModular_ListBucketsByIDsHandler(t *testing.T) {
return req
},
wantedResultFn: func(body string) bool {
- assert.Equal(t, "00xF72aDa8130f934887755492879496b026665FbABmock-bucket-name010016997810800xF72aDa8130f934887755492879496b026665FbAB300falsefalse00xF72aDa8130f934887755492879496b026665FbAB0x21c349a869bde1f44378936e2a9a15ed3fb2d54a43eaea8787960bba1134cdc20x0cbff0ff3831d61345dbfda5b984e254c4bf87ecf80b45ccbb0635c0547a3b1a12798111699781103",
+ assert.Equal(t, "00xF72aDa8130f934887755492879496b026665FbABmock-bucket-name010016997810800xF72aDa8130f934887755492879496b026665FbAB300falsefalse00xF72aDa8130f934887755492879496b026665FbAB0x21c349a869bde1f44378936e2a9a15ed3fb2d54a43eaea8787960bba1134cdc20x0cbff0ff3831d61345dbfda5b984e254c4bf87ecf80b45ccbb0635c0547a3b1a127981116997811030",
body)
return true
},
@@ -2041,7 +2041,7 @@ func TestGateModular_GetBucketMetaHandler(t *testing.T) {
req := httptest.NewRequest(http.MethodGet, path, strings.NewReader(""))
return req
},
- wantedResult: "0xF72aDa8130f934887755492879496b026665FbABmock-bucket-name010016997810800xF72aDa8130f934887755492879496b026665FbAB300falsefalse00xF72aDa8130f934887755492879496b026665FbAB0x21c349a869bde1f44378936e2a9a15ed3fb2d54a43eaea8787960bba1134cdc20x0cbff0ff3831d61345dbfda5b984e254c4bf87ecf80b45ccbb0635c0547a3b1a12798111699781103030x26281179b8885F21f95b0a246c8AD70957A95A230xF72aDa8130f934887755492879496b026665FbAB16997809940240000000000000001000000",
+ wantedResult: "0xF72aDa8130f934887755492879496b026665FbABmock-bucket-name010016997810800xF72aDa8130f934887755492879496b026665FbAB300falsefalse00xF72aDa8130f934887755492879496b026665FbAB0x21c349a869bde1f44378936e2a9a15ed3fb2d54a43eaea8787960bba1134cdc20x0cbff0ff3831d61345dbfda5b984e254c4bf87ecf80b45ccbb0635c0547a3b1a12798111699781103030x26281179b8885F21f95b0a246c8AD70957A95A2300xF72aDa8130f934887755492879496b026665FbAB16997809940240000000000000001000000",
},
}
for _, tt := range cases {
@@ -2145,7 +2145,7 @@ func TestGateModular_GetUserBucketsHandler(t *testing.T) {
req.Header.Set(GnfdUserAddressHeader, testAccount)
return req
},
- wantedResult: "0xF72aDa8130f934887755492879496b026665FbABmock-bucket-name010016997810800xF72aDa8130f934887755492879496b026665FbAB300falsefalse00xF72aDa8130f934887755492879496b026665FbAB0x21c349a869bde1f44378936e2a9a15ed3fb2d54a43eaea8787960bba1134cdc20x0cbff0ff3831d61345dbfda5b984e254c4bf87ecf80b45ccbb0635c0547a3b1a12798111699781103030x26281179b8885F21f95b0a246c8AD70957A95A23",
+ wantedResult: "0xF72aDa8130f934887755492879496b026665FbABmock-bucket-name010016997810800xF72aDa8130f934887755492879496b026665FbAB300falsefalse00xF72aDa8130f934887755492879496b026665FbAB0x21c349a869bde1f44378936e2a9a15ed3fb2d54a43eaea8787960bba1134cdc20x0cbff0ff3831d61345dbfda5b984e254c4bf87ecf80b45ccbb0635c0547a3b1a12798111699781103030x26281179b8885F21f95b0a246c8AD70957A95A230",
},
}
for _, tt := range cases {
diff --git a/modular/metadata/metadata_bucket_service.go b/modular/metadata/metadata_bucket_service.go
index a5eaf1436..2759aaf8c 100644
--- a/modular/metadata/metadata_bucket_service.go
+++ b/modular/metadata/metadata_bucket_service.go
@@ -90,15 +90,16 @@ func (r *MetadataModular) GfSpGetUserBuckets(ctx context.Context, req *types.GfS
BucketStatus: storage_types.BucketStatus(storage_types.BucketStatus_value[bucket.Status]),
Tags: bucket.GetResourceTags(),
},
- Removed: bucket.Removed,
- DeleteAt: bucket.DeleteAt,
- DeleteReason: bucket.DeleteReason,
- Operator: bucket.Operator.String(),
- CreateTxHash: bucket.CreateTxHash.String(),
- UpdateTxHash: bucket.UpdateTxHash.String(),
- UpdateAt: bucket.UpdateAt,
- UpdateTime: bucket.UpdateTime,
- StorageSize: bucket.StorageSize.String(),
+ Removed: bucket.Removed,
+ DeleteAt: bucket.DeleteAt,
+ DeleteReason: bucket.DeleteReason,
+ Operator: bucket.Operator.String(),
+ CreateTxHash: bucket.CreateTxHash.String(),
+ UpdateTxHash: bucket.UpdateTxHash.String(),
+ UpdateAt: bucket.UpdateAt,
+ UpdateTime: bucket.UpdateTime,
+ StorageSize: bucket.StorageSize.String(),
+ OffChainStatus: int32(bucket.OffChainStatus),
}
if vgf != nil {
b.Vgf = &virtual_types.GlobalVirtualGroupFamily{
@@ -149,15 +150,16 @@ func (r *MetadataModular) GfSpGetBucketByBucketName(ctx context.Context, req *ty
BucketStatus: storage_types.BucketStatus(storage_types.BucketStatus_value[bucket.Status]),
Tags: bucket.GetResourceTags(),
},
- Removed: bucket.Removed,
- DeleteAt: bucket.DeleteAt,
- DeleteReason: bucket.DeleteReason,
- Operator: bucket.Operator.String(),
- CreateTxHash: bucket.CreateTxHash.String(),
- UpdateTxHash: bucket.UpdateTxHash.String(),
- UpdateAt: bucket.UpdateAt,
- UpdateTime: bucket.UpdateTime,
- StorageSize: bucket.StorageSize.String(),
+ Removed: bucket.Removed,
+ DeleteAt: bucket.DeleteAt,
+ DeleteReason: bucket.DeleteReason,
+ Operator: bucket.Operator.String(),
+ CreateTxHash: bucket.CreateTxHash.String(),
+ UpdateTxHash: bucket.UpdateTxHash.String(),
+ UpdateAt: bucket.UpdateAt,
+ UpdateTime: bucket.UpdateTime,
+ StorageSize: bucket.StorageSize.String(),
+ OffChainStatus: int32(bucket.OffChainStatus),
}
}
resp = &types.GfSpGetBucketByBucketNameResponse{Bucket: res}
@@ -195,15 +197,16 @@ func (r *MetadataModular) GfSpGetBucketByBucketID(ctx context.Context, req *type
BucketStatus: storage_types.BucketStatus(storage_types.BucketStatus_value[bucket.Status]),
Tags: bucket.GetResourceTags(),
},
- Removed: bucket.Removed,
- DeleteAt: bucket.DeleteAt,
- DeleteReason: bucket.DeleteReason,
- Operator: bucket.Operator.String(),
- CreateTxHash: bucket.CreateTxHash.String(),
- UpdateTxHash: bucket.UpdateTxHash.String(),
- UpdateAt: bucket.UpdateAt,
- UpdateTime: bucket.UpdateTime,
- StorageSize: bucket.StorageSize.String(),
+ Removed: bucket.Removed,
+ DeleteAt: bucket.DeleteAt,
+ DeleteReason: bucket.DeleteReason,
+ Operator: bucket.Operator.String(),
+ CreateTxHash: bucket.CreateTxHash.String(),
+ UpdateTxHash: bucket.UpdateTxHash.String(),
+ UpdateAt: bucket.UpdateAt,
+ UpdateTime: bucket.UpdateTime,
+ StorageSize: bucket.StorageSize.String(),
+ OffChainStatus: int32(bucket.OffChainStatus),
}
}
resp = &types.GfSpGetBucketByBucketIDResponse{Bucket: res}
@@ -253,9 +256,10 @@ func (r *MetadataModular) GfSpListExpiredBucketsBySp(ctx context.Context, req *t
BucketStatus: storage_types.BucketStatus(storage_types.BucketStatus_value[bucket.Status]),
Tags: bucket.GetResourceTags(),
},
- Removed: bucket.Removed,
- DeleteAt: bucket.DeleteAt,
- DeleteReason: bucket.DeleteReason,
+ Removed: bucket.Removed,
+ DeleteAt: bucket.DeleteAt,
+ DeleteReason: bucket.DeleteReason,
+ OffChainStatus: int32(bucket.OffChainStatus),
})
}
resp = &types.GfSpListExpiredBucketsBySpResponse{Buckets: res}
@@ -320,7 +324,8 @@ func (r *MetadataModular) GfSpGetBucketMeta(ctx context.Context, req *types.GfSp
GlobalVirtualGroupIds: family[0].GlobalVirtualGroupIds,
VirtualPaymentAddress: family[0].VirtualPaymentAddress.String(),
},
- StorageSize: bucket.StorageSize.String(),
+ StorageSize: bucket.StorageSize.String(),
+ OffChainStatus: int32(bucket.OffChainStatus),
}
}
@@ -626,15 +631,16 @@ func (r *MetadataModular) GfSpListBucketsByIDs(ctx context.Context, req *types.G
BucketStatus: storage_types.BucketStatus(storage_types.BucketStatus_value[bucket.Status]),
Tags: bucket.GetResourceTags(),
},
- Removed: bucket.Removed,
- DeleteAt: bucket.DeleteAt,
- DeleteReason: bucket.DeleteReason,
- Operator: bucket.Operator.String(),
- CreateTxHash: bucket.CreateTxHash.String(),
- UpdateTxHash: bucket.UpdateTxHash.String(),
- UpdateAt: bucket.UpdateAt,
- UpdateTime: bucket.UpdateTime,
- StorageSize: bucket.StorageSize.String(),
+ Removed: bucket.Removed,
+ DeleteAt: bucket.DeleteAt,
+ DeleteReason: bucket.DeleteReason,
+ Operator: bucket.Operator.String(),
+ CreateTxHash: bucket.CreateTxHash.String(),
+ UpdateTxHash: bucket.UpdateTxHash.String(),
+ UpdateAt: bucket.UpdateAt,
+ UpdateTime: bucket.UpdateTime,
+ StorageSize: bucket.StorageSize.String(),
+ OffChainStatus: int32(bucket.OffChainStatus),
}
}
resp = &types.GfSpListBucketsByIDsResponse{Buckets: bucketsMap}
@@ -694,15 +700,16 @@ func (r *MetadataModular) GfSpGetBucketInfoByBucketName(ctx context.Context, req
BucketStatus: storage_types.BucketStatus(storage_types.BucketStatus_value[bucket.Status]),
Tags: bucket.GetResourceTags(),
},
- Removed: bucket.Removed,
- DeleteAt: bucket.DeleteAt,
- DeleteReason: bucket.DeleteReason,
- Operator: bucket.Operator.String(),
- CreateTxHash: bucket.CreateTxHash.String(),
- UpdateTxHash: bucket.UpdateTxHash.String(),
- UpdateAt: bucket.UpdateAt,
- UpdateTime: bucket.UpdateTime,
- StorageSize: bucket.StorageSize.String(),
+ Removed: bucket.Removed,
+ DeleteAt: bucket.DeleteAt,
+ DeleteReason: bucket.DeleteReason,
+ Operator: bucket.Operator.String(),
+ CreateTxHash: bucket.CreateTxHash.String(),
+ UpdateTxHash: bucket.UpdateTxHash.String(),
+ UpdateAt: bucket.UpdateAt,
+ UpdateTime: bucket.UpdateTime,
+ StorageSize: bucket.StorageSize.String(),
+ OffChainStatus: int32(bucket.OffChainStatus),
}
}
resp = &types.GfSpGetBucketInfoByBucketNameResponse{Bucket: res}
diff --git a/modular/metadata/metadata_bucket_service_test.go b/modular/metadata/metadata_bucket_service_test.go
index 1efc6b383..9bdc3f23d 100644
--- a/modular/metadata/metadata_bucket_service_test.go
+++ b/modular/metadata/metadata_bucket_service_test.go
@@ -84,6 +84,7 @@ func TestMetadataModular_GfSpGetUserBuckets2(t *testing.T) {
UpdateTxHash: common.HexToHash("0x0F508E101FF83B79DF357212029B05D1FCC585B50D479FB7E68D6E1A68E8BDD4"),
UpdateTime: 0,
StorageSize: decimal.New(100, 2),
+ OffChainStatus: 1,
}}, nil
},
).Times(1)
@@ -143,6 +144,7 @@ func TestMetadataModular_GfSpGetUserBuckets_Failed(t *testing.T) {
UpdateTxHash: common.HexToHash("0x0F508E101FF83B79DF357212029B05D1FCC585B50D479FB7E68D6E1A68E8BDD4"),
UpdateTime: 0,
StorageSize: decimal.New(100, 2),
+ OffChainStatus: 1,
}}, nil
},
).Times(1)
@@ -222,6 +224,7 @@ func TestMetadataModular_GfSpGetBucketByBucketName_Success2(t *testing.T) {
UpdateTxHash: common.HexToHash("0x0F508E101FF83B79DF357212029B05D1FCC585B50D479FB7E68D6E1A68E8BDD4"),
UpdateTime: 0,
StorageSize: decimal.New(100, 2),
+ OffChainStatus: 1,
}, nil
},
).Times(1)
@@ -305,6 +308,7 @@ func TestMetadataModular_GfSpGetBucketByBucketID_Success2(t *testing.T) {
UpdateTxHash: common.HexToHash("0x0F508E101FF83B79DF357212029B05D1FCC585B50D479FB7E68D6E1A68E8BDD4"),
UpdateTime: 0,
StorageSize: decimal.New(100, 2),
+ OffChainStatus: 1,
}, nil
},
).Times(1)
@@ -398,6 +402,7 @@ func TestMetadataModular_GfSpListExpiredBucketsBySp_Success(t *testing.T) {
UpdateTxHash: common.HexToHash("0x0F508E101FF83B79DF357212029B05D1FCC585B50D479FB7E68D6E1A68E8BDD4"),
UpdateTime: 0,
StorageSize: decimal.New(100, 2),
+ OffChainStatus: 1,
}}, nil
},
).Times(1)
@@ -556,6 +561,7 @@ func TestMetadataModular_GfSpListBucketsByIDs_Success(t *testing.T) {
UpdateTxHash: common.HexToHash("0x0F508E101FF83B79DF357212029B05D1FCC585B50D479FB7E68D6E1A68E8BDD4"),
UpdateTime: 0,
StorageSize: decimal.New(100, 2),
+ OffChainStatus: 1,
}}, nil
},
).Times(1)
@@ -726,6 +732,7 @@ func TestMetadataModular_GfSpGetBucketInfoByBucketName_Success2(t *testing.T) {
UpdateTxHash: common.HexToHash("0x0F508E101FF83B79DF357212029B05D1FCC585B50D479FB7E68D6E1A68E8BDD4"),
UpdateTime: 0,
StorageSize: decimal.New(100, 2),
+ OffChainStatus: 1,
}, nil
},
).Times(1)
diff --git a/modular/metadata/metadata_object_service.go b/modular/metadata/metadata_object_service.go
index 7b467019f..8b80e9be3 100644
--- a/modular/metadata/metadata_object_service.go
+++ b/modular/metadata/metadata_object_service.go
@@ -389,14 +389,15 @@ func (r *MetadataModular) GfSpListObjectsInGVGAndBucket(ctx context.Context, req
BucketStatus: storagetypes.BucketStatus(storagetypes.BucketStatus_value[bucket.Status]),
Tags: bucket.GetResourceTags(),
},
- Removed: bucket.Removed,
- DeleteAt: bucket.DeleteAt,
- DeleteReason: bucket.DeleteReason,
- Operator: bucket.Operator.String(),
- CreateTxHash: bucket.CreateTxHash.String(),
- UpdateTxHash: bucket.UpdateTxHash.String(),
- UpdateAt: bucket.UpdateAt,
- UpdateTime: bucket.UpdateTime,
+ Removed: bucket.Removed,
+ DeleteAt: bucket.DeleteAt,
+ DeleteReason: bucket.DeleteReason,
+ Operator: bucket.Operator.String(),
+ CreateTxHash: bucket.CreateTxHash.String(),
+ UpdateTxHash: bucket.UpdateTxHash.String(),
+ UpdateAt: bucket.UpdateAt,
+ UpdateTime: bucket.UpdateTime,
+ OffChainStatus: int32(bucket.OffChainStatus),
}
}
if gvg != nil {
@@ -508,14 +509,15 @@ func (r *MetadataModular) GfSpListObjectsByGVGAndBucketForGC(ctx context.Context
BucketStatus: storagetypes.BucketStatus(storagetypes.BucketStatus_value[bucket.Status]),
Tags: bucket.GetResourceTags(),
},
- Removed: bucket.Removed,
- DeleteAt: bucket.DeleteAt,
- DeleteReason: bucket.DeleteReason,
- Operator: bucket.Operator.String(),
- CreateTxHash: bucket.CreateTxHash.String(),
- UpdateTxHash: bucket.UpdateTxHash.String(),
- UpdateAt: bucket.UpdateAt,
- UpdateTime: bucket.UpdateTime,
+ Removed: bucket.Removed,
+ DeleteAt: bucket.DeleteAt,
+ DeleteReason: bucket.DeleteReason,
+ Operator: bucket.Operator.String(),
+ CreateTxHash: bucket.CreateTxHash.String(),
+ UpdateTxHash: bucket.UpdateTxHash.String(),
+ UpdateAt: bucket.UpdateAt,
+ UpdateTime: bucket.UpdateTime,
+ OffChainStatus: int32(bucket.OffChainStatus),
}
}
if gvg != nil {
@@ -636,14 +638,15 @@ func (r *MetadataModular) GfSpListObjectsInGVG(ctx context.Context, req *types.G
BucketStatus: storagetypes.BucketStatus(storagetypes.BucketStatus_value[bucket.Status]),
Tags: bucket.GetResourceTags(),
},
- Removed: bucket.Removed,
- DeleteAt: bucket.DeleteAt,
- DeleteReason: bucket.DeleteReason,
- Operator: bucket.Operator.String(),
- CreateTxHash: bucket.CreateTxHash.String(),
- UpdateTxHash: bucket.UpdateTxHash.String(),
- UpdateAt: bucket.UpdateAt,
- UpdateTime: bucket.UpdateTime,
+ Removed: bucket.Removed,
+ DeleteAt: bucket.DeleteAt,
+ DeleteReason: bucket.DeleteReason,
+ Operator: bucket.Operator.String(),
+ CreateTxHash: bucket.CreateTxHash.String(),
+ UpdateTxHash: bucket.UpdateTxHash.String(),
+ UpdateAt: bucket.UpdateAt,
+ UpdateTime: bucket.UpdateTime,
+ OffChainStatus: int32(bucket.OffChainStatus),
}
}
if gvg != nil {
diff --git a/modular/metadata/metadata_payment_service.go b/modular/metadata/metadata_payment_service.go
index 8d8b1bb21..af9504319 100644
--- a/modular/metadata/metadata_payment_service.go
+++ b/modular/metadata/metadata_payment_service.go
@@ -114,14 +114,15 @@ func (r *MetadataModular) GfSpListPaymentAccountStreams(ctx context.Context, req
BucketStatus: storagetypes.BucketStatus(storagetypes.BucketStatus_value[bucket.Status]),
Tags: bucket.GetResourceTags(),
},
- Removed: bucket.Removed,
- DeleteAt: bucket.DeleteAt,
- DeleteReason: bucket.DeleteReason,
- Operator: bucket.Operator.String(),
- CreateTxHash: bucket.CreateTxHash.String(),
- UpdateTxHash: bucket.UpdateTxHash.String(),
- UpdateAt: bucket.UpdateAt,
- UpdateTime: bucket.UpdateTime,
+ Removed: bucket.Removed,
+ DeleteAt: bucket.DeleteAt,
+ DeleteReason: bucket.DeleteReason,
+ Operator: bucket.Operator.String(),
+ CreateTxHash: bucket.CreateTxHash.String(),
+ UpdateTxHash: bucket.UpdateTxHash.String(),
+ UpdateAt: bucket.UpdateAt,
+ UpdateTime: bucket.UpdateTime,
+ OffChainStatus: int32(bucket.OffChainStatus),
}
}
diff --git a/modular/metadata/metadata_payment_service_test.go b/modular/metadata/metadata_payment_service_test.go
index b65974961..c788d077b 100644
--- a/modular/metadata/metadata_payment_service_test.go
+++ b/modular/metadata/metadata_payment_service_test.go
@@ -139,6 +139,7 @@ func TestMetadataModular_GfSpListPaymentAccountStreams_Success(t *testing.T) {
UpdateAt: 0,
UpdateTxHash: common.HexToHash("0x0F508E101FF83B79DF357212029B05D1FCC585B50D479FB7E68D6E1A68E8BDD4"),
UpdateTime: 0,
+ OffChainStatus: 1,
},
}, nil
},
diff --git a/modular/metadata/types/metadata.pb.go b/modular/metadata/types/metadata.pb.go
index 1c2ffa80a..24996c8f2 100644
--- a/modular/metadata/types/metadata.pb.go
+++ b/modular/metadata/types/metadata.pb.go
@@ -61,6 +61,8 @@ type Bucket struct {
UpdateTime int64 `protobuf:"varint,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
// storage_size defines the size of bucket
StorageSize string `protobuf:"bytes,10,opt,name=storage_size,json=storageSize,proto3" json:"storage_size,omitempty"`
+ // off_chain_status defines the status of a bucket in the off-chain storage
+ OffChainStatus int32 `protobuf:"varint,11,opt,name=off_chain_status,json=offChainStatus,proto3" json:"off_chain_status,omitempty"`
}
func (m *Bucket) Reset() { *m = Bucket{} }
@@ -166,6 +168,13 @@ func (m *Bucket) GetStorageSize() string {
return ""
}
+func (m *Bucket) GetOffChainStatus() int32 {
+ if m != nil {
+ return m.OffChainStatus
+ }
+ return 0
+}
+
// Object is the structure for user object
type Object struct {
// object_info defines the information of the object.
@@ -381,6 +390,8 @@ type VGFInfoBucket struct {
Vgf *types1.GlobalVirtualGroupFamily `protobuf:"bytes,10,opt,name=vgf,proto3" json:"vgf,omitempty"`
// storage_size defines the size of bucket
StorageSize string `protobuf:"bytes,11,opt,name=storage_size,json=storageSize,proto3" json:"storage_size,omitempty"`
+ // off_chain_status defines the status of a bucket in the off-chain storage
+ OffChainStatus int32 `protobuf:"varint,12,opt,name=off_chain_status,json=offChainStatus,proto3" json:"off_chain_status,omitempty"`
}
func (m *VGFInfoBucket) Reset() { *m = VGFInfoBucket{} }
@@ -493,6 +504,13 @@ func (m *VGFInfoBucket) GetStorageSize() string {
return ""
}
+func (m *VGFInfoBucket) GetOffChainStatus() int32 {
+ if m != nil {
+ return m.OffChainStatus
+ }
+ return 0
+}
+
// PaymentAccount is the structure for user payment account info
type PaymentAccount struct {
// address defines the address of payment account
@@ -7742,384 +7760,386 @@ func init() {
}
var fileDescriptor_7cdcff708e247f22 = []byte{
- // 6031 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3d, 0x5b, 0x8c, 0x1d, 0x47,
- 0x56, 0xd3, 0x73, 0xe7, 0x59, 0xf3, 0x74, 0xf9, 0x35, 0xbe, 0x8e, 0xc7, 0x76, 0xdb, 0x8e, 0xc7,
- 0x71, 0x3c, 0x13, 0xdb, 0x89, 0x63, 0x3b, 0xb6, 0xe3, 0x79, 0x79, 0x32, 0xca, 0x3a, 0xf6, 0xf6,
- 0xb5, 0xbd, 0xbb, 0x59, 0x42, 0x6f, 0xdf, 0xee, 0xba, 0x77, 0x9a, 0xb9, 0xb7, 0xbb, 0xd3, 0xd5,
- 0x77, 0x3c, 0xd7, 0x62, 0x05, 0xe2, 0x25, 0x2d, 0x20, 0xde, 0x20, 0xb4, 0xc0, 0x4a, 0x8b, 0x10,
- 0x48, 0x68, 0x41, 0x08, 0x56, 0x7c, 0x00, 0x0b, 0x48, 0xfc, 0x44, 0x02, 0xa4, 0x68, 0x3f, 0x00,
- 0xad, 0x50, 0xb4, 0x4a, 0x3e, 0x10, 0x3f, 0xfc, 0xf0, 0xcb, 0x07, 0xea, 0x3a, 0xd5, 0xdd, 0xd5,
- 0xef, 0x3b, 0x77, 0x66, 0x11, 0x1f, 0xfb, 0x13, 0xdf, 0xae, 0x3a, 0xe7, 0x54, 0xd5, 0xa9, 0x73,
- 0x4e, 0x55, 0x9d, 0xc7, 0x04, 0x5d, 0x68, 0xdb, 0x46, 0xa7, 0xa5, 0xb9, 0x4b, 0x6d, 0xe2, 0x69,
- 0x86, 0xe6, 0x69, 0x4b, 0x5e, 0xd7, 0x21, 0x34, 0xfc, 0x5c, 0x74, 0x5c, 0xdb, 0xb3, 0xf1, 0x31,
- 0x0e, 0xb6, 0x18, 0xb6, 0x33, 0xb0, 0xea, 0xd9, 0xba, 0x46, 0x09, 0x47, 0x69, 0x36, 0xa8, 0x43,
- 0x5c, 0xd7, 0x76, 0xe9, 0x12, 0xfb, 0x07, 0x50, 0xab, 0xf3, 0x09, 0x10, 0x4f, 0xa3, 0xdb, 0x4b,
- 0xfe, 0x7f, 0x78, 0xff, 0x09, 0xdd, 0xa6, 0x6d, 0x9b, 0xaa, 0xec, 0x6b, 0x09, 0x3e, 0x78, 0xd7,
- 0x91, 0xa6, 0xdd, 0xb4, 0xa1, 0xdd, 0xff, 0xc5, 0x5b, 0x5f, 0x6e, 0xba, 0x84, 0x58, 0x0d, 0x93,
- 0xb4, 0x8c, 0x25, 0x47, 0xeb, 0xb6, 0x89, 0xe5, 0x2d, 0x51, 0xcf, 0x25, 0x5a, 0x5b, 0x75, 0x89,
- 0x6e, 0xbb, 0x06, 0x87, 0x93, 0x45, 0x38, 0xe2, 0xb6, 0x4d, 0x4a, 0x4d, 0xdb, 0x5a, 0xd2, 0xed,
- 0x76, 0xdb, 0xb6, 0x38, 0xcc, 0x69, 0x01, 0xc6, 0x25, 0xd4, 0xee, 0xb8, 0x3a, 0x9f, 0x6b, 0x30,
- 0x3b, 0x01, 0x80, 0x3a, 0xb1, 0x2e, 0x11, 0x97, 0x7a, 0xb6, 0xab, 0x35, 0xc9, 0x12, 0xd9, 0x21,
- 0x96, 0x17, 0x00, 0xcc, 0x67, 0x00, 0x7c, 0xd8, 0x21, 0x6e, 0xb7, 0xa0, 0x5f, 0x1c, 0xe0, 0xbc,
- 0xd0, 0xbf, 0x63, 0xba, 0x5e, 0x47, 0x6b, 0x35, 0x5d, 0xbb, 0xe3, 0xc4, 0x47, 0x39, 0x97, 0x07,
- 0x25, 0x92, 0x3a, 0xee, 0xd3, 0x0f, 0x76, 0x81, 0xfd, 0x86, 0x0e, 0xf9, 0xbf, 0x06, 0xd1, 0xc8,
- 0x4a, 0x47, 0xdf, 0x26, 0x1e, 0x7e, 0x1b, 0x4d, 0xd4, 0xd9, 0x2f, 0xd5, 0xb4, 0x1a, 0xf6, 0x9c,
- 0x74, 0x46, 0x5a, 0x98, 0xb8, 0x36, 0xbf, 0x18, 0x91, 0x5f, 0xe4, 0x93, 0x5c, 0x04, 0x84, 0x4d,
- 0xab, 0x61, 0x2b, 0xa8, 0x1e, 0xfe, 0xc6, 0x73, 0x68, 0xd4, 0x25, 0x6d, 0x7b, 0x87, 0x18, 0x73,
- 0x83, 0x67, 0xa4, 0x85, 0x31, 0x25, 0xf8, 0xc4, 0x27, 0xd1, 0xb8, 0x41, 0x5a, 0xc4, 0x23, 0xaa,
- 0xe6, 0xcd, 0x55, 0xce, 0x48, 0x0b, 0x15, 0x65, 0x0c, 0x1a, 0x96, 0x3d, 0x7c, 0x0e, 0x4d, 0xf1,
- 0x4e, 0x97, 0x68, 0xd4, 0xb6, 0xe6, 0x86, 0xce, 0x48, 0x0b, 0xe3, 0xca, 0x24, 0x34, 0x2a, 0xac,
- 0x0d, 0x57, 0xd1, 0x98, 0xed, 0x10, 0x57, 0xf3, 0x6c, 0x77, 0x6e, 0x98, 0xf5, 0x87, 0xdf, 0xf8,
- 0x3c, 0x9a, 0xd6, 0x5d, 0xa2, 0x79, 0x44, 0xf5, 0x76, 0xd5, 0x2d, 0x8d, 0x6e, 0xcd, 0x8d, 0x00,
- 0x05, 0x68, 0x7d, 0xb2, 0xfb, 0x8e, 0x46, 0xb7, 0x7c, 0xa8, 0x8e, 0x63, 0x88, 0x50, 0xa3, 0x00,
- 0x05, 0xad, 0x1c, 0xea, 0x24, 0x1a, 0xe7, 0x50, 0x9a, 0x37, 0x37, 0x06, 0x33, 0x85, 0x86, 0x65,
- 0x0f, 0x9f, 0x46, 0x13, 0x01, 0x09, 0xb3, 0x4d, 0xe6, 0xc6, 0x59, 0x37, 0xe2, 0xf8, 0x66, 0x9b,
- 0xe0, 0xb3, 0x68, 0x92, 0xf3, 0x48, 0xa5, 0xe6, 0x0b, 0x32, 0x87, 0xd8, 0x08, 0x13, 0xbc, 0xad,
- 0x66, 0xbe, 0x20, 0xf2, 0x7f, 0x0f, 0xa2, 0x91, 0x47, 0xf5, 0x1f, 0x23, 0x3a, 0x63, 0xb8, 0xcd,
- 0x7e, 0x95, 0x32, 0x1c, 0x10, 0x80, 0xe1, 0x76, 0xf8, 0x1b, 0x5f, 0x40, 0xd3, 0x2d, 0x5b, 0xdf,
- 0x26, 0x86, 0x5a, 0xd7, 0x5a, 0x9a, 0xa5, 0x13, 0xc6, 0xf7, 0x71, 0x65, 0x0a, 0x5a, 0x57, 0xa0,
- 0x51, 0xdc, 0x97, 0x4a, 0x6a, 0x5f, 0xa2, 0xd5, 0x0e, 0x25, 0x56, 0x1b, 0xdb, 0xb4, 0xe1, 0xb2,
- 0x4d, 0x1b, 0x29, 0xd9, 0xb4, 0xd1, 0xd2, 0x4d, 0x1b, 0xeb, 0x69, 0xd3, 0xc6, 0x33, 0x36, 0xed,
- 0x0c, 0x9a, 0xa4, 0x44, 0x6b, 0x85, 0x30, 0xc0, 0x76, 0xe4, 0xb7, 0x01, 0x84, 0xfc, 0xb7, 0x12,
- 0x9a, 0x02, 0x26, 0xae, 0x11, 0x4f, 0x33, 0x5b, 0x14, 0xdf, 0x40, 0x23, 0xc0, 0xc9, 0x90, 0xef,
- 0xd9, 0x26, 0x8e, 0xf3, 0x5e, 0xe1, 0xd0, 0x3e, 0x1e, 0x88, 0x3c, 0xe3, 0x75, 0x01, 0x1e, 0x28,
- 0x89, 0xc2, 0xa1, 0xf1, 0x5d, 0x54, 0x69, 0xee, 0x34, 0xd9, 0x06, 0x4c, 0x5c, 0xbb, 0x2c, 0x6e,
- 0xb2, 0xa8, 0xb4, 0x8b, 0x1b, 0x2d, 0xbb, 0xae, 0xb5, 0x9e, 0x41, 0xd3, 0x86, 0xdf, 0xa4, 0xf8,
- 0x78, 0xf2, 0x5f, 0x55, 0xd0, 0xd4, 0xb3, 0x8d, 0x07, 0xfe, 0xb6, 0xff, 0x50, 0x5d, 0x0f, 0x4a,
- 0x5d, 0x57, 0x51, 0x65, 0xa7, 0xd9, 0x60, 0xe2, 0x32, 0x71, 0xed, 0xea, 0x1e, 0xf6, 0xe4, 0x81,
- 0xd6, 0x36, 0x5b, 0x5d, 0xc5, 0xc7, 0x4e, 0xe9, 0xfc, 0x44, 0x5a, 0xe7, 0xbf, 0x21, 0xa1, 0xe9,
- 0xc7, 0x70, 0x52, 0x2d, 0xeb, 0xba, 0xdd, 0xb1, 0x3c, 0x9f, 0xf9, 0x9a, 0x61, 0xb8, 0x84, 0x52,
- 0xb6, 0x73, 0xe3, 0x4a, 0xf0, 0x89, 0x8f, 0xa0, 0x61, 0xfb, 0xb9, 0x45, 0x5c, 0xae, 0xcb, 0xf0,
- 0x81, 0xe7, 0x11, 0x72, 0x49, 0xa3, 0x63, 0x19, 0x5a, 0xbd, 0x45, 0xb8, 0x1a, 0x0b, 0x2d, 0xc5,
- 0x9a, 0x9c, 0x60, 0xc4, 0x70, 0x92, 0x11, 0xf2, 0xb7, 0x24, 0x84, 0xe3, 0x13, 0x7c, 0x48, 0x3c,
- 0x0d, 0x3f, 0x42, 0x33, 0xfc, 0x80, 0x55, 0x35, 0x68, 0xe6, 0x62, 0xf6, 0x72, 0x9e, 0xd0, 0xc7,
- 0x89, 0x28, 0xd3, 0x4e, 0x7c, 0xd5, 0xeb, 0x68, 0x2a, 0x76, 0x52, 0x73, 0x1d, 0x3a, 0x23, 0xb2,
- 0x9e, 0xa3, 0x2c, 0xd6, 0x18, 0xa0, 0xc2, 0xe0, 0x94, 0x49, 0x2a, 0x7c, 0xc9, 0x3a, 0x3a, 0xb1,
- 0xd1, 0xa8, 0x39, 0x1b, 0xc4, 0x7b, 0x4a, 0x89, 0x0b, 0xe2, 0x4d, 0x15, 0xf2, 0x61, 0x87, 0x50,
- 0x0f, 0x9f, 0x42, 0x88, 0x4f, 0x56, 0x35, 0x0d, 0xce, 0xdc, 0x71, 0xde, 0xb2, 0x69, 0xe0, 0x8b,
- 0x68, 0xc6, 0xb4, 0xf4, 0x56, 0xc7, 0xf0, 0xe5, 0x57, 0x94, 0xfe, 0x69, 0xde, 0xac, 0x40, 0xab,
- 0xfc, 0x01, 0xaa, 0x66, 0x0d, 0x42, 0x1d, 0xdb, 0xa2, 0x04, 0xbf, 0x8d, 0x46, 0x41, 0x95, 0xfc,
- 0xfd, 0xab, 0x2c, 0x4c, 0x5c, 0xbb, 0x90, 0xc7, 0x92, 0x98, 0xd6, 0x2a, 0x01, 0x96, 0xfc, 0xa7,
- 0x83, 0x48, 0xf6, 0xe9, 0x7f, 0xce, 0xa4, 0x1e, 0x98, 0x18, 0xba, 0xd2, 0x05, 0xa0, 0xf7, 0xb4,
- 0x36, 0x09, 0x56, 0x73, 0x3a, 0xd4, 0x72, 0x4b, 0x6b, 0x13, 0xbe, 0x1c, 0xae, 0xc5, 0x3e, 0x5c,
- 0x62, 0xb9, 0x83, 0xc9, 0xe5, 0x9e, 0x40, 0x63, 0x6d, 0x6d, 0x57, 0xdd, 0x26, 0x5d, 0xca, 0xa4,
- 0x66, 0x48, 0x19, 0x6d, 0x6b, 0xbb, 0xef, 0x92, 0x2e, 0xf5, 0x49, 0x53, 0x4f, 0x73, 0x3d, 0x55,
- 0x6b, 0x78, 0xc4, 0xe5, 0x6a, 0x8c, 0x58, 0xd3, 0xb2, 0xdf, 0x82, 0xaf, 0x20, 0xac, 0xdb, 0x96,
- 0x67, 0x5a, 0x1d, 0xcd, 0x33, 0x6d, 0x4b, 0xf5, 0xec, 0x6d, 0x62, 0x71, 0x75, 0x3e, 0x24, 0xf6,
- 0x3c, 0xf1, 0x3b, 0xf0, 0x4b, 0xcc, 0x6a, 0x98, 0x6d, 0xd3, 0xa7, 0x06, 0x2a, 0x1d, 0x35, 0xe0,
- 0x63, 0x68, 0xc4, 0x71, 0x49, 0xc3, 0xdc, 0xe5, 0x7a, 0xcc, 0xbf, 0xb2, 0xf6, 0x63, 0x2c, 0x73,
- 0x3f, 0x7e, 0xa3, 0x82, 0xce, 0x15, 0x32, 0x8c, 0xef, 0xcc, 0x4d, 0x34, 0x0a, 0xa6, 0x3a, 0xd8,
- 0x99, 0x32, 0xcb, 0x1e, 0x80, 0xfb, 0x3a, 0xb4, 0x4d, 0xba, 0x2a, 0x08, 0xfa, 0x20, 0x63, 0xd6,
- 0xd8, 0x36, 0xe9, 0xae, 0x32, 0xd1, 0x2d, 0x60, 0xe4, 0x59, 0x34, 0x69, 0x52, 0xd5, 0x73, 0x3b,
- 0x96, 0xae, 0x79, 0xc4, 0x60, 0x9c, 0x1c, 0x53, 0x26, 0x4c, 0xfa, 0x24, 0x68, 0xc2, 0x37, 0xd0,
- 0x71, 0x8b, 0xec, 0x7a, 0x6a, 0x2e, 0x3f, 0x8f, 0xfa, 0xdd, 0xab, 0x29, 0x9e, 0x62, 0x34, 0xc4,
- 0xf6, 0x1d, 0xd8, 0xc9, 0x7e, 0xe7, 0x72, 0x32, 0xc6, 0xff, 0xb1, 0x24, 0xff, 0x2f, 0xa2, 0x19,
- 0xb8, 0xf9, 0xaa, 0x00, 0x4e, 0xe8, 0xdc, 0xf8, 0x99, 0xca, 0xc2, 0xb8, 0x32, 0x0d, 0xcd, 0x8f,
- 0x79, 0x6b, 0xce, 0xae, 0xa3, 0x9c, 0x5d, 0x97, 0x5b, 0xe8, 0x0c, 0x57, 0x13, 0xd8, 0x8b, 0xbe,
- 0x84, 0x58, 0x10, 0x02, 0xc7, 0x35, 0x77, 0x34, 0x8f, 0x24, 0x94, 0xf2, 0x31, 0xb4, 0xca, 0x5f,
- 0x46, 0x67, 0x0b, 0x46, 0xe3, 0x12, 0x10, 0x1d, 0xd1, 0xd2, 0x5e, 0x8e, 0x68, 0xb9, 0x81, 0xe6,
- 0x33, 0x89, 0x6f, 0xae, 0x05, 0x0b, 0x39, 0x89, 0xc6, 0x83, 0x33, 0x17, 0x4c, 0x4b, 0x45, 0x19,
- 0xe3, 0x27, 0xaa, 0xd1, 0xfb, 0x22, 0xbe, 0x84, 0x4e, 0xe7, 0x8e, 0xb3, 0xcf, 0x25, 0xfc, 0xb9,
- 0x84, 0x96, 0x02, 0x25, 0x59, 0x63, 0x07, 0xb2, 0x11, 0xe9, 0x8a, 0x7f, 0x2b, 0x7c, 0xaf, 0xd3,
- 0xae, 0x13, 0x57, 0xd1, 0xac, 0x66, 0xb8, 0x3b, 0xaf, 0x22, 0x0c, 0x76, 0xa0, 0xee, 0x03, 0xa8,
- 0x16, 0x83, 0xe0, 0xab, 0x9b, 0x65, 0x3d, 0x02, 0x26, 0x5e, 0x40, 0xb3, 0xc4, 0x32, 0xe2, 0xb0,
- 0x83, 0x0c, 0x76, 0x9a, 0x58, 0x86, 0x08, 0x99, 0xc1, 0x8f, 0x4a, 0x26, 0x3f, 0x7e, 0x4b, 0x42,
- 0xaf, 0xf5, 0x3e, 0xe9, 0x7d, 0xab, 0x79, 0xcf, 0x2b, 0x90, 0xb7, 0x42, 0x81, 0x10, 0x8e, 0x00,
- 0x66, 0x0e, 0x0e, 0xfa, 0xb0, 0x79, 0x33, 0x14, 0x89, 0xf4, 0x48, 0x7c, 0xc1, 0x47, 0xd0, 0x70,
- 0x74, 0x04, 0x57, 0x14, 0xf8, 0x90, 0x5f, 0x80, 0x42, 0xf8, 0xac, 0x5b, 0xdf, 0x75, 0x4c, 0x97,
- 0x18, 0x1c, 0x79, 0xa5, 0x5b, 0x73, 0x04, 0xb1, 0xe5, 0x37, 0x2e, 0x2d, 0x40, 0x1f, 0x83, 0x86,
- 0x65, 0x0f, 0xcb, 0x68, 0xca, 0x71, 0xcd, 0xb6, 0xe6, 0x76, 0x55, 0xea, 0x04, 0x67, 0xc8, 0x94,
- 0x32, 0xc1, 0x1b, 0x6b, 0xce, 0xa6, 0xe1, 0x8f, 0xcd, 0xec, 0x08, 0xbf, 0x0c, 0xc2, 0x87, 0xfc,
- 0xa3, 0xd1, 0x09, 0x96, 0x35, 0x76, 0xb4, 0x51, 0xf1, 0x93, 0xb2, 0x4c, 0x96, 0xc3, 0x23, 0xf2,
- 0x67, 0x25, 0x34, 0xc7, 0xb9, 0x02, 0x7b, 0xe8, 0x5f, 0x4a, 0x04, 0x9b, 0xc2, 0x1f, 0x4f, 0xa2,
- 0x4d, 0x81, 0x26, 0x66, 0x53, 0x12, 0x46, 0x67, 0xb0, 0x17, 0xa3, 0x93, 0x2d, 0x9f, 0xb5, 0xf0,
- 0xba, 0x21, 0x4e, 0x23, 0xd2, 0xd4, 0x7e, 0xde, 0x11, 0x72, 0x3b, 0xb4, 0x64, 0xfc, 0xce, 0xf4,
- 0x83, 0x35, 0x9c, 0xdb, 0xb0, 0x57, 0x79, 0xc3, 0xf1, 0xc5, 0xa4, 0xee, 0x67, 0x52, 0x5f, 0xf7,
- 0xb3, 0x66, 0x28, 0xcd, 0x89, 0xc1, 0x0e, 0xda, 0x92, 0x9a, 0xe1, 0xe1, 0x93, 0x31, 0xd0, 0xc1,
- 0xae, 0xc9, 0x08, 0x65, 0x11, 0x46, 0x48, 0xc8, 0xe2, 0x01, 0x6d, 0xd3, 0x37, 0xa5, 0x50, 0xd6,
- 0xc4, 0x61, 0xf8, 0x52, 0xee, 0x26, 0x4e, 0x85, 0x1e, 0xef, 0x9c, 0xc1, 0x13, 0xf4, 0x80, 0x6e,
- 0xdf, 0xd7, 0xd1, 0x4b, 0x7c, 0x8a, 0xeb, 0x96, 0xe1, 0xd8, 0xa6, 0xcf, 0xf5, 0x9a, 0x13, 0x6d,
- 0xed, 0x61, 0x34, 0x0c, 0x86, 0x44, 0x62, 0x86, 0x64, 0x88, 0x3a, 0x9b, 0x86, 0xfc, 0x16, 0x3a,
- 0x95, 0x83, 0xc4, 0xd7, 0x56, 0x45, 0x63, 0x84, 0xf7, 0x70, 0x06, 0x86, 0xdf, 0xf2, 0x4f, 0x84,
- 0xc8, 0x7c, 0x45, 0x44, 0x33, 0x3e, 0xdf, 0xb1, 0xa3, 0x0d, 0xd8, 0xf7, 0x5b, 0xf8, 0x14, 0x42,
- 0x5d, 0xa2, 0xb9, 0x6a, 0xdb, 0xb6, 0xbc, 0xad, 0xe0, 0x16, 0xed, 0xb7, 0x3c, 0xf4, 0x1b, 0xe4,
- 0xff, 0xa8, 0x24, 0xae, 0x06, 0xc2, 0x0c, 0xf8, 0xfc, 0xaf, 0xa1, 0x0a, 0x71, 0xdd, 0x50, 0xb8,
- 0xea, 0x1a, 0x25, 0x7c, 0x33, 0x22, 0xbf, 0xe8, 0xa2, 0x4f, 0x63, 0xdd, 0xff, 0xa9, 0xf8, 0xc0,
- 0xfe, 0xc9, 0xab, 0x6f, 0x69, 0x6e, 0x93, 0x18, 0xea, 0x87, 0x3e, 0x31, 0x78, 0x40, 0xc2, 0xcd,
- 0x73, 0x96, 0xf7, 0xb0, 0x51, 0xfc, 0x57, 0x24, 0xbe, 0x8c, 0x30, 0x75, 0xd4, 0x86, 0x4b, 0x88,
- 0x08, 0x0d, 0x77, 0xd1, 0x19, 0xea, 0x3c, 0x70, 0x09, 0x89, 0x80, 0xcf, 0xa1, 0x29, 0xdd, 0xb6,
- 0x68, 0xa7, 0x4d, 0x0c, 0x80, 0x1b, 0x62, 0x70, 0x93, 0x41, 0x23, 0x03, 0x7a, 0x03, 0x1d, 0x17,
- 0xc8, 0xf1, 0x2e, 0x00, 0x1f, 0x66, 0xe0, 0x47, 0x1a, 0x01, 0xd1, 0x55, 0xe8, 0x64, 0x68, 0xb7,
- 0x51, 0x95, 0x3a, 0xc0, 0xaa, 0x56, 0x37, 0x35, 0xa1, 0x11, 0x86, 0x79, 0x8c, 0x3a, 0x0f, 0x01,
- 0x20, 0x3e, 0xaf, 0x35, 0x74, 0x3a, 0x03, 0x31, 0x36, 0xf4, 0x28, 0x23, 0x70, 0xb2, 0x9d, 0x40,
- 0x17, 0x67, 0xf0, 0x2a, 0xc2, 0x9e, 0xed, 0x69, 0xad, 0x38, 0xe2, 0x18, 0x30, 0x8e, 0xf5, 0x88,
- 0xd0, 0xaf, 0xa0, 0x43, 0x2e, 0x69, 0x6b, 0xa6, 0x25, 0x4e, 0x73, 0x1c, 0xf8, 0x06, 0x1d, 0xe1,
- 0xfc, 0xe4, 0xd5, 0xd0, 0x4e, 0x26, 0x36, 0x3a, 0x79, 0xec, 0x0b, 0xe2, 0x22, 0x25, 0xc5, 0xc5,
- 0x86, 0x97, 0x4a, 0x2e, 0x91, 0x7d, 0x88, 0x4c, 0x78, 0x0b, 0x18, 0x14, 0x6f, 0x01, 0x6d, 0x10,
- 0x4f, 0xff, 0x24, 0xce, 0xd1, 0x90, 0xe2, 0x19, 0xfb, 0x6f, 0x0a, 0xbb, 0xd1, 0xa0, 0xdc, 0xab,
- 0x35, 0xa5, 0xf0, 0xaf, 0xf8, 0xc1, 0x3f, 0x15, 0x1c, 0xfc, 0xbf, 0x54, 0x41, 0x47, 0x53, 0xe3,
- 0xf8, 0xb6, 0xa1, 0xdc, 0x12, 0xc6, 0xec, 0x3e, 0x7f, 0x63, 0x85, 0x76, 0xff, 0x87, 0x12, 0xde,
- 0x9f, 0x84, 0xcb, 0xbf, 0x2b, 0xc1, 0x89, 0x9b, 0x29, 0x00, 0xfb, 0x90, 0xb6, 0x75, 0x34, 0xe2,
- 0x12, 0xda, 0x69, 0xf9, 0x62, 0xe1, 0x5f, 0xdd, 0xae, 0x94, 0x5c, 0xdd, 0xe2, 0xd2, 0xa0, 0x70,
- 0x64, 0x79, 0x25, 0xd4, 0x87, 0xcf, 0x69, 0x1e, 0xc9, 0x95, 0xd1, 0xd4, 0x9d, 0x40, 0x90, 0x0d,
- 0xf9, 0xeb, 0x12, 0x3a, 0x5f, 0x4c, 0x64, 0x1f, 0xeb, 0xbc, 0x87, 0x86, 0xd9, 0x36, 0xf1, 0x13,
- 0x71, 0x21, 0x89, 0xc5, 0xc2, 0x55, 0x3e, 0x0e, 0x0c, 0xca, 0x06, 0x64, 0x67, 0x08, 0xa0, 0xc9,
- 0xdf, 0xcf, 0xe4, 0x3f, 0xe7, 0xc2, 0x41, 0x9d, 0x51, 0xe1, 0x3b, 0xcd, 0x33, 0xdb, 0x84, 0x7a,
- 0x5a, 0xdb, 0x51, 0x3b, 0x94, 0xdb, 0x01, 0x78, 0xa7, 0x3d, 0x09, 0x3a, 0x9e, 0x86, 0xaf, 0x9c,
- 0x18, 0x6c, 0x25, 0x7c, 0xe5, 0x88, 0x90, 0xe7, 0xd1, 0x74, 0x5b, 0xdb, 0xe5, 0x77, 0x02, 0xff,
- 0x41, 0xc4, 0xfd, 0x87, 0x93, 0x6d, 0x6d, 0x17, 0x96, 0xf0, 0x5e, 0xa7, 0x2d, 0xff, 0x85, 0x84,
- 0x50, 0xb4, 0xa8, 0xf2, 0xeb, 0xf7, 0x49, 0x34, 0x1e, 0x04, 0x37, 0x42, 0x45, 0xe7, 0xa1, 0x0b,
- 0x76, 0xc1, 0x0b, 0x9e, 0x4d, 0x81, 0x17, 0xb4, 0xc2, 0x28, 0x4c, 0xf3, 0xe6, 0x65, 0xee, 0x0c,
- 0x3d, 0x8b, 0x26, 0x63, 0x2b, 0x80, 0x99, 0x4d, 0x78, 0xc2, 0xf4, 0x4f, 0xa2, 0x71, 0x97, 0x68,
- 0x86, 0xa8, 0xd4, 0x63, 0x7e, 0x03, 0x53, 0x8c, 0xef, 0x49, 0x70, 0x43, 0xcc, 0xde, 0x98, 0x7d,
- 0x48, 0xcc, 0xbb, 0x68, 0x92, 0x8d, 0x0a, 0x5c, 0xa3, 0x5c, 0x3f, 0xe4, 0x3c, 0xfd, 0x88, 0x46,
- 0x5d, 0x19, 0xfa, 0xe8, 0x93, 0xd3, 0x92, 0x32, 0xe1, 0x86, 0x2d, 0xd4, 0xb7, 0x52, 0xcc, 0x3b,
- 0x94, 0xb1, 0xbd, 0xb0, 0x65, 0x47, 0xfc, 0xee, 0x5a, 0x62, 0x8b, 0xe5, 0xbb, 0x60, 0xf5, 0x3f,
- 0xdf, 0x21, 0x6e, 0xf7, 0xa9, 0xd3, 0xb2, 0x35, 0xe3, 0xb1, 0x6b, 0x37, 0x7d, 0xbe, 0x09, 0x1a,
- 0x15, 0x6d, 0x82, 0x14, 0xdf, 0x04, 0xf9, 0x5b, 0x5c, 0x68, 0x33, 0xf1, 0xf7, 0x75, 0xab, 0x19,
- 0xa6, 0x5e, 0x70, 0xc5, 0x9d, 0xbe, 0x76, 0x6c, 0x11, 0xe2, 0x8d, 0x80, 0xf6, 0x44, 0xa3, 0xdb,
- 0x35, 0xbf, 0x57, 0x01, 0x20, 0x5f, 0x14, 0x88, 0xeb, 0xaa, 0x06, 0xa1, 0xba, 0x6b, 0x3a, 0x9e,
- 0x69, 0x5b, 0x81, 0x28, 0x10, 0xd7, 0x5d, 0x8b, 0x5a, 0xe5, 0x75, 0xf4, 0x72, 0x38, 0x5b, 0x85,
- 0xd0, 0x4e, 0x5b, 0xab, 0xb7, 0x08, 0x4c, 0xbb, 0x46, 0x9a, 0xfe, 0xa5, 0xb5, 0xa7, 0x55, 0xff,
- 0x94, 0x84, 0x2e, 0x96, 0xd2, 0xd9, 0xc7, 0xea, 0xcf, 0xa1, 0x29, 0x0a, 0x64, 0x04, 0x47, 0xe2,
- 0x94, 0x32, 0xc9, 0x1b, 0xd9, 0x0d, 0x40, 0xfe, 0xfa, 0x20, 0x1a, 0x66, 0x81, 0x04, 0x7c, 0x1d,
- 0x0d, 0xb3, 0x20, 0x03, 0x1f, 0xe4, 0x54, 0x96, 0x3d, 0x60, 0x90, 0x60, 0x6e, 0x18, 0x6c, 0x2c,
- 0xba, 0x32, 0x98, 0x88, 0xae, 0xc4, 0xde, 0xfa, 0x95, 0xc4, 0x5b, 0xff, 0x34, 0x9a, 0x08, 0x42,
- 0x2f, 0x66, 0x9b, 0x70, 0x6d, 0x42, 0x3c, 0xee, 0x62, 0xb6, 0x13, 0x61, 0x84, 0xe1, 0xe2, 0x30,
- 0xc2, 0x48, 0x2a, 0x9e, 0xf2, 0x0a, 0x3a, 0x04, 0xfe, 0x14, 0xd5, 0x6e, 0xa8, 0x6d, 0xe2, 0xff,
- 0xa2, 0xec, 0xb0, 0xab, 0x28, 0x33, 0xd0, 0xf1, 0xa8, 0xf1, 0x10, 0x9a, 0xc5, 0xe8, 0xd3, 0x58,
- 0x2c, 0xfa, 0x24, 0xff, 0xcd, 0x20, 0x9a, 0x60, 0x4b, 0x06, 0xd0, 0xfe, 0x58, 0x54, 0xe2, 0x16,
- 0x17, 0x39, 0x58, 0x29, 0xe2, 0xe0, 0x50, 0x31, 0x07, 0x87, 0x8b, 0x39, 0x38, 0x52, 0xcc, 0xc1,
- 0xd1, 0x14, 0x07, 0x73, 0xb9, 0xc2, 0xf4, 0x64, 0xd7, 0x31, 0x5d, 0xee, 0x94, 0x8d, 0x02, 0x5a,
- 0xd3, 0x51, 0x33, 0x8b, 0xe5, 0x7c, 0x47, 0x42, 0xc7, 0xf9, 0x41, 0xc9, 0xb8, 0xe2, 0x9b, 0xbe,
- 0x40, 0x33, 0x02, 0x77, 0xb2, 0x94, 0xe9, 0x4e, 0x1e, 0x8c, 0xb9, 0x93, 0x4f, 0xa3, 0x09, 0xc8,
- 0x87, 0x50, 0x7d, 0x91, 0xe7, 0x5c, 0x42, 0xd0, 0xf4, 0xa4, 0xeb, 0x90, 0xe8, 0x6e, 0x38, 0x24,
- 0x38, 0x85, 0x84, 0x9b, 0x24, 0xf0, 0x26, 0xb8, 0x49, 0x66, 0xb8, 0xc2, 0x46, 0x32, 0x5d, 0x61,
- 0xcd, 0xf0, 0xa1, 0x2d, 0x4c, 0x9f, 0x2b, 0xe4, 0x1b, 0x68, 0x84, 0x6d, 0x6f, 0xe0, 0x4a, 0x3a,
- 0x95, 0x67, 0x6f, 0x21, 0x72, 0xca, 0x81, 0x73, 0x2e, 0xcd, 0x04, 0x9d, 0x8c, 0x1f, 0x0d, 0x74,
- 0xa5, 0xbb, 0xb9, 0x26, 0xc6, 0x91, 0xc2, 0xdb, 0x08, 0x8c, 0x37, 0xa4, 0x8c, 0x07, 0xd7, 0x11,
- 0xda, 0xbb, 0x6b, 0xef, 0x5f, 0x25, 0x78, 0x2f, 0xa7, 0xc7, 0xe1, 0x8b, 0xfa, 0x72, 0xd2, 0x41,
- 0xb6, 0x9c, 0xbb, 0xaa, 0x02, 0x32, 0xfc, 0xd6, 0x40, 0xd7, 0x2d, 0xcf, 0xed, 0x86, 0x3e, 0xb4,
- 0xea, 0xfb, 0x68, 0x52, 0xec, 0xc0, 0xb3, 0xa8, 0xb2, 0x4d, 0xba, 0xdc, 0x2a, 0xfa, 0x3f, 0xf1,
- 0xeb, 0x68, 0x78, 0x47, 0x6b, 0x75, 0x48, 0x8f, 0xf1, 0x6c, 0x00, 0xbe, 0x3d, 0x78, 0x53, 0x12,
- 0x19, 0x18, 0xfa, 0x6b, 0xe3, 0x0c, 0x0c, 0xcd, 0x70, 0xc8, 0xc0, 0xc0, 0x0e, 0xf7, 0xc9, 0xc0,
- 0xf8, 0x38, 0x11, 0x03, 0xe3, 0xae, 0xe0, 0x52, 0x06, 0x66, 0x91, 0xe1, 0x0e, 0xba, 0x80, 0x81,
- 0x9c, 0xa2, 0xcf, 0x40, 0xb1, 0x63, 0x1f, 0x0c, 0xe4, 0x0e, 0x40, 0x81, 0x81, 0x3f, 0x33, 0x08,
- 0x27, 0xf0, 0x33, 0xe2, 0x9a, 0x8d, 0xee, 0xe3, 0x30, 0x47, 0xc9, 0x9f, 0x57, 0xc0, 0xc5, 0xd7,
- 0x05, 0x4b, 0xc5, 0xd4, 0x76, 0x65, 0xee, 0xbb, 0xdf, 0xbe, 0x72, 0x84, 0xe7, 0x49, 0xf1, 0x7b,
- 0x52, 0xcd, 0x73, 0x4d, 0xab, 0x29, 0xd8, 0xb0, 0x07, 0x68, 0x2a, 0x48, 0x67, 0x02, 0xf5, 0x85,
- 0xb3, 0xf8, 0xac, 0x68, 0x3b, 0x03, 0x80, 0x45, 0x85, 0x44, 0x5a, 0xad, 0x4c, 0xba, 0xc2, 0x97,
- 0x6f, 0x04, 0x42, 0x3a, 0xa6, 0xc1, 0x9f, 0x62, 0x28, 0x68, 0xda, 0x34, 0xf0, 0x0a, 0x9a, 0xd0,
- 0x74, 0x30, 0x49, 0xfe, 0x30, 0x43, 0xe9, 0x61, 0xa2, 0xd4, 0xab, 0xc5, 0x65, 0x06, 0xc9, 0x86,
- 0x41, 0x5a, 0xf8, 0x5b, 0xfe, 0x12, 0xdc, 0xd1, 0xb2, 0xb9, 0x10, 0x69, 0x3e, 0x69, 0x34, 0x02,
- 0x37, 0xeb, 0x74, 0xfc, 0x14, 0x10, 0x86, 0x58, 0x67, 0x40, 0x0a, 0x07, 0x96, 0xef, 0xa3, 0x4b,
- 0xc1, 0x9e, 0xa7, 0xe2, 0xf7, 0x26, 0xa1, 0x3d, 0x38, 0xae, 0x7e, 0x5f, 0x42, 0xaf, 0xf4, 0x42,
- 0x82, 0xcf, 0xd3, 0x43, 0xa7, 0x9a, 0x2c, 0x5d, 0x40, 0xe5, 0x29, 0x04, 0x2a, 0xb3, 0x41, 0x6a,
- 0x83, 0x83, 0x73, 0x09, 0xed, 0x23, 0xd9, 0xa0, 0xda, 0xcc, 0xee, 0x31, 0x09, 0x95, 0xef, 0xc3,
- 0x9d, 0xc6, 0xb7, 0x99, 0x29, 0xa0, 0x95, 0xee, 0xc6, 0x4e, 0x33, 0x5a, 0xe4, 0x51, 0x34, 0xd2,
- 0xdc, 0x69, 0x46, 0xab, 0x1c, 0x6e, 0xee, 0x34, 0x37, 0x0d, 0xf9, 0x6b, 0x12, 0x5a, 0x28, 0x27,
- 0xc1, 0x17, 0xf9, 0x01, 0x3a, 0x92, 0xb5, 0x48, 0x7e, 0x40, 0xef, 0x29, 0xb9, 0x05, 0xa7, 0x57,
- 0x25, 0xdf, 0x0a, 0xbd, 0xba, 0x19, 0x6c, 0x88, 0x96, 0xb1, 0xd3, 0x6c, 0x08, 0xcb, 0xd8, 0x69,
- 0x36, 0x36, 0x0d, 0x79, 0x2b, 0xf4, 0xaa, 0x67, 0xa1, 0xf2, 0xe9, 0xf3, 0xb4, 0x0f, 0x69, 0x3f,
- 0x69, 0x1f, 0xf2, 0xb3, 0x70, 0x92, 0x19, 0xab, 0xea, 0xe1, 0x41, 0xeb, 0xaf, 0xa0, 0x05, 0x1b,
- 0x31, 0xc8, 0x7d, 0x2b, 0x6c, 0x23, 0xea, 0xe1, 0x0a, 0xb2, 0xe8, 0x86, 0x8e, 0x60, 0x96, 0x4c,
- 0x24, 0xf5, 0x99, 0x4c, 0xb4, 0x9d, 0x32, 0xdc, 0x9b, 0xd6, 0xc6, 0xb3, 0x8d, 0x62, 0x11, 0x49,
- 0xe6, 0x0b, 0x70, 0x5b, 0x20, 0xe4, 0x0b, 0xc4, 0x2e, 0x04, 0xa1, 0xb3, 0x48, 0x4d, 0x59, 0x6f,
- 0x3e, 0x58, 0x94, 0x49, 0x11, 0xb7, 0xde, 0x17, 0x8a, 0x0d, 0x28, 0x4f, 0xe0, 0x0a, 0x2d, 0xb4,
- 0xfc, 0xab, 0xdc, 0x33, 0x90, 0x1c, 0x61, 0xd9, 0x32, 0x82, 0x27, 0x5f, 0xe1, 0xba, 0x0a, 0x5d,
- 0x52, 0x7d, 0x2e, 0x7a, 0x0b, 0x5d, 0x28, 0x99, 0xd2, 0x41, 0xad, 0xfe, 0xf7, 0xa4, 0xc8, 0xc4,
- 0x85, 0xc7, 0x9a, 0x38, 0xd4, 0x03, 0xdb, 0xdd, 0x58, 0x0d, 0x58, 0xf0, 0x12, 0x42, 0x06, 0xf5,
- 0xd4, 0x18, 0x1b, 0xc6, 0x0c, 0xea, 0x6d, 0xfc, 0xc0, 0x38, 0xd1, 0x8e, 0xcc, 0x67, 0xd1, 0xf4,
- 0x0e, 0x8a, 0x1d, 0x4f, 0xa2, 0x98, 0xe4, 0x43, 0xb3, 0xe9, 0x6a, 0x1e, 0x81, 0x61, 0xd6, 0x59,
- 0xca, 0x6c, 0xc0, 0x86, 0x13, 0x68, 0x0c, 0xc2, 0xbf, 0xa1, 0x5e, 0x8e, 0xb2, 0xef, 0x4d, 0x23,
- 0x3a, 0x04, 0x06, 0x85, 0x43, 0xe0, 0x5f, 0x06, 0xd1, 0xf1, 0x1c, 0x92, 0xf8, 0x1e, 0x1a, 0x66,
- 0xf9, 0xb8, 0x5c, 0x1b, 0x17, 0xb2, 0x9e, 0x27, 0x0c, 0x14, 0x90, 0xfd, 0x83, 0x8d, 0xdf, 0xa4,
- 0x18, 0x1a, 0xfe, 0x3c, 0x9a, 0xd4, 0x35, 0x4b, 0x27, 0x2d, 0x15, 0xc8, 0xc0, 0x2d, 0x62, 0x31,
- 0x97, 0xcc, 0x2a, 0x03, 0x4e, 0x12, 0x9b, 0x00, 0x1a, 0x0c, 0x02, 0x7f, 0x01, 0x4d, 0xeb, 0x76,
- 0xdb, 0x61, 0x49, 0x7a, 0x40, 0x14, 0xd2, 0x0e, 0x5f, 0xcb, 0x27, 0xca, 0xc1, 0x93, 0x64, 0xa7,
- 0x02, 0x3a, 0x40, 0xf8, 0x11, 0x9a, 0x74, 0x09, 0xbb, 0xd2, 0x01, 0xd9, 0x21, 0x46, 0xf6, 0xd5,
- 0x5c, 0xb2, 0x0a, 0x03, 0x8e, 0x71, 0x4d, 0x99, 0x00, 0x0a, 0xac, 0x5f, 0xb6, 0xa2, 0x9c, 0x9e,
- 0xcc, 0xed, 0xe2, 0x62, 0xb1, 0x81, 0x46, 0x20, 0xe7, 0x99, 0x4b, 0xc5, 0x52, 0x9e, 0x54, 0xe4,
- 0x11, 0xe2, 0xe8, 0x32, 0x41, 0xaf, 0x06, 0xe3, 0xe5, 0x2c, 0xb9, 0x67, 0x41, 0xa9, 0xa2, 0x71,
- 0xea, 0xea, 0xb1, 0x98, 0xf9, 0x28, 0x75, 0xf5, 0x9a, 0x2f, 0x2f, 0x3f, 0x2f, 0xa1, 0x2b, 0x3d,
- 0x8e, 0xc3, 0x57, 0xf8, 0x25, 0x96, 0x9e, 0x23, 0x6c, 0x59, 0xb0, 0xd4, 0xbd, 0xef, 0xd9, 0x74,
- 0x6c, 0xcf, 0xa8, 0xfc, 0x5e, 0x64, 0x80, 0x6b, 0xcf, 0x35, 0xe7, 0x51, 0x67, 0x9f, 0xca, 0xf0,
- 0x3f, 0x12, 0x3a, 0x94, 0x22, 0x86, 0xef, 0x0a, 0x5b, 0x04, 0xb1, 0xc9, 0xbc, 0x53, 0x89, 0x21,
- 0x70, 0xe4, 0x60, 0x63, 0xf0, 0x63, 0x34, 0x25, 0x6a, 0x01, 0xe5, 0x6a, 0x70, 0xb9, 0x98, 0x0a,
- 0xe8, 0x42, 0x40, 0x6b, 0x52, 0xd0, 0x01, 0x8a, 0x9f, 0xa5, 0x39, 0x0a, 0x5a, 0x70, 0xa5, 0x84,
- 0x26, 0x47, 0x0a, 0xa8, 0x26, 0xd9, 0x59, 0x87, 0x60, 0x64, 0x06, 0x3b, 0xf9, 0x56, 0x2e, 0x27,
- 0x84, 0xf5, 0x52, 0x91, 0xb0, 0xc6, 0x49, 0x04, 0x62, 0xfa, 0x20, 0xca, 0xe2, 0x49, 0x9f, 0xe1,
- 0xfe, 0x95, 0x93, 0xe8, 0xb6, 0x65, 0x68, 0x6e, 0xb7, 0xf6, 0xb8, 0xf0, 0xf2, 0xfa, 0x3c, 0x4a,
- 0xac, 0x29, 0xa7, 0x13, 0xde, 0x8e, 0xe2, 0x6f, 0xec, 0x3d, 0x5d, 0x2f, 0x38, 0xaa, 0xbc, 0x19,
- 0x59, 0xfd, 0xcc, 0x81, 0xe3, 0x07, 0x73, 0xa1, 0xe3, 0xdf, 0x45, 0x97, 0x7b, 0x22, 0x75, 0x90,
- 0xd3, 0x7f, 0x18, 0x5d, 0x90, 0x6a, 0xce, 0xfa, 0xae, 0xb9, 0x4f, 0x8d, 0xf9, 0x8e, 0x84, 0x66,
- 0x93, 0xb4, 0xf0, 0x46, 0xfc, 0xdc, 0xb8, 0x5a, 0xa2, 0x2f, 0xa0, 0xf9, 0x8f, 0x5d, 0x7b, 0xc7,
- 0x34, 0x88, 0xeb, 0xd3, 0x09, 0x0e, 0x90, 0xaf, 0xa4, 0xac, 0x3d, 0xe8, 0xce, 0xad, 0x1e, 0xe5,
- 0x3c, 0x83, 0x72, 0xdc, 0xec, 0xcb, 0x5f, 0x11, 0x2c, 0x48, 0x8c, 0x1d, 0x9c, 0xe7, 0xf7, 0x13,
- 0xba, 0xbf, 0x50, 0x28, 0xf1, 0x22, 0x85, 0x40, 0xe0, 0x97, 0xd1, 0x11, 0x7e, 0xeb, 0xad, 0x3d,
- 0x66, 0x6e, 0x3c, 0xce, 0xe9, 0x4b, 0x68, 0x36, 0x78, 0xd3, 0xaa, 0xf1, 0x7c, 0xe9, 0x99, 0xa0,
- 0x9d, 0x3f, 0x81, 0xe5, 0x3a, 0x3a, 0x9a, 0x20, 0xc1, 0x67, 0xb7, 0x89, 0x66, 0x83, 0x04, 0x6d,
- 0x87, 0x2f, 0x32, 0x33, 0xfa, 0xe2, 0x2c, 0x26, 0x58, 0xa1, 0xcc, 0xd0, 0x78, 0x83, 0x7c, 0x13,
- 0x2e, 0xe7, 0x8f, 0xc3, 0xd4, 0x28, 0x4b, 0xb7, 0xdb, 0x24, 0xb8, 0x84, 0x14, 0x69, 0xe2, 0x5f,
- 0x4b, 0x70, 0x31, 0xc9, 0x43, 0xe5, 0x73, 0xbd, 0x8c, 0x0e, 0xe9, 0x1d, 0xd7, 0x25, 0x96, 0x10,
- 0x06, 0x08, 0x52, 0xf1, 0x78, 0x47, 0x18, 0x01, 0xc0, 0x5b, 0xe8, 0x84, 0x98, 0xb9, 0xc5, 0x08,
- 0xaa, 0x06, 0x50, 0x2c, 0x0b, 0xd8, 0x65, 0xce, 0x43, 0x39, 0xe6, 0x64, 0x4e, 0x4f, 0xfe, 0x47,
- 0x09, 0x1d, 0xcd, 0xc4, 0xc8, 0x79, 0x87, 0x1d, 0x50, 0xaa, 0x09, 0x7e, 0x82, 0x46, 0x60, 0x59,
- 0xcc, 0x74, 0x4f, 0xae, 0xdc, 0xf9, 0xe8, 0x93, 0xd3, 0x03, 0xdf, 0xfb, 0xe4, 0xf4, 0xcb, 0x4d,
- 0xd3, 0xdb, 0xea, 0xd4, 0x17, 0x75, 0xbb, 0xcd, 0x2b, 0xc6, 0xf8, 0x3f, 0x57, 0xa8, 0xb1, 0xcd,
- 0x0b, 0x9f, 0x36, 0x2d, 0xef, 0xbb, 0xdf, 0xbe, 0x82, 0xb8, 0xa3, 0x64, 0xd3, 0xf2, 0x14, 0x4e,
- 0x4b, 0xbe, 0x0d, 0x97, 0x8e, 0xc8, 0xf8, 0xed, 0x61, 0x1f, 0xff, 0x81, 0x3f, 0x36, 0xf2, 0x91,
- 0xfb, 0xd9, 0x49, 0x0b, 0x9d, 0xa4, 0x01, 0xc1, 0xdc, 0xbd, 0xcc, 0xbd, 0xf4, 0xe4, 0xcc, 0x45,
- 0x99, 0xa3, 0x39, 0x93, 0x94, 0xff, 0x59, 0x42, 0xc7, 0x73, 0xb0, 0xf2, 0x5e, 0x49, 0xff, 0xaf,
- 0x77, 0xf4, 0x9f, 0x2a, 0x68, 0xa4, 0xe6, 0x69, 0x5e, 0x87, 0x62, 0x15, 0x1d, 0x4d, 0x6a, 0xbb,
- 0x18, 0x70, 0xbd, 0x9c, 0xcb, 0xc4, 0xb8, 0xaa, 0x33, 0x0b, 0x72, 0x98, 0xa6, 0x1b, 0x71, 0x0d,
- 0x1d, 0x02, 0xe3, 0x4f, 0xbb, 0x96, 0x1e, 0x10, 0x07, 0x66, 0x5c, 0xcc, 0xf5, 0x9d, 0xfa, 0x08,
- 0x35, 0x06, 0xcf, 0x08, 0xcf, 0xd4, 0xe3, 0x0d, 0xf8, 0x3e, 0x42, 0xfa, 0x96, 0x66, 0x5a, 0x40,
- 0x0d, 0xee, 0x29, 0x67, 0xf3, 0xa8, 0xad, 0xfa, 0x90, 0x8c, 0xce, 0xb8, 0x1e, 0xfc, 0xc4, 0x0f,
- 0xd0, 0x64, 0x5b, 0xb3, 0xb4, 0x66, 0x30, 0x23, 0xb8, 0x9a, 0x9f, 0xcb, 0xa3, 0xf1, 0x10, 0x60,
- 0x19, 0x95, 0x89, 0x76, 0xf4, 0x81, 0x37, 0xd1, 0x14, 0xd9, 0x25, 0x7a, 0xc7, 0xb7, 0xb8, 0x8c,
- 0xd0, 0x30, 0x23, 0x74, 0x3e, 0x8f, 0xd0, 0x3a, 0x07, 0x66, 0x94, 0x26, 0x89, 0xf0, 0x85, 0xdf,
- 0x44, 0xa3, 0x4d, 0x1d, 0x88, 0x8c, 0x14, 0xbb, 0x46, 0x37, 0x56, 0x19, 0xfa, 0x48, 0x53, 0xf7,
- 0xff, 0x95, 0x7f, 0xbd, 0x82, 0x66, 0x12, 0x2c, 0xc3, 0x2f, 0xa3, 0x99, 0x3a, 0xe5, 0x49, 0xbb,
- 0x5b, 0xc4, 0x6c, 0x6e, 0x05, 0x99, 0xac, 0x53, 0x75, 0xca, 0x60, 0xdf, 0x61, 0x8d, 0x58, 0x46,
- 0x53, 0x11, 0x9c, 0x46, 0x83, 0x64, 0xae, 0x89, 0x00, 0x8a, 0xd7, 0x16, 0xd5, 0xa9, 0x2a, 0x46,
- 0x62, 0x20, 0x50, 0x36, 0x59, 0xa7, 0x4f, 0xa3, 0x58, 0xcc, 0x02, 0x9a, 0xad, 0x53, 0xb5, 0xdd,
- 0xa5, 0x1f, 0xb6, 0xd4, 0x1d, 0xe2, 0x52, 0x33, 0xac, 0x75, 0x9a, 0xae, 0xd3, 0x87, 0x7e, 0xf3,
- 0x33, 0x68, 0xc5, 0xf7, 0xd1, 0xa9, 0x3a, 0x55, 0x0d, 0xd2, 0xd0, 0x3a, 0x2d, 0x4f, 0xd5, 0xb7,
- 0x34, 0x57, 0xd3, 0x3d, 0xe2, 0xaa, 0x34, 0xc8, 0x83, 0x81, 0x1c, 0xff, 0x13, 0x75, 0xba, 0x06,
- 0x30, 0xab, 0x01, 0x48, 0x8d, 0xa7, 0xc5, 0xdc, 0x42, 0x27, 0x44, 0x0a, 0x76, 0xab, 0x05, 0x71,
- 0x1e, 0x21, 0xf9, 0xff, 0x58, 0x84, 0x1d, 0x74, 0x07, 0x05, 0x20, 0xfe, 0x34, 0x7d, 0xc6, 0x12,
- 0x3a, 0x37, 0xca, 0x72, 0xfa, 0xc7, 0xeb, 0xf4, 0x21, 0x34, 0xf0, 0xee, 0xe7, 0xb6, 0xbb, 0x4d,
- 0x5c, 0xca, 0x82, 0x4a, 0x53, 0x7e, 0xf7, 0x17, 0xa0, 0x01, 0x5f, 0x42, 0x87, 0xea, 0x54, 0x25,
- 0x96, 0x56, 0x6f, 0x11, 0xd5, 0xe8, 0x68, 0x2d, 0xd5, 0xa8, 0xb3, 0xc0, 0xd2, 0x98, 0xbf, 0xca,
- 0x75, 0xd6, 0xbe, 0xd6, 0xd1, 0x5a, 0x6b, 0x75, 0xf9, 0x5d, 0x34, 0x1e, 0x4a, 0x9e, 0x7f, 0x05,
- 0xe2, 0x02, 0x1b, 0xa4, 0x3d, 0x8f, 0x82, 0x2c, 0x1a, 0x2c, 0x31, 0x87, 0x75, 0x05, 0x07, 0xf6,
- 0x20, 0x9b, 0xd3, 0x24, 0x6b, 0x0c, 0x4e, 0xeb, 0xff, 0x1c, 0x44, 0x87, 0x33, 0x54, 0xce, 0xdf,
- 0x66, 0xea, 0xa8, 0xba, 0x6d, 0x90, 0x90, 0xe7, 0x40, 0x7e, 0x8a, 0x3a, 0xab, 0xb6, 0x41, 0x02,
- 0x96, 0x9f, 0x47, 0xd3, 0x01, 0x9c, 0x6e, 0xb7, 0xdb, 0xa6, 0xc7, 0xf7, 0x79, 0x12, 0xc0, 0x56,
- 0x59, 0x1b, 0xbe, 0xc8, 0xa8, 0x69, 0xae, 0xbe, 0x65, 0x7a, 0x44, 0xf7, 0x3a, 0x6e, 0x10, 0xc7,
- 0x9a, 0xa6, 0xce, 0xb2, 0xd0, 0xea, 0x4b, 0x0d, 0x75, 0xd4, 0xa6, 0x9d, 0xd8, 0xe8, 0x09, 0xea,
- 0x6c, 0xd8, 0xc1, 0x90, 0x8b, 0xe8, 0x30, 0x75, 0x54, 0xb8, 0x76, 0x98, 0x56, 0x53, 0xa5, 0x5d,
- 0xea, 0x91, 0x76, 0x50, 0x0f, 0x43, 0x9d, 0x47, 0x41, 0x4f, 0x8d, 0x75, 0xc4, 0xe0, 0x85, 0xeb,
- 0xcb, 0x48, 0x1c, 0x3e, 0xbc, 0xc0, 0xf0, 0x25, 0x19, 0x36, 0xcb, 0x54, 0x63, 0x1b, 0x3f, 0x1a,
- 0x2c, 0x69, 0x8d, 0x35, 0xb2, 0xed, 0xbe, 0x8a, 0x8e, 0x66, 0xa6, 0x26, 0xf1, 0xdc, 0x20, 0x9c,
- 0xce, 0x4a, 0x92, 0xff, 0x58, 0x42, 0x13, 0x82, 0xbe, 0x43, 0x6a, 0x08, 0xdb, 0xf0, 0x96, 0xad,
- 0x19, 0xaa, 0xa7, 0xd1, 0x6d, 0xc6, 0xe4, 0x31, 0x65, 0x1a, 0xda, 0x3f, 0x67, 0x6b, 0xc6, 0x13,
- 0x8d, 0x6e, 0xe3, 0x6b, 0xe8, 0x28, 0x87, 0xdc, 0x22, 0x5a, 0xcb, 0xdb, 0x52, 0xf5, 0x2d, 0xa2,
- 0x6f, 0xf3, 0x7c, 0xf9, 0x31, 0xe5, 0x30, 0x74, 0xbe, 0xc3, 0xfa, 0x56, 0xa1, 0x0b, 0xdf, 0x45,
- 0x27, 0x39, 0x8e, 0x4f, 0x58, 0x75, 0x89, 0xe7, 0x9f, 0x69, 0xfa, 0x16, 0xf1, 0xe5, 0xd1, 0xe5,
- 0x29, 0xd6, 0x73, 0x00, 0xe2, 0x0f, 0xa2, 0xf8, 0x00, 0xb5, 0xa0, 0xdf, 0x3f, 0x60, 0x27, 0x45,
- 0x9b, 0xe2, 0xab, 0x46, 0xcb, 0xa4, 0x1e, 0xb1, 0x54, 0x56, 0xe3, 0x09, 0xf4, 0x7c, 0xa5, 0xb5,
- 0x3b, 0x81, 0x09, 0x38, 0x06, 0x00, 0x35, 0xa2, 0xb5, 0x18, 0xb5, 0x27, 0xd0, 0x8b, 0xef, 0xa1,
- 0x97, 0xf8, 0xbb, 0xc2, 0x73, 0xb5, 0x46, 0xc3, 0xd4, 0xd5, 0x6d, 0x42, 0x1c, 0x86, 0xac, 0x1a,
- 0x5a, 0x97, 0x87, 0x03, 0xe7, 0x00, 0xe6, 0x09, 0x80, 0xbc, 0x4b, 0x88, 0xe3, 0xe3, 0xaf, 0x69,
- 0x5d, 0x7c, 0x13, 0x9d, 0x10, 0x92, 0x3c, 0x12, 0xc8, 0x60, 0x32, 0x8e, 0x46, 0x79, 0x1c, 0x02,
- 0xa6, 0xfc, 0x0b, 0x12, 0x1a, 0x01, 0xa3, 0x26, 0x70, 0xbb, 0xa9, 0xab, 0x2f, 0xec, 0x76, 0xdd,
- 0x24, 0x71, 0x6e, 0x6f, 0xe8, 0xef, 0xb3, 0x56, 0x5f, 0x00, 0x22, 0x48, 0xdf, 0x42, 0x72, 0x36,
- 0x4f, 0x06, 0x70, 0xac, 0x28, 0xef, 0x2a, 0x3a, 0xca, 0xbb, 0x61, 0x2e, 0xa6, 0xe5, 0x11, 0x77,
- 0x47, 0x6b, 0xf1, 0x09, 0xe1, 0x26, 0x03, 0xf3, 0x27, 0xb2, 0xc9, 0x7b, 0xe4, 0x63, 0xd1, 0xed,
- 0x9a, 0x1d, 0x92, 0xfc, 0x86, 0x23, 0x3f, 0x8a, 0xae, 0xcc, 0xbc, 0x3d, 0x4a, 0x6a, 0xa7, 0xac,
- 0xa5, 0x2c, 0xa9, 0x9d, 0xe3, 0x71, 0x68, 0xd9, 0x09, 0x63, 0xb7, 0x4f, 0x29, 0x71, 0xe1, 0x85,
- 0xd6, 0x63, 0xa9, 0x44, 0xe8, 0x3d, 0x1c, 0x14, 0xbc, 0x87, 0xa5, 0x4e, 0x47, 0xf9, 0x8b, 0xb1,
- 0x52, 0xc0, 0x60, 0x44, 0xbe, 0x8c, 0xb7, 0x12, 0x6f, 0xc1, 0x73, 0x85, 0xe1, 0x62, 0x48, 0x37,
- 0x08, 0xdf, 0x80, 0x56, 0x58, 0xff, 0x27, 0xf4, 0x8a, 0x4f, 0x40, 0x08, 0xec, 0x44, 0x4f, 0x40,
- 0xf6, 0xbd, 0x97, 0x95, 0xc4, 0xaa, 0xed, 0xe4, 0xf7, 0xe1, 0xcd, 0x99, 0x1a, 0xef, 0x20, 0xd6,
- 0xd2, 0x09, 0x13, 0xa8, 0x7d, 0x2e, 0x3d, 0x7a, 0x6e, 0x11, 0xe3, 0xff, 0x62, 0x73, 0x3e, 0x88,
- 0xd5, 0xcf, 0xc4, 0x86, 0x3d, 0x88, 0x55, 0xfd, 0xfd, 0x20, 0x1a, 0x79, 0x6c, 0xb7, 0x4c, 0xbd,
- 0x8b, 0x2f, 0xa0, 0x69, 0xc7, 0x35, 0x2d, 0xdd, 0x74, 0xb4, 0x16, 0x44, 0x22, 0xfd, 0x35, 0x0c,
- 0x2b, 0x53, 0x61, 0x2b, 0x0b, 0x67, 0x5e, 0x44, 0x33, 0x11, 0x58, 0x14, 0xb4, 0x1d, 0x57, 0x22,
- 0xec, 0x67, 0x7e, 0x6b, 0x3a, 0x7e, 0x5a, 0x39, 0x90, 0xf8, 0x29, 0xaf, 0xb1, 0x14, 0xe2, 0xa7,
- 0x97, 0xd0, 0xac, 0x90, 0x4f, 0x02, 0xaf, 0x04, 0x48, 0x9c, 0x98, 0x89, 0x92, 0x4a, 0xe0, 0x91,
- 0x70, 0x09, 0xcd, 0x0a, 0x57, 0x16, 0x00, 0x85, 0x04, 0x93, 0x99, 0x28, 0x83, 0x04, 0x40, 0x33,
- 0x92, 0x45, 0x46, 0x33, 0x93, 0x45, 0xfe, 0x5d, 0x8a, 0xbc, 0x59, 0xe0, 0x51, 0x67, 0x0c, 0x35,
- 0x09, 0x3d, 0xb8, 0x3a, 0x9b, 0x44, 0x88, 0xb8, 0xd2, 0x47, 0x88, 0x38, 0x3b, 0xb6, 0x90, 0x14,
- 0xc0, 0xe1, 0x94, 0x00, 0xfe, 0x48, 0x94, 0x17, 0x9d, 0x5c, 0x1d, 0x17, 0xc0, 0xdb, 0x68, 0xcc,
- 0xe1, 0x6d, 0x65, 0xe5, 0x49, 0x20, 0x6a, 0x4a, 0x08, 0x2f, 0x3f, 0x8a, 0xe2, 0x4e, 0xf1, 0xba,
- 0x67, 0x78, 0xff, 0x84, 0x2c, 0xbc, 0x98, 0x5d, 0x46, 0x3d, 0x9e, 0x2c, 0x8f, 0x96, 0xb5, 0x28,
- 0x6a, 0x94, 0x43, 0x70, 0xdf, 0x35, 0x55, 0xab, 0x51, 0x7c, 0xc4, 0xd7, 0xc9, 0xf8, 0x30, 0x3d,
- 0x9a, 0x03, 0xf9, 0xc7, 0x23, 0xaf, 0x7d, 0x26, 0x11, 0x3e, 0xcb, 0xa7, 0x68, 0x36, 0xb1, 0xee,
- 0xe0, 0x29, 0xfb, 0x4a, 0x6f, 0xf5, 0xe3, 0xac, 0xf8, 0x65, 0x26, 0xce, 0x24, 0x2a, 0xdf, 0x02,
- 0xc3, 0xcc, 0x1c, 0x82, 0xdc, 0x07, 0x28, 0x64, 0x9d, 0x9c, 0x44, 0xe3, 0x81, 0x61, 0x0e, 0x92,
- 0x4e, 0xc6, 0xb8, 0x65, 0xa6, 0xf2, 0xc7, 0x52, 0xe4, 0xd8, 0x8b, 0xe1, 0xf2, 0x19, 0x7f, 0x21,
- 0x61, 0x8e, 0xde, 0x2e, 0x4b, 0x24, 0xc9, 0x20, 0x02, 0xa6, 0x8a, 0xa7, 0x91, 0x70, 0x72, 0xd5,
- 0x2f, 0xf2, 0x94, 0xb6, 0xdc, 0x24, 0x92, 0xeb, 0xf1, 0x24, 0x92, 0x92, 0xc4, 0x26, 0x21, 0x87,
- 0xe4, 0x0e, 0xc8, 0x0c, 0x73, 0x7b, 0xf1, 0x48, 0x80, 0xd5, 0xe4, 0xa5, 0x5d, 0x50, 0x36, 0x59,
- 0xe4, 0xce, 0xb8, 0x07, 0x49, 0x95, 0x45, 0xd8, 0x59, 0xe5, 0x87, 0x43, 0x41, 0x0e, 0xd5, 0x73,
- 0x18, 0x1d, 0x52, 0x37, 0x78, 0xe0, 0x65, 0xe3, 0xd9, 0x46, 0x94, 0xc4, 0xd1, 0x6b, 0x28, 0xbc,
- 0x19, 0x0b, 0x85, 0x83, 0xcb, 0xa1, 0x8a, 0xc6, 0x0d, 0xea, 0xf1, 0x08, 0x0b, 0x14, 0x20, 0x8c,
- 0x1a, 0xd4, 0x63, 0x11, 0x16, 0x15, 0x26, 0x5e, 0x34, 0xf0, 0xfe, 0x32, 0x47, 0xde, 0x4c, 0xd4,
- 0x7b, 0xd5, 0xcc, 0x17, 0xa4, 0x27, 0x7f, 0xf5, 0x9d, 0x44, 0x05, 0x17, 0x20, 0xf2, 0xc9, 0x44,
- 0xc6, 0x92, 0xa5, 0x2b, 0xc7, 0xea, 0x23, 0x58, 0xc2, 0xf2, 0x7c, 0x58, 0x5c, 0x05, 0x59, 0xee,
- 0xfc, 0x2f, 0xbf, 0x04, 0xe9, 0x1b, 0xf2, 0x9d, 0xf0, 0x24, 0x4f, 0xf6, 0xf3, 0x11, 0x0a, 0x93,
- 0x5f, 0x37, 0xc2, 0x1c, 0xfa, 0x28, 0xc7, 0xbc, 0x9f, 0xba, 0x43, 0x59, 0x0d, 0xa5, 0x2e, 0x8f,
- 0xd0, 0xfe, 0x0a, 0x99, 0xaf, 0xfd, 0xe1, 0x5d, 0x74, 0xd8, 0x1f, 0xe1, 0x21, 0x87, 0xaa, 0x11,
- 0x77, 0xc7, 0xd4, 0x09, 0xfe, 0x2a, 0xc2, 0xe9, 0x42, 0x59, 0x7c, 0xb5, 0x48, 0x4f, 0x33, 0xff,
- 0x4c, 0x44, 0xf5, 0xda, 0x5e, 0x50, 0x60, 0x31, 0xf2, 0x00, 0xfe, 0x6d, 0x29, 0x23, 0xe7, 0x2d,
- 0x5a, 0x36, 0xbe, 0xdd, 0x73, 0xe6, 0x59, 0x8a, 0xe9, 0xd5, 0xb7, 0xfa, 0xc2, 0x0d, 0xa7, 0xf6,
- 0x6b, 0xc9, 0xd2, 0xc1, 0xd8, 0xc4, 0x6e, 0x96, 0x2c, 0x37, 0xb7, 0x78, 0xbf, 0x7a, 0xab, 0x0f,
- 0xcc, 0x70, 0x52, 0xbf, 0x18, 0x25, 0xa3, 0x26, 0x6b, 0xdd, 0xf1, 0x8d, 0x3d, 0x11, 0x0e, 0x55,
- 0xa0, 0xfa, 0xe6, 0x9e, 0xf1, 0xc2, 0xe9, 0xfc, 0x1d, 0xcf, 0x72, 0xea, 0xa5, 0xd2, 0x1c, 0x6f,
- 0x94, 0xed, 0x47, 0x8f, 0x05, 0xf6, 0xd5, 0x77, 0xf6, 0x4f, 0x28, 0x8b, 0xa1, 0xc9, 0x4a, 0xf1,
- 0x52, 0x86, 0xe6, 0x14, 0xb1, 0x97, 0x32, 0x34, 0xaf, 0x24, 0x5d, 0x1e, 0xc0, 0xbf, 0x29, 0x45,
- 0x87, 0x71, 0xba, 0x06, 0x1c, 0xdf, 0x2a, 0x5b, 0x79, 0x6e, 0xcd, 0x7a, 0xf5, 0x76, 0x3f, 0xa8,
- 0xe1, 0xbc, 0x5e, 0xa0, 0x43, 0xa9, 0x92, 0x6d, 0xfc, 0x5a, 0xc9, 0x3a, 0x53, 0x45, 0xe6, 0xd5,
- 0xab, 0x7b, 0xc0, 0x08, 0xc7, 0xfe, 0x39, 0x29, 0x7c, 0x56, 0xc7, 0x6d, 0x34, 0x7e, 0xbd, 0x84,
- 0x5c, 0xa6, 0xc9, 0xaf, 0xbe, 0xb1, 0x47, 0xac, 0xd4, 0xe6, 0x64, 0x17, 0x7d, 0xe3, 0x32, 0xc5,
- 0xce, 0xaf, 0x4b, 0x2f, 0xde, 0x9c, 0xe2, 0x1a, 0x73, 0x79, 0x00, 0xff, 0x72, 0x54, 0xd7, 0x9f,
- 0x2a, 0xdb, 0xc6, 0x6f, 0xee, 0x8d, 0x74, 0xc4, 0xa6, 0x9b, 0x7b, 0x47, 0x0c, 0x67, 0xf4, 0x55,
- 0x70, 0x90, 0x24, 0x33, 0x50, 0x71, 0x66, 0xf2, 0x05, 0xab, 0x1c, 0x49, 0x82, 0x46, 0x12, 0xd3,
- 0x3b, 0x46, 0x86, 0xb4, 0x46, 0x45, 0xdf, 0xa5, 0xd2, 0x9a, 0x2a, 0x43, 0x2f, 0x95, 0xd6, 0x74,
- 0x45, 0x79, 0x5c, 0x5a, 0xe3, 0x95, 0xd9, 0xa5, 0xd2, 0x9a, 0x59, 0xfd, 0x5d, 0x2a, 0xad, 0xd9,
- 0xe5, 0xdf, 0xf2, 0x00, 0xfe, 0x9a, 0x84, 0x8e, 0x65, 0x57, 0xcd, 0xe2, 0x37, 0x7a, 0x5a, 0x58,
- 0xb2, 0x9e, 0xb0, 0x7a, 0x63, 0xaf, 0x68, 0x29, 0x2b, 0x9b, 0x51, 0x4f, 0x59, 0x6c, 0x65, 0xf3,
- 0x2b, 0x70, 0x8b, 0xad, 0x6c, 0x41, 0xe1, 0xa6, 0x70, 0xeb, 0xc8, 0x29, 0x28, 0xc6, 0xb7, 0xf7,
- 0xb6, 0xd0, 0x98, 0xf1, 0x7f, 0xab, 0x2f, 0xdc, 0x70, 0x6a, 0xbf, 0x23, 0x25, 0x2e, 0xac, 0x49,
- 0x76, 0xbd, 0xd5, 0x93, 0xf5, 0xca, 0xe1, 0xd9, 0x9d, 0xfe, 0x90, 0x53, 0x96, 0x26, 0xab, 0xfc,
- 0x0f, 0xef, 0x61, 0x43, 0x62, 0x95, 0x9c, 0xc5, 0x96, 0xa6, 0xa8, 0xd2, 0x50, 0x90, 0xac, 0x8c,
- 0xa2, 0xbb, 0x62, 0xc9, 0xca, 0xaf, 0xf2, 0x2b, 0x96, 0xac, 0x82, 0xea, 0x3e, 0x79, 0x00, 0xff,
- 0x81, 0x58, 0x03, 0x98, 0x5d, 0x0d, 0x87, 0xef, 0x95, 0x92, 0x2f, 0x2c, 0xc7, 0xab, 0xbe, 0xdd,
- 0x37, 0x7e, 0x38, 0xcd, 0xe7, 0x68, 0x36, 0x59, 0x13, 0x84, 0x97, 0x4a, 0x64, 0x23, 0x59, 0xfc,
- 0x54, 0x7d, 0xad, 0x77, 0x84, 0x70, 0xe0, 0x9f, 0x96, 0xe0, 0x64, 0x48, 0x56, 0xdd, 0xe0, 0xeb,
- 0x7b, 0xab, 0xd1, 0x81, 0x19, 0xbc, 0xde, 0x4f, 0x61, 0x4f, 0x62, 0x16, 0x62, 0xe9, 0x4a, 0xf9,
- 0x2c, 0x32, 0xea, 0x72, 0xca, 0x67, 0x91, 0x55, 0x1d, 0x23, 0x28, 0x53, 0x56, 0x9d, 0x46, 0xb1,
- 0x32, 0x15, 0xd4, 0xb7, 0x14, 0x2b, 0x53, 0x51, 0x49, 0x88, 0x3c, 0x80, 0xff, 0x44, 0x8a, 0xbc,
- 0x59, 0xf9, 0xb5, 0x19, 0xb8, 0xb4, 0x1c, 0xa8, 0xb4, 0x34, 0xa4, 0xba, 0xb2, 0x1f, 0x12, 0xe1,
- 0x7c, 0xff, 0x48, 0x2a, 0x28, 0x1a, 0xe0, 0x45, 0x16, 0xf8, 0xed, 0x32, 0x31, 0x2d, 0xa9, 0xf0,
- 0xa8, 0xde, 0xef, 0x9f, 0x40, 0xd6, 0x63, 0x32, 0x5d, 0x00, 0x51, 0xfa, 0x98, 0xcc, 0x2d, 0xdb,
- 0x28, 0x7d, 0x4c, 0xe6, 0x57, 0x6d, 0xc4, 0x27, 0x95, 0x5e, 0x43, 0xe9, 0xa4, 0x72, 0xcb, 0x34,
- 0x4a, 0x27, 0x95, 0x5f, 0x88, 0x91, 0xad, 0x9b, 0x2c, 0xd5, 0xbf, 0x67, 0xdd, 0x14, 0x4b, 0x2f,
- 0x7a, 0xd6, 0xcd, 0x58, 0x09, 0x85, 0x3c, 0x80, 0xbf, 0x91, 0xf2, 0xe3, 0x27, 0x0a, 0x0e, 0xf0,
- 0x9d, 0xbd, 0x50, 0x4e, 0x96, 0x4e, 0x54, 0xef, 0xf6, 0x89, 0x9d, 0xa9, 0xaa, 0xf9, 0x75, 0x00,
- 0xb8, 0xf7, 0xca, 0xbd, 0xbc, 0x12, 0x87, 0x72, 0x55, 0x2d, 0x2f, 0x43, 0x48, 0x78, 0x0a, 0xca,
- 0x52, 0x67, 0xcb, 0x3d, 0x05, 0x3d, 0x26, 0xf1, 0x96, 0x7b, 0x0a, 0x7a, 0xcd, 0xe2, 0x95, 0x07,
- 0xf0, 0x9f, 0x49, 0x91, 0x97, 0xbe, 0x20, 0x71, 0x16, 0xaf, 0xf4, 0x35, 0x66, 0x5c, 0x3c, 0x56,
- 0xf7, 0x45, 0x23, 0xd3, 0xbb, 0x96, 0x55, 0x6a, 0x51, 0xea, 0x13, 0xc8, 0x2f, 0xf9, 0x28, 0xf7,
- 0xae, 0x15, 0xd4, 0x1f, 0xc8, 0x03, 0xf8, 0x2f, 0xa5, 0x28, 0x36, 0x53, 0x98, 0xd1, 0x8f, 0xd7,
- 0xca, 0x06, 0xea, 0xa5, 0xf0, 0xa0, 0xba, 0xbe, 0x4f, 0x2a, 0xa9, 0xf7, 0x5d, 0x3a, 0x63, 0xbf,
- 0xd4, 0xd6, 0x64, 0x55, 0x0b, 0x14, 0xbf, 0xef, 0x72, 0x93, 0xe2, 0x13, 0x86, 0x32, 0x96, 0x08,
- 0x5d, 0x6a, 0x28, 0x33, 0x52, 0xb0, 0xcb, 0x0d, 0x65, 0x56, 0xa2, 0xb2, 0x3c, 0x80, 0x2d, 0x34,
- 0x15, 0xcb, 0x12, 0xc6, 0xaf, 0x96, 0x18, 0xff, 0x58, 0x3e, 0x72, 0xf5, 0x4a, 0x8f, 0xd0, 0x59,
- 0xe3, 0x41, 0x7e, 0x62, 0xe9, 0x78, 0x62, 0x86, 0x46, 0xf9, 0x78, 0xb1, 0xbc, 0x8d, 0x98, 0x2b,
- 0x21, 0xca, 0x87, 0x28, 0x75, 0x25, 0xa4, 0x92, 0x35, 0xaa, 0x57, 0xf7, 0x80, 0x11, 0x8e, 0xfd,
- 0x93, 0x12, 0xf8, 0xec, 0x13, 0x29, 0x0c, 0xf8, 0x5a, 0x2f, 0x17, 0xef, 0x78, 0x7e, 0x45, 0xf5,
- 0xfa, 0x9e, 0x70, 0xb2, 0x9c, 0x08, 0x89, 0x94, 0x83, 0x52, 0x27, 0x42, 0x76, 0x66, 0x44, 0xf5,
- 0xc6, 0x5e, 0xd1, 0x52, 0x73, 0x49, 0x47, 0x9f, 0xf1, 0x1b, 0xbd, 0x9d, 0x51, 0x89, 0x58, 0x7c,
- 0xf5, 0xc6, 0x5e, 0xd1, 0x32, 0xef, 0x07, 0x99, 0xa1, 0xe5, 0xf2, 0xfb, 0x41, 0x51, 0x88, 0xbb,
- 0xfc, 0x7e, 0x50, 0x18, 0xcf, 0x4e, 0x98, 0xfe, 0x8c, 0x98, 0x72, 0xb9, 0xe9, 0xcf, 0x8f, 0x66,
- 0x97, 0x9b, 0xfe, 0x82, 0x20, 0xb6, 0x20, 0xd6, 0x89, 0x78, 0x6f, 0xb1, 0x58, 0x67, 0x47, 0xa7,
- 0xab, 0xd7, 0xfb, 0x08, 0x28, 0xcb, 0x03, 0xf8, 0x9b, 0x52, 0x98, 0x49, 0x93, 0x13, 0xa7, 0xc5,
- 0x77, 0x4b, 0x2d, 0x53, 0x51, 0x74, 0xb8, 0x7a, 0xaf, 0x5f, 0xf4, 0xd4, 0x1c, 0xf3, 0x43, 0xb2,
- 0xc5, 0x73, 0x2c, 0x8d, 0x21, 0x17, 0xcf, 0xb1, 0x3c, 0x12, 0x9c, 0xe1, 0x68, 0x65, 0x7f, 0x6a,
- 0xad, 0x37, 0x47, 0xab, 0x10, 0xff, 0xed, 0xd1, 0xd1, 0x2a, 0x06, 0x7e, 0x05, 0x6f, 0x7c, 0x76,
- 0x05, 0x48, 0xb1, 0x37, 0xbe, 0xb0, 0xe0, 0xa4, 0xd8, 0x1b, 0x5f, 0x5c, 0x70, 0x22, 0x78, 0xf0,
- 0xf2, 0x2a, 0x1a, 0x8a, 0x3d, 0x78, 0x25, 0x45, 0x14, 0xc5, 0x1e, 0xbc, 0xb2, 0x22, 0x0a, 0xc1,
- 0x70, 0xe5, 0x46, 0x9a, 0xf1, 0x9d, 0x9e, 0x36, 0x23, 0x27, 0xd2, 0x5d, 0xbd, 0xdb, 0x27, 0x76,
- 0x30, 0xc1, 0x15, 0xed, 0xa3, 0x4f, 0xe7, 0xa5, 0x8f, 0x3f, 0x9d, 0x97, 0xbe, 0xff, 0xe9, 0xbc,
- 0xf4, 0x2b, 0x9f, 0xcd, 0x0f, 0x7c, 0xfc, 0xd9, 0xfc, 0xc0, 0xbf, 0x7d, 0x36, 0x3f, 0xf0, 0xfe,
- 0x86, 0x50, 0xd2, 0x50, 0xb7, 0xea, 0x57, 0x58, 0xfe, 0xf3, 0x52, 0x14, 0x1e, 0xb8, 0xc2, 0xc3,
- 0x03, 0x57, 0x82, 0x3a, 0x85, 0xa5, 0xec, 0xff, 0x17, 0x53, 0x7d, 0x84, 0xfd, 0xaf, 0x7a, 0xae,
- 0xff, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xaf, 0x3b, 0x29, 0x0b, 0xac, 0x69, 0x00, 0x00,
+ // 6063 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3d, 0x5b, 0x8c, 0x1c, 0x49,
+ 0x52, 0x53, 0xd3, 0xf3, 0xcc, 0xe9, 0x79, 0x38, 0xfd, 0x1a, 0xb7, 0xd7, 0x63, 0xbb, 0x6c, 0xaf,
+ 0xc7, 0xeb, 0xf5, 0xcc, 0xda, 0xde, 0xf5, 0xda, 0x5e, 0xdb, 0xeb, 0x79, 0x79, 0x76, 0xb4, 0xe7,
+ 0xb5, 0xaf, 0xda, 0xf6, 0xdd, 0xed, 0xb1, 0xd4, 0x55, 0x57, 0x65, 0xf7, 0x14, 0xd3, 0x5d, 0x55,
+ 0x5b, 0x59, 0x3d, 0x9e, 0xb6, 0x38, 0x81, 0x78, 0x49, 0x07, 0x88, 0x37, 0xe8, 0x74, 0xc0, 0x49,
+ 0x87, 0x10, 0x48, 0xe8, 0x40, 0x08, 0x4e, 0xfc, 0xc0, 0x01, 0x12, 0x3f, 0x2b, 0x01, 0xd2, 0xea,
+ 0x3e, 0x00, 0x9d, 0xd0, 0xea, 0xb4, 0x8b, 0x84, 0xf8, 0xe6, 0x97, 0x0f, 0x54, 0x19, 0x59, 0x55,
+ 0x59, 0xd5, 0xf5, 0xe8, 0xee, 0x99, 0x43, 0x7c, 0xdc, 0xcf, 0xba, 0x2b, 0x33, 0x22, 0x32, 0x33,
+ 0x32, 0x22, 0x32, 0x33, 0x1e, 0xb3, 0xe8, 0x42, 0xcb, 0x36, 0xda, 0x4d, 0xcd, 0x5d, 0x6e, 0x11,
+ 0x4f, 0x33, 0x34, 0x4f, 0x5b, 0xf6, 0x3a, 0x0e, 0xa1, 0xe1, 0xe7, 0x92, 0xe3, 0xda, 0x9e, 0x8d,
+ 0x8f, 0x71, 0xb0, 0xa5, 0xb0, 0x9d, 0x81, 0x55, 0xce, 0xd6, 0x34, 0x4a, 0x38, 0x4a, 0xa3, 0x4e,
+ 0x1d, 0xe2, 0xba, 0xb6, 0x4b, 0x97, 0xd9, 0x3f, 0x80, 0x5a, 0x59, 0x48, 0x80, 0x78, 0x1a, 0xdd,
+ 0x59, 0xf6, 0xff, 0xc3, 0xfb, 0x4f, 0xe8, 0x36, 0x6d, 0xd9, 0x54, 0x65, 0x5f, 0xcb, 0xf0, 0xc1,
+ 0xbb, 0x8e, 0x34, 0xec, 0x86, 0x0d, 0xed, 0xfe, 0x2f, 0xde, 0xfa, 0x72, 0xc3, 0x25, 0xc4, 0xaa,
+ 0x9b, 0xa4, 0x69, 0x2c, 0x3b, 0x5a, 0xa7, 0x45, 0x2c, 0x6f, 0x99, 0x7a, 0x2e, 0xd1, 0x5a, 0xaa,
+ 0x4b, 0x74, 0xdb, 0x35, 0x38, 0x9c, 0x2c, 0xc2, 0x11, 0xb7, 0x65, 0x52, 0x6a, 0xda, 0xd6, 0xb2,
+ 0x6e, 0xb7, 0x5a, 0xb6, 0xc5, 0x61, 0x4e, 0x0b, 0x30, 0x2e, 0xa1, 0x76, 0xdb, 0xd5, 0xf9, 0x5c,
+ 0x83, 0xd9, 0x09, 0x00, 0xd4, 0x89, 0x75, 0x89, 0xb8, 0xd4, 0xb3, 0x5d, 0xad, 0x41, 0x96, 0xc9,
+ 0x2e, 0xb1, 0xbc, 0x00, 0x60, 0x21, 0x05, 0xe0, 0xc3, 0x36, 0x71, 0x3b, 0x39, 0xfd, 0xe2, 0x00,
+ 0xe7, 0x85, 0xfe, 0x5d, 0xd3, 0xf5, 0xda, 0x5a, 0xb3, 0xe1, 0xda, 0x6d, 0x27, 0x3e, 0xca, 0xb9,
+ 0x2c, 0x28, 0x91, 0xd4, 0x71, 0x9f, 0x7e, 0xb0, 0x0b, 0xec, 0x37, 0x74, 0xc8, 0x5f, 0x2f, 0xa1,
+ 0xb1, 0xd5, 0xb6, 0xbe, 0x43, 0x3c, 0xfc, 0x36, 0x9a, 0xaa, 0xb1, 0x5f, 0xaa, 0x69, 0xd5, 0xed,
+ 0x79, 0xe9, 0x8c, 0xb4, 0x38, 0x75, 0x6d, 0x61, 0x29, 0x22, 0xbf, 0xc4, 0x27, 0xb9, 0x04, 0x08,
+ 0x5b, 0x56, 0xdd, 0x56, 0x50, 0x2d, 0xfc, 0x8d, 0xe7, 0xd1, 0xb8, 0x4b, 0x5a, 0xf6, 0x2e, 0x31,
+ 0xe6, 0x87, 0xcf, 0x48, 0x8b, 0x13, 0x4a, 0xf0, 0x89, 0x4f, 0xa2, 0x49, 0x83, 0x34, 0x89, 0x47,
+ 0x54, 0xcd, 0x9b, 0x2f, 0x9d, 0x91, 0x16, 0x4b, 0xca, 0x04, 0x34, 0xac, 0x78, 0xf8, 0x1c, 0x9a,
+ 0xe6, 0x9d, 0x2e, 0xd1, 0xa8, 0x6d, 0xcd, 0x8f, 0x9c, 0x91, 0x16, 0x27, 0x95, 0x32, 0x34, 0x2a,
+ 0xac, 0x0d, 0x57, 0xd0, 0x84, 0xed, 0x10, 0x57, 0xf3, 0x6c, 0x77, 0x7e, 0x94, 0xf5, 0x87, 0xdf,
+ 0xf8, 0x3c, 0x9a, 0xd1, 0x5d, 0xa2, 0x79, 0x44, 0xf5, 0xf6, 0xd4, 0x6d, 0x8d, 0x6e, 0xcf, 0x8f,
+ 0x01, 0x05, 0x68, 0x7d, 0xb2, 0xf7, 0x8e, 0x46, 0xb7, 0x7d, 0xa8, 0xb6, 0x63, 0x88, 0x50, 0xe3,
+ 0x00, 0x05, 0xad, 0x1c, 0xea, 0x24, 0x9a, 0xe4, 0x50, 0x9a, 0x37, 0x3f, 0x01, 0x33, 0x85, 0x86,
+ 0x15, 0x0f, 0x9f, 0x46, 0x53, 0x01, 0x09, 0xb3, 0x45, 0xe6, 0x27, 0x59, 0x37, 0xe2, 0xf8, 0x66,
+ 0x8b, 0xe0, 0xb3, 0xa8, 0xcc, 0x79, 0xa4, 0x52, 0xf3, 0x05, 0x99, 0x47, 0x6c, 0x84, 0x29, 0xde,
+ 0x56, 0x35, 0x5f, 0x10, 0xbc, 0x88, 0xe6, 0xec, 0x7a, 0x5d, 0xd5, 0xb7, 0x35, 0xd3, 0x52, 0xa9,
+ 0xa7, 0x79, 0x6d, 0x3a, 0x3f, 0x75, 0x46, 0x5a, 0x1c, 0x55, 0x66, 0xec, 0x7a, 0x7d, 0xcd, 0x6f,
+ 0xae, 0xb2, 0x56, 0xf9, 0xbf, 0x87, 0xd1, 0xd8, 0xa3, 0xda, 0x4f, 0x10, 0x9d, 0x6d, 0x8d, 0xcd,
+ 0x7e, 0x15, 0x6e, 0x0d, 0x20, 0xc0, 0xd6, 0xd8, 0xe1, 0x6f, 0x7c, 0x01, 0xcd, 0x34, 0x6d, 0x7d,
+ 0x87, 0x18, 0x6a, 0x4d, 0x6b, 0x6a, 0x96, 0x4e, 0xd8, 0x0e, 0x4d, 0x2a, 0xd3, 0xd0, 0xba, 0x0a,
+ 0x8d, 0xe2, 0x0e, 0x96, 0xba, 0x76, 0x30, 0xe2, 0xcb, 0x48, 0x82, 0x2f, 0xb1, 0xed, 0x1d, 0x2d,
+ 0xda, 0xde, 0xb1, 0x82, 0xed, 0x1d, 0x2f, 0xdc, 0xde, 0x89, 0x9e, 0xb6, 0x77, 0x32, 0x65, 0x7b,
+ 0xcf, 0xa0, 0x32, 0x25, 0x5a, 0x33, 0x84, 0x81, 0x0d, 0x42, 0x7e, 0x1b, 0x40, 0xc8, 0x7f, 0x2b,
+ 0xa1, 0x69, 0x60, 0xe2, 0x3a, 0xf1, 0x34, 0xb3, 0x49, 0xf1, 0x0d, 0x34, 0x06, 0x9c, 0x0c, 0xf9,
+ 0x9e, 0x6e, 0x0c, 0x39, 0xef, 0x15, 0x0e, 0xed, 0xe3, 0x81, 0x72, 0x30, 0x5e, 0xe7, 0xe0, 0x81,
+ 0x3a, 0x29, 0x1c, 0x1a, 0xdf, 0x45, 0xa5, 0xc6, 0x6e, 0x83, 0x6d, 0xc0, 0xd4, 0xb5, 0xcb, 0xe2,
+ 0x26, 0x8b, 0xea, 0xbd, 0xb4, 0xd9, 0xb4, 0x6b, 0x5a, 0xf3, 0x19, 0x34, 0x6d, 0xfa, 0x4d, 0x8a,
+ 0x8f, 0x27, 0xff, 0x47, 0x09, 0x4d, 0x3f, 0xdb, 0x7c, 0xe0, 0x6f, 0xfb, 0x8f, 0x14, 0xfb, 0xa0,
+ 0x14, 0x7b, 0x0d, 0x95, 0x76, 0x1b, 0x75, 0x26, 0x2e, 0x53, 0xd7, 0xae, 0xf6, 0xb1, 0x27, 0x0f,
+ 0xb4, 0x96, 0xd9, 0xec, 0x28, 0x3e, 0x76, 0x97, 0x75, 0x98, 0xea, 0xcd, 0x3a, 0x94, 0x53, 0xad,
+ 0xc3, 0x37, 0x25, 0x34, 0xf3, 0x18, 0x4e, 0xbf, 0x15, 0x5d, 0xb7, 0xdb, 0x96, 0xe7, 0x6f, 0x93,
+ 0x66, 0x18, 0x2e, 0xa1, 0x94, 0xed, 0xf1, 0xa4, 0x12, 0x7c, 0xe2, 0x23, 0x68, 0xd4, 0x7e, 0x6e,
+ 0x11, 0x97, 0x6b, 0x3d, 0x7c, 0xe0, 0x05, 0x84, 0x5c, 0x52, 0x6f, 0x5b, 0x86, 0x56, 0x6b, 0x12,
+ 0xae, 0xf0, 0x42, 0x4b, 0xbe, 0xce, 0x27, 0x58, 0x36, 0x9a, 0x64, 0x99, 0xfc, 0x6d, 0x09, 0xe1,
+ 0xf8, 0x04, 0x1f, 0x12, 0x4f, 0xc3, 0x8f, 0xd0, 0x2c, 0x3f, 0xb4, 0x55, 0x0d, 0x9a, 0xb9, 0x40,
+ 0xbe, 0x9c, 0xa5, 0x1e, 0x71, 0x22, 0xca, 0x8c, 0x13, 0x5f, 0xf5, 0x06, 0x9a, 0x8e, 0x9d, 0xfe,
+ 0x5c, 0xdb, 0xce, 0x88, 0x9b, 0xc4, 0x51, 0x96, 0xaa, 0x0c, 0x50, 0x61, 0x70, 0x4a, 0x99, 0x0a,
+ 0x5f, 0xb2, 0x8e, 0x4e, 0x6c, 0xd6, 0xab, 0xce, 0x26, 0xf1, 0x9e, 0x52, 0xe2, 0x82, 0x22, 0x50,
+ 0x85, 0x7c, 0xd8, 0x26, 0xd4, 0xc3, 0xa7, 0x10, 0xe2, 0x93, 0x55, 0x4d, 0x83, 0x33, 0x77, 0x92,
+ 0xb7, 0x6c, 0x19, 0xf8, 0x22, 0x9a, 0x35, 0x2d, 0xbd, 0xd9, 0x36, 0x7c, 0x49, 0x17, 0xf5, 0x64,
+ 0x86, 0x37, 0x2b, 0xd0, 0x2a, 0x7f, 0x80, 0x2a, 0x69, 0x83, 0x50, 0xc7, 0xb6, 0x28, 0xc1, 0x6f,
+ 0xa3, 0x71, 0x50, 0x3a, 0x7f, 0xff, 0x4a, 0x8b, 0x53, 0xd7, 0x2e, 0x64, 0xb1, 0x24, 0xa6, 0xdf,
+ 0x4a, 0x80, 0x25, 0xff, 0xd9, 0x30, 0x92, 0x7d, 0xfa, 0x9f, 0x33, 0xa9, 0x07, 0xc6, 0x88, 0xae,
+ 0x76, 0x00, 0xe8, 0x3d, 0xad, 0x45, 0x82, 0xd5, 0x9c, 0x0e, 0xed, 0x81, 0xa5, 0xb5, 0x08, 0x5f,
+ 0x0e, 0xd7, 0x77, 0x1f, 0x2e, 0xb1, 0xdc, 0xe1, 0xe4, 0x72, 0x4f, 0xa0, 0x89, 0x96, 0xb6, 0xa7,
+ 0xee, 0x90, 0x0e, 0x65, 0x52, 0x33, 0xa2, 0x8c, 0xb7, 0xb4, 0xbd, 0x77, 0x49, 0x87, 0xfa, 0xa4,
+ 0xa9, 0xa7, 0xb9, 0x9e, 0xaa, 0xd5, 0x3d, 0xe2, 0x72, 0x85, 0x47, 0xac, 0x69, 0xc5, 0x6f, 0xc1,
+ 0x57, 0x10, 0xd6, 0x6d, 0xcb, 0x33, 0xad, 0xb6, 0xe6, 0x99, 0xb6, 0xa5, 0x7a, 0xf6, 0x0e, 0xb1,
+ 0xb8, 0xe2, 0x1f, 0x12, 0x7b, 0x9e, 0xf8, 0x1d, 0xf8, 0x25, 0x66, 0x5f, 0xcc, 0x96, 0xe9, 0x53,
+ 0x03, 0xe5, 0x8f, 0x1a, 0xf0, 0x31, 0x34, 0xe6, 0xb8, 0xa4, 0x6e, 0xee, 0x71, 0x8d, 0xe7, 0x5f,
+ 0x69, 0xfb, 0x31, 0x91, 0xba, 0x1f, 0xbf, 0x55, 0x42, 0xe7, 0x72, 0x19, 0xc6, 0x77, 0xe6, 0x26,
+ 0x1a, 0x07, 0xa3, 0x1e, 0xec, 0x4c, 0xd1, 0x19, 0x10, 0x80, 0xfb, 0x3a, 0xb4, 0x43, 0x3a, 0x2a,
+ 0x08, 0xfa, 0x30, 0x63, 0xd6, 0xc4, 0x0e, 0xe9, 0xac, 0x31, 0xd1, 0xcd, 0x61, 0xe4, 0x59, 0x54,
+ 0x36, 0xa9, 0xea, 0xb9, 0x6d, 0x4b, 0xd7, 0x3c, 0x62, 0x30, 0x4e, 0x4e, 0x28, 0x53, 0x26, 0x7d,
+ 0x12, 0x34, 0xe1, 0x1b, 0xe8, 0xb8, 0x45, 0xf6, 0x3c, 0x35, 0x93, 0x9f, 0x47, 0xfd, 0xee, 0xb5,
+ 0x2e, 0x9e, 0x62, 0x34, 0xc2, 0xf6, 0x1d, 0xd8, 0xc9, 0x7e, 0x67, 0x72, 0x32, 0xc6, 0xff, 0x89,
+ 0x24, 0xff, 0x2f, 0xa2, 0x59, 0xb8, 0x4d, 0xab, 0x00, 0x4e, 0xe8, 0xfc, 0xe4, 0x99, 0xd2, 0xe2,
+ 0xa4, 0x32, 0x03, 0xcd, 0x8f, 0x79, 0x6b, 0xc6, 0xae, 0xa3, 0x8c, 0x5d, 0x97, 0x9b, 0xe8, 0x0c,
+ 0x57, 0x13, 0xd8, 0x8b, 0x81, 0x84, 0x58, 0x10, 0x02, 0xc7, 0x35, 0x77, 0x35, 0x8f, 0x24, 0x94,
+ 0xf2, 0x31, 0xb4, 0xca, 0x5f, 0x46, 0x67, 0x73, 0x46, 0xe3, 0x12, 0x10, 0x1d, 0xe6, 0x52, 0x3f,
+ 0x87, 0xb9, 0x5c, 0x47, 0x0b, 0xa9, 0xc4, 0xb7, 0xd6, 0x83, 0x85, 0x9c, 0x44, 0x93, 0xc1, 0xe9,
+ 0x0c, 0xa6, 0xa5, 0xa4, 0x4c, 0xf0, 0xb3, 0xd7, 0xe8, 0x7d, 0x11, 0x5f, 0x42, 0xa7, 0x33, 0xc7,
+ 0xd9, 0xe7, 0x12, 0xfe, 0x42, 0x42, 0xcb, 0x81, 0x92, 0xac, 0xb3, 0xa3, 0xdb, 0x88, 0x74, 0xc5,
+ 0xbf, 0x3f, 0xbe, 0xd7, 0x6e, 0xd5, 0x88, 0xab, 0x68, 0x56, 0x23, 0xdc, 0x9d, 0x57, 0x11, 0x06,
+ 0x3b, 0x50, 0xf3, 0x01, 0x54, 0x8b, 0x41, 0xf0, 0xd5, 0xcd, 0xb1, 0x1e, 0x01, 0xd3, 0x3f, 0xf5,
+ 0x88, 0x65, 0xc4, 0x61, 0x87, 0x19, 0xec, 0x0c, 0xb1, 0x0c, 0x11, 0x32, 0x85, 0x1f, 0xa5, 0x54,
+ 0x7e, 0xfc, 0x8e, 0x84, 0x5e, 0xeb, 0x7d, 0xd2, 0xfb, 0x56, 0xf3, 0x9e, 0x57, 0x20, 0x6f, 0x87,
+ 0x02, 0x21, 0x1c, 0x01, 0xcc, 0x1c, 0x1c, 0xf4, 0x61, 0xf3, 0x66, 0x28, 0x12, 0xdd, 0x23, 0xf1,
+ 0x05, 0x1f, 0x41, 0xa3, 0xd1, 0x11, 0x5c, 0x52, 0xe0, 0x43, 0x7e, 0x01, 0x0a, 0xe1, 0xb3, 0x6e,
+ 0x63, 0xcf, 0x31, 0x5d, 0x62, 0x70, 0xe4, 0xd5, 0x4e, 0xd5, 0x11, 0xc4, 0x96, 0xdf, 0xcd, 0xb4,
+ 0x00, 0x7d, 0x02, 0x1a, 0x56, 0x3c, 0x2c, 0xa3, 0x69, 0xc7, 0x35, 0x5b, 0x9a, 0xdb, 0x51, 0xa9,
+ 0x13, 0x9c, 0x21, 0xd3, 0xca, 0x14, 0x6f, 0xac, 0x3a, 0x5b, 0x86, 0x3f, 0x36, 0xb3, 0x23, 0xfc,
+ 0xda, 0x08, 0x1f, 0xf2, 0x8f, 0x47, 0x27, 0x58, 0xda, 0xd8, 0xd1, 0x46, 0xc5, 0x4f, 0xca, 0x22,
+ 0x59, 0x0e, 0x8f, 0xc8, 0x9f, 0x97, 0xd0, 0x3c, 0xe7, 0x0a, 0xec, 0xa1, 0x7f, 0x29, 0x11, 0x6c,
+ 0x0a, 0x7f, 0x66, 0x89, 0x36, 0x05, 0x9a, 0x98, 0x4d, 0x49, 0x18, 0x9d, 0xe1, 0x5e, 0x8c, 0x4e,
+ 0xba, 0x7c, 0x56, 0xc3, 0xeb, 0x86, 0x38, 0x8d, 0x48, 0x53, 0x07, 0x79, 0x71, 0xc8, 0xad, 0xd0,
+ 0x92, 0xf1, 0x3b, 0xd3, 0x0f, 0xd7, 0x70, 0xee, 0xc0, 0x5e, 0x65, 0x0d, 0xc7, 0x17, 0xd3, 0x75,
+ 0x3f, 0x93, 0x06, 0xba, 0x9f, 0x35, 0x42, 0x69, 0x4e, 0x0c, 0x76, 0xd0, 0x96, 0xd4, 0x0c, 0x0f,
+ 0x9f, 0x94, 0x81, 0x0e, 0x76, 0x4d, 0x46, 0x28, 0x8b, 0x30, 0x42, 0x42, 0x16, 0x0f, 0x68, 0x9b,
+ 0xbe, 0x25, 0x85, 0xb2, 0x26, 0x0e, 0xc3, 0x97, 0x72, 0x37, 0x71, 0x2a, 0xf4, 0x78, 0xe7, 0x0c,
+ 0x1e, 0xab, 0x07, 0x74, 0xfb, 0xbe, 0x8e, 0x5e, 0xe2, 0x53, 0xdc, 0xb0, 0x0c, 0xc7, 0x36, 0x7d,
+ 0xae, 0x57, 0x9d, 0x68, 0x6b, 0x0f, 0xa3, 0x51, 0x30, 0x24, 0x12, 0x33, 0x24, 0x23, 0xd4, 0xd9,
+ 0x32, 0xe4, 0xb7, 0xd0, 0xa9, 0x0c, 0x24, 0xbe, 0xb6, 0x0a, 0x9a, 0x20, 0xbc, 0x87, 0x33, 0x30,
+ 0xfc, 0x96, 0x7f, 0x2a, 0x44, 0xe6, 0x2b, 0x22, 0x9a, 0xf1, 0xf9, 0xb6, 0x1d, 0x6d, 0xc0, 0xbe,
+ 0x5f, 0xcd, 0xa7, 0x10, 0xea, 0x10, 0xcd, 0x55, 0x5b, 0xb6, 0xe5, 0x6d, 0x07, 0xb7, 0x68, 0xbf,
+ 0xe5, 0xa1, 0xdf, 0x20, 0xff, 0x67, 0x29, 0x71, 0x35, 0x10, 0x66, 0xc0, 0xe7, 0x7f, 0x0d, 0x95,
+ 0x88, 0xeb, 0x86, 0xc2, 0x55, 0xd3, 0x28, 0xe1, 0x9b, 0x11, 0xf9, 0x5a, 0x97, 0x7c, 0x1a, 0x1b,
+ 0xfe, 0x4f, 0xc5, 0x07, 0xf6, 0x4f, 0x5e, 0x7d, 0x5b, 0x73, 0x1b, 0xc4, 0x50, 0x3f, 0xf4, 0x89,
+ 0xc1, 0x53, 0x13, 0x6e, 0x9e, 0x73, 0xbc, 0x87, 0x8d, 0xc2, 0xde, 0x9b, 0x97, 0x11, 0xa6, 0x8e,
+ 0x5a, 0x77, 0x09, 0x11, 0xa1, 0xe1, 0x2e, 0x3a, 0x4b, 0x9d, 0x07, 0x2e, 0x21, 0x11, 0xf0, 0x39,
+ 0x34, 0xad, 0xdb, 0x16, 0x6d, 0xb7, 0x88, 0x01, 0x70, 0x23, 0x0c, 0xae, 0x1c, 0x34, 0x32, 0xa0,
+ 0x37, 0xd0, 0x71, 0x81, 0x1c, 0xef, 0x02, 0xf0, 0x51, 0x06, 0x7e, 0xa4, 0x1e, 0x10, 0x5d, 0x83,
+ 0x4e, 0x86, 0x76, 0x1b, 0x55, 0xa8, 0x03, 0xac, 0x6a, 0x76, 0xba, 0x26, 0x34, 0xc6, 0x30, 0x8f,
+ 0x51, 0xe7, 0x21, 0x00, 0xc4, 0xe7, 0xb5, 0x8e, 0x4e, 0xa7, 0x20, 0xc6, 0x86, 0x1e, 0x67, 0x04,
+ 0x4e, 0xb6, 0x12, 0xe8, 0xe2, 0x0c, 0x5e, 0x45, 0xd8, 0xb3, 0x3d, 0xad, 0x19, 0x47, 0x9c, 0x00,
+ 0xc6, 0xb1, 0x1e, 0x11, 0xfa, 0x15, 0x74, 0xc8, 0x25, 0x2d, 0xff, 0x95, 0x2e, 0x4c, 0x73, 0x12,
+ 0xf8, 0x06, 0x1d, 0xe1, 0xfc, 0xe4, 0xb5, 0xd0, 0x4e, 0x26, 0x36, 0x3a, 0x79, 0xec, 0x0b, 0xe2,
+ 0x22, 0x25, 0xc5, 0xc5, 0x86, 0x97, 0x4a, 0x26, 0x91, 0x7d, 0x88, 0x4c, 0x78, 0x0b, 0x18, 0x16,
+ 0x6f, 0x01, 0x2d, 0x10, 0x4f, 0xff, 0x24, 0xce, 0xd0, 0x90, 0xfc, 0x19, 0xfb, 0x6f, 0x0a, 0xbb,
+ 0x5e, 0xa7, 0xdc, 0xff, 0x35, 0xad, 0xf0, 0xaf, 0xf8, 0xc1, 0x3f, 0x1d, 0x1c, 0xfc, 0xbf, 0x52,
+ 0x42, 0x47, 0xbb, 0xc6, 0xf1, 0x6d, 0x43, 0xb1, 0x25, 0x8c, 0xd9, 0x7d, 0xfe, 0xc6, 0x0a, 0xed,
+ 0xfe, 0x8f, 0x24, 0x7c, 0x30, 0x09, 0x97, 0x7f, 0x4f, 0x82, 0x13, 0x37, 0x55, 0x00, 0xf6, 0x21,
+ 0x6d, 0x1b, 0x68, 0xcc, 0x25, 0xb4, 0xdd, 0xf4, 0xc5, 0xc2, 0xbf, 0xba, 0x5d, 0x29, 0xb8, 0xba,
+ 0xc5, 0xa5, 0x41, 0xe1, 0xc8, 0xf2, 0x6a, 0xa8, 0x0f, 0x9f, 0xd3, 0x3c, 0x92, 0x29, 0xa3, 0x5d,
+ 0x77, 0x02, 0x41, 0x36, 0xe4, 0x6f, 0x48, 0xe8, 0x7c, 0x3e, 0x91, 0x7d, 0xac, 0xf3, 0x1e, 0x1a,
+ 0x65, 0xdb, 0xc4, 0x4f, 0xc4, 0xc5, 0x24, 0x16, 0x0b, 0x81, 0xf9, 0x38, 0x30, 0x28, 0x1b, 0x90,
+ 0x9d, 0x21, 0x80, 0x26, 0xff, 0x20, 0x95, 0xff, 0x9c, 0x0b, 0x07, 0x75, 0x46, 0x85, 0xef, 0x34,
+ 0xcf, 0x6c, 0x11, 0xea, 0x69, 0x2d, 0x47, 0x6d, 0x53, 0x6e, 0x07, 0xe0, 0x9d, 0xf6, 0x24, 0xe8,
+ 0x78, 0x1a, 0xbe, 0x72, 0x62, 0xb0, 0xa5, 0xf0, 0x95, 0x23, 0x42, 0x9e, 0x47, 0x33, 0x2d, 0x6d,
+ 0x8f, 0xdf, 0x09, 0xfc, 0x07, 0x11, 0xf7, 0x1f, 0x96, 0x5b, 0xda, 0x1e, 0x2c, 0xe1, 0xbd, 0x76,
+ 0x4b, 0xfe, 0x4b, 0x09, 0xa1, 0x68, 0x51, 0xc5, 0xd7, 0xef, 0x93, 0x68, 0x32, 0x08, 0x83, 0x84,
+ 0x8a, 0xce, 0x83, 0x1c, 0xec, 0x82, 0x17, 0x3c, 0x9b, 0x02, 0x2f, 0x68, 0x89, 0x51, 0x98, 0xe1,
+ 0xcd, 0x2b, 0xdc, 0x19, 0x7a, 0x16, 0x95, 0x63, 0x2b, 0x80, 0x99, 0x4d, 0x79, 0xc2, 0xf4, 0x4f,
+ 0xa2, 0x49, 0x97, 0x68, 0x86, 0xa8, 0xd4, 0x13, 0x7e, 0x03, 0x53, 0x8c, 0xef, 0x4b, 0x70, 0x43,
+ 0x4c, 0xdf, 0x98, 0x7d, 0x48, 0xcc, 0xbb, 0xa8, 0xcc, 0x46, 0x05, 0xae, 0x51, 0xae, 0x1f, 0x72,
+ 0x96, 0x7e, 0x44, 0xa3, 0xae, 0x8e, 0x7c, 0xf4, 0xc9, 0x69, 0x49, 0x99, 0x72, 0xc3, 0x16, 0xea,
+ 0x5b, 0x29, 0xe6, 0x1d, 0x4a, 0xd9, 0x5e, 0xd8, 0xb2, 0x23, 0x7e, 0x77, 0x35, 0xb1, 0xc5, 0xf2,
+ 0x5d, 0xb0, 0xfa, 0x9f, 0x6f, 0x13, 0xb7, 0xf3, 0xd4, 0x69, 0xda, 0x9a, 0xf1, 0xd8, 0xb5, 0x1b,
+ 0x3e, 0xdf, 0x04, 0x8d, 0x8a, 0x36, 0x41, 0x8a, 0x6f, 0x82, 0xfc, 0x6d, 0x2e, 0xb4, 0xa9, 0xf8,
+ 0xfb, 0xba, 0xd5, 0x8c, 0x52, 0x2f, 0xb8, 0xe2, 0xce, 0x5c, 0x3b, 0xb6, 0x04, 0x31, 0x4c, 0x40,
+ 0x7b, 0xa2, 0xd1, 0x9d, 0xaa, 0xdf, 0xab, 0x00, 0x90, 0x2f, 0x0a, 0xc4, 0x75, 0x55, 0x83, 0x50,
+ 0xdd, 0x35, 0x1d, 0xcf, 0xb4, 0xad, 0x40, 0x14, 0x88, 0xeb, 0xae, 0x47, 0xad, 0xf2, 0x06, 0x7a,
+ 0x39, 0x9c, 0xad, 0x42, 0x68, 0xbb, 0xa5, 0xd5, 0x9a, 0x04, 0xa6, 0x5d, 0x25, 0x0d, 0xff, 0xd2,
+ 0xda, 0xd3, 0xaa, 0x7f, 0x46, 0x42, 0x17, 0x0b, 0xe9, 0xec, 0x63, 0xf5, 0xe7, 0xd0, 0x34, 0x05,
+ 0x32, 0x82, 0x23, 0x71, 0x5a, 0x29, 0xf3, 0x46, 0x76, 0x03, 0x90, 0xbf, 0x31, 0x8c, 0x46, 0x59,
+ 0xc8, 0x01, 0x5f, 0x47, 0xa3, 0x2c, 0x1c, 0xc1, 0x07, 0x39, 0x95, 0x66, 0x0f, 0x18, 0x24, 0x98,
+ 0x1b, 0x06, 0x1b, 0x8b, 0xc3, 0x0c, 0x27, 0xe2, 0x30, 0xb1, 0xb7, 0x7e, 0x29, 0xf1, 0xd6, 0x3f,
+ 0x8d, 0xa6, 0x82, 0x20, 0x8d, 0xd9, 0x22, 0x5c, 0x9b, 0x10, 0x8f, 0xd0, 0x98, 0xad, 0x44, 0x18,
+ 0x61, 0x34, 0x3f, 0x8c, 0x30, 0xd6, 0x15, 0x79, 0x79, 0x05, 0x1d, 0x02, 0x7f, 0x8a, 0x6a, 0xd7,
+ 0xd5, 0x16, 0xf1, 0x7f, 0x51, 0x76, 0xd8, 0x95, 0x94, 0x59, 0xe8, 0x78, 0x54, 0x7f, 0x08, 0xcd,
+ 0x62, 0x9c, 0x6a, 0x22, 0x16, 0xa7, 0x92, 0xff, 0x66, 0x18, 0x4d, 0xb1, 0x25, 0x03, 0xe8, 0x60,
+ 0x2c, 0x2a, 0x70, 0x8b, 0x8b, 0x1c, 0x2c, 0xe5, 0x71, 0x70, 0x24, 0x9f, 0x83, 0xa3, 0xf9, 0x1c,
+ 0x1c, 0xcb, 0xe7, 0xe0, 0x78, 0x17, 0x07, 0x33, 0xb9, 0xc2, 0xf4, 0x64, 0xcf, 0x31, 0x5d, 0xee,
+ 0x94, 0x8d, 0x42, 0x5f, 0x33, 0x51, 0x33, 0x8b, 0xe5, 0x7c, 0x57, 0x42, 0xc7, 0xf9, 0x41, 0xc9,
+ 0xb8, 0xe2, 0x9b, 0xbe, 0x40, 0x33, 0x02, 0x77, 0xb2, 0x94, 0xea, 0x4e, 0x1e, 0x8e, 0xb9, 0x93,
+ 0x4f, 0xa3, 0x29, 0xc8, 0xb1, 0x50, 0x7d, 0x91, 0xe7, 0x5c, 0x42, 0xd0, 0xf4, 0xa4, 0xe3, 0x90,
+ 0xe8, 0x6e, 0x38, 0x22, 0x38, 0x85, 0x84, 0x9b, 0x24, 0xf0, 0x26, 0xb8, 0x49, 0xa6, 0xb8, 0xc2,
+ 0xc6, 0x52, 0x5d, 0x61, 0x8d, 0xf0, 0xa1, 0x2d, 0x4c, 0x9f, 0x2b, 0xe4, 0x1b, 0x68, 0x8c, 0x6d,
+ 0x6f, 0xe0, 0x4a, 0x3a, 0x95, 0x65, 0x6f, 0x21, 0xc6, 0xca, 0x81, 0x33, 0x2e, 0xcd, 0x04, 0x9d,
+ 0x8c, 0x1f, 0x0d, 0x74, 0xb5, 0xb3, 0xb5, 0x2e, 0xc6, 0x91, 0xc2, 0xdb, 0x08, 0x8c, 0x37, 0xa2,
+ 0x4c, 0x06, 0xd7, 0x11, 0xda, 0xbb, 0x6b, 0xef, 0x5f, 0x25, 0x78, 0x2f, 0x77, 0x8f, 0xc3, 0x17,
+ 0xf5, 0xe5, 0xa4, 0x83, 0x6c, 0x25, 0x73, 0x55, 0x39, 0x64, 0xf8, 0xad, 0x81, 0x6e, 0x58, 0x9e,
+ 0xdb, 0x09, 0x7d, 0x68, 0x95, 0xf7, 0x51, 0x59, 0xec, 0xc0, 0x73, 0xa8, 0xb4, 0x43, 0x3a, 0xdc,
+ 0x2a, 0xfa, 0x3f, 0xf1, 0xeb, 0x68, 0x74, 0x57, 0x6b, 0xb6, 0x49, 0x8f, 0x91, 0x6f, 0x00, 0xbe,
+ 0x3d, 0x7c, 0x53, 0x12, 0x19, 0x18, 0xfa, 0x6b, 0xe3, 0x0c, 0x0c, 0xcd, 0x70, 0xc8, 0xc0, 0xc0,
+ 0x0e, 0x0f, 0xc8, 0xc0, 0xf8, 0x38, 0x11, 0x03, 0xe3, 0xae, 0xe0, 0x42, 0x06, 0xa6, 0x91, 0xe1,
+ 0x0e, 0xba, 0x80, 0x81, 0x9c, 0xa2, 0xcf, 0x40, 0xb1, 0x63, 0x1f, 0x0c, 0xe4, 0x0e, 0x40, 0x81,
+ 0x81, 0x3f, 0x37, 0x0c, 0x27, 0xf0, 0x33, 0xe2, 0x9a, 0xf5, 0xce, 0xe3, 0x30, 0xef, 0xc9, 0x9f,
+ 0x57, 0xc0, 0xc5, 0xd7, 0x05, 0x4b, 0xc5, 0xd4, 0x76, 0x75, 0xfe, 0x7b, 0xdf, 0xb9, 0x72, 0x84,
+ 0xe7, 0x5e, 0xf1, 0x7b, 0x52, 0xd5, 0x73, 0x4d, 0xab, 0x21, 0xd8, 0xb0, 0x07, 0x68, 0x3a, 0x48,
+ 0x91, 0x02, 0xf5, 0x85, 0xb3, 0xf8, 0xac, 0x68, 0x3b, 0x03, 0x80, 0x25, 0x85, 0x44, 0x5a, 0xad,
+ 0x94, 0x5d, 0xe1, 0xcb, 0x37, 0x02, 0x21, 0x1d, 0xd3, 0xe0, 0x4f, 0x31, 0x14, 0x34, 0x6d, 0x19,
+ 0x78, 0x15, 0x4d, 0x69, 0x3a, 0x98, 0x24, 0x7f, 0x98, 0x91, 0xee, 0x61, 0xa2, 0x74, 0xae, 0xa5,
+ 0x15, 0x06, 0xc9, 0x86, 0x41, 0x5a, 0xf8, 0x5b, 0xfe, 0x12, 0xdc, 0xd1, 0xd2, 0xb9, 0x10, 0x69,
+ 0x3e, 0xa9, 0xd7, 0x03, 0x37, 0xeb, 0x4c, 0xfc, 0x14, 0x10, 0x86, 0xd8, 0x60, 0x40, 0x0a, 0x07,
+ 0x96, 0xef, 0xa3, 0x4b, 0xc1, 0x9e, 0x77, 0x45, 0xfa, 0x4d, 0x42, 0x7b, 0x70, 0x5c, 0xfd, 0x81,
+ 0x84, 0x5e, 0xe9, 0x85, 0x04, 0x9f, 0xa7, 0x87, 0x4e, 0x35, 0x58, 0x62, 0x81, 0xca, 0x93, 0x0d,
+ 0x54, 0x66, 0x83, 0xd4, 0x3a, 0x07, 0xe7, 0x12, 0x3a, 0x40, 0x5a, 0x42, 0xa5, 0x91, 0xde, 0x63,
+ 0x12, 0x2a, 0xdf, 0x87, 0x3b, 0x8d, 0x6f, 0x33, 0xbb, 0x80, 0x56, 0x3b, 0x9b, 0xbb, 0x8d, 0x68,
+ 0x91, 0x47, 0xd1, 0x58, 0x63, 0xb7, 0x11, 0xad, 0x72, 0xb4, 0xb1, 0xdb, 0xd8, 0x32, 0xe4, 0xaf,
+ 0x49, 0x68, 0xb1, 0x98, 0x04, 0x5f, 0xe4, 0x07, 0xe8, 0x48, 0xda, 0x22, 0xf9, 0x01, 0xdd, 0x57,
+ 0x1a, 0x0c, 0xee, 0x5e, 0x95, 0x7c, 0x2b, 0xf4, 0xea, 0xa6, 0xb0, 0x21, 0x5a, 0xc6, 0x6e, 0xa3,
+ 0x2e, 0x2c, 0x63, 0xb7, 0x51, 0xdf, 0x32, 0xe4, 0xed, 0xd0, 0xab, 0x9e, 0x86, 0xca, 0xa7, 0xcf,
+ 0x13, 0x44, 0xa4, 0xfd, 0x24, 0x88, 0xc8, 0xcf, 0xc2, 0x49, 0xa6, 0xac, 0xaa, 0x87, 0x07, 0xad,
+ 0xbf, 0x82, 0x26, 0x6c, 0xc4, 0x30, 0xf7, 0xad, 0xb0, 0x8d, 0xa8, 0x85, 0x2b, 0x48, 0xa3, 0x1b,
+ 0x3a, 0x82, 0x59, 0xda, 0x91, 0x34, 0x60, 0xda, 0xd1, 0x4e, 0x97, 0xe1, 0xde, 0xb2, 0x36, 0x9f,
+ 0x6d, 0xe6, 0x8b, 0x48, 0x32, 0x5f, 0x80, 0xdb, 0x02, 0x21, 0x5f, 0x20, 0x76, 0x21, 0x08, 0x9d,
+ 0x45, 0x6a, 0x97, 0xf5, 0xe6, 0x83, 0x45, 0x99, 0x14, 0x71, 0xeb, 0x7d, 0x21, 0xdf, 0x80, 0xf2,
+ 0x54, 0xaf, 0xd0, 0x42, 0xcb, 0xbf, 0xce, 0x3d, 0x03, 0xc9, 0x11, 0x56, 0x2c, 0x23, 0x78, 0xf2,
+ 0xe5, 0xae, 0x2b, 0xd7, 0x25, 0x35, 0xe0, 0xa2, 0xb7, 0xd1, 0x85, 0x82, 0x29, 0x1d, 0xd4, 0xea,
+ 0x7f, 0x5f, 0x8a, 0x4c, 0x5c, 0x78, 0xac, 0x89, 0x43, 0x3d, 0xb0, 0xdd, 0xcd, 0xb5, 0x80, 0x05,
+ 0x2f, 0x21, 0x64, 0x50, 0x4f, 0x8d, 0xb1, 0x61, 0xc2, 0xa0, 0xde, 0xe6, 0x0f, 0x8d, 0x13, 0xad,
+ 0xc8, 0x7c, 0xe6, 0x4d, 0xef, 0xa0, 0xd8, 0xf1, 0x24, 0x8a, 0x49, 0x3e, 0x34, 0x1b, 0xae, 0xe6,
+ 0x11, 0x18, 0x66, 0x83, 0xa5, 0xe1, 0x06, 0x6c, 0x38, 0x81, 0x26, 0x20, 0xfc, 0x1b, 0xea, 0xe5,
+ 0x38, 0xfb, 0xde, 0x32, 0xa2, 0x43, 0x60, 0x58, 0x38, 0x04, 0xfe, 0x65, 0x18, 0x1d, 0xcf, 0x20,
+ 0x89, 0xef, 0xa1, 0x51, 0x96, 0xe3, 0xcb, 0xb5, 0x71, 0x31, 0xed, 0x79, 0xc2, 0x40, 0x01, 0xd9,
+ 0x3f, 0xd8, 0xf8, 0x4d, 0x8a, 0xa1, 0xe1, 0xcf, 0xa3, 0xb2, 0xae, 0x59, 0x3a, 0x69, 0xaa, 0x40,
+ 0x06, 0x6e, 0x11, 0x4b, 0x99, 0x64, 0xd6, 0x18, 0x70, 0x92, 0xd8, 0x14, 0xd0, 0x60, 0x10, 0xf8,
+ 0x0b, 0x68, 0x46, 0xb7, 0x5b, 0x0e, 0x4b, 0xe7, 0x03, 0xa2, 0x90, 0xa0, 0xf8, 0x5a, 0x36, 0x51,
+ 0x0e, 0x9e, 0x24, 0x3b, 0x1d, 0xd0, 0x01, 0xc2, 0x8f, 0x50, 0xd9, 0x25, 0xec, 0x4a, 0x07, 0x64,
+ 0x47, 0x18, 0xd9, 0x57, 0x33, 0xc9, 0x2a, 0x0c, 0x38, 0xc6, 0x35, 0x65, 0x0a, 0x28, 0xb0, 0x7e,
+ 0xd9, 0x8a, 0x72, 0x7a, 0x52, 0xb7, 0x8b, 0x8b, 0xc5, 0x26, 0x1a, 0x83, 0x3c, 0x6a, 0x2e, 0x15,
+ 0xcb, 0x59, 0x52, 0x91, 0x45, 0x88, 0xa3, 0xcb, 0x04, 0xbd, 0x1a, 0x8c, 0x97, 0xb1, 0xe4, 0x9e,
+ 0x05, 0xa5, 0x82, 0x26, 0xa9, 0xab, 0xc7, 0x62, 0xe6, 0xe3, 0xd4, 0xd5, 0xab, 0xbe, 0xbc, 0xfc,
+ 0xa2, 0x84, 0xae, 0xf4, 0x38, 0x0e, 0x5f, 0xe1, 0x97, 0x58, 0x7a, 0x8e, 0xb0, 0x65, 0xc1, 0x52,
+ 0xfb, 0xdf, 0xb3, 0x99, 0xd8, 0x9e, 0x51, 0xf9, 0xbd, 0xc8, 0x00, 0x57, 0x9f, 0x6b, 0xce, 0xa3,
+ 0xf6, 0x3e, 0x95, 0xe1, 0x7f, 0x24, 0x74, 0xa8, 0x8b, 0x18, 0xbe, 0x2b, 0x6c, 0x11, 0xc4, 0x26,
+ 0xb3, 0x4e, 0x25, 0x86, 0xc0, 0x91, 0x83, 0x8d, 0xc1, 0x8f, 0xd1, 0xb4, 0xa8, 0x05, 0x94, 0xab,
+ 0xc1, 0xe5, 0x7c, 0x2a, 0xa0, 0x0b, 0x01, 0xad, 0xb2, 0xa0, 0x03, 0x14, 0x3f, 0xeb, 0xe6, 0x28,
+ 0x68, 0xc1, 0x95, 0x02, 0x9a, 0x1c, 0x29, 0xa0, 0x9a, 0x64, 0x67, 0x0d, 0x82, 0x91, 0x29, 0xec,
+ 0xe4, 0x5b, 0xb9, 0x92, 0x10, 0xd6, 0x4b, 0x79, 0xc2, 0x1a, 0x27, 0x11, 0x88, 0xe9, 0x83, 0x28,
+ 0x8b, 0xa7, 0xfb, 0x0c, 0xf7, 0xaf, 0x9c, 0x44, 0xb7, 0x2d, 0x43, 0x73, 0x3b, 0xd5, 0xc7, 0xb9,
+ 0x97, 0xd7, 0xe7, 0x51, 0x62, 0x4d, 0x31, 0x9d, 0xf0, 0x76, 0x14, 0x7f, 0x63, 0xf7, 0x75, 0xbd,
+ 0xe0, 0xa8, 0xf2, 0x56, 0x64, 0xf5, 0x53, 0x07, 0x8e, 0x1f, 0xcc, 0xb9, 0x8e, 0x7f, 0x17, 0x5d,
+ 0xee, 0x89, 0xd4, 0x41, 0x4e, 0xff, 0x61, 0x74, 0x41, 0xaa, 0x3a, 0x1b, 0x7b, 0xe6, 0x3e, 0x35,
+ 0xe6, 0xbb, 0x12, 0x9a, 0x4b, 0xd2, 0xc2, 0x9b, 0xf1, 0x73, 0xe3, 0x6a, 0x81, 0xbe, 0x80, 0xe6,
+ 0x3f, 0x76, 0xed, 0x5d, 0xd3, 0x20, 0xae, 0x4f, 0x27, 0x38, 0x40, 0xbe, 0xd2, 0x65, 0xed, 0x41,
+ 0x77, 0x6e, 0xf5, 0x28, 0xe7, 0x29, 0x94, 0xe3, 0x66, 0x5f, 0xfe, 0x8a, 0x60, 0x41, 0x62, 0xec,
+ 0xe0, 0x3c, 0xbf, 0x9f, 0xd0, 0xfd, 0xc5, 0x5c, 0x89, 0x17, 0x29, 0x04, 0x02, 0xbf, 0x82, 0x8e,
+ 0xf0, 0x5b, 0x6f, 0xf5, 0x31, 0x73, 0xe3, 0x71, 0x4e, 0x5f, 0x42, 0x73, 0xc1, 0x9b, 0x56, 0x8d,
+ 0xe7, 0x4b, 0xcf, 0x06, 0xed, 0xfc, 0x09, 0x2c, 0xd7, 0xd0, 0xd1, 0x04, 0x09, 0x3e, 0xbb, 0x2d,
+ 0x34, 0x17, 0xa4, 0x72, 0x3b, 0x7c, 0x91, 0xa9, 0xd1, 0x17, 0x67, 0x29, 0xc1, 0x0a, 0x65, 0x96,
+ 0xc6, 0x1b, 0xe4, 0x9b, 0x70, 0x39, 0x7f, 0x1c, 0xa6, 0x46, 0x59, 0xba, 0xdd, 0x22, 0xc1, 0x25,
+ 0x24, 0x4f, 0x13, 0xff, 0x5a, 0x82, 0x8b, 0x49, 0x16, 0x2a, 0x9f, 0xeb, 0x65, 0x74, 0x48, 0x6f,
+ 0xbb, 0x2e, 0xb1, 0x84, 0x30, 0x40, 0x90, 0x8a, 0xc7, 0x3b, 0xc2, 0x08, 0x00, 0xde, 0x46, 0x27,
+ 0xc4, 0xcc, 0x2d, 0x46, 0x50, 0x35, 0x80, 0x62, 0x51, 0xc0, 0x2e, 0x75, 0x1e, 0xca, 0x31, 0x27,
+ 0x75, 0x7a, 0xf2, 0x3f, 0x4a, 0xe8, 0x68, 0x2a, 0x46, 0xc6, 0x3b, 0xec, 0x80, 0x52, 0x4d, 0xf0,
+ 0x13, 0x34, 0x06, 0xcb, 0x62, 0xa6, 0xbb, 0xbc, 0x7a, 0xe7, 0xa3, 0x4f, 0x4e, 0x0f, 0x7d, 0xff,
+ 0x93, 0xd3, 0x2f, 0x37, 0x4c, 0x6f, 0xbb, 0x5d, 0x5b, 0xd2, 0xed, 0x16, 0xaf, 0x42, 0xe3, 0xff,
+ 0x5c, 0xa1, 0xc6, 0x0e, 0x2f, 0xa6, 0xda, 0xb2, 0xbc, 0xef, 0x7d, 0xe7, 0x0a, 0xe2, 0x8e, 0x92,
+ 0x2d, 0xcb, 0x53, 0x38, 0x2d, 0xf9, 0x36, 0x5c, 0x3a, 0x22, 0xe3, 0xd7, 0xc7, 0x3e, 0xfe, 0x03,
+ 0x7f, 0x6c, 0x64, 0x23, 0x0f, 0xb2, 0x93, 0x16, 0x3a, 0x49, 0x03, 0x82, 0x99, 0x7b, 0x99, 0x79,
+ 0xe9, 0xc9, 0x98, 0x8b, 0x32, 0x4f, 0x33, 0x26, 0x29, 0xff, 0xb3, 0x84, 0x8e, 0x67, 0x60, 0x65,
+ 0xbd, 0x92, 0xfe, 0x5f, 0xef, 0xe8, 0x3f, 0x95, 0xd0, 0x18, 0xd4, 0x5a, 0x60, 0x15, 0x1d, 0x4d,
+ 0x6a, 0xbb, 0x18, 0x70, 0xbd, 0x9c, 0xc9, 0xc4, 0xb8, 0xaa, 0x33, 0x0b, 0x72, 0x98, 0x76, 0x37,
+ 0xe2, 0x2a, 0x3a, 0x04, 0xc6, 0x9f, 0x76, 0x2c, 0x3d, 0x20, 0x0e, 0xcc, 0xb8, 0x98, 0xe9, 0x3b,
+ 0xf5, 0x11, 0xaa, 0x0c, 0x9e, 0x11, 0x9e, 0xad, 0xc5, 0x1b, 0xf0, 0x7d, 0x84, 0xa0, 0x8e, 0x84,
+ 0x51, 0x83, 0x7b, 0xca, 0xd9, 0x2c, 0x6a, 0xac, 0xb4, 0x84, 0xd1, 0x99, 0xd4, 0x83, 0x9f, 0xf8,
+ 0x01, 0x2a, 0xb7, 0x34, 0x4b, 0x6b, 0x04, 0x33, 0x82, 0xab, 0xf9, 0xb9, 0x2c, 0x1a, 0x0f, 0x01,
+ 0x96, 0x51, 0x99, 0x6a, 0x45, 0x1f, 0x78, 0x0b, 0x4d, 0x93, 0x3d, 0xa2, 0xb7, 0x7d, 0x8b, 0xcb,
+ 0x08, 0x8d, 0x32, 0x42, 0xe7, 0xb3, 0x08, 0x6d, 0x70, 0x60, 0x46, 0xa9, 0x4c, 0x84, 0x2f, 0xfc,
+ 0x26, 0x1a, 0x6f, 0xe8, 0x40, 0x64, 0x2c, 0xdf, 0x35, 0xba, 0xb9, 0xc6, 0xd0, 0xc7, 0x1a, 0xba,
+ 0xff, 0xaf, 0xfc, 0x9b, 0x25, 0x34, 0x9b, 0x60, 0x19, 0x7e, 0x19, 0xcd, 0xd6, 0x28, 0x4f, 0xda,
+ 0xdd, 0x26, 0x66, 0x63, 0x3b, 0xc8, 0x64, 0x9d, 0xae, 0x51, 0x06, 0xfb, 0x0e, 0x6b, 0xc4, 0x32,
+ 0x9a, 0x8e, 0xe0, 0x34, 0x1a, 0x24, 0x73, 0x4d, 0x05, 0x50, 0xbc, 0x0a, 0xa9, 0x46, 0x55, 0x31,
+ 0x12, 0x03, 0x81, 0xb2, 0x72, 0x8d, 0x3e, 0x8d, 0x62, 0x31, 0x8b, 0x68, 0xae, 0x46, 0xd5, 0x56,
+ 0x87, 0x7e, 0xd8, 0x54, 0x77, 0x89, 0x4b, 0xcd, 0xb0, 0x2a, 0x6a, 0xa6, 0x46, 0x1f, 0xfa, 0xcd,
+ 0xcf, 0xa0, 0x15, 0xdf, 0x47, 0xa7, 0x6a, 0x54, 0x35, 0x48, 0x5d, 0x6b, 0x37, 0x3d, 0x55, 0xdf,
+ 0xd6, 0x5c, 0x4d, 0xf7, 0x88, 0xab, 0xd2, 0x20, 0x0f, 0x06, 0x72, 0xfc, 0x4f, 0xd4, 0xe8, 0x3a,
+ 0xc0, 0xac, 0x05, 0x20, 0x55, 0x9e, 0x16, 0x73, 0x0b, 0x9d, 0x10, 0x29, 0xd8, 0xcd, 0x26, 0xc4,
+ 0x79, 0x84, 0xe4, 0xff, 0x63, 0x11, 0x76, 0xd0, 0x1d, 0x14, 0x80, 0xf8, 0xd3, 0xf4, 0x19, 0x4b,
+ 0xe8, 0xfc, 0x38, 0xcb, 0xe9, 0x9f, 0xac, 0xd1, 0x87, 0xd0, 0xc0, 0xbb, 0x9f, 0xdb, 0xee, 0x0e,
+ 0x71, 0x29, 0x0b, 0x2a, 0x4d, 0xfb, 0xdd, 0x5f, 0x80, 0x06, 0x7c, 0x09, 0x1d, 0xaa, 0x51, 0x95,
+ 0x58, 0x5a, 0xad, 0x49, 0x54, 0xa3, 0xad, 0x35, 0x55, 0xa3, 0xc6, 0x02, 0x4b, 0x13, 0xfe, 0x2a,
+ 0x37, 0x58, 0xfb, 0x7a, 0x5b, 0x6b, 0xae, 0xd7, 0xe4, 0x77, 0xd1, 0x64, 0x28, 0x79, 0xfe, 0x15,
+ 0x88, 0x0b, 0x6c, 0x90, 0xf6, 0x3c, 0x0e, 0xb2, 0x68, 0xb0, 0xc4, 0x1c, 0xd6, 0x15, 0x1c, 0xd8,
+ 0xc3, 0x6c, 0x4e, 0x65, 0xd6, 0x18, 0x9c, 0xd6, 0xff, 0x35, 0x8c, 0x0e, 0xa7, 0xa8, 0x9c, 0xbf,
+ 0xcd, 0xd4, 0x51, 0x75, 0xdb, 0x20, 0x21, 0xcf, 0x81, 0xfc, 0x34, 0x75, 0xd6, 0x6c, 0x83, 0x04,
+ 0x2c, 0x3f, 0x8f, 0x66, 0x02, 0x38, 0xdd, 0x6e, 0xb5, 0x4c, 0x8f, 0xef, 0x73, 0x19, 0xc0, 0xd6,
+ 0x58, 0x1b, 0xbe, 0xc8, 0xa8, 0x69, 0xae, 0xbe, 0x6d, 0x7a, 0x44, 0xf7, 0xda, 0x6e, 0x10, 0xc7,
+ 0x9a, 0xa1, 0xce, 0x8a, 0xd0, 0xea, 0x4b, 0x0d, 0x75, 0xd4, 0x86, 0x9d, 0xd8, 0xe8, 0x29, 0xea,
+ 0x6c, 0xda, 0xc1, 0x90, 0x4b, 0xe8, 0x30, 0x75, 0x54, 0xb8, 0x76, 0x98, 0x56, 0x43, 0xa5, 0x1d,
+ 0xea, 0x91, 0x56, 0x50, 0x0f, 0x43, 0x9d, 0x47, 0x41, 0x4f, 0x95, 0x75, 0xc4, 0xe0, 0x85, 0xeb,
+ 0xcb, 0x58, 0x1c, 0x3e, 0xbc, 0xc0, 0xf0, 0x25, 0x19, 0x36, 0xcb, 0x54, 0x63, 0x1b, 0x3f, 0x1e,
+ 0x2c, 0x69, 0x9d, 0x35, 0xb2, 0xed, 0xbe, 0x8a, 0x8e, 0xa6, 0xa6, 0x26, 0xf1, 0xdc, 0x20, 0xdc,
+ 0x9d, 0x95, 0x24, 0xff, 0x89, 0x84, 0xa6, 0x04, 0x7d, 0x87, 0xd4, 0x10, 0xb6, 0xe1, 0x4d, 0x5b,
+ 0x33, 0x54, 0x4f, 0xa3, 0x3b, 0x8c, 0xc9, 0x13, 0xca, 0x0c, 0xb4, 0x7f, 0xce, 0xd6, 0x8c, 0x27,
+ 0x1a, 0xdd, 0xc1, 0xd7, 0xd0, 0x51, 0x0e, 0xb9, 0x4d, 0xb4, 0xa6, 0xb7, 0xad, 0xea, 0xdb, 0x44,
+ 0xdf, 0xe1, 0xf9, 0xf2, 0x13, 0xca, 0x61, 0xe8, 0x7c, 0x87, 0xf5, 0xad, 0x41, 0x17, 0xbe, 0x8b,
+ 0x4e, 0x72, 0x1c, 0x9f, 0xb0, 0xea, 0x12, 0xcf, 0x3f, 0xd3, 0xf4, 0x6d, 0xe2, 0xcb, 0xa3, 0xcb,
+ 0x53, 0xac, 0xe7, 0x01, 0xc4, 0x1f, 0x44, 0xf1, 0x01, 0xaa, 0x41, 0xbf, 0x7f, 0xc0, 0x96, 0x45,
+ 0x9b, 0xe2, 0xab, 0x46, 0xd3, 0xa4, 0x1e, 0xb1, 0x54, 0x56, 0x0d, 0x0a, 0xf4, 0x7c, 0xa5, 0xb5,
+ 0xdb, 0x81, 0x09, 0x38, 0x06, 0x00, 0x55, 0xa2, 0x35, 0x19, 0xb5, 0x27, 0xd0, 0x8b, 0xef, 0xa1,
+ 0x97, 0xf8, 0xbb, 0xc2, 0x73, 0xb5, 0x7a, 0xdd, 0xd4, 0xd5, 0x1d, 0x42, 0x1c, 0x86, 0xac, 0x1a,
+ 0x5a, 0x87, 0x87, 0x03, 0xe7, 0x01, 0xe6, 0x09, 0x80, 0xbc, 0x4b, 0x88, 0xe3, 0xe3, 0xaf, 0x6b,
+ 0x1d, 0x7c, 0x13, 0x9d, 0x10, 0x92, 0x3c, 0x12, 0xc8, 0x60, 0x32, 0x8e, 0x46, 0x79, 0x1c, 0x02,
+ 0xa6, 0xfc, 0x4b, 0x12, 0x1a, 0x03, 0xa3, 0x26, 0x70, 0xbb, 0xa1, 0xab, 0x2f, 0xec, 0x56, 0xcd,
+ 0x24, 0x71, 0x6e, 0x6f, 0xea, 0xef, 0xb3, 0x56, 0x5f, 0x00, 0x22, 0x48, 0xdf, 0x42, 0x72, 0x36,
+ 0x97, 0x03, 0x38, 0x56, 0x94, 0x77, 0x15, 0x1d, 0xe5, 0xdd, 0x30, 0x17, 0xd3, 0xf2, 0x88, 0xbb,
+ 0xab, 0x35, 0xf9, 0x84, 0x70, 0x83, 0x81, 0xf9, 0x13, 0xd9, 0xe2, 0x3d, 0xf2, 0xb1, 0xe8, 0x76,
+ 0xcd, 0x0e, 0x49, 0x7e, 0xc3, 0x91, 0x1f, 0x45, 0x57, 0x66, 0xde, 0x1e, 0x25, 0xb5, 0xf3, 0x82,
+ 0xc6, 0x82, 0xa4, 0x76, 0x8e, 0xc7, 0xa1, 0x65, 0x27, 0x8c, 0xdd, 0x3e, 0xa5, 0xc4, 0x85, 0x17,
+ 0x5a, 0x8f, 0xa5, 0x12, 0xa1, 0xf7, 0x70, 0x58, 0xf0, 0x1e, 0x16, 0x3a, 0x1d, 0xe5, 0x2f, 0xc6,
+ 0x4a, 0x01, 0x83, 0x11, 0xf9, 0x32, 0xde, 0x4a, 0xbc, 0x05, 0xcf, 0xe5, 0x86, 0x8b, 0x21, 0xdd,
+ 0x20, 0x7c, 0x03, 0x5a, 0x61, 0xfd, 0x9f, 0xd0, 0x2b, 0x3e, 0x01, 0x21, 0xb0, 0x13, 0x3d, 0x01,
+ 0xd9, 0x77, 0x3f, 0x2b, 0x89, 0x55, 0xdb, 0xc9, 0xef, 0xc3, 0x9b, 0xb3, 0x6b, 0xbc, 0x83, 0x58,
+ 0x4b, 0x3b, 0x4c, 0xa0, 0xf6, 0xb9, 0xf4, 0xe8, 0xb9, 0x45, 0x8c, 0xff, 0x8b, 0xcd, 0xf9, 0x20,
+ 0x56, 0x3f, 0x13, 0x1b, 0xf6, 0x20, 0x56, 0xf5, 0xf7, 0xc3, 0x68, 0xec, 0xb1, 0xdd, 0x34, 0xf5,
+ 0x0e, 0xbe, 0x80, 0x66, 0x1c, 0xd7, 0xb4, 0x74, 0xd3, 0xd1, 0x9a, 0x10, 0x89, 0x94, 0x58, 0x25,
+ 0xee, 0x74, 0xd8, 0xca, 0xc2, 0x99, 0x17, 0xd1, 0x6c, 0x04, 0x16, 0x05, 0x6d, 0x27, 0x95, 0x08,
+ 0xfb, 0x99, 0xdf, 0xda, 0x1d, 0x3f, 0x2d, 0x1d, 0x48, 0xfc, 0x94, 0xd7, 0x58, 0x0a, 0xf1, 0xd3,
+ 0x4b, 0x68, 0x4e, 0xc8, 0x27, 0x81, 0x57, 0x02, 0x24, 0x4e, 0xcc, 0x46, 0x49, 0x25, 0xf0, 0x48,
+ 0xb8, 0x84, 0xe6, 0x84, 0x2b, 0x0b, 0x80, 0x42, 0x82, 0xc9, 0x6c, 0x94, 0x41, 0x02, 0xa0, 0x29,
+ 0xc9, 0x22, 0xe3, 0xa9, 0xc9, 0x22, 0xff, 0x2e, 0x45, 0xde, 0x2c, 0xf0, 0xa8, 0x33, 0x86, 0x9a,
+ 0x84, 0x1e, 0x5c, 0x9d, 0x4d, 0x22, 0x44, 0x5c, 0x1a, 0x20, 0x44, 0x9c, 0x1e, 0x5b, 0x48, 0x0a,
+ 0xe0, 0x68, 0x97, 0x00, 0xfe, 0x58, 0x94, 0x17, 0x9d, 0x5c, 0x1d, 0x17, 0xc0, 0xdb, 0x68, 0xc2,
+ 0xe1, 0x6d, 0x45, 0xe5, 0x49, 0x20, 0x6a, 0x4a, 0x08, 0x2f, 0x3f, 0x8a, 0xe2, 0x4e, 0xf1, 0xba,
+ 0x67, 0x78, 0xff, 0x84, 0x2c, 0xbc, 0x98, 0x5e, 0x46, 0x3d, 0x99, 0x2c, 0x8f, 0x96, 0xb5, 0x28,
+ 0x6a, 0x94, 0x41, 0x70, 0xdf, 0x35, 0x55, 0x6b, 0x51, 0x7c, 0xc4, 0xd7, 0xc9, 0xf8, 0x30, 0x3d,
+ 0x9a, 0x03, 0xf9, 0x27, 0x23, 0xaf, 0x7d, 0x2a, 0x11, 0x3e, 0xcb, 0xa7, 0x68, 0x2e, 0xb1, 0xee,
+ 0xe0, 0x29, 0xfb, 0x4a, 0x6f, 0xf5, 0xe3, 0xac, 0xf8, 0x65, 0x36, 0xce, 0x24, 0x2a, 0xdf, 0x02,
+ 0xc3, 0xcc, 0x1c, 0x82, 0xdc, 0x07, 0x28, 0x64, 0x9d, 0x9c, 0x44, 0x93, 0x81, 0x61, 0x0e, 0x92,
+ 0x4e, 0x26, 0xb8, 0x65, 0xa6, 0xf2, 0xc7, 0x52, 0xe4, 0xd8, 0x8b, 0xe1, 0xf2, 0x19, 0x7f, 0x21,
+ 0x61, 0x8e, 0xde, 0x2e, 0x4a, 0x24, 0x49, 0x21, 0x02, 0xa6, 0x8a, 0xa7, 0x91, 0x70, 0x72, 0x95,
+ 0x2f, 0xf2, 0x94, 0xb6, 0xcc, 0x24, 0x92, 0xeb, 0xf1, 0x24, 0x92, 0x82, 0xc4, 0x26, 0x21, 0x87,
+ 0xe4, 0x0e, 0xc8, 0x0c, 0x73, 0x7b, 0xf1, 0x48, 0x80, 0xd5, 0xe0, 0xa5, 0x5d, 0x50, 0x36, 0x99,
+ 0xe7, 0xce, 0xb8, 0x07, 0x49, 0x95, 0x79, 0xd8, 0x69, 0xe5, 0x87, 0x23, 0x41, 0x0e, 0xd5, 0x73,
+ 0x18, 0x1d, 0x52, 0x37, 0x78, 0xe0, 0x65, 0xf3, 0xd9, 0x66, 0x94, 0xc4, 0xd1, 0x6b, 0x28, 0xbc,
+ 0x11, 0x0b, 0x85, 0x83, 0xcb, 0xa1, 0x82, 0x26, 0x0d, 0xea, 0xf1, 0x08, 0x0b, 0x14, 0x20, 0x8c,
+ 0x1b, 0xd4, 0x63, 0x11, 0x16, 0x15, 0x26, 0x9e, 0x37, 0xf0, 0xfe, 0x32, 0x47, 0xde, 0x4c, 0xd4,
+ 0x7b, 0x55, 0xcd, 0x17, 0xa4, 0x27, 0x7f, 0xf5, 0x9d, 0x44, 0x05, 0x17, 0x20, 0xf2, 0xc9, 0x44,
+ 0xc6, 0x92, 0xa5, 0x2b, 0xc7, 0xea, 0x23, 0x58, 0xc2, 0xf2, 0x42, 0x58, 0x5c, 0x05, 0x59, 0xee,
+ 0xfc, 0x6f, 0xc4, 0x04, 0xe9, 0x1b, 0xf2, 0x9d, 0xf0, 0x24, 0x4f, 0xf6, 0xf3, 0x11, 0x72, 0x93,
+ 0x5f, 0x37, 0xc3, 0x1c, 0xfa, 0x28, 0xc7, 0x7c, 0x90, 0xba, 0x43, 0x59, 0x0d, 0xa5, 0x2e, 0x8b,
+ 0xd0, 0xfe, 0x0a, 0x99, 0xaf, 0xfd, 0xd1, 0x5d, 0x74, 0xd8, 0x1f, 0xe1, 0x21, 0x87, 0xaa, 0x12,
+ 0x77, 0xd7, 0xd4, 0x09, 0xfe, 0x2a, 0xc2, 0xdd, 0x85, 0xb2, 0xf8, 0x6a, 0x9e, 0x9e, 0xa6, 0xfe,
+ 0x99, 0x88, 0xca, 0xb5, 0x7e, 0x50, 0x60, 0x31, 0xf2, 0x10, 0xfe, 0xba, 0x94, 0x92, 0xf3, 0x16,
+ 0x2d, 0x1b, 0xdf, 0xee, 0x39, 0xf3, 0xac, 0x8b, 0xe9, 0x95, 0xb7, 0x06, 0xc2, 0x0d, 0xa7, 0xf6,
+ 0x1b, 0xc9, 0xd2, 0xc1, 0xd8, 0xc4, 0x6e, 0x16, 0x2c, 0x37, 0xb3, 0x78, 0xbf, 0x72, 0x6b, 0x00,
+ 0xcc, 0x70, 0x52, 0xbf, 0x1c, 0x25, 0xa3, 0x26, 0x6b, 0xdd, 0xf1, 0x8d, 0xbe, 0x08, 0x87, 0x2a,
+ 0x50, 0x79, 0xb3, 0x6f, 0xbc, 0x70, 0x3a, 0x7f, 0xc7, 0xb3, 0x9c, 0x7a, 0xa9, 0x34, 0xc7, 0x9b,
+ 0x45, 0xfb, 0xd1, 0x63, 0x81, 0x7d, 0xe5, 0x9d, 0xfd, 0x13, 0x4a, 0x63, 0x68, 0xb2, 0x52, 0xbc,
+ 0x90, 0xa1, 0x19, 0x45, 0xec, 0x85, 0x0c, 0xcd, 0x2a, 0x49, 0x97, 0x87, 0xf0, 0x6f, 0x4b, 0xd1,
+ 0x61, 0xdc, 0x5d, 0x03, 0x8e, 0x6f, 0x15, 0xad, 0x3c, 0xb3, 0x66, 0xbd, 0x72, 0x7b, 0x10, 0xd4,
+ 0x70, 0x5e, 0x2f, 0xd0, 0xa1, 0xae, 0x92, 0x6d, 0xfc, 0x5a, 0xc1, 0x3a, 0xbb, 0x8a, 0xcc, 0x2b,
+ 0x57, 0xfb, 0xc0, 0x08, 0xc7, 0xfe, 0x05, 0x29, 0x7c, 0x56, 0xc7, 0x6d, 0x34, 0x7e, 0xbd, 0x80,
+ 0x5c, 0xaa, 0xc9, 0xaf, 0xbc, 0xd1, 0x27, 0x56, 0xd7, 0xe6, 0xa4, 0x17, 0x7d, 0xe3, 0x22, 0xc5,
+ 0xce, 0xae, 0x4b, 0xcf, 0xdf, 0x9c, 0xfc, 0x1a, 0x73, 0x79, 0x08, 0xff, 0x6a, 0x54, 0xd7, 0xdf,
+ 0x55, 0xb6, 0x8d, 0xdf, 0xec, 0x8f, 0x74, 0xc4, 0xa6, 0x9b, 0xfd, 0x23, 0x86, 0x33, 0xfa, 0x2a,
+ 0x38, 0x48, 0x92, 0x19, 0xa8, 0x38, 0x35, 0xf9, 0x82, 0x55, 0x8e, 0x24, 0x41, 0x23, 0x89, 0xe9,
+ 0x1d, 0x23, 0x45, 0x5a, 0xa3, 0xa2, 0xef, 0x42, 0x69, 0xed, 0x2a, 0x43, 0x2f, 0x94, 0xd6, 0xee,
+ 0x8a, 0xf2, 0xb8, 0xb4, 0xc6, 0x2b, 0xb3, 0x0b, 0xa5, 0x35, 0xb5, 0xfa, 0xbb, 0x50, 0x5a, 0xd3,
+ 0xcb, 0xbf, 0xe5, 0x21, 0xfc, 0x35, 0x09, 0x1d, 0x4b, 0xaf, 0x9a, 0xc5, 0x6f, 0xf4, 0xb4, 0xb0,
+ 0x64, 0x3d, 0x61, 0xe5, 0x46, 0xbf, 0x68, 0x5d, 0x56, 0x36, 0xa5, 0x9e, 0x32, 0xdf, 0xca, 0x66,
+ 0x57, 0xe0, 0xe6, 0x5b, 0xd9, 0x9c, 0xc2, 0x4d, 0xe1, 0xd6, 0x91, 0x51, 0x50, 0x8c, 0x6f, 0xf7,
+ 0xb7, 0xd0, 0x98, 0xf1, 0x7f, 0x6b, 0x20, 0xdc, 0x70, 0x6a, 0xbf, 0x2b, 0x25, 0x2e, 0xac, 0x49,
+ 0x76, 0xbd, 0xd5, 0x93, 0xf5, 0xca, 0xe0, 0xd9, 0x9d, 0xc1, 0x90, 0xbb, 0x2c, 0x4d, 0x5a, 0xf9,
+ 0x1f, 0xee, 0x63, 0x43, 0x62, 0x95, 0x9c, 0xf9, 0x96, 0x26, 0xaf, 0xd2, 0x50, 0x90, 0xac, 0x94,
+ 0xa2, 0xbb, 0x7c, 0xc9, 0xca, 0xae, 0xf2, 0xcb, 0x97, 0xac, 0x9c, 0xea, 0x3e, 0x79, 0x08, 0xff,
+ 0xa1, 0x58, 0x03, 0x98, 0x5e, 0x0d, 0x87, 0xef, 0x15, 0x92, 0xcf, 0x2d, 0xc7, 0xab, 0xbc, 0x3d,
+ 0x30, 0x7e, 0x38, 0xcd, 0xe7, 0x68, 0x2e, 0x59, 0x13, 0x84, 0x97, 0x0b, 0x64, 0x23, 0x59, 0xfc,
+ 0x54, 0x79, 0xad, 0x77, 0x84, 0x70, 0xe0, 0x9f, 0x95, 0xe0, 0x64, 0x48, 0x56, 0xdd, 0xe0, 0xeb,
+ 0xfd, 0xd5, 0xe8, 0xc0, 0x0c, 0x5e, 0x1f, 0xa4, 0xb0, 0x27, 0x31, 0x0b, 0xb1, 0x74, 0xa5, 0x78,
+ 0x16, 0x29, 0x75, 0x39, 0xc5, 0xb3, 0x48, 0xab, 0x8e, 0x11, 0x94, 0x29, 0xad, 0x4e, 0x23, 0x5f,
+ 0x99, 0x72, 0xea, 0x5b, 0xf2, 0x95, 0x29, 0xaf, 0x24, 0x44, 0x1e, 0xc2, 0x7f, 0x2a, 0x45, 0xde,
+ 0xac, 0xec, 0xda, 0x0c, 0x5c, 0x58, 0x0e, 0x54, 0x58, 0x1a, 0x52, 0x59, 0xdd, 0x0f, 0x89, 0x70,
+ 0xbe, 0x7f, 0x2c, 0xe5, 0x14, 0x0d, 0xf0, 0x22, 0x0b, 0xfc, 0x76, 0x91, 0x98, 0x16, 0x54, 0x78,
+ 0x54, 0xee, 0x0f, 0x4e, 0x20, 0xed, 0x31, 0xd9, 0x5d, 0x00, 0x51, 0xf8, 0x98, 0xcc, 0x2c, 0xdb,
+ 0x28, 0x7c, 0x4c, 0x66, 0x57, 0x6d, 0xc4, 0x27, 0xd5, 0xbd, 0x86, 0xc2, 0x49, 0x65, 0x96, 0x69,
+ 0x14, 0x4e, 0x2a, 0xbb, 0x10, 0x23, 0x5d, 0x37, 0x59, 0xaa, 0x7f, 0xcf, 0xba, 0x29, 0x96, 0x5e,
+ 0xf4, 0xac, 0x9b, 0xb1, 0x12, 0x0a, 0x79, 0x08, 0x7f, 0xb3, 0xcb, 0x8f, 0x9f, 0x28, 0x38, 0xc0,
+ 0x77, 0xfa, 0xa1, 0x9c, 0x2c, 0x9d, 0xa8, 0xdc, 0x1d, 0x10, 0x3b, 0x55, 0x55, 0xb3, 0xeb, 0x00,
+ 0x70, 0xef, 0x95, 0x7b, 0x59, 0x25, 0x0e, 0xc5, 0xaa, 0x5a, 0x5c, 0x86, 0x90, 0xf0, 0x14, 0x14,
+ 0xa5, 0xce, 0x16, 0x7b, 0x0a, 0x7a, 0x4c, 0xe2, 0x2d, 0xf6, 0x14, 0xf4, 0x9a, 0xc5, 0x2b, 0x0f,
+ 0xe1, 0x3f, 0x97, 0x22, 0x2f, 0x7d, 0x4e, 0xe2, 0x2c, 0x5e, 0x1d, 0x68, 0xcc, 0xb8, 0x78, 0xac,
+ 0xed, 0x8b, 0x46, 0xaa, 0x77, 0x2d, 0xad, 0xd4, 0xa2, 0xd0, 0x27, 0x90, 0x5d, 0xf2, 0x51, 0xec,
+ 0x5d, 0xcb, 0xa9, 0x3f, 0x90, 0x87, 0xf0, 0x5f, 0x49, 0x51, 0x6c, 0x26, 0x37, 0xa3, 0x1f, 0xaf,
+ 0x17, 0x0d, 0xd4, 0x4b, 0xe1, 0x41, 0x65, 0x63, 0x9f, 0x54, 0xba, 0xde, 0x77, 0xdd, 0x19, 0xfb,
+ 0x85, 0xb6, 0x26, 0xad, 0x5a, 0x20, 0xff, 0x7d, 0x97, 0x99, 0x14, 0x9f, 0x30, 0x94, 0xb1, 0x44,
+ 0xe8, 0x42, 0x43, 0x99, 0x92, 0x82, 0x5d, 0x6c, 0x28, 0xd3, 0x12, 0x95, 0xe5, 0x21, 0x6c, 0xa1,
+ 0xe9, 0x58, 0x96, 0x30, 0x7e, 0xb5, 0xc0, 0xf8, 0xc7, 0xf2, 0x91, 0x2b, 0x57, 0x7a, 0x84, 0x4e,
+ 0x1b, 0x0f, 0xf2, 0x13, 0x0b, 0xc7, 0x13, 0x33, 0x34, 0x8a, 0xc7, 0x8b, 0xe5, 0x6d, 0xc4, 0x5c,
+ 0x09, 0x51, 0x3e, 0x44, 0xa1, 0x2b, 0xa1, 0x2b, 0x59, 0xa3, 0x72, 0xb5, 0x0f, 0x8c, 0x70, 0xec,
+ 0x9f, 0x96, 0xc0, 0x67, 0x9f, 0x48, 0x61, 0xc0, 0xd7, 0x7a, 0xb9, 0x78, 0xc7, 0xf3, 0x2b, 0x2a,
+ 0xd7, 0xfb, 0xc2, 0x49, 0x73, 0x22, 0x24, 0x52, 0x0e, 0x0a, 0x9d, 0x08, 0xe9, 0x99, 0x11, 0x95,
+ 0x1b, 0xfd, 0xa2, 0x75, 0xcd, 0xa5, 0x3b, 0xfa, 0x8c, 0xdf, 0xe8, 0xed, 0x8c, 0x4a, 0xc4, 0xe2,
+ 0x2b, 0x37, 0xfa, 0x45, 0x4b, 0xbd, 0x1f, 0xa4, 0x86, 0x96, 0x8b, 0xef, 0x07, 0x79, 0x21, 0xee,
+ 0xe2, 0xfb, 0x41, 0x6e, 0x3c, 0x3b, 0x61, 0xfa, 0x53, 0x62, 0xca, 0xc5, 0xa6, 0x3f, 0x3b, 0x9a,
+ 0x5d, 0x6c, 0xfa, 0x73, 0x82, 0xd8, 0x82, 0x58, 0x27, 0xe2, 0xbd, 0xf9, 0x62, 0x9d, 0x1e, 0x9d,
+ 0xae, 0x5c, 0x1f, 0x20, 0xa0, 0x2c, 0x0f, 0xe1, 0x6f, 0x49, 0x61, 0x26, 0x4d, 0x46, 0x9c, 0x16,
+ 0xdf, 0x2d, 0xb4, 0x4c, 0x79, 0xd1, 0xe1, 0xca, 0xbd, 0x41, 0xd1, 0xbb, 0xe6, 0x98, 0x1d, 0x92,
+ 0xcd, 0x9f, 0x63, 0x61, 0x0c, 0x39, 0x7f, 0x8e, 0xc5, 0x91, 0xe0, 0x14, 0x47, 0x2b, 0xfb, 0x53,
+ 0x6b, 0xbd, 0x39, 0x5a, 0x85, 0xf8, 0x6f, 0x8f, 0x8e, 0x56, 0x31, 0xf0, 0x2b, 0x78, 0xe3, 0xd3,
+ 0x2b, 0x40, 0xf2, 0xbd, 0xf1, 0xb9, 0x05, 0x27, 0xf9, 0xde, 0xf8, 0xfc, 0x82, 0x13, 0xc1, 0x83,
+ 0x97, 0x55, 0xd1, 0x90, 0xef, 0xc1, 0x2b, 0x28, 0xa2, 0xc8, 0xf7, 0xe0, 0x15, 0x15, 0x51, 0x08,
+ 0x86, 0x2b, 0x33, 0xd2, 0x8c, 0xef, 0xf4, 0xb4, 0x19, 0x19, 0x91, 0xee, 0xca, 0xdd, 0x01, 0xb1,
+ 0x83, 0x09, 0xae, 0x6a, 0x1f, 0x7d, 0xba, 0x20, 0x7d, 0xfc, 0xe9, 0x82, 0xf4, 0x83, 0x4f, 0x17,
+ 0xa4, 0x5f, 0xfb, 0x6c, 0x61, 0xe8, 0xe3, 0xcf, 0x16, 0x86, 0xfe, 0xed, 0xb3, 0x85, 0xa1, 0xf7,
+ 0x37, 0x85, 0x92, 0x86, 0x9a, 0x55, 0xbb, 0xc2, 0xf2, 0x9f, 0x97, 0xa3, 0xf0, 0xc0, 0x15, 0x1e,
+ 0x1e, 0xb8, 0x12, 0xd4, 0x29, 0x2c, 0xa7, 0xff, 0xff, 0x9d, 0x6a, 0x63, 0xec, 0x7f, 0xff, 0x73,
+ 0xfd, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x34, 0x2c, 0x89, 0x83, 0x00, 0x6a, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@@ -10094,6 +10114,11 @@ func (m *Bucket) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.OffChainStatus != 0 {
+ i = encodeVarintMetadata(dAtA, i, uint64(m.OffChainStatus))
+ i--
+ dAtA[i] = 0x58
+ }
if len(m.StorageSize) > 0 {
i -= len(m.StorageSize)
copy(dAtA[i:], m.StorageSize)
@@ -10345,6 +10370,11 @@ func (m *VGFInfoBucket) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.OffChainStatus != 0 {
+ i = encodeVarintMetadata(dAtA, i, uint64(m.OffChainStatus))
+ i--
+ dAtA[i] = 0x60
+ }
if len(m.StorageSize) > 0 {
i -= len(m.StorageSize)
copy(dAtA[i:], m.StorageSize)
@@ -15626,6 +15656,9 @@ func (m *Bucket) Size() (n int) {
if l > 0 {
n += 1 + l + sovMetadata(uint64(l))
}
+ if m.OffChainStatus != 0 {
+ n += 1 + sovMetadata(uint64(m.OffChainStatus))
+ }
return n
}
@@ -15742,6 +15775,9 @@ func (m *VGFInfoBucket) Size() (n int) {
if l > 0 {
n += 1 + l + sovMetadata(uint64(l))
}
+ if m.OffChainStatus != 0 {
+ n += 1 + sovMetadata(uint64(m.OffChainStatus))
+ }
return n
}
@@ -18243,6 +18279,25 @@ func (m *Bucket) Unmarshal(dAtA []byte) error {
}
m.StorageSize = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 11:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field OffChainStatus", wireType)
+ }
+ m.OffChainStatus = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowMetadata
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.OffChainStatus |= int32(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
default:
iNdEx = preIndex
skippy, err := skipMetadata(dAtA[iNdEx:])
@@ -19096,6 +19151,25 @@ func (m *VGFInfoBucket) Unmarshal(dAtA []byte) error {
}
m.StorageSize = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 12:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field OffChainStatus", wireType)
+ }
+ m.OffChainStatus = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowMetadata
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.OffChainStatus |= int32(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
default:
iNdEx = preIndex
skippy, err := skipMetadata(dAtA[iNdEx:])
diff --git a/proto/buf.lock b/proto/buf.lock
index 06bf2d66f..a8ea9c03a 100644
--- a/proto/buf.lock
+++ b/proto/buf.lock
@@ -4,8 +4,8 @@ deps:
- remote: buf.build
owner: bnb-chain
repository: greenfield
- commit: 16b960188d01415ebab7842e0072229b
- digest: shake256:b0110cdf6cddc068063cf750dedef8a8cc9f8c8797ed82ae7f3f8853c521c7d83a2d798d6b36c1eff9ae469c8d20dec11a4dcfe5dcf0ca49b32d43297802e15b
+ commit: 02a0dc41f2ea4c5091af30b8df030b01
+ digest: shake256:8cf6ee362658819720536083b7136fd4bc4bc3d43b327f885d005cb95f2b024372ac591aff60505bcaf6bd4bd4286860dd15376c8d7d3a35d96ebac49095ed71
- remote: buf.build
owner: cosmos
repository: cosmos-proto
diff --git a/proto/modular/metadata/types/metadata.proto b/proto/modular/metadata/types/metadata.proto
index cf2a89f5c..2d2241110 100644
--- a/proto/modular/metadata/types/metadata.proto
+++ b/proto/modular/metadata/types/metadata.proto
@@ -40,6 +40,8 @@ message Bucket {
int64 update_time = 9;
// storage_size defines the size of bucket
string storage_size = 10;
+ // off_chain_status defines the status of a bucket in the off-chain storage
+ int32 off_chain_status = 11;
}
// Object is the structure for user object
@@ -100,6 +102,8 @@ message VGFInfoBucket {
greenfield.virtualgroup.GlobalVirtualGroupFamily vgf = 10;
// storage_size defines the size of bucket
string storage_size = 11;
+ // off_chain_status defines the status of a bucket in the off-chain storage
+ int32 off_chain_status = 12;
}
// PaymentAccount is the structure for user payment account info
diff --git a/store/bsdb/bucket_schema.go b/store/bsdb/bucket_schema.go
index b34efc71a..f94ebf191 100644
--- a/store/bsdb/bucket_schema.go
+++ b/store/bsdb/bucket_schema.go
@@ -61,6 +61,11 @@ type Bucket struct {
UpdateTime int64 `gorm:"column:update_time"`
// Tags
Tags datatypes.JSON `gorm:"column:tags;TYPE:json"` // tags
+ // OffChainStatus represents the status of a bucket in the off-chain storage.
+ // It is used to track the current state of the bucket with respect to off-chain operations,
+ // 1 means 0001 -> OffChainStatusIsLimited is true
+ // 0 means 0000 -> OffChainStatusIsLimited is false
+ OffChainStatus int `gorm:"column:off_chain_status;type:int"`
}
// TableName is used to set Bucket table name in database