From 21964c042048e8e866d53dc19584c927e3934f07 Mon Sep 17 00:00:00 2001 From: Cory Levinson Date: Wed, 14 Oct 2020 18:23:40 -0700 Subject: [PATCH 1/4] update auth/vesting module to use proto msg services --- proto/cosmos/vesting/v1beta1/tx.proto | 12 + x/auth/vesting/handler.go | 77 +- x/auth/vesting/msg_server.go | 100 ++ x/auth/vesting/types/tx.pb.go | 264 +++- x/bank/types/tx.pb.go | 6 + .../07-tendermint/types/tendermint.pb.go | 6 +- x/staking/types/staking.pb.go | 1158 ++++++++--------- 7 files changed, 940 insertions(+), 683 deletions(-) create mode 100644 x/auth/vesting/msg_server.go diff --git a/proto/cosmos/vesting/v1beta1/tx.proto b/proto/cosmos/vesting/v1beta1/tx.proto index 0c5ce53ac8cf..41873315c05f 100644 --- a/proto/cosmos/vesting/v1beta1/tx.proto +++ b/proto/cosmos/vesting/v1beta1/tx.proto @@ -6,6 +6,15 @@ import "cosmos/base/v1beta1/coin.proto"; option go_package = "github.com/cosmos/cosmos-sdk/x/auth/vesting/types"; + +// Msg defines the bank Msg service. +service Msg { + // CreateVestingAccount defines a method that enables creating a vesting + // account. + rpc CreateVestingAccount(MsgCreateVestingAccount) returns (MsgCreateVestingAccountResponse); +} + + // MsgCreateVestingAccount defines a message that enables creating a vesting // account. message MsgCreateVestingAccount { @@ -19,3 +28,6 @@ message MsgCreateVestingAccount { int64 end_time = 4 [(gogoproto.moretags) = "yaml:\"end_time\""]; bool delayed = 5; } + +// MsgCreateVestingAccountResponse defines the Msg/CreateVestingAccount response type. +message MsgCreateVestingAccountResponse { } \ No newline at end of file diff --git a/x/auth/vesting/handler.go b/x/auth/vesting/handler.go index eef8787bda22..1d32e9969bb5 100644 --- a/x/auth/vesting/handler.go +++ b/x/auth/vesting/handler.go @@ -1,95 +1,26 @@ package vesting import ( - "github.com/armon/go-metrics" - - "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/x/auth/keeper" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" ) // NewHandler returns a handler for x/auth message types. func NewHandler(ak keeper.AccountKeeper, bk types.BankKeeper) sdk.Handler { + msgServer := NewMsgServerImpl(ak, bk) + return func(ctx sdk.Context, msg sdk.Msg) (*sdk.Result, error) { ctx = ctx.WithEventManager(sdk.NewEventManager()) switch msg := msg.(type) { case *types.MsgCreateVestingAccount: - return handleMsgCreateVestingAccount(ctx, ak, bk, msg) + res, err := msgServer.CreateVestingAccount(sdk.WrapSDKContext(ctx), msg) + return sdk.WrapServiceResult(ctx, res, err) default: return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "unrecognized %s message type: %T", types.ModuleName, msg) } } } - -func handleMsgCreateVestingAccount(ctx sdk.Context, ak keeper.AccountKeeper, bk types.BankKeeper, msg *types.MsgCreateVestingAccount) (*sdk.Result, error) { - if err := bk.SendEnabledCoins(ctx, msg.Amount...); err != nil { - return nil, err - } - - from, err := sdk.AccAddressFromBech32(msg.FromAddress) - if err != nil { - return nil, err - } - to, err := sdk.AccAddressFromBech32(msg.ToAddress) - if err != nil { - return nil, err - } - - if bk.BlockedAddr(to) { - return nil, sdkerrors.Wrapf(sdkerrors.ErrUnauthorized, "%s is not allowed to receive funds", msg.ToAddress) - } - - if acc := ak.GetAccount(ctx, to); acc != nil { - return nil, sdkerrors.Wrapf(sdkerrors.ErrInvalidRequest, "account %s already exists", msg.ToAddress) - } - - baseAccount := ak.NewAccountWithAddress(ctx, to) - if _, ok := baseAccount.(*authtypes.BaseAccount); !ok { - return nil, sdkerrors.Wrapf(sdkerrors.ErrInvalidRequest, "invalid account type; expected: BaseAccount, got: %T", baseAccount) - } - - baseVestingAccount := types.NewBaseVestingAccount(baseAccount.(*authtypes.BaseAccount), msg.Amount.Sort(), msg.EndTime) - - var acc authtypes.AccountI - - if msg.Delayed { - acc = types.NewDelayedVestingAccountRaw(baseVestingAccount) - } else { - acc = types.NewContinuousVestingAccountRaw(baseVestingAccount, ctx.BlockTime().Unix()) - } - - ak.SetAccount(ctx, acc) - - defer func() { - telemetry.IncrCounter(1, "new", "account") - - for _, a := range msg.Amount { - if a.Amount.IsInt64() { - telemetry.SetGaugeWithLabels( - []string{"tx", "msg", "create_vesting_account"}, - float32(a.Amount.Int64()), - []metrics.Label{telemetry.NewLabel("denom", a.Denom)}, - ) - } - } - }() - - err = bk.SendCoins(ctx, from, to, msg.Amount) - if err != nil { - return nil, err - } - - ctx.EventManager().EmitEvent( - sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - ), - ) - - return &sdk.Result{Events: ctx.EventManager().ABCIEvents()}, nil -} diff --git a/x/auth/vesting/msg_server.go b/x/auth/vesting/msg_server.go new file mode 100644 index 000000000000..678210ab2291 --- /dev/null +++ b/x/auth/vesting/msg_server.go @@ -0,0 +1,100 @@ +package vesting + +import ( + "context" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + + "github.com/armon/go-metrics" + + "github.com/cosmos/cosmos-sdk/telemetry" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/x/auth/keeper" + "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" +) + +type msgServer struct { + keeper.AccountKeeper + types.BankKeeper +} + +// NewMsgServerImpl returns an implementation of the vesting MsgServer interface, +// wrapping the corresponding AccountKeeper and BankKeeper. +func NewMsgServerImpl(k keeper.AccountKeeper, bk types.BankKeeper) types.MsgServer { + return &msgServer{AccountKeeper: k, BankKeeper: bk} +} + +var _ types.MsgServer = msgServer{} + +func (s msgServer) CreateVestingAccount(goCtx context.Context, msg *types.MsgCreateVestingAccount) (*types.MsgCreateVestingAccountResponse, error) { + + ctx := sdk.UnwrapSDKContext(goCtx) + ak := s.AccountKeeper + bk := s.BankKeeper + + if err := bk.SendEnabledCoins(ctx, msg.Amount...); err != nil { + return nil, err + } + + from, err := sdk.AccAddressFromBech32(msg.FromAddress) + if err != nil { + return nil, err + } + to, err := sdk.AccAddressFromBech32(msg.ToAddress) + if err != nil { + return nil, err + } + + if bk.BlockedAddr(to) { + return nil, sdkerrors.Wrapf(sdkerrors.ErrUnauthorized, "%s is not allowed to receive funds", msg.ToAddress) + } + + if acc := ak.GetAccount(ctx, to); acc != nil { + return nil, sdkerrors.Wrapf(sdkerrors.ErrInvalidRequest, "account %s already exists", msg.ToAddress) + } + + baseAccount := ak.NewAccountWithAddress(ctx, to) + if _, ok := baseAccount.(*authtypes.BaseAccount); !ok { + return nil, sdkerrors.Wrapf(sdkerrors.ErrInvalidRequest, "invalid account type; expected: BaseAccount, got: %T", baseAccount) + } + + baseVestingAccount := types.NewBaseVestingAccount(baseAccount.(*authtypes.BaseAccount), msg.Amount.Sort(), msg.EndTime) + + var acc authtypes.AccountI + + if msg.Delayed { + acc = types.NewDelayedVestingAccountRaw(baseVestingAccount) + } else { + acc = types.NewContinuousVestingAccountRaw(baseVestingAccount, ctx.BlockTime().Unix()) + } + + ak.SetAccount(ctx, acc) + + defer func() { + telemetry.IncrCounter(1, "new", "account") + + for _, a := range msg.Amount { + if a.Amount.IsInt64() { + telemetry.SetGaugeWithLabels( + []string{"tx", "msg", "create_vesting_account"}, + float32(a.Amount.Int64()), + []metrics.Label{telemetry.NewLabel("denom", a.Denom)}, + ) + } + } + }() + + err = bk.SendCoins(ctx, from, to, msg.Amount) + if err != nil { + return nil, err + } + + ctx.EventManager().EmitEvent( + sdk.NewEvent( + sdk.EventTypeMessage, + sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + ), + ) + + return &types.MsgCreateVestingAccountResponse{}, nil +} diff --git a/x/auth/vesting/types/tx.pb.go b/x/auth/vesting/types/tx.pb.go index b277f3518f70..ab3283c238aa 100644 --- a/x/auth/vesting/types/tx.pb.go +++ b/x/auth/vesting/types/tx.pb.go @@ -4,11 +4,16 @@ package types import ( + context "context" fmt "fmt" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/gogo/protobuf/gogoproto" + grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" io "io" math "math" math_bits "math/bits" @@ -103,37 +108,78 @@ func (m *MsgCreateVestingAccount) GetDelayed() bool { return false } +// MsgCreateVestingAccountResponse defines the Msg/CreateVestingAccount response type. +type MsgCreateVestingAccountResponse struct { +} + +func (m *MsgCreateVestingAccountResponse) Reset() { *m = MsgCreateVestingAccountResponse{} } +func (m *MsgCreateVestingAccountResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCreateVestingAccountResponse) ProtoMessage() {} +func (*MsgCreateVestingAccountResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_5338ca97811f9792, []int{1} +} +func (m *MsgCreateVestingAccountResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCreateVestingAccountResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCreateVestingAccountResponse.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 *MsgCreateVestingAccountResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCreateVestingAccountResponse.Merge(m, src) +} +func (m *MsgCreateVestingAccountResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCreateVestingAccountResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCreateVestingAccountResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCreateVestingAccountResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgCreateVestingAccount)(nil), "cosmos.vesting.v1beta1.MsgCreateVestingAccount") + proto.RegisterType((*MsgCreateVestingAccountResponse)(nil), "cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse") } func init() { proto.RegisterFile("cosmos/vesting/v1beta1/tx.proto", fileDescriptor_5338ca97811f9792) } var fileDescriptor_5338ca97811f9792 = []byte{ - // 365 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x51, 0x3f, 0x4f, 0xf2, 0x40, - 0x1c, 0xee, 0x01, 0x2f, 0x7f, 0x8e, 0x37, 0x79, 0xf3, 0x16, 0x95, 0xca, 0xd0, 0x36, 0x9d, 0xba, - 0xd8, 0x8a, 0x3a, 0xb1, 0x51, 0x46, 0xe3, 0xd2, 0x18, 0x07, 0x17, 0x72, 0x6d, 0xcf, 0xd2, 0xc8, - 0xf5, 0x48, 0xef, 0x20, 0xf0, 0x2d, 0xfc, 0x08, 0xce, 0x7e, 0x0a, 0x47, 0x46, 0x46, 0xa7, 0x6a, - 0x60, 0x71, 0xe6, 0x13, 0x98, 0xf6, 0x5a, 0x74, 0x72, 0x6a, 0x9f, 0x3c, 0x7f, 0xee, 0x79, 0xf2, - 0x83, 0x9a, 0x4f, 0x19, 0xa1, 0xcc, 0x5e, 0x60, 0xc6, 0xa3, 0x38, 0xb4, 0x17, 0x7d, 0x0f, 0x73, - 0xd4, 0xb7, 0xf9, 0xd2, 0x9a, 0x25, 0x94, 0x53, 0xf9, 0x44, 0x08, 0xac, 0x42, 0x60, 0x15, 0x82, - 0xde, 0x51, 0x48, 0x43, 0x9a, 0x4b, 0xec, 0xec, 0x4f, 0xa8, 0x7b, 0x6a, 0x11, 0xe7, 0x21, 0x86, - 0x0f, 0x59, 0x3e, 0x8d, 0x62, 0xc1, 0x1b, 0xaf, 0x15, 0xd8, 0xbd, 0x61, 0xe1, 0x28, 0xc1, 0x88, - 0xe3, 0x3b, 0x11, 0x39, 0xf4, 0x7d, 0x3a, 0x8f, 0xb9, 0x3c, 0x80, 0x7f, 0x1f, 0x12, 0x4a, 0xc6, - 0x28, 0x08, 0x12, 0xcc, 0x98, 0x02, 0x74, 0x60, 0xb6, 0x9c, 0xee, 0x3e, 0xd5, 0x3a, 0x2b, 0x44, - 0xa6, 0x03, 0xe3, 0x27, 0x6b, 0xb8, 0xed, 0x0c, 0x0e, 0x05, 0x92, 0xaf, 0x20, 0xe4, 0xf4, 0xe0, - 0xac, 0xe4, 0xce, 0xe3, 0x7d, 0xaa, 0xfd, 0x17, 0xce, 0x6f, 0xce, 0x70, 0x5b, 0x9c, 0x96, 0x2e, - 0x1f, 0xd6, 0x11, 0xc9, 0xde, 0x56, 0xaa, 0x7a, 0xd5, 0x6c, 0x5f, 0x9c, 0x5a, 0xc5, 0xd8, 0xac, - 0x7e, 0xb9, 0xd4, 0x1a, 0xd1, 0x28, 0x76, 0xce, 0xd7, 0xa9, 0x26, 0xbd, 0xbc, 0x6b, 0x66, 0x18, - 0xf1, 0xc9, 0xdc, 0xb3, 0x7c, 0x4a, 0xec, 0x62, 0xab, 0xf8, 0x9c, 0xb1, 0xe0, 0xd1, 0xe6, 0xab, - 0x19, 0x66, 0xb9, 0x81, 0xb9, 0x45, 0xb4, 0x6c, 0xc1, 0x26, 0x8e, 0x83, 0x31, 0x8f, 0x08, 0x56, - 0x6a, 0x3a, 0x30, 0xab, 0x4e, 0x67, 0x9f, 0x6a, 0xff, 0x44, 0xb1, 0x92, 0x31, 0xdc, 0x06, 0x8e, - 0x83, 0xdb, 0x88, 0x60, 0x59, 0x81, 0x8d, 0x00, 0x4f, 0xd1, 0x0a, 0x07, 0xca, 0x1f, 0x1d, 0x98, - 0x4d, 0xb7, 0x84, 0x83, 0xda, 0xe7, 0xb3, 0x06, 0x9c, 0xeb, 0xf5, 0x56, 0x05, 0x9b, 0xad, 0x0a, - 0x3e, 0xb6, 0x2a, 0x78, 0xda, 0xa9, 0xd2, 0x66, 0xa7, 0x4a, 0x6f, 0x3b, 0x55, 0xba, 0xef, 0xff, - 0xda, 0x6d, 0x69, 0xa3, 0x39, 0x9f, 0x1c, 0x0e, 0x9d, 0x57, 0xf5, 0xea, 0xf9, 0x59, 0x2e, 0xbf, - 0x02, 0x00, 0x00, 0xff, 0xff, 0x22, 0x3f, 0x4e, 0xe2, 0x07, 0x02, 0x00, 0x00, + // 410 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x52, 0xbd, 0xae, 0xd3, 0x30, + 0x14, 0x8e, 0x6f, 0x2e, 0xf7, 0xc7, 0x17, 0x09, 0x91, 0x16, 0x1a, 0x3a, 0xc4, 0x21, 0x53, 0x16, + 0x6c, 0x5a, 0x90, 0x90, 0xba, 0x35, 0x1d, 0x51, 0x97, 0x08, 0x31, 0xb0, 0x54, 0x4e, 0x62, 0xd2, + 0x88, 0x26, 0xae, 0x62, 0xb7, 0x6a, 0x37, 0x46, 0x46, 0x1e, 0x81, 0x99, 0xa7, 0x60, 0xec, 0xd8, + 0x91, 0x29, 0xa0, 0x76, 0x61, 0xee, 0x13, 0xa0, 0xc4, 0x49, 0x61, 0x68, 0x91, 0x98, 0xec, 0xa3, + 0xef, 0xc7, 0xe7, 0x7c, 0x3e, 0x10, 0x85, 0x5c, 0xa4, 0x5c, 0x90, 0x25, 0x13, 0x32, 0xc9, 0x62, + 0xb2, 0xec, 0x05, 0x4c, 0xd2, 0x1e, 0x91, 0x2b, 0x3c, 0xcf, 0xb9, 0xe4, 0xc6, 0x63, 0x45, 0xc0, + 0x35, 0x01, 0xd7, 0x84, 0x6e, 0x3b, 0xe6, 0x31, 0xaf, 0x28, 0xa4, 0xbc, 0x29, 0x76, 0xd7, 0xaa, + 0xed, 0x02, 0x2a, 0xd8, 0xd1, 0x2b, 0xe4, 0x49, 0xa6, 0x70, 0xe7, 0xdb, 0x05, 0xec, 0x8c, 0x45, + 0x3c, 0xca, 0x19, 0x95, 0xec, 0xad, 0xb2, 0x1c, 0x86, 0x21, 0x5f, 0x64, 0xd2, 0x18, 0xc0, 0xfb, + 0xef, 0x73, 0x9e, 0x4e, 0x68, 0x14, 0xe5, 0x4c, 0x08, 0x13, 0xd8, 0xc0, 0xbd, 0xf5, 0x3a, 0x87, + 0x02, 0xb5, 0xd6, 0x34, 0x9d, 0x0d, 0x9c, 0xbf, 0x51, 0xc7, 0xbf, 0x2b, 0xcb, 0xa1, 0xaa, 0x8c, + 0x97, 0x10, 0x4a, 0x7e, 0x54, 0x5e, 0x54, 0xca, 0x47, 0x87, 0x02, 0x3d, 0x54, 0xca, 0x3f, 0x98, + 0xe3, 0xdf, 0x4a, 0xde, 0xa8, 0x42, 0x78, 0x45, 0xd3, 0xf2, 0x6d, 0x53, 0xb7, 0x75, 0xf7, 0xae, + 0xff, 0x04, 0xd7, 0xc3, 0x96, 0xed, 0x37, 0x93, 0xe2, 0x11, 0x4f, 0x32, 0xef, 0xf9, 0xa6, 0x40, + 0xda, 0xd7, 0x1f, 0xc8, 0x8d, 0x13, 0x39, 0x5d, 0x04, 0x38, 0xe4, 0x29, 0xa9, 0x67, 0x55, 0xc7, + 0x33, 0x11, 0x7d, 0x20, 0x72, 0x3d, 0x67, 0xa2, 0x12, 0x08, 0xbf, 0xb6, 0x36, 0x30, 0xbc, 0x61, + 0x59, 0x34, 0x91, 0x49, 0xca, 0xcc, 0x4b, 0x1b, 0xb8, 0xba, 0xd7, 0x3a, 0x14, 0xe8, 0x81, 0x6a, + 0xac, 0x41, 0x1c, 0xff, 0x9a, 0x65, 0xd1, 0x9b, 0x24, 0x65, 0x86, 0x09, 0xaf, 0x23, 0x36, 0xa3, + 0x6b, 0x16, 0x99, 0xf7, 0x6c, 0xe0, 0xde, 0xf8, 0x4d, 0x39, 0xb8, 0xfc, 0xf5, 0x05, 0x01, 0xe7, + 0x29, 0x44, 0x67, 0x12, 0xf4, 0x99, 0x98, 0xf3, 0x4c, 0xb0, 0xfe, 0x27, 0x00, 0xf5, 0xb1, 0x88, + 0x8d, 0x8f, 0x00, 0xb6, 0x4f, 0x46, 0x4d, 0xf0, 0xe9, 0x5f, 0xc5, 0x67, 0x9c, 0xbb, 0xaf, 0xfe, + 0x53, 0xd0, 0xb4, 0xe2, 0xbd, 0xde, 0xec, 0x2c, 0xb0, 0xdd, 0x59, 0xe0, 0xe7, 0xce, 0x02, 0x9f, + 0xf7, 0x96, 0xb6, 0xdd, 0x5b, 0xda, 0xf7, 0xbd, 0xa5, 0xbd, 0xeb, 0xfd, 0x33, 0xc9, 0x15, 0xa1, + 0x0b, 0x39, 0x3d, 0xae, 0x65, 0x15, 0x6c, 0x70, 0x55, 0x2d, 0xd1, 0x8b, 0xdf, 0x01, 0x00, 0x00, + 0xff, 0xff, 0xe7, 0x28, 0xaf, 0xe5, 0xb5, 0x02, 0x00, 0x00, } func (this *MsgCreateVestingAccount) Equal(that interface{}) bool { @@ -177,6 +223,91 @@ func (this *MsgCreateVestingAccount) Equal(that interface{}) bool { } return true } + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// MsgClient is the client API for Msg service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type MsgClient interface { + // CreateVestingAccount defines a method that enables creating a vesting + // account. + CreateVestingAccount(ctx context.Context, in *MsgCreateVestingAccount, opts ...grpc.CallOption) (*MsgCreateVestingAccountResponse, error) +} + +type msgClient struct { + cc grpc1.ClientConn +} + +func NewMsgClient(cc grpc1.ClientConn) MsgClient { + return &msgClient{cc} +} + +func (c *msgClient) CreateVestingAccount(ctx context.Context, in *MsgCreateVestingAccount, opts ...grpc.CallOption) (*MsgCreateVestingAccountResponse, error) { + out := new(MsgCreateVestingAccountResponse) + err := c.cc.Invoke(ctx, "/cosmos.vesting.v1beta1.Msg/CreateVestingAccount", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// MsgServer is the server API for Msg service. +type MsgServer interface { + // CreateVestingAccount defines a method that enables creating a vesting + // account. + CreateVestingAccount(context.Context, *MsgCreateVestingAccount) (*MsgCreateVestingAccountResponse, error) +} + +// UnimplementedMsgServer can be embedded to have forward compatible implementations. +type UnimplementedMsgServer struct { +} + +func (*UnimplementedMsgServer) CreateVestingAccount(ctx context.Context, req *MsgCreateVestingAccount) (*MsgCreateVestingAccountResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateVestingAccount not implemented") +} + +func RegisterMsgServer(s grpc1.Server, srv MsgServer) { + s.RegisterService(&_Msg_serviceDesc, srv) +} + +func _Msg_CreateVestingAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCreateVestingAccount) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CreateVestingAccount(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.vesting.v1beta1.Msg/CreateVestingAccount", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CreateVestingAccount(ctx, req.(*MsgCreateVestingAccount)) + } + return interceptor(ctx, in, info, handler) +} + +var _Msg_serviceDesc = grpc.ServiceDesc{ + ServiceName: "cosmos.vesting.v1beta1.Msg", + HandlerType: (*MsgServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateVestingAccount", + Handler: _Msg_CreateVestingAccount_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cosmos/vesting/v1beta1/tx.proto", +} + func (m *MsgCreateVestingAccount) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -243,6 +374,29 @@ func (m *MsgCreateVestingAccount) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *MsgCreateVestingAccountResponse) 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 *MsgCreateVestingAccountResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCreateVestingAccountResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -283,6 +437,15 @@ func (m *MsgCreateVestingAccount) Size() (n int) { return n } +func (m *MsgCreateVestingAccountResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -479,6 +642,59 @@ func (m *MsgCreateVestingAccount) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgCreateVestingAccountResponse) 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 ErrIntOverflowTx + } + 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: MsgCreateVestingAccountResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateVestingAccountResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/bank/types/tx.pb.go b/x/bank/types/tx.pb.go index abc37dcf0ae7..a9e70007c389 100644 --- a/x/bank/types/tx.pb.go +++ b/x/bank/types/tx.pb.go @@ -70,6 +70,7 @@ func (m *MsgSend) XXX_DiscardUnknown() { var xxx_messageInfo_MsgSend proto.InternalMessageInfo +// MsgSendResponse defines the Msg/Send response type. type MsgSendResponse struct { } @@ -159,6 +160,7 @@ func (m *MsgMultiSend) GetOutputs() []Output { return nil } +// MsgMultiSendResponse defines the Msg/MultiSend response type. type MsgMultiSendResponse struct { } @@ -248,7 +250,9 @@ const _ = grpc.SupportPackageIsVersion4 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type MsgClient interface { + // Send defines a method for sending coins from one account to another account. Send(ctx context.Context, in *MsgSend, opts ...grpc.CallOption) (*MsgSendResponse, error) + // MultiSend defines a method for sending coins from some accounts to other accounts. MultiSend(ctx context.Context, in *MsgMultiSend, opts ...grpc.CallOption) (*MsgMultiSendResponse, error) } @@ -280,7 +284,9 @@ func (c *msgClient) MultiSend(ctx context.Context, in *MsgMultiSend, opts ...grp // MsgServer is the server API for Msg service. type MsgServer interface { + // Send defines a method for sending coins from one account to another account. Send(context.Context, *MsgSend) (*MsgSendResponse, error) + // MultiSend defines a method for sending coins from some accounts to other accounts. MultiSend(context.Context, *MsgMultiSend) (*MsgMultiSendResponse, error) } diff --git a/x/ibc/light-clients/07-tendermint/types/tendermint.pb.go b/x/ibc/light-clients/07-tendermint/types/tendermint.pb.go index f4b26ae3c03b..1ac1c26ed8a1 100644 --- a/x/ibc/light-clients/07-tendermint/types/tendermint.pb.go +++ b/x/ibc/light-clients/07-tendermint/types/tendermint.pb.go @@ -4,8 +4,8 @@ package types import ( + confio "confio" fmt "fmt" - _go "github.com/confio/ics23/go" types "github.com/cosmos/cosmos-sdk/x/ibc/core/02-client/types" types2 "github.com/cosmos/cosmos-sdk/x/ibc/core/23-commitment/types" _ "github.com/gogo/protobuf/gogoproto" @@ -53,7 +53,7 @@ type ClientState struct { // Consensus params of the chain ConsensusParams *types1.ConsensusParams `protobuf:"bytes,8,opt,name=consensus_params,json=consensusParams,proto3" json:"consensus_params,omitempty" yaml:"consensus_params"` // Proof specifications used in verifying counterparty state - ProofSpecs []*_go.ProofSpec `protobuf:"bytes,9,rep,name=proof_specs,json=proofSpecs,proto3" json:"proof_specs,omitempty" yaml:"proof_specs"` + ProofSpecs []*confio.ProofSpec `protobuf:"bytes,9,rep,name=proof_specs,json=proofSpecs,proto3" json:"proof_specs,omitempty" yaml:"proof_specs"` // Path at which next upgraded client will be committed UpgradePath string `protobuf:"bytes,10,opt,name=upgrade_path,json=upgradePath,proto3" json:"upgrade_path,omitempty" yaml:"upgrade_path"` // This flag, when set to true, will allow governance to recover a client @@ -1209,7 +1209,7 @@ func (m *ClientState) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ProofSpecs = append(m.ProofSpecs, &_go.ProofSpec{}) + m.ProofSpecs = append(m.ProofSpecs, &confio.ProofSpec{}) if err := m.ProofSpecs[len(m.ProofSpecs)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index 08d6ccc7614d..1c743ca1cda0 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -1211,590 +1211,582 @@ func (this *Pool) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_ func StakingDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 9322 bytes of a gzipped FileDescriptorSet + // 9194 bytes of a gzipped FileDescriptorSet 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x70, 0x5c, 0xd7, - 0x75, 0x18, 0xdf, 0x7e, 0x00, 0xbb, 0x67, 0x17, 0xc0, 0xe2, 0x02, 0x04, 0x97, 0x4b, 0x12, 0x80, - 0x9e, 0x64, 0x89, 0xa2, 0x28, 0x40, 0xa2, 0x48, 0x8a, 0x5c, 0xda, 0x92, 0xb1, 0xd8, 0x25, 0x08, - 0x12, 0x5f, 0x7a, 0x00, 0x28, 0xc9, 0x4e, 0xba, 0xf3, 0xb0, 0x7b, 0xb1, 0x78, 0xe2, 0xee, 0x7b, - 0x4f, 0xef, 0xbd, 0x25, 0x01, 0xd9, 0x9e, 0x51, 0x62, 0xd7, 0xb5, 0x95, 0xa6, 0xb6, 0xea, 0x4c, - 0x6a, 0x2b, 0xa6, 0x2b, 0xc7, 0x69, 0x9d, 0x3a, 0x69, 0xf3, 0xe1, 0xd4, 0x6d, 0xda, 0xce, 0xd4, - 0x6e, 0x9b, 0xc6, 0x69, 0xa7, 0x19, 0x69, 0x9a, 0x99, 0xa6, 0x99, 0x86, 0x49, 0x65, 0x4d, 0xaa, - 0xba, 0x6e, 0xeb, 0xb0, 0x6a, 0x9a, 0x8e, 0x67, 0xda, 0xce, 0xfd, 0x7a, 0x5f, 0xbb, 0x8b, 0x5d, - 0x40, 0xa4, 0xe4, 0x34, 0xf9, 0x85, 0xbd, 0xe7, 0x9e, 0x73, 0xee, 0x39, 0xe7, 0x9e, 0x73, 0xee, - 0xb9, 0xf7, 0xdd, 0xf7, 0x00, 0xff, 0xfc, 0x02, 0x4c, 0xd6, 0x0c, 0xa3, 0x56, 0xc7, 0xd3, 0xa6, - 0x65, 0x38, 0xc6, 0x46, 0x73, 0x73, 0xba, 0x8a, 0xed, 0x8a, 0xa5, 0x99, 0x8e, 0x61, 0x4d, 0x51, - 0x18, 0x1a, 0x62, 0x18, 0x53, 0x02, 0x43, 0x5e, 0x84, 0xe1, 0x8b, 0x5a, 0x1d, 0x17, 0x5d, 0xc4, - 0x55, 0xec, 0xa0, 0x73, 0x10, 0xdb, 0xd4, 0xea, 0x38, 0x2b, 0x4d, 0x46, 0x8f, 0xa7, 0x4e, 0xdd, - 0x37, 0x15, 0x22, 0x9a, 0x0a, 0x52, 0xac, 0x10, 0xb0, 0x42, 0x29, 0xe4, 0x37, 0x63, 0x30, 0xd2, - 0xa6, 0x17, 0x21, 0x88, 0xe9, 0x6a, 0x83, 0x70, 0x94, 0x8e, 0x27, 0x15, 0xfa, 0x1b, 0x65, 0xa1, - 0xdf, 0x54, 0x2b, 0xd7, 0xd4, 0x1a, 0xce, 0x46, 0x28, 0x58, 0x34, 0xd1, 0x38, 0x40, 0x15, 0x9b, - 0x58, 0xaf, 0x62, 0xbd, 0xb2, 0x93, 0x8d, 0x4e, 0x46, 0x8f, 0x27, 0x15, 0x1f, 0x04, 0x3d, 0x04, - 0xc3, 0x66, 0x73, 0xa3, 0xae, 0x55, 0xca, 0x3e, 0x34, 0x98, 0x8c, 0x1e, 0x8f, 0x2b, 0x19, 0xd6, - 0x51, 0xf4, 0x90, 0x1f, 0x80, 0xa1, 0x1b, 0x58, 0xbd, 0xe6, 0x47, 0x4d, 0x51, 0xd4, 0x41, 0x02, - 0xf6, 0x21, 0xce, 0x42, 0xba, 0x81, 0x6d, 0x5b, 0xad, 0xe1, 0xb2, 0xb3, 0x63, 0xe2, 0x6c, 0x8c, - 0x6a, 0x3f, 0xd9, 0xa2, 0x7d, 0x58, 0xf3, 0x14, 0xa7, 0x5a, 0xdb, 0x31, 0x31, 0x9a, 0x81, 0x24, - 0xd6, 0x9b, 0x0d, 0xc6, 0x21, 0xde, 0xc1, 0x7e, 0x25, 0xbd, 0xd9, 0x08, 0x73, 0x49, 0x10, 0x32, - 0xce, 0xa2, 0xdf, 0xc6, 0xd6, 0x75, 0xad, 0x82, 0xb3, 0x7d, 0x94, 0xc1, 0x03, 0x2d, 0x0c, 0x56, - 0x59, 0x7f, 0x98, 0x87, 0xa0, 0x43, 0xb3, 0x90, 0xc4, 0xdb, 0x0e, 0xd6, 0x6d, 0xcd, 0xd0, 0xb3, - 0xfd, 0x94, 0xc9, 0xfb, 0xda, 0xcc, 0x22, 0xae, 0x57, 0xc3, 0x2c, 0x3c, 0x3a, 0x74, 0x16, 0xfa, - 0x0d, 0xd3, 0xd1, 0x0c, 0xdd, 0xce, 0x26, 0x26, 0xa5, 0xe3, 0xa9, 0x53, 0x47, 0xdb, 0x3a, 0xc2, - 0x32, 0xc3, 0x51, 0x04, 0x32, 0x9a, 0x87, 0x8c, 0x6d, 0x34, 0xad, 0x0a, 0x2e, 0x57, 0x8c, 0x2a, - 0x2e, 0x6b, 0xfa, 0xa6, 0x91, 0x4d, 0x52, 0x06, 0x13, 0xad, 0x8a, 0x50, 0xc4, 0x59, 0xa3, 0x8a, - 0xe7, 0xf5, 0x4d, 0x43, 0x19, 0xb4, 0x03, 0x6d, 0x34, 0x06, 0x7d, 0xf6, 0x8e, 0xee, 0xa8, 0xdb, - 0xd9, 0x34, 0xf5, 0x10, 0xde, 0x92, 0x7f, 0xbd, 0x0f, 0x86, 0x7a, 0x71, 0xb1, 0x0b, 0x10, 0xdf, - 0x24, 0x5a, 0x66, 0x23, 0x7b, 0xb1, 0x01, 0xa3, 0x09, 0x1a, 0xb1, 0x6f, 0x9f, 0x46, 0x9c, 0x81, - 0x94, 0x8e, 0x6d, 0x07, 0x57, 0x99, 0x47, 0x44, 0x7b, 0xf4, 0x29, 0x60, 0x44, 0xad, 0x2e, 0x15, - 0xdb, 0x97, 0x4b, 0x3d, 0x03, 0x43, 0xae, 0x48, 0x65, 0x4b, 0xd5, 0x6b, 0xc2, 0x37, 0xa7, 0xbb, - 0x49, 0x32, 0x55, 0x12, 0x74, 0x0a, 0x21, 0x53, 0x06, 0x71, 0xa0, 0x8d, 0x8a, 0x00, 0x86, 0x8e, - 0x8d, 0xcd, 0x72, 0x15, 0x57, 0xea, 0xd9, 0x44, 0x07, 0x2b, 0x2d, 0x13, 0x94, 0x16, 0x2b, 0x19, - 0x0c, 0x5a, 0xa9, 0xa3, 0xf3, 0x9e, 0xab, 0xf5, 0x77, 0xf0, 0x94, 0x45, 0x16, 0x64, 0x2d, 0xde, - 0xb6, 0x0e, 0x83, 0x16, 0x26, 0x7e, 0x8f, 0xab, 0x5c, 0xb3, 0x24, 0x15, 0x62, 0xaa, 0xab, 0x66, - 0x0a, 0x27, 0x63, 0x8a, 0x0d, 0x58, 0xfe, 0x26, 0xba, 0x17, 0x5c, 0x40, 0x99, 0xba, 0x15, 0xd0, - 0x2c, 0x94, 0x16, 0xc0, 0x25, 0xb5, 0x81, 0x73, 0x2f, 0xc0, 0x60, 0xd0, 0x3c, 0x68, 0x14, 0xe2, - 0xb6, 0xa3, 0x5a, 0x0e, 0xf5, 0xc2, 0xb8, 0xc2, 0x1a, 0x28, 0x03, 0x51, 0xac, 0x57, 0x69, 0x96, - 0x8b, 0x2b, 0xe4, 0x27, 0xfa, 0xa0, 0xa7, 0x70, 0x94, 0x2a, 0x7c, 0x7f, 0xeb, 0x8c, 0x06, 0x38, - 0x87, 0xf5, 0xce, 0x3d, 0x0e, 0x03, 0x01, 0x05, 0x7a, 0x1d, 0x5a, 0xfe, 0x28, 0x1c, 0x6c, 0xcb, - 0x1a, 0x3d, 0x03, 0xa3, 0x4d, 0x5d, 0xd3, 0x1d, 0x6c, 0x99, 0x16, 0x26, 0x1e, 0xcb, 0x86, 0xca, - 0xfe, 0xa7, 0xfe, 0x0e, 0x3e, 0xb7, 0xee, 0xc7, 0x66, 0x5c, 0x94, 0x91, 0x66, 0x2b, 0xf0, 0x44, - 0x32, 0xf1, 0x56, 0x7f, 0xe6, 0xc5, 0x17, 0x5f, 0x7c, 0x31, 0x22, 0x7f, 0xab, 0x0f, 0x46, 0xdb, - 0xc5, 0x4c, 0xdb, 0xf0, 0x1d, 0x83, 0x3e, 0xbd, 0xd9, 0xd8, 0xc0, 0x16, 0x35, 0x52, 0x5c, 0xe1, - 0x2d, 0x34, 0x03, 0xf1, 0xba, 0xba, 0x81, 0xeb, 0xd9, 0xd8, 0xa4, 0x74, 0x7c, 0xf0, 0xd4, 0x43, - 0x3d, 0x45, 0xe5, 0xd4, 0x02, 0x21, 0x51, 0x18, 0x25, 0x7a, 0x02, 0x62, 0x3c, 0x45, 0x13, 0x0e, - 0x27, 0x7a, 0xe3, 0x40, 0x62, 0x49, 0xa1, 0x74, 0xe8, 0x08, 0x24, 0xc9, 0x5f, 0xe6, 0x1b, 0x7d, - 0x54, 0xe6, 0x04, 0x01, 0x10, 0xbf, 0x40, 0x39, 0x48, 0xd0, 0x30, 0xa9, 0x62, 0xb1, 0xb4, 0xb9, - 0x6d, 0xe2, 0x58, 0x55, 0xbc, 0xa9, 0x36, 0xeb, 0x4e, 0xf9, 0xba, 0x5a, 0x6f, 0x62, 0xea, 0xf0, - 0x49, 0x25, 0xcd, 0x81, 0x57, 0x09, 0x0c, 0x4d, 0x40, 0x8a, 0x45, 0x95, 0xa6, 0x57, 0xf1, 0x36, - 0xcd, 0x9e, 0x71, 0x85, 0x05, 0xda, 0x3c, 0x81, 0x90, 0xe1, 0x9f, 0xb3, 0x0d, 0x5d, 0xb8, 0x26, - 0x1d, 0x82, 0x00, 0xe8, 0xf0, 0x8f, 0x87, 0x13, 0xf7, 0xb1, 0xf6, 0xea, 0xb5, 0xc4, 0xd2, 0x03, - 0x30, 0x44, 0x31, 0x1e, 0xe3, 0x53, 0xaf, 0xd6, 0xb3, 0xc3, 0x93, 0xd2, 0xf1, 0x84, 0x32, 0xc8, - 0xc0, 0xcb, 0x1c, 0x2a, 0x7f, 0x23, 0x02, 0x31, 0x9a, 0x58, 0x86, 0x20, 0xb5, 0xf6, 0xec, 0x4a, - 0xa9, 0x5c, 0x5c, 0x5e, 0x2f, 0x2c, 0x94, 0x32, 0x12, 0x1a, 0x04, 0xa0, 0x80, 0x8b, 0x0b, 0xcb, - 0x33, 0x6b, 0x99, 0x88, 0xdb, 0x9e, 0x5f, 0x5a, 0x3b, 0x7b, 0x3a, 0x13, 0x75, 0x09, 0xd6, 0x19, - 0x20, 0xe6, 0x47, 0x78, 0xec, 0x54, 0x26, 0x8e, 0x32, 0x90, 0x66, 0x0c, 0xe6, 0x9f, 0x29, 0x15, - 0xcf, 0x9e, 0xce, 0xf4, 0x05, 0x21, 0x8f, 0x9d, 0xca, 0xf4, 0xa3, 0x01, 0x48, 0x52, 0x48, 0x61, - 0x79, 0x79, 0x21, 0x93, 0x70, 0x79, 0xae, 0xae, 0x29, 0xf3, 0x4b, 0x73, 0x99, 0xa4, 0xcb, 0x73, - 0x4e, 0x59, 0x5e, 0x5f, 0xc9, 0x80, 0xcb, 0x61, 0xb1, 0xb4, 0xba, 0x3a, 0x33, 0x57, 0xca, 0xa4, - 0x5c, 0x8c, 0xc2, 0xb3, 0x6b, 0xa5, 0xd5, 0x4c, 0x3a, 0x20, 0xd6, 0x63, 0xa7, 0x32, 0x03, 0xee, - 0x10, 0xa5, 0xa5, 0xf5, 0xc5, 0xcc, 0x20, 0x1a, 0x86, 0x01, 0x36, 0x84, 0x10, 0x62, 0x28, 0x04, - 0x3a, 0x7b, 0x3a, 0x93, 0xf1, 0x04, 0x61, 0x5c, 0x86, 0x03, 0x80, 0xb3, 0xa7, 0x33, 0x48, 0x9e, - 0x85, 0x38, 0x75, 0x43, 0x84, 0x60, 0x70, 0x61, 0xa6, 0x50, 0x5a, 0x28, 0x2f, 0xaf, 0xac, 0xcd, - 0x2f, 0x2f, 0xcd, 0x2c, 0x64, 0x24, 0x0f, 0xa6, 0x94, 0x9e, 0x5a, 0x9f, 0x57, 0x4a, 0xc5, 0x4c, - 0xc4, 0x0f, 0x5b, 0x29, 0xcd, 0xac, 0x95, 0x8a, 0x99, 0xa8, 0x5c, 0x81, 0xd1, 0x76, 0x09, 0xb5, - 0x6d, 0x08, 0xf9, 0x7c, 0x21, 0xd2, 0xc1, 0x17, 0x28, 0xaf, 0xb0, 0x2f, 0xc8, 0xdf, 0x89, 0xc0, - 0x48, 0x9b, 0x45, 0xa5, 0xed, 0x20, 0x4f, 0x42, 0x9c, 0xf9, 0x32, 0x5b, 0x66, 0x1f, 0x6c, 0xbb, - 0x3a, 0x51, 0xcf, 0x6e, 0x59, 0x6a, 0x29, 0x9d, 0xbf, 0xd4, 0x88, 0x76, 0x28, 0x35, 0x08, 0x8b, - 0x16, 0x87, 0xfd, 0xd1, 0x96, 0xe4, 0xcf, 0xd6, 0xc7, 0xb3, 0xbd, 0xac, 0x8f, 0x14, 0xb6, 0xb7, - 0x45, 0x20, 0xde, 0x66, 0x11, 0xb8, 0x00, 0xc3, 0x2d, 0x8c, 0x7a, 0x4e, 0xc6, 0x1f, 0x97, 0x20, - 0xdb, 0xc9, 0x38, 0x5d, 0x52, 0x62, 0x24, 0x90, 0x12, 0x2f, 0x84, 0x2d, 0x78, 0x4f, 0xe7, 0x49, - 0x68, 0x99, 0xeb, 0xaf, 0x4a, 0x30, 0xd6, 0xbe, 0xa4, 0x6c, 0x2b, 0xc3, 0x13, 0xd0, 0xd7, 0xc0, - 0xce, 0x96, 0x21, 0xca, 0xaa, 0xfb, 0xdb, 0x2c, 0xd6, 0xa4, 0x3b, 0x3c, 0xd9, 0x9c, 0xca, 0xbf, - 0xda, 0x47, 0x3b, 0xd5, 0x85, 0x4c, 0x9a, 0x16, 0x49, 0x3f, 0x1d, 0x81, 0x83, 0x6d, 0x99, 0xb7, - 0x15, 0xf4, 0x18, 0x80, 0xa6, 0x9b, 0x4d, 0x87, 0x95, 0x4e, 0x2c, 0x13, 0x27, 0x29, 0x84, 0x26, - 0x2f, 0x92, 0x65, 0x9b, 0x8e, 0xdb, 0x1f, 0xa5, 0xfd, 0xc0, 0x40, 0x14, 0xe1, 0x9c, 0x27, 0x68, - 0x8c, 0x0a, 0x3a, 0xde, 0x41, 0xd3, 0x16, 0xc7, 0x7c, 0x04, 0x32, 0x95, 0xba, 0x86, 0x75, 0xa7, - 0x6c, 0x3b, 0x16, 0x56, 0x1b, 0x9a, 0x5e, 0xa3, 0x4b, 0x4d, 0x22, 0x1f, 0xdf, 0x54, 0xeb, 0x36, - 0x56, 0x86, 0x58, 0xf7, 0xaa, 0xe8, 0x25, 0x14, 0xd4, 0x81, 0x2c, 0x1f, 0x45, 0x5f, 0x80, 0x82, - 0x75, 0xbb, 0x14, 0xf2, 0xcb, 0x49, 0x48, 0xf9, 0x0a, 0x70, 0x74, 0x0f, 0xa4, 0x9f, 0x53, 0xaf, - 0xab, 0x65, 0xb1, 0xa9, 0x62, 0x96, 0x48, 0x11, 0xd8, 0x0a, 0xdf, 0x58, 0x3d, 0x02, 0xa3, 0x14, - 0xc5, 0x68, 0x3a, 0xd8, 0x2a, 0x57, 0xea, 0xaa, 0x6d, 0x53, 0xa3, 0x25, 0x28, 0x2a, 0x22, 0x7d, - 0xcb, 0xa4, 0x6b, 0x56, 0xf4, 0xa0, 0x33, 0x30, 0x42, 0x29, 0x1a, 0xcd, 0xba, 0xa3, 0x99, 0x75, - 0x5c, 0x26, 0xdb, 0x3c, 0x9b, 0x2e, 0x39, 0xae, 0x64, 0xc3, 0x04, 0x63, 0x91, 0x23, 0x10, 0x89, - 0x6c, 0x54, 0x84, 0x63, 0x94, 0xac, 0x86, 0x75, 0x6c, 0xa9, 0x0e, 0x2e, 0xe3, 0xe7, 0x9b, 0x6a, - 0xdd, 0x2e, 0xab, 0x7a, 0xb5, 0xbc, 0xa5, 0xda, 0x5b, 0xd9, 0x51, 0xc2, 0xa0, 0x10, 0xc9, 0x4a, - 0xca, 0x61, 0x82, 0x38, 0xc7, 0xf1, 0x4a, 0x14, 0x6d, 0x46, 0xaf, 0x5e, 0x52, 0xed, 0x2d, 0x94, - 0x87, 0x31, 0xca, 0xc5, 0x76, 0x2c, 0x4d, 0xaf, 0x95, 0x2b, 0x5b, 0xb8, 0x72, 0xad, 0xdc, 0x74, - 0x36, 0xcf, 0x65, 0x8f, 0xf8, 0xc7, 0xa7, 0x12, 0xae, 0x52, 0x9c, 0x59, 0x82, 0xb2, 0xee, 0x6c, - 0x9e, 0x43, 0xab, 0x90, 0x26, 0x93, 0xd1, 0xd0, 0x5e, 0xc0, 0xe5, 0x4d, 0xc3, 0xa2, 0x6b, 0xe8, - 0x60, 0x9b, 0xd4, 0xe4, 0xb3, 0xe0, 0xd4, 0x32, 0x27, 0x58, 0x34, 0xaa, 0x38, 0x1f, 0x5f, 0x5d, - 0x29, 0x95, 0x8a, 0x4a, 0x4a, 0x70, 0xb9, 0x68, 0x58, 0xc4, 0xa1, 0x6a, 0x86, 0x6b, 0xe0, 0x14, - 0x73, 0xa8, 0x9a, 0x21, 0xcc, 0x7b, 0x06, 0x46, 0x2a, 0x15, 0xa6, 0xb3, 0x56, 0x29, 0xf3, 0xcd, - 0x98, 0x9d, 0xcd, 0x04, 0x8c, 0x55, 0xa9, 0xcc, 0x31, 0x04, 0xee, 0xe3, 0x36, 0x3a, 0x0f, 0x07, - 0x3d, 0x63, 0xf9, 0x09, 0x87, 0x5b, 0xb4, 0x0c, 0x93, 0x9e, 0x81, 0x11, 0x73, 0xa7, 0x95, 0x10, - 0x05, 0x46, 0x34, 0x77, 0xc2, 0x64, 0x8f, 0xc3, 0xa8, 0xb9, 0x65, 0xb6, 0xd2, 0x9d, 0xf0, 0xd3, - 0x21, 0x73, 0xcb, 0x0c, 0x13, 0xbe, 0x8f, 0xee, 0xcc, 0x2d, 0x5c, 0x51, 0x1d, 0x5c, 0xcd, 0x1e, - 0xf2, 0xa3, 0xfb, 0x3a, 0xd0, 0x14, 0x64, 0x2a, 0x95, 0x32, 0xd6, 0xd5, 0x8d, 0x3a, 0x2e, 0xab, - 0x16, 0xd6, 0x55, 0x3b, 0x3b, 0x41, 0x91, 0x63, 0x8e, 0xd5, 0xc4, 0xca, 0x60, 0xa5, 0x52, 0xa2, - 0x9d, 0x33, 0xb4, 0x0f, 0x9d, 0x80, 0x61, 0x63, 0xe3, 0xb9, 0x0a, 0xf3, 0xc8, 0xb2, 0x69, 0xe1, - 0x4d, 0x6d, 0x3b, 0x7b, 0x1f, 0x35, 0xef, 0x10, 0xe9, 0xa0, 0xfe, 0xb8, 0x42, 0xc1, 0xe8, 0x41, - 0xc8, 0x54, 0xec, 0x2d, 0xd5, 0x32, 0x69, 0x4a, 0xb6, 0x4d, 0xb5, 0x82, 0xb3, 0xef, 0x63, 0xa8, - 0x0c, 0xbe, 0x24, 0xc0, 0x24, 0x22, 0xec, 0x1b, 0xda, 0xa6, 0x23, 0x38, 0x3e, 0xc0, 0x22, 0x82, - 0xc2, 0x38, 0xb7, 0xe3, 0x90, 0x21, 0x96, 0x08, 0x0c, 0x7c, 0x9c, 0xa2, 0x0d, 0x9a, 0x5b, 0xa6, - 0x7f, 0xdc, 0x7b, 0x61, 0x80, 0x60, 0x7a, 0x83, 0x3e, 0xc8, 0x0a, 0x37, 0x73, 0xcb, 0x37, 0xe2, - 0x69, 0x18, 0x23, 0x48, 0x0d, 0xec, 0xa8, 0x55, 0xd5, 0x51, 0x7d, 0xd8, 0x27, 0x29, 0x36, 0x31, - 0xfb, 0x22, 0xef, 0x0c, 0xc8, 0x69, 0x35, 0x37, 0x76, 0x5c, 0xc7, 0x7a, 0x98, 0xc9, 0x49, 0x60, - 0xc2, 0xb5, 0xee, 0x5a, 0x71, 0x2e, 0xe7, 0x21, 0xed, 0xf7, 0x7b, 0x94, 0x04, 0xe6, 0xf9, 0x19, - 0x89, 0x14, 0x41, 0xb3, 0xcb, 0x45, 0x52, 0xbe, 0x7c, 0xa8, 0x94, 0x89, 0x90, 0x32, 0x6a, 0x61, - 0x7e, 0xad, 0x54, 0x56, 0xd6, 0x97, 0xd6, 0xe6, 0x17, 0x4b, 0x99, 0xa8, 0xaf, 0xb0, 0xbf, 0x1c, - 0x4b, 0xdc, 0x9f, 0x79, 0x40, 0x7e, 0x3d, 0x02, 0x83, 0xc1, 0x9d, 0x1a, 0x7a, 0x3f, 0x1c, 0x12, - 0xc7, 0x2a, 0x36, 0x76, 0xca, 0x37, 0x34, 0x8b, 0x06, 0x64, 0x43, 0x65, 0x8b, 0xa3, 0xeb, 0x3f, - 0xa3, 0x1c, 0x6b, 0x15, 0x3b, 0x4f, 0x6b, 0x16, 0x09, 0xb7, 0x86, 0xea, 0xa0, 0x05, 0x98, 0xd0, - 0x8d, 0xb2, 0xed, 0xa8, 0x7a, 0x55, 0xb5, 0xaa, 0x65, 0xef, 0x40, 0xab, 0xac, 0x56, 0x2a, 0xd8, - 0xb6, 0x0d, 0xb6, 0x10, 0xba, 0x5c, 0x8e, 0xea, 0xc6, 0x2a, 0x47, 0xf6, 0x56, 0x88, 0x19, 0x8e, - 0x1a, 0x72, 0xdf, 0x68, 0x27, 0xf7, 0x3d, 0x02, 0xc9, 0x86, 0x6a, 0x96, 0xb1, 0xee, 0x58, 0x3b, - 0xb4, 0x3e, 0x4f, 0x28, 0x89, 0x86, 0x6a, 0x96, 0x48, 0xfb, 0x5d, 0xd9, 0x26, 0x5d, 0x8e, 0x25, - 0x12, 0x99, 0xe4, 0xe5, 0x58, 0x22, 0x99, 0x01, 0xf9, 0x8d, 0x28, 0xa4, 0xfd, 0xf5, 0x3a, 0xd9, - 0xfe, 0x54, 0xe8, 0x8a, 0x25, 0xd1, 0x9c, 0x76, 0xef, 0xae, 0xd5, 0xfd, 0xd4, 0x2c, 0x59, 0xca, - 0xf2, 0x7d, 0xac, 0x38, 0x56, 0x18, 0x25, 0x29, 0x23, 0x88, 0xb3, 0x61, 0x56, 0x8c, 0x24, 0x14, - 0xde, 0x42, 0x73, 0xd0, 0xf7, 0x9c, 0x4d, 0x79, 0xf7, 0x51, 0xde, 0xf7, 0xed, 0xce, 0xfb, 0xf2, - 0x2a, 0x65, 0x9e, 0xbc, 0xbc, 0x5a, 0x5e, 0x5a, 0x56, 0x16, 0x67, 0x16, 0x14, 0x4e, 0x8e, 0x0e, - 0x43, 0xac, 0xae, 0xbe, 0xb0, 0x13, 0x5c, 0xf4, 0x28, 0xa8, 0xd7, 0x49, 0x38, 0x0c, 0xb1, 0x1b, - 0x58, 0xbd, 0x16, 0x5c, 0x6a, 0x28, 0xe8, 0x2e, 0x06, 0xc3, 0x34, 0xc4, 0xa9, 0xbd, 0x10, 0x00, - 0xb7, 0x58, 0xe6, 0x00, 0x4a, 0x40, 0x6c, 0x76, 0x59, 0x21, 0x01, 0x91, 0x81, 0x34, 0x83, 0x96, - 0x57, 0xe6, 0x4b, 0xb3, 0xa5, 0x4c, 0x44, 0x3e, 0x03, 0x7d, 0xcc, 0x08, 0x24, 0x58, 0x5c, 0x33, - 0x64, 0x0e, 0xf0, 0x26, 0xe7, 0x21, 0x89, 0xde, 0xf5, 0xc5, 0x42, 0x49, 0xc9, 0x44, 0x82, 0x53, - 0x1d, 0xcb, 0xc4, 0x65, 0x1b, 0xd2, 0xfe, 0x3a, 0xfc, 0xdd, 0xd9, 0x8c, 0x7f, 0x53, 0x82, 0x94, - 0xaf, 0xae, 0x26, 0x05, 0x91, 0x5a, 0xaf, 0x1b, 0x37, 0xca, 0x6a, 0x5d, 0x53, 0x6d, 0xee, 0x1a, - 0x40, 0x41, 0x33, 0x04, 0xd2, 0xeb, 0xd4, 0xbd, 0x4b, 0x21, 0x12, 0xcf, 0xf4, 0xc9, 0x5f, 0x92, - 0x20, 0x13, 0x2e, 0x6c, 0x43, 0x62, 0x4a, 0xef, 0xa5, 0x98, 0xf2, 0x17, 0x25, 0x18, 0x0c, 0x56, - 0xb3, 0x21, 0xf1, 0xee, 0x79, 0x4f, 0xc5, 0xfb, 0xc3, 0x08, 0x0c, 0x04, 0x6a, 0xd8, 0x5e, 0xa5, - 0x7b, 0x1e, 0x86, 0xb5, 0x2a, 0x6e, 0x98, 0x86, 0x83, 0xf5, 0xca, 0x4e, 0xb9, 0x8e, 0xaf, 0xe3, - 0x7a, 0x56, 0xa6, 0x49, 0x63, 0x7a, 0xf7, 0x2a, 0x79, 0x6a, 0xde, 0xa3, 0x5b, 0x20, 0x64, 0xf9, - 0x91, 0xf9, 0x62, 0x69, 0x71, 0x65, 0x79, 0xad, 0xb4, 0x34, 0xfb, 0x6c, 0x79, 0x7d, 0xe9, 0xca, - 0xd2, 0xf2, 0xd3, 0x4b, 0x4a, 0x46, 0x0b, 0xa1, 0xdd, 0xc5, 0xb0, 0x5f, 0x81, 0x4c, 0x58, 0x28, - 0x74, 0x08, 0xda, 0x89, 0x95, 0x39, 0x80, 0x46, 0x60, 0x68, 0x69, 0xb9, 0xbc, 0x3a, 0x5f, 0x2c, - 0x95, 0x4b, 0x17, 0x2f, 0x96, 0x66, 0xd7, 0x56, 0xd9, 0xb9, 0x87, 0x8b, 0xbd, 0x16, 0x08, 0x70, - 0xf9, 0x95, 0x28, 0x8c, 0xb4, 0x91, 0x04, 0xcd, 0xf0, 0x1d, 0x0b, 0xdb, 0x44, 0x3d, 0xdc, 0x8b, - 0xf4, 0x53, 0xa4, 0x66, 0x58, 0x51, 0x2d, 0x87, 0x6f, 0x70, 0x1e, 0x04, 0x62, 0x25, 0xdd, 0xd1, - 0x36, 0x35, 0x6c, 0xf1, 0xf3, 0x24, 0xb6, 0x8d, 0x19, 0xf2, 0xe0, 0xec, 0x48, 0xe9, 0x24, 0x20, - 0xd3, 0xb0, 0x35, 0x47, 0xbb, 0x8e, 0xcb, 0x9a, 0x2e, 0x0e, 0x9f, 0xc8, 0xb6, 0x26, 0xa6, 0x64, - 0x44, 0xcf, 0xbc, 0xee, 0xb8, 0xd8, 0x3a, 0xae, 0xa9, 0x21, 0x6c, 0x92, 0xcc, 0xa3, 0x4a, 0x46, - 0xf4, 0xb8, 0xd8, 0xf7, 0x40, 0xba, 0x6a, 0x34, 0x49, 0xad, 0xc7, 0xf0, 0xc8, 0xda, 0x21, 0x29, - 0x29, 0x06, 0x73, 0x51, 0x78, 0x15, 0xef, 0x9d, 0x7a, 0xa5, 0x95, 0x14, 0x83, 0x31, 0x94, 0x07, - 0x60, 0x48, 0xad, 0xd5, 0x2c, 0xc2, 0x5c, 0x30, 0x62, 0xfb, 0x92, 0x41, 0x17, 0x4c, 0x11, 0x73, - 0x97, 0x21, 0x21, 0xec, 0x40, 0x96, 0x6a, 0x62, 0x89, 0xb2, 0xc9, 0x36, 0xdb, 0x91, 0xe3, 0x49, - 0x25, 0xa1, 0x8b, 0xce, 0x7b, 0x20, 0xad, 0xd9, 0x65, 0xef, 0x10, 0x3f, 0x32, 0x19, 0x39, 0x9e, - 0x50, 0x52, 0x9a, 0xed, 0x1e, 0x80, 0xca, 0x5f, 0x8d, 0xc0, 0x60, 0xf0, 0x21, 0x04, 0x2a, 0x42, - 0xa2, 0x6e, 0x54, 0x54, 0xea, 0x5a, 0xec, 0x09, 0xd8, 0xf1, 0x2e, 0xcf, 0x2d, 0xa6, 0x16, 0x38, - 0xbe, 0xe2, 0x52, 0xe6, 0x7e, 0x5b, 0x82, 0x84, 0x00, 0xa3, 0x31, 0x88, 0x99, 0xaa, 0xb3, 0x45, - 0xd9, 0xc5, 0x0b, 0x91, 0x8c, 0xa4, 0xd0, 0x36, 0x81, 0xdb, 0xa6, 0xaa, 0x53, 0x17, 0xe0, 0x70, - 0xd2, 0x26, 0xf3, 0x5a, 0xc7, 0x6a, 0x95, 0x6e, 0x7a, 0x8c, 0x46, 0x03, 0xeb, 0x8e, 0x2d, 0xe6, - 0x95, 0xc3, 0x67, 0x39, 0x18, 0x3d, 0x04, 0xc3, 0x8e, 0xa5, 0x6a, 0xf5, 0x00, 0x6e, 0x8c, 0xe2, - 0x66, 0x44, 0x87, 0x8b, 0x9c, 0x87, 0xc3, 0x82, 0x6f, 0x15, 0x3b, 0x6a, 0x65, 0x0b, 0x57, 0x3d, - 0xa2, 0x3e, 0x7a, 0xb8, 0x71, 0x88, 0x23, 0x14, 0x79, 0xbf, 0xa0, 0x95, 0x5f, 0x97, 0x60, 0x58, - 0x6c, 0xd3, 0xaa, 0xae, 0xb1, 0x16, 0x01, 0x54, 0x5d, 0x37, 0x1c, 0xbf, 0xb9, 0x5a, 0x5d, 0xb9, - 0x85, 0x6e, 0x6a, 0xc6, 0x25, 0x52, 0x7c, 0x0c, 0x72, 0x0d, 0x00, 0xaf, 0xa7, 0xa3, 0xd9, 0x26, - 0x20, 0xc5, 0x9f, 0x30, 0xd1, 0xc7, 0x94, 0x6c, 0x63, 0x0f, 0x0c, 0x44, 0xf6, 0x73, 0x68, 0x14, - 0xe2, 0x1b, 0xb8, 0xa6, 0xe9, 0xfc, 0xdc, 0x98, 0x35, 0xc4, 0xf1, 0x4b, 0xcc, 0x3d, 0x7e, 0x29, - 0x7c, 0x46, 0x82, 0x91, 0x8a, 0xd1, 0x08, 0xcb, 0x5b, 0xc8, 0x84, 0x4e, 0x17, 0xec, 0x4b, 0xd2, - 0x87, 0x9e, 0xa8, 0x69, 0xce, 0x56, 0x73, 0x63, 0xaa, 0x62, 0x34, 0xa6, 0x6b, 0x46, 0x5d, 0xd5, - 0x6b, 0xde, 0x73, 0x56, 0xfa, 0xa3, 0xf2, 0x70, 0x0d, 0xeb, 0x0f, 0xd7, 0x0c, 0xdf, 0x53, 0xd7, - 0x0b, 0xde, 0xcf, 0x3f, 0x95, 0xa4, 0x9f, 0x8d, 0x44, 0xe7, 0x56, 0x0a, 0x5f, 0x8b, 0xe4, 0xe6, - 0xd8, 0x70, 0x2b, 0xc2, 0x3c, 0x0a, 0xde, 0xac, 0xe3, 0x0a, 0x51, 0x19, 0xbe, 0xfb, 0x10, 0x8c, - 0xd6, 0x8c, 0x9a, 0x41, 0x39, 0x4e, 0x93, 0x5f, 0xfc, 0xc9, 0x6d, 0xd2, 0x85, 0xe6, 0xba, 0x3e, - 0xe6, 0xcd, 0x2f, 0xc1, 0x08, 0x47, 0x2e, 0xd3, 0x47, 0x47, 0x6c, 0x63, 0x83, 0x76, 0x3d, 0x55, - 0xcb, 0xfe, 0xca, 0x9b, 0x74, 0x41, 0x57, 0x86, 0x39, 0x29, 0xe9, 0x63, 0x7b, 0x9f, 0xbc, 0x02, - 0x07, 0x03, 0xfc, 0x58, 0xd8, 0x62, 0xab, 0x0b, 0xc7, 0xdf, 0xe0, 0x1c, 0x47, 0x7c, 0x1c, 0x57, - 0x39, 0x69, 0x7e, 0x16, 0x06, 0xf6, 0xc2, 0xeb, 0x5f, 0x72, 0x5e, 0x69, 0xec, 0x67, 0x32, 0x07, - 0x43, 0x94, 0x49, 0xa5, 0x69, 0x3b, 0x46, 0x83, 0xe6, 0xc4, 0xdd, 0xd9, 0xfc, 0xe6, 0x9b, 0x2c, - 0x8e, 0x06, 0x09, 0xd9, 0xac, 0x4b, 0x95, 0xcf, 0x03, 0x7d, 0x5a, 0x56, 0xc5, 0x95, 0x7a, 0x17, - 0x0e, 0xdf, 0xe6, 0x82, 0xb8, 0xf8, 0xf9, 0xab, 0x30, 0x4a, 0x7e, 0xd3, 0x94, 0xe5, 0x97, 0xa4, - 0xfb, 0x11, 0x5c, 0xf6, 0xf5, 0x8f, 0xb3, 0x50, 0x1d, 0x71, 0x19, 0xf8, 0x64, 0xf2, 0xcd, 0x62, - 0x0d, 0x3b, 0x0e, 0xb6, 0xec, 0xb2, 0x5a, 0x6f, 0x27, 0x9e, 0xef, 0x0c, 0x23, 0xfb, 0x85, 0xef, - 0x05, 0x67, 0x71, 0x8e, 0x51, 0xce, 0xd4, 0xeb, 0xf9, 0x75, 0x38, 0xd4, 0xc6, 0x2b, 0x7a, 0xe0, - 0xf9, 0x0a, 0xe7, 0x39, 0xda, 0xe2, 0x19, 0x84, 0xed, 0x0a, 0x08, 0xb8, 0x3b, 0x97, 0x3d, 0xf0, - 0xfc, 0x19, 0xce, 0x13, 0x71, 0x5a, 0x31, 0xa5, 0x84, 0xe3, 0x65, 0x18, 0xbe, 0x8e, 0xad, 0x0d, - 0xc3, 0xe6, 0xe7, 0x46, 0x3d, 0xb0, 0xfb, 0x22, 0x67, 0x37, 0xc4, 0x09, 0xe9, 0x41, 0x12, 0xe1, - 0x75, 0x1e, 0x12, 0x9b, 0x6a, 0x05, 0xf7, 0xc0, 0xe2, 0x26, 0x67, 0xd1, 0x4f, 0xf0, 0x09, 0xe9, - 0x0c, 0xa4, 0x6b, 0x06, 0x5f, 0xb5, 0xba, 0x93, 0x7f, 0x89, 0x93, 0xa7, 0x04, 0x0d, 0x67, 0x61, - 0x1a, 0x66, 0xb3, 0x4e, 0x96, 0xb4, 0xee, 0x2c, 0xfe, 0xa6, 0x60, 0x21, 0x68, 0x38, 0x8b, 0x3d, - 0x98, 0xf5, 0x55, 0xc1, 0xc2, 0xf6, 0xd9, 0xf3, 0x49, 0x48, 0x19, 0x7a, 0x7d, 0xc7, 0xd0, 0x7b, - 0x11, 0xe2, 0xcb, 0x9c, 0x03, 0x70, 0x12, 0xc2, 0xe0, 0x02, 0x24, 0x7b, 0x9d, 0x88, 0xbf, 0xf5, - 0x3d, 0x11, 0x1e, 0x62, 0x06, 0xe6, 0x60, 0x48, 0x24, 0x28, 0xcd, 0xd0, 0x7b, 0x60, 0xf1, 0xb7, - 0x39, 0x8b, 0x41, 0x1f, 0x19, 0x57, 0xc3, 0xc1, 0xb6, 0x53, 0xc3, 0xbd, 0x30, 0xf9, 0xaa, 0x50, - 0x83, 0x93, 0x70, 0x53, 0x6e, 0x60, 0xbd, 0xb2, 0xd5, 0x1b, 0x87, 0x9f, 0x17, 0xa6, 0x14, 0x34, - 0x84, 0xc5, 0x2c, 0x0c, 0x34, 0x54, 0xcb, 0xde, 0x52, 0xeb, 0x3d, 0x4d, 0xc7, 0xdf, 0xe1, 0x3c, - 0xd2, 0x2e, 0x11, 0xb7, 0x48, 0x53, 0xdf, 0x0b, 0x9b, 0xaf, 0x09, 0x8b, 0xf8, 0xc8, 0x78, 0xe8, - 0xd9, 0x0e, 0x3d, 0x64, 0xdb, 0x0b, 0xb7, 0x5f, 0x10, 0xa1, 0xc7, 0x68, 0x17, 0xfd, 0x1c, 0x2f, - 0x40, 0xd2, 0xd6, 0x5e, 0xe8, 0x89, 0xcd, 0x2f, 0x8a, 0x99, 0xa6, 0x04, 0x84, 0xf8, 0x59, 0x38, - 0xdc, 0x76, 0x99, 0xe8, 0x81, 0xd9, 0xdf, 0xe5, 0xcc, 0xc6, 0xda, 0x2c, 0x15, 0x3c, 0x25, 0xec, - 0x95, 0xe5, 0xdf, 0x13, 0x29, 0x01, 0x87, 0x78, 0xad, 0x90, 0x7d, 0x84, 0xad, 0x6e, 0xee, 0xcd, - 0x6a, 0xbf, 0x24, 0xac, 0xc6, 0x68, 0x03, 0x56, 0x5b, 0x83, 0x31, 0xce, 0x71, 0x6f, 0xf3, 0xfa, - 0xcb, 0x22, 0xb1, 0x32, 0xea, 0xf5, 0xe0, 0xec, 0x7e, 0x18, 0x72, 0xae, 0x39, 0x45, 0xc1, 0x6a, - 0x97, 0x1b, 0xaa, 0xd9, 0x03, 0xe7, 0x5f, 0xe1, 0x9c, 0x45, 0xc6, 0x77, 0x2b, 0x5e, 0x7b, 0x51, - 0x35, 0x09, 0xf3, 0x67, 0x20, 0x2b, 0x98, 0x37, 0x75, 0x0b, 0x57, 0x8c, 0x9a, 0xae, 0xbd, 0x80, - 0xab, 0x3d, 0xb0, 0xfe, 0xd5, 0xd0, 0x54, 0xad, 0xfb, 0xc8, 0x09, 0xe7, 0x79, 0xc8, 0xb8, 0xb5, - 0x4a, 0x59, 0x6b, 0x98, 0x86, 0xe5, 0x74, 0xe1, 0xf8, 0x75, 0x31, 0x53, 0x2e, 0xdd, 0x3c, 0x25, - 0xcb, 0x97, 0x80, 0x3d, 0x79, 0xee, 0xd5, 0x25, 0x7f, 0x8d, 0x33, 0x1a, 0xf0, 0xa8, 0x78, 0xe2, - 0xa8, 0x18, 0x0d, 0x53, 0xb5, 0x7a, 0xc9, 0x7f, 0x7f, 0x5f, 0x24, 0x0e, 0x4e, 0xc2, 0x13, 0x87, - 0xb3, 0x63, 0x62, 0xb2, 0xda, 0xf7, 0xc0, 0xe1, 0x1b, 0x22, 0x71, 0x08, 0x1a, 0xce, 0x42, 0x14, - 0x0c, 0x3d, 0xb0, 0xf8, 0x07, 0x82, 0x85, 0xa0, 0x21, 0x2c, 0x9e, 0xf2, 0x16, 0x5a, 0x0b, 0xd7, - 0x34, 0xdb, 0xb1, 0x58, 0x99, 0xbc, 0x3b, 0xab, 0x7f, 0xf8, 0xbd, 0x60, 0x11, 0xa6, 0xf8, 0x48, - 0x49, 0x26, 0xe2, 0xc7, 0xae, 0x74, 0x17, 0xd5, 0x5d, 0xb0, 0x5f, 0x17, 0x99, 0xc8, 0x47, 0x46, - 0x64, 0xf3, 0x55, 0x88, 0xc4, 0xec, 0x15, 0xb2, 0x77, 0xe8, 0x81, 0xdd, 0x3f, 0x0a, 0x09, 0xb7, - 0x2a, 0x68, 0x09, 0x4f, 0x5f, 0xfd, 0xd3, 0xd4, 0xaf, 0xe1, 0x9d, 0x9e, 0xbc, 0xf3, 0x1f, 0x87, - 0xea, 0x9f, 0x75, 0x46, 0xc9, 0x72, 0xc8, 0x50, 0xa8, 0x9e, 0x42, 0xdd, 0xee, 0x19, 0x65, 0x7f, - 0xec, 0x6d, 0xae, 0x6f, 0xb0, 0x9c, 0xca, 0x2f, 0x10, 0x27, 0x0f, 0x16, 0x3d, 0xdd, 0x99, 0x7d, - 0xfc, 0x6d, 0xd7, 0xcf, 0x03, 0x35, 0x4f, 0xfe, 0x22, 0x0c, 0x04, 0x0a, 0x9e, 0xee, 0xac, 0x3e, - 0xc1, 0x59, 0xa5, 0xfd, 0xf5, 0x4e, 0xfe, 0x0c, 0xc4, 0x48, 0xf1, 0xd2, 0x9d, 0xfc, 0x2f, 0x73, - 0x72, 0x8a, 0x9e, 0xff, 0x00, 0x24, 0x44, 0xd1, 0xd2, 0x9d, 0xf4, 0x93, 0x9c, 0xd4, 0x25, 0x21, - 0xe4, 0xa2, 0x60, 0xe9, 0x4e, 0xfe, 0x57, 0x04, 0xb9, 0x20, 0x21, 0xe4, 0xbd, 0x9b, 0xf0, 0x9b, - 0x3f, 0x11, 0xe3, 0x8b, 0x8e, 0xb0, 0xdd, 0x05, 0xe8, 0xe7, 0x95, 0x4a, 0x77, 0xea, 0x4f, 0xf3, - 0xc1, 0x05, 0x45, 0xfe, 0x71, 0x88, 0xf7, 0x68, 0xf0, 0x9f, 0xe4, 0xa4, 0x0c, 0x3f, 0x3f, 0x0b, - 0x29, 0x5f, 0x75, 0xd2, 0x9d, 0xfc, 0xaf, 0x71, 0x72, 0x3f, 0x15, 0x11, 0x9d, 0x57, 0x27, 0xdd, - 0x19, 0x7c, 0x46, 0x88, 0xce, 0x29, 0x88, 0xd9, 0x44, 0x61, 0xd2, 0x9d, 0xfa, 0xb3, 0xc2, 0xea, - 0x82, 0x24, 0xff, 0x24, 0x24, 0xdd, 0xc5, 0xa6, 0x3b, 0xfd, 0xcb, 0x9c, 0xde, 0xa3, 0x21, 0x16, - 0xf0, 0x2d, 0x76, 0xdd, 0x59, 0xfc, 0x75, 0x61, 0x01, 0x1f, 0x15, 0x09, 0xa3, 0x70, 0x01, 0xd3, - 0x9d, 0xd3, 0xe7, 0x44, 0x18, 0x85, 0xea, 0x17, 0x32, 0x9b, 0x34, 0xe7, 0x77, 0x67, 0xf1, 0x53, - 0x62, 0x36, 0x29, 0x3e, 0x11, 0x23, 0x5c, 0x11, 0x74, 0xe7, 0xf1, 0x37, 0x84, 0x18, 0xa1, 0x82, - 0x20, 0xbf, 0x02, 0xa8, 0xb5, 0x1a, 0xe8, 0xce, 0xef, 0xf3, 0x9c, 0xdf, 0x70, 0x4b, 0x31, 0x90, - 0x7f, 0x1a, 0xc6, 0xda, 0x57, 0x02, 0xdd, 0xb9, 0x7e, 0xe1, 0xed, 0xd0, 0xde, 0xcd, 0x5f, 0x08, - 0xe4, 0xd7, 0xbc, 0x25, 0xc5, 0x5f, 0x05, 0x74, 0x67, 0xfb, 0xca, 0xdb, 0xc1, 0xc4, 0xed, 0x2f, - 0x02, 0xf2, 0x33, 0x00, 0xde, 0x02, 0xdc, 0x9d, 0xd7, 0x17, 0x39, 0x2f, 0x1f, 0x11, 0x09, 0x0d, - 0xbe, 0xfe, 0x76, 0xa7, 0xbf, 0x29, 0x42, 0x83, 0x53, 0x90, 0xd0, 0x10, 0x4b, 0x6f, 0x77, 0xea, - 0x2f, 0x89, 0xd0, 0x10, 0x24, 0xc4, 0xb3, 0x7d, 0xab, 0x5b, 0x77, 0x0e, 0x5f, 0x16, 0x9e, 0xed, - 0xa3, 0xca, 0x2f, 0xc1, 0x70, 0xcb, 0x82, 0xd8, 0x9d, 0xd5, 0xcf, 0x72, 0x56, 0x99, 0xf0, 0x7a, - 0xe8, 0x5f, 0xbc, 0xf8, 0x62, 0xd8, 0x9d, 0xdb, 0x57, 0x42, 0x8b, 0x17, 0x5f, 0x0b, 0xf3, 0x17, - 0x20, 0xa1, 0x37, 0xeb, 0x75, 0x12, 0x3c, 0x68, 0xf7, 0xbb, 0x81, 0xd9, 0xff, 0xfc, 0x03, 0x6e, - 0x1d, 0x41, 0x90, 0x3f, 0x03, 0x71, 0xdc, 0xd8, 0xc0, 0xd5, 0x6e, 0x94, 0xdf, 0xfd, 0x81, 0x48, - 0x98, 0x04, 0x3b, 0xff, 0x24, 0x00, 0x3b, 0x1a, 0xa1, 0x8f, 0x07, 0xbb, 0xd0, 0xfe, 0x97, 0x1f, - 0xf0, 0xcb, 0x38, 0x1e, 0x89, 0xc7, 0x80, 0x5d, 0xed, 0xd9, 0x9d, 0xc1, 0xf7, 0x82, 0x0c, 0xe8, - 0x8c, 0x9c, 0x87, 0xfe, 0xe7, 0x6c, 0x43, 0x77, 0xd4, 0x5a, 0x37, 0xea, 0xff, 0xca, 0xa9, 0x05, - 0x3e, 0x31, 0x58, 0xc3, 0xb0, 0xb0, 0xa3, 0xd6, 0xec, 0x6e, 0xb4, 0xff, 0x8d, 0xd3, 0xba, 0x04, - 0x84, 0xb8, 0xa2, 0xda, 0x4e, 0x2f, 0x7a, 0xff, 0x77, 0x41, 0x2c, 0x08, 0x88, 0xd0, 0xe4, 0xf7, - 0x35, 0xbc, 0xd3, 0x8d, 0xf6, 0xfb, 0x42, 0x68, 0x8e, 0x9f, 0xff, 0x00, 0x24, 0xc9, 0x4f, 0x76, - 0xc3, 0xae, 0x0b, 0xf1, 0x1f, 0x73, 0x62, 0x8f, 0x82, 0x8c, 0x6c, 0x3b, 0x55, 0x47, 0xeb, 0x6e, - 0xec, 0xdb, 0x7c, 0xa6, 0x05, 0x7e, 0x7e, 0x06, 0x52, 0xb6, 0x53, 0xad, 0x36, 0x79, 0x7d, 0xda, - 0x85, 0xfc, 0x7f, 0xfc, 0xc0, 0x3d, 0xb2, 0x70, 0x69, 0xc8, 0x6c, 0xdf, 0xb8, 0xe6, 0x98, 0x06, - 0x7d, 0x04, 0xd2, 0x8d, 0xc3, 0xdb, 0x9c, 0x83, 0x8f, 0x24, 0x3f, 0x0b, 0x69, 0xa2, 0x8b, 0x85, - 0x4d, 0x4c, 0x9f, 0x57, 0x75, 0x61, 0xf1, 0x3f, 0xb9, 0x01, 0x02, 0x44, 0x85, 0x1f, 0xfd, 0xf6, - 0x1b, 0xe3, 0xd2, 0x6b, 0x6f, 0x8c, 0x4b, 0x7f, 0xf8, 0xc6, 0xb8, 0xf4, 0xd9, 0xef, 0x8c, 0x1f, - 0x78, 0xed, 0x3b, 0xe3, 0x07, 0x7e, 0xf7, 0x3b, 0xe3, 0x07, 0xda, 0x1f, 0x1b, 0xc3, 0x9c, 0x31, - 0x67, 0xb0, 0x03, 0xe3, 0x0f, 0xc9, 0x81, 0xe3, 0xe2, 0x9a, 0xe1, 0x9d, 0xd6, 0xba, 0x9b, 0x1c, - 0xf8, 0x44, 0x14, 0xc6, 0x2b, 0x86, 0xdd, 0x30, 0xec, 0xe9, 0x0d, 0xd5, 0xc6, 0xd3, 0xd7, 0x1f, - 0xdd, 0xc0, 0x8e, 0xfa, 0xe8, 0x74, 0xc5, 0xd0, 0x74, 0x7e, 0xec, 0x3b, 0xc2, 0xfa, 0xa7, 0x48, - 0xff, 0x14, 0xef, 0xcf, 0xb5, 0x3d, 0x21, 0x96, 0xe7, 0x20, 0x36, 0x6b, 0x68, 0x3a, 0x1a, 0x85, - 0x78, 0x15, 0xeb, 0x46, 0x83, 0x5f, 0x00, 0x63, 0x0d, 0x74, 0x2f, 0xf4, 0xa9, 0x0d, 0xa3, 0xa9, - 0x3b, 0xec, 0xb8, 0xbc, 0x90, 0xfa, 0xf6, 0xad, 0x89, 0x03, 0xbf, 0x77, 0x6b, 0x22, 0x3a, 0xaf, - 0x3b, 0x0a, 0xef, 0xca, 0xc7, 0xde, 0x7a, 0x75, 0x42, 0x92, 0x2f, 0x43, 0x7f, 0x11, 0x57, 0xf6, - 0xc3, 0xab, 0x88, 0x2b, 0x21, 0x5e, 0x0f, 0x42, 0x62, 0x5e, 0x77, 0xd8, 0x15, 0xbd, 0x63, 0x10, - 0xd5, 0x74, 0x76, 0xeb, 0x23, 0x34, 0x3e, 0x81, 0x13, 0xd4, 0x22, 0xae, 0xb8, 0xa8, 0x55, 0x5c, - 0x09, 0xa3, 0x12, 0xf6, 0x04, 0x5e, 0x28, 0xfe, 0xee, 0x7f, 0x1c, 0x3f, 0xf0, 0xe2, 0x1b, 0xe3, - 0x07, 0x3a, 0xcd, 0x4f, 0xc0, 0xfc, 0xdc, 0xc4, 0xec, 0xcf, 0xc3, 0x76, 0xf5, 0xda, 0x34, 0x09, - 0x2d, 0x7b, 0xa3, 0x8f, 0xdd, 0x6a, 0x86, 0xcf, 0x46, 0x60, 0x22, 0x7c, 0xa4, 0x4e, 0xfc, 0xd8, - 0x76, 0xd4, 0x86, 0xd9, 0xe9, 0xc5, 0xa9, 0x0b, 0x90, 0x5c, 0x13, 0x38, 0x28, 0x0b, 0xfd, 0x36, - 0xae, 0x18, 0x7a, 0xd5, 0xa6, 0x22, 0x47, 0x15, 0xd1, 0x24, 0x06, 0xd4, 0x55, 0xdd, 0xb0, 0xf9, - 0x75, 0x4d, 0xd6, 0x28, 0xfc, 0xb4, 0xb4, 0x37, 0xc7, 0x1a, 0x74, 0x87, 0xa2, 0xe6, 0x59, 0x91, - 0x3e, 0xf4, 0xd0, 0x6e, 0x4f, 0x23, 0xa8, 0x7a, 0x9e, 0x0a, 0xbe, 0x47, 0x0f, 0xe3, 0xe1, 0x47, - 0x0f, 0x4f, 0xe3, 0x7a, 0xfd, 0x8a, 0x6e, 0xdc, 0xd0, 0xd7, 0x02, 0x26, 0xf9, 0x37, 0x12, 0x4c, - 0xd2, 0x0b, 0xeb, 0x56, 0x43, 0xd3, 0x9d, 0xe9, 0xba, 0xb6, 0x61, 0x4f, 0x6f, 0x68, 0x8e, 0xcd, - 0x2c, 0xc7, 0x6d, 0x32, 0xea, 0x61, 0x4c, 0x11, 0x8c, 0x29, 0x82, 0x21, 0x9f, 0x86, 0x44, 0x41, - 0x73, 0x66, 0x2c, 0x4b, 0xdd, 0x41, 0x08, 0x62, 0x04, 0xc6, 0x8d, 0x42, 0x7f, 0x13, 0x8b, 0xe0, - 0x3a, 0x6e, 0xd8, 0xf4, 0xa1, 0x57, 0x4c, 0x61, 0x8d, 0xc2, 0x7a, 0xc7, 0x99, 0xbc, 0xe0, 0xd3, - 0xd4, 0x27, 0x92, 0xef, 0x27, 0x8b, 0x84, 0x76, 0xe2, 0xba, 0xfa, 0x7c, 0x2d, 0x06, 0xc7, 0x7c, - 0x08, 0x15, 0x6b, 0xc7, 0x74, 0x68, 0x48, 0x1a, 0x9b, 0x5c, 0x99, 0x61, 0x9f, 0x32, 0xac, 0xbb, - 0x43, 0x98, 0x6d, 0x42, 0x7c, 0x85, 0xd0, 0x11, 0x45, 0x1c, 0xc3, 0x51, 0xeb, 0x5c, 0x3b, 0xd6, - 0x20, 0x50, 0x76, 0x69, 0x3f, 0xc2, 0xa0, 0x9a, 0xb8, 0xaf, 0x5f, 0xc7, 0xea, 0x26, 0xbb, 0xfb, - 0x18, 0xa5, 0xcf, 0x3e, 0x13, 0x04, 0x40, 0xaf, 0x39, 0x8e, 0x42, 0x5c, 0x6d, 0xb2, 0xc7, 0x76, - 0xd1, 0xe3, 0x69, 0x85, 0x35, 0xe4, 0x2b, 0xd0, 0xcf, 0x1f, 0x15, 0xa0, 0x0c, 0x44, 0xaf, 0xe1, - 0x1d, 0x3a, 0x4e, 0x5a, 0x21, 0x3f, 0xd1, 0x14, 0xc4, 0xa9, 0xf0, 0xfc, 0x52, 0x77, 0x76, 0xaa, - 0x45, 0xfa, 0x29, 0x2a, 0xa4, 0xc2, 0xd0, 0xe4, 0xcb, 0x90, 0x28, 0x1a, 0x0d, 0x4d, 0x37, 0x82, - 0xdc, 0x92, 0x8c, 0x1b, 0x95, 0xd9, 0x6c, 0xf2, 0x70, 0x56, 0x58, 0x03, 0x8d, 0x41, 0x1f, 0xbb, - 0x0b, 0xcb, 0x1f, 0x3d, 0xf2, 0x96, 0x3c, 0x0b, 0xfd, 0x94, 0xf7, 0xb2, 0x49, 0xe6, 0xd7, 0xbd, - 0x88, 0x94, 0xe4, 0x6f, 0x46, 0x70, 0xf6, 0x11, 0x4f, 0x58, 0x04, 0xb1, 0xaa, 0xea, 0xa8, 0x5c, - 0x6f, 0xfa, 0x5b, 0x7e, 0x02, 0x12, 0x9c, 0x89, 0x8d, 0x4e, 0x41, 0xd4, 0x30, 0x6d, 0xfe, 0xf0, - 0x30, 0xd7, 0x49, 0x95, 0x65, 0xb3, 0x10, 0x23, 0x89, 0x40, 0x21, 0xc8, 0x05, 0xa5, 0xa3, 0xbf, - 0x9c, 0xdb, 0xbb, 0xbf, 0xb0, 0x61, 0x5c, 0x67, 0xf9, 0x72, 0x04, 0xc6, 0x7d, 0xbd, 0xd7, 0xb1, - 0x45, 0xea, 0xe5, 0x80, 0xeb, 0x23, 0x9f, 0x90, 0xbc, 0xbf, 0x83, 0xbb, 0x7c, 0x00, 0xa2, 0x33, - 0xa6, 0x89, 0x72, 0x90, 0x60, 0x0f, 0x09, 0x0d, 0xe6, 0x2f, 0x31, 0xc5, 0x6d, 0x93, 0x3e, 0xdb, - 0xd8, 0x74, 0x6e, 0xa8, 0x96, 0xfb, 0xba, 0x88, 0x68, 0xcb, 0xe7, 0x21, 0x39, 0x6b, 0xe8, 0x36, - 0xd6, 0xed, 0x26, 0x0d, 0x9d, 0x8d, 0xba, 0x51, 0xb9, 0xc6, 0x39, 0xb0, 0x06, 0x31, 0xb8, 0x6a, - 0x9a, 0x94, 0x32, 0xa6, 0x90, 0x9f, 0x2c, 0xf5, 0x16, 0x56, 0x3b, 0x9a, 0xe8, 0xfc, 0xde, 0x4d, - 0xc4, 0x95, 0x74, 0x6d, 0xf4, 0xfb, 0x12, 0x1c, 0x6d, 0x0d, 0xa8, 0x6b, 0x78, 0xc7, 0xde, 0x6b, - 0x3c, 0x9d, 0x83, 0xe4, 0x0a, 0x7d, 0x67, 0xf3, 0x0a, 0xde, 0x41, 0x39, 0xe8, 0xc7, 0xd5, 0x53, - 0x67, 0xce, 0x3c, 0x7a, 0x9e, 0x79, 0xfb, 0xa5, 0x03, 0x8a, 0x00, 0xe4, 0x13, 0x44, 0xab, 0xb7, - 0xbe, 0x3c, 0x21, 0x15, 0xe2, 0x10, 0xb5, 0x9b, 0x8d, 0xbb, 0xea, 0x03, 0xaf, 0xc4, 0x03, 0x09, - 0x90, 0x65, 0xd4, 0xeb, 0x6a, 0x5d, 0xab, 0xaa, 0xde, 0xdb, 0xb4, 0x19, 0x9f, 0x8e, 0x14, 0xa3, - 0xbd, 0x8a, 0xb9, 0x5d, 0x2d, 0x25, 0xff, 0xaa, 0x04, 0xe9, 0xab, 0x82, 0xf3, 0x2a, 0x76, 0xd0, - 0x05, 0x00, 0x77, 0x24, 0x11, 0x16, 0x47, 0xa6, 0xc2, 0x63, 0x4d, 0xb9, 0x34, 0x8a, 0x0f, 0x1d, - 0x3d, 0x4e, 0x1d, 0xcd, 0x34, 0x6c, 0xfe, 0x8a, 0x40, 0x17, 0x52, 0x17, 0x19, 0x9d, 0x04, 0x44, - 0x33, 0x58, 0xf9, 0xba, 0xe1, 0x68, 0x7a, 0xad, 0x6c, 0x1a, 0x37, 0xf8, 0x8b, 0x57, 0x51, 0x25, - 0x43, 0x7b, 0xae, 0xd2, 0x8e, 0x15, 0x02, 0x27, 0x42, 0x27, 0x5d, 0x2e, 0x64, 0xfd, 0x53, 0xab, - 0x55, 0x0b, 0xdb, 0x36, 0x4f, 0x52, 0xa2, 0x89, 0x2e, 0x40, 0xbf, 0xd9, 0xdc, 0x28, 0x8b, 0x8c, - 0x90, 0x3a, 0x75, 0xb4, 0x5d, 0x7c, 0x8b, 0xf9, 0xe7, 0x11, 0xde, 0x67, 0x36, 0x37, 0x88, 0x37, - 0xdc, 0x03, 0xe9, 0x36, 0xc2, 0xa4, 0xae, 0x7b, 0x72, 0xd0, 0x57, 0x81, 0xb9, 0x06, 0x65, 0xd3, - 0xd2, 0x0c, 0x4b, 0x73, 0x76, 0xe8, 0x13, 0xfe, 0xa8, 0x92, 0x11, 0x1d, 0x2b, 0x1c, 0x2e, 0x5f, - 0x83, 0xa1, 0x55, 0xad, 0x61, 0xd2, 0x3b, 0x29, 0x5c, 0xf2, 0x33, 0x9e, 0x7c, 0x52, 0x77, 0xf9, - 0x3a, 0x4a, 0x16, 0x69, 0x91, 0xac, 0xf0, 0x54, 0x47, 0xef, 0x7c, 0x7c, 0xef, 0xde, 0x19, 0x2c, - 0x58, 0xfe, 0x24, 0x17, 0x08, 0x3e, 0xbe, 0xdc, 0xfb, 0xd2, 0x53, 0xaf, 0x8e, 0xd9, 0xad, 0xec, - 0xc9, 0x75, 0x2d, 0x02, 0x72, 0xbb, 0x2f, 0xab, 0xb9, 0x2e, 0x89, 0x34, 0xd7, 0x35, 0xc8, 0xe4, - 0xf3, 0x30, 0xb0, 0xa2, 0x5a, 0xce, 0x2a, 0x76, 0x2e, 0x61, 0xb5, 0x8a, 0xad, 0xe0, 0xba, 0x3b, - 0x20, 0xd6, 0x5d, 0x04, 0x31, 0xba, 0xb8, 0xb2, 0x75, 0x87, 0xfe, 0x96, 0xb7, 0x20, 0x46, 0xef, - 0x01, 0xb9, 0x6b, 0x32, 0xa7, 0x60, 0x6b, 0x32, 0xc9, 0xa6, 0x3b, 0x0e, 0xb6, 0x39, 0x09, 0x6b, - 0xa0, 0xd3, 0x62, 0x65, 0x8d, 0xee, 0xbe, 0xb2, 0x72, 0x57, 0xe5, 0xeb, 0x6b, 0x1d, 0xfa, 0x0b, - 0x24, 0x19, 0xcf, 0x17, 0x5d, 0x41, 0x24, 0x4f, 0x10, 0xb4, 0x08, 0x43, 0xa6, 0x6a, 0x39, 0xf4, - 0x02, 0xf4, 0x16, 0xd5, 0x82, 0x47, 0xc3, 0x44, 0x6b, 0x6c, 0x06, 0x94, 0xe5, 0xa3, 0x0c, 0x98, - 0x7e, 0xa0, 0xfc, 0x47, 0x31, 0xe8, 0xe3, 0xc6, 0xf8, 0x00, 0xf4, 0x73, 0xb3, 0x72, 0xff, 0x3d, - 0x36, 0xd5, 0xba, 0x34, 0x4d, 0xb9, 0x4b, 0x08, 0xe7, 0x27, 0x68, 0xd0, 0xfd, 0x90, 0xa8, 0x6c, - 0xa9, 0x9a, 0x5e, 0xd6, 0xaa, 0xa2, 0x96, 0x7f, 0xe3, 0xd6, 0x44, 0xff, 0x2c, 0x81, 0xcd, 0x17, - 0x95, 0x7e, 0xda, 0x39, 0x5f, 0x25, 0xb5, 0xc0, 0x16, 0xd6, 0x6a, 0x5b, 0x0e, 0x8f, 0x41, 0xde, - 0x42, 0xe7, 0x20, 0x46, 0x5c, 0x86, 0xbf, 0x1e, 0x93, 0x6b, 0xd9, 0x63, 0xb9, 0x75, 0x6b, 0x21, - 0x41, 0x06, 0xfe, 0xec, 0x1f, 0x4c, 0x48, 0x0a, 0xa5, 0x40, 0xb3, 0x30, 0x50, 0x57, 0x6d, 0xa7, - 0x4c, 0xd7, 0x30, 0x32, 0x7c, 0x9c, 0xb2, 0x38, 0xdc, 0x6a, 0x10, 0x6e, 0x58, 0x2e, 0x7a, 0x8a, - 0x50, 0x31, 0x50, 0x15, 0x1d, 0x87, 0x0c, 0x65, 0x52, 0x31, 0x1a, 0x0d, 0xcd, 0x61, 0xd5, 0x55, - 0x1f, 0xb5, 0xfb, 0x20, 0x81, 0xcf, 0x52, 0x30, 0xad, 0xb1, 0x8e, 0x40, 0x92, 0x5e, 0xc8, 0xa7, - 0x28, 0xec, 0xf2, 0x59, 0x82, 0x00, 0x68, 0xe7, 0x03, 0x30, 0xe4, 0x65, 0x50, 0x86, 0x92, 0x60, - 0x5c, 0x3c, 0x30, 0x45, 0x7c, 0x04, 0x46, 0x75, 0xbc, 0x4d, 0xaf, 0xc3, 0x05, 0xb0, 0x93, 0x14, - 0x1b, 0x91, 0xbe, 0xab, 0x41, 0x8a, 0xf7, 0xc1, 0x60, 0x45, 0x18, 0x9f, 0xe1, 0x02, 0xc5, 0x1d, - 0x70, 0xa1, 0x14, 0xed, 0x30, 0x24, 0x54, 0xd3, 0x64, 0x08, 0x29, 0x9e, 0x41, 0x4d, 0x93, 0x76, - 0x9d, 0x80, 0x61, 0xaa, 0xa3, 0x85, 0xed, 0x66, 0xdd, 0xe1, 0x4c, 0xd2, 0x14, 0x67, 0x88, 0x74, - 0x28, 0x0c, 0x4e, 0x71, 0xef, 0x85, 0x01, 0x7c, 0x5d, 0xab, 0x62, 0xbd, 0x82, 0x19, 0xde, 0x00, - 0xc5, 0x4b, 0x0b, 0x20, 0x45, 0x7a, 0x10, 0xdc, 0xcc, 0x58, 0x16, 0x59, 0x7b, 0x90, 0xf1, 0x13, - 0xf0, 0x19, 0x06, 0x96, 0x4f, 0x42, 0xac, 0xa8, 0x3a, 0x2a, 0x29, 0x31, 0x9c, 0x6d, 0xb6, 0x14, - 0xa5, 0x15, 0xf2, 0xb3, 0x6d, 0xb8, 0xbd, 0x15, 0x81, 0xd8, 0x55, 0xc3, 0xc1, 0xe8, 0x31, 0x5f, - 0x59, 0x38, 0xd8, 0xce, 0xc7, 0x57, 0xb5, 0x9a, 0x8e, 0xab, 0x8b, 0x76, 0xcd, 0xf7, 0x46, 0xad, - 0xe7, 0x62, 0x91, 0x80, 0x8b, 0x8d, 0x42, 0xdc, 0x32, 0x9a, 0x7a, 0x55, 0xdc, 0xe5, 0xa2, 0x0d, - 0x54, 0x82, 0x84, 0xeb, 0x39, 0xb1, 0x6e, 0x9e, 0x33, 0x44, 0x3c, 0x87, 0xf8, 0x35, 0x07, 0x28, - 0xfd, 0x1b, 0xdc, 0x81, 0x0a, 0x90, 0x74, 0x53, 0x1e, 0xf7, 0xc0, 0xde, 0x9c, 0xd8, 0x23, 0x23, - 0x4b, 0x90, 0xeb, 0x0f, 0xae, 0x41, 0x99, 0x17, 0x66, 0xdc, 0x0e, 0x6e, 0xd1, 0x80, 0xab, 0xf1, - 0xb7, 0x7b, 0xfb, 0xa9, 0x5e, 0x9e, 0xab, 0xb1, 0x37, 0x7c, 0x8f, 0x42, 0xd2, 0xd6, 0x6a, 0xba, - 0xea, 0x34, 0x2d, 0xcc, 0xbd, 0xd1, 0x03, 0xc8, 0x2f, 0x47, 0xa0, 0x8f, 0x79, 0xb7, 0xcf, 0x6e, - 0x52, 0x7b, 0xbb, 0x45, 0x3a, 0xd9, 0x2d, 0xba, 0x7f, 0xbb, 0xcd, 0x00, 0xb8, 0xc2, 0xd8, 0xfc, - 0xa5, 0xcb, 0x36, 0x75, 0x06, 0x13, 0x71, 0x55, 0xab, 0xf1, 0xe0, 0xf5, 0x11, 0xb9, 0x1e, 0x14, - 0xf7, 0xe5, 0xc9, 0x0b, 0x90, 0xdc, 0xd0, 0x9c, 0xb2, 0x4a, 0x36, 0x8f, 0xd4, 0x84, 0xa9, 0x53, - 0xe3, 0x53, 0xed, 0x76, 0x99, 0x53, 0x62, 0x8b, 0xa9, 0x24, 0x36, 0xf8, 0x2f, 0xf9, 0xf7, 0x25, - 0x52, 0x2b, 0xf3, 0x01, 0xd1, 0x0c, 0x0c, 0x08, 0x45, 0xcb, 0x9b, 0x75, 0xb5, 0xc6, 0x9d, 0xf1, - 0x58, 0x47, 0x6d, 0x2f, 0xd6, 0xd5, 0x9a, 0x92, 0xe2, 0x0a, 0x92, 0x46, 0xfb, 0x89, 0x8d, 0x74, - 0x98, 0xd8, 0x80, 0x27, 0x45, 0xf7, 0xe7, 0x49, 0x81, 0x39, 0x8f, 0x85, 0xe7, 0xfc, 0xeb, 0x11, - 0xba, 0x67, 0x32, 0x0d, 0x5b, 0xad, 0xbf, 0x1b, 0x21, 0x76, 0x04, 0x92, 0xa6, 0x51, 0x2f, 0xb3, - 0x1e, 0x76, 0x69, 0x32, 0x61, 0x1a, 0x75, 0xa5, 0xc5, 0x8f, 0xe2, 0x77, 0x28, 0xfe, 0xfa, 0xee, - 0x80, 0xd5, 0xfa, 0xc3, 0x56, 0xb3, 0x20, 0xcd, 0x4c, 0xc1, 0x17, 0xcc, 0x47, 0x88, 0x0d, 0xe8, - 0x0a, 0x2c, 0xb5, 0x2e, 0xf0, 0x4c, 0x6c, 0x86, 0xa9, 0x70, 0x3c, 0x42, 0xc1, 0xd6, 0x97, 0x76, - 0x9b, 0x6d, 0xbf, 0x9f, 0x2b, 0x1c, 0x4f, 0xfe, 0x69, 0x09, 0x60, 0x81, 0x58, 0x96, 0xea, 0x4b, - 0x96, 0x3a, 0x9b, 0x8a, 0x50, 0x0e, 0x8c, 0x3c, 0xde, 0x69, 0xd2, 0xf8, 0xf8, 0x69, 0xdb, 0x2f, - 0xf7, 0x2c, 0x0c, 0x78, 0xce, 0x68, 0x63, 0x21, 0xcc, 0xf8, 0x2e, 0xc5, 0xfd, 0x2a, 0x76, 0x94, - 0xf4, 0x75, 0x5f, 0x4b, 0xfe, 0x67, 0x12, 0x24, 0xa9, 0x4c, 0x8b, 0xd8, 0x51, 0x03, 0x73, 0x28, - 0xed, 0x7f, 0x0e, 0x8f, 0x01, 0x30, 0x36, 0xb6, 0xf6, 0x02, 0xe6, 0x9e, 0x95, 0xa4, 0x90, 0x55, - 0xed, 0x05, 0x8c, 0xce, 0xba, 0x06, 0x8f, 0xee, 0x6e, 0x70, 0x51, 0xfc, 0x73, 0xb3, 0x1f, 0x82, - 0x7e, 0xfa, 0xd5, 0x93, 0x6d, 0x9b, 0xd7, 0xf3, 0x7d, 0x7a, 0xb3, 0xb1, 0xb6, 0x6d, 0xcb, 0xcf, - 0x41, 0xff, 0xda, 0x36, 0x3b, 0x82, 0x39, 0x02, 0x49, 0xcb, 0x30, 0xf8, 0xc2, 0xcf, 0x0a, 0xae, - 0x04, 0x01, 0xd0, 0x75, 0x4e, 0x1c, 0x3b, 0x44, 0xbc, 0x63, 0x07, 0xef, 0xdc, 0x24, 0xda, 0xd3, - 0xb9, 0xc9, 0x89, 0x7f, 0x27, 0x41, 0xca, 0x97, 0x1f, 0xd0, 0xa3, 0x70, 0xb0, 0xb0, 0xb0, 0x3c, - 0x7b, 0xa5, 0x3c, 0x5f, 0x2c, 0x5f, 0x5c, 0x98, 0x99, 0xf3, 0x5e, 0x0b, 0xc8, 0x8d, 0xbd, 0x74, - 0x73, 0x12, 0xf9, 0x70, 0xd7, 0xf5, 0x6b, 0xba, 0x71, 0x43, 0x47, 0xd3, 0x30, 0x1a, 0x24, 0x99, - 0x29, 0xac, 0x96, 0x96, 0xd6, 0x32, 0x52, 0xee, 0xe0, 0x4b, 0x37, 0x27, 0x87, 0x7d, 0x14, 0x33, - 0x1b, 0x36, 0xd6, 0x9d, 0x56, 0x82, 0xd9, 0xe5, 0xc5, 0xc5, 0xf9, 0xb5, 0x4c, 0xa4, 0x85, 0x80, - 0xaf, 0x00, 0x0f, 0xc2, 0x70, 0x90, 0x60, 0x69, 0x7e, 0x21, 0x13, 0xcd, 0xa1, 0x97, 0x6e, 0x4e, - 0x0e, 0xfa, 0xb0, 0x97, 0xb4, 0x7a, 0x2e, 0xf1, 0xa9, 0xaf, 0x8c, 0x1f, 0xf8, 0xf9, 0x9f, 0x1b, - 0x97, 0x88, 0x66, 0x03, 0x81, 0x1c, 0x81, 0x4e, 0xc2, 0xa1, 0xd5, 0xf9, 0xb9, 0xa5, 0x52, 0xb1, - 0xbc, 0xb8, 0x3a, 0x57, 0x66, 0x9f, 0x43, 0x70, 0xb5, 0x1b, 0x7a, 0xe9, 0xe6, 0x64, 0x8a, 0xab, - 0xd4, 0x09, 0x7b, 0x45, 0x29, 0x5d, 0x5d, 0x5e, 0x2b, 0x65, 0x24, 0x86, 0xbd, 0x62, 0xe1, 0xeb, - 0x86, 0xc3, 0x3e, 0x8b, 0xf4, 0x08, 0x1c, 0x6e, 0x83, 0xed, 0x2a, 0x36, 0xfc, 0xd2, 0xcd, 0xc9, - 0x81, 0x15, 0x0b, 0xb3, 0xf8, 0xa1, 0x14, 0x53, 0x90, 0x6d, 0xa5, 0x58, 0x5e, 0x59, 0x5e, 0x9d, - 0x59, 0xc8, 0x4c, 0xe6, 0x32, 0x2f, 0xdd, 0x9c, 0x4c, 0x8b, 0x64, 0x48, 0xf0, 0x3d, 0xcd, 0xee, - 0xe6, 0xc6, 0xeb, 0xaf, 0x46, 0x60, 0xbc, 0xe5, 0xf2, 0x35, 0x7f, 0x64, 0xd1, 0xe9, 0xa0, 0x38, - 0x0f, 0x89, 0xa2, 0x78, 0x12, 0xb2, 0xd7, 0x73, 0xe2, 0x9f, 0xda, 0xe3, 0x39, 0xf1, 0x80, 0x18, - 0x49, 0x1c, 0x13, 0x9f, 0xe8, 0x7e, 0x4c, 0x2c, 0xe4, 0xdf, 0xc7, 0x29, 0xf1, 0x67, 0x1e, 0x86, - 0xfb, 0xf8, 0xe1, 0xba, 0xed, 0xa8, 0xd7, 0x34, 0xbd, 0xe6, 0x3e, 0xc2, 0xe0, 0x6d, 0x6e, 0x94, - 0x31, 0xfe, 0x14, 0x43, 0x40, 0x77, 0x7d, 0x90, 0x91, 0xdb, 0x75, 0x6f, 0xdb, 0x7d, 0xcf, 0xda, - 0x65, 0x86, 0x72, 0x5d, 0x1e, 0xb9, 0xc8, 0x9f, 0x96, 0x60, 0xf0, 0x92, 0x66, 0x3b, 0x86, 0xa5, - 0x55, 0xd4, 0x3a, 0x7d, 0xcb, 0xe1, 0x6c, 0xaf, 0x8b, 0x46, 0x28, 0x87, 0x3d, 0x09, 0x7d, 0xd7, - 0xd5, 0x3a, 0xcb, 0xd6, 0x51, 0xfa, 0x51, 0x86, 0xf6, 0x86, 0xf0, 0x72, 0xb6, 0x60, 0xc0, 0xc8, - 0xe4, 0x5f, 0x8a, 0xc0, 0x10, 0x8d, 0x72, 0x9b, 0x7d, 0xae, 0x87, 0xec, 0x50, 0x0b, 0x10, 0xb3, - 0x54, 0x87, 0x1f, 0xba, 0x16, 0xa6, 0xf8, 0xc3, 0x91, 0xfb, 0xbb, 0x3f, 0xf0, 0x98, 0x2a, 0xe2, - 0x8a, 0x42, 0x69, 0xd1, 0x8f, 0x40, 0xa2, 0xa1, 0x6e, 0x97, 0x29, 0x1f, 0xb6, 0xef, 0x9b, 0xd9, - 0x1b, 0x9f, 0xdb, 0xb7, 0x26, 0x86, 0x76, 0xd4, 0x46, 0x3d, 0x2f, 0x0b, 0x3e, 0xb2, 0xd2, 0xdf, - 0x50, 0xb7, 0x89, 0x88, 0xc8, 0x84, 0x21, 0x02, 0xad, 0x6c, 0xa9, 0x7a, 0x0d, 0xb3, 0x41, 0xe8, - 0x11, 0x72, 0xe1, 0xd2, 0x9e, 0x07, 0x19, 0xf3, 0x06, 0xf1, 0xb1, 0x93, 0x95, 0x81, 0x86, 0xba, - 0x3d, 0x4b, 0x01, 0x64, 0xc4, 0x7c, 0xe2, 0xf3, 0xaf, 0x4e, 0x1c, 0xa0, 0x0f, 0x9c, 0x5e, 0x97, - 0x00, 0x3c, 0x8b, 0xa1, 0x1f, 0x81, 0x4c, 0xc5, 0x6d, 0x51, 0x5a, 0x9b, 0xcf, 0xe1, 0x03, 0x9d, - 0xe6, 0x22, 0x64, 0x6f, 0x56, 0x74, 0xbc, 0x76, 0x6b, 0x42, 0x52, 0x86, 0x2a, 0xa1, 0xa9, 0xf8, - 0x30, 0xa4, 0x9a, 0x66, 0x55, 0x75, 0x70, 0x99, 0xee, 0x82, 0x23, 0x5d, 0x0b, 0x98, 0x71, 0xc2, - 0xeb, 0xf6, 0xad, 0x09, 0xc4, 0xd4, 0xf2, 0x11, 0xcb, 0xb4, 0xac, 0x01, 0x06, 0x21, 0x04, 0x3e, - 0x9d, 0x7e, 0x4b, 0x82, 0x54, 0xd1, 0x77, 0xdb, 0x28, 0x0b, 0xfd, 0x0d, 0x43, 0xd7, 0xae, 0x71, - 0x7f, 0x4c, 0x2a, 0xa2, 0x89, 0x72, 0x90, 0x60, 0x2f, 0x7e, 0x39, 0x3b, 0xe2, 0x28, 0x59, 0xb4, - 0x09, 0xd5, 0x0d, 0xbc, 0x61, 0x6b, 0x62, 0x36, 0x14, 0xd1, 0x44, 0x17, 0x21, 0x63, 0xe3, 0x4a, - 0xd3, 0xd2, 0x9c, 0x9d, 0x72, 0xc5, 0xd0, 0x1d, 0xb5, 0xe2, 0xb0, 0x57, 0x88, 0x0a, 0x47, 0x6e, - 0xdf, 0x9a, 0x38, 0xc4, 0x64, 0x0d, 0x63, 0xc8, 0xca, 0x90, 0x00, 0xcd, 0x32, 0x08, 0x19, 0xa1, - 0x8a, 0x1d, 0x55, 0xab, 0xdb, 0xb4, 0x26, 0x4c, 0x2a, 0xa2, 0xe9, 0xd3, 0xe5, 0xff, 0xf4, 0xf9, - 0x0f, 0x0e, 0x2f, 0x42, 0xc6, 0x30, 0xb1, 0x15, 0xa8, 0xb0, 0xa5, 0xf0, 0xc8, 0x61, 0x0c, 0x59, - 0x19, 0x12, 0x20, 0x51, 0x7d, 0x5f, 0x24, 0xd3, 0x2c, 0xb6, 0xd9, 0x66, 0x73, 0x43, 0x9c, 0x37, - 0x06, 0xf8, 0x84, 0x31, 0x64, 0x32, 0xa1, 0x1c, 0xb4, 0x42, 0x21, 0xa4, 0x42, 0x7e, 0x4e, 0xd5, - 0xea, 0xe2, 0xe5, 0x56, 0x85, 0xb7, 0x50, 0x1e, 0xfa, 0x6c, 0x47, 0x75, 0x9a, 0x36, 0xff, 0xe4, - 0x94, 0xdc, 0xc9, 0x79, 0x0a, 0x86, 0x5e, 0x5d, 0xa5, 0x98, 0x0a, 0xa7, 0x40, 0x17, 0xa1, 0xcf, - 0x31, 0xae, 0x61, 0x9d, 0x1b, 0x65, 0x4f, 0x11, 0x4b, 0x1f, 0xce, 0x32, 0x6a, 0xe4, 0x40, 0xa6, - 0x8a, 0xeb, 0xb8, 0xc6, 0x2a, 0xc0, 0x2d, 0x95, 0xec, 0xbc, 0xe8, 0x97, 0xa7, 0x0a, 0xf3, 0x7b, - 0x0e, 0x2b, 0x6e, 0x91, 0x30, 0x3f, 0x59, 0x19, 0x72, 0x41, 0xab, 0x14, 0x82, 0xae, 0x04, 0x2e, - 0xba, 0xf1, 0xcf, 0xb3, 0xdd, 0xdb, 0x49, 0x7d, 0x9f, 0x97, 0x8a, 0xf3, 0x1a, 0xff, 0x35, 0xb9, - 0x8b, 0x90, 0x69, 0xea, 0x1b, 0x86, 0x4e, 0xdf, 0x40, 0xe3, 0x5b, 0x11, 0xb2, 0xb7, 0x8d, 0xfa, - 0xa7, 0x29, 0x8c, 0x21, 0x2b, 0x43, 0x2e, 0xe8, 0x12, 0xdb, 0xb0, 0x54, 0x61, 0xd0, 0xc3, 0xa2, - 0xa1, 0x97, 0xec, 0x1a, 0x7a, 0xf7, 0xf0, 0xd0, 0x3b, 0x18, 0x1e, 0xc5, 0x8b, 0xbe, 0x01, 0x17, - 0x48, 0xc8, 0xd0, 0x25, 0x00, 0x2f, 0xe0, 0xe9, 0xb9, 0x4d, 0xaa, 0xf3, 0xc4, 0x7b, 0x59, 0x43, - 0xec, 0x75, 0x3d, 0x5a, 0xf4, 0x51, 0x18, 0x69, 0x68, 0x7a, 0xd9, 0xc6, 0xf5, 0xcd, 0x32, 0x37, - 0x30, 0x61, 0x49, 0x3f, 0x20, 0x52, 0x58, 0xd8, 0x9b, 0x3f, 0xdc, 0xbe, 0x35, 0x91, 0xe3, 0x49, - 0xb1, 0x95, 0xa5, 0xac, 0x0c, 0x37, 0x34, 0x7d, 0x15, 0xd7, 0x37, 0x8b, 0x2e, 0x2c, 0x9f, 0xfe, - 0xd4, 0xab, 0x13, 0x07, 0x78, 0x00, 0x1e, 0x90, 0xcf, 0xd2, 0xa7, 0x0d, 0x3c, 0x70, 0xb0, 0x4d, - 0xb6, 0x4f, 0xaa, 0x68, 0xd0, 0x13, 0x9e, 0xa4, 0xe2, 0x01, 0x58, 0xe0, 0xbe, 0xf8, 0x1f, 0x26, - 0x25, 0xf9, 0x17, 0x25, 0xe8, 0x2b, 0x5e, 0x5d, 0x51, 0x35, 0x0b, 0xcd, 0xc3, 0xb0, 0xe7, 0x39, - 0xc1, 0xb0, 0x3d, 0x7a, 0xfb, 0xd6, 0x44, 0x36, 0xec, 0x5c, 0x6e, 0xdc, 0x7a, 0x0e, 0x2c, 0x02, - 0x77, 0xbe, 0xd3, 0x1e, 0x3b, 0xc0, 0xaa, 0x05, 0x45, 0x6e, 0xdd, 0x81, 0x87, 0xd4, 0x2c, 0x41, - 0x3f, 0x93, 0xd6, 0x46, 0x79, 0x88, 0x9b, 0xe4, 0x07, 0x7f, 0x94, 0x32, 0xde, 0xd1, 0x79, 0x29, - 0xbe, 0x7b, 0xb0, 0x4b, 0x48, 0xe4, 0x97, 0x23, 0x00, 0xc5, 0xab, 0x57, 0xd7, 0x2c, 0xcd, 0xac, - 0x63, 0xe7, 0x4e, 0x6a, 0xbe, 0x06, 0x07, 0x7d, 0x1b, 0x3a, 0xab, 0x12, 0xd2, 0x7e, 0xf2, 0xf6, - 0xad, 0x89, 0xa3, 0x61, 0xed, 0x7d, 0x68, 0xb2, 0x32, 0xe2, 0x6d, 0xed, 0xac, 0x4a, 0x5b, 0xae, - 0x55, 0xdb, 0x71, 0xb9, 0x46, 0x3b, 0x73, 0xf5, 0xa1, 0xf9, 0xb9, 0x16, 0x6d, 0xa7, 0xbd, 0x69, - 0x57, 0x21, 0xe5, 0x99, 0xc4, 0x46, 0x45, 0x48, 0x38, 0xfc, 0x37, 0xb7, 0xb0, 0xdc, 0xd9, 0xc2, - 0x82, 0x8c, 0x5b, 0xd9, 0xa5, 0x94, 0xff, 0x54, 0x02, 0xf0, 0x7c, 0xf6, 0x87, 0xd3, 0xc5, 0x48, - 0x2a, 0xe7, 0x89, 0x37, 0xba, 0xaf, 0xe2, 0x8b, 0x53, 0x87, 0xec, 0xf9, 0x13, 0x11, 0x18, 0x59, - 0x17, 0x99, 0xe7, 0x87, 0xde, 0x06, 0x2b, 0xd0, 0x8f, 0x75, 0xc7, 0xd2, 0xa8, 0x11, 0xc8, 0x6c, - 0x3f, 0xd2, 0x69, 0xb6, 0xdb, 0xe8, 0x44, 0x3f, 0xa1, 0x22, 0x1e, 0x42, 0x70, 0x36, 0x21, 0x6b, - 0x7c, 0x26, 0x0a, 0xd9, 0x4e, 0x94, 0x68, 0x16, 0x86, 0x2a, 0x16, 0xa6, 0x80, 0xb2, 0xff, 0xd4, - 0xb3, 0x90, 0xf3, 0x6a, 0xc5, 0x10, 0x82, 0xac, 0x0c, 0x0a, 0x08, 0x5f, 0x3d, 0x6a, 0x40, 0x0a, - 0x39, 0xe2, 0x76, 0x04, 0xab, 0xc7, 0xca, 0x4d, 0xe6, 0xcb, 0x87, 0x18, 0x24, 0xc8, 0x80, 0xad, - 0x1f, 0x83, 0x1e, 0x94, 0x2e, 0x20, 0xcf, 0xc3, 0x90, 0xa6, 0x6b, 0x8e, 0xa6, 0xd6, 0xcb, 0x1b, - 0x6a, 0x5d, 0xd5, 0x2b, 0xfb, 0xa9, 0x83, 0x59, 0xca, 0xe7, 0xc3, 0x86, 0xd8, 0xc9, 0xca, 0x20, - 0x87, 0x14, 0x18, 0x00, 0x5d, 0x82, 0x7e, 0x31, 0x54, 0x6c, 0x5f, 0xd5, 0x86, 0x20, 0xf7, 0x95, - 0x6c, 0x3f, 0x19, 0x85, 0x61, 0x05, 0x57, 0xff, 0x62, 0x2a, 0xf6, 0x36, 0x15, 0x8b, 0x00, 0x2c, - 0xdc, 0x49, 0x82, 0xdd, 0xc7, 0x6c, 0x90, 0x84, 0x91, 0x64, 0x1c, 0x8a, 0xb6, 0xe3, 0x9b, 0x8f, - 0x5b, 0x11, 0x48, 0xfb, 0xe7, 0xe3, 0xcf, 0xe9, 0xaa, 0x84, 0xe6, 0xbd, 0x4c, 0x14, 0xe3, 0x1f, - 0x9e, 0xec, 0x90, 0x89, 0x5a, 0xbc, 0x77, 0xf7, 0x14, 0xf4, 0x27, 0x11, 0xe8, 0x5b, 0x51, 0x2d, - 0xb5, 0x61, 0xa3, 0x4a, 0x4b, 0xa5, 0x29, 0x4e, 0x4a, 0x5b, 0x3e, 0x2f, 0xcc, 0x4f, 0x19, 0xba, - 0x14, 0x9a, 0x9f, 0x6f, 0x53, 0x68, 0x7e, 0x10, 0x06, 0xc9, 0x06, 0xd7, 0x77, 0xe9, 0x83, 0x58, - 0x7b, 0xa0, 0x70, 0xd8, 0xe3, 0x12, 0xec, 0x67, 0xfb, 0xdf, 0xab, 0xfe, 0x5b, 0x1f, 0x29, 0x82, - 0xe1, 0x25, 0x66, 0x42, 0x3e, 0xe6, 0x6d, 0x34, 0x7d, 0x9d, 0xb2, 0x02, 0x0d, 0x75, 0xbb, 0xc4, - 0x1a, 0x68, 0x01, 0xd0, 0x96, 0x7b, 0xd6, 0x51, 0xf6, 0xcc, 0x49, 0xe8, 0x8f, 0xdd, 0xbe, 0x35, - 0x71, 0x98, 0xd1, 0xb7, 0xe2, 0xc8, 0xca, 0xb0, 0x07, 0x14, 0xdc, 0x4e, 0x03, 0x10, 0xbd, 0xca, - 0xec, 0xce, 0x28, 0xdb, 0xee, 0x1c, 0xbc, 0x7d, 0x6b, 0x62, 0x98, 0x71, 0xf1, 0xfa, 0x64, 0x25, - 0x49, 0x1a, 0x45, 0xf2, 0xdb, 0xe7, 0xd9, 0x5f, 0x91, 0x00, 0x79, 0x29, 0x5f, 0xc1, 0xb6, 0x49, - 0xf6, 0x67, 0xa4, 0x10, 0xf7, 0x55, 0xcd, 0xd2, 0xee, 0x85, 0xb8, 0x47, 0x2f, 0x0a, 0x71, 0x5f, - 0xa4, 0x9c, 0xf7, 0xd2, 0x63, 0x84, 0xcf, 0x63, 0x9b, 0x0b, 0xb6, 0x53, 0xb3, 0x86, 0x26, 0xa8, - 0x5b, 0xf2, 0xe1, 0x01, 0xf9, 0x5f, 0x4b, 0x70, 0xb8, 0xc5, 0xa3, 0x5c, 0x61, 0xff, 0x12, 0x20, - 0xcb, 0xd7, 0xc9, 0xbf, 0x22, 0xc6, 0x84, 0xde, 0xb3, 0x83, 0x0e, 0x5b, 0x2d, 0x79, 0xf7, 0xce, - 0x65, 0x78, 0x76, 0x43, 0xf7, 0x9f, 0x4a, 0x30, 0xea, 0x1f, 0xde, 0x55, 0x64, 0x09, 0xd2, 0xfe, - 0xd1, 0xb9, 0x0a, 0xf7, 0xf5, 0xa2, 0x02, 0x97, 0x3e, 0x40, 0x8f, 0x9e, 0xf2, 0xc2, 0x95, 0x9d, - 0x86, 0x3d, 0xda, 0xb3, 0x35, 0x84, 0x4c, 0xe1, 0xb0, 0x8d, 0xd1, 0xf9, 0xf8, 0xbf, 0x12, 0xc4, - 0x56, 0x0c, 0xa3, 0x8e, 0x0c, 0x18, 0xd6, 0x0d, 0xa7, 0x4c, 0x3c, 0x0b, 0x57, 0xcb, 0x7c, 0xd3, - 0xcd, 0xf2, 0xe0, 0xec, 0xde, 0x8c, 0xf4, 0xdd, 0x5b, 0x13, 0xad, 0xac, 0x94, 0x21, 0xdd, 0x70, - 0x0a, 0x14, 0xb2, 0xc6, 0xb6, 0xe4, 0x1f, 0x85, 0x81, 0xe0, 0x60, 0x2c, 0x4b, 0x3e, 0xbd, 0xe7, - 0xc1, 0x82, 0x6c, 0x6e, 0xdf, 0x9a, 0x18, 0xf5, 0x22, 0xc6, 0x05, 0xcb, 0x4a, 0x7a, 0xc3, 0x37, - 0x3a, 0xbb, 0x10, 0xf7, 0xfd, 0x57, 0x27, 0xa4, 0x13, 0xdf, 0x90, 0x00, 0xbc, 0x93, 0x07, 0x74, - 0x12, 0x0e, 0x15, 0x96, 0x97, 0x8a, 0xe5, 0xd5, 0xb5, 0x99, 0xb5, 0xf5, 0xd5, 0xf2, 0xfa, 0xd2, - 0xea, 0x4a, 0x69, 0x76, 0xfe, 0xe2, 0x7c, 0xa9, 0xe8, 0x9d, 0xe4, 0xdb, 0x26, 0xae, 0x68, 0x9b, - 0x1a, 0xae, 0xa2, 0xfb, 0x61, 0x34, 0x88, 0x4d, 0x5a, 0xa5, 0x62, 0x46, 0xca, 0xa5, 0x5f, 0xba, - 0x39, 0x99, 0x60, 0xb5, 0x18, 0xae, 0xa2, 0xe3, 0x70, 0xb0, 0x15, 0x6f, 0x7e, 0x69, 0x2e, 0x13, - 0xc9, 0x0d, 0xbc, 0x74, 0x73, 0x32, 0xe9, 0x16, 0x6d, 0x48, 0x06, 0xe4, 0xc7, 0xe4, 0xfc, 0xa2, - 0x39, 0x78, 0xe9, 0xe6, 0x64, 0x1f, 0x33, 0x60, 0x2e, 0xf6, 0xa9, 0xaf, 0x8c, 0x1f, 0x28, 0x5c, - 0xec, 0x78, 0x56, 0x7f, 0x72, 0x57, 0xdb, 0x6d, 0xbb, 0x07, 0xce, 0xc1, 0x03, 0xfa, 0x6f, 0x0e, - 0xc1, 0x44, 0x87, 0x13, 0x69, 0x67, 0x7b, 0x5f, 0x87, 0xd1, 0x5d, 0x4e, 0x8b, 0x73, 0x3d, 0x1d, - 0x80, 0xcb, 0x37, 0x63, 0x80, 0x16, 0xed, 0xda, 0x2c, 0xa9, 0x7e, 0x7c, 0xb7, 0xcf, 0x42, 0x87, - 0x2b, 0xd2, 0x3b, 0x3a, 0x5c, 0x59, 0x0c, 0x1c, 0x57, 0x44, 0xf6, 0x76, 0xc8, 0xd9, 0xf3, 0x99, - 0x45, 0xf4, 0x5d, 0x39, 0xb3, 0x68, 0x5f, 0xd2, 0xc4, 0xee, 0xdc, 0xde, 0x27, 0xbe, 0xaf, 0xbd, - 0xcf, 0x18, 0xf4, 0xf1, 0xc3, 0x45, 0xf6, 0xc9, 0x77, 0xde, 0x42, 0x67, 0xc4, 0x07, 0xb0, 0xfb, - 0x7b, 0x5b, 0x54, 0x18, 0x76, 0x3e, 0xf1, 0x29, 0xb1, 0xa4, 0x7c, 0x2e, 0x0a, 0x99, 0x45, 0xbb, - 0x56, 0xaa, 0x6a, 0xce, 0x5d, 0xf2, 0x8e, 0x27, 0x3b, 0xef, 0x00, 0xd1, 0xed, 0x5b, 0x13, 0x83, - 0xcc, 0x0a, 0xbb, 0xe8, 0xde, 0x80, 0xa1, 0xd0, 0x49, 0x3a, 0xf7, 0x85, 0xe2, 0x7e, 0x0e, 0xf4, - 0x43, 0xac, 0x64, 0x5a, 0xb0, 0xfb, 0x3c, 0x12, 0x6d, 0xb7, 0x77, 0x3f, 0xe6, 0x02, 0x97, 0xee, - 0xe6, 0x71, 0x99, 0x37, 0x2b, 0x7f, 0x24, 0x41, 0x6a, 0xd1, 0x16, 0x9b, 0x50, 0xfc, 0x43, 0xba, - 0x21, 0x7f, 0xdc, 0x7d, 0x1b, 0x27, 0xda, 0x9b, 0xf7, 0x89, 0x37, 0x74, 0x3c, 0x45, 0x7f, 0x3b, - 0x42, 0xd3, 0x53, 0x01, 0xd7, 0x34, 0xdd, 0x5d, 0x7c, 0xf1, 0x9f, 0xd7, 0x7d, 0x85, 0x67, 0xd0, - 0xd8, 0x7e, 0x0d, 0xfa, 0x96, 0x04, 0x03, 0x8b, 0x76, 0x6d, 0x5d, 0xaf, 0xfe, 0xff, 0xee, 0x3b, - 0x77, 0x7c, 0x09, 0xff, 0x17, 0x11, 0x38, 0xe1, 0x5f, 0x73, 0x9f, 0x6f, 0x62, 0x6b, 0xc7, 0x5d, - 0x56, 0x4d, 0xb5, 0xa6, 0xe9, 0xfe, 0xe7, 0xed, 0x87, 0xfd, 0x02, 0x53, 0x5c, 0x21, 0xb6, 0xac, - 0x43, 0x6a, 0x45, 0xad, 0x61, 0x05, 0x3f, 0xdf, 0xc4, 0xb6, 0xd3, 0xe6, 0x2d, 0x9a, 0x31, 0xe8, - 0x33, 0x36, 0x37, 0xc5, 0x65, 0x9a, 0x98, 0xc2, 0x5b, 0x68, 0x14, 0xe2, 0x75, 0xad, 0xa1, 0x31, - 0xa3, 0xc4, 0x14, 0xd6, 0x40, 0x13, 0x90, 0xaa, 0x10, 0xdd, 0xcb, 0xec, 0xf6, 0x71, 0x4c, 0x7c, - 0x25, 0xa4, 0xa9, 0x3b, 0x6b, 0x04, 0x22, 0x3f, 0x09, 0x69, 0x36, 0x1e, 0x2f, 0xa0, 0x0f, 0x43, - 0x82, 0xde, 0x16, 0xf5, 0x46, 0xed, 0x27, 0xed, 0x2b, 0xec, 0x8d, 0x1b, 0xc6, 0x85, 0x0d, 0xcc, - 0x1a, 0x85, 0x42, 0x47, 0x53, 0x1e, 0xef, 0x9e, 0xec, 0x98, 0xa1, 0x5c, 0x33, 0xfe, 0x46, 0x1c, - 0x0e, 0xf2, 0x07, 0xe1, 0xaa, 0xa9, 0x4d, 0x6f, 0x39, 0x8e, 0x78, 0x95, 0x0d, 0xf8, 0xce, 0x55, - 0x35, 0x35, 0x79, 0x07, 0x62, 0x97, 0x1c, 0xc7, 0x44, 0x27, 0x20, 0x6e, 0x35, 0xeb, 0x58, 0x1c, - 0xe0, 0x8e, 0x4e, 0x79, 0x38, 0x53, 0x04, 0x41, 0x69, 0xd6, 0xb1, 0xc2, 0x50, 0x50, 0x09, 0x26, - 0x36, 0x9b, 0xf5, 0xfa, 0x4e, 0xb9, 0x8a, 0xe9, 0x3f, 0x78, 0x72, 0xff, 0x45, 0x02, 0xde, 0x36, - 0x55, 0xdd, 0x2d, 0x3e, 0x12, 0xca, 0x51, 0x8a, 0x56, 0xa4, 0x58, 0xe2, 0xdf, 0x23, 0x94, 0x04, - 0x8e, 0xfc, 0x7b, 0x11, 0x48, 0x08, 0xd6, 0xf4, 0x15, 0x18, 0x5c, 0xc7, 0x15, 0xc7, 0x10, 0x8f, - 0x34, 0xdd, 0x36, 0x42, 0x10, 0xad, 0xf1, 0x29, 0x4a, 0x5e, 0x3a, 0xa0, 0x90, 0x06, 0x81, 0xb9, - 0x2f, 0x26, 0x11, 0x98, 0xd9, 0x24, 0xb3, 0x16, 0x33, 0x0d, 0x71, 0xd2, 0x72, 0xe9, 0x80, 0x42, - 0x5b, 0x28, 0x0b, 0x7d, 0x24, 0x80, 0x1c, 0xf6, 0xf5, 0x4a, 0x02, 0xe7, 0x6d, 0x34, 0x06, 0x71, - 0x53, 0x75, 0x2a, 0xec, 0xc6, 0x30, 0xe9, 0x60, 0x4d, 0x12, 0x13, 0xec, 0xad, 0xe1, 0xf0, 0x7f, - 0x4f, 0x21, 0xc6, 0x60, 0x9f, 0x67, 0x23, 0x72, 0xaf, 0xa8, 0x8e, 0x83, 0x2d, 0x9d, 0x30, 0x64, - 0xe8, 0xf4, 0x6d, 0x37, 0xa3, 0xba, 0xc3, 0xff, 0xa3, 0x0b, 0xfd, 0xcd, 0xff, 0x85, 0x04, 0xf5, - 0x87, 0x32, 0xed, 0x64, 0xff, 0xc8, 0x2a, 0x2d, 0x80, 0x05, 0x82, 0x54, 0x82, 0x11, 0xb5, 0x5a, - 0xd5, 0xd8, 0x3f, 0x57, 0x29, 0x6f, 0x68, 0xb4, 0x8a, 0xb6, 0xe9, 0xbf, 0x29, 0xeb, 0x34, 0x17, - 0xc8, 0x23, 0x28, 0x70, 0xfc, 0x42, 0x12, 0xfa, 0x4d, 0x26, 0x94, 0x7c, 0x01, 0x86, 0x5b, 0x24, - 0x25, 0xf2, 0x5d, 0xd3, 0xf4, 0xaa, 0x78, 0x5b, 0x8b, 0xfc, 0x26, 0x30, 0xfa, 0x89, 0x45, 0xf6, - 0xb0, 0x98, 0xfe, 0x2e, 0xfc, 0x78, 0xe7, 0x5b, 0x27, 0x83, 0xbe, 0x5b, 0x27, 0xaa, 0xa9, 0x15, - 0x92, 0x94, 0x3f, 0xbf, 0x6c, 0x32, 0xc3, 0x3b, 0xd8, 0x45, 0x93, 0x29, 0xc3, 0xaa, 0x4d, 0xd7, - 0xb0, 0x2e, 0x2a, 0x6a, 0xd2, 0xa5, 0x9a, 0x9a, 0x4d, 0xdd, 0xd1, 0xfb, 0xe4, 0xa3, 0x7d, 0xc1, - 0xf7, 0x9b, 0xde, 0x41, 0x89, 0xcd, 0xcd, 0xac, 0xcc, 0xbb, 0x7e, 0xfc, 0xad, 0x08, 0x1c, 0xf5, - 0xf9, 0xb1, 0x0f, 0xb9, 0xd5, 0x9d, 0x73, 0xed, 0x3d, 0xbe, 0x87, 0x0f, 0x26, 0x5e, 0x81, 0x18, - 0xc1, 0x47, 0x5d, 0xfe, 0xc1, 0x43, 0xf6, 0x97, 0xff, 0xd5, 0x3f, 0x91, 0xa9, 0x53, 0xb4, 0x9f, - 0x15, 0xca, 0xa4, 0xf0, 0xc9, 0xde, 0xed, 0x97, 0xf1, 0xbe, 0x76, 0x69, 0xdf, 0x39, 0x33, 0x86, - 0x6d, 0xf8, 0xe6, 0x19, 0x90, 0x3b, 0x6c, 0x53, 0x58, 0xc6, 0xdc, 0x7d, 0x63, 0xb4, 0x87, 0x74, - 0xdc, 0xe9, 0x46, 0xcf, 0x6e, 0x33, 0xd8, 0xe3, 0x16, 0x6a, 0x1b, 0xc6, 0x9e, 0x22, 0x63, 0x7b, - 0xa7, 0x5e, 0x22, 0xb1, 0x8f, 0xb9, 0x0f, 0xe7, 0x25, 0xfe, 0x5f, 0xe2, 0xc4, 0x83, 0x77, 0xf0, - 0xe4, 0xe3, 0x1b, 0xa2, 0xfb, 0xa7, 0x3a, 0xae, 0x17, 0x53, 0xbe, 0xc5, 0x42, 0xf1, 0x51, 0xca, - 0xbf, 0x20, 0xc1, 0xa1, 0x96, 0xa1, 0x79, 0x8e, 0x9f, 0x6b, 0xf3, 0xae, 0x56, 0xcf, 0xb7, 0x7c, - 0xfc, 0xef, 0x6d, 0xcd, 0xb5, 0x11, 0xf6, 0x81, 0xae, 0xc2, 0x32, 0x29, 0x02, 0xd2, 0x3e, 0x01, - 0x07, 0x83, 0xc2, 0x0a, 0x33, 0xbd, 0x0f, 0x06, 0x83, 0x35, 0x01, 0x37, 0xd7, 0x40, 0xa0, 0x2a, - 0x90, 0xcb, 0x61, 0x3b, 0xbb, 0xba, 0x96, 0x20, 0xe9, 0xa2, 0xf2, 0xdd, 0x48, 0xcf, 0xaa, 0x7a, - 0x94, 0xf2, 0xcb, 0x12, 0x4c, 0x06, 0x47, 0xf0, 0x8a, 0x6f, 0x7b, 0x6f, 0xc2, 0xde, 0xb1, 0x29, - 0x7e, 0x4b, 0x82, 0x7b, 0x76, 0x91, 0x89, 0x1b, 0xe0, 0x05, 0x18, 0xf5, 0x1d, 0xec, 0x89, 0x14, - 0x2e, 0xa6, 0xfd, 0x44, 0xf7, 0x13, 0x49, 0xf7, 0x1c, 0xeb, 0x08, 0x31, 0xca, 0xd7, 0xfe, 0x60, - 0x62, 0xa4, 0xb5, 0xcf, 0x56, 0x46, 0x5a, 0x0f, 0xe3, 0xee, 0xa0, 0x7f, 0xbc, 0x22, 0xc1, 0x83, - 0x41, 0x55, 0xdb, 0x3c, 0x6d, 0x7b, 0xaf, 0xe6, 0xe1, 0xdf, 0x4b, 0x70, 0xa2, 0x17, 0xe1, 0xf8, - 0x84, 0x6c, 0xc0, 0x88, 0x77, 0xbc, 0x1e, 0x9e, 0x8f, 0x87, 0xf6, 0xf0, 0x5c, 0x92, 0x7b, 0x29, - 0x72, 0xb9, 0xdd, 0x05, 0xc3, 0x9b, 0x3c, 0xb0, 0xfc, 0x53, 0xee, 0x1a, 0x39, 0x58, 0xf8, 0x0b, - 0x23, 0x07, 0x4a, 0xff, 0x36, 0x73, 0x11, 0x69, 0x33, 0x17, 0xbe, 0x5d, 0xc8, 0x75, 0x9e, 0xb7, - 0xda, 0x1c, 0xa9, 0x7f, 0x18, 0x46, 0xda, 0xb8, 0x32, 0x8f, 0xea, 0x3d, 0x78, 0xb2, 0x82, 0x5a, - 0x9d, 0x55, 0xde, 0x81, 0x09, 0x3a, 0x6e, 0x1b, 0x43, 0xdf, 0x6d, 0x95, 0x1b, 0x3c, 0xb7, 0xb4, - 0x1d, 0x9a, 0xeb, 0x3e, 0x0f, 0x7d, 0x6c, 0x9e, 0xb9, 0xba, 0xfb, 0x70, 0x14, 0xce, 0x40, 0xfe, - 0x19, 0x91, 0xcb, 0x8a, 0x42, 0xec, 0xf6, 0x31, 0xd4, 0x8b, 0xae, 0x77, 0x28, 0x86, 0x7c, 0xc6, - 0x78, 0x5d, 0x64, 0xb5, 0xf6, 0xd2, 0x71, 0x73, 0x54, 0xee, 0x58, 0x56, 0x63, 0xb6, 0xb9, 0xbb, - 0xe9, 0xeb, 0xe7, 0x44, 0xfa, 0x72, 0x75, 0xea, 0x92, 0xbe, 0xde, 0x1b, 0xd3, 0xbb, 0x89, 0xac, - 0x8b, 0x98, 0x7f, 0x16, 0x13, 0xd9, 0xf7, 0x25, 0x38, 0x4c, 0x75, 0xf3, 0x3f, 0xa7, 0xd9, 0xab, - 0xc9, 0x4f, 0x02, 0xb2, 0xad, 0x4a, 0xb9, 0x6d, 0x74, 0x67, 0x6c, 0xab, 0x72, 0x35, 0xb0, 0xbe, - 0x9c, 0x04, 0x54, 0xb5, 0x9d, 0x30, 0x36, 0xbb, 0xc6, 0x9a, 0xa9, 0xda, 0xce, 0xd5, 0x5d, 0x56, - 0xa3, 0xd8, 0x1d, 0x98, 0xce, 0xd7, 0x24, 0xc8, 0xb5, 0x53, 0x99, 0x4f, 0x9f, 0x06, 0x63, 0x81, - 0x67, 0x7e, 0xe1, 0x19, 0x3c, 0xd9, 0xcb, 0x93, 0xae, 0x50, 0x18, 0x1d, 0xb4, 0xf0, 0xdd, 0xae, - 0x03, 0x26, 0x82, 0x1e, 0xda, 0x5a, 0x59, 0xbf, 0x67, 0xe1, 0xf3, 0x6b, 0x2d, 0x79, 0xf5, 0xcf, - 0x44, 0xed, 0xbd, 0x0d, 0xe3, 0x1d, 0xa4, 0xbe, 0xdb, 0xeb, 0xde, 0x56, 0xc7, 0xc9, 0xbc, 0xd3, - 0xe5, 0xfb, 0x69, 0x1e, 0x09, 0xc1, 0x57, 0x24, 0x7c, 0x7b, 0xb1, 0x76, 0x6f, 0xa3, 0xca, 0xcf, - 0xc2, 0x91, 0xb6, 0x54, 0x5c, 0xb6, 0x3c, 0xc4, 0xb6, 0x34, 0xdb, 0xe1, 0x62, 0xdd, 0xdf, 0x49, - 0xac, 0x10, 0x35, 0xa5, 0x91, 0x11, 0x64, 0x28, 0xeb, 0x15, 0xc3, 0xa8, 0x73, 0x31, 0xe4, 0x2b, - 0x30, 0xec, 0x83, 0xf1, 0x41, 0xce, 0x42, 0xcc, 0x34, 0xf8, 0xf7, 0x57, 0x52, 0xa7, 0x8e, 0x76, - 0x1a, 0x84, 0xd0, 0x70, 0xb5, 0x29, 0xbe, 0x3c, 0x0a, 0x88, 0x31, 0xa3, 0x57, 0x42, 0xc4, 0x10, - 0xab, 0x30, 0x12, 0x80, 0xf2, 0x41, 0xde, 0x0f, 0x7d, 0x26, 0x85, 0xb8, 0x6f, 0xf9, 0x75, 0x1a, - 0x86, 0x62, 0xb9, 0x5f, 0xbc, 0xa0, 0xad, 0x53, 0xdf, 0x3d, 0x08, 0x71, 0xca, 0x15, 0x7d, 0x41, - 0x02, 0xf0, 0x5d, 0xf0, 0x98, 0xea, 0xc4, 0xa6, 0xfd, 0x9e, 0x38, 0x37, 0xdd, 0x33, 0x3e, 0xaf, - 0xd9, 0x4e, 0xfc, 0xf8, 0xbf, 0x7d, 0xf3, 0x73, 0x91, 0xfb, 0x90, 0x3c, 0xdd, 0x61, 0x37, 0xee, - 0x8b, 0x97, 0xaf, 0x06, 0x3e, 0xfe, 0xf1, 0x70, 0x6f, 0x43, 0x09, 0xc9, 0xa6, 0x7a, 0x45, 0xe7, - 0x82, 0x5d, 0xa0, 0x82, 0x9d, 0x41, 0x8f, 0x75, 0x17, 0x6c, 0xfa, 0x23, 0xc1, 0xa0, 0xf9, 0x18, - 0xfa, 0x1d, 0x09, 0x46, 0xdb, 0x6d, 0xe9, 0xd0, 0xb9, 0xde, 0xa4, 0x68, 0x2d, 0x29, 0x72, 0xe7, - 0xf7, 0x41, 0xc9, 0x55, 0x99, 0xa3, 0xaa, 0xcc, 0xa0, 0x27, 0xf7, 0xa1, 0xca, 0xb4, 0x6f, 0xdd, - 0x41, 0xff, 0x5b, 0x82, 0x63, 0xbb, 0xee, 0x90, 0xd0, 0x4c, 0x6f, 0x52, 0xee, 0x52, 0x3b, 0xe5, - 0x0a, 0xef, 0x84, 0x05, 0xd7, 0xf8, 0x29, 0xaa, 0xf1, 0x15, 0x34, 0xbf, 0x1f, 0x8d, 0xbd, 0x8a, - 0xc8, 0xaf, 0xfb, 0x6f, 0x06, 0x2f, 0x0a, 0xef, 0xee, 0x4e, 0x2d, 0x1b, 0x8f, 0x2e, 0x81, 0xd1, - 0x5a, 0xd4, 0xca, 0xcf, 0x50, 0x15, 0x14, 0xb4, 0xf2, 0x0e, 0x27, 0x6d, 0xfa, 0x23, 0xc1, 0xc4, - 0xff, 0x31, 0xf4, 0xbf, 0xa4, 0xf6, 0xf7, 0x7e, 0x1f, 0xdf, 0x55, 0xc4, 0xce, 0x9b, 0xaa, 0xdc, - 0xb9, 0xbd, 0x13, 0x72, 0x25, 0x1b, 0x54, 0xc9, 0x1a, 0xc2, 0x77, 0x5a, 0xc9, 0xb6, 0x93, 0x88, - 0x7e, 0x4b, 0x82, 0xd1, 0x76, 0x7b, 0x92, 0x2e, 0x61, 0xb9, 0xcb, 0x26, 0xab, 0x4b, 0x58, 0xee, - 0xb6, 0x01, 0x92, 0xdf, 0x4f, 0x95, 0x3f, 0x8b, 0x4e, 0x77, 0x52, 0x7e, 0xd7, 0x59, 0x24, 0xb1, - 0xb8, 0x6b, 0x91, 0xdf, 0x25, 0x16, 0x7b, 0xd9, 0xc7, 0x74, 0x89, 0xc5, 0x9e, 0xf6, 0x18, 0xdd, - 0x63, 0xd1, 0xd5, 0xac, 0xc7, 0x69, 0xb4, 0xd1, 0xb7, 0x24, 0x18, 0x08, 0x54, 0xc4, 0xe8, 0xd1, - 0x5d, 0x05, 0x6d, 0xb7, 0x61, 0xc8, 0x9d, 0xda, 0x0b, 0x09, 0xd7, 0x65, 0x9e, 0xea, 0x32, 0x8b, - 0x66, 0xf6, 0xa3, 0x8b, 0x15, 0x90, 0xf8, 0x35, 0x09, 0x46, 0xda, 0x54, 0x99, 0x5d, 0xa2, 0xb0, - 0x73, 0xd1, 0x9c, 0x3b, 0xb7, 0x77, 0x42, 0xae, 0xd5, 0x45, 0xaa, 0xd5, 0x07, 0xd1, 0x13, 0xfb, - 0xd1, 0xca, 0xb7, 0x3e, 0xdf, 0xf2, 0xae, 0x51, 0xfa, 0xc6, 0x41, 0x67, 0xf7, 0x28, 0x98, 0x50, - 0xe8, 0xf1, 0x3d, 0xd3, 0x71, 0x7d, 0x9e, 0xa6, 0xfa, 0x3c, 0x85, 0x96, 0xdf, 0x99, 0x3e, 0xad, - 0xcb, 0xfa, 0xd7, 0x5b, 0x5f, 0xd1, 0xdd, 0xdd, 0x8b, 0xda, 0x16, 0xab, 0xb9, 0xc7, 0xf6, 0x44, - 0xc3, 0x95, 0x3a, 0x47, 0x95, 0x3a, 0x85, 0x1e, 0xe9, 0xa4, 0x94, 0xef, 0xae, 0xac, 0xa6, 0x6f, - 0x1a, 0xd3, 0x1f, 0x61, 0x25, 0xf0, 0xc7, 0xd0, 0x8f, 0x89, 0x7b, 0x8a, 0xc7, 0x77, 0x1d, 0xd7, - 0x57, 0xc7, 0xe6, 0x1e, 0xec, 0x01, 0x93, 0xcb, 0x75, 0x1f, 0x95, 0x6b, 0x1c, 0x1d, 0xed, 0x24, - 0x17, 0xa9, 0x65, 0xd1, 0xa7, 0x25, 0xf7, 0x6a, 0xf3, 0x89, 0xdd, 0x79, 0xfb, 0x8b, 0xdd, 0xdc, - 0x43, 0x3d, 0xe1, 0x72, 0x49, 0xee, 0xa7, 0x92, 0x4c, 0xa2, 0xf1, 0x8e, 0x92, 0xb0, 0xd2, 0xf7, - 0x4e, 0xdf, 0x1c, 0xf8, 0xe3, 0xfe, 0x8e, 0xaf, 0xa3, 0xd7, 0xb0, 0x8e, 0x6d, 0xcd, 0xde, 0xd7, - 0x0d, 0xc0, 0xde, 0x1e, 0x4f, 0xfd, 0x4e, 0x1c, 0xd2, 0x73, 0x6c, 0x94, 0x55, 0x47, 0x75, 0xde, - 0xe1, 0x46, 0x00, 0xd9, 0xfc, 0xcb, 0x56, 0xec, 0x93, 0x7c, 0xde, 0x47, 0xe6, 0xd2, 0x7b, 0x7a, - 0xd9, 0x93, 0xdd, 0x7f, 0xe2, 0xef, 0x55, 0x86, 0xf9, 0xc9, 0xec, 0x23, 0x59, 0xf4, 0xee, 0x02, - 0xfb, 0x98, 0xde, 0x27, 0x24, 0x38, 0x48, 0xb1, 0xbc, 0x78, 0xa3, 0x98, 0xe2, 0x4d, 0x9f, 0x8e, - 0x1e, 0xb3, 0xa0, 0xfa, 0x8e, 0x60, 0xd8, 0xe7, 0xef, 0xee, 0xe3, 0xb7, 0xe0, 0x8f, 0xfa, 0x06, - 0x0f, 0xb3, 0x95, 0x95, 0x91, 0x7a, 0x0b, 0xa5, 0x1d, 0xda, 0xd7, 0xc7, 0xf6, 0xbf, 0xaf, 0xbf, - 0x0c, 0x29, 0x5f, 0xa6, 0xcf, 0xc6, 0xbb, 0xbc, 0x9c, 0x16, 0x3e, 0x44, 0xf3, 0x13, 0xa3, 0x4f, - 0x4a, 0x70, 0xb0, 0xed, 0x22, 0x48, 0xff, 0x6f, 0xe2, 0x1e, 0x0f, 0xe9, 0x42, 0xc6, 0x69, 0xcb, - 0x57, 0x56, 0x46, 0x9b, 0xed, 0xaa, 0x89, 0x15, 0x18, 0x08, 0x2c, 0x60, 0x59, 0xf1, 0xdf, 0x4f, - 0x7b, 0xbf, 0x97, 0x1d, 0x64, 0x80, 0x72, 0x90, 0xc0, 0xdb, 0xa6, 0x61, 0x39, 0xb8, 0x4a, 0xaf, - 0x3c, 0x24, 0x14, 0xb7, 0x2d, 0x2f, 0x01, 0x6a, 0x9d, 0xdc, 0xf0, 0xf7, 0x1e, 0x93, 0xde, 0xf7, - 0x1e, 0x47, 0x21, 0xee, 0xff, 0x22, 0x22, 0x6b, 0xdc, 0xbd, 0xdb, 0x42, 0xff, 0x2f, 0x00, 0x00, - 0xff, 0xff, 0x2d, 0x40, 0x2b, 0xb4, 0xf6, 0x8e, 0x00, 0x00, + 0x75, 0x18, 0xdf, 0x7e, 0x00, 0xbb, 0x07, 0x0b, 0x60, 0x71, 0x01, 0x82, 0xcb, 0x25, 0x09, 0x40, + 0x4f, 0xb2, 0x44, 0x51, 0x12, 0x20, 0x51, 0x22, 0x45, 0x2e, 0x63, 0xc9, 0x58, 0xec, 0x12, 0x04, + 0x89, 0x2f, 0x3d, 0x00, 0x94, 0x3f, 0x92, 0xee, 0x3c, 0xbc, 0xbd, 0x58, 0x3c, 0x71, 0xf7, 0xbd, + 0xa7, 0xf7, 0xde, 0x92, 0x80, 0x6c, 0xcf, 0x28, 0xb1, 0xeb, 0xda, 0x4a, 0x53, 0xdb, 0x71, 0x26, + 0xb5, 0x65, 0xd3, 0x95, 0xe3, 0xb4, 0x4e, 0x9d, 0xb4, 0xf9, 0x70, 0xea, 0x36, 0x6d, 0x67, 0xea, + 0x74, 0x9a, 0xc6, 0x69, 0x67, 0x32, 0xd2, 0x34, 0x33, 0x4d, 0x33, 0x0d, 0x93, 0xca, 0x9a, 0x54, + 0x75, 0xdd, 0xc6, 0x61, 0xd5, 0x36, 0x1d, 0xcf, 0xb4, 0x9d, 0xfb, 0xf5, 0xbe, 0x76, 0x17, 0xbb, + 0x80, 0x48, 0xc9, 0x69, 0xfa, 0x0b, 0x7b, 0xcf, 0x3d, 0xe7, 0xdc, 0x73, 0xce, 0x3d, 0xf7, 0xdc, + 0x73, 0xcf, 0xbb, 0xef, 0x01, 0xbe, 0x78, 0x01, 0xa6, 0x6a, 0xa6, 0x59, 0xab, 0xe3, 0x19, 0xcb, + 0x36, 0x5d, 0x73, 0xb3, 0xb9, 0x35, 0x53, 0xc5, 0x8e, 0x66, 0xeb, 0x96, 0x6b, 0xda, 0xd3, 0x14, + 0x86, 0x86, 0x19, 0xc6, 0xb4, 0xc0, 0x90, 0x97, 0x60, 0xe4, 0xa2, 0x5e, 0xc7, 0x25, 0x0f, 0x71, + 0x0d, 0xbb, 0xe8, 0x1c, 0x24, 0xb6, 0xf4, 0x3a, 0xce, 0x49, 0x53, 0xf1, 0x93, 0x03, 0xa7, 0xef, + 0x9b, 0x8e, 0x10, 0x4d, 0x87, 0x29, 0x56, 0x09, 0x58, 0xa1, 0x14, 0xf2, 0x1b, 0x09, 0x18, 0x6d, + 0xd3, 0x8b, 0x10, 0x24, 0x0c, 0xb5, 0x41, 0x38, 0x4a, 0x27, 0xd3, 0x0a, 0xfd, 0x8d, 0x72, 0xd0, + 0x6f, 0xa9, 0xda, 0x35, 0xb5, 0x86, 0x73, 0x31, 0x0a, 0x16, 0x4d, 0x34, 0x01, 0x50, 0xc5, 0x16, + 0x36, 0xaa, 0xd8, 0xd0, 0x76, 0x73, 0xf1, 0xa9, 0xf8, 0xc9, 0xb4, 0x12, 0x80, 0xa0, 0x87, 0x60, + 0xc4, 0x6a, 0x6e, 0xd6, 0x75, 0xad, 0x12, 0x40, 0x83, 0xa9, 0xf8, 0xc9, 0xa4, 0x92, 0x65, 0x1d, + 0x25, 0x1f, 0xf9, 0x01, 0x18, 0xbe, 0x81, 0xd5, 0x6b, 0x41, 0xd4, 0x01, 0x8a, 0x3a, 0x44, 0xc0, + 0x01, 0xc4, 0x39, 0xc8, 0x34, 0xb0, 0xe3, 0xa8, 0x35, 0x5c, 0x71, 0x77, 0x2d, 0x9c, 0x4b, 0x50, + 0xed, 0xa7, 0x5a, 0xb4, 0x8f, 0x6a, 0x3e, 0xc0, 0xa9, 0xd6, 0x77, 0x2d, 0x8c, 0x66, 0x21, 0x8d, + 0x8d, 0x66, 0x83, 0x71, 0x48, 0x76, 0xb0, 0x5f, 0xd9, 0x68, 0x36, 0xa2, 0x5c, 0x52, 0x84, 0x8c, + 0xb3, 0xe8, 0x77, 0xb0, 0x7d, 0x5d, 0xd7, 0x70, 0xae, 0x8f, 0x32, 0x78, 0xa0, 0x85, 0xc1, 0x1a, + 0xeb, 0x8f, 0xf2, 0x10, 0x74, 0x68, 0x0e, 0xd2, 0x78, 0xc7, 0xc5, 0x86, 0xa3, 0x9b, 0x46, 0xae, + 0x9f, 0x32, 0x79, 0x4f, 0x9b, 0x59, 0xc4, 0xf5, 0x6a, 0x94, 0x85, 0x4f, 0x87, 0xce, 0x42, 0xbf, + 0x69, 0xb9, 0xba, 0x69, 0x38, 0xb9, 0xd4, 0x94, 0x74, 0x72, 0xe0, 0xf4, 0xf1, 0xb6, 0x8e, 0xb0, + 0xc2, 0x70, 0x14, 0x81, 0x8c, 0x16, 0x20, 0xeb, 0x98, 0x4d, 0x5b, 0xc3, 0x15, 0xcd, 0xac, 0xe2, + 0x8a, 0x6e, 0x6c, 0x99, 0xb9, 0x34, 0x65, 0x30, 0xd9, 0xaa, 0x08, 0x45, 0x9c, 0x33, 0xab, 0x78, + 0xc1, 0xd8, 0x32, 0x95, 0x21, 0x27, 0xd4, 0x46, 0xe3, 0xd0, 0xe7, 0xec, 0x1a, 0xae, 0xba, 0x93, + 0xcb, 0x50, 0x0f, 0xe1, 0x2d, 0xf9, 0x37, 0xfa, 0x60, 0xb8, 0x17, 0x17, 0xbb, 0x00, 0xc9, 0x2d, + 0xa2, 0x65, 0x2e, 0xb6, 0x1f, 0x1b, 0x30, 0x9a, 0xb0, 0x11, 0xfb, 0x0e, 0x68, 0xc4, 0x59, 0x18, + 0x30, 0xb0, 0xe3, 0xe2, 0x2a, 0xf3, 0x88, 0x78, 0x8f, 0x3e, 0x05, 0x8c, 0xa8, 0xd5, 0xa5, 0x12, + 0x07, 0x72, 0xa9, 0xf7, 0xc3, 0xb0, 0x27, 0x52, 0xc5, 0x56, 0x8d, 0x9a, 0xf0, 0xcd, 0x99, 0x6e, + 0x92, 0x4c, 0x97, 0x05, 0x9d, 0x42, 0xc8, 0x94, 0x21, 0x1c, 0x6a, 0xa3, 0x12, 0x80, 0x69, 0x60, + 0x73, 0xab, 0x52, 0xc5, 0x5a, 0x3d, 0x97, 0xea, 0x60, 0xa5, 0x15, 0x82, 0xd2, 0x62, 0x25, 0x93, + 0x41, 0xb5, 0x3a, 0x3a, 0xef, 0xbb, 0x5a, 0x7f, 0x07, 0x4f, 0x59, 0x62, 0x8b, 0xac, 0xc5, 0xdb, + 0x36, 0x60, 0xc8, 0xc6, 0xc4, 0xef, 0x71, 0x95, 0x6b, 0x96, 0xa6, 0x42, 0x4c, 0x77, 0xd5, 0x4c, + 0xe1, 0x64, 0x4c, 0xb1, 0x41, 0x3b, 0xd8, 0x44, 0xf7, 0x82, 0x07, 0xa8, 0x50, 0xb7, 0x02, 0x1a, + 0x85, 0x32, 0x02, 0xb8, 0xac, 0x36, 0x70, 0xfe, 0x05, 0x18, 0x0a, 0x9b, 0x07, 0x8d, 0x41, 0xd2, + 0x71, 0x55, 0xdb, 0xa5, 0x5e, 0x98, 0x54, 0x58, 0x03, 0x65, 0x21, 0x8e, 0x8d, 0x2a, 0x8d, 0x72, + 0x49, 0x85, 0xfc, 0x44, 0xef, 0xf3, 0x15, 0x8e, 0x53, 0x85, 0xef, 0x6f, 0x9d, 0xd1, 0x10, 0xe7, + 0xa8, 0xde, 0xf9, 0x27, 0x61, 0x30, 0xa4, 0x40, 0xaf, 0x43, 0xcb, 0x1f, 0x81, 0xc3, 0x6d, 0x59, + 0xa3, 0xf7, 0xc3, 0x58, 0xd3, 0xd0, 0x0d, 0x17, 0xdb, 0x96, 0x8d, 0x89, 0xc7, 0xb2, 0xa1, 0x72, + 0xff, 0xb1, 0xbf, 0x83, 0xcf, 0x6d, 0x04, 0xb1, 0x19, 0x17, 0x65, 0xb4, 0xd9, 0x0a, 0x3c, 0x95, + 0x4e, 0xbd, 0xd9, 0x9f, 0x7d, 0xf1, 0xc5, 0x17, 0x5f, 0x8c, 0xc9, 0x9f, 0xef, 0x83, 0xb1, 0x76, + 0x6b, 0xa6, 0xed, 0xf2, 0x1d, 0x87, 0x3e, 0xa3, 0xd9, 0xd8, 0xc4, 0x36, 0x35, 0x52, 0x52, 0xe1, + 0x2d, 0x34, 0x0b, 0xc9, 0xba, 0xba, 0x89, 0xeb, 0xb9, 0xc4, 0x94, 0x74, 0x72, 0xe8, 0xf4, 0x43, + 0x3d, 0xad, 0xca, 0xe9, 0x45, 0x42, 0xa2, 0x30, 0x4a, 0xf4, 0x14, 0x24, 0x78, 0x88, 0x26, 0x1c, + 0x4e, 0xf5, 0xc6, 0x81, 0xac, 0x25, 0x85, 0xd2, 0xa1, 0x63, 0x90, 0x26, 0x7f, 0x99, 0x6f, 0xf4, + 0x51, 0x99, 0x53, 0x04, 0x40, 0xfc, 0x02, 0xe5, 0x21, 0x45, 0x97, 0x49, 0x15, 0x8b, 0xad, 0xcd, + 0x6b, 0x13, 0xc7, 0xaa, 0xe2, 0x2d, 0xb5, 0x59, 0x77, 0x2b, 0xd7, 0xd5, 0x7a, 0x13, 0x53, 0x87, + 0x4f, 0x2b, 0x19, 0x0e, 0xbc, 0x4a, 0x60, 0x68, 0x12, 0x06, 0xd8, 0xaa, 0xd2, 0x8d, 0x2a, 0xde, + 0xa1, 0xd1, 0x33, 0xa9, 0xb0, 0x85, 0xb6, 0x40, 0x20, 0x64, 0xf8, 0xe7, 0x1c, 0xd3, 0x10, 0xae, + 0x49, 0x87, 0x20, 0x00, 0x3a, 0xfc, 0x93, 0xd1, 0xc0, 0x7d, 0xa2, 0xbd, 0x7a, 0x51, 0x9f, 0x92, + 0xbf, 0x19, 0x83, 0x04, 0x8d, 0x17, 0xc3, 0x30, 0xb0, 0xfe, 0x81, 0xd5, 0x72, 0xa5, 0xb4, 0xb2, + 0x51, 0x5c, 0x2c, 0x67, 0x25, 0x34, 0x04, 0x40, 0x01, 0x17, 0x17, 0x57, 0x66, 0xd7, 0xb3, 0x31, + 0xaf, 0xbd, 0xb0, 0xbc, 0x7e, 0xf6, 0x89, 0x6c, 0xdc, 0x23, 0xd8, 0x60, 0x80, 0x44, 0x10, 0xe1, + 0xf1, 0xd3, 0xd9, 0x24, 0xca, 0x42, 0x86, 0x31, 0x58, 0x78, 0x7f, 0xb9, 0x74, 0xf6, 0x89, 0x6c, + 0x5f, 0x18, 0xf2, 0xf8, 0xe9, 0x6c, 0x3f, 0x1a, 0x84, 0x34, 0x85, 0x14, 0x57, 0x56, 0x16, 0xb3, + 0x29, 0x8f, 0xe7, 0xda, 0xba, 0xb2, 0xb0, 0x3c, 0x9f, 0x4d, 0x7b, 0x3c, 0xe7, 0x95, 0x95, 0x8d, + 0xd5, 0x2c, 0x78, 0x1c, 0x96, 0xca, 0x6b, 0x6b, 0xb3, 0xf3, 0xe5, 0xec, 0x80, 0x87, 0x51, 0xfc, + 0xc0, 0x7a, 0x79, 0x2d, 0x9b, 0x09, 0x89, 0xf5, 0xf8, 0xe9, 0xec, 0xa0, 0x37, 0x44, 0x79, 0x79, + 0x63, 0x29, 0x3b, 0x84, 0x46, 0x60, 0x90, 0x0d, 0x21, 0x84, 0x18, 0x8e, 0x80, 0xce, 0x3e, 0x91, + 0xcd, 0xfa, 0x82, 0x30, 0x2e, 0x23, 0x21, 0xc0, 0xd9, 0x27, 0xb2, 0x48, 0x9e, 0x83, 0x24, 0xf5, + 0x2e, 0x84, 0x60, 0x68, 0x71, 0xb6, 0x58, 0x5e, 0xac, 0xac, 0xac, 0xae, 0x2f, 0xac, 0x2c, 0xcf, + 0x2e, 0x66, 0x25, 0x1f, 0xa6, 0x94, 0x9f, 0xd9, 0x58, 0x50, 0xca, 0xa5, 0x6c, 0x2c, 0x08, 0x5b, + 0x2d, 0xcf, 0xae, 0x97, 0x4b, 0xd9, 0xb8, 0xac, 0xc1, 0x58, 0xbb, 0x38, 0xd9, 0x76, 0x65, 0x04, + 0xa6, 0x38, 0xd6, 0x61, 0x8a, 0x29, 0xaf, 0x96, 0x29, 0xfe, 0x4e, 0x0c, 0x46, 0xdb, 0xec, 0x15, + 0x6d, 0x07, 0x79, 0x1a, 0x92, 0xcc, 0x45, 0xd9, 0xee, 0xf9, 0x60, 0xdb, 0x4d, 0x87, 0x3a, 0x6c, + 0xcb, 0x0e, 0x4a, 0xe9, 0x82, 0x19, 0x44, 0xbc, 0x43, 0x06, 0x41, 0x58, 0xb4, 0xc4, 0xf4, 0x1f, + 0x6b, 0x89, 0xe9, 0x6c, 0xdb, 0x3b, 0xdb, 0xcb, 0xb6, 0x47, 0x61, 0xfb, 0x8b, 0xed, 0xc9, 0x36, + 0xb1, 0xfd, 0x02, 0x8c, 0xb4, 0x30, 0xea, 0x39, 0xc6, 0x7e, 0x4c, 0x82, 0x5c, 0x27, 0xe3, 0x74, + 0x89, 0x74, 0xb1, 0x50, 0xa4, 0xbb, 0x10, 0xb5, 0xe0, 0x3d, 0x9d, 0x27, 0xa1, 0x65, 0xae, 0xbf, + 0x26, 0xc1, 0x78, 0xfb, 0x4c, 0xb1, 0xad, 0x0c, 0x4f, 0x41, 0x5f, 0x03, 0xbb, 0xdb, 0xa6, 0xc8, + 0x96, 0xee, 0x6f, 0xb3, 0x07, 0x93, 0xee, 0xe8, 0x64, 0x73, 0xaa, 0xe0, 0x26, 0x1e, 0xef, 0x94, + 0xee, 0x31, 0x69, 0x5a, 0x24, 0xfd, 0x54, 0x0c, 0x0e, 0xb7, 0x65, 0xde, 0x56, 0xd0, 0x13, 0x00, + 0xba, 0x61, 0x35, 0x5d, 0x96, 0x11, 0xb1, 0x00, 0x9b, 0xa6, 0x10, 0x1a, 0xbc, 0x48, 0xf0, 0x6c, + 0xba, 0x5e, 0x7f, 0x9c, 0xf6, 0x03, 0x03, 0x51, 0x84, 0x73, 0xbe, 0xa0, 0x09, 0x2a, 0xe8, 0x44, + 0x07, 0x4d, 0x5b, 0x1c, 0xf3, 0x51, 0xc8, 0x6a, 0x75, 0x1d, 0x1b, 0x6e, 0xc5, 0x71, 0x6d, 0xac, + 0x36, 0x74, 0xa3, 0x46, 0x77, 0x90, 0x54, 0x21, 0xb9, 0xa5, 0xd6, 0x1d, 0xac, 0x0c, 0xb3, 0xee, + 0x35, 0xd1, 0x4b, 0x28, 0xa8, 0x03, 0xd9, 0x01, 0x8a, 0xbe, 0x10, 0x05, 0xeb, 0xf6, 0x28, 0xe4, + 0x9f, 0x4e, 0xc3, 0x40, 0x20, 0xaf, 0x46, 0xf7, 0x40, 0xe6, 0x39, 0xf5, 0xba, 0x5a, 0x11, 0x67, + 0x25, 0x66, 0x89, 0x01, 0x02, 0x5b, 0xe5, 0xe7, 0xa5, 0x47, 0x61, 0x8c, 0xa2, 0x98, 0x4d, 0x17, + 0xdb, 0x15, 0xad, 0xae, 0x3a, 0x0e, 0x35, 0x5a, 0x8a, 0xa2, 0x22, 0xd2, 0xb7, 0x42, 0xba, 0xe6, + 0x44, 0x0f, 0x3a, 0x03, 0xa3, 0x94, 0xa2, 0xd1, 0xac, 0xbb, 0xba, 0x55, 0xc7, 0x15, 0x72, 0x7a, + 0x73, 0xe8, 0x4e, 0xe2, 0x49, 0x36, 0x42, 0x30, 0x96, 0x38, 0x02, 0x91, 0xc8, 0x41, 0x25, 0x38, + 0x41, 0xc9, 0x6a, 0xd8, 0xc0, 0xb6, 0xea, 0xe2, 0x0a, 0x7e, 0xbe, 0xa9, 0xd6, 0x9d, 0x8a, 0x6a, + 0x54, 0x2b, 0xdb, 0xaa, 0xb3, 0x9d, 0x1b, 0x23, 0x0c, 0x8a, 0xb1, 0x9c, 0xa4, 0x1c, 0x25, 0x88, + 0xf3, 0x1c, 0xaf, 0x4c, 0xd1, 0x66, 0x8d, 0xea, 0x25, 0xd5, 0xd9, 0x46, 0x05, 0x18, 0xa7, 0x5c, + 0x1c, 0xd7, 0xd6, 0x8d, 0x5a, 0x45, 0xdb, 0xc6, 0xda, 0xb5, 0x4a, 0xd3, 0xdd, 0x3a, 0x97, 0x3b, + 0x16, 0x1c, 0x9f, 0x4a, 0xb8, 0x46, 0x71, 0xe6, 0x08, 0xca, 0x86, 0xbb, 0x75, 0x0e, 0xad, 0x41, + 0x86, 0x4c, 0x46, 0x43, 0x7f, 0x01, 0x57, 0xb6, 0x4c, 0x9b, 0x6e, 0x8d, 0x43, 0x6d, 0x42, 0x53, + 0xc0, 0x82, 0xd3, 0x2b, 0x9c, 0x60, 0xc9, 0xac, 0xe2, 0x42, 0x72, 0x6d, 0xb5, 0x5c, 0x2e, 0x29, + 0x03, 0x82, 0xcb, 0x45, 0xd3, 0x26, 0x0e, 0x55, 0x33, 0x3d, 0x03, 0x0f, 0x30, 0x87, 0xaa, 0x99, + 0xc2, 0xbc, 0x67, 0x60, 0x54, 0xd3, 0x98, 0xce, 0xba, 0x56, 0xe1, 0x67, 0x2c, 0x27, 0x97, 0x0d, + 0x19, 0x4b, 0xd3, 0xe6, 0x19, 0x02, 0xf7, 0x71, 0x07, 0x9d, 0x87, 0xc3, 0xbe, 0xb1, 0x82, 0x84, + 0x23, 0x2d, 0x5a, 0x46, 0x49, 0xcf, 0xc0, 0xa8, 0xb5, 0xdb, 0x4a, 0x88, 0x42, 0x23, 0x5a, 0xbb, + 0x51, 0xb2, 0x27, 0x61, 0xcc, 0xda, 0xb6, 0x5a, 0xe9, 0x4e, 0x05, 0xe9, 0x90, 0xb5, 0x6d, 0x45, + 0x09, 0xdf, 0x43, 0x0f, 0xdc, 0x36, 0xd6, 0x54, 0x17, 0x57, 0x73, 0x47, 0x82, 0xe8, 0x81, 0x0e, + 0x34, 0x03, 0x59, 0x4d, 0xab, 0x60, 0x43, 0xdd, 0xac, 0xe3, 0x8a, 0x6a, 0x63, 0x43, 0x75, 0x72, + 0x93, 0x41, 0xe4, 0x21, 0x4d, 0x2b, 0xd3, 0xde, 0x59, 0xda, 0x89, 0x4e, 0xc1, 0x88, 0xb9, 0xf9, + 0x9c, 0xc6, 0x5c, 0xb2, 0x62, 0xd9, 0x78, 0x4b, 0xdf, 0xc9, 0xdd, 0x47, 0xed, 0x3b, 0x4c, 0x3a, + 0xa8, 0x43, 0xae, 0x52, 0x30, 0x7a, 0x10, 0xb2, 0x9a, 0xb3, 0xad, 0xda, 0x16, 0x8d, 0xc9, 0x8e, + 0xa5, 0x6a, 0x38, 0xf7, 0x1e, 0x86, 0xca, 0xe0, 0xcb, 0x02, 0x4c, 0x96, 0x84, 0x73, 0x43, 0xdf, + 0x72, 0x05, 0xc7, 0x07, 0xd8, 0x92, 0xa0, 0x30, 0xce, 0xed, 0x24, 0x64, 0x89, 0x29, 0x42, 0x03, + 0x9f, 0xa4, 0x68, 0x43, 0xd6, 0xb6, 0x15, 0x1c, 0xf7, 0x5e, 0x18, 0x24, 0x98, 0xfe, 0xa0, 0x0f, + 0xb2, 0x84, 0xcc, 0xda, 0x0e, 0x8c, 0xf8, 0x04, 0x8c, 0x13, 0xa4, 0x06, 0x76, 0xd5, 0xaa, 0xea, + 0xaa, 0x01, 0xec, 0x87, 0x29, 0x36, 0xb1, 0xfb, 0x12, 0xef, 0x0c, 0xc9, 0x69, 0x37, 0x37, 0x77, + 0x3d, 0xcf, 0x7a, 0x84, 0xc9, 0x49, 0x60, 0xc2, 0xb7, 0xee, 0x5a, 0xd2, 0x2d, 0x17, 0x20, 0x13, + 0x74, 0x7c, 0x94, 0x06, 0xe6, 0xfa, 0x59, 0x89, 0x64, 0x41, 0x73, 0x2b, 0x25, 0x92, 0xbf, 0x7c, + 0xb0, 0x9c, 0x8d, 0x91, 0x3c, 0x6a, 0x71, 0x61, 0xbd, 0x5c, 0x51, 0x36, 0x96, 0xd7, 0x17, 0x96, + 0xca, 0xd9, 0x78, 0x20, 0x61, 0xbf, 0x9c, 0x48, 0xdd, 0x9f, 0x7d, 0x40, 0x7e, 0x2d, 0x06, 0x43, + 0xe1, 0x13, 0x18, 0xfa, 0x11, 0x38, 0x22, 0xca, 0x25, 0x0e, 0x76, 0x2b, 0x37, 0x74, 0x9b, 0xae, + 0xc8, 0x86, 0xca, 0x76, 0x47, 0xcf, 0x27, 0xc6, 0x38, 0xd6, 0x1a, 0x76, 0x9f, 0xd5, 0x6d, 0xb2, + 0xde, 0x1a, 0xaa, 0x8b, 0x16, 0x61, 0xd2, 0x30, 0x2b, 0x8e, 0xab, 0x1a, 0x55, 0xd5, 0xae, 0x56, + 0xfc, 0x42, 0x55, 0x45, 0xd5, 0x34, 0xec, 0x38, 0x26, 0xdb, 0x09, 0x3d, 0x2e, 0xc7, 0x0d, 0x73, + 0x8d, 0x23, 0xfb, 0x5b, 0xc4, 0x2c, 0x47, 0x8d, 0xf8, 0x6f, 0xbc, 0x93, 0xff, 0x1e, 0x83, 0x74, + 0x43, 0xb5, 0x2a, 0xd8, 0x70, 0xed, 0x5d, 0x9a, 0x77, 0xa7, 0x94, 0x54, 0x43, 0xb5, 0xca, 0xa4, + 0xfd, 0x8e, 0x1c, 0x7f, 0x2e, 0x27, 0x52, 0xa9, 0x6c, 0xfa, 0x72, 0x22, 0x95, 0xce, 0x82, 0xfc, + 0x7a, 0x1c, 0x32, 0xc1, 0x3c, 0x9c, 0x1c, 0x6b, 0x34, 0xba, 0x65, 0x49, 0x34, 0xa8, 0xdd, 0xbb, + 0x67, 0xd6, 0x3e, 0x3d, 0x47, 0xf6, 0xb2, 0x42, 0x1f, 0xcb, 0x8e, 0x15, 0x46, 0x49, 0xf2, 0x08, + 0xe2, 0x6c, 0x98, 0x65, 0x23, 0x29, 0x85, 0xb7, 0xd0, 0x3c, 0xf4, 0x3d, 0xe7, 0x50, 0xde, 0x7d, + 0x94, 0xf7, 0x7d, 0x7b, 0xf3, 0xbe, 0xbc, 0x46, 0x99, 0xa7, 0x2f, 0xaf, 0x55, 0x96, 0x57, 0x94, + 0xa5, 0xd9, 0x45, 0x85, 0x93, 0xa3, 0xa3, 0x90, 0xa8, 0xab, 0x2f, 0xec, 0x86, 0x77, 0x3d, 0x0a, + 0xea, 0x75, 0x12, 0x8e, 0x42, 0xe2, 0x06, 0x56, 0xaf, 0x85, 0xf7, 0x1a, 0x0a, 0xba, 0x8b, 0x8b, + 0x61, 0x06, 0x92, 0xd4, 0x5e, 0x08, 0x80, 0x5b, 0x2c, 0x7b, 0x08, 0xa5, 0x20, 0x31, 0xb7, 0xa2, + 0x90, 0x05, 0x91, 0x85, 0x0c, 0x83, 0x56, 0x56, 0x17, 0xca, 0x73, 0xe5, 0x6c, 0x4c, 0x3e, 0x03, + 0x7d, 0xcc, 0x08, 0x64, 0xb1, 0x78, 0x66, 0xc8, 0x1e, 0xe2, 0x4d, 0xce, 0x43, 0x12, 0xbd, 0x1b, + 0x4b, 0xc5, 0xb2, 0x92, 0x8d, 0x85, 0xa7, 0x3a, 0x91, 0x4d, 0xca, 0x0e, 0x64, 0x82, 0x89, 0xf8, + 0x3b, 0x73, 0xc8, 0xfe, 0x96, 0x04, 0x03, 0x81, 0xc4, 0x9a, 0x64, 0x44, 0x6a, 0xbd, 0x6e, 0xde, + 0xa8, 0xa8, 0x75, 0x5d, 0x75, 0xb8, 0x6b, 0x00, 0x05, 0xcd, 0x12, 0x48, 0xaf, 0x53, 0xf7, 0x0e, + 0x2d, 0x91, 0x64, 0xb6, 0x4f, 0xfe, 0xb2, 0x04, 0xd9, 0x68, 0x66, 0x1b, 0x11, 0x53, 0x7a, 0x37, + 0xc5, 0x94, 0xbf, 0x24, 0xc1, 0x50, 0x38, 0x9d, 0x8d, 0x88, 0x77, 0xcf, 0xbb, 0x2a, 0xde, 0x1f, + 0xc7, 0x60, 0x30, 0x94, 0xc4, 0xf6, 0x2a, 0xdd, 0xf3, 0x30, 0xa2, 0x57, 0x71, 0xc3, 0x32, 0x5d, + 0x6c, 0x68, 0xbb, 0x95, 0x3a, 0xbe, 0x8e, 0xeb, 0x39, 0x99, 0x06, 0x8d, 0x99, 0xbd, 0xd3, 0xe4, + 0xe9, 0x05, 0x9f, 0x6e, 0x91, 0x90, 0x15, 0x46, 0x17, 0x4a, 0xe5, 0xa5, 0xd5, 0x95, 0xf5, 0xf2, + 0xf2, 0xdc, 0x07, 0x2a, 0x1b, 0xcb, 0x57, 0x96, 0x57, 0x9e, 0x5d, 0x56, 0xb2, 0x7a, 0x04, 0xed, + 0x2e, 0x2e, 0xfb, 0x55, 0xc8, 0x46, 0x85, 0x42, 0x47, 0xa0, 0x9d, 0x58, 0xd9, 0x43, 0x68, 0x14, + 0x86, 0x97, 0x57, 0x2a, 0x6b, 0x0b, 0xa5, 0x72, 0xa5, 0x7c, 0xf1, 0x62, 0x79, 0x6e, 0x7d, 0x8d, + 0x15, 0x3e, 0x3c, 0xec, 0xf5, 0xd0, 0x02, 0x97, 0x5f, 0x8e, 0xc3, 0x68, 0x1b, 0x49, 0xd0, 0x2c, + 0x3f, 0xb2, 0xb0, 0x53, 0xd4, 0x23, 0xbd, 0x48, 0x3f, 0x4d, 0x72, 0x86, 0x55, 0xd5, 0x76, 0xf9, + 0x09, 0xe7, 0x41, 0x20, 0x56, 0x32, 0x5c, 0x7d, 0x4b, 0xc7, 0x36, 0xaf, 0x13, 0xb1, 0x73, 0xcc, + 0xb0, 0x0f, 0x67, 0xa5, 0xa2, 0x87, 0x01, 0x59, 0xa6, 0xa3, 0xbb, 0xfa, 0x75, 0x5c, 0xd1, 0x0d, + 0x51, 0x54, 0x22, 0xe7, 0x9a, 0x84, 0x92, 0x15, 0x3d, 0x0b, 0x86, 0xeb, 0x61, 0x1b, 0xb8, 0xa6, + 0x46, 0xb0, 0x49, 0x30, 0x8f, 0x2b, 0x59, 0xd1, 0xe3, 0x61, 0xdf, 0x03, 0x99, 0xaa, 0xd9, 0x24, + 0xc9, 0x1e, 0xc3, 0x23, 0x7b, 0x87, 0xa4, 0x0c, 0x30, 0x98, 0x87, 0xc2, 0xd3, 0x78, 0xbf, 0x9a, + 0x95, 0x51, 0x06, 0x18, 0x8c, 0xa1, 0x3c, 0x00, 0xc3, 0x6a, 0xad, 0x66, 0x13, 0xe6, 0x82, 0x11, + 0x3b, 0x98, 0x0c, 0x79, 0x60, 0x8a, 0x98, 0xbf, 0x0c, 0x29, 0x61, 0x07, 0xb2, 0x55, 0x13, 0x4b, + 0x54, 0x2c, 0x76, 0xda, 0x8e, 0x9d, 0x4c, 0x2b, 0x29, 0x43, 0x74, 0xde, 0x03, 0x19, 0xdd, 0xa9, + 0xf8, 0xc5, 0xf9, 0xd8, 0x54, 0xec, 0x64, 0x4a, 0x19, 0xd0, 0x1d, 0xaf, 0xb0, 0x29, 0x7f, 0x2d, + 0x06, 0x43, 0xe1, 0x87, 0x0b, 0xa8, 0x04, 0xa9, 0xba, 0xa9, 0xa9, 0xd4, 0xb5, 0xd8, 0x93, 0xad, + 0x93, 0x5d, 0x9e, 0x47, 0x4c, 0x2f, 0x72, 0x7c, 0xc5, 0xa3, 0xcc, 0xff, 0xae, 0x04, 0x29, 0x01, + 0x46, 0xe3, 0x90, 0xb0, 0x54, 0x77, 0x9b, 0xb2, 0x4b, 0x16, 0x63, 0x59, 0x49, 0xa1, 0x6d, 0x02, + 0x77, 0x2c, 0xd5, 0xa0, 0x2e, 0xc0, 0xe1, 0xa4, 0x4d, 0xe6, 0xb5, 0x8e, 0xd5, 0x2a, 0x3d, 0xf5, + 0x98, 0x8d, 0x06, 0x36, 0x5c, 0x47, 0xcc, 0x2b, 0x87, 0xcf, 0x71, 0x30, 0x7a, 0x08, 0x46, 0x5c, + 0x5b, 0xd5, 0xeb, 0x21, 0xdc, 0x04, 0xc5, 0xcd, 0x8a, 0x0e, 0x0f, 0xb9, 0x00, 0x47, 0x05, 0xdf, + 0x2a, 0x76, 0x55, 0x6d, 0x1b, 0x57, 0x7d, 0xa2, 0x3e, 0x5a, 0xdd, 0x38, 0xc2, 0x11, 0x4a, 0xbc, + 0x5f, 0xd0, 0xca, 0xaf, 0x49, 0x30, 0x22, 0xce, 0x69, 0x55, 0xcf, 0x58, 0x4b, 0x00, 0xaa, 0x61, + 0x98, 0x6e, 0xd0, 0x5c, 0xad, 0xae, 0xdc, 0x42, 0x37, 0x3d, 0xeb, 0x11, 0x29, 0x01, 0x06, 0xf9, + 0x06, 0x80, 0xdf, 0xd3, 0xd1, 0x6c, 0x93, 0x30, 0xc0, 0x9f, 0x1c, 0xd1, 0xc7, 0x8f, 0xec, 0x64, + 0x0f, 0x0c, 0x44, 0x0e, 0x74, 0x68, 0x0c, 0x92, 0x9b, 0xb8, 0xa6, 0x1b, 0xbc, 0x1e, 0xcc, 0x1a, + 0xa2, 0xfe, 0x92, 0xf0, 0xea, 0x2f, 0xc5, 0x4f, 0x4b, 0x30, 0xaa, 0x99, 0x8d, 0xa8, 0xbc, 0xc5, + 0x6c, 0xa4, 0xbc, 0xe0, 0x5c, 0x92, 0x3e, 0xf8, 0x54, 0x4d, 0x77, 0xb7, 0x9b, 0x9b, 0xd3, 0x9a, + 0xd9, 0x98, 0xa9, 0x99, 0x75, 0xd5, 0xa8, 0xf9, 0xcf, 0x4f, 0xe9, 0x0f, 0xed, 0x91, 0x1a, 0x36, + 0x1e, 0xa9, 0x99, 0x81, 0xa7, 0xa9, 0x17, 0xfc, 0x9f, 0x7f, 0x2e, 0x49, 0x3f, 0x17, 0x8b, 0xcf, + 0xaf, 0x16, 0xbf, 0x1e, 0xcb, 0xcf, 0xb3, 0xe1, 0x56, 0x85, 0x79, 0x14, 0xbc, 0x55, 0xc7, 0x1a, + 0x51, 0x19, 0xbe, 0xfb, 0x10, 0x8c, 0xd5, 0xcc, 0x9a, 0x49, 0x39, 0xce, 0x90, 0x5f, 0xfc, 0x89, + 0x6c, 0xda, 0x83, 0xe6, 0xbb, 0x3e, 0xbe, 0x2d, 0x2c, 0xc3, 0x28, 0x47, 0xae, 0xd0, 0x47, 0x42, + 0xec, 0x60, 0x83, 0xf6, 0x2c, 0xab, 0xe5, 0x7e, 0xf5, 0x0d, 0xba, 0xa1, 0x2b, 0x23, 0x9c, 0x94, + 0xf4, 0xb1, 0xb3, 0x4f, 0x41, 0x81, 0xc3, 0x21, 0x7e, 0x6c, 0xd9, 0x62, 0xbb, 0x0b, 0xc7, 0xdf, + 0xe2, 0x1c, 0x47, 0x03, 0x1c, 0xd7, 0x38, 0x69, 0x61, 0x0e, 0x06, 0xf7, 0xc3, 0xeb, 0x5f, 0x72, + 0x5e, 0x19, 0x1c, 0x64, 0x32, 0x0f, 0xc3, 0x94, 0x89, 0xd6, 0x74, 0x5c, 0xb3, 0x41, 0x63, 0xe2, + 0xde, 0x6c, 0x7e, 0xfb, 0x0d, 0xb6, 0x8e, 0x86, 0x08, 0xd9, 0x9c, 0x47, 0x55, 0x28, 0x00, 0x7d, + 0x0a, 0x56, 0xc5, 0x5a, 0xbd, 0x0b, 0x87, 0x6f, 0x73, 0x41, 0x3c, 0xfc, 0xc2, 0x55, 0x18, 0x23, + 0xbf, 0x69, 0xc8, 0x0a, 0x4a, 0xd2, 0xbd, 0x06, 0x97, 0x7b, 0xed, 0x63, 0x6c, 0xa9, 0x8e, 0x7a, + 0x0c, 0x02, 0x32, 0x05, 0x66, 0xb1, 0x86, 0x5d, 0x17, 0xdb, 0x4e, 0x45, 0xad, 0xb7, 0x13, 0x2f, + 0x50, 0xc4, 0xc8, 0x7d, 0xe1, 0x7b, 0xe1, 0x59, 0x9c, 0x67, 0x94, 0xb3, 0xf5, 0x7a, 0x61, 0x03, + 0x8e, 0xb4, 0xf1, 0x8a, 0x1e, 0x78, 0xbe, 0xcc, 0x79, 0x8e, 0xb5, 0x78, 0x06, 0x61, 0xbb, 0x0a, + 0x02, 0xee, 0xcd, 0x65, 0x0f, 0x3c, 0xbf, 0xc8, 0x79, 0x22, 0x4e, 0x2b, 0xa6, 0x94, 0x70, 0xbc, + 0x0c, 0x23, 0xd7, 0xb1, 0xbd, 0x69, 0x3a, 0xbc, 0x70, 0xd4, 0x03, 0xbb, 0x2f, 0x71, 0x76, 0xc3, + 0x9c, 0x90, 0x56, 0x92, 0x08, 0xaf, 0xf3, 0x90, 0xda, 0x52, 0x35, 0xdc, 0x03, 0x8b, 0x9b, 0x9c, + 0x45, 0x3f, 0xc1, 0x27, 0xa4, 0xb3, 0x90, 0xa9, 0x99, 0x7c, 0xd7, 0xea, 0x4e, 0xfe, 0x65, 0x4e, + 0x3e, 0x20, 0x68, 0x38, 0x0b, 0xcb, 0xb4, 0x9a, 0x75, 0xb2, 0xa5, 0x75, 0x67, 0xf1, 0xb7, 0x04, + 0x0b, 0x41, 0xc3, 0x59, 0xec, 0xc3, 0xac, 0xaf, 0x08, 0x16, 0x4e, 0xc0, 0x9e, 0x4f, 0xc3, 0x80, + 0x69, 0xd4, 0x77, 0x4d, 0xa3, 0x17, 0x21, 0xbe, 0xc2, 0x39, 0x00, 0x27, 0x21, 0x0c, 0x2e, 0x40, + 0xba, 0xd7, 0x89, 0xf8, 0xdb, 0xdf, 0x13, 0xcb, 0x43, 0xcc, 0xc0, 0x3c, 0x0c, 0x8b, 0x00, 0xa5, + 0x9b, 0x46, 0x0f, 0x2c, 0xfe, 0x0e, 0x67, 0x31, 0x14, 0x20, 0xe3, 0x6a, 0xb8, 0xd8, 0x71, 0x6b, + 0xb8, 0x17, 0x26, 0x5f, 0x13, 0x6a, 0x70, 0x12, 0x6e, 0xca, 0x4d, 0x6c, 0x68, 0xdb, 0xbd, 0x71, + 0xf8, 0x05, 0x61, 0x4a, 0x41, 0x43, 0x58, 0xcc, 0xc1, 0x60, 0x43, 0xb5, 0x9d, 0x6d, 0xb5, 0xde, + 0xd3, 0x74, 0xfc, 0x5d, 0xce, 0x23, 0xe3, 0x11, 0x71, 0x8b, 0x34, 0x8d, 0xfd, 0xb0, 0xf9, 0xba, + 0xb0, 0x48, 0x80, 0x8c, 0x2f, 0x3d, 0xc7, 0xa5, 0x55, 0xb6, 0xfd, 0x70, 0xfb, 0x45, 0xb1, 0xf4, + 0x18, 0xed, 0x52, 0x90, 0xe3, 0x05, 0x48, 0x3b, 0xfa, 0x0b, 0x3d, 0xb1, 0xf9, 0x25, 0x31, 0xd3, + 0x94, 0x80, 0x10, 0x7f, 0x00, 0x8e, 0xb6, 0xdd, 0x26, 0x7a, 0x60, 0xf6, 0xf7, 0x38, 0xb3, 0xf1, + 0x36, 0x5b, 0x05, 0x0f, 0x09, 0xfb, 0x65, 0xf9, 0xf7, 0x45, 0x48, 0xc0, 0x11, 0x5e, 0xab, 0xe4, + 0x1c, 0xe1, 0xa8, 0x5b, 0xfb, 0xb3, 0xda, 0x2f, 0x0b, 0xab, 0x31, 0xda, 0x90, 0xd5, 0xd6, 0x61, + 0x9c, 0x73, 0xdc, 0xdf, 0xbc, 0xfe, 0x8a, 0x08, 0xac, 0x8c, 0x7a, 0x23, 0x3c, 0xbb, 0x1f, 0x82, + 0xbc, 0x67, 0x4e, 0x91, 0xb0, 0x3a, 0x95, 0x86, 0x6a, 0xf5, 0xc0, 0xf9, 0x57, 0x39, 0x67, 0x11, + 0xf1, 0xbd, 0x8c, 0xd7, 0x59, 0x52, 0x2d, 0xc2, 0xfc, 0xfd, 0x90, 0x13, 0xcc, 0x9b, 0x86, 0x8d, + 0x35, 0xb3, 0x66, 0xe8, 0x2f, 0xe0, 0x6a, 0x0f, 0xac, 0x7f, 0x2d, 0x32, 0x55, 0x1b, 0x01, 0x72, + 0xc2, 0x79, 0x01, 0xb2, 0x5e, 0xae, 0x52, 0xd1, 0x1b, 0x96, 0x69, 0xbb, 0x5d, 0x38, 0x7e, 0x43, + 0xcc, 0x94, 0x47, 0xb7, 0x40, 0xc9, 0x0a, 0x65, 0x18, 0xa2, 0xcd, 0x5e, 0x5d, 0xf2, 0xd7, 0x39, + 0xa3, 0x41, 0x9f, 0x8a, 0x07, 0x0e, 0xcd, 0x6c, 0x58, 0xaa, 0xdd, 0x4b, 0xfc, 0xfb, 0x07, 0x22, + 0x70, 0x70, 0x12, 0x1e, 0x38, 0xdc, 0x5d, 0x0b, 0x93, 0xdd, 0xbe, 0x07, 0x0e, 0xdf, 0x14, 0x81, + 0x43, 0xd0, 0x70, 0x16, 0x22, 0x61, 0xe8, 0x81, 0xc5, 0x3f, 0x14, 0x2c, 0x04, 0x0d, 0x61, 0xf1, + 0x8c, 0xbf, 0xd1, 0xda, 0xb8, 0xa6, 0x3b, 0xae, 0xcd, 0xd2, 0xe4, 0xbd, 0x59, 0xfd, 0xa3, 0xef, + 0x85, 0x93, 0x30, 0x25, 0x40, 0x4a, 0x22, 0x11, 0x2f, 0xbb, 0xd2, 0x53, 0x54, 0x77, 0xc1, 0x7e, + 0x43, 0x44, 0xa2, 0x00, 0x19, 0x91, 0x2d, 0x90, 0x21, 0x12, 0xb3, 0x6b, 0xe4, 0xec, 0xd0, 0x03, + 0xbb, 0x7f, 0x1c, 0x11, 0x6e, 0x4d, 0xd0, 0x12, 0x9e, 0x81, 0xfc, 0xa7, 0x69, 0x5c, 0xc3, 0xbb, + 0x3d, 0x79, 0xe7, 0x3f, 0x89, 0xe4, 0x3f, 0x1b, 0x8c, 0x92, 0xc5, 0x90, 0xe1, 0x48, 0x3e, 0x85, + 0xba, 0xdd, 0x1f, 0xca, 0xfd, 0xf8, 0x5b, 0x5c, 0xdf, 0x70, 0x3a, 0x55, 0x58, 0x24, 0x4e, 0x1e, + 0x4e, 0x7a, 0xba, 0x33, 0xfb, 0xd8, 0x5b, 0x9e, 0x9f, 0x87, 0x72, 0x9e, 0xc2, 0x45, 0x18, 0x0c, + 0x25, 0x3c, 0xdd, 0x59, 0x7d, 0x9c, 0xb3, 0xca, 0x04, 0xf3, 0x9d, 0xc2, 0x19, 0x48, 0x90, 0xe4, + 0xa5, 0x3b, 0xf9, 0x5f, 0xe5, 0xe4, 0x14, 0xbd, 0xf0, 0x5e, 0x48, 0x89, 0xa4, 0xa5, 0x3b, 0xe9, + 0x27, 0x38, 0xa9, 0x47, 0x42, 0xc8, 0x45, 0xc2, 0xd2, 0x9d, 0xfc, 0xaf, 0x09, 0x72, 0x41, 0x42, + 0xc8, 0x7b, 0x37, 0xe1, 0xb7, 0x7e, 0x32, 0xc1, 0x37, 0x1d, 0x61, 0xbb, 0x0b, 0xd0, 0xcf, 0x33, + 0x95, 0xee, 0xd4, 0x9f, 0xe2, 0x83, 0x0b, 0x8a, 0xc2, 0x93, 0x90, 0xec, 0xd1, 0xe0, 0x3f, 0xc5, + 0x49, 0x19, 0x7e, 0x61, 0x0e, 0x06, 0x02, 0xd9, 0x49, 0x77, 0xf2, 0xbf, 0xc1, 0xc9, 0x83, 0x54, + 0x44, 0x74, 0x9e, 0x9d, 0x74, 0x67, 0xf0, 0x69, 0x21, 0x3a, 0xa7, 0x20, 0x66, 0x13, 0x89, 0x49, + 0x77, 0xea, 0xcf, 0x08, 0xab, 0x0b, 0x92, 0xc2, 0xd3, 0x90, 0xf6, 0x36, 0x9b, 0xee, 0xf4, 0x9f, + 0xe5, 0xf4, 0x3e, 0x0d, 0xb1, 0x40, 0x60, 0xb3, 0xeb, 0xce, 0xe2, 0xa7, 0x85, 0x05, 0x02, 0x54, + 0x64, 0x19, 0x45, 0x13, 0x98, 0xee, 0x9c, 0x3e, 0x27, 0x96, 0x51, 0x24, 0x7f, 0x21, 0xb3, 0x49, + 0x63, 0x7e, 0x77, 0x16, 0x3f, 0x23, 0x66, 0x93, 0xe2, 0x13, 0x31, 0xa2, 0x19, 0x41, 0x77, 0x1e, + 0x7f, 0x53, 0x88, 0x11, 0x49, 0x08, 0x0a, 0xab, 0x80, 0x5a, 0xb3, 0x81, 0xee, 0xfc, 0x3e, 0xcf, + 0xf9, 0x8d, 0xb4, 0x24, 0x03, 0x85, 0x67, 0x61, 0xbc, 0x7d, 0x26, 0xd0, 0x9d, 0xeb, 0x17, 0xde, + 0x8a, 0x9c, 0xdd, 0x82, 0x89, 0x40, 0x61, 0xdd, 0xdf, 0x52, 0x82, 0x59, 0x40, 0x77, 0xb6, 0x2f, + 0xbf, 0x15, 0x0e, 0xdc, 0xc1, 0x24, 0xa0, 0x30, 0x0b, 0xe0, 0x6f, 0xc0, 0xdd, 0x79, 0x7d, 0x89, + 0xf3, 0x0a, 0x10, 0x91, 0xa5, 0xc1, 0xf7, 0xdf, 0xee, 0xf4, 0x37, 0xc5, 0xd2, 0xe0, 0x14, 0x64, + 0x69, 0x88, 0xad, 0xb7, 0x3b, 0xf5, 0x97, 0xc5, 0xd2, 0x10, 0x24, 0xc4, 0xb3, 0x03, 0xbb, 0x5b, + 0x77, 0x0e, 0x5f, 0x11, 0x9e, 0x1d, 0xa0, 0x2a, 0x2c, 0xc3, 0x48, 0xcb, 0x86, 0xd8, 0x9d, 0xd5, + 0xcf, 0x71, 0x56, 0xd9, 0xe8, 0x7e, 0x18, 0xdc, 0xbc, 0xf8, 0x66, 0xd8, 0x9d, 0xdb, 0x57, 0x23, + 0x9b, 0x17, 0xdf, 0x0b, 0x0b, 0x17, 0x20, 0x65, 0x34, 0xeb, 0x75, 0xb2, 0x78, 0xd0, 0xde, 0x77, + 0xfe, 0x72, 0xff, 0xe9, 0x07, 0xdc, 0x3a, 0x82, 0xa0, 0x70, 0x06, 0x92, 0xb8, 0xb1, 0x89, 0xab, + 0xdd, 0x28, 0xbf, 0xfb, 0x03, 0x11, 0x30, 0x09, 0x76, 0xe1, 0x69, 0x00, 0x56, 0x1a, 0xa1, 0x8f, + 0x07, 0xbb, 0xd0, 0xfe, 0xe7, 0x1f, 0xf0, 0xdb, 0x38, 0x3e, 0x89, 0xcf, 0x80, 0xdd, 0xed, 0xd9, + 0x9b, 0xc1, 0xf7, 0xc2, 0x0c, 0xe8, 0x8c, 0x9c, 0x87, 0xfe, 0xe7, 0x1c, 0xd3, 0x70, 0xd5, 0x5a, + 0x37, 0xea, 0xff, 0xc2, 0xa9, 0x05, 0x3e, 0x31, 0x58, 0xc3, 0xb4, 0xb1, 0xab, 0xd6, 0x9c, 0x6e, + 0xb4, 0xff, 0x95, 0xd3, 0x7a, 0x04, 0x84, 0x58, 0x53, 0x1d, 0xb7, 0x17, 0xbd, 0xff, 0x54, 0x10, + 0x0b, 0x02, 0x22, 0x34, 0xf9, 0x7d, 0x0d, 0xef, 0x76, 0xa3, 0xfd, 0xbe, 0x10, 0x9a, 0xe3, 0x17, + 0xde, 0x0b, 0x69, 0xf2, 0x93, 0x5d, 0xb1, 0xeb, 0x42, 0xfc, 0x67, 0x9c, 0xd8, 0xa7, 0x20, 0x23, + 0x3b, 0x6e, 0xd5, 0xd5, 0xbb, 0x1b, 0xfb, 0x36, 0x9f, 0x69, 0x81, 0x5f, 0x98, 0x85, 0x01, 0xc7, + 0xad, 0x56, 0x9b, 0x3c, 0x3f, 0xed, 0x42, 0xfe, 0xdf, 0x7e, 0xe0, 0x95, 0x2c, 0x3c, 0x1a, 0x32, + 0xdb, 0x37, 0xae, 0xb9, 0x96, 0x49, 0x1f, 0x81, 0x74, 0xe3, 0xf0, 0x16, 0xe7, 0x10, 0x20, 0x29, + 0xcc, 0x41, 0x86, 0xe8, 0x62, 0x63, 0x0b, 0xd3, 0xe7, 0x55, 0x5d, 0x58, 0xfc, 0x77, 0x6e, 0x80, + 0x10, 0x51, 0xf1, 0xc7, 0xbe, 0xfd, 0xfa, 0x84, 0xf4, 0xea, 0xeb, 0x13, 0xd2, 0x1f, 0xbf, 0x3e, + 0x21, 0x7d, 0xe6, 0x3b, 0x13, 0x87, 0x5e, 0xfd, 0xce, 0xc4, 0xa1, 0xdf, 0xff, 0xce, 0xc4, 0xa1, + 0xf6, 0x65, 0x63, 0x98, 0x37, 0xe7, 0x4d, 0x56, 0x30, 0xfe, 0xa0, 0x1c, 0x2a, 0x17, 0xd7, 0x4c, + 0xbf, 0x5a, 0xeb, 0x1d, 0x72, 0xe0, 0xe3, 0x71, 0x98, 0xd0, 0x4c, 0xa7, 0x61, 0x3a, 0x33, 0x9b, + 0xaa, 0x83, 0x67, 0xae, 0x3f, 0xb6, 0x89, 0x5d, 0xf5, 0xb1, 0x19, 0xcd, 0xd4, 0x0d, 0x5e, 0xf6, + 0x1d, 0x65, 0xfd, 0xd3, 0xa4, 0x7f, 0x9a, 0xf7, 0xe7, 0xdb, 0x56, 0x88, 0xe5, 0x79, 0x48, 0xcc, + 0x99, 0xba, 0x81, 0xc6, 0x20, 0x59, 0xc5, 0x86, 0xd9, 0xe0, 0x37, 0xc0, 0x58, 0x03, 0xdd, 0x0b, + 0x7d, 0x6a, 0xc3, 0x6c, 0x1a, 0x2e, 0x2b, 0x97, 0x17, 0x07, 0xbe, 0x7d, 0x6b, 0xf2, 0xd0, 0x1f, + 0xdc, 0x9a, 0x8c, 0x2f, 0x18, 0xae, 0xc2, 0xbb, 0x0a, 0x89, 0x37, 0x5f, 0x99, 0x94, 0xe4, 0xcb, + 0xd0, 0x5f, 0xc2, 0xda, 0x41, 0x78, 0x95, 0xb0, 0x16, 0xe1, 0xf5, 0x20, 0xa4, 0x16, 0x0c, 0x97, + 0xdd, 0xd1, 0x3b, 0x01, 0x71, 0xdd, 0x60, 0xb7, 0x3e, 0x22, 0xe3, 0x13, 0x38, 0x41, 0x2d, 0x61, + 0xcd, 0x43, 0xad, 0x62, 0x2d, 0x8a, 0x4a, 0xd8, 0x13, 0x78, 0xb1, 0xf4, 0xfb, 0xff, 0x61, 0xe2, + 0xd0, 0x8b, 0xaf, 0x4f, 0x1c, 0xea, 0x34, 0x3f, 0x21, 0xf3, 0x73, 0x13, 0xb3, 0x3f, 0x8f, 0x38, + 0xd5, 0x6b, 0x33, 0x64, 0x69, 0x39, 0x9b, 0x7d, 0xd4, 0x6e, 0x8f, 0xc3, 0x67, 0x62, 0x30, 0x19, + 0x2d, 0xa9, 0x13, 0x3f, 0x76, 0x5c, 0xb5, 0x61, 0x75, 0x7a, 0x21, 0xea, 0x02, 0xa4, 0xd7, 0x05, + 0x0e, 0xca, 0x41, 0xbf, 0x83, 0x35, 0xd3, 0xa8, 0x3a, 0x54, 0xe4, 0xb8, 0x22, 0x9a, 0xc4, 0x80, + 0x86, 0x6a, 0x98, 0x0e, 0xbf, 0xaf, 0xc9, 0x1a, 0xc5, 0x9f, 0x95, 0xf6, 0xe7, 0x58, 0x43, 0xde, + 0x50, 0xd4, 0x3c, 0xab, 0xd2, 0x07, 0x1f, 0xda, 0xeb, 0x69, 0x04, 0x55, 0xcf, 0x57, 0x21, 0xf0, + 0xe8, 0x61, 0x22, 0xfa, 0xe8, 0xe1, 0x59, 0x5c, 0xaf, 0x5f, 0x31, 0xcc, 0x1b, 0xc6, 0x7a, 0xc8, + 0x24, 0x5f, 0x4f, 0xc0, 0x09, 0x7a, 0x11, 0xdd, 0x6e, 0xe8, 0x86, 0x3b, 0xa3, 0xd9, 0xbb, 0x96, + 0x4b, 0x5d, 0xd8, 0xdc, 0xe2, 0x06, 0x19, 0xf1, 0xbb, 0xa7, 0x59, 0x77, 0x07, 0xb7, 0xdc, 0x82, + 0xe4, 0x2a, 0xa1, 0x23, 0xa6, 0x70, 0x4d, 0x57, 0xad, 0x73, 0x13, 0xb1, 0x06, 0x81, 0xb2, 0xcb, + 0xeb, 0x31, 0x06, 0xd5, 0xc5, 0xbd, 0xf5, 0x3a, 0x56, 0xb7, 0xd8, 0x65, 0xc1, 0x38, 0x7d, 0x56, + 0x98, 0x22, 0x00, 0x7a, 0x2f, 0x70, 0x0c, 0x92, 0x6a, 0x93, 0x3d, 0xe6, 0x8a, 0x9f, 0xcc, 0x28, + 0xac, 0x21, 0x5f, 0x81, 0x7e, 0x5e, 0x5a, 0x47, 0x59, 0x88, 0x5f, 0xc3, 0xbb, 0x74, 0x9c, 0x8c, + 0x42, 0x7e, 0xa2, 0x69, 0x48, 0x52, 0xe1, 0xf9, 0x2d, 0xe8, 0xdc, 0x74, 0x8b, 0xf4, 0xd3, 0x54, + 0x48, 0x85, 0xa1, 0xc9, 0x97, 0x21, 0x55, 0x32, 0x1b, 0xba, 0x61, 0x86, 0xb9, 0xa5, 0x19, 0x37, + 0x2a, 0xb3, 0xd5, 0xe4, 0xee, 0xaf, 0xb0, 0x06, 0x1a, 0x87, 0x3e, 0x76, 0x79, 0x94, 0x3f, 0xaa, + 0xe3, 0x2d, 0x79, 0x0e, 0xfa, 0x29, 0xef, 0x15, 0x0b, 0x21, 0xfe, 0x36, 0x01, 0xbf, 0xa5, 0x4a, + 0xb7, 0x04, 0xce, 0x3e, 0xe6, 0x0b, 0x8b, 0x20, 0x51, 0x55, 0x5d, 0x95, 0xeb, 0x4d, 0x7f, 0xcb, + 0x4f, 0x41, 0x8a, 0x33, 0x71, 0xd0, 0x69, 0x88, 0x9b, 0x96, 0xc3, 0x1f, 0xb6, 0xe5, 0x3b, 0xa9, + 0xb2, 0x62, 0x15, 0x13, 0x64, 0xe1, 0x28, 0x04, 0xb9, 0xa8, 0x74, 0x5c, 0x29, 0xe7, 0x02, 0x9e, + 0x14, 0x98, 0xf2, 0xc0, 0x4f, 0x36, 0xa5, 0x2d, 0xee, 0xe0, 0x39, 0xcb, 0x57, 0x62, 0x30, 0x11, + 0xe8, 0xbd, 0x8e, 0x6d, 0x92, 0x5f, 0xb2, 0x45, 0xc6, 0xbd, 0x05, 0x05, 0x84, 0xe4, 0xfd, 0x1d, + 0xdc, 0xe5, 0xbd, 0x10, 0x9f, 0xb5, 0x2c, 0x94, 0x87, 0x14, 0x7b, 0xa8, 0x66, 0x32, 0x7f, 0x49, + 0x28, 0x5e, 0x9b, 0xf4, 0x39, 0xe6, 0x96, 0x7b, 0x43, 0xb5, 0xbd, 0xd7, 0x26, 0x44, 0x5b, 0x3e, + 0x0f, 0xe9, 0x39, 0xd3, 0x70, 0xb0, 0xe1, 0x34, 0xe9, 0xe2, 0xdb, 0xac, 0x9b, 0xda, 0x35, 0xce, + 0x81, 0x35, 0x88, 0xc1, 0x55, 0xcb, 0xa2, 0x94, 0x09, 0x85, 0xfc, 0x64, 0xa1, 0xaa, 0xb8, 0xd6, + 0xd1, 0x44, 0xe7, 0xf7, 0x6f, 0x22, 0xae, 0xa4, 0x67, 0xa3, 0x3f, 0x94, 0xe0, 0x78, 0xeb, 0x82, + 0xba, 0x86, 0x77, 0x9d, 0xfd, 0xae, 0xa7, 0x73, 0x90, 0x5e, 0xa5, 0xef, 0x2e, 0x5e, 0xc1, 0xbb, + 0x28, 0x0f, 0xfd, 0xb8, 0x7a, 0xfa, 0xcc, 0x99, 0xc7, 0xce, 0x33, 0x6f, 0xbf, 0x74, 0x48, 0x11, + 0x80, 0x42, 0x8a, 0x68, 0xf5, 0xe6, 0x57, 0x26, 0xa5, 0x62, 0x12, 0xe2, 0x4e, 0xb3, 0x71, 0x57, + 0x7d, 0xe0, 0xe5, 0x24, 0x4c, 0x05, 0x29, 0x69, 0x04, 0xba, 0xae, 0xd6, 0xf5, 0xaa, 0xea, 0xbf, + 0x55, 0x9a, 0x0d, 0xe8, 0x48, 0x31, 0xda, 0xab, 0x98, 0xdf, 0xd3, 0x52, 0xf2, 0xaf, 0x49, 0x90, + 0xb9, 0x2a, 0x38, 0xaf, 0x61, 0x17, 0x5d, 0x00, 0xf0, 0x46, 0x12, 0xcb, 0xe2, 0xd8, 0x74, 0x74, + 0xac, 0x69, 0x8f, 0x46, 0x09, 0xa0, 0xa3, 0x27, 0xa9, 0xa3, 0x59, 0xa6, 0xc3, 0xef, 0xd4, 0x77, + 0x21, 0xf5, 0x90, 0xd1, 0xc3, 0x80, 0x68, 0x04, 0xab, 0x5c, 0x37, 0x5d, 0xdd, 0xa8, 0x55, 0x2c, + 0xf3, 0x06, 0x7f, 0x01, 0x29, 0xae, 0x64, 0x69, 0xcf, 0x55, 0xda, 0xb1, 0x4a, 0xe0, 0x44, 0xe8, + 0xb4, 0xc7, 0x85, 0xec, 0x17, 0x6a, 0xb5, 0x6a, 0x63, 0xc7, 0xe1, 0x41, 0x4a, 0x34, 0xd1, 0x05, + 0xe8, 0xb7, 0x9a, 0x9b, 0x15, 0x11, 0x11, 0x06, 0x4e, 0x1f, 0x6f, 0xb7, 0xbe, 0xc5, 0xfc, 0xf3, + 0x15, 0xde, 0x67, 0x35, 0x37, 0x89, 0x37, 0xdc, 0x03, 0x99, 0x36, 0xc2, 0x0c, 0x5c, 0xf7, 0xe5, + 0xa0, 0xaf, 0xc4, 0x72, 0x0d, 0x2a, 0x96, 0xad, 0x9b, 0xb6, 0xee, 0xee, 0xd2, 0x27, 0xe2, 0x71, + 0x25, 0x2b, 0x3a, 0x56, 0x39, 0x5c, 0xbe, 0x06, 0xc3, 0x6b, 0x7a, 0xc3, 0xa2, 0x77, 0x38, 0xb8, + 0xe4, 0x67, 0x7c, 0xf9, 0xa4, 0xee, 0xf2, 0x75, 0x94, 0x2c, 0xd6, 0x22, 0x59, 0xf1, 0x99, 0x8e, + 0xde, 0xf9, 0xe4, 0xfe, 0xbd, 0x33, 0xbc, 0xc1, 0xff, 0xe9, 0xd1, 0xd0, 0xe2, 0xe3, 0xdb, 0x63, + 0x20, 0x3c, 0xf5, 0xea, 0x98, 0xdd, 0xd2, 0x84, 0xfc, 0xde, 0x9b, 0x66, 0xbe, 0x4b, 0x98, 0xcc, + 0x77, 0x5d, 0x42, 0xf2, 0x79, 0x18, 0x5c, 0x55, 0x6d, 0x77, 0x0d, 0xbb, 0x97, 0xb0, 0x5a, 0xc5, + 0x76, 0x78, 0x57, 0x1d, 0x14, 0xbb, 0x2a, 0x82, 0x04, 0xdd, 0x3a, 0xd9, 0xae, 0x42, 0x7f, 0xcb, + 0xdb, 0x90, 0xa0, 0xb7, 0x62, 0xbc, 0x1d, 0x97, 0x53, 0xb0, 0x1d, 0x97, 0xc4, 0xca, 0x5d, 0x17, + 0x3b, 0x9c, 0x84, 0x35, 0xd0, 0x13, 0x62, 0xdf, 0x8c, 0xef, 0xbd, 0x6f, 0x72, 0x47, 0xe4, 0xbb, + 0x67, 0x1d, 0xfa, 0x8b, 0x24, 0xd4, 0x2e, 0x94, 0x3c, 0x41, 0x24, 0x5f, 0x10, 0xb4, 0x04, 0xc3, + 0x96, 0x6a, 0xbb, 0xf4, 0x3a, 0xf0, 0x36, 0xd5, 0x82, 0xfb, 0xfa, 0x64, 0xeb, 0xca, 0x0b, 0x29, + 0xcb, 0x47, 0x19, 0xb4, 0x82, 0x40, 0xf9, 0x4f, 0x12, 0xd0, 0xc7, 0x8d, 0xf1, 0x5e, 0xe8, 0xe7, + 0x66, 0xe5, 0xde, 0x79, 0x62, 0xba, 0x75, 0xe3, 0x99, 0xf6, 0x36, 0x08, 0xce, 0x4f, 0xd0, 0xa0, + 0xfb, 0x21, 0xa5, 0x6d, 0xab, 0xba, 0x51, 0xd1, 0xab, 0x22, 0xb3, 0x7d, 0xfd, 0xd6, 0x64, 0xff, + 0x1c, 0x81, 0x2d, 0x94, 0x94, 0x7e, 0xda, 0xb9, 0x50, 0x25, 0x3b, 0xfd, 0x36, 0xd6, 0x6b, 0xdb, + 0x2e, 0x5f, 0x61, 0xbc, 0x85, 0xce, 0x41, 0x82, 0x38, 0x04, 0x7f, 0x5b, 0x24, 0xdf, 0x72, 0xe2, + 0xf0, 0xb2, 0xb8, 0x62, 0x8a, 0x0c, 0xfc, 0x99, 0x3f, 0x9a, 0x94, 0x14, 0x4a, 0x81, 0xe6, 0x60, + 0xb0, 0xae, 0x3a, 0x6e, 0x85, 0xee, 0x50, 0x64, 0xf8, 0x24, 0x65, 0x71, 0xb4, 0xd5, 0x20, 0xdc, + 0xb0, 0x5c, 0xf4, 0x01, 0x42, 0xc5, 0x40, 0x55, 0x74, 0x12, 0xb2, 0x94, 0x89, 0x66, 0x36, 0x1a, + 0xba, 0xcb, 0x72, 0xa7, 0x3e, 0x6a, 0xf7, 0x21, 0x02, 0x9f, 0xa3, 0x60, 0x9a, 0x41, 0x1d, 0x83, + 0x34, 0xbd, 0x9e, 0x4e, 0x51, 0xd8, 0x55, 0xac, 0x14, 0x01, 0xd0, 0xce, 0x07, 0x60, 0xd8, 0x8f, + 0x8f, 0x0c, 0x25, 0xc5, 0xb8, 0xf8, 0x60, 0x8a, 0xf8, 0x28, 0x8c, 0x19, 0x78, 0x87, 0x5e, 0x0e, + 0x0b, 0x61, 0xa7, 0x29, 0x36, 0x22, 0x7d, 0x57, 0xc3, 0x14, 0xef, 0x81, 0x21, 0x4d, 0x18, 0x9f, + 0xe1, 0x02, 0xc5, 0x1d, 0xf4, 0xa0, 0x14, 0xed, 0x28, 0xa4, 0x54, 0xcb, 0x62, 0x08, 0x03, 0x3c, + 0x3e, 0x5a, 0x16, 0xed, 0x3a, 0x05, 0x23, 0x54, 0x47, 0x1b, 0x3b, 0xcd, 0xba, 0xcb, 0x99, 0x64, + 0x28, 0xce, 0x30, 0xe9, 0x50, 0x18, 0x9c, 0xe2, 0xde, 0x0b, 0x83, 0xf8, 0xba, 0x5e, 0xc5, 0x86, + 0x86, 0x19, 0xde, 0x20, 0xc5, 0xcb, 0x08, 0x20, 0x45, 0x7a, 0x10, 0xbc, 0xb8, 0x57, 0x11, 0x31, + 0x79, 0x88, 0xf1, 0x13, 0xf0, 0x59, 0x06, 0x96, 0x73, 0x90, 0x28, 0xa9, 0xae, 0x4a, 0x12, 0x08, + 0x77, 0x87, 0x6d, 0x34, 0x19, 0x85, 0xfc, 0x94, 0xdf, 0x8c, 0x41, 0xe2, 0xaa, 0xe9, 0x62, 0xf4, + 0x78, 0x20, 0xc1, 0x1b, 0x6a, 0xe7, 0xcf, 0x6b, 0x7a, 0xcd, 0xc0, 0xd5, 0x25, 0xa7, 0x16, 0x78, + 0x47, 0xd4, 0x77, 0xa7, 0x58, 0xc8, 0x9d, 0xc6, 0x20, 0x69, 0x9b, 0x4d, 0xa3, 0x2a, 0x6e, 0x31, + 0xd1, 0x06, 0x2a, 0x43, 0xca, 0xf3, 0x92, 0x44, 0x37, 0x2f, 0x19, 0x26, 0x5e, 0x42, 0x7c, 0x98, + 0x03, 0x94, 0xfe, 0x4d, 0xee, 0x2c, 0x45, 0x48, 0x7b, 0xc1, 0x8b, 0x7b, 0x5b, 0x6f, 0x0e, 0xeb, + 0x93, 0x91, 0xcd, 0xc4, 0x9b, 0x7b, 0xcf, 0x78, 0xcc, 0xe3, 0xb2, 0x5e, 0x07, 0xb7, 0x5e, 0xc8, + 0xad, 0xf8, 0xfb, 0xaa, 0xfd, 0x54, 0x2f, 0xdf, 0xad, 0xd8, 0x3b, 0xab, 0xc7, 0x21, 0xed, 0xe8, + 0x35, 0x43, 0x75, 0x9b, 0x36, 0xe6, 0x9e, 0xe7, 0x03, 0xe4, 0x6f, 0x49, 0xd0, 0xc7, 0x3c, 0x39, + 0x60, 0x37, 0xa9, 0xbd, 0xdd, 0x62, 0x9d, 0xec, 0x16, 0x3f, 0xb8, 0xdd, 0x66, 0x01, 0x3c, 0x61, + 0x1c, 0xfe, 0xbe, 0x61, 0x9b, 0x8c, 0x81, 0x89, 0xb8, 0xa6, 0xd7, 0xf8, 0x42, 0x0d, 0x10, 0xc9, + 0x7f, 0x28, 0x91, 0x24, 0x95, 0xf7, 0xa3, 0x59, 0x18, 0x14, 0x72, 0x55, 0xb6, 0xea, 0x6a, 0x8d, + 0xfb, 0xce, 0x89, 0x8e, 0xc2, 0x5d, 0xac, 0xab, 0x35, 0x65, 0x80, 0xcb, 0x43, 0x1a, 0xed, 0xe7, + 0x21, 0xd6, 0x61, 0x1e, 0x42, 0x13, 0x1f, 0x3f, 0xd8, 0xc4, 0x87, 0xa6, 0x28, 0x11, 0x9d, 0xa2, + 0x6f, 0xc4, 0xe8, 0x61, 0xc5, 0x32, 0x1d, 0xb5, 0xfe, 0x4e, 0xac, 0x88, 0x63, 0x90, 0xb6, 0xcc, + 0x7a, 0x85, 0xf5, 0xb0, 0xdb, 0x7d, 0x29, 0xcb, 0xac, 0x2b, 0x2d, 0xd3, 0x9e, 0xbc, 0x43, 0xcb, + 0xa5, 0xef, 0x0e, 0x58, 0xad, 0x3f, 0x6a, 0x35, 0x1b, 0x32, 0xcc, 0x14, 0x7c, 0x2f, 0x7b, 0x94, + 0xd8, 0x80, 0x6e, 0x8e, 0x52, 0xeb, 0xde, 0xcb, 0xc4, 0x66, 0x98, 0x0a, 0xc7, 0x23, 0x14, 0x2c, + 0xf4, 0xb7, 0x3b, 0xe5, 0x06, 0xdd, 0x52, 0xe1, 0x78, 0xf2, 0xcf, 0x4a, 0x00, 0x8b, 0xc4, 0xb2, + 0x54, 0x5f, 0xb2, 0x0b, 0x39, 0x54, 0x84, 0x4a, 0x68, 0xe4, 0x89, 0x4e, 0x93, 0xc6, 0xc7, 0xcf, + 0x38, 0x41, 0xb9, 0xe7, 0x60, 0xd0, 0x77, 0x46, 0x07, 0x0b, 0x61, 0x26, 0xf6, 0xc8, 0xaa, 0xd7, + 0xb0, 0xab, 0x64, 0xae, 0x07, 0x5a, 0xf2, 0x3f, 0x97, 0x20, 0x4d, 0x65, 0x5a, 0xc2, 0xae, 0x1a, + 0x9a, 0x43, 0xe9, 0xe0, 0x73, 0x78, 0x02, 0x80, 0xb1, 0x71, 0xf4, 0x17, 0x30, 0xf7, 0xac, 0x34, + 0x85, 0xac, 0xe9, 0x2f, 0x60, 0x74, 0xd6, 0x33, 0x78, 0x7c, 0x6f, 0x83, 0x8b, 0xac, 0x9b, 0x9b, + 0xfd, 0x08, 0xf4, 0xd3, 0xcf, 0x6e, 0xec, 0x38, 0x3c, 0x91, 0xee, 0x33, 0x9a, 0x8d, 0xf5, 0x1d, + 0x47, 0x7e, 0x0e, 0xfa, 0xd7, 0x77, 0x58, 0xed, 0xe3, 0x18, 0xa4, 0x6d, 0xd3, 0xe4, 0x7b, 0x32, + 0xcb, 0x85, 0x52, 0x04, 0x40, 0xb7, 0x20, 0x71, 0xde, 0x8f, 0xf9, 0xe7, 0x7d, 0xbf, 0x60, 0x11, + 0xef, 0xa9, 0x60, 0x71, 0xea, 0xdf, 0x4a, 0x30, 0x10, 0x88, 0x0f, 0xe8, 0x31, 0x38, 0x5c, 0x5c, + 0x5c, 0x99, 0xbb, 0x52, 0x59, 0x28, 0x55, 0x2e, 0x2e, 0xce, 0xce, 0xfb, 0xf7, 0xd7, 0xf3, 0xe3, + 0x2f, 0xdd, 0x9c, 0x42, 0x01, 0xdc, 0x0d, 0xe3, 0x9a, 0x61, 0xde, 0x30, 0xd0, 0x0c, 0x8c, 0x85, + 0x49, 0x66, 0x8b, 0x6b, 0xe5, 0xe5, 0xf5, 0xac, 0x94, 0x3f, 0xfc, 0xd2, 0xcd, 0xa9, 0x91, 0x00, + 0xc5, 0xec, 0xa6, 0x83, 0x0d, 0xb7, 0x95, 0x60, 0x6e, 0x65, 0x69, 0x69, 0x61, 0x3d, 0x1b, 0x6b, + 0x21, 0xe0, 0x01, 0xfb, 0x41, 0x18, 0x09, 0x13, 0x2c, 0x2f, 0x2c, 0x66, 0xe3, 0x79, 0xf4, 0xd2, + 0xcd, 0xa9, 0xa1, 0x00, 0xf6, 0xb2, 0x5e, 0xcf, 0xa7, 0x3e, 0xf9, 0xd5, 0x89, 0x43, 0xbf, 0xf0, + 0xf3, 0x13, 0x12, 0xd1, 0x6c, 0x30, 0x14, 0x23, 0xd0, 0xc3, 0x70, 0x64, 0x6d, 0x61, 0x7e, 0xb9, + 0x5c, 0xaa, 0x2c, 0xad, 0xcd, 0x57, 0xd8, 0x8b, 0xfb, 0x9e, 0x76, 0xc3, 0x2f, 0xdd, 0x9c, 0x1a, + 0xe0, 0x2a, 0x75, 0xc2, 0x5e, 0x55, 0xca, 0x57, 0x57, 0xd6, 0xcb, 0x59, 0x89, 0x61, 0xaf, 0xda, + 0xf8, 0xba, 0xe9, 0xb2, 0xef, 0xf2, 0x3c, 0x0a, 0x47, 0xdb, 0x60, 0x7b, 0x8a, 0x8d, 0xbc, 0x74, + 0x73, 0x6a, 0x70, 0xd5, 0xc6, 0x6c, 0xfd, 0x50, 0x8a, 0x69, 0xc8, 0xb5, 0x52, 0xac, 0xac, 0xae, + 0xac, 0xcd, 0x2e, 0x66, 0xa7, 0xf2, 0xd9, 0x97, 0x6e, 0x4e, 0x65, 0x44, 0x30, 0x24, 0xf8, 0xbe, + 0x66, 0x77, 0xf3, 0xc4, 0xf3, 0xd7, 0x63, 0x30, 0xd1, 0x72, 0x4b, 0x98, 0xd7, 0xd6, 0x3b, 0x55, + 0x34, 0x0b, 0x90, 0x2a, 0x89, 0x92, 0xfd, 0x7e, 0x0b, 0x9a, 0x3f, 0xb3, 0xcf, 0x82, 0xe6, 0xa0, + 0x18, 0x49, 0xd4, 0x33, 0x4f, 0x75, 0xaf, 0x67, 0x0a, 0xf9, 0x0f, 0x50, 0xce, 0xfc, 0xf4, 0x23, + 0x70, 0x1f, 0xaf, 0x02, 0x3b, 0xae, 0x7a, 0x4d, 0x37, 0x6a, 0x5e, 0xad, 0x9d, 0xb7, 0xb9, 0x51, + 0xc6, 0x79, 0xb9, 0x5d, 0x40, 0xf7, 0xac, 0xb8, 0xe7, 0xf7, 0x3c, 0x54, 0x76, 0x3f, 0x2c, 0x76, + 0x99, 0xa1, 0x7c, 0x97, 0x67, 0x03, 0xf2, 0xa7, 0x24, 0x18, 0xba, 0xa4, 0x3b, 0xae, 0x69, 0xeb, + 0x9a, 0x5a, 0xa7, 0xd7, 0xf1, 0xcf, 0xf6, 0xba, 0x69, 0x44, 0x62, 0xd8, 0xd3, 0xd0, 0x77, 0x5d, + 0xad, 0xb3, 0x68, 0x1d, 0xa7, 0x9f, 0x0f, 0x68, 0x6f, 0x08, 0x3f, 0x66, 0x0b, 0x06, 0x8c, 0x4c, + 0xfe, 0xe5, 0x18, 0x0c, 0xd3, 0x55, 0xee, 0xb0, 0xef, 0xc5, 0x90, 0xc3, 0x63, 0x11, 0x12, 0xb6, + 0xea, 0xf2, 0x6a, 0x67, 0x71, 0x9a, 0x57, 0xf1, 0xef, 0xef, 0x5e, 0x99, 0x9f, 0x2e, 0x61, 0x4d, + 0xa1, 0xb4, 0xe8, 0x47, 0x21, 0xd5, 0x50, 0x77, 0x2a, 0x94, 0x0f, 0x3b, 0x92, 0xcd, 0xee, 0x8f, + 0xcf, 0xed, 0x5b, 0x93, 0xc3, 0xbb, 0x6a, 0xa3, 0x5e, 0x90, 0x05, 0x1f, 0x59, 0xe9, 0x6f, 0xa8, + 0x3b, 0x44, 0x44, 0x64, 0xc1, 0x30, 0x81, 0x6a, 0xdb, 0xaa, 0x51, 0xc3, 0x6c, 0x10, 0x5a, 0xbb, + 0x2d, 0x5e, 0xda, 0xf7, 0x20, 0xe3, 0xfe, 0x20, 0x01, 0x76, 0xb2, 0x32, 0xd8, 0x50, 0x77, 0xe6, + 0x28, 0x80, 0x8c, 0x58, 0x48, 0x7d, 0xfe, 0x95, 0xc9, 0x43, 0xf4, 0xc9, 0xc8, 0x6b, 0x12, 0x80, + 0x6f, 0x31, 0xf4, 0xa3, 0x90, 0xd5, 0xbc, 0x16, 0xa5, 0x75, 0xf8, 0x1c, 0x3e, 0xd0, 0x69, 0x2e, + 0x22, 0xf6, 0x66, 0x49, 0xc7, 0xab, 0xb7, 0x26, 0x25, 0x65, 0x58, 0x8b, 0x4c, 0xc5, 0x87, 0x60, + 0xa0, 0x69, 0x55, 0x55, 0x17, 0x57, 0xe8, 0x01, 0x35, 0xd6, 0x35, 0x81, 0x99, 0x20, 0xbc, 0x6e, + 0xdf, 0x9a, 0x44, 0x4c, 0xad, 0x00, 0xb1, 0x4c, 0xd3, 0x1a, 0x60, 0x10, 0x42, 0x10, 0xd0, 0xe9, + 0x77, 0x24, 0x18, 0x28, 0x05, 0xae, 0xc5, 0xe4, 0xa0, 0xbf, 0x61, 0x1a, 0xfa, 0x35, 0xee, 0x8f, + 0x69, 0x45, 0x34, 0x51, 0x1e, 0x52, 0xec, 0x0d, 0x25, 0x77, 0x57, 0xd4, 0x70, 0x45, 0x9b, 0x50, + 0xdd, 0xc0, 0x9b, 0x8e, 0x2e, 0x66, 0x43, 0x11, 0x4d, 0x74, 0x11, 0xb2, 0x0e, 0xd6, 0x9a, 0xb6, + 0xee, 0xee, 0x56, 0x34, 0xd3, 0x70, 0x55, 0xcd, 0x65, 0xef, 0xba, 0x14, 0x8f, 0xdd, 0xbe, 0x35, + 0x79, 0x84, 0xc9, 0x1a, 0xc5, 0x90, 0x95, 0x61, 0x01, 0x9a, 0x63, 0x10, 0x32, 0x42, 0x15, 0xbb, + 0xaa, 0x5e, 0x77, 0x68, 0x4e, 0x98, 0x56, 0x44, 0x33, 0xa0, 0xcb, 0xff, 0xee, 0x0b, 0x56, 0xec, + 0x2e, 0x42, 0xd6, 0xb4, 0xb0, 0x1d, 0xca, 0xb0, 0xa5, 0xe8, 0xc8, 0x51, 0x0c, 0x59, 0x19, 0x16, + 0x20, 0x91, 0x7d, 0x5f, 0x24, 0xd3, 0x2c, 0x4e, 0xc0, 0x56, 0x73, 0x53, 0x14, 0xfa, 0x42, 0x7c, + 0xa2, 0x18, 0x32, 0x99, 0x50, 0x0e, 0x5a, 0xa5, 0x10, 0x92, 0x21, 0x3f, 0xa7, 0xea, 0x75, 0xf1, + 0x16, 0xa6, 0xc2, 0x5b, 0xa8, 0x00, 0x7d, 0x8e, 0xab, 0xba, 0x4d, 0x87, 0x7f, 0xf3, 0x48, 0xee, + 0xe4, 0x3c, 0x45, 0xd3, 0xa8, 0xae, 0x51, 0x4c, 0x85, 0x53, 0xa0, 0x8b, 0xd0, 0xe7, 0x9a, 0xd7, + 0xb0, 0xc1, 0x8d, 0xb2, 0xaf, 0x15, 0x4b, 0x9f, 0x22, 0x32, 0x6a, 0xe4, 0x42, 0xb6, 0x8a, 0xeb, + 0xb8, 0xc6, 0x32, 0xc0, 0x6d, 0x95, 0x1c, 0x94, 0xe8, 0xa7, 0x8f, 0x8a, 0x0b, 0xfb, 0x5e, 0x56, + 0xdc, 0x22, 0x51, 0x7e, 0xb2, 0x32, 0xec, 0x81, 0xd6, 0x28, 0x04, 0x5d, 0x09, 0xdd, 0xc8, 0xe2, + 0xdf, 0x07, 0xbb, 0xb7, 0x93, 0xfa, 0x01, 0x2f, 0x15, 0xa5, 0x94, 0xe0, 0x7d, 0xae, 0x8b, 0x90, + 0x6d, 0x1a, 0x9b, 0xa6, 0x41, 0x5f, 0x95, 0xe2, 0x47, 0x11, 0x72, 0x14, 0x8d, 0x07, 0xa7, 0x29, + 0x8a, 0x21, 0x2b, 0xc3, 0x1e, 0xe8, 0x12, 0x3b, 0xb0, 0x54, 0x61, 0xc8, 0xc7, 0xa2, 0x4b, 0x2f, + 0xdd, 0x75, 0xe9, 0xdd, 0xc3, 0x97, 0xde, 0xe1, 0xe8, 0x28, 0xfe, 0xea, 0x1b, 0xf4, 0x80, 0x84, + 0x0c, 0x5d, 0x02, 0xf0, 0x17, 0x3c, 0x2d, 0xa9, 0x0c, 0x74, 0x9e, 0x78, 0x3f, 0x6a, 0x88, 0xa3, + 0xa9, 0x4f, 0x8b, 0x3e, 0x02, 0xa3, 0x0d, 0xdd, 0xa8, 0x38, 0xb8, 0xbe, 0x55, 0xe1, 0x06, 0x26, + 0x2c, 0xe9, 0xa7, 0x2e, 0x8a, 0x8b, 0xfb, 0xf3, 0x87, 0xdb, 0xb7, 0x26, 0xf3, 0x3c, 0x28, 0xb6, + 0xb2, 0x94, 0x95, 0x91, 0x86, 0x6e, 0xac, 0xe1, 0xfa, 0x56, 0xc9, 0x83, 0x15, 0x32, 0x9f, 0x7c, + 0x65, 0xf2, 0x10, 0x5f, 0x80, 0x87, 0xe4, 0xb3, 0xb4, 0xcc, 0xcf, 0x17, 0x0e, 0x76, 0xc8, 0xf1, + 0x49, 0x15, 0x0d, 0x5a, 0x7c, 0x49, 0x2b, 0x3e, 0x80, 0x2d, 0xdc, 0x17, 0xff, 0xfd, 0x94, 0x24, + 0xff, 0x92, 0x04, 0x7d, 0xa5, 0xab, 0xab, 0xaa, 0x6e, 0xa3, 0x05, 0x18, 0xf1, 0x3d, 0x27, 0xbc, + 0x6c, 0x8f, 0xdf, 0xbe, 0x35, 0x99, 0x8b, 0x3a, 0x97, 0xb7, 0x6e, 0x7d, 0x07, 0x16, 0x0b, 0x77, + 0xa1, 0xd3, 0x19, 0x3b, 0xc4, 0xaa, 0x05, 0x45, 0x6e, 0x3d, 0x81, 0x47, 0xd4, 0x2c, 0x43, 0x3f, + 0x93, 0xd6, 0x41, 0x05, 0x48, 0x5a, 0xe4, 0x07, 0x7f, 0x86, 0x31, 0xd1, 0xd1, 0x79, 0x29, 0xbe, + 0x57, 0x73, 0x25, 0x24, 0xf2, 0x67, 0x63, 0x00, 0xa5, 0xab, 0x57, 0xd7, 0x6d, 0xdd, 0xaa, 0x63, + 0xf7, 0x4e, 0x6a, 0xbe, 0x0e, 0x87, 0x03, 0x07, 0x3a, 0x5b, 0x8b, 0x68, 0x3f, 0x75, 0xfb, 0xd6, + 0xe4, 0xf1, 0xa8, 0xf6, 0x01, 0x34, 0x59, 0x19, 0xf5, 0x8f, 0x76, 0xb6, 0xd6, 0x96, 0x6b, 0xd5, + 0x71, 0x3d, 0xae, 0xf1, 0xce, 0x5c, 0x03, 0x68, 0x41, 0xae, 0x25, 0xc7, 0x6d, 0x6f, 0xda, 0x35, + 0x18, 0xf0, 0x4d, 0xe2, 0xa0, 0x12, 0xa4, 0x5c, 0xfe, 0x9b, 0x5b, 0x58, 0xee, 0x6c, 0x61, 0x41, + 0xc6, 0xad, 0xec, 0x51, 0xca, 0x7f, 0x2e, 0x01, 0xf8, 0x3e, 0xfb, 0xc3, 0xe9, 0x62, 0x24, 0x94, + 0xf3, 0xc0, 0x1b, 0x3f, 0x50, 0xf2, 0xc5, 0xa9, 0x23, 0xf6, 0xfc, 0xc9, 0x18, 0x8c, 0x6e, 0x88, + 0xc8, 0xf3, 0x43, 0x6f, 0x83, 0x55, 0xe8, 0xc7, 0x86, 0x6b, 0xeb, 0xd4, 0x08, 0x64, 0xb6, 0x1f, + 0xed, 0x34, 0xdb, 0x6d, 0x74, 0xa2, 0xdf, 0xfa, 0x10, 0xcf, 0x07, 0x38, 0x9b, 0x88, 0x35, 0x3e, + 0x1d, 0x87, 0x5c, 0x27, 0x4a, 0x34, 0x07, 0xc3, 0x9a, 0x8d, 0x29, 0xa0, 0x12, 0x2c, 0x52, 0x16, + 0xf3, 0x7e, 0xae, 0x18, 0x41, 0x90, 0x95, 0x21, 0x01, 0xe1, 0xbb, 0x47, 0x0d, 0x48, 0x22, 0x47, + 0xdc, 0x8e, 0x60, 0xf5, 0x98, 0xb9, 0xc9, 0x7c, 0xfb, 0x10, 0x83, 0x84, 0x19, 0xb0, 0xfd, 0x63, + 0xc8, 0x87, 0xd2, 0x0d, 0xe4, 0x79, 0x18, 0xd6, 0x0d, 0xdd, 0xd5, 0xd5, 0x7a, 0x65, 0x53, 0xad, + 0xab, 0x86, 0x76, 0x90, 0x3c, 0x98, 0x85, 0x7c, 0x3e, 0x6c, 0x84, 0x9d, 0xac, 0x0c, 0x71, 0x48, + 0x91, 0x01, 0xd0, 0x25, 0xe8, 0x17, 0x43, 0x25, 0x0e, 0x94, 0x6d, 0x08, 0xf2, 0x40, 0xca, 0xf6, + 0x53, 0x71, 0x18, 0x51, 0x70, 0xf5, 0xff, 0x4f, 0xc5, 0xfe, 0xa6, 0x62, 0x09, 0x80, 0x2d, 0x77, + 0x12, 0x60, 0x0f, 0x30, 0x1b, 0x24, 0x60, 0xa4, 0x19, 0x87, 0x92, 0xe3, 0x06, 0xe6, 0xe3, 0x56, + 0x0c, 0x32, 0xc1, 0xf9, 0xf8, 0x4b, 0xba, 0x2b, 0xa1, 0x05, 0x3f, 0x12, 0x25, 0xf8, 0x27, 0x12, + 0x3b, 0x44, 0xa2, 0x16, 0xef, 0xdd, 0x3b, 0x04, 0xfd, 0x8f, 0x18, 0xf4, 0xad, 0xaa, 0xb6, 0xda, + 0x70, 0x90, 0xd6, 0x92, 0x69, 0x8a, 0x4a, 0x69, 0xcb, 0xf7, 0x6d, 0x79, 0x95, 0xa1, 0x4b, 0xa2, + 0xf9, 0xf9, 0x36, 0x89, 0xe6, 0xfb, 0x60, 0x88, 0x1c, 0x70, 0x03, 0xb7, 0x2d, 0x88, 0xb5, 0x07, + 0x8b, 0x47, 0x7d, 0x2e, 0xe1, 0x7e, 0x76, 0xfe, 0xbd, 0x1a, 0xbc, 0x6e, 0x31, 0x40, 0x30, 0xfc, + 0xc0, 0x4c, 0xc8, 0xc7, 0xfd, 0x83, 0x66, 0xa0, 0x53, 0x56, 0xa0, 0xa1, 0xee, 0x94, 0x59, 0x03, + 0x2d, 0x02, 0xda, 0xf6, 0x6a, 0x1d, 0x15, 0xdf, 0x9c, 0x84, 0xfe, 0xc4, 0xed, 0x5b, 0x93, 0x47, + 0x19, 0x7d, 0x2b, 0x8e, 0xac, 0x8c, 0xf8, 0x40, 0xc1, 0xed, 0x09, 0x00, 0xa2, 0x57, 0x85, 0x5d, + 0x6e, 0x64, 0xc7, 0x9d, 0xc3, 0xb7, 0x6f, 0x4d, 0x8e, 0x30, 0x2e, 0x7e, 0x9f, 0xac, 0xa4, 0x49, + 0xa3, 0x44, 0x7e, 0x07, 0x3c, 0xfb, 0xab, 0x12, 0x20, 0x3f, 0xe4, 0x2b, 0xd8, 0xb1, 0xc8, 0xf9, + 0x8c, 0x24, 0xe2, 0x81, 0xac, 0x59, 0xda, 0x3b, 0x11, 0xf7, 0xe9, 0x45, 0x22, 0x1e, 0x58, 0x29, + 0xe7, 0xfd, 0xf0, 0x18, 0xe3, 0xf3, 0xd8, 0xe6, 0x26, 0xe8, 0xf4, 0x9c, 0xa9, 0x0b, 0xea, 0x96, + 0x78, 0x78, 0x48, 0xfe, 0xd7, 0x12, 0x1c, 0x6d, 0xf1, 0x28, 0x4f, 0xd8, 0xbf, 0x02, 0xc8, 0x0e, + 0x74, 0xf2, 0xcf, 0x5d, 0x31, 0xa1, 0xf7, 0xed, 0xa0, 0x23, 0x76, 0x4b, 0xdc, 0xbd, 0x73, 0x11, + 0x9e, 0x5d, 0x25, 0xfd, 0x67, 0x12, 0x8c, 0x05, 0x87, 0xf7, 0x14, 0x59, 0x86, 0x4c, 0x70, 0x74, + 0xae, 0xc2, 0x7d, 0xbd, 0xa8, 0xc0, 0xa5, 0x0f, 0xd1, 0xa3, 0x67, 0xfc, 0xe5, 0xca, 0xaa, 0x61, + 0x8f, 0xf5, 0x6c, 0x0d, 0x21, 0x53, 0x74, 0xd9, 0x26, 0xe8, 0x7c, 0xfc, 0x1f, 0x09, 0x12, 0xab, + 0xa6, 0x59, 0x47, 0x26, 0x8c, 0x18, 0xa6, 0x5b, 0x21, 0x9e, 0x85, 0xab, 0x15, 0x7e, 0xe8, 0x66, + 0x71, 0x70, 0x6e, 0x7f, 0x46, 0xfa, 0xee, 0xad, 0xc9, 0x56, 0x56, 0xca, 0xb0, 0x61, 0xba, 0x45, + 0x0a, 0x59, 0x67, 0x47, 0xf2, 0x8f, 0xc0, 0x60, 0x78, 0x30, 0x16, 0x25, 0x9f, 0xdd, 0xf7, 0x60, + 0x61, 0x36, 0xb7, 0x6f, 0x4d, 0x8e, 0xf9, 0x2b, 0xc6, 0x03, 0xcb, 0x4a, 0x66, 0x33, 0x30, 0x3a, + 0xbb, 0x89, 0xf6, 0xfd, 0x57, 0x26, 0xa5, 0x53, 0xdf, 0x94, 0x00, 0xfc, 0xca, 0x03, 0x7a, 0x18, + 0x8e, 0x14, 0x57, 0x96, 0x4b, 0x95, 0xb5, 0xf5, 0xd9, 0xf5, 0x8d, 0xb5, 0xca, 0xc6, 0xf2, 0xda, + 0x6a, 0x79, 0x6e, 0xe1, 0xe2, 0x42, 0xb9, 0xe4, 0x57, 0xf2, 0x1d, 0x0b, 0x6b, 0xfa, 0x96, 0x8e, + 0xab, 0xe8, 0x7e, 0x18, 0x0b, 0x63, 0x93, 0x56, 0xb9, 0x94, 0x95, 0xf2, 0x99, 0x97, 0x6e, 0x4e, + 0xa5, 0x58, 0x2e, 0x86, 0xab, 0xe8, 0x24, 0x1c, 0x6e, 0xc5, 0x5b, 0x58, 0x9e, 0xcf, 0xc6, 0xf2, + 0x83, 0x2f, 0xdd, 0x9c, 0x4a, 0x7b, 0x49, 0x1b, 0x92, 0x01, 0x05, 0x31, 0x39, 0xbf, 0x78, 0x1e, + 0x5e, 0xba, 0x39, 0xd5, 0xc7, 0x0c, 0x98, 0x4f, 0x7c, 0xf2, 0xab, 0x13, 0x87, 0x8a, 0x17, 0x3b, + 0xd6, 0xea, 0x1f, 0xde, 0xd3, 0x76, 0x3b, 0x5e, 0xc1, 0x39, 0x5c, 0xa0, 0xff, 0xd6, 0x30, 0x4c, + 0x76, 0xa8, 0x48, 0xbb, 0x3b, 0x07, 0x2a, 0x46, 0x77, 0xa9, 0x16, 0xe7, 0x7b, 0x2a, 0x80, 0xcb, + 0x37, 0x13, 0x80, 0x96, 0x9c, 0xda, 0x1c, 0xc9, 0x7e, 0x02, 0xd7, 0xbe, 0x22, 0xc5, 0x15, 0xe9, + 0x6d, 0x15, 0x57, 0x96, 0x42, 0xe5, 0x8a, 0xd8, 0xfe, 0x8a, 0x9c, 0x3d, 0xd7, 0x2c, 0xe2, 0xef, + 0x48, 0xcd, 0xa2, 0x7d, 0x4a, 0x93, 0xb8, 0x73, 0x67, 0x9f, 0xe4, 0x81, 0xce, 0x3e, 0xe3, 0xd0, + 0xc7, 0x8b, 0x8b, 0xec, 0x9b, 0xe3, 0xbc, 0x85, 0xce, 0x88, 0x4f, 0x35, 0xf7, 0xf7, 0xb6, 0xa9, + 0x30, 0xec, 0x42, 0xea, 0x93, 0x62, 0x4b, 0xf9, 0x5c, 0x1c, 0xb2, 0x4b, 0x4e, 0xad, 0x5c, 0xd5, + 0xdd, 0xbb, 0xe4, 0x1d, 0x4f, 0x77, 0x3e, 0x01, 0xa2, 0xdb, 0xb7, 0x26, 0x87, 0x98, 0x15, 0xf6, + 0xd0, 0xbd, 0x01, 0xc3, 0x91, 0x4a, 0x3a, 0xf7, 0x85, 0xd2, 0x41, 0x0a, 0xfa, 0x11, 0x56, 0x32, + 0x4d, 0xd8, 0x03, 0x1e, 0x89, 0x76, 0xda, 0xbb, 0x1f, 0x73, 0x81, 0x4b, 0x77, 0xb3, 0x5c, 0xe6, + 0xcf, 0xca, 0x9f, 0x48, 0x30, 0xb0, 0xe4, 0x88, 0x43, 0x28, 0xfe, 0x21, 0x3d, 0x90, 0x3f, 0xe9, + 0xbd, 0x36, 0x12, 0xef, 0xcd, 0xfb, 0xc4, 0xab, 0x24, 0xbe, 0xa2, 0xbf, 0x1b, 0xa3, 0xe1, 0xa9, + 0x88, 0x6b, 0xba, 0xe1, 0x6d, 0xbe, 0xf8, 0x2f, 0xeb, 0xb9, 0xc2, 0x37, 0x68, 0xe2, 0xa0, 0x06, + 0x7d, 0x53, 0x82, 0xc1, 0x25, 0xa7, 0xb6, 0x61, 0x54, 0xff, 0x5f, 0xf7, 0x9d, 0x3b, 0xbe, 0x85, + 0xff, 0x8b, 0x18, 0x9c, 0x0a, 0xee, 0xb9, 0xcf, 0x37, 0xb1, 0xbd, 0xeb, 0x6d, 0xab, 0x96, 0x5a, + 0xd3, 0x8d, 0xe0, 0xf3, 0xf6, 0xa3, 0x41, 0x81, 0x29, 0xae, 0x10, 0x5b, 0x36, 0x60, 0x60, 0x55, + 0xad, 0x61, 0x05, 0x3f, 0xdf, 0xc4, 0x8e, 0xdb, 0xe6, 0xf5, 0x95, 0x71, 0xe8, 0x33, 0xb7, 0xb6, + 0xc4, 0x65, 0x9a, 0x84, 0xc2, 0x5b, 0x68, 0x0c, 0x92, 0x75, 0xbd, 0xa1, 0x33, 0xa3, 0x24, 0x14, + 0xd6, 0x40, 0x93, 0x30, 0xa0, 0x11, 0xdd, 0x2b, 0xec, 0x62, 0x70, 0x42, 0x7c, 0xce, 0xa2, 0x69, + 0xb8, 0xeb, 0x04, 0x22, 0x3f, 0x0d, 0x19, 0x36, 0x1e, 0x4f, 0xa0, 0x8f, 0x42, 0x8a, 0x5e, 0xe4, + 0xf4, 0x47, 0xed, 0x27, 0xed, 0x2b, 0xec, 0x55, 0x17, 0xc6, 0x85, 0x0d, 0xcc, 0x1a, 0xc5, 0x62, + 0x47, 0x53, 0x9e, 0xec, 0x1e, 0xec, 0x98, 0xa1, 0x3c, 0x33, 0xfe, 0x56, 0x12, 0x0e, 0xf3, 0x07, + 0xe1, 0xaa, 0xa5, 0xcf, 0x6c, 0xbb, 0xae, 0x78, 0xe7, 0x0a, 0xf8, 0xc9, 0x55, 0xb5, 0x74, 0x79, + 0x17, 0x12, 0x97, 0x5c, 0xd7, 0x42, 0xa7, 0x20, 0x69, 0x37, 0xeb, 0x58, 0x14, 0x70, 0xc7, 0xa6, + 0x7d, 0x9c, 0x69, 0x82, 0xa0, 0x34, 0xeb, 0x58, 0x61, 0x28, 0xa8, 0x0c, 0x93, 0x5b, 0xcd, 0x7a, + 0x7d, 0xb7, 0x52, 0xc5, 0xf4, 0x3f, 0x0c, 0x79, 0x1f, 0xf3, 0xc7, 0x3b, 0x96, 0x6a, 0x78, 0xc9, + 0x47, 0x4a, 0x39, 0x4e, 0xd1, 0x4a, 0x14, 0x4b, 0x7c, 0xc8, 0xbf, 0x2c, 0x70, 0xe4, 0x3f, 0x88, + 0x41, 0x4a, 0xb0, 0xa6, 0xef, 0x9e, 0xe0, 0x3a, 0xd6, 0x5c, 0x53, 0x3c, 0xd2, 0xf4, 0xda, 0x08, + 0x41, 0xbc, 0xc6, 0xa7, 0x28, 0x7d, 0xe9, 0x90, 0x42, 0x1a, 0x04, 0xe6, 0xbd, 0x11, 0x44, 0x60, + 0x56, 0x93, 0xcc, 0x5a, 0xc2, 0x32, 0x45, 0xa5, 0xe5, 0xd2, 0x21, 0x85, 0xb6, 0x50, 0x0e, 0xfa, + 0xc8, 0x02, 0x72, 0xd9, 0x67, 0x16, 0x09, 0x9c, 0xb7, 0xd1, 0x38, 0x24, 0x2d, 0xd5, 0xd5, 0xd8, + 0x65, 0x5e, 0xd2, 0xc1, 0x9a, 0x64, 0x4d, 0xb0, 0xd7, 0x5b, 0xa3, 0xff, 0xbe, 0x83, 0x18, 0x83, + 0x7d, 0x47, 0x8c, 0xc8, 0xbd, 0xaa, 0xba, 0x2e, 0xb6, 0x0d, 0xc2, 0x90, 0xa1, 0x23, 0x04, 0x89, + 0x4d, 0xb3, 0xba, 0xcb, 0xff, 0xa5, 0x08, 0xfd, 0xcd, 0xff, 0xd9, 0x01, 0xf5, 0x87, 0x0a, 0xed, + 0x64, 0xff, 0x49, 0x29, 0x23, 0x80, 0x45, 0x82, 0x54, 0x86, 0x51, 0xb5, 0x5a, 0xd5, 0x89, 0x57, + 0xab, 0xf5, 0xca, 0xa6, 0x4e, 0xb3, 0x68, 0x87, 0xfe, 0x9f, 0xac, 0x4e, 0x73, 0x81, 0x7c, 0x82, + 0x22, 0xc7, 0x2f, 0xa6, 0xa1, 0xdf, 0x62, 0x42, 0xc9, 0x17, 0x60, 0xa4, 0x45, 0x52, 0x22, 0xdf, + 0x35, 0xdd, 0xa8, 0x8a, 0xd7, 0xa4, 0xc8, 0x6f, 0x02, 0xa3, 0xdf, 0x02, 0x64, 0x0f, 0x8b, 0xe9, + 0xef, 0xe2, 0x4f, 0x74, 0xbe, 0x75, 0x32, 0x14, 0xb8, 0x75, 0xa2, 0x5a, 0x7a, 0x31, 0x4d, 0xf9, + 0xf3, 0xcb, 0x26, 0xb3, 0xbc, 0x83, 0x5d, 0x34, 0x99, 0x36, 0xed, 0xda, 0x4c, 0x0d, 0x1b, 0x22, + 0xa3, 0x26, 0x5d, 0xaa, 0xa5, 0x3b, 0xd4, 0x1d, 0xfd, 0x6f, 0x13, 0x3a, 0x17, 0x02, 0xbf, 0xe9, + 0x1d, 0x94, 0xc4, 0xfc, 0xec, 0xea, 0x82, 0xe7, 0xc7, 0xbf, 0x19, 0x83, 0xe3, 0x01, 0x3f, 0x0e, + 0x20, 0xb7, 0xba, 0x73, 0xbe, 0xbd, 0xc7, 0xf7, 0xf0, 0x65, 0xbf, 0x2b, 0x90, 0x20, 0xf8, 0xa8, + 0xcb, 0xbf, 0x22, 0xc8, 0xfd, 0xca, 0xbf, 0xfa, 0xa7, 0x32, 0x75, 0x8a, 0xf6, 0xb3, 0x42, 0x99, + 0x14, 0x3f, 0xd1, 0xbb, 0xfd, 0xb2, 0xfe, 0x67, 0x19, 0x9d, 0x3b, 0x67, 0xc6, 0xa8, 0x0d, 0xdf, + 0x38, 0x03, 0x72, 0x87, 0x63, 0x0a, 0x8b, 0x98, 0x7b, 0x1f, 0x8c, 0xf6, 0x11, 0x8e, 0x3b, 0xdd, + 0xe8, 0xd9, 0x6b, 0x06, 0x7b, 0x3c, 0x42, 0xed, 0xc0, 0xf8, 0x33, 0x64, 0x6c, 0xbf, 0xea, 0x25, + 0x02, 0xfb, 0xb8, 0xf7, 0x70, 0x5e, 0xe2, 0xff, 0xa6, 0x4c, 0x3c, 0x78, 0x07, 0x5f, 0x3e, 0x7e, + 0x20, 0xba, 0x7f, 0xba, 0xe3, 0x7e, 0x31, 0x1d, 0xd8, 0x2c, 0x94, 0x00, 0xa5, 0xfc, 0x8b, 0x12, + 0x1c, 0x69, 0x19, 0x9a, 0xc7, 0xf8, 0xf9, 0x36, 0x2f, 0x49, 0xf5, 0x7c, 0xcb, 0x27, 0xf8, 0xc2, + 0xd4, 0x7c, 0x1b, 0x61, 0x1f, 0xe8, 0x2a, 0x2c, 0x93, 0x22, 0x24, 0xed, 0x53, 0x70, 0x38, 0x2c, + 0xac, 0x30, 0xd3, 0x7b, 0x60, 0x28, 0x9c, 0x13, 0x70, 0x73, 0x0d, 0x86, 0xb2, 0x02, 0xb9, 0x12, + 0xb5, 0xb3, 0xa7, 0x6b, 0x19, 0xd2, 0x1e, 0x2a, 0x3f, 0x8d, 0xf4, 0xac, 0xaa, 0x4f, 0x29, 0x7f, + 0x56, 0x82, 0xa9, 0xf0, 0x08, 0x7e, 0xf2, 0xed, 0xec, 0x4f, 0xd8, 0x3b, 0x36, 0xc5, 0x6f, 0x4a, + 0x70, 0xcf, 0x1e, 0x32, 0x71, 0x03, 0xbc, 0x00, 0x63, 0x81, 0xc2, 0x9e, 0x08, 0xe1, 0x62, 0xda, + 0x4f, 0x75, 0xaf, 0x48, 0x7a, 0x75, 0xac, 0x63, 0xc4, 0x28, 0x5f, 0xff, 0xa3, 0xc9, 0xd1, 0xd6, + 0x3e, 0x47, 0x19, 0x6d, 0x2d, 0xc6, 0xdd, 0x41, 0xff, 0x78, 0x59, 0x82, 0x07, 0xc3, 0xaa, 0xb6, + 0x79, 0xda, 0xf6, 0x6e, 0xcd, 0xc3, 0xbf, 0x93, 0xe0, 0x54, 0x2f, 0xc2, 0xf1, 0x09, 0xd9, 0x84, + 0x51, 0xbf, 0xbc, 0x1e, 0x9d, 0x8f, 0x87, 0xf6, 0xf1, 0x5c, 0x92, 0x7b, 0x29, 0xf2, 0xb8, 0xdd, + 0x05, 0xc3, 0x5b, 0x7c, 0x61, 0x05, 0xa7, 0xdc, 0x33, 0x72, 0x38, 0xf1, 0x17, 0x46, 0x0e, 0xa5, + 0xfe, 0x6d, 0xe6, 0x22, 0xd6, 0x66, 0x2e, 0x02, 0xa7, 0x90, 0xeb, 0x3c, 0x6e, 0xb5, 0x29, 0xa9, + 0x7f, 0x08, 0x46, 0xdb, 0xb8, 0x32, 0x5f, 0xd5, 0xfb, 0xf0, 0x64, 0x05, 0xb5, 0x3a, 0xab, 0xbc, + 0x0b, 0x93, 0x74, 0xdc, 0x36, 0x86, 0xbe, 0xdb, 0x2a, 0x37, 0x78, 0x6c, 0x69, 0x3b, 0x34, 0xd7, + 0x7d, 0x01, 0xfa, 0xd8, 0x3c, 0x73, 0x75, 0x0f, 0xe0, 0x28, 0x9c, 0x81, 0xfc, 0x45, 0x11, 0xcb, + 0x4a, 0x42, 0xec, 0xf6, 0x6b, 0xa8, 0x17, 0x5d, 0xef, 0xd0, 0x1a, 0x0a, 0x18, 0xe3, 0x35, 0x11, + 0xd5, 0xda, 0x4b, 0xc7, 0xcd, 0xa1, 0xdd, 0xb1, 0xa8, 0xc6, 0x6c, 0x73, 0x77, 0xc3, 0xd7, 0xcf, + 0x8b, 0xf0, 0xe5, 0xe9, 0xd4, 0x25, 0x7c, 0xbd, 0x3b, 0xa6, 0xf7, 0x02, 0x59, 0x17, 0x31, 0xff, + 0x22, 0x06, 0xb2, 0xef, 0x4b, 0x70, 0x94, 0xea, 0x16, 0x7c, 0x4e, 0xb3, 0x5f, 0x93, 0x3f, 0x0c, + 0xc8, 0xb1, 0xb5, 0x4a, 0xdb, 0xd5, 0x9d, 0x75, 0x6c, 0xed, 0x6a, 0x68, 0x7f, 0x79, 0x18, 0x50, + 0xd5, 0x71, 0xa3, 0xd8, 0xec, 0x1a, 0x6b, 0xb6, 0xea, 0xb8, 0x57, 0xf7, 0xd8, 0x8d, 0x12, 0x77, + 0x60, 0x3a, 0x5f, 0x95, 0x20, 0xdf, 0x4e, 0x65, 0x3e, 0x7d, 0x3a, 0x8c, 0x87, 0x9e, 0xf9, 0x45, + 0x67, 0xf0, 0xe1, 0x5e, 0x9e, 0x74, 0x45, 0x96, 0xd1, 0x61, 0x1b, 0xdf, 0xed, 0x3c, 0x60, 0x32, + 0xec, 0xa1, 0xad, 0x99, 0xf5, 0xbb, 0xb6, 0x7c, 0x7e, 0xbd, 0x25, 0xae, 0xfe, 0x85, 0xc8, 0xbd, + 0x77, 0x60, 0xa2, 0x83, 0xd4, 0x77, 0x7b, 0xdf, 0xdb, 0xee, 0x38, 0x99, 0x77, 0x3a, 0x7d, 0x7f, + 0x82, 0xaf, 0x84, 0xf0, 0x2b, 0x12, 0x81, 0xb3, 0x58, 0xbb, 0x97, 0x47, 0xe5, 0x0f, 0xc0, 0xb1, + 0xb6, 0x54, 0x5c, 0xb6, 0x02, 0x24, 0xb6, 0x75, 0xc7, 0xe5, 0x62, 0xdd, 0xdf, 0x49, 0xac, 0x08, + 0x35, 0xa5, 0x91, 0x11, 0x64, 0x29, 0xeb, 0x55, 0xd3, 0xac, 0x73, 0x31, 0xe4, 0x2b, 0x30, 0x12, + 0x80, 0xf1, 0x41, 0xce, 0x42, 0xc2, 0x32, 0xf9, 0x87, 0x4f, 0x06, 0x4e, 0x1f, 0xef, 0x34, 0x08, + 0xa1, 0xe1, 0x6a, 0x53, 0x7c, 0x79, 0x0c, 0x10, 0x63, 0x46, 0xaf, 0x84, 0x88, 0x21, 0xd6, 0x60, + 0x34, 0x04, 0xe5, 0x83, 0xfc, 0x08, 0xf4, 0x59, 0x14, 0xe2, 0xbd, 0xe5, 0xd7, 0x69, 0x18, 0x8a, + 0xe5, 0x7d, 0x6a, 0x82, 0xb6, 0x4e, 0x7f, 0xf7, 0x30, 0x24, 0x29, 0x57, 0xf4, 0x05, 0x09, 0x20, + 0x70, 0xc1, 0x63, 0xba, 0x13, 0x9b, 0xf6, 0x67, 0xe2, 0xfc, 0x4c, 0xcf, 0xf8, 0x3c, 0x67, 0x3b, + 0xf5, 0x13, 0xff, 0xe6, 0x8d, 0xcf, 0xc5, 0xee, 0x43, 0xf2, 0x4c, 0x87, 0xd3, 0x78, 0x60, 0xbd, + 0x7c, 0x2d, 0xf4, 0xd5, 0x8d, 0x47, 0x7a, 0x1b, 0x4a, 0x48, 0x36, 0xdd, 0x2b, 0x3a, 0x17, 0xec, + 0x02, 0x15, 0xec, 0x0c, 0x7a, 0xbc, 0xbb, 0x60, 0x33, 0x1f, 0x0e, 0x2f, 0x9a, 0x8f, 0xa2, 0xdf, + 0x93, 0x60, 0xac, 0xdd, 0x91, 0x0e, 0x9d, 0xeb, 0x4d, 0x8a, 0xd6, 0x94, 0x22, 0x7f, 0xfe, 0x00, + 0x94, 0x5c, 0x95, 0x79, 0xaa, 0xca, 0x2c, 0x7a, 0xfa, 0x00, 0xaa, 0xcc, 0x04, 0xf6, 0x1d, 0xf4, + 0xbf, 0x24, 0x38, 0xb1, 0xe7, 0x09, 0x09, 0xcd, 0xf6, 0x26, 0xe5, 0x1e, 0xb9, 0x53, 0xbe, 0xf8, + 0x76, 0x58, 0x70, 0x8d, 0x9f, 0xa1, 0x1a, 0x5f, 0x41, 0x0b, 0x07, 0xd1, 0xd8, 0xcf, 0x88, 0x82, + 0xba, 0xff, 0x76, 0xf8, 0xa2, 0xf0, 0xde, 0xee, 0xd4, 0x72, 0xf0, 0xe8, 0xb2, 0x30, 0x5a, 0x93, + 0x5a, 0xf9, 0xfd, 0x54, 0x05, 0x05, 0xad, 0xbe, 0xcd, 0x49, 0x9b, 0xf9, 0x70, 0x38, 0xf0, 0x7f, + 0x14, 0xfd, 0x4f, 0xa9, 0xfd, 0xbd, 0xdf, 0x27, 0xf7, 0x14, 0xb1, 0xf3, 0xa1, 0x2a, 0x7f, 0x6e, + 0xff, 0x84, 0x5c, 0xc9, 0x06, 0x55, 0xb2, 0x86, 0xf0, 0x9d, 0x56, 0xb2, 0xed, 0x24, 0xa2, 0xdf, + 0x91, 0x60, 0xac, 0xdd, 0x99, 0xa4, 0xcb, 0xb2, 0xdc, 0xe3, 0x90, 0xd5, 0x65, 0x59, 0xee, 0x75, + 0x00, 0x92, 0x7f, 0x84, 0x2a, 0x7f, 0x16, 0x3d, 0xd1, 0x49, 0xf9, 0x3d, 0x67, 0x91, 0xac, 0xc5, + 0x3d, 0x93, 0xfc, 0x2e, 0x6b, 0xb1, 0x97, 0x73, 0x4c, 0x97, 0xb5, 0xd8, 0xd3, 0x19, 0xa3, 0xfb, + 0x5a, 0xf4, 0x34, 0xeb, 0x71, 0x1a, 0x1d, 0xf4, 0x9b, 0x12, 0x0c, 0x86, 0x32, 0x62, 0xf4, 0xd8, + 0x9e, 0x82, 0xb6, 0x3b, 0x30, 0xe4, 0x4f, 0xef, 0x87, 0x84, 0xeb, 0xb2, 0x40, 0x75, 0x99, 0x43, + 0xb3, 0x07, 0xd1, 0xc5, 0x0e, 0x49, 0xfc, 0xaa, 0x04, 0xa3, 0x6d, 0xb2, 0xcc, 0x2e, 0xab, 0xb0, + 0x73, 0xd2, 0x9c, 0x3f, 0xb7, 0x7f, 0x42, 0xae, 0xd5, 0x45, 0xaa, 0xd5, 0xfb, 0xd0, 0x53, 0x07, + 0xd1, 0x2a, 0xb0, 0x3f, 0xdf, 0xf2, 0xaf, 0x51, 0x06, 0xc6, 0x41, 0x67, 0xf7, 0x29, 0x98, 0x50, + 0xe8, 0xc9, 0x7d, 0xd3, 0x71, 0x7d, 0x9e, 0xa5, 0xfa, 0x3c, 0x83, 0x56, 0xde, 0x9e, 0x3e, 0xad, + 0xdb, 0xfa, 0x37, 0x5a, 0x5f, 0xd1, 0xdd, 0xdb, 0x8b, 0xda, 0x26, 0xab, 0xf9, 0xc7, 0xf7, 0x45, + 0xc3, 0x95, 0x3a, 0x47, 0x95, 0x3a, 0x8d, 0x1e, 0xed, 0xa4, 0x54, 0xe0, 0xae, 0xac, 0x6e, 0x6c, + 0x99, 0x33, 0x1f, 0x66, 0x29, 0xf0, 0x47, 0xd1, 0x8f, 0x8b, 0x7b, 0x8a, 0x27, 0xf7, 0x1c, 0x37, + 0x90, 0xc7, 0xe6, 0x1f, 0xec, 0x01, 0x93, 0xcb, 0x75, 0x1f, 0x95, 0x6b, 0x02, 0x1d, 0xef, 0x24, + 0x17, 0xc9, 0x65, 0xd1, 0xa7, 0x24, 0xef, 0x6a, 0xf3, 0xa9, 0xbd, 0x79, 0x07, 0x93, 0xdd, 0xfc, + 0x43, 0x3d, 0xe1, 0x72, 0x49, 0xee, 0xa7, 0x92, 0x4c, 0xa1, 0x89, 0x8e, 0x92, 0xb0, 0xd4, 0xf7, + 0x4e, 0xdf, 0x1c, 0xf8, 0xb3, 0xfe, 0x8e, 0xaf, 0xa3, 0xd7, 0xb0, 0x81, 0x1d, 0xdd, 0x39, 0xd0, + 0x0d, 0xc0, 0xde, 0x1e, 0x4f, 0xfd, 0x5e, 0x12, 0x32, 0xf3, 0x6c, 0x94, 0x35, 0x57, 0x75, 0xdf, + 0xe6, 0x41, 0x00, 0x39, 0xfc, 0xa3, 0x53, 0xec, 0x5b, 0x78, 0xfe, 0xd7, 0xdd, 0x32, 0xfb, 0x7a, + 0xd9, 0x93, 0xdd, 0x7f, 0xe2, 0xef, 0x55, 0x46, 0xf9, 0xc9, 0xec, 0xfb, 0x55, 0xf4, 0xee, 0x02, + 0xfb, 0x8a, 0xdd, 0xc7, 0x25, 0x38, 0x4c, 0xb1, 0xfc, 0xf5, 0x46, 0x31, 0xc5, 0x9b, 0x3e, 0x1d, + 0x3d, 0x66, 0x51, 0x0d, 0x94, 0x60, 0xd8, 0x77, 0xe7, 0xee, 0xe3, 0xb7, 0xe0, 0x8f, 0x07, 0x06, + 0x8f, 0xb2, 0x95, 0x95, 0xd1, 0x7a, 0x0b, 0xa5, 0x13, 0x39, 0xd7, 0x27, 0x0e, 0x7e, 0xae, 0xbf, + 0x0c, 0x03, 0x81, 0x48, 0x9f, 0x4b, 0x76, 0x79, 0x39, 0x2d, 0x5a, 0x44, 0x0b, 0x12, 0xa3, 0x4f, + 0x48, 0x70, 0xb8, 0xed, 0x26, 0x48, 0xff, 0xc1, 0xdf, 0x3e, 0x8b, 0x74, 0x11, 0xe3, 0xb4, 0xe5, + 0x2b, 0x2b, 0x63, 0xcd, 0x76, 0xd9, 0xc4, 0x2a, 0x0c, 0x86, 0x36, 0xb0, 0x9c, 0xf8, 0x37, 0x9d, + 0xbd, 0xdf, 0xcb, 0x0e, 0x33, 0x40, 0x79, 0x48, 0xe1, 0x1d, 0xcb, 0xb4, 0x5d, 0x5c, 0xa5, 0x57, + 0x1e, 0x52, 0x8a, 0xd7, 0x96, 0x97, 0x01, 0xb5, 0x4e, 0x6e, 0xf4, 0x43, 0x8b, 0x69, 0xff, 0x43, + 0x8b, 0x63, 0x90, 0x0c, 0x7e, 0x8a, 0x90, 0x35, 0xee, 0xde, 0x6d, 0xa1, 0xff, 0x1b, 0x00, 0x00, + 0xff, 0xff, 0x08, 0x1f, 0x88, 0x9b, 0x77, 0x8d, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) From a9e11341d3eeeac4eff8d27a0e8390f42a3ac3e7 Mon Sep 17 00:00:00 2001 From: Cory Levinson Date: Fri, 16 Oct 2020 12:14:11 -0700 Subject: [PATCH 2/4] rm accidental tmp files --- .../cosmos/auth/v1beta1/query.swagger.json | 154 -- .../cosmos/bank/v1beta1/query.swagger.json | 370 ----- .../distribution/v1beta1/query.swagger.json | 613 -------- .../evidence/v1beta1/query.swagger.json | 211 --- .../cosmos/gov/v1beta1/query.swagger.json | 772 ---------- .../cosmos/mint/v1beta1/query.swagger.json | 182 --- .../cosmos/params/v1beta1/query.swagger.json | 114 -- .../slashing/v1beta1/query.swagger.json | 296 ---- .../cosmos/staking/v1beta1/query.swagger.json | 1362 ----------------- .../cosmos/upgrade/v1beta1/query.swagger.json | 157 -- .../transfer/v1/query.swagger.json | 271 ---- .../ibc/core/channel/v1/query.swagger.json | 1055 ------------- .../ibc/core/client/v1/query.swagger.json | 426 ------ .../ibc/core/connection/v1/query.swagger.json | 537 ------- 14 files changed, 6520 deletions(-) delete mode 100644 tmp-swagger-gen/cosmos/auth/v1beta1/query.swagger.json delete mode 100644 tmp-swagger-gen/cosmos/bank/v1beta1/query.swagger.json delete mode 100644 tmp-swagger-gen/cosmos/distribution/v1beta1/query.swagger.json delete mode 100644 tmp-swagger-gen/cosmos/evidence/v1beta1/query.swagger.json delete mode 100644 tmp-swagger-gen/cosmos/gov/v1beta1/query.swagger.json delete mode 100644 tmp-swagger-gen/cosmos/mint/v1beta1/query.swagger.json delete mode 100644 tmp-swagger-gen/cosmos/params/v1beta1/query.swagger.json delete mode 100644 tmp-swagger-gen/cosmos/slashing/v1beta1/query.swagger.json delete mode 100644 tmp-swagger-gen/cosmos/staking/v1beta1/query.swagger.json delete mode 100644 tmp-swagger-gen/cosmos/upgrade/v1beta1/query.swagger.json delete mode 100644 tmp-swagger-gen/ibc/applications/transfer/v1/query.swagger.json delete mode 100644 tmp-swagger-gen/ibc/core/channel/v1/query.swagger.json delete mode 100644 tmp-swagger-gen/ibc/core/client/v1/query.swagger.json delete mode 100644 tmp-swagger-gen/ibc/core/connection/v1/query.swagger.json diff --git a/tmp-swagger-gen/cosmos/auth/v1beta1/query.swagger.json b/tmp-swagger-gen/cosmos/auth/v1beta1/query.swagger.json deleted file mode 100644 index 1bb74c6d3207..000000000000 --- a/tmp-swagger-gen/cosmos/auth/v1beta1/query.swagger.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "cosmos/auth/v1beta1/query.proto", - "version": "version not set" - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/cosmos/auth/v1beta1/accounts/{address}": { - "get": { - "summary": "Account returns account details based on address.", - "operationId": "Account", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.auth.v1beta1.QueryAccountResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "address", - "description": "address defines the address to query for.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/auth/v1beta1/params": { - "get": { - "summary": "Params queries all parameters.", - "operationId": "Params", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.auth.v1beta1.QueryParamsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "tags": [ - "Query" - ] - } - } - }, - "definitions": { - "cosmos.auth.v1beta1.Params": { - "type": "object", - "properties": { - "max_memo_characters": { - "type": "string", - "format": "uint64" - }, - "tx_sig_limit": { - "type": "string", - "format": "uint64" - }, - "tx_size_cost_per_byte": { - "type": "string", - "format": "uint64" - }, - "sig_verify_cost_ed25519": { - "type": "string", - "format": "uint64" - }, - "sig_verify_cost_secp256k1": { - "type": "string", - "format": "uint64" - } - }, - "description": "Params defines the parameters for the auth module." - }, - "cosmos.auth.v1beta1.QueryAccountResponse": { - "type": "object", - "properties": { - "account": { - "$ref": "#/definitions/google.protobuf.Any", - "description": "account defines the account of the corresponding address." - } - }, - "description": "QueryAccountResponse is the response type for the Query/Account RPC method." - }, - "cosmos.auth.v1beta1.QueryParamsResponse": { - "type": "object", - "properties": { - "params": { - "$ref": "#/definitions/cosmos.auth.v1beta1.Params", - "description": "params defines the parameters of the module." - } - }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." - }, - "google.protobuf.Any": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := ptypes.MarshalAny(foo)\n ...\n foo := \u0026pb.Foo{}\n if err := ptypes.UnmarshalAny(any, foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "grpc.gateway.runtime.Error": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/google.protobuf.Any" - } - } - } - } - } -} diff --git a/tmp-swagger-gen/cosmos/bank/v1beta1/query.swagger.json b/tmp-swagger-gen/cosmos/bank/v1beta1/query.swagger.json deleted file mode 100644 index d03e64b9e584..000000000000 --- a/tmp-swagger-gen/cosmos/bank/v1beta1/query.swagger.json +++ /dev/null @@ -1,370 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "cosmos/bank/v1beta1/query.proto", - "version": "version not set" - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/cosmos/bank/v1beta1/balances/{address}": { - "get": { - "summary": "AllBalances queries the balance of all coins for a single account.", - "operationId": "AllBalances", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.bank.v1beta1.QueryAllBalancesResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "address", - "description": "address is the address to query balances for.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/bank/v1beta1/balances/{address}/{denom}": { - "get": { - "summary": "Balance queries the balance of a single coin for a single account.", - "operationId": "Balance", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.bank.v1beta1.QueryBalanceResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "address", - "description": "address is the address to query balances for.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "denom", - "description": "denom is the coin denom to query balances for.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/bank/v1beta1/params": { - "get": { - "summary": "Params queries the parameters of x/bank module.", - "operationId": "Params", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.bank.v1beta1.QueryParamsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "tags": [ - "Query" - ] - } - }, - "/cosmos/bank/v1beta1/supply": { - "get": { - "summary": "TotalSupply queries the total supply of all coins.", - "operationId": "TotalSupply", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.bank.v1beta1.QueryTotalSupplyResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "tags": [ - "Query" - ] - } - }, - "/cosmos/bank/v1beta1/supply/{denom}": { - "get": { - "summary": "SupplyOf queries the supply of a single coin.", - "operationId": "SupplyOf", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.bank.v1beta1.QuerySupplyOfResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "denom", - "description": "denom is the coin denom to query balances for.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - } - }, - "definitions": { - "cosmos.bank.v1beta1.Params": { - "type": "object", - "properties": { - "send_enabled": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.bank.v1beta1.SendEnabled" - } - }, - "default_send_enabled": { - "type": "boolean" - } - }, - "description": "Params defines the parameters for the bank module." - }, - "cosmos.bank.v1beta1.QueryAllBalancesResponse": { - "type": "object", - "properties": { - "balances": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.base.v1beta1.Coin" - }, - "description": "balances is the balances of all the coins." - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "description": "pagination defines the pagination in the response." - } - }, - "description": "QueryAllBalancesResponse is the response type for the Query/AllBalances RPC\nmethod." - }, - "cosmos.bank.v1beta1.QueryBalanceResponse": { - "type": "object", - "properties": { - "balance": { - "$ref": "#/definitions/cosmos.base.v1beta1.Coin", - "description": "balance is the balance of the coin." - } - }, - "description": "QueryBalanceResponse is the response type for the Query/Balance RPC method." - }, - "cosmos.bank.v1beta1.QueryParamsResponse": { - "type": "object", - "properties": { - "params": { - "$ref": "#/definitions/cosmos.bank.v1beta1.Params" - } - }, - "description": "QueryParamsResponse defines the response type for querying x/bank parameters." - }, - "cosmos.bank.v1beta1.QuerySupplyOfResponse": { - "type": "object", - "properties": { - "amount": { - "$ref": "#/definitions/cosmos.base.v1beta1.Coin", - "description": "amount is the supply of the coin." - } - }, - "description": "QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method." - }, - "cosmos.bank.v1beta1.QueryTotalSupplyResponse": { - "type": "object", - "properties": { - "supply": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.base.v1beta1.Coin" - }, - "title": "supply is the supply of the coins" - } - }, - "title": "QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC\nmethod" - }, - "cosmos.bank.v1beta1.SendEnabled": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "enabled": { - "type": "boolean" - } - }, - "description": "SendEnabled maps coin denom to a send_enabled status (whether a denom is\nsendable)." - }, - "cosmos.base.query.v1beta1.PageRequest": { - "type": "object", - "properties": { - "key": { - "type": "string", - "format": "byte", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set." - }, - "offset": { - "type": "string", - "format": "uint64", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set." - }, - "limit": { - "type": "string", - "format": "uint64", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app." - }, - "count_total": { - "type": "boolean", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set." - } - }, - "description": "message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }", - "title": "PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:" - }, - "cosmos.base.query.v1beta1.PageResponse": { - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "title": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently" - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" - }, - "cosmos.base.v1beta1.Coin": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "google.protobuf.Any": { - "type": "object", - "properties": { - "type_url": { - "type": "string" - }, - "value": { - "type": "string", - "format": "byte" - } - } - }, - "grpc.gateway.runtime.Error": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/google.protobuf.Any" - } - } - } - } - } -} diff --git a/tmp-swagger-gen/cosmos/distribution/v1beta1/query.swagger.json b/tmp-swagger-gen/cosmos/distribution/v1beta1/query.swagger.json deleted file mode 100644 index 414fe4545204..000000000000 --- a/tmp-swagger-gen/cosmos/distribution/v1beta1/query.swagger.json +++ /dev/null @@ -1,613 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "cosmos/distribution/v1beta1/query.proto", - "version": "version not set" - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/cosmos/distribution/v1beta1/community_pool": { - "get": { - "summary": "CommunityPool queries the community pool coins.", - "operationId": "CommunityPool", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.distribution.v1beta1.QueryCommunityPoolResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "tags": [ - "Query" - ] - } - }, - "/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards": { - "get": { - "summary": "DelegationTotalRewards queries the total rewards accrued by a each\nvalidator.", - "operationId": "DelegationTotalRewards", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "delegator_address", - "description": "delegator_address defines the delegator address to query for.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards/{validator_address}": { - "get": { - "summary": "DelegationRewards queries the total rewards accrued by a delegation.", - "operationId": "DelegationRewards", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.distribution.v1beta1.QueryDelegationRewardsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "delegator_address", - "description": "delegator_address defines the delegator address to query for.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "validator_address", - "description": "validator_address defines the validator address to query for.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/distribution/v1beta1/delegators/{delegator_address}/validators": { - "get": { - "summary": "DelegatorValidators queries the validators of a delegator.", - "operationId": "DelegatorValidators", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "delegator_address", - "description": "delegator_address defines the delegator address to query for.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/distribution/v1beta1/delegators/{delegator_address}/withdraw_address": { - "get": { - "summary": "DelegatorWithdrawAddress queries withdraw address of a delegator.", - "operationId": "DelegatorWithdrawAddress", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "delegator_address", - "description": "delegator_address defines the delegator address to query for.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/distribution/v1beta1/params": { - "get": { - "summary": "Params queries params of the distribution module.", - "operationId": "Params", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.distribution.v1beta1.QueryParamsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "tags": [ - "Query" - ] - } - }, - "/cosmos/distribution/v1beta1/validators/{validator_address}/commission": { - "get": { - "summary": "ValidatorCommission queries accumulated commission for a validator.", - "operationId": "ValidatorCommission", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.distribution.v1beta1.QueryValidatorCommissionResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "validator_address", - "description": "validator_address defines the validator address to query for.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards": { - "get": { - "summary": "ValidatorOutstandingRewards queries rewards of a validator address.", - "operationId": "ValidatorOutstandingRewards", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "validator_address", - "description": "validator_address defines the validator address to query for.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/distribution/v1beta1/validators/{validator_address}/slashes": { - "get": { - "summary": "ValidatorSlashes queries slash events of a validator.", - "operationId": "ValidatorSlashes", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.distribution.v1beta1.QueryValidatorSlashesResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "validator_address", - "description": "validator_address defines the validator address to query for.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "starting_height", - "description": "starting_height defines the optional starting height to query the slashes.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "ending_height", - "description": "starting_height defines the optional ending height to query the slashes.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - } - }, - "definitions": { - "cosmos.base.query.v1beta1.PageRequest": { - "type": "object", - "properties": { - "key": { - "type": "string", - "format": "byte", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set." - }, - "offset": { - "type": "string", - "format": "uint64", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set." - }, - "limit": { - "type": "string", - "format": "uint64", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app." - }, - "count_total": { - "type": "boolean", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set." - } - }, - "description": "message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }", - "title": "PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:" - }, - "cosmos.base.query.v1beta1.PageResponse": { - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "title": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently" - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" - }, - "cosmos.base.v1beta1.DecCoin": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." - }, - "cosmos.distribution.v1beta1.DelegationDelegatorReward": { - "type": "object", - "properties": { - "validator_address": { - "type": "string" - }, - "reward": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.base.v1beta1.DecCoin" - } - } - }, - "description": "DelegationDelegatorReward represents the properties\nof a delegator's delegation reward." - }, - "cosmos.distribution.v1beta1.Params": { - "type": "object", - "properties": { - "community_tax": { - "type": "string" - }, - "base_proposer_reward": { - "type": "string" - }, - "bonus_proposer_reward": { - "type": "string" - }, - "withdraw_addr_enabled": { - "type": "boolean" - } - }, - "description": "Params defines the set of params for the distribution module." - }, - "cosmos.distribution.v1beta1.QueryCommunityPoolResponse": { - "type": "object", - "properties": { - "pool": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.base.v1beta1.DecCoin" - }, - "description": "pool defines community pool's coins." - } - }, - "description": "QueryCommunityPoolResponse is the response type for the Query/CommunityPool\nRPC method." - }, - "cosmos.distribution.v1beta1.QueryDelegationRewardsResponse": { - "type": "object", - "properties": { - "rewards": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.base.v1beta1.DecCoin" - }, - "description": "rewards defines the rewards accrued by a delegation." - } - }, - "description": "QueryDelegationRewardsResponse is the response type for the\nQuery/DelegationRewards RPC method." - }, - "cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse": { - "type": "object", - "properties": { - "rewards": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.distribution.v1beta1.DelegationDelegatorReward" - }, - "description": "rewards defines all the rewards accrued by a delegator." - }, - "total": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.base.v1beta1.DecCoin" - }, - "description": "total defines the sum of all the rewards." - } - }, - "description": "QueryDelegationTotalRewardsResponse is the response type for the\nQuery/DelegationTotalRewards RPC method." - }, - "cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse": { - "type": "object", - "properties": { - "validators": { - "type": "array", - "items": { - "type": "string" - }, - "description": "validators defines the validators a delegator is delegating for." - } - }, - "description": "QueryDelegatorValidatorsResponse is the response type for the\nQuery/DelegatorValidators RPC method." - }, - "cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse": { - "type": "object", - "properties": { - "withdraw_address": { - "type": "string", - "description": "withdraw_address defines the delegator address to query for." - } - }, - "description": "QueryDelegatorWithdrawAddressResponse is the response type for the\nQuery/DelegatorWithdrawAddress RPC method." - }, - "cosmos.distribution.v1beta1.QueryParamsResponse": { - "type": "object", - "properties": { - "params": { - "$ref": "#/definitions/cosmos.distribution.v1beta1.Params", - "description": "params defines the parameters of the module." - } - }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." - }, - "cosmos.distribution.v1beta1.QueryValidatorCommissionResponse": { - "type": "object", - "properties": { - "commission": { - "$ref": "#/definitions/cosmos.distribution.v1beta1.ValidatorAccumulatedCommission", - "description": "commission defines the commision the validator received." - } - }, - "title": "QueryValidatorCommissionResponse is the response type for the\nQuery/ValidatorCommission RPC method" - }, - "cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse": { - "type": "object", - "properties": { - "rewards": { - "$ref": "#/definitions/cosmos.distribution.v1beta1.ValidatorOutstandingRewards" - } - }, - "description": "QueryValidatorOutstandingRewardsResponse is the response type for the\nQuery/ValidatorOutstandingRewards RPC method." - }, - "cosmos.distribution.v1beta1.QueryValidatorSlashesResponse": { - "type": "object", - "properties": { - "slashes": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.distribution.v1beta1.ValidatorSlashEvent" - }, - "description": "slashes defines the slashes the validator received." - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "description": "pagination defines the pagination in the response." - } - }, - "description": "QueryValidatorSlashesResponse is the response type for the\nQuery/ValidatorSlashes RPC method." - }, - "cosmos.distribution.v1beta1.ValidatorAccumulatedCommission": { - "type": "object", - "properties": { - "commission": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.base.v1beta1.DecCoin" - } - } - }, - "description": "ValidatorAccumulatedCommission represents accumulated commission\nfor a validator kept as a running counter, can be withdrawn at any time." - }, - "cosmos.distribution.v1beta1.ValidatorOutstandingRewards": { - "type": "object", - "properties": { - "rewards": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.base.v1beta1.DecCoin" - } - } - }, - "description": "ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards\nfor a validator inexpensive to track, allows simple sanity checks." - }, - "cosmos.distribution.v1beta1.ValidatorSlashEvent": { - "type": "object", - "properties": { - "validator_period": { - "type": "string", - "format": "uint64" - }, - "fraction": { - "type": "string" - } - }, - "description": "ValidatorSlashEvent represents a validator slash event.\nHeight is implicit within the store key.\nThis is needed to calculate appropriate amount of staking tokens\nfor delegations which are withdrawn after a slash has occurred." - }, - "google.protobuf.Any": { - "type": "object", - "properties": { - "type_url": { - "type": "string" - }, - "value": { - "type": "string", - "format": "byte" - } - } - }, - "grpc.gateway.runtime.Error": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/google.protobuf.Any" - } - } - } - } - } -} diff --git a/tmp-swagger-gen/cosmos/evidence/v1beta1/query.swagger.json b/tmp-swagger-gen/cosmos/evidence/v1beta1/query.swagger.json deleted file mode 100644 index 30e89320c55f..000000000000 --- a/tmp-swagger-gen/cosmos/evidence/v1beta1/query.swagger.json +++ /dev/null @@ -1,211 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "cosmos/evidence/v1beta1/query.proto", - "version": "version not set" - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/cosmos/evidence/v1beta1/evidence": { - "get": { - "summary": "AllEvidence queries all evidence.", - "operationId": "AllEvidence", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.evidence.v1beta1.QueryAllEvidenceResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/evidence/v1beta1/evidence/{evidence_hash}": { - "get": { - "summary": "Evidence queries evidence based on evidence hash.", - "operationId": "Evidence", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.evidence.v1beta1.QueryEvidenceResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "evidence_hash", - "description": "evidence_hash defines the hash of the requested evidence.", - "in": "path", - "required": true, - "type": "string", - "format": "byte" - } - ], - "tags": [ - "Query" - ] - } - } - }, - "definitions": { - "cosmos.base.query.v1beta1.PageRequest": { - "type": "object", - "properties": { - "key": { - "type": "string", - "format": "byte", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set." - }, - "offset": { - "type": "string", - "format": "uint64", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set." - }, - "limit": { - "type": "string", - "format": "uint64", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app." - }, - "count_total": { - "type": "boolean", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set." - } - }, - "description": "message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }", - "title": "PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:" - }, - "cosmos.base.query.v1beta1.PageResponse": { - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "title": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently" - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" - }, - "cosmos.evidence.v1beta1.QueryAllEvidenceResponse": { - "type": "object", - "properties": { - "evidence": { - "type": "array", - "items": { - "$ref": "#/definitions/google.protobuf.Any" - }, - "description": "evidence returns all evidences." - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "description": "pagination defines the pagination in the response." - } - }, - "description": "QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC\nmethod." - }, - "cosmos.evidence.v1beta1.QueryEvidenceResponse": { - "type": "object", - "properties": { - "evidence": { - "$ref": "#/definitions/google.protobuf.Any", - "description": "evidence returns the requested evidence." - } - }, - "description": "QueryEvidenceResponse is the response type for the Query/Evidence RPC method." - }, - "google.protobuf.Any": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := ptypes.MarshalAny(foo)\n ...\n foo := \u0026pb.Foo{}\n if err := ptypes.UnmarshalAny(any, foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "grpc.gateway.runtime.Error": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/google.protobuf.Any" - } - } - } - } - } -} diff --git a/tmp-swagger-gen/cosmos/gov/v1beta1/query.swagger.json b/tmp-swagger-gen/cosmos/gov/v1beta1/query.swagger.json deleted file mode 100644 index 6829f199295d..000000000000 --- a/tmp-swagger-gen/cosmos/gov/v1beta1/query.swagger.json +++ /dev/null @@ -1,772 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "cosmos/gov/v1beta1/query.proto", - "version": "version not set" - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/cosmos/gov/v1beta1/params/{params_type}": { - "get": { - "summary": "Params queries all parameters of the gov module.", - "operationId": "Params", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.gov.v1beta1.QueryParamsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "params_type", - "description": "params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/gov/v1beta1/proposals": { - "get": { - "summary": "Proposals queries all proposals based on given status.", - "operationId": "Proposals", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.gov.v1beta1.QueryProposalsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "proposal_status", - "description": "proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "PROPOSAL_STATUS_UNSPECIFIED", - "PROPOSAL_STATUS_DEPOSIT_PERIOD", - "PROPOSAL_STATUS_VOTING_PERIOD", - "PROPOSAL_STATUS_PASSED", - "PROPOSAL_STATUS_REJECTED", - "PROPOSAL_STATUS_FAILED" - ], - "default": "PROPOSAL_STATUS_UNSPECIFIED" - }, - { - "name": "voter", - "description": "voter defines the voter address for the proposals.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "depositor", - "description": "depositor defines the deposit addresses from the proposals.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/gov/v1beta1/proposals/{proposal_id}": { - "get": { - "summary": "Proposal queries proposal details based on ProposalID.", - "operationId": "Proposal", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.gov.v1beta1.QueryProposalResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "proposal_id", - "description": "proposal_id defines the unique id of the proposal.", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits": { - "get": { - "summary": "Deposits queries all deposits of a single proposal.", - "operationId": "Deposits", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.gov.v1beta1.QueryDepositsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "proposal_id", - "description": "proposal_id defines the unique id of the proposal.", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}": { - "get": { - "summary": "Deposit queries single deposit information based proposalID, depositAddr.", - "operationId": "Deposit", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.gov.v1beta1.QueryDepositResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "proposal_id", - "description": "proposal_id defines the unique id of the proposal.", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "depositor", - "description": "depositor defines the deposit addresses from the proposals.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/gov/v1beta1/proposals/{proposal_id}/tally": { - "get": { - "summary": "TallyResult queries the tally of a proposal vote.", - "operationId": "TallyResult", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.gov.v1beta1.QueryTallyResultResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "proposal_id", - "description": "proposal_id defines the unique id of the proposal.", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/gov/v1beta1/proposals/{proposal_id}/votes": { - "get": { - "summary": "Votes queries votes of a given proposal.", - "operationId": "Votes", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.gov.v1beta1.QueryVotesResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "proposal_id", - "description": "proposal_id defines the unique id of the proposal.", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}": { - "get": { - "summary": "Vote queries voted information based on proposalID, voterAddr.", - "operationId": "Vote", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.gov.v1beta1.QueryVoteResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "proposal_id", - "description": "proposal_id defines the unique id of the proposal.", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "voter", - "description": "voter defines the oter address for the proposals.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - } - }, - "definitions": { - "cosmos.base.query.v1beta1.PageRequest": { - "type": "object", - "properties": { - "key": { - "type": "string", - "format": "byte", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set." - }, - "offset": { - "type": "string", - "format": "uint64", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set." - }, - "limit": { - "type": "string", - "format": "uint64", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app." - }, - "count_total": { - "type": "boolean", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set." - } - }, - "description": "message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }", - "title": "PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:" - }, - "cosmos.base.query.v1beta1.PageResponse": { - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "title": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently" - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" - }, - "cosmos.base.v1beta1.Coin": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "cosmos.gov.v1beta1.Deposit": { - "type": "object", - "properties": { - "proposal_id": { - "type": "string", - "format": "uint64" - }, - "depositor": { - "type": "string" - }, - "amount": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.base.v1beta1.Coin" - } - } - }, - "description": "Deposit defines an amount deposited by an account address to an active\nproposal." - }, - "cosmos.gov.v1beta1.DepositParams": { - "type": "object", - "properties": { - "min_deposit": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.base.v1beta1.Coin" - }, - "description": "Minimum deposit for a proposal to enter voting period." - }, - "max_deposit_period": { - "type": "string", - "description": "Maximum period for Atom holders to deposit on a proposal. Initial value: 2\n months." - } - }, - "description": "DepositParams defines the params for deposits on governance proposals." - }, - "cosmos.gov.v1beta1.Proposal": { - "type": "object", - "properties": { - "proposal_id": { - "type": "string", - "format": "uint64" - }, - "content": { - "$ref": "#/definitions/google.protobuf.Any" - }, - "status": { - "$ref": "#/definitions/cosmos.gov.v1beta1.ProposalStatus" - }, - "final_tally_result": { - "$ref": "#/definitions/cosmos.gov.v1beta1.TallyResult" - }, - "submit_time": { - "type": "string", - "format": "date-time" - }, - "deposit_end_time": { - "type": "string", - "format": "date-time" - }, - "total_deposit": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.base.v1beta1.Coin" - } - }, - "voting_start_time": { - "type": "string", - "format": "date-time" - }, - "voting_end_time": { - "type": "string", - "format": "date-time" - } - }, - "description": "Proposal defines the core field members of a governance proposal." - }, - "cosmos.gov.v1beta1.ProposalStatus": { - "type": "string", - "enum": [ - "PROPOSAL_STATUS_UNSPECIFIED", - "PROPOSAL_STATUS_DEPOSIT_PERIOD", - "PROPOSAL_STATUS_VOTING_PERIOD", - "PROPOSAL_STATUS_PASSED", - "PROPOSAL_STATUS_REJECTED", - "PROPOSAL_STATUS_FAILED" - ], - "default": "PROPOSAL_STATUS_UNSPECIFIED", - "description": "ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed." - }, - "cosmos.gov.v1beta1.QueryDepositResponse": { - "type": "object", - "properties": { - "deposit": { - "$ref": "#/definitions/cosmos.gov.v1beta1.Deposit", - "description": "deposit defines the requested deposit." - } - }, - "description": "QueryDepositResponse is the response type for the Query/Deposit RPC method." - }, - "cosmos.gov.v1beta1.QueryDepositsResponse": { - "type": "object", - "properties": { - "deposits": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.gov.v1beta1.Deposit" - } - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "description": "pagination defines the pagination in the response." - } - }, - "description": "QueryDepositsResponse is the response type for the Query/Deposits RPC method." - }, - "cosmos.gov.v1beta1.QueryParamsResponse": { - "type": "object", - "properties": { - "voting_params": { - "$ref": "#/definitions/cosmos.gov.v1beta1.VotingParams", - "description": "voting_params defines the parameters related to voting." - }, - "deposit_params": { - "$ref": "#/definitions/cosmos.gov.v1beta1.DepositParams", - "description": "deposit_params defines the parameters related to deposit." - }, - "tally_params": { - "$ref": "#/definitions/cosmos.gov.v1beta1.TallyParams", - "description": "tally_params defines the parameters related to tally." - } - }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." - }, - "cosmos.gov.v1beta1.QueryProposalResponse": { - "type": "object", - "properties": { - "proposal": { - "$ref": "#/definitions/cosmos.gov.v1beta1.Proposal" - } - }, - "description": "QueryProposalResponse is the response type for the Query/Proposal RPC method." - }, - "cosmos.gov.v1beta1.QueryProposalsResponse": { - "type": "object", - "properties": { - "proposals": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.gov.v1beta1.Proposal" - } - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "description": "pagination defines the pagination in the response." - } - }, - "description": "QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod." - }, - "cosmos.gov.v1beta1.QueryTallyResultResponse": { - "type": "object", - "properties": { - "tally": { - "$ref": "#/definitions/cosmos.gov.v1beta1.TallyResult", - "description": "tally defines the requested tally." - } - }, - "description": "QueryTallyResultResponse is the response type for the Query/Tally RPC method." - }, - "cosmos.gov.v1beta1.QueryVoteResponse": { - "type": "object", - "properties": { - "vote": { - "$ref": "#/definitions/cosmos.gov.v1beta1.Vote", - "description": "vote defined the queried vote." - } - }, - "description": "QueryVoteResponse is the response type for the Query/Vote RPC method." - }, - "cosmos.gov.v1beta1.QueryVotesResponse": { - "type": "object", - "properties": { - "votes": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.gov.v1beta1.Vote" - }, - "description": "votes defined the queried votes." - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "description": "pagination defines the pagination in the response." - } - }, - "description": "QueryVotesResponse is the response type for the Query/Votes RPC method." - }, - "cosmos.gov.v1beta1.TallyParams": { - "type": "object", - "properties": { - "quorum": { - "type": "string", - "format": "byte", - "description": "Minimum percentage of total stake needed to vote for a result to be\n considered valid." - }, - "threshold": { - "type": "string", - "format": "byte", - "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.5." - }, - "veto_threshold": { - "type": "string", - "format": "byte", - "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\n vetoed. Default value: 1/3." - } - }, - "description": "TallyParams defines the params for tallying votes on governance proposals." - }, - "cosmos.gov.v1beta1.TallyResult": { - "type": "object", - "properties": { - "yes": { - "type": "string" - }, - "abstain": { - "type": "string" - }, - "no": { - "type": "string" - }, - "no_with_veto": { - "type": "string" - } - }, - "description": "TallyResult defines a standard tally for a governance proposal." - }, - "cosmos.gov.v1beta1.Vote": { - "type": "object", - "properties": { - "proposal_id": { - "type": "string", - "format": "uint64" - }, - "voter": { - "type": "string" - }, - "option": { - "$ref": "#/definitions/cosmos.gov.v1beta1.VoteOption" - } - }, - "description": "Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option." - }, - "cosmos.gov.v1beta1.VoteOption": { - "type": "string", - "enum": [ - "VOTE_OPTION_UNSPECIFIED", - "VOTE_OPTION_YES", - "VOTE_OPTION_ABSTAIN", - "VOTE_OPTION_NO", - "VOTE_OPTION_NO_WITH_VETO" - ], - "default": "VOTE_OPTION_UNSPECIFIED", - "description": "VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option." - }, - "cosmos.gov.v1beta1.VotingParams": { - "type": "object", - "properties": { - "voting_period": { - "type": "string", - "description": "Length of the voting period." - } - }, - "description": "VotingParams defines the params for voting on governance proposals." - }, - "google.protobuf.Any": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := ptypes.MarshalAny(foo)\n ...\n foo := \u0026pb.Foo{}\n if err := ptypes.UnmarshalAny(any, foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "grpc.gateway.runtime.Error": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/google.protobuf.Any" - } - } - } - } - } -} diff --git a/tmp-swagger-gen/cosmos/mint/v1beta1/query.swagger.json b/tmp-swagger-gen/cosmos/mint/v1beta1/query.swagger.json deleted file mode 100644 index 18461060db6e..000000000000 --- a/tmp-swagger-gen/cosmos/mint/v1beta1/query.swagger.json +++ /dev/null @@ -1,182 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "cosmos/mint/v1beta1/query.proto", - "version": "version not set" - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/cosmos/mint/v1beta1/annual_provisions": { - "get": { - "summary": "AnnualProvisions current minting annual provisions value.", - "operationId": "AnnualProvisions", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.mint.v1beta1.QueryAnnualProvisionsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "tags": [ - "Query" - ] - } - }, - "/cosmos/mint/v1beta1/inflation": { - "get": { - "summary": "Inflation returns the current minting inflation value.", - "operationId": "Inflation", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.mint.v1beta1.QueryInflationResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "tags": [ - "Query" - ] - } - }, - "/cosmos/mint/v1beta1/params": { - "get": { - "summary": "Params returns the total set of minting parameters.", - "operationId": "Params", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.mint.v1beta1.QueryParamsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "tags": [ - "Query" - ] - } - } - }, - "definitions": { - "cosmos.mint.v1beta1.Params": { - "type": "object", - "properties": { - "mint_denom": { - "type": "string", - "title": "type of coin to mint" - }, - "inflation_rate_change": { - "type": "string", - "title": "maximum annual change in inflation rate" - }, - "inflation_max": { - "type": "string", - "title": "maximum inflation rate" - }, - "inflation_min": { - "type": "string", - "title": "minimum inflation rate" - }, - "goal_bonded": { - "type": "string", - "title": "goal of percent bonded atoms" - }, - "blocks_per_year": { - "type": "string", - "format": "uint64", - "title": "expected blocks per year" - } - }, - "description": "Params holds parameters for the mint module." - }, - "cosmos.mint.v1beta1.QueryAnnualProvisionsResponse": { - "type": "object", - "properties": { - "annual_provisions": { - "type": "string", - "format": "byte", - "description": "annual_provisions is the current minting annual provisions value." - } - }, - "description": "QueryAnnualProvisionsResponse is the response type for the\nQuery/AnnualProvisions RPC method." - }, - "cosmos.mint.v1beta1.QueryInflationResponse": { - "type": "object", - "properties": { - "inflation": { - "type": "string", - "format": "byte", - "description": "inflation is the current minting inflation value." - } - }, - "description": "QueryInflationResponse is the response type for the Query/Inflation RPC\nmethod." - }, - "cosmos.mint.v1beta1.QueryParamsResponse": { - "type": "object", - "properties": { - "params": { - "$ref": "#/definitions/cosmos.mint.v1beta1.Params", - "description": "params defines the parameters of the module." - } - }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." - }, - "google.protobuf.Any": { - "type": "object", - "properties": { - "type_url": { - "type": "string" - }, - "value": { - "type": "string", - "format": "byte" - } - } - }, - "grpc.gateway.runtime.Error": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/google.protobuf.Any" - } - } - } - } - } -} diff --git a/tmp-swagger-gen/cosmos/params/v1beta1/query.swagger.json b/tmp-swagger-gen/cosmos/params/v1beta1/query.swagger.json deleted file mode 100644 index e8e6b9120ca2..000000000000 --- a/tmp-swagger-gen/cosmos/params/v1beta1/query.swagger.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "cosmos/params/v1beta1/query.proto", - "version": "version not set" - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/cosmos/params/v1beta1/params": { - "get": { - "summary": "Params queries a specific parameter of a module, given its subspace and\nkey.", - "operationId": "Params", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.params.v1beta1.QueryParamsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "subspace", - "description": "subspace defines the module to query the parameter for.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "key", - "description": "key defines the key of the parameter in the subspace.", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - } - }, - "definitions": { - "cosmos.params.v1beta1.ParamChange": { - "type": "object", - "properties": { - "subspace": { - "type": "string" - }, - "key": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "description": "ParamChange defines an individual parameter change, for use in\nParameterChangeProposal." - }, - "cosmos.params.v1beta1.QueryParamsResponse": { - "type": "object", - "properties": { - "param": { - "$ref": "#/definitions/cosmos.params.v1beta1.ParamChange", - "description": "param defines the queried parameter." - } - }, - "description": "QueryParamsResponse is response type for the Query/Params RPC method." - }, - "google.protobuf.Any": { - "type": "object", - "properties": { - "type_url": { - "type": "string" - }, - "value": { - "type": "string", - "format": "byte" - } - } - }, - "grpc.gateway.runtime.Error": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/google.protobuf.Any" - } - } - } - } - } -} diff --git a/tmp-swagger-gen/cosmos/slashing/v1beta1/query.swagger.json b/tmp-swagger-gen/cosmos/slashing/v1beta1/query.swagger.json deleted file mode 100644 index dde2bb5d83b9..000000000000 --- a/tmp-swagger-gen/cosmos/slashing/v1beta1/query.swagger.json +++ /dev/null @@ -1,296 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "cosmos/slashing/v1beta1/query.proto", - "version": "version not set" - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/cosmos/slashing/v1beta1/params": { - "get": { - "summary": "Params queries the parameters of slashing module", - "operationId": "Params", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.slashing.v1beta1.QueryParamsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "tags": [ - "Query" - ] - } - }, - "/cosmos/slashing/v1beta1/signing_infos": { - "get": { - "summary": "SigningInfos queries signing info of all validators", - "operationId": "SigningInfos", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.slashing.v1beta1.QuerySigningInfosResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/slashing/v1beta1/signing_infos/{cons_address}": { - "get": { - "summary": "SigningInfo queries the signing info of given cons address", - "operationId": "SigningInfo", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.slashing.v1beta1.QuerySigningInfoResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "cons_address", - "description": "cons_address is the address to query signing info of", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - } - }, - "definitions": { - "cosmos.base.query.v1beta1.PageRequest": { - "type": "object", - "properties": { - "key": { - "type": "string", - "format": "byte", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set." - }, - "offset": { - "type": "string", - "format": "uint64", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set." - }, - "limit": { - "type": "string", - "format": "uint64", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app." - }, - "count_total": { - "type": "boolean", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set." - } - }, - "description": "message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }", - "title": "PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:" - }, - "cosmos.base.query.v1beta1.PageResponse": { - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "title": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently" - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" - }, - "cosmos.slashing.v1beta1.Params": { - "type": "object", - "properties": { - "signed_blocks_window": { - "type": "string", - "format": "int64" - }, - "min_signed_per_window": { - "type": "string", - "format": "byte" - }, - "downtime_jail_duration": { - "type": "string" - }, - "slash_fraction_double_sign": { - "type": "string", - "format": "byte" - }, - "slash_fraction_downtime": { - "type": "string", - "format": "byte" - } - }, - "description": "Params represents the parameters used for by the slashing module." - }, - "cosmos.slashing.v1beta1.QueryParamsResponse": { - "type": "object", - "properties": { - "params": { - "$ref": "#/definitions/cosmos.slashing.v1beta1.Params" - } - }, - "title": "QueryParamsResponse is the response type for the Query/Params RPC method" - }, - "cosmos.slashing.v1beta1.QuerySigningInfoResponse": { - "type": "object", - "properties": { - "val_signing_info": { - "$ref": "#/definitions/cosmos.slashing.v1beta1.ValidatorSigningInfo", - "title": "val_signing_info is the signing info of requested val cons address" - } - }, - "title": "QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC\nmethod" - }, - "cosmos.slashing.v1beta1.QuerySigningInfosResponse": { - "type": "object", - "properties": { - "info": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.slashing.v1beta1.ValidatorSigningInfo" - }, - "title": "info is the signing info of all validators" - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse" - } - }, - "title": "QuerySigningInfosResponse is the response type for the Query/SigningInfos RPC\nmethod" - }, - "cosmos.slashing.v1beta1.ValidatorSigningInfo": { - "type": "object", - "properties": { - "address": { - "type": "string" - }, - "start_height": { - "type": "string", - "format": "int64", - "title": "height at which validator was first a candidate OR was unjailed" - }, - "index_offset": { - "type": "string", - "format": "int64", - "title": "index offset into signed block bit array" - }, - "jailed_until": { - "type": "string", - "format": "date-time", - "title": "timestamp validator cannot be unjailed until" - }, - "tombstoned": { - "type": "boolean", - "title": "whether or not a validator has been tombstoned (killed out of validator\nset)" - }, - "missed_blocks_counter": { - "type": "string", - "format": "int64", - "title": "missed blocks counter (to avoid scanning the array every time)" - } - }, - "description": "ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity." - }, - "google.protobuf.Any": { - "type": "object", - "properties": { - "type_url": { - "type": "string" - }, - "value": { - "type": "string", - "format": "byte" - } - } - }, - "grpc.gateway.runtime.Error": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/google.protobuf.Any" - } - } - } - } - } -} diff --git a/tmp-swagger-gen/cosmos/staking/v1beta1/query.swagger.json b/tmp-swagger-gen/cosmos/staking/v1beta1/query.swagger.json deleted file mode 100644 index 3e689fd0ba3f..000000000000 --- a/tmp-swagger-gen/cosmos/staking/v1beta1/query.swagger.json +++ /dev/null @@ -1,1362 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "cosmos/staking/v1beta1/query.proto", - "version": "version not set" - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/cosmos/staking/v1beta1/delegations/{delegator_addr}": { - "get": { - "summary": "DelegatorDelegations queries all delegations of a given delegator address.", - "operationId": "DelegatorDelegations", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "delegator_addr", - "description": "delegator_addr defines the delegator address to query for.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations": { - "get": { - "summary": "Redelegations queries redelegations of given address.", - "operationId": "Redelegations", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.staking.v1beta1.QueryRedelegationsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "delegator_addr", - "description": "delegator_addr defines the delegator address to query for.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "src_validator_addr", - "description": "src_validator_addr defines the validator address to redelegate from.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "dst_validator_addr", - "description": "dst_validator_addr defines the validator address to redelegate to.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations": { - "get": { - "summary": "DelegatorUnbondingDelegations queries all unbonding delegations of a given\ndelegator address.", - "operationId": "DelegatorUnbondingDelegations", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "delegator_addr", - "description": "delegator_addr defines the delegator address to query for.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators": { - "get": { - "summary": "DelegatorValidators queries all validators info for given delegator\naddress.", - "operationId": "DelegatorValidators", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "delegator_addr", - "description": "delegator_addr defines the delegator address to query for.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}": { - "get": { - "summary": "DelegatorValidator queries validator info for given delegator validator\npair.", - "operationId": "DelegatorValidator", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.staking.v1beta1.QueryDelegatorValidatorResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "delegator_addr", - "description": "delegator_addr defines the delegator address to query for.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "validator_addr", - "description": "validator_addr defines the validator address to query for.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/staking/v1beta1/historical_info/{height}": { - "get": { - "summary": "HistoricalInfo queries the historical info for given height.", - "operationId": "HistoricalInfo", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.staking.v1beta1.QueryHistoricalInfoResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "height", - "description": "height defines at which height to query the historical info.", - "in": "path", - "required": true, - "type": "string", - "format": "int64" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/staking/v1beta1/params": { - "get": { - "summary": "Parameters queries the staking parameters.", - "operationId": "Params", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.staking.v1beta1.QueryParamsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "tags": [ - "Query" - ] - } - }, - "/cosmos/staking/v1beta1/pool": { - "get": { - "summary": "Pool queries the pool info.", - "operationId": "Pool", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.staking.v1beta1.QueryPoolResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "tags": [ - "Query" - ] - } - }, - "/cosmos/staking/v1beta1/validators": { - "get": { - "summary": "Validators queries all validators that match the given status.", - "operationId": "Validators", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.staking.v1beta1.QueryValidatorsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "status", - "description": "status enables to query for validators matching a given status.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/staking/v1beta1/validators/{validator_addr}": { - "get": { - "summary": "Validator queries validator info for given validator address.", - "operationId": "Validator", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.staking.v1beta1.QueryValidatorResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "validator_addr", - "description": "validator_addr defines the validator address to query for.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/staking/v1beta1/validators/{validator_addr}/delegations": { - "get": { - "summary": "ValidatorDelegations queries delegate info for given validator.", - "operationId": "ValidatorDelegations", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.staking.v1beta1.QueryValidatorDelegationsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "validator_addr", - "description": "validator_addr defines the validator address to query for.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}": { - "get": { - "summary": "Delegation queries delegate info for given validator delegator pair.", - "operationId": "Delegation", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.staking.v1beta1.QueryDelegationResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "validator_addr", - "description": "validator_addr defines the validator address to query for.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "delegator_addr", - "description": "delegator_addr defines the delegator address to query for.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation": { - "get": { - "summary": "UnbondingDelegation queries unbonding info for given validator delegator\npair.", - "operationId": "UnbondingDelegation", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.staking.v1beta1.QueryUnbondingDelegationResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "validator_addr", - "description": "validator_addr defines the validator address to query for.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "delegator_addr", - "description": "delegator_addr defines the delegator address to query for.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations": { - "get": { - "summary": "ValidatorUnbondingDelegations queries unbonding delegations of a validator.", - "operationId": "ValidatorUnbondingDelegations", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "validator_addr", - "description": "validator_addr defines the validator address to query for.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - } - }, - "definitions": { - "cosmos.base.query.v1beta1.PageRequest": { - "type": "object", - "properties": { - "key": { - "type": "string", - "format": "byte", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set." - }, - "offset": { - "type": "string", - "format": "uint64", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set." - }, - "limit": { - "type": "string", - "format": "uint64", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app." - }, - "count_total": { - "type": "boolean", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set." - } - }, - "description": "message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }", - "title": "PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:" - }, - "cosmos.base.query.v1beta1.PageResponse": { - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "title": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently" - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" - }, - "cosmos.base.v1beta1.Coin": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "cosmos.staking.v1beta1.BondStatus": { - "type": "string", - "enum": [ - "BOND_STATUS_UNSPECIFIED", - "BOND_STATUS_UNBONDED", - "BOND_STATUS_UNBONDING", - "BOND_STATUS_BONDED" - ], - "default": "BOND_STATUS_UNSPECIFIED", - "description": "BondStatus is the status of a validator.\n\n - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status.\n - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded.\n - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding.\n - BOND_STATUS_BONDED: BONDED defines a validator that is bonded." - }, - "cosmos.staking.v1beta1.Commission": { - "type": "object", - "properties": { - "commission_rates": { - "$ref": "#/definitions/cosmos.staking.v1beta1.CommissionRates" - }, - "update_time": { - "type": "string", - "format": "date-time" - } - }, - "description": "Commission defines commission parameters for a given validator." - }, - "cosmos.staking.v1beta1.CommissionRates": { - "type": "object", - "properties": { - "rate": { - "type": "string" - }, - "max_rate": { - "type": "string" - }, - "max_change_rate": { - "type": "string" - } - }, - "description": "CommissionRates defines the initial commission rates to be used for creating\na validator." - }, - "cosmos.staking.v1beta1.Delegation": { - "type": "object", - "properties": { - "delegator_address": { - "type": "string" - }, - "validator_address": { - "type": "string" - }, - "shares": { - "type": "string" - } - }, - "description": "Delegation represents the bond with tokens held by an account. It is\nowned by one delegator, and is associated with the voting power of one\nvalidator." - }, - "cosmos.staking.v1beta1.DelegationResponse": { - "type": "object", - "properties": { - "delegation": { - "$ref": "#/definitions/cosmos.staking.v1beta1.Delegation" - }, - "balance": { - "$ref": "#/definitions/cosmos.base.v1beta1.Coin" - } - }, - "description": "DelegationResponse is equivalent to Delegation except that it contains a\nbalance in addition to shares which is more suitable for client responses." - }, - "cosmos.staking.v1beta1.Description": { - "type": "object", - "properties": { - "moniker": { - "type": "string" - }, - "identity": { - "type": "string" - }, - "website": { - "type": "string" - }, - "security_contact": { - "type": "string" - }, - "details": { - "type": "string" - } - }, - "description": "Description defines a validator description." - }, - "cosmos.staking.v1beta1.HistoricalInfo": { - "type": "object", - "properties": { - "header": { - "$ref": "#/definitions/tendermint.types.Header" - }, - "valset": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.staking.v1beta1.Validator" - } - } - }, - "description": "HistoricalInfo contains header and validator information for a given block.\nIt is stored as part of staking module's state, which persists the `n` most\nrecent HistoricalInfo\n(`n` is set by the staking module's `historical_entries` parameter)." - }, - "cosmos.staking.v1beta1.Params": { - "type": "object", - "properties": { - "unbonding_time": { - "type": "string" - }, - "max_validators": { - "type": "integer", - "format": "int64" - }, - "max_entries": { - "type": "integer", - "format": "int64" - }, - "historical_entries": { - "type": "integer", - "format": "int64" - }, - "bond_denom": { - "type": "string" - } - }, - "description": "Params defines the parameters for the staking module." - }, - "cosmos.staking.v1beta1.Pool": { - "type": "object", - "properties": { - "not_bonded_tokens": { - "type": "string" - }, - "bonded_tokens": { - "type": "string" - } - }, - "description": "Pool is used for tracking bonded and not-bonded token supply of the bond\ndenomination." - }, - "cosmos.staking.v1beta1.QueryDelegationResponse": { - "type": "object", - "properties": { - "delegation_response": { - "$ref": "#/definitions/cosmos.staking.v1beta1.DelegationResponse", - "description": "delegation_responses defines the delegation info of a delegation." - } - }, - "description": "QueryDelegationResponse is response type for the Query/Delegation RPC method." - }, - "cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse": { - "type": "object", - "properties": { - "delegation_responses": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.staking.v1beta1.DelegationResponse" - }, - "description": "delegation_responses defines all the delegations' info of a delegator." - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "description": "pagination defines the pagination in the response." - } - }, - "description": "QueryDelegatorDelegationsResponse is response type for the\nQuery/DelegatorDelegations RPC method." - }, - "cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse": { - "type": "object", - "properties": { - "unbonding_responses": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.staking.v1beta1.UnbondingDelegation" - } - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "description": "pagination defines the pagination in the response." - } - }, - "description": "QueryUnbondingDelegatorDelegationsResponse is response type for the\nQuery/UnbondingDelegatorDelegations RPC method." - }, - "cosmos.staking.v1beta1.QueryDelegatorValidatorResponse": { - "type": "object", - "properties": { - "validator": { - "$ref": "#/definitions/cosmos.staking.v1beta1.Validator", - "description": "validator defines the the validator info." - } - }, - "description": "QueryDelegatorValidatorResponse response type for the\nQuery/DelegatorValidator RPC method." - }, - "cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse": { - "type": "object", - "properties": { - "validators": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.staking.v1beta1.Validator" - }, - "description": "validators defines the the validators' info of a delegator." - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "description": "pagination defines the pagination in the response." - } - }, - "description": "QueryDelegatorValidatorsResponse is response type for the\nQuery/DelegatorValidators RPC method." - }, - "cosmos.staking.v1beta1.QueryHistoricalInfoResponse": { - "type": "object", - "properties": { - "hist": { - "$ref": "#/definitions/cosmos.staking.v1beta1.HistoricalInfo", - "description": "hist defines the historical info at the given height." - } - }, - "description": "QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC\nmethod." - }, - "cosmos.staking.v1beta1.QueryParamsResponse": { - "type": "object", - "properties": { - "params": { - "$ref": "#/definitions/cosmos.staking.v1beta1.Params", - "description": "params holds all the parameters of this module." - } - }, - "description": "QueryParamsResponse is response type for the Query/Params RPC method." - }, - "cosmos.staking.v1beta1.QueryPoolResponse": { - "type": "object", - "properties": { - "pool": { - "$ref": "#/definitions/cosmos.staking.v1beta1.Pool", - "description": "pool defines the pool info." - } - }, - "description": "QueryPoolResponse is response type for the Query/Pool RPC method." - }, - "cosmos.staking.v1beta1.QueryRedelegationsResponse": { - "type": "object", - "properties": { - "redelegation_responses": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.staking.v1beta1.RedelegationResponse" - } - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "description": "pagination defines the pagination in the response." - } - }, - "description": "QueryRedelegationsResponse is response type for the Query/Redelegations RPC\nmethod." - }, - "cosmos.staking.v1beta1.QueryUnbondingDelegationResponse": { - "type": "object", - "properties": { - "unbond": { - "$ref": "#/definitions/cosmos.staking.v1beta1.UnbondingDelegation", - "description": "unbond defines the unbonding information of a delegation." - } - }, - "description": "QueryDelegationResponse is response type for the Query/UnbondingDelegation\nRPC method." - }, - "cosmos.staking.v1beta1.QueryValidatorDelegationsResponse": { - "type": "object", - "properties": { - "delegation_responses": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.staking.v1beta1.DelegationResponse" - } - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "description": "pagination defines the pagination in the response." - } - }, - "title": "QueryValidatorDelegationsResponse is response type for the\nQuery/ValidatorDelegations RPC method" - }, - "cosmos.staking.v1beta1.QueryValidatorResponse": { - "type": "object", - "properties": { - "validator": { - "$ref": "#/definitions/cosmos.staking.v1beta1.Validator", - "description": "validator defines the the validator info." - } - }, - "title": "QueryValidatorResponse is response type for the Query/Validator RPC method" - }, - "cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse": { - "type": "object", - "properties": { - "unbonding_responses": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.staking.v1beta1.UnbondingDelegation" - } - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "description": "pagination defines the pagination in the response." - } - }, - "description": "QueryValidatorUnbondingDelegationsResponse is response type for the\nQuery/ValidatorUnbondingDelegations RPC method." - }, - "cosmos.staking.v1beta1.QueryValidatorsResponse": { - "type": "object", - "properties": { - "validators": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.staking.v1beta1.Validator" - }, - "description": "validators contains all the queried validators." - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "description": "pagination defines the pagination in the response." - } - }, - "title": "QueryValidatorsResponse is response type for the Query/Validators RPC method" - }, - "cosmos.staking.v1beta1.Redelegation": { - "type": "object", - "properties": { - "delegator_address": { - "type": "string" - }, - "validator_src_address": { - "type": "string" - }, - "validator_dst_address": { - "type": "string" - }, - "entries": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.staking.v1beta1.RedelegationEntry" - } - } - }, - "description": "Redelegation contains the list of a particular delegator's redelegating bonds\nfrom a particular source validator to a particular destination validator." - }, - "cosmos.staking.v1beta1.RedelegationEntry": { - "type": "object", - "properties": { - "creation_height": { - "type": "string", - "format": "int64" - }, - "completion_time": { - "type": "string", - "format": "date-time" - }, - "initial_balance": { - "type": "string" - }, - "shares_dst": { - "type": "string" - } - }, - "description": "RedelegationEntry defines a redelegation object with relevant metadata." - }, - "cosmos.staking.v1beta1.RedelegationEntryResponse": { - "type": "object", - "properties": { - "redelegation_entry": { - "$ref": "#/definitions/cosmos.staking.v1beta1.RedelegationEntry" - }, - "balance": { - "type": "string" - } - }, - "description": "RedelegationEntryResponse is equivalent to a RedelegationEntry except that it\ncontains a balance in addition to shares which is more suitable for client\nresponses." - }, - "cosmos.staking.v1beta1.RedelegationResponse": { - "type": "object", - "properties": { - "redelegation": { - "$ref": "#/definitions/cosmos.staking.v1beta1.Redelegation" - }, - "entries": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.staking.v1beta1.RedelegationEntryResponse" - } - } - }, - "description": "RedelegationResponse is equivalent to a Redelegation except that its entries\ncontain a balance in addition to shares which is more suitable for client\nresponses." - }, - "cosmos.staking.v1beta1.UnbondingDelegation": { - "type": "object", - "properties": { - "delegator_address": { - "type": "string" - }, - "validator_address": { - "type": "string" - }, - "entries": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.staking.v1beta1.UnbondingDelegationEntry" - } - } - }, - "description": "UnbondingDelegation stores all of a single delegator's unbonding bonds\nfor a single validator in an time-ordered list." - }, - "cosmos.staking.v1beta1.UnbondingDelegationEntry": { - "type": "object", - "properties": { - "creation_height": { - "type": "string", - "format": "int64" - }, - "completion_time": { - "type": "string", - "format": "date-time" - }, - "initial_balance": { - "type": "string" - }, - "balance": { - "type": "string" - } - }, - "description": "UnbondingDelegationEntry defines an unbonding object with relevant metadata." - }, - "cosmos.staking.v1beta1.Validator": { - "type": "object", - "properties": { - "operator_address": { - "type": "string" - }, - "consensus_pubkey": { - "type": "string" - }, - "jailed": { - "type": "boolean" - }, - "status": { - "$ref": "#/definitions/cosmos.staking.v1beta1.BondStatus" - }, - "tokens": { - "type": "string" - }, - "delegator_shares": { - "type": "string" - }, - "description": { - "$ref": "#/definitions/cosmos.staking.v1beta1.Description" - }, - "unbonding_height": { - "type": "string", - "format": "int64" - }, - "unbonding_time": { - "type": "string", - "format": "date-time" - }, - "commission": { - "$ref": "#/definitions/cosmos.staking.v1beta1.Commission" - }, - "min_self_delegation": { - "type": "string" - } - }, - "description": "Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nundelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate." - }, - "google.protobuf.Any": { - "type": "object", - "properties": { - "type_url": { - "type": "string" - }, - "value": { - "type": "string", - "format": "byte" - } - } - }, - "grpc.gateway.runtime.Error": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/google.protobuf.Any" - } - } - } - }, - "tendermint.types.BlockID": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "$ref": "#/definitions/tendermint.types.PartSetHeader" - } - }, - "title": "BlockID" - }, - "tendermint.types.Header": { - "type": "object", - "properties": { - "version": { - "$ref": "#/definitions/tendermint.version.Consensus", - "title": "basic block info" - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "$ref": "#/definitions/tendermint.types.BlockID", - "title": "prev block info" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" - } - }, - "description": "Header defines the structure of a Tendermint block header." - }, - "tendermint.types.PartSetHeader": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - }, - "tendermint.version.Consensus": { - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - } - } -} diff --git a/tmp-swagger-gen/cosmos/upgrade/v1beta1/query.swagger.json b/tmp-swagger-gen/cosmos/upgrade/v1beta1/query.swagger.json deleted file mode 100644 index 8bd406632d20..000000000000 --- a/tmp-swagger-gen/cosmos/upgrade/v1beta1/query.swagger.json +++ /dev/null @@ -1,157 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "cosmos/upgrade/v1beta1/query.proto", - "version": "version not set" - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/cosmos/upgrade/v1beta1/applied_plan/{name}": { - "get": { - "summary": "AppliedPlan queries a previously applied upgrade plan by its name.", - "operationId": "AppliedPlan", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.upgrade.v1beta1.QueryAppliedPlanResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "name", - "description": "name is the name of the applied plan to query for.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/upgrade/v1beta1/current_plan": { - "get": { - "summary": "CurrentPlan queries the current upgrade plan.", - "operationId": "CurrentPlan", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/cosmos.upgrade.v1beta1.QueryCurrentPlanResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "tags": [ - "Query" - ] - } - } - }, - "definitions": { - "cosmos.upgrade.v1beta1.Plan": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Sets the name for the upgrade. This name will be used by the upgraded\nversion of the software to apply any special \"on-upgrade\" commands during\nthe first BeginBlock method after the upgrade is applied. It is also used\nto detect whether a software version can handle a given upgrade. If no\nupgrade handler with this name has been set in the software, it will be\nassumed that the software is out-of-date when the upgrade Time or Height is\nreached and the software will exit." - }, - "time": { - "type": "string", - "format": "date-time", - "description": "The time after which the upgrade must be performed.\nLeave set to its zero value to use a pre-defined Height instead." - }, - "height": { - "type": "string", - "format": "int64", - "description": "The height at which the upgrade must be performed.\nOnly used if Time is not set." - }, - "info": { - "type": "string", - "title": "Any application specific upgrade info to be included on-chain\nsuch as a git commit that validators could automatically upgrade to" - }, - "upgraded_client_state": { - "$ref": "#/definitions/google.protobuf.Any", - "title": "IBC-enabled chains can opt-in to including the upgraded client state in its upgrade plan\nThis will make the chain commit to the correct upgraded (self) client state before the upgrade occurs,\nso that connecting chains can verify that the new upgraded client is valid by verifying a proof on the\nprevious version of the chain.\nThis will allow IBC connections to persist smoothly across planned chain upgrades" - } - }, - "description": "Plan specifies information about a planned upgrade and when it should occur." - }, - "cosmos.upgrade.v1beta1.QueryAppliedPlanResponse": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64", - "description": "height is the block height at which the plan was applied." - } - }, - "description": "QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC\nmethod." - }, - "cosmos.upgrade.v1beta1.QueryCurrentPlanResponse": { - "type": "object", - "properties": { - "plan": { - "$ref": "#/definitions/cosmos.upgrade.v1beta1.Plan", - "description": "plan is the current upgrade plan." - } - }, - "description": "QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC\nmethod." - }, - "google.protobuf.Any": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := ptypes.MarshalAny(foo)\n ...\n foo := \u0026pb.Foo{}\n if err := ptypes.UnmarshalAny(any, foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "grpc.gateway.runtime.Error": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/google.protobuf.Any" - } - } - } - } - } -} diff --git a/tmp-swagger-gen/ibc/applications/transfer/v1/query.swagger.json b/tmp-swagger-gen/ibc/applications/transfer/v1/query.swagger.json deleted file mode 100644 index 8211bf899ddf..000000000000 --- a/tmp-swagger-gen/ibc/applications/transfer/v1/query.swagger.json +++ /dev/null @@ -1,271 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "ibc/applications/transfer/v1/query.proto", - "version": "version not set" - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/ibc_transfer/v1beta1/denom_traces": { - "get": { - "summary": "DenomTraces queries all denomination traces.", - "operationId": "DenomTraces", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.applications.transfer.v1.QueryDenomTracesResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc_transfer/v1beta1/denom_traces/{hash}": { - "get": { - "summary": "DenomTrace queries a denomination trace information.", - "operationId": "DenomTrace", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.applications.transfer.v1.QueryDenomTraceResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "hash", - "description": "hash (in hex format) of the denomination trace information.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc_transfer/v1beta1/params": { - "get": { - "summary": "Params queries all parameters of the ibc-transfer module.", - "operationId": "Params", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.applications.transfer.v1.QueryParamsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "tags": [ - "Query" - ] - } - } - }, - "definitions": { - "cosmos.base.query.v1beta1.PageRequest": { - "type": "object", - "properties": { - "key": { - "type": "string", - "format": "byte", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set." - }, - "offset": { - "type": "string", - "format": "uint64", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set." - }, - "limit": { - "type": "string", - "format": "uint64", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app." - }, - "count_total": { - "type": "boolean", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set." - } - }, - "description": "message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }", - "title": "PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:" - }, - "cosmos.base.query.v1beta1.PageResponse": { - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "title": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently" - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" - }, - "google.protobuf.Any": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := ptypes.MarshalAny(foo)\n ...\n foo := \u0026pb.Foo{}\n if err := ptypes.UnmarshalAny(any, foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "grpc.gateway.runtime.Error": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/google.protobuf.Any" - } - } - } - }, - "ibc.applications.transfer.v1.DenomTrace": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "path defines the chain of port/channel identifiers used for tracing the\nsource of the fungible token." - }, - "base_denom": { - "type": "string", - "description": "base denomination of the relayed fungible token." - } - }, - "description": "DenomTrace contains the base denomination for ICS20 fungible tokens and the\nsource tracing information path." - }, - "ibc.applications.transfer.v1.Params": { - "type": "object", - "properties": { - "send_enabled": { - "type": "boolean", - "description": "send_enabled enables or disables all cross-chain token transfers from this\nchain." - }, - "receive_enabled": { - "type": "boolean", - "description": "receive_enabled enables or disables all cross-chain token transfers to this\nchain." - } - }, - "description": "Params defines the set of IBC transfer parameters.\nNOTE: To prevent a single token from being transferred, set the\nTransfersEnabled parameter to true and then set the bank module's SendEnabled\nparameter for the denomination to false." - }, - "ibc.applications.transfer.v1.QueryDenomTraceResponse": { - "type": "object", - "properties": { - "denom_trace": { - "$ref": "#/definitions/ibc.applications.transfer.v1.DenomTrace", - "description": "denom_trace returns the requested denomination trace information." - } - }, - "description": "QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC\nmethod." - }, - "ibc.applications.transfer.v1.QueryDenomTracesResponse": { - "type": "object", - "properties": { - "denom_traces": { - "type": "array", - "items": { - "$ref": "#/definitions/ibc.applications.transfer.v1.DenomTrace" - }, - "description": "denom_traces returns all denominations trace information." - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "description": "pagination defines the pagination in the response." - } - }, - "description": "QueryConnectionsResponse is the response type for the Query/DenomTraces RPC\nmethod." - }, - "ibc.applications.transfer.v1.QueryParamsResponse": { - "type": "object", - "properties": { - "params": { - "$ref": "#/definitions/ibc.applications.transfer.v1.Params", - "description": "params defines the parameters of the module." - } - }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." - } - } -} diff --git a/tmp-swagger-gen/ibc/core/channel/v1/query.swagger.json b/tmp-swagger-gen/ibc/core/channel/v1/query.swagger.json deleted file mode 100644 index 1a8be6c5989e..000000000000 --- a/tmp-swagger-gen/ibc/core/channel/v1/query.swagger.json +++ /dev/null @@ -1,1055 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "ibc/core/channel/v1/query.proto", - "version": "version not set" - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/ibc/channel/v1beta1/channels": { - "get": { - "summary": "Channels queries all the IBC channels of a chain.", - "operationId": "Channels", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.channel.v1.QueryChannelsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/channel/v1beta1/channels/{channel_id}/ports/{port_id}": { - "get": { - "summary": "Channel queries an IBC Channel.", - "operationId": "Channel", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.channel.v1.QueryChannelResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "channel_id", - "description": "channel unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "port_id", - "description": "port unique identifier", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/channel/v1beta1/channels/{channel_id}/ports/{port_id}/client_state": { - "get": { - "summary": "ChannelClientState queries for the client state for the channel associated\nwith the provided channel identifiers.", - "operationId": "ChannelClientState", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.channel.v1.QueryChannelClientStateResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "channel_id", - "description": "channel unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "port_id", - "description": "port unique identifier", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/channel/v1beta1/channels/{channel_id}/ports/{port_id}/consensus_state/version/{version_number}/height/{version_height}": { - "get": { - "summary": "ChannelConsensusState queries for the consensus state for the channel\nassociated with the provided channel identifiers.", - "operationId": "ChannelConsensusState", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.channel.v1.QueryChannelConsensusStateResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "channel_id", - "description": "channel unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "port_id", - "description": "port unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "version_number", - "description": "version number of the consensus state", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "version_height", - "description": "version height of the consensus state", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/channel/v1beta1/channels/{channel_id}/ports/{port_id}/next_sequence": { - "get": { - "summary": "NextSequenceReceive returns the next receive sequence for a given channel.", - "operationId": "NextSequenceReceive", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.channel.v1.QueryNextSequenceReceiveResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "channel_id", - "description": "channel unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "port_id", - "description": "port unique identifier", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_acks/{sequence}": { - "get": { - "summary": "PacketAcknowledgement queries a stored packet acknowledgement hash.", - "operationId": "PacketAcknowledgement", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.channel.v1.QueryPacketAcknowledgementResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "channel_id", - "description": "channel unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "port_id", - "description": "port unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "sequence", - "description": "packet sequence", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_commitments": { - "get": { - "summary": "PacketCommitments returns the all the packet commitments hashes associated\nwith a channel.", - "operationId": "PacketCommitments", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.channel.v1.QueryPacketCommitmentsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "channel_id", - "description": "channel unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "port_id", - "description": "port unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_commitment_sequences}/unreceived_packets": { - "get": { - "summary": "UnreceivedPackets returns all the unrelayed IBC packets associated with a\nchannel and sequences.", - "operationId": "UnreceivedPackets", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.channel.v1.QueryUnreceivedPacketsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "channel_id", - "description": "channel unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "port_id", - "description": "port unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "packet_commitment_sequences", - "description": "list of packet sequences", - "in": "path", - "required": true, - "type": "array", - "items": { - "type": "string", - "format": "uint64" - }, - "collectionFormat": "csv", - "minItems": 1 - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_commitment_sequences}/unrelayed_acks": { - "get": { - "summary": "UnrelayedAcks returns all the unrelayed IBC acknowledgements associated with a\nchannel and sequences.", - "operationId": "UnrelayedAcks", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.channel.v1.QueryUnrelayedAcksResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "channel_id", - "description": "channel unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "port_id", - "description": "port unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "packet_commitment_sequences", - "description": "list of commitment sequences", - "in": "path", - "required": true, - "type": "array", - "items": { - "type": "string", - "format": "uint64" - }, - "collectionFormat": "csv", - "minItems": 1 - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_commitments/{sequence}": { - "get": { - "summary": "PacketCommitment queries a stored packet commitment hash.", - "operationId": "PacketCommitment", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.channel.v1.QueryPacketCommitmentResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "channel_id", - "description": "channel unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "port_id", - "description": "port unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "sequence", - "description": "packet sequence", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/channel/v1beta1/connections/{connection}/channels": { - "get": { - "summary": "ConnectionChannels queries all the channels associated with a connection\nend.", - "operationId": "ConnectionChannels", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.channel.v1.QueryConnectionChannelsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "connection", - "description": "connection unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - } - }, - "definitions": { - "cosmos.base.query.v1beta1.PageRequest": { - "type": "object", - "properties": { - "key": { - "type": "string", - "format": "byte", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set." - }, - "offset": { - "type": "string", - "format": "uint64", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set." - }, - "limit": { - "type": "string", - "format": "uint64", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app." - }, - "count_total": { - "type": "boolean", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set." - } - }, - "description": "message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }", - "title": "PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:" - }, - "cosmos.base.query.v1beta1.PageResponse": { - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "title": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently" - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" - }, - "google.protobuf.Any": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := ptypes.MarshalAny(foo)\n ...\n foo := \u0026pb.Foo{}\n if err := ptypes.UnmarshalAny(any, foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "grpc.gateway.runtime.Error": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/google.protobuf.Any" - } - } - } - }, - "ibc.core.channel.v1.Channel": { - "type": "object", - "properties": { - "state": { - "$ref": "#/definitions/ibc.core.channel.v1.State", - "title": "current state of the channel end" - }, - "ordering": { - "$ref": "#/definitions/ibc.core.channel.v1.Order", - "title": "whether the channel is ordered or unordered" - }, - "counterparty": { - "$ref": "#/definitions/ibc.core.channel.v1.Counterparty", - "title": "counterparty channel end" - }, - "connection_hops": { - "type": "array", - "items": { - "type": "string" - }, - "title": "list of connection identifiers, in order, along which packets sent on\nthis channel will travel" - }, - "version": { - "type": "string", - "title": "opaque channel version, which is agreed upon during the handshake" - } - }, - "description": "Channel defines pipeline for exactly-once packet delivery between specific\nmodules on separate blockchains, which has at least one end capable of\nsending packets and one end capable of receiving packets." - }, - "ibc.core.channel.v1.Counterparty": { - "type": "object", - "properties": { - "port_id": { - "type": "string", - "description": "port on the counterparty chain which owns the other end of the channel." - }, - "channel_id": { - "type": "string", - "title": "channel end on the counterparty chain" - } - }, - "title": "Counterparty defines a channel end counterparty" - }, - "ibc.core.channel.v1.IdentifiedChannel": { - "type": "object", - "properties": { - "state": { - "$ref": "#/definitions/ibc.core.channel.v1.State", - "title": "current state of the channel end" - }, - "ordering": { - "$ref": "#/definitions/ibc.core.channel.v1.Order", - "title": "whether the channel is ordered or unordered" - }, - "counterparty": { - "$ref": "#/definitions/ibc.core.channel.v1.Counterparty", - "title": "counterparty channel end" - }, - "connection_hops": { - "type": "array", - "items": { - "type": "string" - }, - "title": "list of connection identifiers, in order, along which packets sent on\nthis channel will travel" - }, - "version": { - "type": "string", - "title": "opaque channel version, which is agreed upon during the handshake" - }, - "port_id": { - "type": "string", - "title": "port identifier" - }, - "channel_id": { - "type": "string", - "title": "channel identifier" - } - }, - "description": "IdentifiedChannel defines a channel with additional port and channel\nidentifier fields." - }, - "ibc.core.channel.v1.Order": { - "type": "string", - "enum": [ - "ORDER_NONE_UNSPECIFIED", - "ORDER_UNORDERED", - "ORDER_ORDERED" - ], - "default": "ORDER_NONE_UNSPECIFIED", - "description": "- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering\n - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in\nwhich they were sent.\n - ORDER_ORDERED: packets are delivered exactly in the order which they were sent", - "title": "Order defines if a channel is ORDERED or UNORDERED" - }, - "ibc.core.channel.v1.PacketAckCommitment": { - "type": "object", - "properties": { - "port_id": { - "type": "string", - "description": "channel port identifier." - }, - "channel_id": { - "type": "string", - "description": "channel unique identifier." - }, - "sequence": { - "type": "string", - "format": "uint64", - "description": "packet sequence." - }, - "hash": { - "type": "string", - "format": "byte", - "description": "packet commitment hash." - } - }, - "description": "PacketAckCommitment defines the genesis type necessary to retrieve and store\nacknowlegements." - }, - "ibc.core.channel.v1.QueryChannelClientStateResponse": { - "type": "object", - "properties": { - "identified_client_state": { - "$ref": "#/definitions/ibc.core.client.v1.IdentifiedClientState", - "title": "client state associated with the channel" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_path": { - "type": "string", - "title": "merkle proof path" - }, - "proof_height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "height at which the proof was retrieved" - } - }, - "title": "QueryChannelClientStateResponse is the Response type for the\nQuery/QueryChannelClientState RPC method" - }, - "ibc.core.channel.v1.QueryChannelConsensusStateResponse": { - "type": "object", - "properties": { - "consensus_state": { - "$ref": "#/definitions/google.protobuf.Any", - "title": "consensus state associated with the channel" - }, - "client_id": { - "type": "string", - "title": "client ID associated with the consensus state" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_path": { - "type": "string", - "title": "merkle proof path" - }, - "proof_height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "height at which the proof was retrieved" - } - }, - "title": "QueryChannelClientStateResponse is the Response type for the\nQuery/QueryChannelClientState RPC method" - }, - "ibc.core.channel.v1.QueryChannelResponse": { - "type": "object", - "properties": { - "channel": { - "$ref": "#/definitions/ibc.core.channel.v1.Channel", - "title": "channel associated with the request identifiers" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_path": { - "type": "string", - "title": "merkle proof path" - }, - "proof_height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "height at which the proof was retrieved" - } - }, - "description": "QueryChannelResponse is the response type for the Query/Channel RPC method.\nBesides the Channel end, it includes a proof and the height from which the\nproof was retrieved." - }, - "ibc.core.channel.v1.QueryChannelsResponse": { - "type": "object", - "properties": { - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/ibc.core.channel.v1.IdentifiedChannel" - }, - "description": "list of stored channels of the chain." - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "title": "pagination response" - }, - "height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "query block height" - } - }, - "description": "QueryChannelsResponse is the response type for the Query/Channels RPC method." - }, - "ibc.core.channel.v1.QueryConnectionChannelsResponse": { - "type": "object", - "properties": { - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/ibc.core.channel.v1.IdentifiedChannel" - }, - "description": "list of channels associated with a connection." - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "title": "pagination response" - }, - "height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "query block height" - } - }, - "title": "QueryConnectionChannelsResponse is the Response type for the\nQuery/QueryConnectionChannels RPC method" - }, - "ibc.core.channel.v1.QueryNextSequenceReceiveResponse": { - "type": "object", - "properties": { - "next_sequence_receive": { - "type": "string", - "format": "uint64", - "title": "next sequence receive number" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_path": { - "type": "string", - "title": "merkle proof path" - }, - "proof_height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "height at which the proof was retrieved" - } - }, - "title": "QuerySequenceResponse is the request type for the\nQuery/QueryNextSequenceReceiveResponse RPC method" - }, - "ibc.core.channel.v1.QueryPacketAcknowledgementResponse": { - "type": "object", - "properties": { - "acknowledgement": { - "type": "string", - "format": "byte", - "title": "packet associated with the request fields" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_path": { - "type": "string", - "title": "merkle proof path" - }, - "proof_height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "height at which the proof was retrieved" - } - }, - "title": "QueryPacketAcknowledgementResponse defines the client query response for a\npacket which also includes a proof, its path and the height form which the\nproof was retrieved" - }, - "ibc.core.channel.v1.QueryPacketCommitmentResponse": { - "type": "object", - "properties": { - "commitment": { - "type": "string", - "format": "byte", - "title": "packet associated with the request fields" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_path": { - "type": "string", - "title": "merkle proof path" - }, - "proof_height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "height at which the proof was retrieved" - } - }, - "title": "QueryPacketCommitmentResponse defines the client query response for a packet\nwhich also includes a proof, its path and the height form which the proof was\nretrieved" - }, - "ibc.core.channel.v1.QueryPacketCommitmentsResponse": { - "type": "object", - "properties": { - "commitments": { - "type": "array", - "items": { - "$ref": "#/definitions/ibc.core.channel.v1.PacketAckCommitment" - } - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "title": "pagination response" - }, - "height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "query block height" - } - }, - "title": "QueryPacketCommitmentsResponse is the request type for the\nQuery/QueryPacketCommitments RPC method" - }, - "ibc.core.channel.v1.QueryUnreceivedPacketsResponse": { - "type": "object", - "properties": { - "sequences": { - "type": "array", - "items": { - "type": "string", - "format": "uint64" - }, - "title": "list of unreceived packet sequences" - }, - "height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "query block height" - } - }, - "title": "QueryUnreceivedPacketsResponse is the response type for the\nQuery/UnreceivedPacketCommitments RPC method" - }, - "ibc.core.channel.v1.QueryUnrelayedAcksResponse": { - "type": "object", - "properties": { - "sequences": { - "type": "array", - "items": { - "type": "string", - "format": "uint64" - }, - "title": "list of unrelayed acknowledgement sequences" - }, - "height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "query block height" - } - }, - "title": "QueryUnrelayedAcksResponse is the response type for the\nQuery/UnrelayedAcks RPC method" - }, - "ibc.core.channel.v1.State": { - "type": "string", - "enum": [ - "STATE_UNINITIALIZED_UNSPECIFIED", - "STATE_INIT", - "STATE_TRYOPEN", - "STATE_OPEN", - "STATE_CLOSED" - ], - "default": "STATE_UNINITIALIZED_UNSPECIFIED", - "description": "State defines if a channel is in one of the following states:\nCLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED.\n\n - STATE_UNINITIALIZED_UNSPECIFIED: Default State\n - STATE_INIT: A channel has just started the opening handshake.\n - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.\n - STATE_OPEN: A channel has completed the handshake. Open channels are\nready to send and receive packets.\n - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive\npackets." - }, - "ibc.core.client.v1.Height": { - "type": "object", - "properties": { - "version_number": { - "type": "string", - "format": "uint64", - "title": "the version that the client is currently on" - }, - "version_height": { - "type": "string", - "format": "uint64", - "title": "the height within the given version" - } - }, - "description": "Normally the VersionHeight is incremented at each height while keeping version\nnumber the same However some consensus algorithms may choose to reset the\nheight in certain conditions e.g. hard forks, state-machine breaking changes\nIn these cases, the version number is incremented so that height continues to\nbe monitonically increasing even as the VersionHeight gets reset", - "title": "Height is a monotonically increasing data type\nthat can be compared against another Height for the purposes of updating and\nfreezing clients" - }, - "ibc.core.client.v1.IdentifiedClientState": { - "type": "object", - "properties": { - "client_id": { - "type": "string", - "title": "client identifier" - }, - "client_state": { - "$ref": "#/definitions/google.protobuf.Any", - "title": "client state" - } - }, - "description": "IdentifiedClientState defines a client state with an additional client\nidentifier field." - } - } -} diff --git a/tmp-swagger-gen/ibc/core/client/v1/query.swagger.json b/tmp-swagger-gen/ibc/core/client/v1/query.swagger.json deleted file mode 100644 index 15fe46dace63..000000000000 --- a/tmp-swagger-gen/ibc/core/client/v1/query.swagger.json +++ /dev/null @@ -1,426 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "ibc/core/client/v1/query.proto", - "version": "version not set" - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/ibc/client/v1beta1/client_states": { - "get": { - "summary": "ClientStates queries all the IBC light clients of a chain.", - "operationId": "ClientStates", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.client.v1.QueryClientStatesResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/client/v1beta1/client_states/{client_id}": { - "get": { - "summary": "ClientState queries an IBC light client.", - "operationId": "ClientState", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.client.v1.QueryClientStateResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "client_id", - "description": "client state unique identifier", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/client/v1beta1/consensus_states/{client_id}": { - "get": { - "summary": "ConsensusStates queries all the consensus state associated with a given\nclient.", - "operationId": "ConsensusStates", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.client.v1.QueryConsensusStatesResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "client_id", - "description": "client identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/client/v1beta1/consensus_states/{client_id}/version/{version_number}/height/{version_height}": { - "get": { - "summary": "ConsensusState queries a consensus state associated with a client state at\na given height.", - "operationId": "ConsensusState", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.client.v1.QueryConsensusStateResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "client_id", - "description": "client identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "version_number", - "description": "consensus state version number", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "version_height", - "description": "consensus state version height", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "latest_height", - "description": "latest_height overrrides the height field and queries the latest stored\nConsensusState.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - } - }, - "definitions": { - "cosmos.base.query.v1beta1.PageRequest": { - "type": "object", - "properties": { - "key": { - "type": "string", - "format": "byte", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set." - }, - "offset": { - "type": "string", - "format": "uint64", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set." - }, - "limit": { - "type": "string", - "format": "uint64", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app." - }, - "count_total": { - "type": "boolean", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set." - } - }, - "description": "message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }", - "title": "PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:" - }, - "cosmos.base.query.v1beta1.PageResponse": { - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "title": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently" - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" - }, - "google.protobuf.Any": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := ptypes.MarshalAny(foo)\n ...\n foo := \u0026pb.Foo{}\n if err := ptypes.UnmarshalAny(any, foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "grpc.gateway.runtime.Error": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/google.protobuf.Any" - } - } - } - }, - "ibc.core.client.v1.ConsensusStateWithHeight": { - "type": "object", - "properties": { - "height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "consensus state height" - }, - "consensus_state": { - "$ref": "#/definitions/google.protobuf.Any", - "title": "consensus state" - } - }, - "description": "ConsensusStateWithHeight defines a consensus state with an additional height field." - }, - "ibc.core.client.v1.Height": { - "type": "object", - "properties": { - "version_number": { - "type": "string", - "format": "uint64", - "title": "the version that the client is currently on" - }, - "version_height": { - "type": "string", - "format": "uint64", - "title": "the height within the given version" - } - }, - "description": "Normally the VersionHeight is incremented at each height while keeping version\nnumber the same However some consensus algorithms may choose to reset the\nheight in certain conditions e.g. hard forks, state-machine breaking changes\nIn these cases, the version number is incremented so that height continues to\nbe monitonically increasing even as the VersionHeight gets reset", - "title": "Height is a monotonically increasing data type\nthat can be compared against another Height for the purposes of updating and\nfreezing clients" - }, - "ibc.core.client.v1.IdentifiedClientState": { - "type": "object", - "properties": { - "client_id": { - "type": "string", - "title": "client identifier" - }, - "client_state": { - "$ref": "#/definitions/google.protobuf.Any", - "title": "client state" - } - }, - "description": "IdentifiedClientState defines a client state with an additional client\nidentifier field." - }, - "ibc.core.client.v1.QueryClientStateResponse": { - "type": "object", - "properties": { - "client_state": { - "$ref": "#/definitions/google.protobuf.Any", - "title": "client state associated with the request identifier" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_path": { - "type": "string", - "title": "merkle proof path" - }, - "proof_height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "height at which the proof was retrieved" - } - }, - "description": "QueryClientStateResponse is the response type for the Query/ClientState RPC\nmethod. Besides the client state, it includes a proof and the height from\nwhich the proof was retrieved." - }, - "ibc.core.client.v1.QueryClientStatesResponse": { - "type": "object", - "properties": { - "client_states": { - "type": "array", - "items": { - "$ref": "#/definitions/ibc.core.client.v1.IdentifiedClientState" - }, - "description": "list of stored ClientStates of the chain." - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "title": "pagination response" - } - }, - "description": "QueryClientStatesResponse is the response type for the Query/ClientStates RPC\nmethod." - }, - "ibc.core.client.v1.QueryConsensusStateResponse": { - "type": "object", - "properties": { - "consensus_state": { - "$ref": "#/definitions/google.protobuf.Any", - "title": "consensus state associated with the client identifier at the given height" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_path": { - "type": "string", - "title": "merkle proof path" - }, - "proof_height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "height at which the proof was retrieved" - } - }, - "title": "QueryConsensusStateResponse is the response type for the Query/ConsensusState\nRPC method" - }, - "ibc.core.client.v1.QueryConsensusStatesResponse": { - "type": "object", - "properties": { - "consensus_states": { - "type": "array", - "items": { - "$ref": "#/definitions/ibc.core.client.v1.ConsensusStateWithHeight" - }, - "title": "consensus states associated with the identifier" - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "title": "pagination response" - } - }, - "title": "QueryConsensusStatesResponse is the response type for the\nQuery/ConsensusStates RPC method" - } - } -} diff --git a/tmp-swagger-gen/ibc/core/connection/v1/query.swagger.json b/tmp-swagger-gen/ibc/core/connection/v1/query.swagger.json deleted file mode 100644 index 1ef12294ac2e..000000000000 --- a/tmp-swagger-gen/ibc/core/connection/v1/query.swagger.json +++ /dev/null @@ -1,537 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "ibc/core/connection/v1/query.proto", - "version": "version not set" - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/ibc/connection/v1beta1/client_connections/{client_id}": { - "get": { - "summary": "ClientConnections queries the connection paths associated with a client\nstate.", - "operationId": "ClientConnections", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.connection.v1.QueryClientConnectionsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "client_id", - "description": "client identifier associated with a connection", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/connection/v1beta1/connections": { - "get": { - "summary": "Connections queries all the IBC connections of a chain.", - "operationId": "Connections", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.connection.v1.QueryConnectionsResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/connection/v1beta1/connections/{connection_id}": { - "get": { - "summary": "Connection queries an IBC connection end.", - "operationId": "Connection", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.connection.v1.QueryConnectionResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "connection_id", - "description": "connection unique identifier", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/connection/v1beta1/connections/{connection_id}/client_state": { - "get": { - "summary": "ConnectionClientState queries the client state associated with the\nconnection.", - "operationId": "ConnectionClientState", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.connection.v1.QueryConnectionClientStateResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "connection_id", - "description": "connection identifier", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/connection/v1beta1/connections/{connection_id}/consensus_state/version/{version_number}/height/{version_height}": { - "get": { - "summary": "ConnectionConsensusState queries the consensus state associated with the\nconnection.", - "operationId": "ConnectionConsensusState", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ibc.core.connection.v1.QueryConnectionConsensusStateResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "connection_id", - "description": "connection identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "version_number", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "version_height", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - } - ], - "tags": [ - "Query" - ] - } - } - }, - "definitions": { - "cosmos.base.query.v1beta1.PageRequest": { - "type": "object", - "properties": { - "key": { - "type": "string", - "format": "byte", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set." - }, - "offset": { - "type": "string", - "format": "uint64", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set." - }, - "limit": { - "type": "string", - "format": "uint64", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app." - }, - "count_total": { - "type": "boolean", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set." - } - }, - "description": "message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }", - "title": "PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:" - }, - "cosmos.base.query.v1beta1.PageResponse": { - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "title": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently" - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" - }, - "google.protobuf.Any": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := ptypes.MarshalAny(foo)\n ...\n foo := \u0026pb.Foo{}\n if err := ptypes.UnmarshalAny(any, foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "grpc.gateway.runtime.Error": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/google.protobuf.Any" - } - } - } - }, - "ibc.core.client.v1.Height": { - "type": "object", - "properties": { - "version_number": { - "type": "string", - "format": "uint64", - "title": "the version that the client is currently on" - }, - "version_height": { - "type": "string", - "format": "uint64", - "title": "the height within the given version" - } - }, - "description": "Normally the VersionHeight is incremented at each height while keeping version\nnumber the same However some consensus algorithms may choose to reset the\nheight in certain conditions e.g. hard forks, state-machine breaking changes\nIn these cases, the version number is incremented so that height continues to\nbe monitonically increasing even as the VersionHeight gets reset", - "title": "Height is a monotonically increasing data type\nthat can be compared against another Height for the purposes of updating and\nfreezing clients" - }, - "ibc.core.client.v1.IdentifiedClientState": { - "type": "object", - "properties": { - "client_id": { - "type": "string", - "title": "client identifier" - }, - "client_state": { - "$ref": "#/definitions/google.protobuf.Any", - "title": "client state" - } - }, - "description": "IdentifiedClientState defines a client state with an additional client\nidentifier field." - }, - "ibc.core.commitment.v1.MerklePrefix": { - "type": "object", - "properties": { - "key_prefix": { - "type": "string", - "format": "byte" - } - }, - "title": "MerklePrefix is merkle path prefixed to the key.\nThe constructed key from the Path and the key will be append(Path.KeyPath,\nappend(Path.KeyPrefix, key...))" - }, - "ibc.core.connection.v1.ConnectionEnd": { - "type": "object", - "properties": { - "client_id": { - "type": "string", - "description": "client associated with this connection." - }, - "versions": { - "type": "array", - "items": { - "type": "string" - }, - "title": "IBC version which can be utilised to determine encodings or protocols for\nchannels or packets utilising this connection" - }, - "state": { - "$ref": "#/definitions/ibc.core.connection.v1.State", - "description": "current state of the connection end." - }, - "counterparty": { - "$ref": "#/definitions/ibc.core.connection.v1.Counterparty", - "description": "counterparty chain associated with this connection." - } - }, - "description": "ConnectionEnd defines a stateful object on a chain connected to another\nseparate one. NOTE: there must only be 2 defined ConnectionEnds to establish\na connection between two chains." - }, - "ibc.core.connection.v1.Counterparty": { - "type": "object", - "properties": { - "client_id": { - "type": "string", - "description": "identifies the client on the counterparty chain associated with a given\nconnection." - }, - "connection_id": { - "type": "string", - "description": "identifies the connection end on the counterparty chain associated with a\ngiven connection." - }, - "prefix": { - "$ref": "#/definitions/ibc.core.commitment.v1.MerklePrefix", - "title": "commitment merkle prefix of the counterparty chain" - } - }, - "description": "Counterparty defines the counterparty chain associated with a connection end." - }, - "ibc.core.connection.v1.IdentifiedConnection": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "connection identifier." - }, - "client_id": { - "type": "string", - "description": "client associated with this connection." - }, - "versions": { - "type": "array", - "items": { - "type": "string" - }, - "title": "IBC version which can be utilised to determine encodings or protocols for\nchannels or packets utilising this connection" - }, - "state": { - "$ref": "#/definitions/ibc.core.connection.v1.State", - "description": "current state of the connection end." - }, - "counterparty": { - "$ref": "#/definitions/ibc.core.connection.v1.Counterparty", - "description": "counterparty chain associated with this connection." - } - }, - "description": "IdentifiedConnection defines a connection with additional connection\nidentifier field." - }, - "ibc.core.connection.v1.QueryClientConnectionsResponse": { - "type": "object", - "properties": { - "connection_paths": { - "type": "array", - "items": { - "type": "string" - }, - "description": "slice of all the connection paths associated with a client." - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_path": { - "type": "string", - "title": "merkle proof path" - }, - "proof_height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "height at which the proof was generated" - } - }, - "title": "QueryClientConnectionsResponse is the response type for the\nQuery/ClientConnections RPC method" - }, - "ibc.core.connection.v1.QueryConnectionClientStateResponse": { - "type": "object", - "properties": { - "identified_client_state": { - "$ref": "#/definitions/ibc.core.client.v1.IdentifiedClientState", - "title": "client state associated with the channel" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_path": { - "type": "string", - "title": "merkle proof path" - }, - "proof_height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "height at which the proof was retrieved" - } - }, - "title": "QueryConnectionClientStateResponse is the response type for the\nQuery/ConnectionClientState RPC method" - }, - "ibc.core.connection.v1.QueryConnectionConsensusStateResponse": { - "type": "object", - "properties": { - "consensus_state": { - "$ref": "#/definitions/google.protobuf.Any", - "title": "consensus state associated with the channel" - }, - "client_id": { - "type": "string", - "title": "client ID associated with the consensus state" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_path": { - "type": "string", - "title": "merkle proof path" - }, - "proof_height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "height at which the proof was retrieved" - } - }, - "title": "QueryConnectionConsensusStateResponse is the response type for the\nQuery/ConnectionConsensusState RPC method" - }, - "ibc.core.connection.v1.QueryConnectionResponse": { - "type": "object", - "properties": { - "connection": { - "$ref": "#/definitions/ibc.core.connection.v1.ConnectionEnd", - "title": "connection associated with the request identifier" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_path": { - "type": "string", - "title": "merkle proof path" - }, - "proof_height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "height at which the proof was retrieved" - } - }, - "description": "QueryConnectionResponse is the response type for the Query/Connection RPC\nmethod. Besides the connection end, it includes a proof and the height from\nwhich the proof was retrieved." - }, - "ibc.core.connection.v1.QueryConnectionsResponse": { - "type": "object", - "properties": { - "connections": { - "type": "array", - "items": { - "$ref": "#/definitions/ibc.core.connection.v1.IdentifiedConnection" - }, - "description": "list of stored connections of the chain." - }, - "pagination": { - "$ref": "#/definitions/cosmos.base.query.v1beta1.PageResponse", - "title": "pagination response" - }, - "height": { - "$ref": "#/definitions/ibc.core.client.v1.Height", - "title": "query block height" - } - }, - "description": "QueryConnectionsResponse is the response type for the Query/Connections RPC\nmethod." - }, - "ibc.core.connection.v1.State": { - "type": "string", - "enum": [ - "STATE_UNINITIALIZED_UNSPECIFIED", - "STATE_INIT", - "STATE_TRYOPEN", - "STATE_OPEN" - ], - "default": "STATE_UNINITIALIZED_UNSPECIFIED", - "description": "State defines if a connection is in one of the following states:\nINIT, TRYOPEN, OPEN or UNINITIALIZED.\n\n - STATE_UNINITIALIZED_UNSPECIFIED: Default State\n - STATE_INIT: A connection end has just started the opening handshake.\n - STATE_TRYOPEN: A connection end has acknowledged the handshake step on the counterparty\nchain.\n - STATE_OPEN: A connection end has completed the handshake." - } - } -} From 4c005f6b6373da7490e4d43e59b283eb03263e5e Mon Sep 17 00:00:00 2001 From: Cory Date: Fri, 16 Oct 2020 12:27:20 -0700 Subject: [PATCH 3/4] Update x/auth/vesting/msg_server.go Co-authored-by: Marie Gauthier --- x/auth/vesting/msg_server.go | 1 - 1 file changed, 1 deletion(-) diff --git a/x/auth/vesting/msg_server.go b/x/auth/vesting/msg_server.go index 678210ab2291..192e078b9a69 100644 --- a/x/auth/vesting/msg_server.go +++ b/x/auth/vesting/msg_server.go @@ -27,7 +27,6 @@ func NewMsgServerImpl(k keeper.AccountKeeper, bk types.BankKeeper) types.MsgServ var _ types.MsgServer = msgServer{} func (s msgServer) CreateVestingAccount(goCtx context.Context, msg *types.MsgCreateVestingAccount) (*types.MsgCreateVestingAccountResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) ak := s.AccountKeeper bk := s.BankKeeper From 5cf30915570d326fd46ee21624b61e203d068270 Mon Sep 17 00:00:00 2001 From: Cory Levinson Date: Fri, 16 Oct 2020 12:27:35 -0700 Subject: [PATCH 4/4] golangci-lint fix --- x/auth/vesting/msg_server.go | 1 + 1 file changed, 1 insertion(+) diff --git a/x/auth/vesting/msg_server.go b/x/auth/vesting/msg_server.go index 678210ab2291..14fd7dbfda1f 100644 --- a/x/auth/vesting/msg_server.go +++ b/x/auth/vesting/msg_server.go @@ -2,6 +2,7 @@ package vesting import ( "context" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" "github.com/armon/go-metrics"