From b286f745c41adba4246031dd7942b12d71078ce3 Mon Sep 17 00:00:00 2001 From: sampocs Date: Tue, 27 Aug 2024 15:38:32 -0500 Subject: [PATCH 1/5] removed osmo protos --- proto/osmosis/gamm/v1beta1/osmosis.proto | 88 -- x/stakeibc/types/osmosis.pb.go | 1370 ---------------------- 2 files changed, 1458 deletions(-) delete mode 100644 proto/osmosis/gamm/v1beta1/osmosis.proto delete mode 100644 x/stakeibc/types/osmosis.pb.go diff --git a/proto/osmosis/gamm/v1beta1/osmosis.proto b/proto/osmosis/gamm/v1beta1/osmosis.proto deleted file mode 100644 index 5fc0adceb..000000000 --- a/proto/osmosis/gamm/v1beta1/osmosis.proto +++ /dev/null @@ -1,88 +0,0 @@ -syntax = "proto3"; -package osmosis.gamm.v1beta1; - -import "gogoproto/gogo.proto"; -import "amino/amino.proto"; -import "cosmos/base/v1beta1/coin.proto"; -import "google/protobuf/timestamp.proto"; - -option go_package = "github.com/Stride-Labs/stride/v23/x/stakeibc/types"; - -// MsgSwapExactAmountIn stores the tx Msg type to swap tokens in the trade ICA -message MsgSwapExactAmountIn { - option (amino.name) = "osmosis/gamm/swap-exact-amount-in"; - - string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; - repeated SwapAmountInRoute routes = 2 [ (gogoproto.nullable) = false ]; - cosmos.base.v1beta1.Coin token_in = 3 [ - (gogoproto.moretags) = "yaml:\"token_in\"", - (gogoproto.nullable) = false - ]; - string token_out_min_amount = 4 [ - - (gogoproto.customtype) = "cosmossdk.io/math.Int", - (gogoproto.moretags) = "yaml:\"token_out_min_amount\"", - (gogoproto.nullable) = false - ]; -} - -message SwapAmountInRoute { - uint64 pool_id = 1 [ (gogoproto.moretags) = "yaml:\"pool_id\"" ]; - string token_out_denom = 2 - [ (gogoproto.moretags) = "yaml:\"token_out_denom\"" ]; -} - -// A TwapRecord stores the most recent price of a pair of denom's -message OsmosisTwapRecord { - uint64 pool_id = 1; - // Lexicographically smaller denom of the pair - string asset0_denom = 2; - // Lexicographically larger denom of the pair - string asset1_denom = 3; - // height this record corresponds to, for debugging purposes - int64 height = 4 [ - (gogoproto.moretags) = "yaml:\"record_height\"", - (gogoproto.jsontag) = "record_height" - ]; - // This field should only exist until we have a global registry in the state - // machine, mapping prior block heights within {TIME RANGE} to times. - google.protobuf.Timestamp time = 5 [ - (gogoproto.nullable) = false, - (gogoproto.stdtime) = true, - (gogoproto.moretags) = "yaml:\"record_time\"" - ]; - - // We store the last spot prices in the struct, so that we can interpolate - // accumulator values for times between when accumulator records are stored. - string p0_last_spot_price = 6 [ - (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", - (gogoproto.nullable) = false - ]; - string p1_last_spot_price = 7 [ - (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", - (gogoproto.nullable) = false - ]; - - string p0_arithmetic_twap_accumulator = 8 [ - (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", - (gogoproto.nullable) = false - ]; - string p1_arithmetic_twap_accumulator = 9 [ - (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", - (gogoproto.nullable) = false - ]; - - string geometric_twap_accumulator = 10 [ - (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", - (gogoproto.nullable) = false - ]; - - // This field contains the time in which the last spot price error occured. - // It is used to alert the caller if they are getting a potentially erroneous - // TWAP, due to an unforeseen underlying error. - google.protobuf.Timestamp last_error_time = 11 [ - (gogoproto.nullable) = false, - (gogoproto.stdtime) = true, - (gogoproto.moretags) = "yaml:\"last_error_time\"" - ]; -} diff --git a/x/stakeibc/types/osmosis.pb.go b/x/stakeibc/types/osmosis.pb.go deleted file mode 100644 index ee9385a2d..000000000 --- a/x/stakeibc/types/osmosis.pb.go +++ /dev/null @@ -1,1370 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: osmosis/gamm/v1beta1/osmosis.proto - -package types - -import ( - cosmossdk_io_math "cosmossdk.io/math" - fmt "fmt" - types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" - _ "github.com/cosmos/gogoproto/types" - github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" - io "io" - math "math" - math_bits "math/bits" - time "time" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf -var _ = time.Kitchen - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -// MsgSwapExactAmountIn stores the tx Msg type to swap tokens in the trade ICA -type MsgSwapExactAmountIn struct { - Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` - Routes []SwapAmountInRoute `protobuf:"bytes,2,rep,name=routes,proto3" json:"routes"` - TokenIn types.Coin `protobuf:"bytes,3,opt,name=token_in,json=tokenIn,proto3" json:"token_in" yaml:"token_in"` - TokenOutMinAmount cosmossdk_io_math.Int `protobuf:"bytes,4,opt,name=token_out_min_amount,json=tokenOutMinAmount,proto3,customtype=cosmossdk.io/math.Int" json:"token_out_min_amount" yaml:"token_out_min_amount"` -} - -func (m *MsgSwapExactAmountIn) Reset() { *m = MsgSwapExactAmountIn{} } -func (m *MsgSwapExactAmountIn) String() string { return proto.CompactTextString(m) } -func (*MsgSwapExactAmountIn) ProtoMessage() {} -func (*MsgSwapExactAmountIn) Descriptor() ([]byte, []int) { - return fileDescriptor_39668b2e9488de8c, []int{0} -} -func (m *MsgSwapExactAmountIn) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSwapExactAmountIn) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSwapExactAmountIn.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MsgSwapExactAmountIn) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSwapExactAmountIn.Merge(m, src) -} -func (m *MsgSwapExactAmountIn) XXX_Size() int { - return m.Size() -} -func (m *MsgSwapExactAmountIn) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSwapExactAmountIn.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSwapExactAmountIn proto.InternalMessageInfo - -func (m *MsgSwapExactAmountIn) GetSender() string { - if m != nil { - return m.Sender - } - return "" -} - -func (m *MsgSwapExactAmountIn) GetRoutes() []SwapAmountInRoute { - if m != nil { - return m.Routes - } - return nil -} - -func (m *MsgSwapExactAmountIn) GetTokenIn() types.Coin { - if m != nil { - return m.TokenIn - } - return types.Coin{} -} - -type SwapAmountInRoute struct { - PoolId uint64 `protobuf:"varint,1,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty" yaml:"pool_id"` - TokenOutDenom string `protobuf:"bytes,2,opt,name=token_out_denom,json=tokenOutDenom,proto3" json:"token_out_denom,omitempty" yaml:"token_out_denom"` -} - -func (m *SwapAmountInRoute) Reset() { *m = SwapAmountInRoute{} } -func (m *SwapAmountInRoute) String() string { return proto.CompactTextString(m) } -func (*SwapAmountInRoute) ProtoMessage() {} -func (*SwapAmountInRoute) Descriptor() ([]byte, []int) { - return fileDescriptor_39668b2e9488de8c, []int{1} -} -func (m *SwapAmountInRoute) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *SwapAmountInRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_SwapAmountInRoute.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *SwapAmountInRoute) XXX_Merge(src proto.Message) { - xxx_messageInfo_SwapAmountInRoute.Merge(m, src) -} -func (m *SwapAmountInRoute) XXX_Size() int { - return m.Size() -} -func (m *SwapAmountInRoute) XXX_DiscardUnknown() { - xxx_messageInfo_SwapAmountInRoute.DiscardUnknown(m) -} - -var xxx_messageInfo_SwapAmountInRoute proto.InternalMessageInfo - -func (m *SwapAmountInRoute) GetPoolId() uint64 { - if m != nil { - return m.PoolId - } - return 0 -} - -func (m *SwapAmountInRoute) GetTokenOutDenom() string { - if m != nil { - return m.TokenOutDenom - } - return "" -} - -// A TwapRecord stores the most recent price of a pair of denom's -type OsmosisTwapRecord struct { - PoolId uint64 `protobuf:"varint,1,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"` - // Lexicographically smaller denom of the pair - Asset0Denom string `protobuf:"bytes,2,opt,name=asset0_denom,json=asset0Denom,proto3" json:"asset0_denom,omitempty"` - // Lexicographically larger denom of the pair - Asset1Denom string `protobuf:"bytes,3,opt,name=asset1_denom,json=asset1Denom,proto3" json:"asset1_denom,omitempty"` - // height this record corresponds to, for debugging purposes - Height int64 `protobuf:"varint,4,opt,name=height,proto3" json:"record_height" yaml:"record_height"` - // This field should only exist until we have a global registry in the state - // machine, mapping prior block heights within {TIME RANGE} to times. - Time time.Time `protobuf:"bytes,5,opt,name=time,proto3,stdtime" json:"time" yaml:"record_time"` - // We store the last spot prices in the struct, so that we can interpolate - // accumulator values for times between when accumulator records are stored. - P0LastSpotPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=p0_last_spot_price,json=p0LastSpotPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"p0_last_spot_price"` - P1LastSpotPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=p1_last_spot_price,json=p1LastSpotPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"p1_last_spot_price"` - P0ArithmeticTwapAccumulator cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=p0_arithmetic_twap_accumulator,json=p0ArithmeticTwapAccumulator,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"p0_arithmetic_twap_accumulator"` - P1ArithmeticTwapAccumulator cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=p1_arithmetic_twap_accumulator,json=p1ArithmeticTwapAccumulator,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"p1_arithmetic_twap_accumulator"` - GeometricTwapAccumulator cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=geometric_twap_accumulator,json=geometricTwapAccumulator,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"geometric_twap_accumulator"` - // This field contains the time in which the last spot price error occured. - // It is used to alert the caller if they are getting a potentially erroneous - // TWAP, due to an unforeseen underlying error. - LastErrorTime time.Time `protobuf:"bytes,11,opt,name=last_error_time,json=lastErrorTime,proto3,stdtime" json:"last_error_time" yaml:"last_error_time"` -} - -func (m *OsmosisTwapRecord) Reset() { *m = OsmosisTwapRecord{} } -func (m *OsmosisTwapRecord) String() string { return proto.CompactTextString(m) } -func (*OsmosisTwapRecord) ProtoMessage() {} -func (*OsmosisTwapRecord) Descriptor() ([]byte, []int) { - return fileDescriptor_39668b2e9488de8c, []int{2} -} -func (m *OsmosisTwapRecord) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *OsmosisTwapRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_OsmosisTwapRecord.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *OsmosisTwapRecord) XXX_Merge(src proto.Message) { - xxx_messageInfo_OsmosisTwapRecord.Merge(m, src) -} -func (m *OsmosisTwapRecord) XXX_Size() int { - return m.Size() -} -func (m *OsmosisTwapRecord) XXX_DiscardUnknown() { - xxx_messageInfo_OsmosisTwapRecord.DiscardUnknown(m) -} - -var xxx_messageInfo_OsmosisTwapRecord proto.InternalMessageInfo - -func (m *OsmosisTwapRecord) GetPoolId() uint64 { - if m != nil { - return m.PoolId - } - return 0 -} - -func (m *OsmosisTwapRecord) GetAsset0Denom() string { - if m != nil { - return m.Asset0Denom - } - return "" -} - -func (m *OsmosisTwapRecord) GetAsset1Denom() string { - if m != nil { - return m.Asset1Denom - } - return "" -} - -func (m *OsmosisTwapRecord) GetHeight() int64 { - if m != nil { - return m.Height - } - return 0 -} - -func (m *OsmosisTwapRecord) GetTime() time.Time { - if m != nil { - return m.Time - } - return time.Time{} -} - -func (m *OsmosisTwapRecord) GetLastErrorTime() time.Time { - if m != nil { - return m.LastErrorTime - } - return time.Time{} -} - -func init() { - proto.RegisterType((*MsgSwapExactAmountIn)(nil), "osmosis.gamm.v1beta1.MsgSwapExactAmountIn") - proto.RegisterType((*SwapAmountInRoute)(nil), "osmosis.gamm.v1beta1.SwapAmountInRoute") - proto.RegisterType((*OsmosisTwapRecord)(nil), "osmosis.gamm.v1beta1.OsmosisTwapRecord") -} - -func init() { - proto.RegisterFile("osmosis/gamm/v1beta1/osmosis.proto", fileDescriptor_39668b2e9488de8c) -} - -var fileDescriptor_39668b2e9488de8c = []byte{ - // 773 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0x3f, 0x6f, 0xdb, 0x46, - 0x14, 0x17, 0x2d, 0x55, 0x4e, 0x4e, 0x55, 0x05, 0x11, 0x6a, 0xc3, 0xca, 0x00, 0xe9, 0xb0, 0x40, - 0xeb, 0xb4, 0x10, 0x29, 0x2a, 0x5b, 0xd0, 0x45, 0x6c, 0x3c, 0x08, 0x90, 0x9b, 0x80, 0xce, 0xd4, - 0x85, 0x38, 0x51, 0x17, 0xea, 0x60, 0x1d, 0x8f, 0xe0, 0x1d, 0x23, 0x7b, 0xef, 0xd4, 0xc9, 0x1f, - 0xa5, 0x1f, 0xc3, 0xa3, 0xc7, 0xa2, 0x03, 0x5b, 0xd8, 0x43, 0x81, 0x0e, 0x1d, 0xf4, 0x09, 0x8a, - 0xbb, 0xa3, 0x64, 0x4b, 0x76, 0x1b, 0x7b, 0x11, 0x8e, 0xef, 0x7e, 0x7f, 0xde, 0xbb, 0xf7, 0x13, - 0xb0, 0x29, 0x23, 0x94, 0x61, 0xe6, 0xc6, 0x90, 0x10, 0xf7, 0x83, 0x37, 0x41, 0x1c, 0x7a, 0x6e, - 0x59, 0x74, 0xd2, 0x8c, 0x72, 0xaa, 0x77, 0x56, 0x9f, 0x02, 0xe3, 0x94, 0x98, 0x6e, 0x27, 0xa6, - 0x31, 0x95, 0x00, 0x57, 0x9c, 0x14, 0xb6, 0xdb, 0x86, 0x04, 0x27, 0xd4, 0x95, 0xbf, 0x65, 0xc9, - 0x8c, 0x24, 0xdf, 0x9d, 0x40, 0x86, 0xd6, 0x0e, 0x11, 0xc5, 0x49, 0x79, 0x6f, 0xc5, 0x94, 0xc6, - 0x73, 0xe4, 0xca, 0xaf, 0x49, 0xfe, 0xde, 0xe5, 0x98, 0x20, 0xc6, 0x21, 0x49, 0x15, 0xc0, 0xfe, - 0x67, 0x07, 0x74, 0x8e, 0x58, 0x7c, 0xbc, 0x80, 0xe9, 0xe1, 0x29, 0x8c, 0xf8, 0x90, 0xd0, 0x3c, - 0xe1, 0xa3, 0x44, 0x7f, 0x01, 0xea, 0x0c, 0x25, 0x53, 0x94, 0x19, 0xda, 0xbe, 0x76, 0xf0, 0xd4, - 0x6f, 0x2f, 0x0b, 0xab, 0x79, 0x06, 0xc9, 0xfc, 0x95, 0xad, 0xea, 0x76, 0x50, 0x02, 0xf4, 0x43, - 0x50, 0xcf, 0x68, 0xce, 0x11, 0x33, 0x76, 0xf6, 0xab, 0x07, 0x8d, 0xc1, 0x37, 0xce, 0x7d, 0x43, - 0x39, 0xc2, 0x63, 0x25, 0x1f, 0x08, 0xbc, 0x5f, 0xbb, 0x28, 0xac, 0x4a, 0x50, 0x92, 0xf5, 0x23, - 0xf0, 0x84, 0xd3, 0x13, 0x94, 0x84, 0x38, 0x31, 0xaa, 0xfb, 0xda, 0x41, 0x63, 0xf0, 0xa5, 0xa3, - 0xc6, 0x73, 0xc4, 0x78, 0x6b, 0x9d, 0x1f, 0x28, 0x4e, 0xfc, 0x67, 0x82, 0xba, 0x2c, 0xac, 0x96, - 0x6a, 0x69, 0x45, 0xb4, 0x83, 0x5d, 0x79, 0x1c, 0x25, 0x3a, 0x01, 0x1d, 0x55, 0xa5, 0x39, 0x0f, - 0x09, 0x4e, 0x42, 0x28, 0xbd, 0x8d, 0x9a, 0x1c, 0xe7, 0x7b, 0xc1, 0xff, 0xbd, 0xb0, 0x3e, 0x57, - 0x0e, 0x6c, 0x7a, 0xe2, 0x60, 0xea, 0x12, 0xc8, 0x67, 0xce, 0x28, 0xe1, 0xcb, 0xc2, 0xda, 0xbb, - 0x2d, 0xbc, 0x29, 0x61, 0x07, 0x6d, 0x59, 0x7e, 0x93, 0xf3, 0x23, 0x9c, 0xa8, 0x91, 0x5e, 0x7d, - 0xfd, 0xcb, 0x5f, 0xbf, 0x7e, 0xfb, 0x7c, 0x63, 0xe3, 0x6c, 0x01, 0xd3, 0x1e, 0x12, 0xaf, 0xda, - 0x53, 0xc4, 0x1e, 0x4e, 0xec, 0x9f, 0x35, 0xd0, 0xbe, 0xf3, 0x12, 0xfa, 0x77, 0x60, 0x37, 0xa5, - 0x74, 0x1e, 0xe2, 0xa9, 0x7c, 0xee, 0x9a, 0xaf, 0x2f, 0x0b, 0xeb, 0x33, 0xd5, 0x42, 0x79, 0x61, - 0x07, 0x75, 0x71, 0x1a, 0x4d, 0x75, 0x1f, 0xb4, 0x6e, 0xda, 0x9a, 0xa2, 0x84, 0x12, 0x63, 0x47, - 0x0e, 0xd5, 0x5d, 0x16, 0xd6, 0x17, 0xdb, 0x7d, 0x4b, 0x80, 0x1d, 0x34, 0x57, 0x2d, 0xbf, 0x96, - 0xdf, 0x17, 0x75, 0xd0, 0x7e, 0xa3, 0x9a, 0x7d, 0xb7, 0x80, 0x69, 0x80, 0x22, 0x9a, 0x4d, 0xf5, - 0x67, 0x5b, 0x6d, 0xac, 0x2d, 0x9f, 0x83, 0x4f, 0x21, 0x63, 0x88, 0xf7, 0x6f, 0xfb, 0x05, 0x0d, - 0x55, 0x93, 0x8a, 0x6b, 0x88, 0x57, 0x42, 0xaa, 0xb7, 0x20, 0x9e, 0x82, 0x0c, 0x41, 0x7d, 0x86, - 0x70, 0x3c, 0x53, 0x4b, 0xa8, 0xfa, 0x2f, 0xfe, 0x2e, 0xac, 0x66, 0x26, 0xad, 0x43, 0x75, 0xb1, - 0x2c, 0xac, 0x8e, 0x1a, 0x60, 0xa3, 0x6c, 0x07, 0x25, 0x51, 0xff, 0x11, 0xd4, 0x44, 0x84, 0x8d, - 0x4f, 0x64, 0x40, 0xba, 0x8e, 0xca, 0xb7, 0xb3, 0xca, 0xb7, 0xf3, 0x6e, 0x95, 0x6f, 0xdf, 0x2c, - 0x13, 0xa2, 0x6f, 0xe8, 0x09, 0xb2, 0x7d, 0xfe, 0x87, 0xa5, 0x05, 0x52, 0x47, 0x7f, 0x0b, 0xf4, - 0xb4, 0x1f, 0xce, 0x21, 0xe3, 0x21, 0x4b, 0x29, 0x0f, 0xd3, 0x0c, 0x47, 0xc8, 0xa8, 0xcb, 0xe7, - 0xfc, 0xaa, 0xcc, 0xc8, 0xde, 0xdd, 0x8c, 0x8c, 0x51, 0x0c, 0xa3, 0xb3, 0xd7, 0x28, 0x0a, 0x5a, - 0x69, 0x7f, 0x0c, 0x19, 0x3f, 0x4e, 0x29, 0x7f, 0x2b, 0xb8, 0x52, 0xd1, 0xbb, 0xa3, 0xb8, 0xfb, - 0x18, 0x45, 0x6f, 0x53, 0x71, 0x06, 0xcc, 0xb4, 0x1f, 0xc2, 0x0c, 0xf3, 0x19, 0x41, 0x1c, 0x47, - 0x21, 0x5f, 0xc0, 0x34, 0x84, 0x51, 0x94, 0x93, 0x7c, 0x0e, 0x39, 0xcd, 0x8c, 0x27, 0x0f, 0x57, - 0xdf, 0x4b, 0xfb, 0xc3, 0xb5, 0x92, 0x58, 0xfd, 0xf0, 0x46, 0x47, 0x3a, 0x79, 0xff, 0xeb, 0xf4, - 0xf4, 0x31, 0x4e, 0xde, 0x7f, 0x3b, 0x41, 0xd0, 0x8d, 0x11, 0x25, 0x88, 0x67, 0xf7, 0xb9, 0x80, - 0x87, 0xbb, 0x18, 0x6b, 0x99, 0x6d, 0x8b, 0xf7, 0xa0, 0x25, 0xb7, 0x80, 0xb2, 0x8c, 0x66, 0x72, - 0xf1, 0x46, 0xe3, 0xa3, 0xa9, 0xb1, 0xcb, 0xd4, 0x94, 0x7f, 0xa3, 0x2d, 0x01, 0x95, 0x9c, 0xa6, - 0xa8, 0x1e, 0x8a, 0xa2, 0xe0, 0xf9, 0xe3, 0x8b, 0x2b, 0x53, 0xbb, 0xbc, 0x32, 0xb5, 0x3f, 0xaf, - 0x4c, 0xed, 0xfc, 0xda, 0xac, 0x5c, 0x5e, 0x9b, 0x95, 0xdf, 0xae, 0xcd, 0xca, 0x4f, 0x83, 0x18, - 0xf3, 0x59, 0x3e, 0x71, 0x22, 0x4a, 0xdc, 0x63, 0x9e, 0xe1, 0x29, 0xea, 0x8d, 0xe1, 0x84, 0xb9, - 0x4c, 0x9e, 0xdd, 0x0f, 0x83, 0x97, 0xee, 0xa9, 0xcb, 0x38, 0x3c, 0x41, 0x78, 0x12, 0xb9, 0xfc, - 0x2c, 0x45, 0x6c, 0x52, 0x97, 0x4d, 0xbd, 0xfc, 0x37, 0x00, 0x00, 0xff, 0xff, 0xf4, 0xe1, 0x82, - 0x5c, 0x3d, 0x06, 0x00, 0x00, -} - -func (m *MsgSwapExactAmountIn) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MsgSwapExactAmountIn) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSwapExactAmountIn) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size := m.TokenOutMinAmount.Size() - i -= size - if _, err := m.TokenOutMinAmount.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintOsmosis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x22 - { - size, err := m.TokenIn.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintOsmosis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - if len(m.Routes) > 0 { - for iNdEx := len(m.Routes) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Routes[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintOsmosis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - } - if len(m.Sender) > 0 { - i -= len(m.Sender) - copy(dAtA[i:], m.Sender) - i = encodeVarintOsmosis(dAtA, i, uint64(len(m.Sender))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *SwapAmountInRoute) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *SwapAmountInRoute) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *SwapAmountInRoute) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.TokenOutDenom) > 0 { - i -= len(m.TokenOutDenom) - copy(dAtA[i:], m.TokenOutDenom) - i = encodeVarintOsmosis(dAtA, i, uint64(len(m.TokenOutDenom))) - i-- - dAtA[i] = 0x12 - } - if m.PoolId != 0 { - i = encodeVarintOsmosis(dAtA, i, uint64(m.PoolId)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *OsmosisTwapRecord) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *OsmosisTwapRecord) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *OsmosisTwapRecord) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - n2, err2 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.LastErrorTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.LastErrorTime):]) - if err2 != nil { - return 0, err2 - } - i -= n2 - i = encodeVarintOsmosis(dAtA, i, uint64(n2)) - i-- - dAtA[i] = 0x5a - { - size := m.GeometricTwapAccumulator.Size() - i -= size - if _, err := m.GeometricTwapAccumulator.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintOsmosis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x52 - { - size := m.P1ArithmeticTwapAccumulator.Size() - i -= size - if _, err := m.P1ArithmeticTwapAccumulator.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintOsmosis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x4a - { - size := m.P0ArithmeticTwapAccumulator.Size() - i -= size - if _, err := m.P0ArithmeticTwapAccumulator.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintOsmosis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x42 - { - size := m.P1LastSpotPrice.Size() - i -= size - if _, err := m.P1LastSpotPrice.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintOsmosis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x3a - { - size := m.P0LastSpotPrice.Size() - i -= size - if _, err := m.P0LastSpotPrice.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintOsmosis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x32 - n3, err3 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.Time):]) - if err3 != nil { - return 0, err3 - } - i -= n3 - i = encodeVarintOsmosis(dAtA, i, uint64(n3)) - i-- - dAtA[i] = 0x2a - if m.Height != 0 { - i = encodeVarintOsmosis(dAtA, i, uint64(m.Height)) - i-- - dAtA[i] = 0x20 - } - if len(m.Asset1Denom) > 0 { - i -= len(m.Asset1Denom) - copy(dAtA[i:], m.Asset1Denom) - i = encodeVarintOsmosis(dAtA, i, uint64(len(m.Asset1Denom))) - i-- - dAtA[i] = 0x1a - } - if len(m.Asset0Denom) > 0 { - i -= len(m.Asset0Denom) - copy(dAtA[i:], m.Asset0Denom) - i = encodeVarintOsmosis(dAtA, i, uint64(len(m.Asset0Denom))) - i-- - dAtA[i] = 0x12 - } - if m.PoolId != 0 { - i = encodeVarintOsmosis(dAtA, i, uint64(m.PoolId)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func encodeVarintOsmosis(dAtA []byte, offset int, v uint64) int { - offset -= sovOsmosis(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *MsgSwapExactAmountIn) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Sender) - if l > 0 { - n += 1 + l + sovOsmosis(uint64(l)) - } - if len(m.Routes) > 0 { - for _, e := range m.Routes { - l = e.Size() - n += 1 + l + sovOsmosis(uint64(l)) - } - } - l = m.TokenIn.Size() - n += 1 + l + sovOsmosis(uint64(l)) - l = m.TokenOutMinAmount.Size() - n += 1 + l + sovOsmosis(uint64(l)) - return n -} - -func (m *SwapAmountInRoute) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.PoolId != 0 { - n += 1 + sovOsmosis(uint64(m.PoolId)) - } - l = len(m.TokenOutDenom) - if l > 0 { - n += 1 + l + sovOsmosis(uint64(l)) - } - return n -} - -func (m *OsmosisTwapRecord) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.PoolId != 0 { - n += 1 + sovOsmosis(uint64(m.PoolId)) - } - l = len(m.Asset0Denom) - if l > 0 { - n += 1 + l + sovOsmosis(uint64(l)) - } - l = len(m.Asset1Denom) - if l > 0 { - n += 1 + l + sovOsmosis(uint64(l)) - } - if m.Height != 0 { - n += 1 + sovOsmosis(uint64(m.Height)) - } - l = github_com_cosmos_gogoproto_types.SizeOfStdTime(m.Time) - n += 1 + l + sovOsmosis(uint64(l)) - l = m.P0LastSpotPrice.Size() - n += 1 + l + sovOsmosis(uint64(l)) - l = m.P1LastSpotPrice.Size() - n += 1 + l + sovOsmosis(uint64(l)) - l = m.P0ArithmeticTwapAccumulator.Size() - n += 1 + l + sovOsmosis(uint64(l)) - l = m.P1ArithmeticTwapAccumulator.Size() - n += 1 + l + sovOsmosis(uint64(l)) - l = m.GeometricTwapAccumulator.Size() - n += 1 + l + sovOsmosis(uint64(l)) - l = github_com_cosmos_gogoproto_types.SizeOfStdTime(m.LastErrorTime) - n += 1 + l + sovOsmosis(uint64(l)) - return n -} - -func sovOsmosis(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozOsmosis(x uint64) (n int) { - return sovOsmosis(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *MsgSwapExactAmountIn) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgSwapExactAmountIn: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSwapExactAmountIn: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthOsmosis - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthOsmosis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Sender = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Routes", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthOsmosis - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthOsmosis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Routes = append(m.Routes, SwapAmountInRoute{}) - if err := m.Routes[len(m.Routes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TokenIn", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthOsmosis - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthOsmosis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.TokenIn.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TokenOutMinAmount", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthOsmosis - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthOsmosis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.TokenOutMinAmount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipOsmosis(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthOsmosis - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *SwapAmountInRoute) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: SwapAmountInRoute: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: SwapAmountInRoute: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PoolId", wireType) - } - m.PoolId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PoolId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TokenOutDenom", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthOsmosis - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthOsmosis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.TokenOutDenom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipOsmosis(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthOsmosis - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *OsmosisTwapRecord) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: OsmosisTwapRecord: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: OsmosisTwapRecord: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PoolId", wireType) - } - m.PoolId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PoolId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Asset0Denom", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthOsmosis - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthOsmosis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Asset0Denom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Asset1Denom", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthOsmosis - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthOsmosis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Asset1Denom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) - } - m.Height = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Height |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthOsmosis - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthOsmosis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.Time, dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field P0LastSpotPrice", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthOsmosis - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthOsmosis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.P0LastSpotPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field P1LastSpotPrice", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthOsmosis - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthOsmosis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.P1LastSpotPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field P0ArithmeticTwapAccumulator", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthOsmosis - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthOsmosis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.P0ArithmeticTwapAccumulator.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field P1ArithmeticTwapAccumulator", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthOsmosis - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthOsmosis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.P1ArithmeticTwapAccumulator.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GeometricTwapAccumulator", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthOsmosis - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthOsmosis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.GeometricTwapAccumulator.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LastErrorTime", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowOsmosis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthOsmosis - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthOsmosis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.LastErrorTime, dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipOsmosis(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthOsmosis - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipOsmosis(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowOsmosis - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowOsmosis - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowOsmosis - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthOsmosis - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupOsmosis - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthOsmosis - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthOsmosis = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowOsmosis = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupOsmosis = fmt.Errorf("proto: unexpected end of group") -) From d5b24504b1348fee63883ebf77d63d24c4eb02f0 Mon Sep 17 00:00:00 2001 From: sampocs Date: Tue, 27 Aug 2024 15:40:26 -0500 Subject: [PATCH 2/5] updated type url to use poolmanager version --- x/stakeibc/keeper/reward_converter.go | 8 ++++---- x/stakeibc/keeper/reward_converter_test.go | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/x/stakeibc/keeper/reward_converter.go b/x/stakeibc/keeper/reward_converter.go index f173e69a7..ed487ce88 100644 --- a/x/stakeibc/keeper/reward_converter.go +++ b/x/stakeibc/keeper/reward_converter.go @@ -22,6 +22,8 @@ import ( "github.com/Stride-Labs/stride/v23/x/stakeibc/types" ) +const OsmosisSwapTypeUrl = "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountIn" + // JSON Memo for PFM transfers type PacketForwardMetadata struct { Forward *ForwardMetadata `json:"forward"` @@ -134,11 +136,9 @@ func (k Keeper) BuildTradeAuthzMsg( permissionChange types.AuthzPermissionChange, grantee string, ) (authzMsg []proto.Message, err error) { - swapMsgTypeUrl := "/" + proto.MessageName(&types.MsgSwapExactAmountIn{}) - switch permissionChange { case types.AuthzPermissionChange_GRANT: - authorization := authz.NewGenericAuthorization(swapMsgTypeUrl) + authorization := authz.NewGenericAuthorization(OsmosisSwapTypeUrl) expiration := ctx.BlockTime().Add(time.Hour * 24 * 365 * 100) // 100 years grant, err := authz.NewGrant(ctx.BlockTime(), authorization, &expiration) @@ -155,7 +155,7 @@ func (k Keeper) BuildTradeAuthzMsg( authzMsg = []proto.Message{&authz.MsgRevoke{ Granter: tradeRoute.TradeAccount.Address, Grantee: grantee, - MsgTypeUrl: swapMsgTypeUrl, + MsgTypeUrl: OsmosisSwapTypeUrl, }} default: diff --git a/x/stakeibc/keeper/reward_converter_test.go b/x/stakeibc/keeper/reward_converter_test.go index 567557855..78b42a3c1 100644 --- a/x/stakeibc/keeper/reward_converter_test.go +++ b/x/stakeibc/keeper/reward_converter_test.go @@ -332,7 +332,7 @@ func (s *KeeperTestSuite) TestBuildTradeAuthzMsg() { }, } - expectedTypeUrl := "/osmosis.gamm.v1beta1.MsgSwapExactAmountIn" + expectedTypeUrl := "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountIn" // Test granting trade permissions msgs, err := s.App.StakeibcKeeper.BuildTradeAuthzMsg(s.Ctx, tradeRoute, types.AuthzPermissionChange_GRANT, granteeAddress) From 1cd473f0147e23eb853429c07e2917e374f5331b Mon Sep 17 00:00:00 2001 From: sampocs Date: Tue, 27 Aug 2024 15:40:34 -0500 Subject: [PATCH 3/5] updated dockernet --- dockernet/config/ica_host.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockernet/config/ica_host.json b/dockernet/config/ica_host.json index 3ca3c342f..28aece145 100644 --- a/dockernet/config/ica_host.json +++ b/dockernet/config/ica_host.json @@ -24,7 +24,7 @@ "/ibc.applications.transfer.v1.MsgTransfer", "/cosmwasm.wasm.v1.MsgExecuteContract", "/cosmwasm.wasm.v1.MsgInstantiateContract", - "/osmosis.gamm.v1beta1.MsgSwapExactAmountIn" + "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountIn" ] } } From b21aceaa2afdc1edff5b8a33de7226fcbc4506f3 Mon Sep 17 00:00:00 2001 From: sampocs Date: Wed, 28 Aug 2024 08:43:52 -0500 Subject: [PATCH 4/5] removed osmosis from proto-gen --- scripts/protocgen.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/protocgen.sh b/scripts/protocgen.sh index b9cefb57c..96809217e 100644 --- a/scripts/protocgen.sh +++ b/scripts/protocgen.sh @@ -19,7 +19,6 @@ cd proto generate_protos "./stride" generate_protos "./cosmos" -generate_protos "./osmosis" cd .. From 392be8eb3969c6be45a60450a951c91627697637 Mon Sep 17 00:00:00 2001 From: sampocs Date: Wed, 28 Aug 2024 08:44:17 -0500 Subject: [PATCH 5/5] added optional legacy param to use gamm --- proto/stride/stakeibc/tx.proto | 2 + x/stakeibc/client/cli/tx.go | 8 + x/stakeibc/keeper/msg_server.go | 2 +- x/stakeibc/keeper/reward_converter.go | 15 +- x/stakeibc/keeper/reward_converter_test.go | 78 ++-- .../types/message_toggle_trade_controller.go | 3 +- x/stakeibc/types/tx.pb.go | 359 ++++++++++-------- 7 files changed, 274 insertions(+), 193 deletions(-) diff --git a/proto/stride/stakeibc/tx.proto b/proto/stride/stakeibc/tx.proto index 0cdc7127b..4ead692dc 100644 --- a/proto/stride/stakeibc/tx.proto +++ b/proto/stride/stakeibc/tx.proto @@ -407,6 +407,8 @@ message MsgToggleTradeController { AuthzPermissionChange permission_change = 3; // Address of trade operator string address = 4; + // Option to grant/revoke the legacy osmosis swap message + bool legacy = 5; } message MsgToggleTradeControllerResponse {} diff --git a/x/stakeibc/client/cli/tx.go b/x/stakeibc/client/cli/tx.go index 33171a75d..2b5bd663c 100644 --- a/x/stakeibc/client/cli/tx.go +++ b/x/stakeibc/client/cli/tx.go @@ -25,6 +25,7 @@ const ( FlagMaxRedemptionRate = "max-redemption-rate" FlagCommunityPoolTreasuryAddress = "community-pool-treasury-address" FlagMaxMessagesPerIcaTx = "max-messages-per-ica-tx" + FlagLegacy = "legacy" ) var DefaultRelativePacketTimeoutTimestamp = cast.ToUint64((time.Duration(10) * time.Minute).Nanoseconds()) @@ -798,6 +799,11 @@ Ex: } permissionChange := types.AuthzPermissionChange(permissionChangeInt) + legacy, err := cmd.Flags().GetBool(FlagLegacy) + if err != nil { + return err + } + clientCtx, err := client.GetClientTxContext(cmd) if err != nil { return err @@ -808,6 +814,7 @@ Ex: chainId, permissionChange, address, + legacy, ) if err := msg.ValidateBasic(); err != nil { return err @@ -817,6 +824,7 @@ Ex: } flags.AddTxFlagsToCmd(cmd) + cmd.Flags().Bool(FlagLegacy, false, "Use legacy osmosis swap message from gamm") return cmd } diff --git a/x/stakeibc/keeper/msg_server.go b/x/stakeibc/keeper/msg_server.go index 89d3e04d7..64c47f98a 100644 --- a/x/stakeibc/keeper/msg_server.go +++ b/x/stakeibc/keeper/msg_server.go @@ -788,7 +788,7 @@ func (k msgServer) ToggleTradeController( } // Build the authz message that grants or revokes trade permissions to the specified address - authzMsg, err := k.BuildTradeAuthzMsg(ctx, tradeRoute, msg.PermissionChange, msg.Address) + authzMsg, err := k.BuildTradeAuthzMsg(ctx, tradeRoute, msg.PermissionChange, msg.Address, msg.Legacy) if err != nil { return nil, err } diff --git a/x/stakeibc/keeper/reward_converter.go b/x/stakeibc/keeper/reward_converter.go index ed487ce88..d75db52cd 100644 --- a/x/stakeibc/keeper/reward_converter.go +++ b/x/stakeibc/keeper/reward_converter.go @@ -22,7 +22,10 @@ import ( "github.com/Stride-Labs/stride/v23/x/stakeibc/types" ) -const OsmosisSwapTypeUrl = "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountIn" +const ( + OsmosisSwapTypeUrl = "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountIn" + LegacyOsmosisSwapTypeUrl = "/osmosis.gamm.v1beta1.MsgSwapExactAmountIn" +) // JSON Memo for PFM transfers type PacketForwardMetadata struct { @@ -135,10 +138,16 @@ func (k Keeper) BuildTradeAuthzMsg( tradeRoute types.TradeRoute, permissionChange types.AuthzPermissionChange, grantee string, + legacy bool, ) (authzMsg []proto.Message, err error) { + messageTypeUrl := OsmosisSwapTypeUrl + if legacy { + messageTypeUrl = LegacyOsmosisSwapTypeUrl + } + switch permissionChange { case types.AuthzPermissionChange_GRANT: - authorization := authz.NewGenericAuthorization(OsmosisSwapTypeUrl) + authorization := authz.NewGenericAuthorization(messageTypeUrl) expiration := ctx.BlockTime().Add(time.Hour * 24 * 365 * 100) // 100 years grant, err := authz.NewGrant(ctx.BlockTime(), authorization, &expiration) @@ -155,7 +164,7 @@ func (k Keeper) BuildTradeAuthzMsg( authzMsg = []proto.Message{&authz.MsgRevoke{ Granter: tradeRoute.TradeAccount.Address, Grantee: grantee, - MsgTypeUrl: OsmosisSwapTypeUrl, + MsgTypeUrl: messageTypeUrl, }} default: diff --git a/x/stakeibc/keeper/reward_converter_test.go b/x/stakeibc/keeper/reward_converter_test.go index 78b42a3c1..2dfb3c212 100644 --- a/x/stakeibc/keeper/reward_converter_test.go +++ b/x/stakeibc/keeper/reward_converter_test.go @@ -332,38 +332,56 @@ func (s *KeeperTestSuite) TestBuildTradeAuthzMsg() { }, } - expectedTypeUrl := "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountIn" - - // Test granting trade permissions - msgs, err := s.App.StakeibcKeeper.BuildTradeAuthzMsg(s.Ctx, tradeRoute, types.AuthzPermissionChange_GRANT, granteeAddress) - s.Require().NoError(err, "no error expected when building grant message") - s.Require().Len(msgs, 1, "there should be one message") + testCases := map[bool]string{ + false: "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountIn", + true: "/osmosis.gamm.v1beta1.MsgSwapExactAmountIn", + } - grantMsg, ok := msgs[0].(*authz.MsgGrant) - s.Require().True(ok, "message should be of type grant") - s.Require().Equal(granterAddress, grantMsg.Granter, "granter of grant message") - s.Require().Equal(granteeAddress, grantMsg.Grantee, "grantee of grant message") + for legacy, expectedTypeUrl := range testCases { + // Test granting trade permissions + msgs, err := s.App.StakeibcKeeper.BuildTradeAuthzMsg( + s.Ctx, + tradeRoute, + types.AuthzPermissionChange_GRANT, + granteeAddress, + legacy, + ) + s.Require().NoError(err, "no error expected when building grant message") + s.Require().Len(msgs, 1, "there should be one message") + + grantMsg, ok := msgs[0].(*authz.MsgGrant) + s.Require().True(ok, "message should be of type grant") + s.Require().Equal(granterAddress, grantMsg.Granter, "granter of grant message") + s.Require().Equal(granteeAddress, grantMsg.Grantee, "grantee of grant message") + + authorization, err := grantMsg.Grant.GetAuthorization() + expectedExpiration := s.Ctx.BlockTime().Add(time.Hour * 24 * 365 * 100) + s.Require().NoError(err) + s.Require().Equal(expectedTypeUrl, authorization.MsgTypeURL(), "grant msg type url") + s.Require().Equal(expectedExpiration, *grantMsg.Grant.Expiration, "expiration should be one year from the current block time") + + // Test revoking trade permissions + msgs, err = s.App.StakeibcKeeper.BuildTradeAuthzMsg( + s.Ctx, + tradeRoute, + types.AuthzPermissionChange_REVOKE, + granteeAddress, + legacy, + ) + s.Require().NoError(err, "no error expected when building revoke message") + s.Require().Len(msgs, 1, "there should be one message") + + revokeMsg, ok := msgs[0].(*authz.MsgRevoke) + s.Require().True(ok, "message should be of type revoke") + s.Require().Equal(granterAddress, revokeMsg.Granter, "granter of revoke message") + s.Require().Equal(granteeAddress, revokeMsg.Grantee, "grantee of revoke message") + s.Require().Equal(expectedTypeUrl, revokeMsg.MsgTypeUrl, "revoke msg type url") + + // Test invalid permissions + _, err = s.App.StakeibcKeeper.BuildTradeAuthzMsg(s.Ctx, tradeRoute, 100, granteeAddress, legacy) + s.Require().ErrorContains(err, "invalid permission change") + } - authorization, err := grantMsg.Grant.GetAuthorization() - expectedExpiration := s.Ctx.BlockTime().Add(time.Hour * 24 * 365 * 100) - s.Require().NoError(err) - s.Require().Equal(expectedTypeUrl, authorization.MsgTypeURL(), "grant msg type url") - s.Require().Equal(expectedExpiration, *grantMsg.Grant.Expiration, "expiration should be one year from the current block time") - - // Test revoking trade permissions - msgs, err = s.App.StakeibcKeeper.BuildTradeAuthzMsg(s.Ctx, tradeRoute, types.AuthzPermissionChange_REVOKE, granteeAddress) - s.Require().NoError(err, "no error expected when building revoke message") - s.Require().Len(msgs, 1, "there should be one message") - - revokeMsg, ok := msgs[0].(*authz.MsgRevoke) - s.Require().True(ok, "message should be of type revoke") - s.Require().Equal(granterAddress, revokeMsg.Granter, "granter of revoke message") - s.Require().Equal(granteeAddress, revokeMsg.Grantee, "grantee of revoke message") - s.Require().Equal(expectedTypeUrl, revokeMsg.MsgTypeUrl, "revoke msg type url") - - // Test invalid permissions - _, err = s.App.StakeibcKeeper.BuildTradeAuthzMsg(s.Ctx, tradeRoute, 100, granteeAddress) - s.Require().ErrorContains(err, "invalid permission change") } // -------------------------------------------------------------- diff --git a/x/stakeibc/types/message_toggle_trade_controller.go b/x/stakeibc/types/message_toggle_trade_controller.go index 7fed54beb..0d5179093 100644 --- a/x/stakeibc/types/message_toggle_trade_controller.go +++ b/x/stakeibc/types/message_toggle_trade_controller.go @@ -15,12 +15,13 @@ const TypeMsgToggleTradeController = "toggle_trade_controller" var _ sdk.Msg = &MsgToggleTradeController{} -func NewMsgToggleTradeController(creator, chainId string, permissionChange AuthzPermissionChange, address string) *MsgToggleTradeController { +func NewMsgToggleTradeController(creator, chainId string, permissionChange AuthzPermissionChange, address string, legacy bool) *MsgToggleTradeController { return &MsgToggleTradeController{ Creator: creator, ChainId: chainId, PermissionChange: permissionChange, Address: address, + Legacy: legacy, } } diff --git a/x/stakeibc/types/tx.pb.go b/x/stakeibc/types/tx.pb.go index 47f9262eb..1518ff318 100644 --- a/x/stakeibc/types/tx.pb.go +++ b/x/stakeibc/types/tx.pb.go @@ -2210,6 +2210,8 @@ type MsgToggleTradeController struct { PermissionChange AuthzPermissionChange `protobuf:"varint,3,opt,name=permission_change,json=permissionChange,proto3,enum=stride.stakeibc.AuthzPermissionChange" json:"permission_change,omitempty"` // Address of trade operator Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"` + // Option to grant/revoke the legacy osmosis swap message + Legacy bool `protobuf:"varint,5,opt,name=legacy,proto3" json:"legacy,omitempty"` } func (m *MsgToggleTradeController) Reset() { *m = MsgToggleTradeController{} } @@ -2273,6 +2275,13 @@ func (m *MsgToggleTradeController) GetAddress() string { return "" } +func (m *MsgToggleTradeController) GetLegacy() bool { + if m != nil { + return m.Legacy + } + return false +} + type MsgToggleTradeControllerResponse struct { } @@ -2462,164 +2471,165 @@ func init() { func init() { proto.RegisterFile("stride/stakeibc/tx.proto", fileDescriptor_9b7e09c9ad51cd54) } var fileDescriptor_9b7e09c9ad51cd54 = []byte{ - // 2512 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xcd, 0x6f, 0x1b, 0xc7, - 0x15, 0x17, 0xf5, 0xad, 0x27, 0xc9, 0xa2, 0x56, 0x1f, 0xa6, 0xe8, 0x48, 0x94, 0x57, 0x4e, 0xaa, - 0xc8, 0x31, 0x19, 0x49, 0x46, 0x3f, 0x1c, 0xb7, 0xa8, 0x24, 0xbb, 0x89, 0x1a, 0xcb, 0x16, 0x56, - 0x8a, 0x1d, 0x18, 0x48, 0xb7, 0xc3, 0xdd, 0x31, 0xb9, 0xf0, 0x7e, 0x30, 0xbb, 0x4b, 0x89, 0xce, - 0xa1, 0x08, 0x0a, 0x14, 0x28, 0x0a, 0x14, 0x6d, 0x51, 0xe4, 0xd6, 0x43, 0x0a, 0xf4, 0x50, 0xb4, - 0x87, 0xe6, 0x90, 0x53, 0xff, 0x82, 0x14, 0xbd, 0x04, 0x39, 0x15, 0x3d, 0xa8, 0x81, 0x7d, 0x48, - 0x81, 0xde, 0x8c, 0xfe, 0x01, 0xc1, 0x7c, 0xec, 0x70, 0x77, 0x39, 0x24, 0x25, 0x46, 0x08, 0x72, - 0xb1, 0xbc, 0x33, 0xbf, 0x79, 0xef, 0xcd, 0xfb, 0x9a, 0xf7, 0x9e, 0x04, 0xb9, 0x20, 0xf4, 0x2d, - 0x13, 0x97, 0x82, 0x10, 0x3d, 0xc6, 0x56, 0xd9, 0x28, 0x85, 0x8d, 0x62, 0xcd, 0xf7, 0x42, 0x4f, - 0x99, 0x62, 0x3b, 0xc5, 0x68, 0x27, 0x5f, 0x48, 0x43, 0x8f, 0x90, 0x6d, 0x99, 0x28, 0xf4, 0x7c, - 0x76, 0x22, 0x3f, 0x5b, 0xf1, 0x2a, 0x1e, 0xfd, 0x6f, 0x89, 0xfc, 0x8f, 0xaf, 0x2e, 0x18, 0x5e, - 0xe0, 0x78, 0x81, 0xce, 0x36, 0xd8, 0x07, 0xdf, 0x5a, 0x62, 0x5f, 0xa5, 0x32, 0x0a, 0x70, 0xe9, - 0x68, 0xbd, 0x8c, 0x43, 0xb4, 0x5e, 0x32, 0x3c, 0xcb, 0xe5, 0xfb, 0x17, 0xf9, 0xbe, 0x13, 0x54, - 0x4a, 0x47, 0xeb, 0xe4, 0x07, 0xdf, 0x98, 0x46, 0x8e, 0xe5, 0x7a, 0x25, 0xfa, 0x2f, 0x5b, 0x52, - 0xff, 0xd9, 0x0f, 0xea, 0x5e, 0x50, 0x79, 0xab, 0x66, 0xa2, 0x10, 0xef, 0xba, 0x2e, 0xf6, 0x35, - 0x6c, 0x62, 0xa7, 0x16, 0x5a, 0x9e, 0xab, 0xa1, 0x10, 0x6f, 0x7b, 0x75, 0xd7, 0x0c, 0x94, 0x1c, - 0x8c, 0x18, 0x3e, 0x26, 0x42, 0xe7, 0x32, 0xcb, 0x99, 0xd5, 0x31, 0x2d, 0xfa, 0x54, 0x16, 0x60, - 0xd4, 0xa8, 0x22, 0xcb, 0xd5, 0x2d, 0x33, 0xd7, 0xcf, 0xb7, 0xc8, 0xf7, 0xae, 0xa9, 0x1c, 0xc3, - 0x82, 0x43, 0x36, 0x08, 0x55, 0xdd, 0x17, 0x64, 0x75, 0x1f, 0x85, 0x38, 0x37, 0x40, 0xb0, 0xdb, - 0x37, 0x3f, 0x39, 0x29, 0xf4, 0xfd, 0xfb, 0xa4, 0xf0, 0x52, 0xc5, 0x0a, 0xab, 0xf5, 0x72, 0xd1, - 0xf0, 0x1c, 0x7e, 0x57, 0xfe, 0xe3, 0x5a, 0x60, 0x3e, 0x2e, 0x85, 0x4f, 0x6a, 0x38, 0x28, 0xde, - 0xc2, 0xc6, 0x67, 0x1f, 0x5f, 0x03, 0xae, 0x8a, 0x5b, 0xd8, 0xd0, 0xe6, 0x1d, 0xcb, 0x95, 0xc8, - 0x4c, 0x19, 0xa3, 0x46, 0x1b, 0xc6, 0x83, 0xe7, 0xc2, 0x18, 0x35, 0x24, 0x8c, 0xd5, 0x57, 0x60, - 0xad, 0xbb, 0x32, 0x35, 0x1c, 0xd4, 0x3c, 0x37, 0xc0, 0xea, 0xef, 0x32, 0x70, 0x61, 0x2f, 0xa8, - 0xdc, 0xb1, 0xde, 0xad, 0x5b, 0xe6, 0x01, 0x71, 0x8f, 0x0e, 0x7a, 0xfe, 0x11, 0x0c, 0x23, 0xc7, - 0xab, 0xbb, 0x21, 0xd3, 0xf2, 0x76, 0xf1, 0x0c, 0x17, 0xd8, 0x75, 0x43, 0x8d, 0x9f, 0x56, 0x16, - 0x01, 0xaa, 0x5e, 0x10, 0xea, 0x26, 0x76, 0x3d, 0x87, 0x59, 0x41, 0x1b, 0x23, 0x2b, 0xb7, 0xc8, - 0x82, 0xfa, 0x7e, 0x06, 0xe6, 0x93, 0x32, 0x45, 0xe2, 0x2a, 0x8f, 0x60, 0x34, 0x08, 0xf5, 0xd0, - 0x7b, 0x8c, 0x5d, 0x2a, 0xdc, 0xf8, 0xc6, 0x42, 0x91, 0xeb, 0x84, 0x78, 0x62, 0x91, 0x7b, 0x62, - 0x71, 0xc7, 0xb3, 0xdc, 0xed, 0x57, 0x89, 0x78, 0x7f, 0xf9, 0x4f, 0x61, 0xf5, 0x14, 0xe2, 0x91, - 0x03, 0x81, 0x36, 0x12, 0x84, 0x87, 0x84, 0xb6, 0xfa, 0xa7, 0x0c, 0x4c, 0x13, 0x11, 0x0e, 0xf6, - 0xbe, 0x5e, 0xcd, 0x5c, 0x83, 0x19, 0x3b, 0x70, 0xd8, 0x05, 0x75, 0xab, 0x6c, 0x24, 0x54, 0x94, - 0xb5, 0x03, 0x87, 0x8a, 0xb7, 0x5b, 0x36, 0x98, 0xa6, 0xee, 0xc2, 0x42, 0x8b, 0x94, 0x42, 0x57, - 0xeb, 0x30, 0x1b, 0xfa, 0xc8, 0x0d, 0x90, 0x41, 0x1d, 0xcf, 0xf0, 0x9c, 0x9a, 0x8d, 0x43, 0x4c, - 0x45, 0x1f, 0xd5, 0x66, 0x62, 0x7b, 0x3b, 0x7c, 0x4b, 0xfd, 0x73, 0x06, 0xa6, 0xf6, 0x82, 0xca, - 0x8e, 0x8d, 0x91, 0xbf, 0x8d, 0x6c, 0xe4, 0x1a, 0xb8, 0xb7, 0xb0, 0x6b, 0xea, 0x63, 0xe0, 0x2b, - 0xe9, 0x83, 0x30, 0xaf, 0x22, 0xd7, 0xc5, 0x36, 0x8b, 0x19, 0x2d, 0xfa, 0x54, 0x17, 0xe0, 0x62, - 0x4a, 0x52, 0xe1, 0xd3, 0x7f, 0x65, 0x3e, 0x4d, 0xfc, 0x1e, 0x3b, 0x5f, 0x97, 0xe5, 0x2e, 0x01, - 0xf5, 0x60, 0xfd, 0x3d, 0xcf, 0xe5, 0x89, 0x45, 0x1b, 0x25, 0x0b, 0x0f, 0x3d, 0x17, 0x2b, 0x79, - 0x18, 0xf5, 0xb1, 0x81, 0xad, 0x23, 0xec, 0xf3, 0x7b, 0x88, 0x6f, 0x35, 0x47, 0x9d, 0x3d, 0x26, - 0xac, 0xb8, 0xc7, 0xdf, 0x86, 0x61, 0x86, 0x6e, 0x55, 0xac, 0x20, 0xc4, 0xfe, 0x1b, 0x11, 0xb5, - 0xef, 0xc3, 0xa4, 0xe1, 0xb9, 0x2e, 0x66, 0x76, 0x8d, 0x94, 0xbf, 0x9d, 0x7b, 0x7e, 0x52, 0x98, - 0x7d, 0x82, 0x1c, 0xfb, 0x86, 0x9a, 0xd8, 0x56, 0xb5, 0x89, 0xe6, 0xf7, 0xae, 0xa9, 0xa8, 0x30, - 0x51, 0xc6, 0x46, 0x75, 0x73, 0xa3, 0xe6, 0xe3, 0x47, 0x56, 0x23, 0x37, 0x41, 0x05, 0x4a, 0xac, - 0x29, 0xd7, 0x13, 0x11, 0xca, 0xd2, 0xd5, 0xdc, 0xf3, 0x93, 0xc2, 0x34, 0xa3, 0xdf, 0xdc, 0x53, - 0x63, 0x81, 0xab, 0xac, 0xc3, 0x58, 0xd3, 0x67, 0x87, 0xe8, 0xa1, 0xd9, 0xe7, 0x27, 0x85, 0x2c, - 0x3b, 0x24, 0xb6, 0x54, 0x6d, 0xd4, 0xe2, 0x1e, 0x1c, 0x37, 0xcc, 0x70, 0xd2, 0x30, 0x77, 0x81, - 0xb9, 0xe8, 0x23, 0xec, 0xeb, 0xdc, 0xe8, 0xe4, 0xae, 0x40, 0xc9, 0x2e, 0x3d, 0x3f, 0x29, 0xe4, - 0x19, 0x59, 0x09, 0x48, 0xd5, 0xa6, 0xa3, 0xd5, 0x1d, 0xb6, 0x48, 0x5d, 0x32, 0x5b, 0x77, 0xcb, - 0x9e, 0x6b, 0x5a, 0x6e, 0x45, 0xaf, 0x61, 0xdf, 0xf2, 0xcc, 0xdc, 0xf8, 0x72, 0x66, 0x75, 0x70, - 0xfb, 0xd2, 0xf3, 0x93, 0xc2, 0x45, 0x46, 0x2c, 0x8d, 0x50, 0xb5, 0x29, 0xb1, 0xb4, 0x4f, 0x57, - 0x14, 0x1b, 0x66, 0xc8, 0x8b, 0x92, 0x4e, 0xe9, 0x93, 0xe7, 0x90, 0xd2, 0xa7, 0x1d, 0xcb, 0x4d, - 0x3d, 0x23, 0x84, 0x1b, 0x6a, 0xb4, 0x70, 0xbb, 0x70, 0x2e, 0xdc, 0x50, 0x23, 0xc5, 0xed, 0x3b, - 0x90, 0x23, 0xe9, 0xc7, 0xa6, 0xd9, 0x44, 0xa7, 0xd5, 0x82, 0x8e, 0x5d, 0x54, 0xb6, 0xb1, 0x99, - 0x9b, 0xa2, 0x69, 0x63, 0xce, 0x0e, 0x9c, 0x58, 0xb2, 0xb9, 0xcd, 0x36, 0x95, 0xdb, 0x50, 0x30, - 0x3c, 0xc7, 0xa9, 0xbb, 0x56, 0xf8, 0x44, 0xaf, 0x79, 0x9e, 0xad, 0x87, 0x3e, 0x46, 0x41, 0xdd, - 0x7f, 0xa2, 0x23, 0xd3, 0xf4, 0x71, 0x10, 0xe4, 0xb2, 0xd4, 0xbc, 0x2f, 0x08, 0xd8, 0xbe, 0xe7, - 0xd9, 0x87, 0x1c, 0xb4, 0xc5, 0x30, 0xca, 0x75, 0xb8, 0x48, 0x6e, 0xeb, 0xe0, 0x20, 0x40, 0x15, - 0x1c, 0x10, 0x23, 0xe8, 0x96, 0x81, 0xf4, 0xb0, 0x91, 0x9b, 0x26, 0xa6, 0xd2, 0x88, 0x32, 0xf6, - 0xf8, 0xee, 0x3e, 0xf6, 0x77, 0x0d, 0x74, 0xd8, 0xb8, 0x31, 0xfa, 0xcb, 0x0f, 0x0b, 0x7d, 0xff, - 0xfd, 0xb0, 0xd0, 0xa7, 0x2e, 0xc2, 0x25, 0x49, 0xc0, 0x88, 0x80, 0xfa, 0x4d, 0x86, 0xe6, 0xcb, - 0x1d, 0x1b, 0x59, 0xce, 0x5b, 0xae, 0x89, 0x6d, 0x5c, 0x41, 0x21, 0x36, 0x69, 0x4e, 0xed, 0x54, - 0x5f, 0x2c, 0xc3, 0x84, 0x88, 0xed, 0x66, 0xb2, 0x83, 0x28, 0xbc, 0x77, 0x4d, 0x65, 0x16, 0x86, - 0x70, 0xcd, 0x33, 0xaa, 0x34, 0xf2, 0x07, 0x35, 0xf6, 0x91, 0x08, 0xfb, 0xa1, 0x64, 0xd8, 0xff, - 0x78, 0x70, 0x74, 0x30, 0x3b, 0xa4, 0xae, 0xc0, 0xe5, 0xb6, 0x02, 0x09, 0xb1, 0x43, 0x9e, 0x21, - 0xca, 0x2c, 0xcf, 0xdd, 0x8f, 0x6a, 0xb7, 0x4e, 0x22, 0x27, 0xd2, 0x51, 0x7f, 0x2a, 0x1d, 0xad, - 0xc0, 0xa4, 0x5b, 0x77, 0x74, 0x3f, 0xa2, 0xc8, 0xa5, 0x9e, 0x70, 0xeb, 0x8e, 0xe0, 0xa2, 0x2e, - 0xc3, 0x92, 0x9c, 0xab, 0x90, 0xeb, 0x17, 0x19, 0xc8, 0xee, 0x05, 0x95, 0x2d, 0xd3, 0xfc, 0xea, - 0x22, 0xdd, 0x00, 0x10, 0x35, 0x69, 0x90, 0x1b, 0x58, 0x1e, 0x58, 0x1d, 0xdf, 0xc8, 0x17, 0x53, - 0x75, 0x6c, 0x51, 0xf0, 0xd1, 0x62, 0x68, 0x35, 0x0f, 0xb9, 0xb4, 0x18, 0x42, 0xc6, 0x77, 0x60, - 0x4a, 0xac, 0x3e, 0xc0, 0x56, 0xa5, 0x1a, 0x2a, 0x1b, 0x30, 0x12, 0xf9, 0x64, 0x86, 0x25, 0xce, - 0xcf, 0x3e, 0xbe, 0x36, 0xcb, 0x03, 0x83, 0x7b, 0xe2, 0x41, 0xe8, 0x5b, 0x6e, 0x45, 0x8b, 0x80, - 0xca, 0x3c, 0x0c, 0x1f, 0xd3, 0xd3, 0x54, 0xf0, 0x41, 0x8d, 0x7f, 0xa9, 0x7f, 0xe4, 0x1e, 0x55, - 0x45, 0x6e, 0x05, 0xa7, 0x18, 0xf5, 0xac, 0x8b, 0x3d, 0x98, 0x16, 0xb7, 0xd3, 0x19, 0xa3, 0x48, - 0x25, 0xcb, 0xed, 0x55, 0xc2, 0x98, 0x6a, 0xd9, 0xa3, 0x94, 0x14, 0x91, 0x8f, 0x49, 0x45, 0x14, - 0x7a, 0x7a, 0x3f, 0x03, 0xca, 0x5e, 0x50, 0xb9, 0x85, 0x49, 0x1d, 0x20, 0x50, 0xbd, 0xde, 0x60, - 0x13, 0x46, 0x8f, 0x90, 0x4d, 0x43, 0x9f, 0x17, 0x00, 0x1d, 0x74, 0x7c, 0x84, 0x6c, 0xb2, 0xa2, - 0xbe, 0x00, 0xf9, 0x56, 0x09, 0x84, 0x80, 0x7f, 0xc8, 0xf0, 0xd8, 0x0e, 0x42, 0xcf, 0xc7, 0xbb, - 0x6e, 0x88, 0x7d, 0x5a, 0x6c, 0x6c, 0x19, 0x86, 0xa8, 0x14, 0xce, 0x5c, 0xa6, 0xac, 0xa4, 0x5f, - 0x52, 0xf6, 0x70, 0x27, 0xdf, 0xcb, 0x15, 0x98, 0x44, 0x8c, 0x89, 0xee, 0x1d, 0xbb, 0xe2, 0x05, - 0x9f, 0xe0, 0x8b, 0xf7, 0xc8, 0x9a, 0xfa, 0x22, 0xac, 0x74, 0x90, 0x4e, 0xdc, 0x62, 0x9f, 0x27, - 0x20, 0x2f, 0xc0, 0xb7, 0x58, 0xb4, 0x93, 0xf2, 0x8b, 0xbd, 0x51, 0x3d, 0x5d, 0x41, 0x64, 0x10, - 0x19, 0x45, 0xc1, 0xf6, 0x5d, 0x58, 0x16, 0x3d, 0x81, 0x50, 0xed, 0x41, 0x15, 0xf9, 0x38, 0xb8, - 0xdd, 0x30, 0xaa, 0x34, 0xf7, 0xf7, 0xa4, 0xc0, 0x1c, 0x10, 0xf3, 0x79, 0x35, 0xcc, 0xed, 0xac, - 0x45, 0x9f, 0xea, 0x1a, 0xac, 0x76, 0x63, 0x29, 0xc4, 0xab, 0xd0, 0x04, 0xb7, 0x83, 0x6c, 0xab, - 0x4c, 0x5e, 0xb7, 0xe6, 0x3d, 0xce, 0x5b, 0x28, 0x96, 0xd3, 0x24, 0x8c, 0x84, 0x28, 0x6f, 0xd0, - 0xba, 0x5f, 0xc3, 0x41, 0xdd, 0xc1, 0xa2, 0xe0, 0xea, 0xc9, 0x30, 0x97, 0xa8, 0xa9, 0x93, 0x94, - 0x04, 0x9b, 0xff, 0x8f, 0xd2, 0xd2, 0x6e, 0x87, 0x90, 0xc1, 0x87, 0x3e, 0x32, 0xb1, 0xe6, 0xd5, - 0x43, 0xac, 0x7c, 0x1b, 0xc6, 0x50, 0x3d, 0xac, 0x7a, 0xbe, 0x15, 0x3e, 0xe9, 0x9a, 0x9d, 0x9a, - 0x50, 0x45, 0x85, 0x49, 0x1a, 0x8d, 0x29, 0x61, 0xc6, 0xc9, 0xe2, 0x0e, 0x57, 0xcb, 0x36, 0x2c, - 0xb1, 0xe4, 0xa1, 0x87, 0x9e, 0xee, 0xe3, 0x63, 0xe4, 0x9b, 0xba, 0xcc, 0xfb, 0xf3, 0x0c, 0x75, - 0xe8, 0x69, 0x14, 0xb3, 0x13, 0x8f, 0x85, 0x1f, 0xc2, 0x62, 0x93, 0x46, 0x48, 0xe4, 0x4e, 0x91, - 0x60, 0xb1, 0xb1, 0x10, 0x91, 0xa0, 0x57, 0x4b, 0x50, 0xd8, 0x05, 0x56, 0x3d, 0x36, 0x65, 0x90, - 0x55, 0x79, 0xec, 0xb5, 0x5c, 0x24, 0xc8, 0x48, 0x8e, 0xc3, 0x96, 0x8a, 0xee, 0x4d, 0x58, 0x89, - 0x48, 0x44, 0xc2, 0xc8, 0x68, 0xb1, 0xba, 0x72, 0x89, 0x41, 0xb9, 0x48, 0xad, 0xc4, 0x5e, 0x87, - 0xcb, 0x9c, 0x84, 0xa7, 0x33, 0x01, 0x25, 0xa4, 0x46, 0x58, 0x0d, 0x43, 0x81, 0x87, 0x1e, 0xb1, - 0x6a, 0x2b, 0xa1, 0x12, 0xcc, 0x72, 0xa9, 0x68, 0xb1, 0xab, 0x7b, 0x2e, 0xa5, 0x97, 0x1b, 0xa5, - 0x67, 0xa7, 0xd9, 0x1e, 0x2d, 0x7e, 0xef, 0xb9, 0x84, 0x82, 0xb2, 0x09, 0xf3, 0xe9, 0x03, 0xec, - 0x3b, 0x37, 0x46, 0x8f, 0xcc, 0x24, 0x8e, 0x30, 0x65, 0x28, 0xeb, 0x30, 0x97, 0x3e, 0x44, 0xa5, - 0x62, 0xf5, 0xb1, 0xa6, 0x24, 0xce, 0xd0, 0x2b, 0x93, 0xde, 0xb2, 0x59, 0xb7, 0x37, 0x0f, 0x8c, - 0xb3, 0xde, 0x52, 0x54, 0xf1, 0x11, 0xfc, 0x2a, 0x28, 0x49, 0x38, 0xbd, 0x05, 0x6b, 0x16, 0xa6, - 0x62, 0x68, 0x7a, 0x87, 0x4b, 0x30, 0x42, 0xab, 0x3e, 0xcb, 0xa4, 0x85, 0xf0, 0xe0, 0x76, 0x7f, - 0x2e, 0xa3, 0x0d, 0x93, 0xa5, 0x5d, 0x53, 0xf9, 0x01, 0xe4, 0x49, 0x55, 0x87, 0x6c, 0xdb, 0x3b, - 0xc6, 0xa6, 0x1e, 0x1c, 0xa3, 0x9a, 0x6e, 0x7b, 0x41, 0x10, 0x2f, 0x65, 0x09, 0x7e, 0xde, 0x41, - 0x8d, 0x2d, 0x06, 0x3a, 0x38, 0x46, 0xb5, 0x3b, 0x5e, 0x10, 0xd0, 0xcc, 0x74, 0x1f, 0xa6, 0x48, - 0xc5, 0x4d, 0xcf, 0xf1, 0x5e, 0x6d, 0xaa, 0xa7, 0x5e, 0x6d, 0xd2, 0xb1, 0x5c, 0x42, 0x79, 0x8b, - 0xb5, 0x6c, 0x84, 0x2e, 0x6a, 0x24, 0xe8, 0x66, 0x7b, 0xa4, 0x8b, 0x1a, 0x31, 0xba, 0x3f, 0x61, - 0x1d, 0x82, 0x70, 0x20, 0x4e, 0x7b, 0xba, 0x27, 0xda, 0xa4, 0x27, 0x88, 0x9c, 0x8c, 0xd1, 0xbf, - 0xf1, 0xdd, 0x9f, 0x7f, 0xf1, 0xd1, 0x5a, 0x33, 0xf8, 0x7f, 0xf5, 0xc5, 0x47, 0x6b, 0x2f, 0xf2, - 0x01, 0x5f, 0xa3, 0x39, 0xe2, 0x93, 0xa4, 0x17, 0x5e, 0x1f, 0xa7, 0x97, 0x45, 0x56, 0xfa, 0x47, - 0x86, 0x66, 0x25, 0xf6, 0x04, 0x9f, 0x43, 0x56, 0xba, 0x0c, 0x13, 0x71, 0x27, 0x8d, 0x92, 0x52, - 0xcc, 0x37, 0xbb, 0x8c, 0x82, 0x4e, 0x7f, 0xd5, 0xb4, 0xcc, 0xfc, 0xaa, 0xe9, 0x65, 0x71, 0xd5, - 0xbf, 0x0f, 0xd2, 0xab, 0xb2, 0xf7, 0xe9, 0x9b, 0x70, 0xd5, 0x78, 0x08, 0x0d, 0x9e, 0x31, 0x84, - 0x86, 0xba, 0x86, 0xd0, 0xdb, 0xad, 0x21, 0x44, 0xd3, 0x22, 0x9b, 0x91, 0x9d, 0xde, 0x1d, 0x73, - 0x99, 0x74, 0x10, 0xbd, 0xdd, 0x1a, 0x44, 0x23, 0x3d, 0x53, 0xfe, 0x66, 0x86, 0x51, 0xda, 0x49, - 0xb8, 0x6f, 0xa5, 0x97, 0x85, 0x6f, 0xfd, 0xaf, 0x9f, 0x3e, 0xfd, 0x07, 0x38, 0xdc, 0x89, 0x37, - 0xbb, 0xa4, 0x95, 0x0a, 0x31, 0x69, 0x3f, 0x12, 0xc5, 0x44, 0xa7, 0xd2, 0xf8, 0x14, 0xc5, 0xce, - 0x3d, 0x18, 0xf7, 0x29, 0xe1, 0xf8, 0x48, 0xbb, 0x78, 0xb6, 0xc1, 0x80, 0x06, 0x8c, 0x04, 0x75, - 0x95, 0x1a, 0x2c, 0xc6, 0xfb, 0x7f, 0xf2, 0x83, 0xcf, 0x23, 0xb9, 0x01, 0x06, 0x7b, 0x32, 0xc0, - 0x82, 0xdd, 0x9c, 0x1a, 0x98, 0x07, 0x6c, 0xcc, 0xca, 0x0d, 0x71, 0x93, 0x18, 0x22, 0xba, 0x2b, - 0x31, 0xc3, 0x55, 0xa9, 0x19, 0xe4, 0xfa, 0xe4, 0x05, 0xb0, 0x7c, 0x53, 0x98, 0xe4, 0x83, 0x7e, - 0xda, 0x23, 0x1e, 0x7a, 0x95, 0x8a, 0x8d, 0xa3, 0xa2, 0x24, 0xf4, 0x3d, 0xdb, 0xc6, 0xfe, 0x79, - 0x5b, 0xe4, 0x00, 0xa6, 0x6b, 0xd8, 0x77, 0xac, 0x20, 0xa0, 0x63, 0x57, 0xda, 0x77, 0x51, 0xbb, - 0x5c, 0xd8, 0x78, 0xa9, 0xa5, 0x7d, 0xdb, 0xaa, 0x87, 0xd5, 0xf7, 0xf6, 0x05, 0x9c, 0x75, 0x69, - 0x5a, 0xb6, 0x96, 0x5a, 0x21, 0x25, 0x68, 0xd4, 0xb4, 0xf2, 0x41, 0x28, 0xff, 0xbc, 0xf1, 0x5a, - 0x5a, 0x7b, 0x6b, 0x52, 0xed, 0x49, 0xaf, 0xae, 0xaa, 0xb4, 0x31, 0x90, 0xee, 0x09, 0xdd, 0x7d, - 0x9e, 0xa1, 0xa3, 0x56, 0xe6, 0xee, 0x51, 0x25, 0xbb, 0x8f, 0x7c, 0xe4, 0x04, 0x3d, 0xa7, 0xcb, - 0x0e, 0xea, 0xeb, 0x30, 0x03, 0x1a, 0x68, 0x3f, 0x03, 0xba, 0xd9, 0x1a, 0xcc, 0x2f, 0x77, 0x08, - 0xe6, 0xe4, 0x35, 0xd4, 0xcb, 0x50, 0x68, 0xb3, 0x15, 0x69, 0x61, 0xad, 0x08, 0x73, 0x52, 0x5b, - 0x29, 0x63, 0x30, 0xf4, 0xba, 0xb6, 0x75, 0xf7, 0x30, 0xdb, 0xa7, 0x00, 0x0c, 0x6b, 0xb7, 0xef, - 0xdf, 0x7b, 0xf3, 0x76, 0x36, 0xb3, 0xf1, 0xc1, 0x0c, 0x0c, 0xec, 0x05, 0x15, 0xe5, 0x01, 0x8c, - 0xc7, 0x7f, 0x85, 0x50, 0x68, 0xf1, 0x80, 0xe4, 0x6f, 0x3a, 0xf2, 0xdf, 0xea, 0x02, 0x10, 0xe3, - 0xfd, 0x9f, 0xc2, 0x85, 0xd4, 0xaf, 0x27, 0x54, 0xe9, 0xd1, 0x04, 0x26, 0xbf, 0xd6, 0x1d, 0x23, - 0x38, 0x3c, 0x80, 0xf1, 0xf8, 0x0c, 0x5d, 0x2a, 0x7a, 0x0c, 0x20, 0x17, 0x5d, 0x32, 0xd8, 0x56, - 0x1e, 0x41, 0xb6, 0x65, 0xa8, 0x7d, 0x45, 0x7e, 0x38, 0x89, 0xca, 0xbf, 0x72, 0x1a, 0x94, 0xe0, - 0xd3, 0x80, 0xf9, 0x36, 0xb3, 0x3e, 0xa9, 0x1a, 0xe4, 0xd8, 0xfc, 0xc6, 0xe9, 0xb1, 0x82, 0xb3, - 0x07, 0x33, 0xb2, 0x79, 0x5d, 0x1b, 0x0d, 0xb5, 0x00, 0xf3, 0xa5, 0x53, 0x02, 0x05, 0xc3, 0x77, - 0x60, 0x32, 0x39, 0x87, 0xbb, 0x2c, 0xa3, 0x90, 0x80, 0xe4, 0x5f, 0xee, 0x0a, 0x11, 0xe4, 0x8f, - 0x61, 0x4e, 0x3a, 0x40, 0x6a, 0xa3, 0x48, 0xe9, 0xac, 0xa9, 0x8d, 0x22, 0x3b, 0xce, 0xa5, 0x14, - 0x03, 0xa6, 0xd2, 0x33, 0xa9, 0x15, 0x19, 0x99, 0x14, 0x28, 0x7f, 0xf5, 0x14, 0x20, 0xc1, 0xe4, - 0x67, 0x90, 0x6b, 0x3b, 0x57, 0x6a, 0xe3, 0x71, 0x72, 0x74, 0xfe, 0xfa, 0x59, 0xd0, 0x49, 0x3f, - 0x95, 0x8e, 0x84, 0xda, 0xf8, 0xa9, 0x0c, 0xdb, 0xce, 0x4f, 0x3b, 0x0d, 0x86, 0x94, 0x5f, 0x67, - 0x60, 0xb1, 0xf3, 0x58, 0x68, 0x5d, 0x46, 0xb5, 0xe3, 0x91, 0xfc, 0xf7, 0xce, 0x7c, 0x24, 0x1e, - 0x37, 0xb2, 0x31, 0x90, 0x34, 0x6e, 0x24, 0x40, 0x79, 0xdc, 0x74, 0x98, 0xf7, 0x28, 0x0f, 0x61, - 0x22, 0xf1, 0xdb, 0xce, 0x65, 0xb9, 0x12, 0x9b, 0x88, 0xfc, 0x6a, 0x37, 0x84, 0xa0, 0xfd, 0xfb, - 0x0c, 0x14, 0xba, 0xfd, 0x51, 0xc3, 0x66, 0x7b, 0x5d, 0xb5, 0x3d, 0x94, 0x7f, 0xad, 0x87, 0x43, - 0xf1, 0x77, 0x23, 0x35, 0xde, 0x52, 0xdb, 0x38, 0x6d, 0x0c, 0x23, 0x7f, 0x37, 0xe4, 0xc3, 0x2d, - 0x92, 0xde, 0x5b, 0x06, 0x5b, 0xd2, 0xf4, 0x9e, 0x46, 0xc9, 0xd3, 0x7b, 0xbb, 0x76, 0x95, 0xf0, - 0x69, 0x69, 0x55, 0xaf, 0xb4, 0x8f, 0xfb, 0x6e, 0x7c, 0xda, 0xf5, 0x8a, 0x84, 0x4f, 0x4b, 0x9f, - 0x78, 0xa5, 0xbd, 0x09, 0xba, 0xf1, 0x69, 0xd7, 0x37, 0x90, 0x34, 0xd0, 0xa6, 0x67, 0x90, 0x6a, - 0x5f, 0x8e, 0x95, 0xa7, 0x81, 0xce, 0xe5, 0xb1, 0x52, 0x87, 0x39, 0x79, 0x69, 0x2c, 0x7d, 0x22, - 0xa4, 0xd0, 0xfc, 0xfa, 0xa9, 0xa1, 0x82, 0xad, 0x0f, 0xb3, 0xd2, 0xaa, 0x72, 0xb5, 0xbd, 0xda, - 0x92, 0xc8, 0xfc, 0xab, 0xa7, 0x45, 0x46, 0x3c, 0xb7, 0xef, 0x7c, 0xf2, 0x74, 0x29, 0xf3, 0xe9, - 0xd3, 0xa5, 0xcc, 0xe7, 0x4f, 0x97, 0x32, 0xbf, 0x7d, 0xb6, 0xd4, 0xf7, 0xe9, 0xb3, 0xa5, 0xbe, - 0x7f, 0x3d, 0x5b, 0xea, 0x7b, 0xb8, 0x11, 0xeb, 0x64, 0x0e, 0x28, 0xd5, 0x6b, 0x77, 0x50, 0x39, - 0x28, 0xf1, 0x32, 0xf2, 0x68, 0x63, 0x33, 0x5e, 0x4a, 0xd2, 0xce, 0xa6, 0x3c, 0x4c, 0xff, 0x82, - 0x69, 0xf3, 0xcb, 0x00, 0x00, 0x00, 0xff, 0xff, 0x38, 0x8a, 0x6d, 0x3c, 0x8c, 0x25, 0x00, 0x00, + // 2525 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4b, 0x6f, 0x1b, 0xd7, + 0xf5, 0x17, 0xf5, 0xa4, 0x8e, 0x24, 0x8b, 0x1a, 0x3d, 0x4c, 0xd1, 0x91, 0x28, 0x8f, 0x92, 0xfc, + 0x15, 0x25, 0x26, 0x23, 0x29, 0xf8, 0xb7, 0x75, 0xd2, 0xa2, 0x92, 0xec, 0x26, 0x6a, 0xac, 0x58, + 0x18, 0x29, 0x76, 0x60, 0x20, 0x9d, 0x5e, 0xce, 0x5c, 0x93, 0x03, 0xcf, 0x83, 0x99, 0x19, 0x4a, + 0x54, 0x16, 0x45, 0x50, 0xa0, 0x40, 0x51, 0xa0, 0x68, 0x8b, 0xa2, 0xbb, 0x2e, 0x52, 0xa0, 0x8b, + 0xa2, 0x45, 0xd1, 0x2c, 0xb2, 0xea, 0x27, 0x48, 0xd1, 0x4d, 0x90, 0x55, 0xd1, 0x85, 0x1a, 0xd8, + 0x8b, 0x14, 0xe8, 0xce, 0xe8, 0x07, 0x28, 0xee, 0x63, 0x2e, 0x67, 0x86, 0x97, 0xa4, 0xc4, 0x08, + 0x41, 0x36, 0x96, 0xe7, 0xde, 0xdf, 0x3d, 0xe7, 0xdc, 0xf3, 0xba, 0xe7, 0x1c, 0x09, 0xf2, 0x41, + 0xe8, 0x5b, 0x26, 0x2e, 0x07, 0x21, 0x7a, 0x84, 0xad, 0x8a, 0x51, 0x0e, 0x9b, 0xa5, 0xba, 0xef, + 0x85, 0x9e, 0x32, 0xcd, 0x76, 0x4a, 0xd1, 0x4e, 0xa1, 0x98, 0x86, 0x1e, 0x23, 0xdb, 0x32, 0x51, + 0xe8, 0xf9, 0xec, 0x44, 0x61, 0xae, 0xea, 0x55, 0x3d, 0xfa, 0xdf, 0x32, 0xf9, 0x1f, 0x5f, 0x5d, + 0x34, 0xbc, 0xc0, 0xf1, 0x02, 0x9d, 0x6d, 0xb0, 0x0f, 0xbe, 0xb5, 0xcc, 0xbe, 0xca, 0x15, 0x14, + 0xe0, 0xf2, 0xf1, 0x46, 0x05, 0x87, 0x68, 0xa3, 0x6c, 0x78, 0x96, 0xcb, 0xf7, 0xaf, 0xf2, 0x7d, + 0x27, 0xa8, 0x96, 0x8f, 0x37, 0xc8, 0x0f, 0xbe, 0x31, 0x83, 0x1c, 0xcb, 0xf5, 0xca, 0xf4, 0x5f, + 0xb6, 0xa4, 0xfe, 0x7d, 0x10, 0xd4, 0xfd, 0xa0, 0xfa, 0x76, 0xdd, 0x44, 0x21, 0xde, 0x73, 0x5d, + 0xec, 0x6b, 0xd8, 0xc4, 0x4e, 0x3d, 0xb4, 0x3c, 0x57, 0x43, 0x21, 0xde, 0xf1, 0x1a, 0xae, 0x19, + 0x28, 0x79, 0x18, 0x33, 0x7c, 0x4c, 0x84, 0xce, 0x67, 0x56, 0x32, 0x6b, 0xe3, 0x5a, 0xf4, 0xa9, + 0x2c, 0x42, 0xd6, 0xa8, 0x21, 0xcb, 0xd5, 0x2d, 0x33, 0x3f, 0xc8, 0xb7, 0xc8, 0xf7, 0x9e, 0xa9, + 0x9c, 0xc0, 0xa2, 0x43, 0x36, 0x08, 0x55, 0xdd, 0x17, 0x64, 0x75, 0x1f, 0x85, 0x38, 0x3f, 0x44, + 0xb0, 0x3b, 0xaf, 0x7d, 0x72, 0x56, 0x1c, 0xf8, 0xe7, 0x59, 0xf1, 0xf9, 0xaa, 0x15, 0xd6, 0x1a, + 0x95, 0x92, 0xe1, 0x39, 0xfc, 0xae, 0xfc, 0xc7, 0x8d, 0xc0, 0x7c, 0x54, 0x0e, 0x4f, 0xeb, 0x38, + 0x28, 0xdd, 0xc2, 0xc6, 0x67, 0x1f, 0xdf, 0x00, 0xae, 0x8a, 0x5b, 0xd8, 0xd0, 0x16, 0x1c, 0xcb, + 0x95, 0xc8, 0x4c, 0x19, 0xa3, 0x66, 0x07, 0xc6, 0xc3, 0x97, 0xc2, 0x18, 0x35, 0x25, 0x8c, 0xd5, + 0x97, 0x60, 0xbd, 0xb7, 0x32, 0x35, 0x1c, 0xd4, 0x3d, 0x37, 0xc0, 0xea, 0xaf, 0x32, 0x70, 0x65, + 0x3f, 0xa8, 0xde, 0xb1, 0xde, 0x6b, 0x58, 0xe6, 0x21, 0x71, 0x8f, 0x2e, 0x7a, 0xfe, 0x1e, 0x8c, + 0x22, 0xc7, 0x6b, 0xb8, 0x21, 0xd3, 0xf2, 0x4e, 0xe9, 0x02, 0x17, 0xd8, 0x73, 0x43, 0x8d, 0x9f, + 0x56, 0x96, 0x00, 0x6a, 0x5e, 0x10, 0xea, 0x26, 0x76, 0x3d, 0x87, 0x59, 0x41, 0x1b, 0x27, 0x2b, + 0xb7, 0xc8, 0x82, 0xfa, 0x41, 0x06, 0x16, 0x92, 0x32, 0x45, 0xe2, 0x2a, 0x0f, 0x21, 0x1b, 0x84, + 0x7a, 0xe8, 0x3d, 0xc2, 0x2e, 0x15, 0x6e, 0x62, 0x73, 0xb1, 0xc4, 0x75, 0x42, 0x3c, 0xb1, 0xc4, + 0x3d, 0xb1, 0xb4, 0xeb, 0x59, 0xee, 0xce, 0xcb, 0x44, 0xbc, 0x3f, 0xfe, 0xab, 0xb8, 0x76, 0x0e, + 0xf1, 0xc8, 0x81, 0x40, 0x1b, 0x0b, 0xc2, 0x23, 0x42, 0x5b, 0xfd, 0x7d, 0x06, 0x66, 0x88, 0x08, + 0x87, 0xfb, 0x5f, 0xad, 0x66, 0x6e, 0xc0, 0xac, 0x1d, 0x38, 0xec, 0x82, 0xba, 0x55, 0x31, 0x12, + 0x2a, 0xca, 0xd9, 0x81, 0x43, 0xc5, 0xdb, 0xab, 0x18, 0x4c, 0x53, 0x6f, 0xc1, 0x62, 0x9b, 0x94, + 0x42, 0x57, 0x1b, 0x30, 0x17, 0xfa, 0xc8, 0x0d, 0x90, 0x41, 0x1d, 0xcf, 0xf0, 0x9c, 0xba, 0x8d, + 0x43, 0x4c, 0x45, 0xcf, 0x6a, 0xb3, 0xb1, 0xbd, 0x5d, 0xbe, 0xa5, 0xfe, 0x21, 0x03, 0xd3, 0xfb, + 0x41, 0x75, 0xd7, 0xc6, 0xc8, 0xdf, 0x41, 0x36, 0x72, 0x0d, 0xdc, 0x5f, 0xd8, 0xb5, 0xf4, 0x31, + 0xf4, 0xa5, 0xf4, 0x41, 0x98, 0xd7, 0x90, 0xeb, 0x62, 0x9b, 0xc5, 0x8c, 0x16, 0x7d, 0xaa, 0x8b, + 0x70, 0x35, 0x25, 0xa9, 0xf0, 0xe9, 0x3f, 0x31, 0x9f, 0x26, 0x7e, 0x8f, 0x9d, 0xaf, 0xca, 0x72, + 0xd7, 0x80, 0x7a, 0xb0, 0xfe, 0xbe, 0xe7, 0xf2, 0xc4, 0xa2, 0x65, 0xc9, 0xc2, 0x03, 0xcf, 0xc5, + 0x4a, 0x01, 0xb2, 0x3e, 0x36, 0xb0, 0x75, 0x8c, 0x7d, 0x7e, 0x0f, 0xf1, 0xad, 0xe6, 0xa9, 0xb3, + 0xc7, 0x84, 0x15, 0xf7, 0xf8, 0xcb, 0x28, 0xcc, 0xd2, 0xad, 0xaa, 0x15, 0x84, 0xd8, 0x7f, 0x23, + 0xa2, 0xf6, 0x6d, 0x98, 0x32, 0x3c, 0xd7, 0xc5, 0xcc, 0xae, 0x91, 0xf2, 0x77, 0xf2, 0x4f, 0xcf, + 0x8a, 0x73, 0xa7, 0xc8, 0xb1, 0x6f, 0xaa, 0x89, 0x6d, 0x55, 0x9b, 0x6c, 0x7d, 0xef, 0x99, 0x8a, + 0x0a, 0x93, 0x15, 0x6c, 0xd4, 0xb6, 0x36, 0xeb, 0x3e, 0x7e, 0x68, 0x35, 0xf3, 0x93, 0x54, 0xa0, + 0xc4, 0x9a, 0xf2, 0x4a, 0x22, 0x42, 0x59, 0xba, 0x9a, 0x7f, 0x7a, 0x56, 0x9c, 0x61, 0xf4, 0x5b, + 0x7b, 0x6a, 0x2c, 0x70, 0x95, 0x0d, 0x18, 0x6f, 0xf9, 0xec, 0x08, 0x3d, 0x34, 0xf7, 0xf4, 0xac, + 0x98, 0x63, 0x87, 0xc4, 0x96, 0xaa, 0x65, 0x2d, 0xee, 0xc1, 0x71, 0xc3, 0x8c, 0x26, 0x0d, 0xf3, + 0x16, 0x30, 0x17, 0x7d, 0x88, 0x7d, 0x9d, 0x1b, 0x9d, 0xdc, 0x15, 0x28, 0xd9, 0xe5, 0xa7, 0x67, + 0xc5, 0x02, 0x23, 0x2b, 0x01, 0xa9, 0xda, 0x4c, 0xb4, 0xba, 0xcb, 0x16, 0xa9, 0x4b, 0xe6, 0x1a, + 0x6e, 0xc5, 0x73, 0x4d, 0xcb, 0xad, 0xea, 0x75, 0xec, 0x5b, 0x9e, 0x99, 0x9f, 0x58, 0xc9, 0xac, + 0x0d, 0xef, 0x5c, 0x7b, 0x7a, 0x56, 0xbc, 0xca, 0x88, 0xa5, 0x11, 0xaa, 0x36, 0x2d, 0x96, 0x0e, + 0xe8, 0x8a, 0x62, 0xc3, 0x2c, 0x79, 0x51, 0xd2, 0x29, 0x7d, 0xea, 0x12, 0x52, 0xfa, 0x8c, 0x63, + 0xb9, 0xa9, 0x67, 0x84, 0x70, 0x43, 0xcd, 0x36, 0x6e, 0x57, 0x2e, 0x85, 0x1b, 0x6a, 0xa6, 0xb8, + 0x7d, 0x03, 0xf2, 0x24, 0xfd, 0xd8, 0x34, 0x9b, 0xe8, 0xb4, 0x5a, 0xd0, 0xb1, 0x8b, 0x2a, 0x36, + 0x36, 0xf3, 0xd3, 0x34, 0x6d, 0xcc, 0xdb, 0x81, 0x13, 0x4b, 0x36, 0xb7, 0xd9, 0xa6, 0x72, 0x1b, + 0x8a, 0x86, 0xe7, 0x38, 0x0d, 0xd7, 0x0a, 0x4f, 0xf5, 0xba, 0xe7, 0xd9, 0x7a, 0xe8, 0x63, 0x14, + 0x34, 0xfc, 0x53, 0x1d, 0x99, 0xa6, 0x8f, 0x83, 0x20, 0x9f, 0xa3, 0xe6, 0x7d, 0x46, 0xc0, 0x0e, + 0x3c, 0xcf, 0x3e, 0xe2, 0xa0, 0x6d, 0x86, 0x51, 0x5e, 0x81, 0xab, 0xe4, 0xb6, 0x0e, 0x0e, 0x02, + 0x54, 0xc5, 0x01, 0x31, 0x82, 0x6e, 0x19, 0x48, 0x0f, 0x9b, 0xf9, 0x19, 0x62, 0x2a, 0x8d, 0x28, + 0x63, 0x9f, 0xef, 0x1e, 0x60, 0x7f, 0xcf, 0x40, 0x47, 0xcd, 0x9b, 0xd9, 0x9f, 0x7e, 0x58, 0x1c, + 0xf8, 0xf7, 0x87, 0xc5, 0x01, 0x75, 0x09, 0xae, 0x49, 0x02, 0x46, 0x04, 0xd4, 0x2f, 0x32, 0x34, + 0x5f, 0xee, 0xda, 0xc8, 0x72, 0xde, 0x76, 0x4d, 0x6c, 0xe3, 0x2a, 0x0a, 0xb1, 0x49, 0x73, 0x6a, + 0xb7, 0xfa, 0x62, 0x05, 0x26, 0x45, 0x6c, 0xb7, 0x92, 0x1d, 0x44, 0xe1, 0xbd, 0x67, 0x2a, 0x73, + 0x30, 0x82, 0xeb, 0x9e, 0x51, 0xa3, 0x91, 0x3f, 0xac, 0xb1, 0x8f, 0x44, 0xd8, 0x8f, 0x24, 0xc3, + 0xfe, 0xfb, 0xc3, 0xd9, 0xe1, 0xdc, 0x88, 0xba, 0x0a, 0xd7, 0x3b, 0x0a, 0x24, 0xc4, 0x0e, 0x79, + 0x86, 0xa8, 0xb0, 0x3c, 0x77, 0x2f, 0xaa, 0xdd, 0xba, 0x89, 0x9c, 0x48, 0x47, 0x83, 0xa9, 0x74, + 0xb4, 0x0a, 0x53, 0x6e, 0xc3, 0xd1, 0xfd, 0x88, 0x22, 0x97, 0x7a, 0xd2, 0x6d, 0x38, 0x82, 0x8b, + 0xba, 0x02, 0xcb, 0x72, 0xae, 0x42, 0xae, 0x9f, 0x64, 0x20, 0xb7, 0x1f, 0x54, 0xb7, 0x4d, 0xf3, + 0xcb, 0x8b, 0x74, 0x13, 0x40, 0xd4, 0xa4, 0x41, 0x7e, 0x68, 0x65, 0x68, 0x6d, 0x62, 0xb3, 0x50, + 0x4a, 0xd5, 0xb1, 0x25, 0xc1, 0x47, 0x8b, 0xa1, 0xd5, 0x02, 0xe4, 0xd3, 0x62, 0x08, 0x19, 0xdf, + 0x85, 0x69, 0xb1, 0x7a, 0x1f, 0x5b, 0xd5, 0x5a, 0xa8, 0x6c, 0xc2, 0x58, 0xe4, 0x93, 0x19, 0x96, + 0x38, 0x3f, 0xfb, 0xf8, 0xc6, 0x1c, 0x0f, 0x0c, 0xee, 0x89, 0x87, 0xa1, 0x6f, 0xb9, 0x55, 0x2d, + 0x02, 0x2a, 0x0b, 0x30, 0x7a, 0x42, 0x4f, 0x53, 0xc1, 0x87, 0x35, 0xfe, 0xa5, 0xfe, 0x8e, 0x7b, + 0x54, 0x0d, 0xb9, 0x55, 0x9c, 0x62, 0xd4, 0xb7, 0x2e, 0xf6, 0x61, 0x46, 0xdc, 0x4e, 0x67, 0x8c, + 0x22, 0x95, 0xac, 0x74, 0x56, 0x09, 0x63, 0xaa, 0xe5, 0x8e, 0x53, 0x52, 0x44, 0x3e, 0x26, 0x15, + 0x51, 0xe8, 0xe9, 0x83, 0x0c, 0x28, 0xfb, 0x41, 0xf5, 0x16, 0x26, 0x75, 0x80, 0x40, 0xf5, 0x7b, + 0x83, 0x2d, 0xc8, 0x1e, 0x23, 0x9b, 0x86, 0x3e, 0x2f, 0x00, 0xba, 0xe8, 0xf8, 0x18, 0xd9, 0x64, + 0x45, 0x7d, 0x06, 0x0a, 0xed, 0x12, 0x08, 0x01, 0x7f, 0x9b, 0xe1, 0xb1, 0x1d, 0x84, 0x9e, 0x8f, + 0xf7, 0xdc, 0x10, 0xfb, 0xb4, 0xd8, 0xd8, 0x36, 0x0c, 0x51, 0x29, 0x5c, 0xb8, 0x4c, 0x59, 0x4d, + 0xbf, 0xa4, 0xec, 0xe1, 0x4e, 0xbe, 0x97, 0xab, 0x30, 0x85, 0x18, 0x13, 0xdd, 0x3b, 0x71, 0xc5, + 0x0b, 0x3e, 0xc9, 0x17, 0xef, 0x92, 0x35, 0xf5, 0x39, 0x58, 0xed, 0x22, 0x9d, 0xb8, 0xc5, 0x01, + 0x4f, 0x40, 0x5e, 0x80, 0x6f, 0xb1, 0x68, 0x27, 0xe5, 0x17, 0x7b, 0xa3, 0xfa, 0xba, 0x82, 0xc8, + 0x20, 0x32, 0x8a, 0x82, 0xed, 0x7b, 0xb0, 0x22, 0x7a, 0x02, 0xa1, 0xda, 0xc3, 0x1a, 0xf2, 0x71, + 0x70, 0xbb, 0x69, 0xd4, 0x68, 0xee, 0xef, 0x4b, 0x81, 0x79, 0x20, 0xe6, 0xf3, 0xea, 0x98, 0xdb, + 0x59, 0x8b, 0x3e, 0xd5, 0x75, 0x58, 0xeb, 0xc5, 0x52, 0x88, 0x57, 0xa5, 0x09, 0x6e, 0x17, 0xd9, + 0x56, 0x85, 0xbc, 0x6e, 0xad, 0x7b, 0x5c, 0xb6, 0x50, 0x2c, 0xa7, 0x49, 0x18, 0x09, 0x51, 0xde, + 0xa0, 0x75, 0xbf, 0x86, 0x83, 0x86, 0x83, 0x45, 0xc1, 0xd5, 0x97, 0x61, 0xae, 0x51, 0x53, 0x27, + 0x29, 0x09, 0x36, 0xff, 0xcd, 0xd2, 0xd2, 0x6e, 0x97, 0x90, 0xc1, 0x47, 0x3e, 0x32, 0xb1, 0xe6, + 0x35, 0x42, 0xac, 0xfc, 0x3f, 0x8c, 0xa3, 0x46, 0x58, 0xf3, 0x7c, 0x2b, 0x3c, 0xed, 0x99, 0x9d, + 0x5a, 0x50, 0x45, 0x85, 0x29, 0x1a, 0x8d, 0x29, 0x61, 0x26, 0xc8, 0xe2, 0x2e, 0x57, 0xcb, 0x0e, + 0x2c, 0xb3, 0xe4, 0xa1, 0x87, 0x9e, 0xee, 0xe3, 0x13, 0xe4, 0x9b, 0xba, 0xcc, 0xfb, 0x0b, 0x0c, + 0x75, 0xe4, 0x69, 0x14, 0xb3, 0x1b, 0x8f, 0x85, 0xef, 0xc2, 0x52, 0x8b, 0x46, 0x48, 0xe4, 0x4e, + 0x91, 0x60, 0xb1, 0xb1, 0x18, 0x91, 0xa0, 0x57, 0x4b, 0x50, 0xd8, 0x03, 0x56, 0x3d, 0xb6, 0x64, + 0x90, 0x55, 0x79, 0xec, 0xb5, 0x5c, 0x22, 0xc8, 0x48, 0x8e, 0xa3, 0xb6, 0x8a, 0xee, 0x4d, 0x58, + 0x8d, 0x48, 0x44, 0xc2, 0xc8, 0x68, 0xb1, 0xba, 0x72, 0x99, 0x41, 0xb9, 0x48, 0xed, 0xc4, 0x5e, + 0x87, 0xeb, 0x9c, 0x84, 0xa7, 0x33, 0x01, 0x25, 0xa4, 0xc6, 0x58, 0x0d, 0x43, 0x81, 0x47, 0x1e, + 0xb1, 0x6a, 0x3b, 0xa1, 0x32, 0xcc, 0x71, 0xa9, 0x68, 0xb1, 0xab, 0x7b, 0x2e, 0xa5, 0x97, 0xcf, + 0xd2, 0xb3, 0x33, 0x6c, 0x8f, 0x16, 0xbf, 0x77, 0x5d, 0x42, 0x41, 0xd9, 0x82, 0x85, 0xf4, 0x01, + 0xf6, 0x9d, 0x1f, 0xa7, 0x47, 0x66, 0x13, 0x47, 0x98, 0x32, 0x94, 0x0d, 0x98, 0x4f, 0x1f, 0xa2, + 0x52, 0xb1, 0xfa, 0x58, 0x53, 0x12, 0x67, 0xe8, 0x95, 0x49, 0x6f, 0xd9, 0xaa, 0xdb, 0x5b, 0x07, + 0x26, 0x58, 0x6f, 0x29, 0xaa, 0xf8, 0x08, 0xfe, 0x22, 0x28, 0x49, 0x38, 0xbd, 0x05, 0x6b, 0x16, + 0xa6, 0x63, 0x68, 0x7a, 0x87, 0x6b, 0x30, 0x46, 0xab, 0x3e, 0xcb, 0xa4, 0x85, 0xf0, 0xf0, 0xce, + 0x60, 0x3e, 0xa3, 0x8d, 0x92, 0xa5, 0x3d, 0x53, 0xf9, 0x0e, 0x14, 0x48, 0x55, 0x87, 0x6c, 0xdb, + 0x3b, 0xc1, 0xa6, 0x1e, 0x9c, 0xa0, 0xba, 0x6e, 0x7b, 0x41, 0x10, 0x2f, 0x65, 0x09, 0x7e, 0xc1, + 0x41, 0xcd, 0x6d, 0x06, 0x3a, 0x3c, 0x41, 0xf5, 0x3b, 0x5e, 0x10, 0xd0, 0xcc, 0x74, 0x0f, 0xa6, + 0x49, 0xc5, 0x4d, 0xcf, 0xf1, 0x5e, 0x6d, 0xba, 0xaf, 0x5e, 0x6d, 0xca, 0xb1, 0x5c, 0x42, 0x79, + 0x9b, 0xb5, 0x6c, 0x84, 0x2e, 0x6a, 0x26, 0xe8, 0xe6, 0xfa, 0xa4, 0x8b, 0x9a, 0x31, 0xba, 0x3f, + 0x60, 0x1d, 0x82, 0x70, 0x20, 0x4e, 0x7b, 0xa6, 0x2f, 0xda, 0xa4, 0x27, 0x88, 0x9c, 0x8c, 0xd1, + 0xbf, 0xf9, 0xcd, 0x1f, 0x7f, 0xf1, 0xd1, 0x7a, 0x2b, 0xf8, 0x7f, 0xf6, 0xc5, 0x47, 0xeb, 0xcf, + 0xf1, 0x01, 0x5f, 0xb3, 0x35, 0xe2, 0x93, 0xa4, 0x17, 0x5e, 0x1f, 0xa7, 0x97, 0x45, 0x56, 0xfa, + 0x5b, 0x86, 0x66, 0x25, 0xf6, 0x04, 0x5f, 0x42, 0x56, 0xba, 0x0e, 0x93, 0x71, 0x27, 0x8d, 0x92, + 0x52, 0xcc, 0x37, 0x7b, 0x8c, 0x82, 0xce, 0x7f, 0xd5, 0xb4, 0xcc, 0xfc, 0xaa, 0xe9, 0x65, 0x71, + 0xd5, 0xbf, 0x0e, 0xd3, 0xab, 0xb2, 0xf7, 0xe9, 0xeb, 0x70, 0xd5, 0x78, 0x08, 0x0d, 0x5f, 0x30, + 0x84, 0x46, 0x7a, 0x86, 0xd0, 0x3b, 0xed, 0x21, 0x44, 0xd3, 0x22, 0x9b, 0x91, 0x9d, 0xdf, 0x1d, + 0xf3, 0x99, 0x74, 0x10, 0xbd, 0xd3, 0x1e, 0x44, 0x63, 0x7d, 0x53, 0xfe, 0x7a, 0x86, 0x51, 0xda, + 0x49, 0xb8, 0x6f, 0xa5, 0x97, 0x85, 0x6f, 0xfd, 0x67, 0x90, 0x3e, 0xfd, 0x87, 0x38, 0xdc, 0x8d, + 0x37, 0xbb, 0xa4, 0x95, 0x0a, 0x31, 0x69, 0x3f, 0x12, 0xc5, 0x44, 0xb7, 0xd2, 0xf8, 0x1c, 0xc5, + 0xce, 0x5d, 0x98, 0xf0, 0x29, 0xe1, 0xf8, 0x48, 0xbb, 0x74, 0xb1, 0xc1, 0x80, 0x06, 0x8c, 0x04, + 0x75, 0x95, 0x3a, 0x2c, 0xc5, 0xfb, 0x7f, 0xf2, 0x83, 0xcf, 0x23, 0xb9, 0x01, 0x86, 0xfb, 0x32, + 0xc0, 0xa2, 0xdd, 0x9a, 0x1a, 0x98, 0x87, 0x6c, 0xcc, 0xca, 0x0d, 0xf1, 0x1a, 0x31, 0x44, 0x74, + 0x57, 0x62, 0x86, 0x17, 0xa5, 0x66, 0x90, 0xeb, 0x93, 0x17, 0xc0, 0xf2, 0x4d, 0x61, 0x92, 0x3f, + 0x0f, 0xd2, 0x1e, 0xf1, 0xc8, 0xab, 0x56, 0x6d, 0x1c, 0x15, 0x25, 0xa1, 0xef, 0xd9, 0x36, 0xf6, + 0x2f, 0xdb, 0x22, 0x87, 0x30, 0x53, 0xc7, 0xbe, 0x63, 0x05, 0x01, 0x1d, 0xbb, 0xd2, 0xbe, 0x8b, + 0xda, 0xe5, 0xca, 0xe6, 0xf3, 0x6d, 0xed, 0xdb, 0x76, 0x23, 0xac, 0xbd, 0x7f, 0x20, 0xe0, 0xac, + 0x4b, 0xd3, 0x72, 0xf5, 0xd4, 0x0a, 0x29, 0x41, 0xa3, 0xa6, 0x95, 0x0f, 0x42, 0x63, 0xad, 0x29, + 0xa9, 0x62, 0x8d, 0x53, 0x9a, 0x06, 0xb2, 0x1a, 0xff, 0xba, 0xf9, 0x6a, 0x5a, 0xab, 0xeb, 0x52, + 0xad, 0x4a, 0x55, 0xa2, 0xaa, 0xb4, 0x61, 0x90, 0xee, 0x09, 0x9d, 0x7e, 0x9e, 0xa1, 0x23, 0x58, + 0x16, 0x06, 0x51, 0x85, 0x7b, 0x80, 0x7c, 0xe4, 0x04, 0x7d, 0xa7, 0xd1, 0x2e, 0x6a, 0xed, 0x32, + 0x1b, 0x1a, 0xea, 0x3c, 0x1b, 0x7a, 0xad, 0x3d, 0xc8, 0x5f, 0xe8, 0x12, 0xe4, 0xc9, 0x6b, 0xa8, + 0xd7, 0xa1, 0xd8, 0x61, 0x2b, 0xd2, 0xc2, 0x7a, 0x09, 0xe6, 0xa5, 0x36, 0x54, 0xc6, 0x61, 0xe4, + 0x75, 0x6d, 0xfb, 0xad, 0xa3, 0xdc, 0x80, 0x02, 0x30, 0xaa, 0xdd, 0xbe, 0x77, 0xf7, 0xcd, 0xdb, + 0xb9, 0xcc, 0xe6, 0x6f, 0x66, 0x61, 0x68, 0x3f, 0xa8, 0x2a, 0xf7, 0x61, 0x22, 0xfe, 0xab, 0x85, + 0x62, 0x9b, 0x67, 0x24, 0x7f, 0x03, 0x52, 0xf8, 0xbf, 0x1e, 0x00, 0x31, 0xf6, 0xff, 0x21, 0x5c, + 0x49, 0xfd, 0xda, 0x42, 0x95, 0x1e, 0x4d, 0x60, 0x0a, 0xeb, 0xbd, 0x31, 0x82, 0xc3, 0x7d, 0x98, + 0x88, 0xcf, 0xd6, 0xa5, 0xa2, 0xc7, 0x00, 0x72, 0xd1, 0x25, 0x03, 0x6f, 0xe5, 0x21, 0xe4, 0xda, + 0x86, 0xdd, 0xcf, 0xca, 0x0f, 0x27, 0x51, 0x85, 0x97, 0xce, 0x83, 0x12, 0x7c, 0x9a, 0xb0, 0xd0, + 0x61, 0x06, 0x28, 0x55, 0x83, 0x1c, 0x5b, 0xd8, 0x3c, 0x3f, 0x56, 0x70, 0xf6, 0x60, 0x56, 0x36, + 0xc7, 0xeb, 0xa0, 0xa1, 0x36, 0x60, 0xa1, 0x7c, 0x4e, 0xa0, 0x60, 0xf8, 0x2e, 0x4c, 0x25, 0xe7, + 0x73, 0xd7, 0x65, 0x14, 0x12, 0x90, 0xc2, 0x0b, 0x3d, 0x21, 0x82, 0xfc, 0x09, 0xcc, 0x4b, 0x07, + 0x4b, 0x1d, 0x14, 0x29, 0x9d, 0x41, 0x75, 0x50, 0x64, 0xd7, 0x79, 0x95, 0x62, 0xc0, 0x74, 0x7a, + 0x56, 0xb5, 0x2a, 0x23, 0x93, 0x02, 0x15, 0x5e, 0x3c, 0x07, 0x48, 0x30, 0xf9, 0x11, 0xe4, 0x3b, + 0xce, 0x9b, 0x3a, 0x78, 0x9c, 0x1c, 0x5d, 0x78, 0xe5, 0x22, 0xe8, 0xa4, 0x9f, 0x4a, 0x47, 0x45, + 0x1d, 0xfc, 0x54, 0x86, 0xed, 0xe4, 0xa7, 0xdd, 0x06, 0x46, 0xca, 0xcf, 0x33, 0xb0, 0xd4, 0x7d, + 0x5c, 0xb4, 0x21, 0xa3, 0xda, 0xf5, 0x48, 0xe1, 0x5b, 0x17, 0x3e, 0x12, 0x8f, 0x1b, 0xd9, 0x78, + 0x48, 0x1a, 0x37, 0x12, 0xa0, 0x3c, 0x6e, 0xba, 0xcc, 0x81, 0x94, 0x07, 0x30, 0x99, 0xf8, 0x2d, + 0xe8, 0x8a, 0x5c, 0x89, 0x2d, 0x44, 0x61, 0xad, 0x17, 0x42, 0xd0, 0xfe, 0x75, 0x06, 0x8a, 0xbd, + 0xfe, 0xd8, 0x61, 0xab, 0xb3, 0xae, 0x3a, 0x1e, 0x2a, 0xbc, 0xda, 0xc7, 0xa1, 0xf8, 0xbb, 0x91, + 0x1a, 0x7b, 0xa9, 0x1d, 0x9c, 0x36, 0x86, 0x91, 0xbf, 0x1b, 0xf2, 0xa1, 0x17, 0x49, 0xef, 0x6d, + 0x03, 0x2f, 0x69, 0x7a, 0x4f, 0xa3, 0xe4, 0xe9, 0xbd, 0x53, 0x1b, 0x4b, 0xf8, 0xb4, 0xb5, 0xb0, + 0xcf, 0x76, 0x8e, 0xfb, 0x5e, 0x7c, 0x3a, 0xf5, 0x90, 0x84, 0x4f, 0x5b, 0xff, 0xf8, 0x6c, 0x67, + 0x13, 0xf4, 0xe2, 0xd3, 0xa9, 0x9f, 0x20, 0x69, 0xa0, 0x43, 0x2f, 0x21, 0xd5, 0xbe, 0x1c, 0x2b, + 0x4f, 0x03, 0xdd, 0xcb, 0x66, 0xa5, 0x01, 0xf3, 0xf2, 0x92, 0x59, 0xfa, 0x44, 0x48, 0xa1, 0x85, + 0x8d, 0x73, 0x43, 0x05, 0x5b, 0x1f, 0xe6, 0xa4, 0x55, 0xe5, 0x5a, 0x67, 0xb5, 0x25, 0x91, 0x85, + 0x97, 0xcf, 0x8b, 0x8c, 0x78, 0xee, 0xdc, 0xf9, 0xe4, 0xf1, 0x72, 0xe6, 0xd3, 0xc7, 0xcb, 0x99, + 0xcf, 0x1f, 0x2f, 0x67, 0x7e, 0xf9, 0x64, 0x79, 0xe0, 0xd3, 0x27, 0xcb, 0x03, 0xff, 0x78, 0xb2, + 0x3c, 0xf0, 0x60, 0x33, 0xd6, 0xe1, 0x1c, 0x52, 0xaa, 0x37, 0xee, 0xa0, 0x4a, 0x50, 0xe6, 0x65, + 0xe4, 0xf1, 0xe6, 0x56, 0xbc, 0x94, 0xa4, 0x1d, 0x4f, 0x65, 0x94, 0xfe, 0x65, 0xd3, 0xd6, 0xff, + 0x02, 0x00, 0x00, 0xff, 0xff, 0x04, 0x0e, 0x28, 0x89, 0xa4, 0x25, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5160,6 +5170,16 @@ func (m *MsgToggleTradeController) MarshalToSizedBuffer(dAtA []byte) (int, error _ = i var l int _ = l + if m.Legacy { + i-- + if m.Legacy { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } if len(m.Address) > 0 { i -= len(m.Address) copy(dAtA[i:], m.Address) @@ -6023,6 +6043,9 @@ func (m *MsgToggleTradeController) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } + if m.Legacy { + n += 2 + } return n } @@ -11258,6 +11281,26 @@ func (m *MsgToggleTradeController) Unmarshal(dAtA []byte) error { } m.Address = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Legacy", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Legacy = bool(v != 0) default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:])