diff --git a/cosmovisor/go.sum b/cosmovisor/go.sum index 4506c2a5a19d..d4e8919a2680 100644 --- a/cosmovisor/go.sum +++ b/cosmovisor/go.sum @@ -72,7 +72,6 @@ github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= diff --git a/docs/core/proto-docs.md b/docs/core/proto-docs.md index 577aa692245a..3de9be74fccd 100644 --- a/docs/core/proto-docs.md +++ b/docs/core/proto-docs.md @@ -6573,6 +6573,8 @@ multiplied by exchange rate. | `unbonding_time` | [google.protobuf.Timestamp](#google.protobuf.Timestamp) | | unbonding_time defines, if unbonding, the min time for the validator to complete unbonding. | | `commission` | [Commission](#cosmos.staking.v1beta1.Commission) | | commission defines the commission parameters. | | `min_self_delegation` | [string](#string) | | min_self_delegation is the validator's self declared minimum self delegation. | +| `orchestrator` | [string](#string) | | The orchestrator field is a celes1... string (i.e. sdk.AccAddress) that references the key that is being delegated to | +| `eth_address` | [string](#string) | | This is a hex encoded 0x Ethereum public key that will be used by this validator on Ethereum | @@ -7198,6 +7200,8 @@ MsgCreateValidator defines a SDK message for creating a new validator. | `validator_address` | [string](#string) | | | | `pubkey` | [google.protobuf.Any](#google.protobuf.Any) | | | | `value` | [cosmos.base.v1beta1.Coin](#cosmos.base.v1beta1.Coin) | | | +| `orchestrator` | [string](#string) | | The orchestrator field is a celes1... string (i.e. sdk.AccAddress) that references the key that is being delegated to | +| `eth_address` | [string](#string) | | This is a hex encoded 0x Ethereum public key that will be used by this validator on Ethereum | @@ -7254,6 +7258,8 @@ MsgEditValidator defines a SDK message for editing an existing validator. | `validator_address` | [string](#string) | | | | `commission_rate` | [string](#string) | | We pass a reference to the new commission rate and min self delegation as it's not mandatory to update. If not updated, the deserialized rate will be zero with no way to distinguish if an update was intended. REF: #2373 | | `min_self_delegation` | [string](#string) | | | +| `orchestrator` | [string](#string) | | | +| `eth_address` | [string](#string) | | | diff --git a/proto/cosmos/staking/v1beta1/staking.proto b/proto/cosmos/staking/v1beta1/staking.proto index 76e9599e2d35..fd86db572324 100644 --- a/proto/cosmos/staking/v1beta1/staking.proto +++ b/proto/cosmos/staking/v1beta1/staking.proto @@ -117,6 +117,12 @@ message Validator { (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false ]; + // The orchestrator field is a celes1... string (i.e. sdk.AccAddress) that + // references the key that is being delegated to + string orchestrator = 12; + // This is a hex encoded 0x Ethereum public key that will be used by this + // validator on Ethereum + string eth_address = 13; } // BondStatus is the status of a validator. diff --git a/proto/cosmos/staking/v1beta1/tx.proto b/proto/cosmos/staking/v1beta1/tx.proto index 7b05d89eea22..93893a16950f 100644 --- a/proto/cosmos/staking/v1beta1/tx.proto +++ b/proto/cosmos/staking/v1beta1/tx.proto @@ -48,6 +48,12 @@ message MsgCreateValidator { string validator_address = 5 [(gogoproto.moretags) = "yaml:\"validator_address\""]; google.protobuf.Any pubkey = 6 [(cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey"]; cosmos.base.v1beta1.Coin value = 7 [(gogoproto.nullable) = false]; + // The orchestrator field is a celes1... string (i.e. sdk.AccAddress) that + // references the key that is being delegated to + string orchestrator = 8; + // This is a hex encoded 0x Ethereum public key that will be used by this + // validator on Ethereum + string eth_address = 9; } // MsgCreateValidatorResponse defines the Msg/CreateValidator response type. @@ -73,6 +79,8 @@ message MsgEditValidator { (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.moretags) = "yaml:\"min_self_delegation\"" ]; + string orchestrator = 5; + string eth_address = 6; } // MsgEditValidatorResponse defines the Msg/EditValidator response type. diff --git a/simapp/simd/cmd/testnet.go b/simapp/simd/cmd/testnet.go index 071d9364d0e2..0b2d3c669941 100644 --- a/simapp/simd/cmd/testnet.go +++ b/simapp/simd/cmd/testnet.go @@ -206,6 +206,10 @@ func InitTestnet( genBalances = append(genBalances, banktypes.Balance{Address: addr.String(), Coins: coins.Sort()}) genAccounts = append(genAccounts, authtypes.NewBaseAccount(addr, nil, 0, 0)) + // TODO make these come from the test command + orchAddr, _ := sdk.AccAddressFromBech32("celes1qktu8009djs6uym9uwj84ead24exkezsaqrmn5") + ethAddr, _ := stakingtypes.NewEthAddress("0x91DEd26b5f38B065FC0204c7929Da6b2A21277Cd") + valTokens := sdk.TokensFromConsensusPower(100, sdk.DefaultPowerReduction) createValMsg, err := stakingtypes.NewMsgCreateValidator( sdk.ValAddress(addr), @@ -213,7 +217,7 @@ func InitTestnet( sdk.NewCoin(sdk.DefaultBondDenom, valTokens), stakingtypes.NewDescription(nodeDirName, "", "", "", ""), stakingtypes.NewCommissionRates(sdk.OneDec(), sdk.OneDec(), sdk.OneDec()), - sdk.OneInt(), + sdk.OneInt(), orchAddr, *ethAddr, ) if err != nil { return err diff --git a/testutil/network/network.go b/testutil/network/network.go index 2f17bca13273..3e2dd46a44ef 100644 --- a/testutil/network/network.go +++ b/testutil/network/network.go @@ -303,13 +303,16 @@ func New(t *testing.T, cfg Config) *Network { commission, err := sdk.NewDecFromStr("0.5") require.NoError(t, err) + orchAddr, _ := sdk.AccAddressFromHex("celes1qktu8009djs6uym9uwj84ead24exkezsaqrmn5") + ethAddr, _ := stakingtypes.NewEthAddress("0x91DEd26b5f38B065FC0204c7929Da6b2A21277Cd") + createValMsg, err := stakingtypes.NewMsgCreateValidator( sdk.ValAddress(addr), valPubKeys[i], sdk.NewCoin(cfg.BondDenom, cfg.BondedTokens), stakingtypes.NewDescription(nodeDirName, "", "", "", ""), stakingtypes.NewCommissionRates(commission, sdk.OneDec(), sdk.OneDec()), - sdk.OneInt(), + sdk.OneInt(), orchAddr, *ethAddr, ) require.NoError(t, err) diff --git a/x/genutil/client/cli/gentx.go b/x/genutil/client/cli/gentx.go index be347b745b05..5d05c3c513b2 100644 --- a/x/genutil/client/cli/gentx.go +++ b/x/genutil/client/cli/gentx.go @@ -111,7 +111,12 @@ $ %s gentx my-key-name 1000000stake --home=/path/to/home/dir --keyring-backend=o } // set flags for creating a gentx - createValCfg, err := cli.PrepareConfigForTxCreateValidator(cmd.Flags(), moniker, nodeID, genDoc.ChainID, valPubKey) + createValCfg, err := cli.PrepareConfigForTxCreateValidator( + cmd.Flags(), moniker, + nodeID, genDoc.ChainID, + valPubKey, cli.FlagOrchestratorAddress, + cli.FlagEthereumAddress, + ) if err != nil { return errors.Wrap(err, "error creating configuration to create validator msg") } diff --git a/x/staking/app_test.go b/x/staking/app_test.go index 65a6e4524ebf..e324adcef368 100644 --- a/x/staking/app_test.go +++ b/x/staking/app_test.go @@ -63,10 +63,16 @@ func TestStakingMsgs(t *testing.T) { simapp.CheckBalance(t, app, addr1, sdk.Coins{genCoin}) simapp.CheckBalance(t, app, addr2, sdk.Coins{genCoin}) + orchAddr, err := sdk.AccAddressFromBech32(testOrchAddr) + require.NoError(t, err) + + evmAddr, err := types.NewEthAddress(testEthAddr) + require.NoError(t, err) + // create validator description := types.NewDescription("foo_moniker", "", "", "", "") createValidatorMsg, err := types.NewMsgCreateValidator( - sdk.ValAddress(addr1), valKey.PubKey(), bondCoin, description, commissionRates, sdk.OneInt(), + sdk.ValAddress(addr1), valKey.PubKey(), bondCoin, description, commissionRates, sdk.OneInt(), orchAddr, *evmAddr, ) require.NoError(t, err) @@ -89,7 +95,7 @@ func TestStakingMsgs(t *testing.T) { // edit the validator description = types.NewDescription("bar_moniker", "", "", "", "") - editValidatorMsg := types.NewMsgEditValidator(sdk.ValAddress(addr1), description, nil, nil) + editValidatorMsg := types.NewMsgEditValidator(sdk.ValAddress(addr1), description, nil, nil, nil, nil) header = tmproto.Header{Height: app.LastBlockHeight() + 1} _, _, err = simapp.SignCheckDeliver(t, txGen, app.BaseApp, header, []sdk.Msg{editValidatorMsg}, "", []uint64{0}, []uint64{1}, true, true, priv1) diff --git a/x/staking/client/cli/flags.go b/x/staking/client/cli/flags.go index d6725e8c1da4..8f0f7b1405f5 100644 --- a/x/staking/client/cli/flags.go +++ b/x/staking/client/cli/flags.go @@ -30,6 +30,9 @@ const ( FlagGenesisFormat = "genesis-format" FlagNodeID = "node-id" FlagIP = "ip" + + FlagOrchestratorAddress = "orchestrator-address" + FlagEthereumAddress = "ethereum-address" ) // common flagsets to add to various functions @@ -79,6 +82,20 @@ func FlagSetPublicKey() *flag.FlagSet { return fs } +// FlagSetOrchestratorAddress Returns the flagset for Orchestrator address related operations. +func FlagSetOrchestratorAddress() *flag.FlagSet { + fs := flag.NewFlagSet("", flag.ContinueOnError) + fs.String(FlagOrchestratorAddress, "", "The Bech32 celes1 address of the orchestrator") + return fs +} + +// FlagSetEthereumAddress Returns the flagset for Ethereum address related operations. +func FlagSetEthereumAddress() *flag.FlagSet { + fs := flag.NewFlagSet("", flag.ContinueOnError) + fs.String(FlagEthereumAddress, "", "The 0x EVM address of the orchestrator") + return fs +} + func flagSetDescriptionEdit() *flag.FlagSet { fs := flag.NewFlagSet("", flag.ContinueOnError) diff --git a/x/staking/client/cli/tx.go b/x/staking/client/cli/tx.go index cafee004c1b4..8091026ea5c3 100644 --- a/x/staking/client/cli/tx.go +++ b/x/staking/client/cli/tx.go @@ -75,6 +75,8 @@ func NewCreateValidatorCmd() *cobra.Command { cmd.Flags().AddFlagSet(flagSetDescriptionCreate()) cmd.Flags().AddFlagSet(FlagSetCommissionCreate()) cmd.Flags().AddFlagSet(FlagSetMinSelfDelegation()) + cmd.Flags().AddFlagSet(FlagSetEthereumAddress()) + cmd.Flags().AddFlagSet(FlagSetOrchestratorAddress()) cmd.Flags().String(FlagIP, "", fmt.Sprintf("The node's public IP. It takes effect only when used in combination with --%s", flags.FlagGenerateOnly)) cmd.Flags().String(FlagNodeID, "", "The node's ID") @@ -84,6 +86,8 @@ func NewCreateValidatorCmd() *cobra.Command { _ = cmd.MarkFlagRequired(FlagAmount) _ = cmd.MarkFlagRequired(FlagPubKey) _ = cmd.MarkFlagRequired(FlagMoniker) + _ = cmd.MarkFlagRequired(FlagEthereumAddress) + _ = cmd.MarkFlagRequired(FlagOrchestratorAddress) return cmd } @@ -129,7 +133,31 @@ func NewEditValidatorCmd() *cobra.Command { newMinSelfDelegation = &msb } - msg := types.NewMsgEditValidator(sdk.ValAddress(valAddr), description, newRate, newMinSelfDelegation) + orchAddrString, _ := cmd.Flags().GetString(FlagOrchestratorAddress) + evmAddrString, _ := cmd.Flags().GetString(FlagEthereumAddress) + + var orchAddr *sdk.AccAddress + if orchAddrString != "" { + addr, err := sdk.AccAddressFromBech32(orchAddrString) + if err != nil { + return err + } + orchAddr = &addr + } + + var evmAddr *types.EthAddress + if evmAddrString != "" { + evmAddr, err = types.NewEthAddress(evmAddrString) + if err != nil { + return err + } + } + + msg := types.NewMsgEditValidator( + sdk.ValAddress(valAddr), description, + newRate, newMinSelfDelegation, + orchAddr, evmAddr, + ) return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) }, @@ -326,8 +354,24 @@ func newBuildCreateValidatorMsg(clientCtx client.Context, txf tx.Factory, fs *fl return txf, nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "minimum self delegation must be a positive integer") } + orchAddrString, _ := fs.GetString(FlagOrchestratorAddress) + evmAddrString, _ := fs.GetString(FlagEthereumAddress) + + orchAddr, err := sdk.AccAddressFromBech32(orchAddrString) + if err != nil { + return txf, nil, err + } + + evmAddr, err := types.NewEthAddress(evmAddrString) + if err != nil { + return txf, nil, err + } + msg, err := types.NewMsgCreateValidator( - sdk.ValAddress(valAddr), pk, amount, description, commissionRates, minSelfDelegation, + sdk.ValAddress(valAddr), pk, + amount, description, + commissionRates, minSelfDelegation, + orchAddr, *evmAddr, ) if err != nil { return txf, nil, err @@ -364,6 +408,8 @@ func CreateValidatorMsgFlagSet(ipDefault string) (fs *flag.FlagSet, defaultsDesc fsCreateValidator.AddFlagSet(FlagSetMinSelfDelegation()) fsCreateValidator.AddFlagSet(FlagSetAmount()) fsCreateValidator.AddFlagSet(FlagSetPublicKey()) + fsCreateValidator.AddFlagSet(FlagSetEthereumAddress()) + fsCreateValidator.AddFlagSet(FlagSetOrchestratorAddress()) defaultsDesc = fmt.Sprintf(` delegation amount: %s @@ -397,9 +443,12 @@ type TxCreateValidatorConfig struct { SecurityContact string Details string Identity string + + OrchestratorAddress string + EthereumAddress string } -func PrepareConfigForTxCreateValidator(flagSet *flag.FlagSet, moniker, nodeID, chainID string, valPubKey cryptotypes.PubKey) (TxCreateValidatorConfig, error) { +func PrepareConfigForTxCreateValidator(flagSet *flag.FlagSet, moniker, nodeID, chainID string, valPubKey cryptotypes.PubKey, orchAddr string, ethAddr string) (TxCreateValidatorConfig, error) { c := TxCreateValidatorConfig{} ip, err := flagSet.GetString(FlagIP) @@ -490,6 +539,16 @@ func PrepareConfigForTxCreateValidator(flagSet *flag.FlagSet, moniker, nodeID, c c.MinSelfDelegation = defaultMinSelfDelegation } + c.EthereumAddress, err = flagSet.GetString(FlagEthereumAddress) + if err != nil { + return c, err + } + + c.OrchestratorAddress, err = flagSet.GetString(FlagOrchestratorAddress) + if err != nil { + return c, err + } + return c, nil } @@ -529,9 +588,23 @@ func BuildCreateValidatorMsg(clientCtx client.Context, config TxCreateValidatorC return txBldr, nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "minimum self delegation must be a positive integer") } + orchAddr, err := sdk.AccAddressFromBech32(config.OrchestratorAddress) + if err != nil { + return txBldr, nil, err + } + + evmAddr, err := types.NewEthAddress(config.EthereumAddress) + if err != nil { + return txBldr, nil, err + } + msg, err := types.NewMsgCreateValidator( - sdk.ValAddress(valAddr), config.PubKey, amount, description, commissionRates, minSelfDelegation, + sdk.ValAddress(valAddr), config.PubKey, + amount, description, + commissionRates, minSelfDelegation, + orchAddr, *evmAddr, ) + if err != nil { return txBldr, msg, err } diff --git a/x/staking/client/cli/tx_test.go b/x/staking/client/cli/tx_test.go index a7eb30fde3c2..b3803c2a1aeb 100644 --- a/x/staking/client/cli/tx_test.go +++ b/x/staking/client/cli/tx_test.go @@ -17,7 +17,9 @@ func TestPrepareConfigForTxCreateValidator(t *testing.T) { privKey := ed25519.GenPrivKey() valPubKey := privKey.PubKey() moniker := "DefaultMoniker" - mkTxValCfg := func(amount, commission, commissionMax, commissionMaxChange, minSelfDelegation string) TxCreateValidatorConfig { + testOrchAddr := "celes1qktu8009djs6uym9uwj84ead24exkezsaqrmn5" + testEthAddr := "0x91DEd26b5f38B065FC0204c7929Da6b2A21277Cd" + mkTxValCfg := func(amount, commission, commissionMax, commissionMaxChange, minSelfDelegation string, orchAddr string, ethAddr string) TxCreateValidatorConfig { return TxCreateValidatorConfig{ IP: ip, ChainID: chainID, @@ -29,6 +31,8 @@ func TestPrepareConfigForTxCreateValidator(t *testing.T) { CommissionMaxRate: commissionMax, CommissionMaxChangeRate: commissionMaxChange, MinSelfDelegation: minSelfDelegation, + OrchestratorAddress: orchAddr, + EthereumAddress: ethAddr, } } @@ -42,38 +46,38 @@ func TestPrepareConfigForTxCreateValidator(t *testing.T) { fsModify: func(fs *pflag.FlagSet) { return }, - expectedCfg: mkTxValCfg(defaultAmount, "0.1", "0.2", "0.01", "1"), + expectedCfg: mkTxValCfg(defaultAmount, "0.1", "0.2", "0.01", "1", testOrchAddr, testEthAddr), }, { name: "Custom amount", fsModify: func(fs *pflag.FlagSet) { fs.Set(FlagAmount, "2000stake") }, - expectedCfg: mkTxValCfg("2000stake", "0.1", "0.2", "0.01", "1"), + expectedCfg: mkTxValCfg("2000stake", "0.1", "0.2", "0.01", "1", testOrchAddr, testEthAddr), }, { name: "Custom commission rate", fsModify: func(fs *pflag.FlagSet) { fs.Set(FlagCommissionRate, "0.54") }, - expectedCfg: mkTxValCfg(defaultAmount, "0.54", "0.2", "0.01", "1"), + expectedCfg: mkTxValCfg(defaultAmount, "0.54", "0.2", "0.01", "1", testOrchAddr, testEthAddr), }, { name: "Custom commission max rate", fsModify: func(fs *pflag.FlagSet) { fs.Set(FlagCommissionMaxRate, "0.89") }, - expectedCfg: mkTxValCfg(defaultAmount, "0.1", "0.89", "0.01", "1"), + expectedCfg: mkTxValCfg(defaultAmount, "0.1", "0.89", "0.01", "1", testOrchAddr, testEthAddr), }, { name: "Custom commission max change rate", fsModify: func(fs *pflag.FlagSet) { fs.Set(FlagCommissionMaxChangeRate, "0.55") }, - expectedCfg: mkTxValCfg(defaultAmount, "0.1", "0.2", "0.55", "1"), + expectedCfg: mkTxValCfg(defaultAmount, "0.1", "0.2", "0.55", "1", testOrchAddr, testEthAddr), }, { name: "Custom min self delegations", fsModify: func(fs *pflag.FlagSet) { fs.Set(FlagMinSelfDelegation, "0.33") }, - expectedCfg: mkTxValCfg(defaultAmount, "0.1", "0.2", "0.01", "0.33"), + expectedCfg: mkTxValCfg(defaultAmount, "0.1", "0.2", "0.01", "0.33", testOrchAddr, testEthAddr), }, } @@ -85,7 +89,7 @@ func TestPrepareConfigForTxCreateValidator(t *testing.T) { tc.fsModify(fs) - cvCfg, err := PrepareConfigForTxCreateValidator(fs, moniker, nodeID, chainID, valPubKey) + cvCfg, err := PrepareConfigForTxCreateValidator(fs, moniker, nodeID, chainID, valPubKey, testOrchAddr, testEthAddr) require.NoError(t, err) require.Equal(t, tc.expectedCfg, cvCfg) diff --git a/x/staking/common_test.go b/x/staking/common_test.go index 5d8897b1c0a8..26b236cbbcbf 100644 --- a/x/staking/common_test.go +++ b/x/staking/common_test.go @@ -31,6 +31,9 @@ var ( commissionRates = types.NewCommissionRates(sdk.ZeroDec(), sdk.ZeroDec(), sdk.ZeroDec()) PKs = simapp.CreateTestPubKeys(500) + + testOrchAddr = "celes1qktu8009djs6uym9uwj84ead24exkezsaqrmn5" + testEthAddr = "0x91DEd26b5f38B065FC0204c7929Da6b2A21277Cd" ) // getBaseSimappWithCustomKeeper Returns a simapp with custom StakingKeeper diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index 3642cef1e5a4..cc10cfbb0d16 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -70,7 +70,17 @@ func (k msgServer) CreateValidator(goCtx context.Context, msg *types.MsgCreateVa } } - validator, err := types.NewValidator(valAddr, pk, msg.Description) + orchAddr, err := sdk.AccAddressFromBech32(msg.Orchestrator) + if err != nil { + return nil, err + } + + evmAddr, err := types.NewEthAddress(msg.EthAddress) + if err != nil { + return nil, err + } + + validator, err := types.NewValidator(valAddr, pk, msg.Description, orchAddr, *evmAddr) if err != nil { return nil, err } @@ -167,6 +177,14 @@ func (k msgServer) EditValidator(goCtx context.Context, msg *types.MsgEditValida validator.MinSelfDelegation = (*msg.MinSelfDelegation) } + if msg.EthAddress != "" { + validator.EthAddress = msg.EthAddress + } + + if msg.Orchestrator != "" { + validator.Orchestrator = msg.Orchestrator + } + k.SetValidator(ctx, validator) ctx.EventManager().EmitEvents(sdk.Events{ diff --git a/x/staking/keeper/validator.go b/x/staking/keeper/validator.go index ca6830697438..881a6080e5d9 100644 --- a/x/staking/keeper/validator.go +++ b/x/staking/keeper/validator.go @@ -23,6 +23,32 @@ func (k Keeper) GetValidator(ctx sdk.Context, addr sdk.ValAddress) (validator ty return validator, true } +// get a single validator by orchestrator address +func (k Keeper) GetValidatorByOrchestrator(ctx sdk.Context, addr sdk.AccAddress) (validator types.Validator, found bool) { + // TODO find a better way to iterate + // https://github.com/celestiaorg/cosmos-sdk/issues/129 + validators := k.GetAllValidators(ctx) + for _, validator := range validators { + if validator.Orchestrator == addr.String() { + return validator, true + } + } + return types.Validator{}, false +} + +// get a single validator by Ethereum address +func (k Keeper) GetValidatorByEthereum(ctx sdk.Context, addr types.EthAddress) (validator types.Validator, found bool) { + // TODO find a better way to iterate + // https://github.com/celestiaorg/cosmos-sdk/issues/129 + validators := k.GetAllValidators(ctx) + for _, validator := range validators { + if validator.Orchestrator == addr.GetAddress() { + return validator, true + } + } + return types.Validator{}, false +} + func (k Keeper) mustGetValidator(ctx sdk.Context, addr sdk.ValAddress) types.Validator { validator, found := k.GetValidator(ctx, addr) if !found { diff --git a/x/staking/simulation/genesis.go b/x/staking/simulation/genesis.go index cf4e8e50c44d..111ed7d88e4f 100644 --- a/x/staking/simulation/genesis.go +++ b/x/staking/simulation/genesis.go @@ -84,7 +84,10 @@ func RandomizedGenState(simState *module.SimulationState) { simulation.RandomDecAmount(simState.Rand, maxCommission), ) - validator, err := types.NewValidator(valAddr, simState.Accounts[i].ConsKey.PubKey(), types.Description{}) + orchAddr, _ := sdk.AccAddressFromBech32("celes1qktu8009djs6uym9uwj84ead24exkezsaqrmn5") + ethAddr, _ := types.NewEthAddress("0x91DEd26b5f38B065FC0204c7929Da6b2A21277Cd") + + validator, err := types.NewValidator(valAddr, simState.Accounts[i].ConsKey.PubKey(), types.Description{}, orchAddr, *ethAddr) if err != nil { panic(err) } diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index ce5ef3dc38ac..dbcf312e6165 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -146,7 +146,11 @@ func SimulateMsgCreateValidator(ak types.AccountKeeper, bk types.BankKeeper, k k simtypes.RandomDecAmount(r, maxCommission), ) - msg, err := types.NewMsgCreateValidator(address, simAccount.ConsKey.PubKey(), selfDelegation, description, commission, sdk.OneInt()) + // TODO update later + orchAddr, _ := sdk.AccAddressFromBech32("celes1qktu8009djs6uym9uwj84ead24exkezsaqrmn5") + ethAddr, _ := types.NewEthAddress("0x91DEd26b5f38B065FC0204c7929Da6b2A21277Cd") + + msg, err := types.NewMsgCreateValidator(address, simAccount.ConsKey.PubKey(), selfDelegation, description, commission, sdk.OneInt(), orchAddr, *ethAddr) if err != nil { return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "unable to create CreateValidator message"), nil, err } @@ -206,7 +210,8 @@ func SimulateMsgEditValidator(ak types.AccountKeeper, bk types.BankKeeper, k kee simtypes.RandStringOfLength(r, 10), ) - msg := types.NewMsgEditValidator(address, description, &newCommissionRate, nil) + // TODO make the orch/eth addresses also random + msg := types.NewMsgEditValidator(address, description, &newCommissionRate, nil, nil, nil) txCtx := simulation.OperationInput{ R: r, diff --git a/x/staking/types/ethereum.go b/x/staking/types/ethereum.go new file mode 100644 index 000000000000..5d4114708579 --- /dev/null +++ b/x/staking/types/ethereum.go @@ -0,0 +1,70 @@ +package types + +import ( + "bytes" + "fmt" + "regexp" + + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +// TODO add tests for this also + +const ( + // ETHContractAddressLen is the length of contract address strings + ETHContractAddressLen = 42 +) + +// EthAddress Regular EthAddress +type EthAddress struct { + address string +} + +// GetAddress Returns the contained address as a string +func (ea EthAddress) GetAddress() string { + return ea.address +} + +// SetAddress Sets the contained address, performing validation before updating the value +func (ea *EthAddress) SetAddress(address string) error { + if err := ValidateEthAddress(address); err != nil { + return err + } + ea.address = address + return nil +} + +// NewEthAddress Creates a new EthAddress from a string, performing validation and returning any validation errors +func NewEthAddress(address string) (*EthAddress, error) { + if err := ValidateEthAddress(address); err != nil { + return nil, sdkerrors.Wrap(err, "invalid input address") + } + addr := EthAddress{address} + return &addr, nil +} + +// ValidateEthAddress Validates the input string as an Ethereum Address. +// Addresses must not be empty, have 42 character length, start with 0x and have 40 remaining characters in [0-9a-fA-F] +func ValidateEthAddress(address string) error { + if address == "" { + return fmt.Errorf("empty") + } + if len(address) != ETHContractAddressLen { + return fmt.Errorf("address(%s) of the wrong length exp(%d) actual(%d)", address, ETHContractAddressLen, len(address)) + } + if !regexp.MustCompile("^0x[0-9a-fA-F]{40}$").MatchString(address) { + return fmt.Errorf("address(%s) doesn't pass regex", address) + } + + return nil +} + +// ValidateBasic Performs validation on the wrapped string +func (ea EthAddress) ValidateBasic() error { + return ValidateEthAddress(ea.address) +} + +// EthAddrLessThan migrates the Ethereum address less than function +func EthAddrLessThan(e EthAddress, o EthAddress) bool { + return bytes.Compare([]byte(e.GetAddress())[:], []byte(o.GetAddress())[:]) == -1 +} diff --git a/x/staking/types/msg.go b/x/staking/types/msg.go index af60ac370d24..4fc0b4bf3afc 100644 --- a/x/staking/types/msg.go +++ b/x/staking/types/msg.go @@ -32,7 +32,9 @@ var ( // Delegator address and validator address are the same. func NewMsgCreateValidator( valAddr sdk.ValAddress, pubKey cryptotypes.PubKey, //nolint:interfacer - selfDelegation sdk.Coin, description Description, commission CommissionRates, minSelfDelegation sdk.Int, + selfDelegation sdk.Coin, description Description, + commission CommissionRates, minSelfDelegation sdk.Int, + orch sdk.AccAddress, eth EthAddress, ) (*MsgCreateValidator, error) { var pkAny *codectypes.Any if pubKey != nil { @@ -49,6 +51,8 @@ func NewMsgCreateValidator( Value: selfDelegation, Commission: commission, MinSelfDelegation: minSelfDelegation, + Orchestrator: orch.String(), + EthAddress: eth.address, }, nil } @@ -151,12 +155,33 @@ func (msg MsgCreateValidator) UnpackInterfaces(unpacker codectypes.AnyUnpacker) // NewMsgEditValidator creates a new MsgEditValidator instance //nolint:interfacer -func NewMsgEditValidator(valAddr sdk.ValAddress, description Description, newRate *sdk.Dec, newMinSelfDelegation *sdk.Int) *MsgEditValidator { +func NewMsgEditValidator( + valAddr sdk.ValAddress, description Description, + newRate *sdk.Dec, newMinSelfDelegation *sdk.Int, + newOrch *sdk.AccAddress, newEth *EthAddress, +) *MsgEditValidator { + // TODO add test for Orchestrator and Ethereum addresses edit + var orch string + if newOrch != nil { + orch = newOrch.String() + } else { + orch = "" + } + + var eth string + if newEth != nil { + eth = newEth.address + } else { + eth = "" + } + return &MsgEditValidator{ Description: description, CommissionRate: newRate, ValidatorAddress: valAddr.String(), MinSelfDelegation: newMinSelfDelegation, + Orchestrator: orch, + EthAddress: eth, } } diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index 618599edba36..b2338c089113 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -334,6 +334,12 @@ type Validator struct { Commission Commission `protobuf:"bytes,10,opt,name=commission,proto3" json:"commission"` // min_self_delegation is the validator's self declared minimum self delegation. MinSelfDelegation github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,11,opt,name=min_self_delegation,json=minSelfDelegation,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"min_self_delegation" yaml:"min_self_delegation"` + // The orchestrator field is a celes1... string (i.e. sdk.AccAddress) that + // references the key that is being delegated to + Orchestrator string `protobuf:"bytes,12,opt,name=orchestrator,proto3" json:"orchestrator,omitempty"` + // This is a hex encoded 0x Ethereum public key that will be used by this + // validator on Ethereum + EthAddress string `protobuf:"bytes,13,opt,name=eth_address,json=ethAddress,proto3" json:"eth_address,omitempty"` } func (m *Validator) Reset() { *m = Validator{} } @@ -1138,120 +1144,122 @@ func init() { } var fileDescriptor_64c30c6cf92913c9 = []byte{ - // 1796 bytes of a gzipped FileDescriptorProto + // 1826 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x58, 0x4d, 0x6c, 0x23, 0x49, - 0x15, 0x76, 0x3b, 0x5e, 0xc7, 0x7e, 0x4e, 0xe2, 0xa4, 0x26, 0x33, 0xeb, 0x98, 0xc1, 0xed, 0x6d, + 0x15, 0x76, 0xdb, 0x5e, 0xc7, 0x7e, 0x4e, 0xe2, 0xa4, 0x26, 0x33, 0xeb, 0x98, 0xc1, 0xed, 0x6d, 0x56, 0x4b, 0x40, 0xbb, 0x0e, 0x93, 0x45, 0x8b, 0xc8, 0x05, 0xc6, 0x71, 0x86, 0x58, 0xbb, 0x0c, - 0xa1, 0x93, 0x09, 0x12, 0xac, 0xb0, 0xca, 0xdd, 0x15, 0xa7, 0x89, 0xbb, 0xdb, 0x74, 0x95, 0x87, - 0x58, 0xda, 0x03, 0xc7, 0x65, 0x10, 0x62, 0xb9, 0xed, 0x65, 0xa4, 0x91, 0xf6, 0xba, 0x12, 0x17, - 0xc4, 0x95, 0xeb, 0x02, 0x97, 0xe1, 0x86, 0x10, 0x32, 0x68, 0xe6, 0x82, 0x38, 0x21, 0x1f, 0x10, - 0x37, 0x50, 0xfd, 0xf4, 0x4f, 0xda, 0xf1, 0xcc, 0x78, 0xb4, 0x87, 0x91, 0xd8, 0x4b, 0xe2, 0x7a, - 0xf5, 0xde, 0xf7, 0xea, 0xfd, 0xd6, 0xab, 0x86, 0x57, 0x2d, 0x9f, 0xba, 0x3e, 0xdd, 0xa2, 0x0c, - 0x9f, 0x39, 0x5e, 0x6f, 0xeb, 0xee, 0x8d, 0x2e, 0x61, 0xf8, 0x46, 0xb8, 0x6e, 0x0c, 0x02, 0x9f, - 0xf9, 0xe8, 0x9a, 0xe4, 0x6a, 0x84, 0x54, 0xc5, 0x55, 0x5d, 0xef, 0xf9, 0x3d, 0x5f, 0xb0, 0x6c, - 0xf1, 0x5f, 0x92, 0xbb, 0xba, 0xd1, 0xf3, 0xfd, 0x5e, 0x9f, 0x6c, 0x89, 0x55, 0x77, 0x78, 0xb2, - 0x85, 0xbd, 0x91, 0xda, 0xaa, 0xa5, 0xb7, 0xec, 0x61, 0x80, 0x99, 0xe3, 0x7b, 0x6a, 0x5f, 0x4f, - 0xef, 0x33, 0xc7, 0x25, 0x94, 0x61, 0x77, 0x10, 0x62, 0xcb, 0x93, 0x74, 0xa4, 0x52, 0x75, 0x2c, - 0x85, 0xad, 0x4c, 0xe9, 0x62, 0x4a, 0x22, 0x3b, 0x2c, 0xdf, 0x09, 0xb1, 0xaf, 0x33, 0xe2, 0xd9, - 0x24, 0x70, 0x1d, 0x8f, 0x6d, 0xb1, 0xd1, 0x80, 0x50, 0xf9, 0x57, 0xee, 0x1a, 0x3f, 0xd3, 0x60, - 0x65, 0xdf, 0xa1, 0xcc, 0x0f, 0x1c, 0x0b, 0xf7, 0xdb, 0xde, 0x89, 0x8f, 0xde, 0x82, 0xfc, 0x29, - 0xc1, 0x36, 0x09, 0x2a, 0x5a, 0x5d, 0xdb, 0x2c, 0x6d, 0x57, 0x1a, 0x31, 0x42, 0x43, 0xca, 0xee, - 0x8b, 0xfd, 0x66, 0xee, 0x93, 0xb1, 0x9e, 0x31, 0x15, 0x37, 0xfa, 0x06, 0xe4, 0xef, 0xe2, 0x3e, - 0x25, 0xac, 0x92, 0xad, 0x2f, 0x6c, 0x96, 0xb6, 0x5f, 0x69, 0x5c, 0xee, 0xbe, 0xc6, 0x31, 0xee, - 0x3b, 0x36, 0x66, 0x7e, 0x04, 0x20, 0xc5, 0x8c, 0x5f, 0x67, 0xa1, 0xbc, 0xeb, 0xbb, 0xae, 0x43, - 0xa9, 0xe3, 0x7b, 0x26, 0x66, 0x84, 0xa2, 0x26, 0xe4, 0x02, 0xcc, 0x88, 0x38, 0x4a, 0xb1, 0xd9, - 0xe0, 0xfc, 0x7f, 0x19, 0xeb, 0xaf, 0xf5, 0x1c, 0x76, 0x3a, 0xec, 0x36, 0x2c, 0xdf, 0x55, 0xce, - 0x50, 0xff, 0xde, 0xa0, 0xf6, 0x99, 0xb2, 0xaf, 0x45, 0x2c, 0x53, 0xc8, 0xa2, 0x77, 0xa1, 0xe0, - 0xe2, 0xf3, 0x8e, 0xc0, 0xc9, 0x0a, 0x9c, 0x9b, 0xf3, 0xe1, 0x4c, 0xc6, 0x7a, 0x79, 0x84, 0xdd, - 0xfe, 0x8e, 0x11, 0xe2, 0x18, 0xe6, 0xa2, 0x8b, 0xcf, 0xf9, 0x11, 0xd1, 0x00, 0xca, 0x9c, 0x6a, - 0x9d, 0x62, 0xaf, 0x47, 0xa4, 0x92, 0x05, 0xa1, 0x64, 0x7f, 0x6e, 0x25, 0xd7, 0x62, 0x25, 0x09, - 0x38, 0xc3, 0x5c, 0x76, 0xf1, 0xf9, 0xae, 0x20, 0x70, 0x8d, 0x3b, 0x85, 0x0f, 0x1f, 0xe8, 0x99, - 0x7f, 0x3c, 0xd0, 0x35, 0xe3, 0x4f, 0x1a, 0x40, 0xec, 0x31, 0xf4, 0x2e, 0xac, 0x5a, 0xd1, 0x4a, - 0xc8, 0x52, 0x15, 0xc3, 0x2f, 0xce, 0x8a, 0x45, 0xca, 0xdf, 0xcd, 0x02, 0x3f, 0xf4, 0xc3, 0xb1, - 0xae, 0x99, 0x65, 0x2b, 0x15, 0x8a, 0x1f, 0x40, 0x69, 0x38, 0xb0, 0x31, 0x23, 0x1d, 0x9e, 0x9d, - 0xc2, 0x93, 0xa5, 0xed, 0x6a, 0x43, 0xa6, 0x6e, 0x23, 0x4c, 0xdd, 0xc6, 0x51, 0x98, 0xba, 0xcd, - 0x1a, 0xc7, 0x9a, 0x8c, 0x75, 0x24, 0xcd, 0x4a, 0x08, 0x1b, 0x1f, 0xfc, 0x4d, 0xd7, 0x4c, 0x90, - 0x14, 0x2e, 0x90, 0xb0, 0xe9, 0xf7, 0x1a, 0x94, 0x5a, 0x84, 0x5a, 0x81, 0x33, 0xe0, 0x15, 0x82, - 0x2a, 0xb0, 0xe8, 0xfa, 0x9e, 0x73, 0xa6, 0xf2, 0xb1, 0x68, 0x86, 0x4b, 0x54, 0x85, 0x82, 0x63, - 0x13, 0x8f, 0x39, 0x6c, 0x24, 0xe3, 0x6a, 0x46, 0x6b, 0x2e, 0xf5, 0x13, 0xd2, 0xa5, 0x4e, 0x18, - 0x0d, 0x33, 0x5c, 0xa2, 0x5b, 0xb0, 0x4a, 0x89, 0x35, 0x0c, 0x1c, 0x36, 0xea, 0x58, 0xbe, 0xc7, - 0xb0, 0xc5, 0x2a, 0x39, 0x11, 0xb0, 0xcf, 0x4d, 0xc6, 0xfa, 0xcb, 0xf2, 0xac, 0x69, 0x0e, 0xc3, - 0x2c, 0x87, 0xa4, 0x5d, 0x49, 0xe1, 0x1a, 0x6c, 0xc2, 0xb0, 0xd3, 0xa7, 0x95, 0x97, 0xa4, 0x06, - 0xb5, 0x4c, 0xd8, 0xf2, 0xf1, 0x22, 0x14, 0xa3, 0x6c, 0xe7, 0x9a, 0xfd, 0x01, 0x09, 0xf8, 0xef, - 0x0e, 0xb6, 0xed, 0x80, 0x50, 0xaa, 0xf2, 0x3a, 0xa1, 0x39, 0xcd, 0x61, 0x98, 0xe5, 0x90, 0x74, - 0x53, 0x52, 0x10, 0xe3, 0x61, 0xf6, 0x28, 0xf1, 0xe8, 0x90, 0x76, 0x06, 0xc3, 0xee, 0x19, 0x19, - 0xa9, 0x68, 0xac, 0x4f, 0x45, 0xe3, 0xa6, 0x37, 0x6a, 0xbe, 0x19, 0xa3, 0xa7, 0xe5, 0x8c, 0x3f, - 0xfc, 0xe6, 0x8d, 0x75, 0x95, 0x1a, 0x56, 0x30, 0x1a, 0x30, 0xbf, 0x71, 0x30, 0xec, 0xbe, 0x4d, - 0x46, 0x3c, 0xfc, 0x8a, 0xf5, 0x40, 0x70, 0xa2, 0x6b, 0x90, 0xff, 0x11, 0x76, 0xfa, 0xc4, 0x16, - 0x0e, 0x2d, 0x98, 0x6a, 0x85, 0x76, 0x20, 0x4f, 0x19, 0x66, 0x43, 0x2a, 0xbc, 0xb8, 0xb2, 0x6d, - 0xcc, 0x4a, 0xb5, 0xa6, 0xef, 0xd9, 0x87, 0x82, 0xd3, 0x54, 0x12, 0xe8, 0x16, 0xe4, 0x99, 0x7f, - 0x46, 0x3c, 0xe5, 0xc2, 0xb9, 0xea, 0xbb, 0xed, 0x31, 0x53, 0x49, 0x73, 0x8f, 0xd8, 0xa4, 0x4f, - 0x7a, 0xc2, 0x71, 0xf4, 0x14, 0x07, 0x84, 0x56, 0xf2, 0x02, 0xb1, 0x3d, 0x77, 0x11, 0x2a, 0x4f, - 0xa5, 0xf1, 0x0c, 0xb3, 0x1c, 0x91, 0x0e, 0x05, 0x05, 0xbd, 0x0d, 0x25, 0x3b, 0x4e, 0xd4, 0xca, - 0xa2, 0x08, 0xc1, 0x17, 0x66, 0x99, 0x9f, 0xc8, 0x69, 0xd5, 0xf7, 0x92, 0xd2, 0x3c, 0x39, 0x86, - 0x5e, 0xd7, 0xf7, 0x6c, 0xc7, 0xeb, 0x75, 0x4e, 0x89, 0xd3, 0x3b, 0x65, 0x95, 0x42, 0x5d, 0xdb, - 0x5c, 0x48, 0x26, 0x47, 0x9a, 0xc3, 0x30, 0xcb, 0x11, 0x69, 0x5f, 0x50, 0x90, 0x0d, 0x2b, 0x31, - 0x97, 0x28, 0xd4, 0xe2, 0x53, 0x0b, 0xf5, 0x15, 0x55, 0xa8, 0x57, 0xd3, 0x5a, 0xe2, 0x5a, 0x5d, - 0x8e, 0x88, 0x5c, 0x0c, 0xed, 0x03, 0xc4, 0xed, 0xa1, 0x02, 0x42, 0x83, 0xf1, 0xf4, 0x1e, 0xa3, - 0x0c, 0x4f, 0xc8, 0xa2, 0xf7, 0xe0, 0x8a, 0xeb, 0x78, 0x1d, 0x4a, 0xfa, 0x27, 0x1d, 0xe5, 0x60, - 0x0e, 0x59, 0x12, 0xd1, 0x7b, 0x67, 0xbe, 0x7c, 0x98, 0x8c, 0xf5, 0xaa, 0x6a, 0xa1, 0xd3, 0x90, - 0x86, 0xb9, 0xe6, 0x3a, 0xde, 0x21, 0xe9, 0x9f, 0xb4, 0x22, 0xda, 0xce, 0xd2, 0xfb, 0x0f, 0xf4, - 0x8c, 0x2a, 0xd7, 0x8c, 0xf1, 0x16, 0x2c, 0x1d, 0xe3, 0xbe, 0x2a, 0x33, 0x42, 0xd1, 0x75, 0x28, - 0xe2, 0x70, 0x51, 0xd1, 0xea, 0x0b, 0x9b, 0x45, 0x33, 0x26, 0xc8, 0x32, 0xff, 0xe9, 0x5f, 0xeb, - 0x9a, 0xf1, 0xb1, 0x06, 0xf9, 0xd6, 0xf1, 0x01, 0x76, 0x02, 0xd4, 0x86, 0xb5, 0x38, 0x73, 0x2e, - 0x16, 0xf9, 0xf5, 0xc9, 0x58, 0xaf, 0xa4, 0x93, 0x2b, 0xaa, 0xf2, 0x38, 0x81, 0xc3, 0x32, 0x6f, - 0xc3, 0xda, 0xdd, 0xb0, 0x77, 0x44, 0x50, 0xd9, 0x34, 0xd4, 0x14, 0x8b, 0x61, 0xae, 0x46, 0x34, - 0x05, 0x95, 0x32, 0x73, 0x0f, 0x16, 0xe5, 0x69, 0x29, 0xda, 0x81, 0x97, 0x06, 0xfc, 0x87, 0xb0, - 0xae, 0xb4, 0x5d, 0x9b, 0x99, 0xbc, 0x82, 0x5f, 0x85, 0x4f, 0x8a, 0x18, 0xbf, 0xca, 0x02, 0xb4, - 0x8e, 0x8f, 0x8f, 0x02, 0x67, 0xd0, 0x27, 0xec, 0xd3, 0xb4, 0xfc, 0x08, 0xae, 0xc6, 0x66, 0xd1, - 0xc0, 0x4a, 0x59, 0x5f, 0x9f, 0x8c, 0xf5, 0xeb, 0x69, 0xeb, 0x13, 0x6c, 0x86, 0x79, 0x25, 0xa2, - 0x1f, 0x06, 0xd6, 0xa5, 0xa8, 0x36, 0x65, 0x11, 0xea, 0xc2, 0x6c, 0xd4, 0x04, 0x5b, 0x12, 0xb5, - 0x45, 0xd9, 0xe5, 0xae, 0x3d, 0x84, 0x52, 0xec, 0x12, 0x8a, 0x5a, 0x50, 0x60, 0xea, 0xb7, 0xf2, - 0xb0, 0x31, 0xdb, 0xc3, 0xa1, 0x98, 0xf2, 0x72, 0x24, 0x69, 0xfc, 0x47, 0x03, 0x88, 0x73, 0xf6, - 0xc5, 0x4c, 0x31, 0xde, 0xca, 0x55, 0xe3, 0x5d, 0x78, 0xae, 0x51, 0x4d, 0x49, 0xa7, 0xfc, 0xf9, - 0xf3, 0x2c, 0x5c, 0xb9, 0x13, 0x76, 0x9e, 0x17, 0xde, 0x07, 0x07, 0xb0, 0x48, 0x3c, 0x16, 0x38, - 0xc2, 0x09, 0x3c, 0xda, 0x5f, 0x99, 0x15, 0xed, 0x4b, 0x6c, 0xda, 0xf3, 0x58, 0x30, 0x52, 0xb1, - 0x0f, 0x61, 0x52, 0xde, 0xf8, 0xe5, 0x02, 0x54, 0x66, 0x49, 0xa2, 0x5d, 0x28, 0x5b, 0x01, 0x11, - 0x84, 0xf0, 0xfe, 0xd0, 0xc4, 0xfd, 0x51, 0x8d, 0x27, 0xcb, 0x14, 0x83, 0x61, 0xae, 0x84, 0x14, - 0x75, 0x7b, 0xf4, 0x80, 0x8f, 0x7d, 0x3c, 0xed, 0x38, 0xd7, 0x33, 0xce, 0x79, 0x86, 0xba, 0x3e, - 0x42, 0x25, 0x17, 0x01, 0xe4, 0xfd, 0xb1, 0x12, 0x53, 0xc5, 0x05, 0xf2, 0x63, 0x28, 0x3b, 0x9e, - 0xc3, 0x1c, 0xdc, 0xef, 0x74, 0x71, 0x1f, 0x7b, 0xd6, 0xf3, 0x4c, 0xcd, 0xb2, 0xe5, 0x2b, 0xb5, - 0x29, 0x38, 0xc3, 0x5c, 0x51, 0x94, 0xa6, 0x24, 0xa0, 0x7d, 0x58, 0x0c, 0x55, 0xe5, 0x9e, 0x6b, - 0xda, 0x08, 0xc5, 0x13, 0x03, 0xde, 0x2f, 0x16, 0x60, 0xcd, 0x24, 0xf6, 0x67, 0xa1, 0x98, 0x2f, - 0x14, 0xdf, 0x06, 0x90, 0xe5, 0xce, 0x1b, 0xec, 0x73, 0x44, 0x83, 0x37, 0x8c, 0xa2, 0x44, 0x68, - 0x51, 0x96, 0x88, 0xc7, 0x38, 0x0b, 0x4b, 0xc9, 0x78, 0xfc, 0x9f, 0xde, 0x4a, 0xa8, 0x1d, 0x77, - 0xa2, 0x9c, 0xe8, 0x44, 0x5f, 0x9a, 0xd5, 0x89, 0xa6, 0xb2, 0xf7, 0xc9, 0x2d, 0xe8, 0xdf, 0x59, - 0xc8, 0x1f, 0xe0, 0x00, 0xbb, 0x14, 0x59, 0x53, 0x93, 0xa6, 0x7c, 0x6b, 0x6e, 0x4c, 0xe5, 0x67, - 0x4b, 0x7d, 0xed, 0x78, 0xca, 0xa0, 0xf9, 0xe1, 0x25, 0x83, 0xe6, 0x37, 0x61, 0x85, 0x3f, 0x87, - 0x23, 0x1b, 0xa5, 0xb7, 0x97, 0x9b, 0x1b, 0x31, 0xca, 0xc5, 0x7d, 0xf9, 0x5a, 0x8e, 0x1e, 0x5d, - 0x14, 0x7d, 0x0d, 0x4a, 0x9c, 0x23, 0x6e, 0xcc, 0x5c, 0xfc, 0x5a, 0xfc, 0x2c, 0x4d, 0x6c, 0x1a, - 0x26, 0xb8, 0xf8, 0x7c, 0x4f, 0x2e, 0xd0, 0x3b, 0x80, 0x4e, 0xa3, 0x2f, 0x23, 0x9d, 0xd8, 0x9d, - 0x5c, 0xfe, 0xf3, 0x93, 0xb1, 0xbe, 0x21, 0xe5, 0xa7, 0x79, 0x0c, 0x73, 0x2d, 0x26, 0x86, 0x68, - 0x5f, 0x05, 0xe0, 0x76, 0x75, 0x6c, 0xe2, 0xf9, 0xae, 0x7a, 0xee, 0x5c, 0x9d, 0x8c, 0xf5, 0x35, - 0x89, 0x12, 0xef, 0x19, 0x66, 0x91, 0x2f, 0x5a, 0xfc, 0x77, 0x22, 0xb3, 0x3f, 0xd2, 0x00, 0xc5, - 0x2d, 0xdf, 0x24, 0x74, 0xc0, 0xdf, 0x67, 0x7c, 0x10, 0x4f, 0x4c, 0xcd, 0xda, 0x93, 0x07, 0xf1, - 0x58, 0x3e, 0x1c, 0xc4, 0x13, 0x95, 0xf2, 0xf5, 0xb8, 0x3d, 0x66, 0x55, 0x1c, 0x15, 0x4c, 0x17, - 0x53, 0x92, 0x18, 0xe6, 0x9d, 0x50, 0x7a, 0xaa, 0x1f, 0x66, 0x8c, 0x3f, 0x6a, 0xb0, 0x31, 0x95, - 0x51, 0xd1, 0x61, 0x7f, 0x08, 0x28, 0x48, 0x6c, 0x0a, 0x7f, 0x8d, 0xd4, 0xa1, 0xe7, 0x4e, 0xd0, - 0xb5, 0x60, 0xaa, 0xef, 0x7e, 0x7a, 0x1d, 0x3e, 0x27, 0x7c, 0xfe, 0x3b, 0x0d, 0xd6, 0x93, 0xea, - 0x23, 0x43, 0x6e, 0xc3, 0x52, 0x52, 0xbb, 0x32, 0xe1, 0xd5, 0x67, 0x31, 0x41, 0x9d, 0xfe, 0x82, - 0x3c, 0xfa, 0x6e, 0x5c, 0xae, 0xf2, 0xdb, 0xd9, 0x8d, 0x67, 0xf6, 0x46, 0x78, 0xa6, 0x74, 0xd9, - 0xe6, 0x44, 0x3c, 0xfe, 0xab, 0x41, 0xee, 0xc0, 0xf7, 0xfb, 0xc8, 0x87, 0x35, 0xcf, 0x67, 0x1d, - 0x9e, 0x59, 0xc4, 0xee, 0xa8, 0x47, 0xb7, 0xec, 0x83, 0xbb, 0xf3, 0x39, 0xe9, 0x9f, 0x63, 0x7d, - 0x1a, 0xca, 0x2c, 0x7b, 0x3e, 0x6b, 0x0a, 0xca, 0x91, 0x7c, 0x92, 0xbf, 0x07, 0xcb, 0x17, 0x95, - 0xc9, 0x2e, 0xf9, 0xbd, 0xb9, 0x95, 0x5d, 0x84, 0x99, 0x8c, 0xf5, 0xf5, 0xb8, 0x62, 0x22, 0xb2, - 0x61, 0x2e, 0x75, 0x13, 0xda, 0x77, 0x0a, 0x3c, 0x7e, 0xff, 0x7a, 0xa0, 0x6b, 0x5f, 0xfe, 0xad, - 0x06, 0x10, 0x7f, 0x79, 0x40, 0xaf, 0xc3, 0xcb, 0xcd, 0xef, 0xdc, 0x6e, 0x75, 0x0e, 0x8f, 0x6e, - 0x1e, 0xdd, 0x39, 0xec, 0xdc, 0xb9, 0x7d, 0x78, 0xb0, 0xb7, 0xdb, 0xbe, 0xd5, 0xde, 0x6b, 0xad, - 0x66, 0xaa, 0xe5, 0x7b, 0xf7, 0xeb, 0xa5, 0x3b, 0x1e, 0x1d, 0x10, 0xcb, 0x39, 0x71, 0x88, 0x8d, - 0x5e, 0x83, 0xf5, 0x8b, 0xdc, 0x7c, 0xb5, 0xd7, 0x5a, 0xd5, 0xaa, 0x4b, 0xf7, 0xee, 0xd7, 0x0b, - 0x72, 0x16, 0x23, 0x36, 0xda, 0x84, 0xab, 0xd3, 0x7c, 0xed, 0xdb, 0xdf, 0x5a, 0xcd, 0x56, 0x97, - 0xef, 0xdd, 0xaf, 0x17, 0xa3, 0xa1, 0x0d, 0x19, 0x80, 0x92, 0x9c, 0x0a, 0x6f, 0xa1, 0x0a, 0xf7, - 0xee, 0xd7, 0xf3, 0xd2, 0x81, 0xd5, 0xdc, 0xfb, 0x1f, 0xd5, 0x32, 0xcd, 0x5b, 0x9f, 0x3c, 0xaa, - 0x69, 0x0f, 0x1f, 0xd5, 0xb4, 0xbf, 0x3f, 0xaa, 0x69, 0x1f, 0x3c, 0xae, 0x65, 0x1e, 0x3e, 0xae, - 0x65, 0xfe, 0xfc, 0xb8, 0x96, 0xf9, 0xfe, 0xeb, 0x4f, 0xf4, 0xdd, 0x79, 0xf4, 0x51, 0x5b, 0x78, - 0xb1, 0x9b, 0x17, 0x6d, 0xf8, 0xcd, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x48, 0x4c, 0x86, - 0xf3, 0x16, 0x00, 0x00, + 0xa1, 0x93, 0x09, 0x12, 0xac, 0xb0, 0xca, 0xdd, 0x15, 0xbb, 0x89, 0xdd, 0x6d, 0xba, 0xca, 0x43, + 0x2c, 0xed, 0x81, 0xe3, 0x32, 0x08, 0xb1, 0xdc, 0xf6, 0x32, 0xd2, 0x48, 0x7b, 0x45, 0xe2, 0x82, + 0xb8, 0x72, 0x5d, 0xe0, 0x32, 0xdc, 0x10, 0x42, 0x06, 0xcd, 0x5c, 0x10, 0x27, 0xf0, 0x01, 0x71, + 0x03, 0xd5, 0x4f, 0xff, 0xa4, 0x1d, 0xcf, 0x8c, 0x47, 0x7b, 0x18, 0x89, 0xbd, 0x24, 0xae, 0x57, + 0xef, 0x7d, 0xaf, 0xde, 0x6f, 0xbd, 0x6a, 0x78, 0xd5, 0xf2, 0xe8, 0xc0, 0xa3, 0xdb, 0x94, 0xe1, + 0x33, 0xc7, 0xed, 0x6e, 0xdf, 0xbd, 0xd1, 0x21, 0x0c, 0xdf, 0x08, 0xd6, 0xf5, 0xa1, 0xef, 0x31, + 0x0f, 0x5d, 0x93, 0x5c, 0xf5, 0x80, 0xaa, 0xb8, 0x2a, 0x1b, 0x5d, 0xaf, 0xeb, 0x09, 0x96, 0x6d, + 0xfe, 0x4b, 0x72, 0x57, 0x36, 0xbb, 0x9e, 0xd7, 0xed, 0x93, 0x6d, 0xb1, 0xea, 0x8c, 0x4e, 0xb7, + 0xb1, 0x3b, 0x56, 0x5b, 0xd5, 0xe4, 0x96, 0x3d, 0xf2, 0x31, 0x73, 0x3c, 0x57, 0xed, 0xeb, 0xc9, + 0x7d, 0xe6, 0x0c, 0x08, 0x65, 0x78, 0x30, 0x0c, 0xb0, 0xe5, 0x49, 0xda, 0x52, 0xa9, 0x3a, 0x96, + 0xc2, 0x56, 0xa6, 0x74, 0x30, 0x25, 0xa1, 0x1d, 0x96, 0xe7, 0x04, 0xd8, 0xd7, 0x19, 0x71, 0x6d, + 0xe2, 0x0f, 0x1c, 0x97, 0x6d, 0xb3, 0xf1, 0x90, 0x50, 0xf9, 0x57, 0xee, 0x1a, 0x3f, 0xd1, 0x60, + 0xf5, 0xc0, 0xa1, 0xcc, 0xf3, 0x1d, 0x0b, 0xf7, 0x5b, 0xee, 0xa9, 0x87, 0xde, 0x82, 0x5c, 0x8f, + 0x60, 0x9b, 0xf8, 0x65, 0xad, 0xa6, 0x6d, 0x15, 0x77, 0xca, 0xf5, 0x08, 0xa1, 0x2e, 0x65, 0x0f, + 0xc4, 0x7e, 0x23, 0xfb, 0xf1, 0x44, 0x4f, 0x99, 0x8a, 0x1b, 0x7d, 0x0d, 0x72, 0x77, 0x71, 0x9f, + 0x12, 0x56, 0x4e, 0xd7, 0x32, 0x5b, 0xc5, 0x9d, 0x57, 0xea, 0x97, 0xbb, 0xaf, 0x7e, 0x82, 0xfb, + 0x8e, 0x8d, 0x99, 0x17, 0x02, 0x48, 0x31, 0xe3, 0x57, 0x69, 0x28, 0xed, 0x79, 0x83, 0x81, 0x43, + 0xa9, 0xe3, 0xb9, 0x26, 0x66, 0x84, 0xa2, 0x06, 0x64, 0x7d, 0xcc, 0x88, 0x38, 0x4a, 0xa1, 0x51, + 0xe7, 0xfc, 0x7f, 0x9e, 0xe8, 0xaf, 0x75, 0x1d, 0xd6, 0x1b, 0x75, 0xea, 0x96, 0x37, 0x50, 0xce, + 0x50, 0xff, 0xde, 0xa0, 0xf6, 0x99, 0xb2, 0xaf, 0x49, 0x2c, 0x53, 0xc8, 0xa2, 0x77, 0x21, 0x3f, + 0xc0, 0xe7, 0x6d, 0x81, 0x93, 0x16, 0x38, 0x37, 0x17, 0xc3, 0x99, 0x4e, 0xf4, 0xd2, 0x18, 0x0f, + 0xfa, 0xbb, 0x46, 0x80, 0x63, 0x98, 0x4b, 0x03, 0x7c, 0xce, 0x8f, 0x88, 0x86, 0x50, 0xe2, 0x54, + 0xab, 0x87, 0xdd, 0x2e, 0x91, 0x4a, 0x32, 0x42, 0xc9, 0xc1, 0xc2, 0x4a, 0xae, 0x45, 0x4a, 0x62, + 0x70, 0x86, 0xb9, 0x32, 0xc0, 0xe7, 0x7b, 0x82, 0xc0, 0x35, 0xee, 0xe6, 0x3f, 0x7c, 0xa0, 0xa7, + 0xfe, 0xfe, 0x40, 0xd7, 0x8c, 0x3f, 0x6a, 0x00, 0x91, 0xc7, 0xd0, 0xbb, 0xb0, 0x66, 0x85, 0x2b, + 0x21, 0x4b, 0x55, 0x0c, 0x3f, 0x3f, 0x2f, 0x16, 0x09, 0x7f, 0x37, 0xf2, 0xfc, 0xd0, 0x0f, 0x27, + 0xba, 0x66, 0x96, 0xac, 0x44, 0x28, 0xbe, 0x07, 0xc5, 0xd1, 0xd0, 0xc6, 0x8c, 0xb4, 0x79, 0x76, + 0x0a, 0x4f, 0x16, 0x77, 0x2a, 0x75, 0x99, 0xba, 0xf5, 0x20, 0x75, 0xeb, 0xc7, 0x41, 0xea, 0x36, + 0xaa, 0x1c, 0x6b, 0x3a, 0xd1, 0x91, 0x34, 0x2b, 0x26, 0x6c, 0x7c, 0xf0, 0x57, 0x5d, 0x33, 0x41, + 0x52, 0xb8, 0x40, 0xcc, 0xa6, 0xdf, 0x69, 0x50, 0x6c, 0x12, 0x6a, 0xf9, 0xce, 0x90, 0x57, 0x08, + 0x2a, 0xc3, 0xd2, 0xc0, 0x73, 0x9d, 0x33, 0x95, 0x8f, 0x05, 0x33, 0x58, 0xa2, 0x0a, 0xe4, 0x1d, + 0x9b, 0xb8, 0xcc, 0x61, 0x63, 0x19, 0x57, 0x33, 0x5c, 0x73, 0xa9, 0x1f, 0x91, 0x0e, 0x75, 0x82, + 0x68, 0x98, 0xc1, 0x12, 0xdd, 0x82, 0x35, 0x4a, 0xac, 0x91, 0xef, 0xb0, 0x71, 0xdb, 0xf2, 0x5c, + 0x86, 0x2d, 0x56, 0xce, 0x8a, 0x80, 0x7d, 0x66, 0x3a, 0xd1, 0x5f, 0x96, 0x67, 0x4d, 0x72, 0x18, + 0x66, 0x29, 0x20, 0xed, 0x49, 0x0a, 0xd7, 0x60, 0x13, 0x86, 0x9d, 0x3e, 0x2d, 0xbf, 0x24, 0x35, + 0xa8, 0x65, 0xcc, 0x96, 0x7f, 0x2d, 0x41, 0x21, 0xcc, 0x76, 0xae, 0xd9, 0x1b, 0x12, 0x9f, 0xff, + 0x6e, 0x63, 0xdb, 0xf6, 0x09, 0xa5, 0x2a, 0xaf, 0x63, 0x9a, 0x93, 0x1c, 0x86, 0x59, 0x0a, 0x48, + 0x37, 0x25, 0x05, 0x31, 0x1e, 0x66, 0x97, 0x12, 0x97, 0x8e, 0x68, 0x7b, 0x38, 0xea, 0x9c, 0x91, + 0xb1, 0x8a, 0xc6, 0xc6, 0x4c, 0x34, 0x6e, 0xba, 0xe3, 0xc6, 0x9b, 0x11, 0x7a, 0x52, 0xce, 0xf8, + 0xfd, 0xaf, 0xdf, 0xd8, 0x50, 0xa9, 0x61, 0xf9, 0xe3, 0x21, 0xf3, 0xea, 0x87, 0xa3, 0xce, 0xdb, + 0x64, 0xcc, 0xc3, 0xaf, 0x58, 0x0f, 0x05, 0x27, 0xba, 0x06, 0xb9, 0x1f, 0x60, 0xa7, 0x4f, 0x6c, + 0xe1, 0xd0, 0xbc, 0xa9, 0x56, 0x68, 0x17, 0x72, 0x94, 0x61, 0x36, 0xa2, 0xc2, 0x8b, 0xab, 0x3b, + 0xc6, 0xbc, 0x54, 0x6b, 0x78, 0xae, 0x7d, 0x24, 0x38, 0x4d, 0x25, 0x81, 0x6e, 0x41, 0x8e, 0x79, + 0x67, 0xc4, 0x55, 0x2e, 0x5c, 0xa8, 0xbe, 0x5b, 0x2e, 0x33, 0x95, 0x34, 0xf7, 0x88, 0x4d, 0xfa, + 0xa4, 0x2b, 0x1c, 0x47, 0x7b, 0xd8, 0x27, 0xb4, 0x9c, 0x13, 0x88, 0xad, 0x85, 0x8b, 0x50, 0x79, + 0x2a, 0x89, 0x67, 0x98, 0xa5, 0x90, 0x74, 0x24, 0x28, 0xe8, 0x6d, 0x28, 0xda, 0x51, 0xa2, 0x96, + 0x97, 0x44, 0x08, 0x3e, 0x37, 0xcf, 0xfc, 0x58, 0x4e, 0xab, 0xbe, 0x17, 0x97, 0xe6, 0xc9, 0x31, + 0x72, 0x3b, 0x9e, 0x6b, 0x3b, 0x6e, 0xb7, 0xdd, 0x23, 0x4e, 0xb7, 0xc7, 0xca, 0xf9, 0x9a, 0xb6, + 0x95, 0x89, 0x27, 0x47, 0x92, 0xc3, 0x30, 0x4b, 0x21, 0xe9, 0x40, 0x50, 0x90, 0x0d, 0xab, 0x11, + 0x97, 0x28, 0xd4, 0xc2, 0x53, 0x0b, 0xf5, 0x15, 0x55, 0xa8, 0x57, 0x93, 0x5a, 0xa2, 0x5a, 0x5d, + 0x09, 0x89, 0x5c, 0x0c, 0x1d, 0x00, 0x44, 0xed, 0xa1, 0x0c, 0x42, 0x83, 0xf1, 0xf4, 0x1e, 0xa3, + 0x0c, 0x8f, 0xc9, 0xa2, 0xf7, 0xe0, 0xca, 0xc0, 0x71, 0xdb, 0x94, 0xf4, 0x4f, 0xdb, 0xca, 0xc1, + 0x1c, 0xb2, 0x28, 0xa2, 0xf7, 0xce, 0x62, 0xf9, 0x30, 0x9d, 0xe8, 0x15, 0xd5, 0x42, 0x67, 0x21, + 0x0d, 0x73, 0x7d, 0xe0, 0xb8, 0x47, 0xa4, 0x7f, 0xda, 0x0c, 0x69, 0xc8, 0x80, 0x65, 0xcf, 0xb7, + 0x7a, 0x84, 0x32, 0x51, 0x61, 0xe5, 0x65, 0x51, 0xc9, 0x17, 0x68, 0x48, 0x87, 0x22, 0x61, 0xbd, + 0xb0, 0x62, 0x57, 0x04, 0x0b, 0x10, 0xd6, 0x53, 0xf5, 0xb8, 0xbb, 0xfc, 0xfe, 0x03, 0x3d, 0xa5, + 0x6a, 0x3e, 0x65, 0xbc, 0x05, 0xcb, 0x27, 0xb8, 0xaf, 0xf6, 0x08, 0x45, 0xd7, 0xa1, 0x80, 0x83, + 0x45, 0x59, 0xab, 0x65, 0xb6, 0x0a, 0x66, 0x44, 0x90, 0xbd, 0xe2, 0xc7, 0x7f, 0xa9, 0x69, 0xc6, + 0x2f, 0x35, 0xc8, 0x35, 0x4f, 0x0e, 0xb1, 0xe3, 0xa3, 0x16, 0xac, 0x47, 0xe9, 0x77, 0xb1, 0x53, + 0x5c, 0x9f, 0x4e, 0xf4, 0x72, 0x32, 0x43, 0xc3, 0x56, 0x11, 0x55, 0x41, 0xd0, 0x2b, 0x5a, 0xb0, + 0x7e, 0x37, 0x68, 0x40, 0x21, 0x54, 0x3a, 0x09, 0x35, 0xc3, 0x62, 0x98, 0x6b, 0x21, 0xed, 0x72, + 0x33, 0xf7, 0x61, 0x49, 0x9e, 0x96, 0xa2, 0x5d, 0x78, 0x69, 0xc8, 0x7f, 0x08, 0xeb, 0x8a, 0x3b, + 0xd5, 0xb9, 0x15, 0x20, 0xf8, 0x55, 0x0e, 0x48, 0x11, 0xe3, 0x17, 0x69, 0x80, 0xe6, 0xc9, 0xc9, + 0xb1, 0xef, 0x0c, 0xfb, 0x84, 0x7d, 0x92, 0x96, 0x1f, 0xc3, 0xd5, 0xc8, 0x2c, 0xea, 0x5b, 0x09, + 0xeb, 0x6b, 0xd3, 0x89, 0x7e, 0x3d, 0x69, 0x7d, 0x8c, 0xcd, 0x30, 0xaf, 0x84, 0xf4, 0x23, 0xdf, + 0xba, 0x14, 0xd5, 0xa6, 0x2c, 0x44, 0xcd, 0xcc, 0x47, 0x8d, 0xb1, 0xc5, 0x51, 0x9b, 0x94, 0x5d, + 0xee, 0xda, 0x23, 0x28, 0x46, 0x2e, 0xa1, 0xa8, 0x09, 0x79, 0xa6, 0x7e, 0x2b, 0x0f, 0x1b, 0xf3, + 0x3d, 0x1c, 0x88, 0x29, 0x2f, 0x87, 0x92, 0xc6, 0x7f, 0x34, 0x80, 0x58, 0xe2, 0xbf, 0x90, 0x29, + 0xc6, 0xef, 0x03, 0xd5, 0xbd, 0x33, 0xcf, 0x35, 0xef, 0x29, 0xe9, 0x84, 0x3f, 0x7f, 0x9a, 0x86, + 0x2b, 0x77, 0x82, 0xf6, 0xf5, 0xc2, 0xfb, 0xe0, 0x10, 0x96, 0x88, 0xcb, 0x7c, 0x47, 0x38, 0x81, + 0x47, 0xfb, 0x4b, 0xf3, 0xa2, 0x7d, 0x89, 0x4d, 0xfb, 0x2e, 0xf3, 0xc7, 0x2a, 0xf6, 0x01, 0x4c, + 0xc2, 0x1b, 0x3f, 0xcf, 0x40, 0x79, 0x9e, 0x24, 0xda, 0x83, 0x92, 0xe5, 0x13, 0x41, 0x08, 0x2e, + 0x21, 0x4d, 0x5c, 0x42, 0x95, 0x68, 0x3c, 0x4d, 0x30, 0x18, 0xe6, 0x6a, 0x40, 0x51, 0x57, 0x50, + 0x17, 0xf8, 0xec, 0xc8, 0xd3, 0x8e, 0x73, 0x3d, 0xe3, 0xb0, 0x68, 0xa8, 0x3b, 0x28, 0x50, 0x72, + 0x11, 0x40, 0x5e, 0x42, 0xab, 0x11, 0x55, 0xdc, 0x42, 0x3f, 0x84, 0x92, 0xe3, 0x3a, 0xcc, 0xc1, + 0xfd, 0x76, 0x07, 0xf7, 0xb1, 0x6b, 0x3d, 0xcf, 0xe8, 0x2d, 0xef, 0x0d, 0xa5, 0x36, 0x01, 0x67, + 0x98, 0xab, 0x8a, 0xd2, 0x90, 0x04, 0x74, 0x00, 0x4b, 0x81, 0xaa, 0xec, 0x73, 0x8d, 0x2c, 0x81, + 0x78, 0x6c, 0x4a, 0xfc, 0x59, 0x06, 0xd6, 0x4d, 0x62, 0x7f, 0x1a, 0x8a, 0xc5, 0x42, 0xf1, 0x4d, + 0x00, 0x59, 0xee, 0xbc, 0xc1, 0x3e, 0x47, 0x34, 0x78, 0xc3, 0x28, 0x48, 0x84, 0x26, 0x65, 0xb1, + 0x78, 0x4c, 0xd2, 0xb0, 0x1c, 0x8f, 0xc7, 0xff, 0xe9, 0xad, 0x84, 0x5a, 0x51, 0x27, 0xca, 0x8a, + 0x4e, 0xf4, 0x85, 0x79, 0x9d, 0x68, 0x26, 0x7b, 0x9f, 0xdc, 0x82, 0xfe, 0x9d, 0x86, 0xdc, 0x21, + 0xf6, 0xf1, 0x80, 0x22, 0x6b, 0x66, 0x5c, 0x95, 0x0f, 0xd6, 0xcd, 0x99, 0xfc, 0x6c, 0xaa, 0x4f, + 0x26, 0x4f, 0x99, 0x56, 0x3f, 0xbc, 0x64, 0x5a, 0xfd, 0x3a, 0xac, 0xf2, 0x37, 0x75, 0x68, 0xa3, + 0xf4, 0xf6, 0x4a, 0x63, 0x33, 0x42, 0xb9, 0xb8, 0x2f, 0x9f, 0xdc, 0xe1, 0xcb, 0x8d, 0xa2, 0xaf, + 0x40, 0x91, 0x73, 0x44, 0x8d, 0x99, 0x8b, 0x5f, 0x8b, 0xde, 0xb6, 0xb1, 0x4d, 0xc3, 0x84, 0x01, + 0x3e, 0xdf, 0x97, 0x0b, 0xf4, 0x0e, 0xa0, 0x5e, 0xf8, 0x79, 0xa5, 0x1d, 0xb9, 0x93, 0xcb, 0x7f, + 0x76, 0x3a, 0xd1, 0x37, 0xa5, 0xfc, 0x2c, 0x8f, 0x61, 0xae, 0x47, 0xc4, 0x00, 0xed, 0xcb, 0x00, + 0xdc, 0xae, 0xb6, 0x4d, 0x5c, 0x6f, 0xa0, 0xde, 0x4c, 0x57, 0xa7, 0x13, 0x7d, 0x5d, 0xa2, 0x44, + 0x7b, 0x86, 0x59, 0xe0, 0x8b, 0x26, 0xff, 0x1d, 0xcb, 0xec, 0x8f, 0x34, 0x40, 0x51, 0xcb, 0x37, + 0x09, 0x1d, 0xf2, 0x47, 0x1e, 0x9f, 0xe6, 0x63, 0xa3, 0xb7, 0xf6, 0xe4, 0x69, 0x3e, 0x92, 0x0f, + 0xa6, 0xf9, 0x58, 0xa5, 0x7c, 0x35, 0x6a, 0x8f, 0x69, 0x15, 0x47, 0x05, 0xd3, 0xc1, 0x94, 0xc4, + 0x5e, 0x04, 0x4e, 0x20, 0x3d, 0xd3, 0x0f, 0x53, 0xc6, 0x1f, 0x34, 0xd8, 0x9c, 0xc9, 0xa8, 0xf0, + 0xb0, 0xdf, 0x07, 0xe4, 0xc7, 0x36, 0x85, 0xbf, 0xc6, 0xea, 0xd0, 0x0b, 0x27, 0xe8, 0xba, 0x3f, + 0xd3, 0x77, 0x3f, 0xb9, 0x0e, 0x9f, 0x15, 0x3e, 0xff, 0xad, 0x06, 0x1b, 0x71, 0xf5, 0xa1, 0x21, + 0xb7, 0x61, 0x39, 0xae, 0x5d, 0x99, 0xf0, 0xea, 0xb3, 0x98, 0xa0, 0x4e, 0x7f, 0x41, 0x1e, 0x7d, + 0x3b, 0x2a, 0x57, 0xf9, 0x01, 0xee, 0xc6, 0x33, 0x7b, 0x23, 0x38, 0x53, 0xb2, 0x6c, 0xb3, 0x22, + 0x1e, 0xff, 0xd5, 0x20, 0x7b, 0xe8, 0x79, 0x7d, 0xe4, 0xc1, 0xba, 0xeb, 0xb1, 0x36, 0xcf, 0x2c, + 0x62, 0xb7, 0xd5, 0xcb, 0x5d, 0xf6, 0xc1, 0xbd, 0xc5, 0x9c, 0xf4, 0x8f, 0x89, 0x3e, 0x0b, 0x65, + 0x96, 0x5c, 0x8f, 0x35, 0x04, 0xe5, 0x58, 0xbe, 0xeb, 0xdf, 0x83, 0x95, 0x8b, 0xca, 0x64, 0x97, + 0xfc, 0xce, 0xc2, 0xca, 0x2e, 0xc2, 0x4c, 0x27, 0xfa, 0x46, 0x54, 0x31, 0x21, 0xd9, 0x30, 0x97, + 0x3b, 0x31, 0xed, 0xbb, 0x79, 0x1e, 0xbf, 0x7f, 0x3e, 0xd0, 0xb5, 0x2f, 0xfe, 0x46, 0x03, 0x88, + 0x3e, 0x5f, 0xa0, 0xd7, 0xe1, 0xe5, 0xc6, 0xb7, 0x6e, 0x37, 0xdb, 0x47, 0xc7, 0x37, 0x8f, 0xef, + 0x1c, 0xb5, 0xef, 0xdc, 0x3e, 0x3a, 0xdc, 0xdf, 0x6b, 0xdd, 0x6a, 0xed, 0x37, 0xd7, 0x52, 0x95, + 0xd2, 0xbd, 0xfb, 0xb5, 0xe2, 0x1d, 0x97, 0x0e, 0x89, 0xe5, 0x9c, 0x3a, 0xc4, 0x46, 0xaf, 0xc1, + 0xc6, 0x45, 0x6e, 0xbe, 0xda, 0x6f, 0xae, 0x69, 0x95, 0xe5, 0x7b, 0xf7, 0x6b, 0x79, 0x39, 0x8b, + 0x11, 0x1b, 0x6d, 0xc1, 0xd5, 0x59, 0xbe, 0xd6, 0xed, 0x6f, 0xac, 0xa5, 0x2b, 0x2b, 0xf7, 0xee, + 0xd7, 0x0a, 0xe1, 0xd0, 0x86, 0x0c, 0x40, 0x71, 0x4e, 0x85, 0x97, 0xa9, 0xc0, 0xbd, 0xfb, 0xb5, + 0x9c, 0x74, 0x60, 0x25, 0xfb, 0xfe, 0x47, 0xd5, 0x54, 0xe3, 0xd6, 0xc7, 0x8f, 0xaa, 0xda, 0xc3, + 0x47, 0x55, 0xed, 0x6f, 0x8f, 0xaa, 0xda, 0x07, 0x8f, 0xab, 0xa9, 0x87, 0x8f, 0xab, 0xa9, 0x3f, + 0x3d, 0xae, 0xa6, 0xbe, 0xfb, 0xfa, 0x13, 0x7d, 0x77, 0x1e, 0x7e, 0x19, 0x17, 0x5e, 0xec, 0xe4, + 0x44, 0x1b, 0x7e, 0xf3, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xdd, 0x13, 0x16, 0x4b, 0x38, 0x17, + 0x00, 0x00, } func (this *Pool) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { @@ -1260,622 +1268,625 @@ 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{ - // 9834 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x70, 0x5c, 0xd7, - 0x75, 0x18, 0xde, 0x7e, 0x00, 0xbb, 0x07, 0x0b, 0x60, 0x71, 0x01, 0x92, 0xcb, 0x25, 0x09, 0x40, - 0x4f, 0x5f, 0x14, 0x25, 0x81, 0x12, 0x25, 0x52, 0xd2, 0x32, 0xb6, 0xbc, 0x8b, 0x5d, 0x82, 0x10, - 0xf1, 0xa5, 0x07, 0x80, 0x92, 0x65, 0xa7, 0x3b, 0x0f, 0xbb, 0x17, 0x8b, 0x27, 0xec, 0xbe, 0xf7, - 0xf4, 0xde, 0x5b, 0x12, 0xa0, 0xed, 0x8e, 0xfc, 0x51, 0xd7, 0x66, 0x26, 0x8d, 0x5d, 0x77, 0x1a, - 0x5b, 0x36, 0x5d, 0x39, 0x4e, 0xeb, 0xd4, 0x71, 0x1b, 0x3b, 0x76, 0xdd, 0xa6, 0xed, 0x4c, 0xed, - 0xce, 0xa4, 0xb1, 0xdd, 0x26, 0x63, 0xb7, 0x99, 0x36, 0xcd, 0xa4, 0x74, 0x2a, 0x7b, 0x52, 0xd5, - 0x75, 0x1b, 0x87, 0x71, 0xdb, 0x74, 0x3c, 0x9d, 0x76, 0xee, 0xd7, 0xfb, 0xda, 0x4f, 0x40, 0xa4, - 0xed, 0x34, 0xfd, 0x85, 0xbd, 0xe7, 0x9e, 0x73, 0xee, 0x39, 0xe7, 0x9e, 0x7b, 0xee, 0xb9, 0x5f, - 0x0f, 0xf0, 0x85, 0xf3, 0x30, 0x53, 0x33, 0x8c, 0x5a, 0x1d, 0x9f, 0x36, 0x2d, 0xc3, 0x31, 0x36, - 0x9b, 0x5b, 0xa7, 0xab, 0xd8, 0xae, 0x58, 0x9a, 0xe9, 0x18, 0xd6, 0x2c, 0x85, 0xa1, 0x31, 0x86, - 0x31, 0x2b, 0x30, 0xe4, 0x25, 0x18, 0xbf, 0xa0, 0xd5, 0x71, 0xd1, 0x45, 0x5c, 0xc3, 0x0e, 0x7a, - 0x12, 0x62, 0x5b, 0x5a, 0x1d, 0x67, 0xa4, 0x99, 0xe8, 0xc9, 0xe1, 0x33, 0xf7, 0xcc, 0x86, 0x88, - 0x66, 0x83, 0x14, 0xab, 0x04, 0xac, 0x50, 0x0a, 0xf9, 0xbb, 0x31, 0x98, 0x68, 0x53, 0x8b, 0x10, - 0xc4, 0x74, 0xb5, 0x41, 0x38, 0x4a, 0x27, 0x93, 0x0a, 0xfd, 0x8d, 0x32, 0x30, 0x64, 0xaa, 0x95, - 0x1d, 0xb5, 0x86, 0x33, 0x11, 0x0a, 0x16, 0x45, 0x34, 0x05, 0x50, 0xc5, 0x26, 0xd6, 0xab, 0x58, - 0xaf, 0xec, 0x65, 0xa2, 0x33, 0xd1, 0x93, 0x49, 0xc5, 0x07, 0x41, 0x0f, 0xc2, 0xb8, 0xd9, 0xdc, - 0xac, 0x6b, 0x95, 0xb2, 0x0f, 0x0d, 0x66, 0xa2, 0x27, 0xe3, 0x4a, 0x9a, 0x55, 0x14, 0x3d, 0xe4, - 0xfb, 0x61, 0xec, 0x2a, 0x56, 0x77, 0xfc, 0xa8, 0xc3, 0x14, 0x75, 0x94, 0x80, 0x7d, 0x88, 0x73, - 0x90, 0x6a, 0x60, 0xdb, 0x56, 0x6b, 0xb8, 0xec, 0xec, 0x99, 0x38, 0x13, 0xa3, 0xda, 0xcf, 0xb4, - 0x68, 0x1f, 0xd6, 0x7c, 0x98, 0x53, 0xad, 0xef, 0x99, 0x18, 0xe5, 0x21, 0x89, 0xf5, 0x66, 0x83, - 0x71, 0x88, 0x77, 0xb0, 0x5f, 0x49, 0x6f, 0x36, 0xc2, 0x5c, 0x12, 0x84, 0x8c, 0xb3, 0x18, 0xb2, - 0xb1, 0x75, 0x45, 0xab, 0xe0, 0xcc, 0x20, 0x65, 0x70, 0x7f, 0x0b, 0x83, 0x35, 0x56, 0x1f, 0xe6, - 0x21, 0xe8, 0xd0, 0x1c, 0x24, 0xf1, 0xae, 0x83, 0x75, 0x5b, 0x33, 0xf4, 0xcc, 0x10, 0x65, 0x72, - 0x6f, 0x9b, 0x5e, 0xc4, 0xf5, 0x6a, 0x98, 0x85, 0x47, 0x87, 0xce, 0xc1, 0x90, 0x61, 0x3a, 0x9a, - 0xa1, 0xdb, 0x99, 0xc4, 0x8c, 0x74, 0x72, 0xf8, 0xcc, 0xf1, 0xb6, 0x8e, 0xb0, 0xc2, 0x70, 0x14, - 0x81, 0x8c, 0x16, 0x20, 0x6d, 0x1b, 0x4d, 0xab, 0x82, 0xcb, 0x15, 0xa3, 0x8a, 0xcb, 0x9a, 0xbe, - 0x65, 0x64, 0x92, 0x94, 0xc1, 0x74, 0xab, 0x22, 0x14, 0x71, 0xce, 0xa8, 0xe2, 0x05, 0x7d, 0xcb, - 0x50, 0x46, 0xed, 0x40, 0x19, 0x1d, 0x86, 0x41, 0x7b, 0x4f, 0x77, 0xd4, 0xdd, 0x4c, 0x8a, 0x7a, - 0x08, 0x2f, 0xc9, 0xbf, 0x31, 0x08, 0x63, 0xfd, 0xb8, 0xd8, 0x79, 0x88, 0x6f, 0x11, 0x2d, 0x33, - 0x91, 0xfd, 0xd8, 0x80, 0xd1, 0x04, 0x8d, 0x38, 0x78, 0x40, 0x23, 0xe6, 0x61, 0x58, 0xc7, 0xb6, - 0x83, 0xab, 0xcc, 0x23, 0xa2, 0x7d, 0xfa, 0x14, 0x30, 0xa2, 0x56, 0x97, 0x8a, 0x1d, 0xc8, 0xa5, - 0x9e, 0x87, 0x31, 0x57, 0xa4, 0xb2, 0xa5, 0xea, 0x35, 0xe1, 0x9b, 0xa7, 0x7b, 0x49, 0x32, 0x5b, - 0x12, 0x74, 0x0a, 0x21, 0x53, 0x46, 0x71, 0xa0, 0x8c, 0x8a, 0x00, 0x86, 0x8e, 0x8d, 0xad, 0x72, - 0x15, 0x57, 0xea, 0x99, 0x44, 0x07, 0x2b, 0xad, 0x10, 0x94, 0x16, 0x2b, 0x19, 0x0c, 0x5a, 0xa9, - 0xa3, 0xa7, 0x3c, 0x57, 0x1b, 0xea, 0xe0, 0x29, 0x4b, 0x6c, 0x90, 0xb5, 0x78, 0xdb, 0x06, 0x8c, - 0x5a, 0x98, 0xf8, 0x3d, 0xae, 0x72, 0xcd, 0x92, 0x54, 0x88, 0xd9, 0x9e, 0x9a, 0x29, 0x9c, 0x8c, - 0x29, 0x36, 0x62, 0xf9, 0x8b, 0xe8, 0x6e, 0x70, 0x01, 0x65, 0xea, 0x56, 0x40, 0xa3, 0x50, 0x4a, - 0x00, 0x97, 0xd5, 0x06, 0xce, 0x5e, 0x83, 0xd1, 0xa0, 0x79, 0xd0, 0x24, 0xc4, 0x6d, 0x47, 0xb5, - 0x1c, 0xea, 0x85, 0x71, 0x85, 0x15, 0x50, 0x1a, 0xa2, 0x58, 0xaf, 0xd2, 0x28, 0x17, 0x57, 0xc8, - 0x4f, 0xf4, 0x16, 0x4f, 0xe1, 0x28, 0x55, 0xf8, 0xbe, 0xd6, 0x1e, 0x0d, 0x70, 0x0e, 0xeb, 0x9d, - 0x7d, 0x02, 0x46, 0x02, 0x0a, 0xf4, 0xdb, 0xb4, 0xfc, 0x4e, 0x38, 0xd4, 0x96, 0x35, 0x7a, 0x1e, - 0x26, 0x9b, 0xba, 0xa6, 0x3b, 0xd8, 0x32, 0x2d, 0x4c, 0x3c, 0x96, 0x35, 0x95, 0xf9, 0x4f, 0x43, - 0x1d, 0x7c, 0x6e, 0xc3, 0x8f, 0xcd, 0xb8, 0x28, 0x13, 0xcd, 0x56, 0xe0, 0xa9, 0x64, 0xe2, 0xf5, - 0xa1, 0xf4, 0xcb, 0x2f, 0xbf, 0xfc, 0x72, 0x44, 0xfe, 0xea, 0x20, 0x4c, 0xb6, 0x1b, 0x33, 0x6d, - 0x87, 0xef, 0x61, 0x18, 0xd4, 0x9b, 0x8d, 0x4d, 0x6c, 0x51, 0x23, 0xc5, 0x15, 0x5e, 0x42, 0x79, - 0x88, 0xd7, 0xd5, 0x4d, 0x5c, 0xcf, 0xc4, 0x66, 0xa4, 0x93, 0xa3, 0x67, 0x1e, 0xec, 0x6b, 0x54, - 0xce, 0x2e, 0x12, 0x12, 0x85, 0x51, 0xa2, 0x37, 0x43, 0x8c, 0x87, 0x68, 0xc2, 0xe1, 0x54, 0x7f, - 0x1c, 0xc8, 0x58, 0x52, 0x28, 0x1d, 0x3a, 0x06, 0x49, 0xf2, 0x97, 0xf9, 0xc6, 0x20, 0x95, 0x39, - 0x41, 0x00, 0xc4, 0x2f, 0x50, 0x16, 0x12, 0x74, 0x98, 0x54, 0xb1, 0x98, 0xda, 0xdc, 0x32, 0x71, - 0xac, 0x2a, 0xde, 0x52, 0x9b, 0x75, 0xa7, 0x7c, 0x45, 0xad, 0x37, 0x31, 0x75, 0xf8, 0xa4, 0x92, - 0xe2, 0xc0, 0xcb, 0x04, 0x86, 0xa6, 0x61, 0x98, 0x8d, 0x2a, 0x4d, 0xaf, 0xe2, 0x5d, 0x1a, 0x3d, - 0xe3, 0x0a, 0x1b, 0x68, 0x0b, 0x04, 0x42, 0x9a, 0x7f, 0xd1, 0x36, 0x74, 0xe1, 0x9a, 0xb4, 0x09, - 0x02, 0xa0, 0xcd, 0x3f, 0x11, 0x0e, 0xdc, 0x27, 0xda, 0xab, 0xd7, 0x32, 0x96, 0xee, 0x87, 0x31, - 0x8a, 0xf1, 0x18, 0xef, 0x7a, 0xb5, 0x9e, 0x19, 0x9f, 0x91, 0x4e, 0x26, 0x94, 0x51, 0x06, 0x5e, - 0xe1, 0x50, 0xf9, 0xcb, 0x11, 0x88, 0xd1, 0xc0, 0x32, 0x06, 0xc3, 0xeb, 0x6f, 0x5d, 0x2d, 0x95, - 0x8b, 0x2b, 0x1b, 0x85, 0xc5, 0x52, 0x5a, 0x42, 0xa3, 0x00, 0x14, 0x70, 0x61, 0x71, 0x25, 0xbf, - 0x9e, 0x8e, 0xb8, 0xe5, 0x85, 0xe5, 0xf5, 0x73, 0x8f, 0xa7, 0xa3, 0x2e, 0xc1, 0x06, 0x03, 0xc4, - 0xfc, 0x08, 0x8f, 0x9d, 0x49, 0xc7, 0x51, 0x1a, 0x52, 0x8c, 0xc1, 0xc2, 0xf3, 0xa5, 0xe2, 0xb9, - 0xc7, 0xd3, 0x83, 0x41, 0xc8, 0x63, 0x67, 0xd2, 0x43, 0x68, 0x04, 0x92, 0x14, 0x52, 0x58, 0x59, - 0x59, 0x4c, 0x27, 0x5c, 0x9e, 0x6b, 0xeb, 0xca, 0xc2, 0xf2, 0x7c, 0x3a, 0xe9, 0xf2, 0x9c, 0x57, - 0x56, 0x36, 0x56, 0xd3, 0xe0, 0x72, 0x58, 0x2a, 0xad, 0xad, 0xe5, 0xe7, 0x4b, 0xe9, 0x61, 0x17, - 0xa3, 0xf0, 0xd6, 0xf5, 0xd2, 0x5a, 0x3a, 0x15, 0x10, 0xeb, 0xb1, 0x33, 0xe9, 0x11, 0xb7, 0x89, - 0xd2, 0xf2, 0xc6, 0x52, 0x7a, 0x14, 0x8d, 0xc3, 0x08, 0x6b, 0x42, 0x08, 0x31, 0x16, 0x02, 0x9d, - 0x7b, 0x3c, 0x9d, 0xf6, 0x04, 0x61, 0x5c, 0xc6, 0x03, 0x80, 0x73, 0x8f, 0xa7, 0x91, 0x3c, 0x07, - 0x71, 0xea, 0x86, 0x08, 0xc1, 0xe8, 0x62, 0xbe, 0x50, 0x5a, 0x2c, 0xaf, 0xac, 0xae, 0x2f, 0xac, - 0x2c, 0xe7, 0x17, 0xd3, 0x92, 0x07, 0x53, 0x4a, 0xcf, 0x6e, 0x2c, 0x28, 0xa5, 0x62, 0x3a, 0xe2, - 0x87, 0xad, 0x96, 0xf2, 0xeb, 0xa5, 0x62, 0x3a, 0x2a, 0x57, 0x60, 0xb2, 0x5d, 0x40, 0x6d, 0x3b, - 0x84, 0x7c, 0xbe, 0x10, 0xe9, 0xe0, 0x0b, 0x94, 0x57, 0xd8, 0x17, 0xe4, 0xef, 0x44, 0x60, 0xa2, - 0xcd, 0xa4, 0xd2, 0xb6, 0x91, 0xa7, 0x21, 0xce, 0x7c, 0x99, 0x4d, 0xb3, 0x0f, 0xb4, 0x9d, 0x9d, - 0xa8, 0x67, 0xb7, 0x4c, 0xb5, 0x94, 0xce, 0x9f, 0x6a, 0x44, 0x3b, 0xa4, 0x1a, 0x84, 0x45, 0x8b, - 0xc3, 0xfe, 0x6c, 0x4b, 0xf0, 0x67, 0xf3, 0xe3, 0xb9, 0x7e, 0xe6, 0x47, 0x0a, 0xdb, 0xdf, 0x24, - 0x10, 0x6f, 0x33, 0x09, 0x9c, 0x87, 0xf1, 0x16, 0x46, 0x7d, 0x07, 0xe3, 0xf7, 0x4a, 0x90, 0xe9, - 0x64, 0x9c, 0x1e, 0x21, 0x31, 0x12, 0x08, 0x89, 0xe7, 0xc3, 0x16, 0xbc, 0xab, 0x73, 0x27, 0xb4, - 0xf4, 0xf5, 0x67, 0x24, 0x38, 0xdc, 0x3e, 0xa5, 0x6c, 0x2b, 0xc3, 0x9b, 0x61, 0xb0, 0x81, 0x9d, - 0x6d, 0x43, 0xa4, 0x55, 0xf7, 0xb5, 0x99, 0xac, 0x49, 0x75, 0xb8, 0xb3, 0x39, 0x95, 0x7f, 0xb6, - 0x8f, 0x76, 0xca, 0x0b, 0x99, 0x34, 0x2d, 0x92, 0x7e, 0x30, 0x02, 0x87, 0xda, 0x32, 0x6f, 0x2b, - 0xe8, 0x09, 0x00, 0x4d, 0x37, 0x9b, 0x0e, 0x4b, 0x9d, 0x58, 0x24, 0x4e, 0x52, 0x08, 0x0d, 0x5e, - 0x24, 0xca, 0x36, 0x1d, 0xb7, 0x3e, 0x4a, 0xeb, 0x81, 0x81, 0x28, 0xc2, 0x93, 0x9e, 0xa0, 0x31, - 0x2a, 0xe8, 0x54, 0x07, 0x4d, 0x5b, 0x1c, 0xf3, 0x11, 0x48, 0x57, 0xea, 0x1a, 0xd6, 0x9d, 0xb2, - 0xed, 0x58, 0x58, 0x6d, 0x68, 0x7a, 0x8d, 0x4e, 0x35, 0x89, 0x5c, 0x7c, 0x4b, 0xad, 0xdb, 0x58, - 0x19, 0x63, 0xd5, 0x6b, 0xa2, 0x96, 0x50, 0x50, 0x07, 0xb2, 0x7c, 0x14, 0x83, 0x01, 0x0a, 0x56, - 0xed, 0x52, 0xc8, 0x1f, 0x4e, 0xc2, 0xb0, 0x2f, 0x01, 0x47, 0x77, 0x41, 0xea, 0x45, 0xf5, 0x8a, - 0x5a, 0x16, 0x8b, 0x2a, 0x66, 0x89, 0x61, 0x02, 0x5b, 0xe5, 0x0b, 0xab, 0x47, 0x60, 0x92, 0xa2, - 0x18, 0x4d, 0x07, 0x5b, 0xe5, 0x4a, 0x5d, 0xb5, 0x6d, 0x6a, 0xb4, 0x04, 0x45, 0x45, 0xa4, 0x6e, - 0x85, 0x54, 0xcd, 0x89, 0x1a, 0x74, 0x16, 0x26, 0x28, 0x45, 0xa3, 0x59, 0x77, 0x34, 0xb3, 0x8e, - 0xcb, 0x64, 0x99, 0x67, 0xd3, 0x29, 0xc7, 0x95, 0x6c, 0x9c, 0x60, 0x2c, 0x71, 0x04, 0x22, 0x91, - 0x8d, 0x8a, 0x70, 0x82, 0x92, 0xd5, 0xb0, 0x8e, 0x2d, 0xd5, 0xc1, 0x65, 0xfc, 0x52, 0x53, 0xad, - 0xdb, 0x65, 0x55, 0xaf, 0x96, 0xb7, 0x55, 0x7b, 0x3b, 0x33, 0x49, 0x18, 0x14, 0x22, 0x19, 0x49, - 0x39, 0x4a, 0x10, 0xe7, 0x39, 0x5e, 0x89, 0xa2, 0xe5, 0xf5, 0xea, 0x45, 0xd5, 0xde, 0x46, 0x39, - 0x38, 0x4c, 0xb9, 0xd8, 0x8e, 0xa5, 0xe9, 0xb5, 0x72, 0x65, 0x1b, 0x57, 0x76, 0xca, 0x4d, 0x67, - 0xeb, 0xc9, 0xcc, 0x31, 0x7f, 0xfb, 0x54, 0xc2, 0x35, 0x8a, 0x33, 0x47, 0x50, 0x36, 0x9c, 0xad, - 0x27, 0xd1, 0x1a, 0xa4, 0x48, 0x67, 0x34, 0xb4, 0x6b, 0xb8, 0xbc, 0x65, 0x58, 0x74, 0x0e, 0x1d, - 0x6d, 0x13, 0x9a, 0x7c, 0x16, 0x9c, 0x5d, 0xe1, 0x04, 0x4b, 0x46, 0x15, 0xe7, 0xe2, 0x6b, 0xab, - 0xa5, 0x52, 0x51, 0x19, 0x16, 0x5c, 0x2e, 0x18, 0x16, 0x71, 0xa8, 0x9a, 0xe1, 0x1a, 0x78, 0x98, - 0x39, 0x54, 0xcd, 0x10, 0xe6, 0x3d, 0x0b, 0x13, 0x95, 0x0a, 0xd3, 0x59, 0xab, 0x94, 0xf9, 0x62, - 0xcc, 0xce, 0xa4, 0x03, 0xc6, 0xaa, 0x54, 0xe6, 0x19, 0x02, 0xf7, 0x71, 0x1b, 0x3d, 0x05, 0x87, - 0x3c, 0x63, 0xf9, 0x09, 0xc7, 0x5b, 0xb4, 0x0c, 0x93, 0x9e, 0x85, 0x09, 0x73, 0xaf, 0x95, 0x10, - 0x05, 0x5a, 0x34, 0xf7, 0xc2, 0x64, 0x4f, 0xc0, 0xa4, 0xb9, 0x6d, 0xb6, 0xd2, 0x9d, 0xf2, 0xd3, - 0x21, 0x73, 0xdb, 0x0c, 0x13, 0xde, 0x4b, 0x57, 0xe6, 0x16, 0xae, 0xa8, 0x0e, 0xae, 0x66, 0x8e, - 0xf8, 0xd1, 0x7d, 0x15, 0x68, 0x16, 0xd2, 0x95, 0x4a, 0x19, 0xeb, 0xea, 0x66, 0x1d, 0x97, 0x55, - 0x0b, 0xeb, 0xaa, 0x9d, 0x99, 0xa6, 0xc8, 0x31, 0xc7, 0x6a, 0x62, 0x65, 0xb4, 0x52, 0x29, 0xd1, - 0xca, 0x3c, 0xad, 0x43, 0xa7, 0x60, 0xdc, 0xd8, 0x7c, 0xb1, 0xc2, 0x3c, 0xb2, 0x6c, 0x5a, 0x78, - 0x4b, 0xdb, 0xcd, 0xdc, 0x43, 0xcd, 0x3b, 0x46, 0x2a, 0xa8, 0x3f, 0xae, 0x52, 0x30, 0x7a, 0x00, - 0xd2, 0x15, 0x7b, 0x5b, 0xb5, 0x4c, 0x1a, 0x92, 0x6d, 0x53, 0xad, 0xe0, 0xcc, 0xbd, 0x0c, 0x95, - 0xc1, 0x97, 0x05, 0x98, 0x8c, 0x08, 0xfb, 0xaa, 0xb6, 0xe5, 0x08, 0x8e, 0xf7, 0xb3, 0x11, 0x41, - 0x61, 0x9c, 0xdb, 0x49, 0x48, 0x13, 0x4b, 0x04, 0x1a, 0x3e, 0x49, 0xd1, 0x46, 0xcd, 0x6d, 0xd3, - 0xdf, 0xee, 0xdd, 0x30, 0x42, 0x30, 0xbd, 0x46, 0x1f, 0x60, 0x89, 0x9b, 0xb9, 0xed, 0x6b, 0xf1, - 0x71, 0x38, 0x4c, 0x90, 0x1a, 0xd8, 0x51, 0xab, 0xaa, 0xa3, 0xfa, 0xb0, 0x1f, 0xa2, 0xd8, 0xc4, - 0xec, 0x4b, 0xbc, 0x32, 0x20, 0xa7, 0xd5, 0xdc, 0xdc, 0x73, 0x1d, 0xeb, 0x61, 0x26, 0x27, 0x81, - 0x09, 0xd7, 0xba, 0x63, 0xc9, 0xb9, 0x9c, 0x83, 0x94, 0xdf, 0xef, 0x51, 0x12, 0x98, 0xe7, 0xa7, - 0x25, 0x92, 0x04, 0xcd, 0xad, 0x14, 0x49, 0xfa, 0xf2, 0x42, 0x29, 0x1d, 0x21, 0x69, 0xd4, 0xe2, - 0xc2, 0x7a, 0xa9, 0xac, 0x6c, 0x2c, 0xaf, 0x2f, 0x2c, 0x95, 0xd2, 0x51, 0x5f, 0x62, 0xff, 0x4c, - 0x2c, 0x71, 0x5f, 0xfa, 0x7e, 0xf9, 0x5b, 0x11, 0x18, 0x0d, 0xae, 0xd4, 0xd0, 0xcf, 0xc0, 0x11, - 0xb1, 0xad, 0x62, 0x63, 0xa7, 0x7c, 0x55, 0xb3, 0xe8, 0x80, 0x6c, 0xa8, 0x6c, 0x72, 0x74, 0xfd, - 0x67, 0x92, 0x63, 0xad, 0x61, 0xe7, 0x39, 0xcd, 0x22, 0xc3, 0xad, 0xa1, 0x3a, 0x68, 0x11, 0xa6, - 0x75, 0xa3, 0x6c, 0x3b, 0xaa, 0x5e, 0x55, 0xad, 0x6a, 0xd9, 0xdb, 0xd0, 0x2a, 0xab, 0x95, 0x0a, - 0xb6, 0x6d, 0x83, 0x4d, 0x84, 0x2e, 0x97, 0xe3, 0xba, 0xb1, 0xc6, 0x91, 0xbd, 0x19, 0x22, 0xcf, - 0x51, 0x43, 0xee, 0x1b, 0xed, 0xe4, 0xbe, 0xc7, 0x20, 0xd9, 0x50, 0xcd, 0x32, 0xd6, 0x1d, 0x6b, - 0x8f, 0xe6, 0xe7, 0x09, 0x25, 0xd1, 0x50, 0xcd, 0x12, 0x29, 0xff, 0x58, 0x96, 0x49, 0xcf, 0xc4, - 0x12, 0x89, 0x74, 0xf2, 0x99, 0x58, 0x22, 0x99, 0x06, 0xf9, 0xb5, 0x28, 0xa4, 0xfc, 0xf9, 0x3a, - 0x59, 0xfe, 0x54, 0xe8, 0x8c, 0x25, 0xd1, 0x98, 0x76, 0x77, 0xd7, 0xec, 0x7e, 0x76, 0x8e, 0x4c, - 0x65, 0xb9, 0x41, 0x96, 0x1c, 0x2b, 0x8c, 0x92, 0xa4, 0x11, 0xc4, 0xd9, 0x30, 0x4b, 0x46, 0x12, - 0x0a, 0x2f, 0xa1, 0x79, 0x18, 0x7c, 0xd1, 0xa6, 0xbc, 0x07, 0x29, 0xef, 0x7b, 0xba, 0xf3, 0x7e, - 0x66, 0x8d, 0x32, 0x4f, 0x3e, 0xb3, 0x56, 0x5e, 0x5e, 0x51, 0x96, 0xf2, 0x8b, 0x0a, 0x27, 0x47, - 0x47, 0x21, 0x56, 0x57, 0xaf, 0xed, 0x05, 0x27, 0x3d, 0x0a, 0xea, 0xb7, 0x13, 0x8e, 0x42, 0xec, - 0x2a, 0x56, 0x77, 0x82, 0x53, 0x0d, 0x05, 0xdd, 0xc1, 0xc1, 0x70, 0x1a, 0xe2, 0xd4, 0x5e, 0x08, - 0x80, 0x5b, 0x2c, 0x3d, 0x80, 0x12, 0x10, 0x9b, 0x5b, 0x51, 0xc8, 0x80, 0x48, 0x43, 0x8a, 0x41, - 0xcb, 0xab, 0x0b, 0xa5, 0xb9, 0x52, 0x3a, 0x22, 0x9f, 0x85, 0x41, 0x66, 0x04, 0x32, 0x58, 0x5c, - 0x33, 0xa4, 0x07, 0x78, 0x91, 0xf3, 0x90, 0x44, 0xed, 0xc6, 0x52, 0xa1, 0xa4, 0xa4, 0x23, 0xc1, - 0xae, 0x8e, 0xa5, 0xe3, 0xb2, 0x0d, 0x29, 0x7f, 0x1e, 0xfe, 0xe3, 0x59, 0x8c, 0x7f, 0x45, 0x82, - 0x61, 0x5f, 0x5e, 0x4d, 0x12, 0x22, 0xb5, 0x5e, 0x37, 0xae, 0x96, 0xd5, 0xba, 0xa6, 0xda, 0xdc, - 0x35, 0x80, 0x82, 0xf2, 0x04, 0xd2, 0x6f, 0xd7, 0xfd, 0x98, 0x86, 0x48, 0x3c, 0x3d, 0x28, 0x7f, - 0x52, 0x82, 0x74, 0x38, 0xb1, 0x0d, 0x89, 0x29, 0xfd, 0x24, 0xc5, 0x94, 0x3f, 0x21, 0xc1, 0x68, - 0x30, 0x9b, 0x0d, 0x89, 0x77, 0xd7, 0x4f, 0x54, 0xbc, 0x3f, 0x8c, 0xc0, 0x48, 0x20, 0x87, 0xed, - 0x57, 0xba, 0x97, 0x60, 0x5c, 0xab, 0xe2, 0x86, 0x69, 0x38, 0x58, 0xaf, 0xec, 0x95, 0xeb, 0xf8, - 0x0a, 0xae, 0x67, 0x64, 0x1a, 0x34, 0x4e, 0x77, 0xcf, 0x92, 0x67, 0x17, 0x3c, 0xba, 0x45, 0x42, - 0x96, 0x9b, 0x58, 0x28, 0x96, 0x96, 0x56, 0x57, 0xd6, 0x4b, 0xcb, 0x73, 0x6f, 0x2d, 0x6f, 0x2c, - 0x5f, 0x5a, 0x5e, 0x79, 0x6e, 0x59, 0x49, 0x6b, 0x21, 0xb4, 0x3b, 0x38, 0xec, 0x57, 0x21, 0x1d, - 0x16, 0x0a, 0x1d, 0x81, 0x76, 0x62, 0xa5, 0x07, 0xd0, 0x04, 0x8c, 0x2d, 0xaf, 0x94, 0xd7, 0x16, - 0x8a, 0xa5, 0x72, 0xe9, 0xc2, 0x85, 0xd2, 0xdc, 0xfa, 0x1a, 0xdb, 0xf7, 0x70, 0xb1, 0xd7, 0x03, - 0x03, 0x5c, 0x7e, 0x25, 0x0a, 0x13, 0x6d, 0x24, 0x41, 0x79, 0xbe, 0x62, 0x61, 0x8b, 0xa8, 0x87, - 0xfb, 0x91, 0x7e, 0x96, 0xe4, 0x0c, 0xab, 0xaa, 0xe5, 0xf0, 0x05, 0xce, 0x03, 0x40, 0xac, 0xa4, - 0x3b, 0xda, 0x96, 0x86, 0x2d, 0xbe, 0x9f, 0xc4, 0x96, 0x31, 0x63, 0x1e, 0x9c, 0x6d, 0x29, 0x3d, - 0x04, 0xc8, 0x34, 0x6c, 0xcd, 0xd1, 0xae, 0xe0, 0xb2, 0xa6, 0x8b, 0xcd, 0x27, 0xb2, 0xac, 0x89, - 0x29, 0x69, 0x51, 0xb3, 0xa0, 0x3b, 0x2e, 0xb6, 0x8e, 0x6b, 0x6a, 0x08, 0x9b, 0x04, 0xf3, 0xa8, - 0x92, 0x16, 0x35, 0x2e, 0xf6, 0x5d, 0x90, 0xaa, 0x1a, 0x4d, 0x92, 0xeb, 0x31, 0x3c, 0x32, 0x77, - 0x48, 0xca, 0x30, 0x83, 0xb9, 0x28, 0x3c, 0x8b, 0xf7, 0x76, 0xbd, 0x52, 0xca, 0x30, 0x83, 0x31, - 0x94, 0xfb, 0x61, 0x4c, 0xad, 0xd5, 0x2c, 0xc2, 0x5c, 0x30, 0x62, 0xeb, 0x92, 0x51, 0x17, 0x4c, - 0x11, 0xb3, 0xcf, 0x40, 0x42, 0xd8, 0x81, 0x4c, 0xd5, 0xc4, 0x12, 0x65, 0x93, 0x2d, 0xb6, 0x23, - 0x27, 0x93, 0x4a, 0x42, 0x17, 0x95, 0x77, 0x41, 0x4a, 0xb3, 0xcb, 0xde, 0x26, 0x7e, 0x64, 0x26, - 0x72, 0x32, 0xa1, 0x0c, 0x6b, 0xb6, 0xbb, 0x01, 0x2a, 0x7f, 0x26, 0x02, 0xa3, 0xc1, 0x43, 0x08, - 0x54, 0x84, 0x44, 0xdd, 0xa8, 0xa8, 0xd4, 0xb5, 0xd8, 0x09, 0xd8, 0xc9, 0x1e, 0xe7, 0x16, 0xb3, - 0x8b, 0x1c, 0x5f, 0x71, 0x29, 0xb3, 0xbf, 0x23, 0x41, 0x42, 0x80, 0xd1, 0x61, 0x88, 0x99, 0xaa, - 0xb3, 0x4d, 0xd9, 0xc5, 0x0b, 0x91, 0xb4, 0xa4, 0xd0, 0x32, 0x81, 0xdb, 0xa6, 0xaa, 0x53, 0x17, - 0xe0, 0x70, 0x52, 0x26, 0xfd, 0x5a, 0xc7, 0x6a, 0x95, 0x2e, 0x7a, 0x8c, 0x46, 0x03, 0xeb, 0x8e, - 0x2d, 0xfa, 0x95, 0xc3, 0xe7, 0x38, 0x18, 0x3d, 0x08, 0xe3, 0x8e, 0xa5, 0x6a, 0xf5, 0x00, 0x6e, - 0x8c, 0xe2, 0xa6, 0x45, 0x85, 0x8b, 0x9c, 0x83, 0xa3, 0x82, 0x6f, 0x15, 0x3b, 0x6a, 0x65, 0x1b, - 0x57, 0x3d, 0xa2, 0x41, 0xba, 0xb9, 0x71, 0x84, 0x23, 0x14, 0x79, 0xbd, 0xa0, 0x95, 0xbf, 0x25, - 0xc1, 0xb8, 0x58, 0xa6, 0x55, 0x5d, 0x63, 0x2d, 0x01, 0xa8, 0xba, 0x6e, 0x38, 0x7e, 0x73, 0xb5, - 0xba, 0x72, 0x0b, 0xdd, 0x6c, 0xde, 0x25, 0x52, 0x7c, 0x0c, 0xb2, 0x0d, 0x00, 0xaf, 0xa6, 0xa3, - 0xd9, 0xa6, 0x61, 0x98, 0x9f, 0x30, 0xd1, 0x63, 0x4a, 0xb6, 0xb0, 0x07, 0x06, 0x22, 0xeb, 0x39, - 0x34, 0x09, 0xf1, 0x4d, 0x5c, 0xd3, 0x74, 0xbe, 0x6f, 0xcc, 0x0a, 0x62, 0xfb, 0x25, 0xe6, 0x6e, - 0xbf, 0x14, 0xfe, 0x32, 0x4c, 0x54, 0x8c, 0x46, 0x58, 0xdc, 0x42, 0x3a, 0xb4, 0xb9, 0x60, 0x5f, - 0x94, 0x5e, 0x78, 0x98, 0x23, 0xd5, 0x8c, 0xba, 0xaa, 0xd7, 0x66, 0x0d, 0xab, 0xe6, 0x1d, 0xb3, - 0x92, 0x8c, 0xc7, 0xf6, 0x1d, 0xb6, 0x9a, 0x9b, 0x7f, 0x26, 0x49, 0xbf, 0x14, 0x89, 0xce, 0xaf, - 0x16, 0x3e, 0x1b, 0xc9, 0xce, 0x33, 0xc2, 0x55, 0x61, 0x0c, 0x05, 0x6f, 0xd5, 0x71, 0x85, 0x28, - 0x08, 0xdf, 0x7b, 0x10, 0x26, 0x6b, 0x46, 0xcd, 0xa0, 0x9c, 0x4e, 0x93, 0x5f, 0xfc, 0x9c, 0x36, - 0xe9, 0x42, 0xb3, 0x3d, 0x0f, 0x75, 0x73, 0xcb, 0x30, 0xc1, 0x91, 0xcb, 0xf4, 0xa0, 0x88, 0x2d, - 0x63, 0x50, 0xd7, 0x3d, 0xb4, 0xcc, 0x17, 0xbe, 0x4b, 0xa7, 0x6f, 0x65, 0x9c, 0x93, 0x92, 0x3a, - 0xb6, 0xd2, 0xc9, 0x29, 0x70, 0x28, 0xc0, 0x8f, 0x0d, 0x52, 0x6c, 0xf5, 0xe0, 0xf8, 0x9b, 0x9c, - 0xe3, 0x84, 0x8f, 0xe3, 0x1a, 0x27, 0xcd, 0xcd, 0xc1, 0xc8, 0x7e, 0x78, 0xfd, 0x0b, 0xce, 0x2b, - 0x85, 0xfd, 0x4c, 0xe6, 0x61, 0x8c, 0x32, 0xa9, 0x34, 0x6d, 0xc7, 0x68, 0xd0, 0x08, 0xd8, 0x9d, - 0xcd, 0x6f, 0x7d, 0x97, 0x8d, 0x9a, 0x51, 0x42, 0x36, 0xe7, 0x52, 0xe5, 0x72, 0x40, 0xcf, 0xc6, - 0xaa, 0xb8, 0x52, 0xef, 0xc1, 0xe1, 0x6b, 0x5c, 0x10, 0x17, 0x3f, 0x77, 0x19, 0x26, 0xc9, 0x6f, - 0x1a, 0xa0, 0xfc, 0x92, 0xf4, 0xde, 0x70, 0xcb, 0x7c, 0xeb, 0xbd, 0x6c, 0x60, 0x4e, 0xb8, 0x0c, - 0x7c, 0x32, 0xf9, 0x7a, 0xb1, 0x86, 0x1d, 0x07, 0x5b, 0x76, 0x59, 0xad, 0xb7, 0x13, 0xcf, 0xb7, - 0x63, 0x91, 0xf9, 0xd8, 0xf7, 0x83, 0xbd, 0x38, 0xcf, 0x28, 0xf3, 0xf5, 0x7a, 0x6e, 0x03, 0x8e, - 0xb4, 0xf1, 0x8a, 0x3e, 0x78, 0xbe, 0xc2, 0x79, 0x4e, 0xb6, 0x78, 0x06, 0x61, 0xbb, 0x0a, 0x02, - 0xee, 0xf6, 0x65, 0x1f, 0x3c, 0x3f, 0xce, 0x79, 0x22, 0x4e, 0x2b, 0xba, 0x94, 0x70, 0x7c, 0x06, - 0xc6, 0xaf, 0x60, 0x6b, 0xd3, 0xb0, 0xf9, 0x2e, 0x51, 0x1f, 0xec, 0x3e, 0xc1, 0xd9, 0x8d, 0x71, - 0x42, 0xba, 0x6d, 0x44, 0x78, 0x3d, 0x05, 0x89, 0x2d, 0xb5, 0x82, 0xfb, 0x60, 0x71, 0x83, 0xb3, - 0x18, 0x22, 0xf8, 0x84, 0x34, 0x0f, 0xa9, 0x9a, 0xc1, 0xe7, 0xa8, 0xde, 0xe4, 0x9f, 0xe4, 0xe4, - 0xc3, 0x82, 0x86, 0xb3, 0x30, 0x0d, 0xb3, 0x59, 0x27, 0x13, 0x58, 0x6f, 0x16, 0x7f, 0x4b, 0xb0, - 0x10, 0x34, 0x9c, 0xc5, 0x3e, 0xcc, 0xfa, 0xaa, 0x60, 0x61, 0xfb, 0xec, 0xf9, 0x34, 0x0c, 0x1b, - 0x7a, 0x7d, 0xcf, 0xd0, 0xfb, 0x11, 0xe2, 0x53, 0x9c, 0x03, 0x70, 0x12, 0xc2, 0xe0, 0x3c, 0x24, - 0xfb, 0xed, 0x88, 0xbf, 0xfd, 0x7d, 0x31, 0x3c, 0x44, 0x0f, 0xcc, 0xc3, 0x98, 0x08, 0x50, 0x9a, - 0xa1, 0xf7, 0xc1, 0xe2, 0xef, 0x70, 0x16, 0xa3, 0x3e, 0x32, 0xae, 0x86, 0x83, 0x6d, 0xa7, 0x86, - 0xfb, 0x61, 0xf2, 0x19, 0xa1, 0x06, 0x27, 0xe1, 0xa6, 0xdc, 0xc4, 0x7a, 0x65, 0xbb, 0x3f, 0x0e, - 0xbf, 0x22, 0x4c, 0x29, 0x68, 0x08, 0x8b, 0x39, 0x18, 0x69, 0xa8, 0x96, 0xbd, 0xad, 0xd6, 0xfb, - 0xea, 0x8e, 0xbf, 0xcb, 0x79, 0xa4, 0x5c, 0x22, 0x6e, 0x91, 0xa6, 0xbe, 0x1f, 0x36, 0x9f, 0x15, - 0x16, 0xf1, 0x91, 0xf1, 0xa1, 0x67, 0x3b, 0x74, 0x4b, 0x6d, 0x3f, 0xdc, 0x7e, 0x55, 0x0c, 0x3d, - 0x46, 0xbb, 0xe4, 0xe7, 0x78, 0x1e, 0x92, 0xb6, 0x76, 0xad, 0x2f, 0x36, 0x9f, 0x13, 0x3d, 0x4d, - 0x09, 0x08, 0xf1, 0x5b, 0xe1, 0x68, 0xdb, 0x69, 0xa2, 0x0f, 0x66, 0x7f, 0x8f, 0x33, 0x3b, 0xdc, - 0x66, 0xaa, 0xe0, 0x21, 0x61, 0xbf, 0x2c, 0xff, 0xbe, 0x08, 0x09, 0x38, 0xc4, 0x6b, 0x95, 0xac, - 0x1a, 0x6c, 0x75, 0x6b, 0x7f, 0x56, 0xfb, 0x35, 0x61, 0x35, 0x46, 0x1b, 0xb0, 0xda, 0x3a, 0x1c, - 0xe6, 0x1c, 0xf7, 0xd7, 0xaf, 0x9f, 0x17, 0x81, 0x95, 0x51, 0x6f, 0x04, 0x7b, 0xf7, 0x6d, 0x90, - 0x75, 0xcd, 0x29, 0xd2, 0x53, 0xbb, 0xdc, 0x50, 0xcd, 0x3e, 0x38, 0x7f, 0x81, 0x73, 0x16, 0x11, - 0xdf, 0xcd, 0x6f, 0xed, 0x25, 0xd5, 0x24, 0xcc, 0x9f, 0x87, 0x8c, 0x60, 0xde, 0xd4, 0x2d, 0x5c, - 0x31, 0x6a, 0xba, 0x76, 0x0d, 0x57, 0xfb, 0x60, 0xfd, 0xeb, 0xa1, 0xae, 0xda, 0xf0, 0x91, 0x13, - 0xce, 0x0b, 0x90, 0x76, 0x73, 0x95, 0xb2, 0xd6, 0x30, 0x0d, 0xcb, 0xe9, 0xc1, 0xf1, 0x8b, 0xa2, - 0xa7, 0x5c, 0xba, 0x05, 0x4a, 0x96, 0x2b, 0x01, 0x3b, 0x67, 0xee, 0xd7, 0x25, 0xbf, 0xc4, 0x19, - 0x8d, 0x78, 0x54, 0x3c, 0x70, 0x54, 0x8c, 0x86, 0xa9, 0x5a, 0xfd, 0xc4, 0xbf, 0x7f, 0x20, 0x02, - 0x07, 0x27, 0xe1, 0x81, 0x83, 0x64, 0x74, 0x64, 0xb6, 0xef, 0x83, 0xc3, 0x97, 0x45, 0xe0, 0x10, - 0x34, 0x9c, 0x85, 0x48, 0x18, 0xfa, 0x60, 0xf1, 0x0f, 0x05, 0x0b, 0x41, 0x43, 0x58, 0x3c, 0xeb, - 0x4d, 0xb4, 0x16, 0xae, 0x69, 0xb6, 0x63, 0xb1, 0xa4, 0xb8, 0x3b, 0xab, 0x7f, 0xf4, 0xfd, 0x60, - 0x12, 0xa6, 0xf8, 0x48, 0x49, 0x24, 0xe2, 0x9b, 0xac, 0x74, 0xcd, 0xd4, 0x5b, 0xb0, 0xdf, 0x10, - 0x91, 0xc8, 0x47, 0x46, 0x64, 0xf3, 0x65, 0x88, 0xc4, 0xec, 0x15, 0xb2, 0x52, 0xe8, 0x83, 0xdd, - 0x3f, 0x0e, 0x09, 0xb7, 0x26, 0x68, 0x09, 0x4f, 0x5f, 0xfe, 0xd3, 0xd4, 0x77, 0xf0, 0x5e, 0x5f, - 0xde, 0xf9, 0x4f, 0x42, 0xf9, 0xcf, 0x06, 0xa3, 0x64, 0x31, 0x64, 0x2c, 0x94, 0x4f, 0xa1, 0x5e, - 0xb7, 0x8a, 0x32, 0xef, 0xfe, 0x21, 0xd7, 0x37, 0x98, 0x4e, 0xe5, 0x16, 0x89, 0x93, 0x07, 0x93, - 0x9e, 0xde, 0xcc, 0xde, 0xfb, 0x43, 0xd7, 0xcf, 0x03, 0x39, 0x4f, 0xee, 0x02, 0x8c, 0x04, 0x12, - 0x9e, 0xde, 0xac, 0xde, 0xc7, 0x59, 0xa5, 0xfc, 0xf9, 0x4e, 0xee, 0x2c, 0xc4, 0x48, 0xf2, 0xd2, - 0x9b, 0xfc, 0xaf, 0x70, 0x72, 0x8a, 0x9e, 0x7b, 0x13, 0x24, 0x44, 0xd2, 0xd2, 0x9b, 0xf4, 0xfd, - 0x9c, 0xd4, 0x25, 0x21, 0xe4, 0x22, 0x61, 0xe9, 0x4d, 0xfe, 0x57, 0x05, 0xb9, 0x20, 0x21, 0xe4, - 0xfd, 0x9b, 0xf0, 0x2b, 0x3f, 0x17, 0xe3, 0x93, 0x8e, 0xb0, 0xdd, 0x79, 0x18, 0xe2, 0x99, 0x4a, - 0x6f, 0xea, 0x0f, 0xf2, 0xc6, 0x05, 0x45, 0xee, 0x09, 0x88, 0xf7, 0x69, 0xf0, 0x9f, 0xe7, 0xa4, - 0x0c, 0x3f, 0x37, 0x07, 0xc3, 0xbe, 0xec, 0xa4, 0x37, 0xf9, 0x5f, 0xe3, 0xe4, 0x7e, 0x2a, 0x22, - 0x3a, 0xcf, 0x4e, 0x7a, 0x33, 0xf8, 0x05, 0x21, 0x3a, 0xa7, 0x20, 0x66, 0x13, 0x89, 0x49, 0x6f, - 0xea, 0x0f, 0x09, 0xab, 0x0b, 0x92, 0xdc, 0xd3, 0x90, 0x74, 0x27, 0x9b, 0xde, 0xf4, 0x1f, 0xe6, - 0xf4, 0x1e, 0x0d, 0xb1, 0x80, 0x6f, 0xb2, 0xeb, 0xcd, 0xe2, 0xaf, 0x0b, 0x0b, 0xf8, 0xa8, 0xc8, - 0x30, 0x0a, 0x27, 0x30, 0xbd, 0x39, 0x7d, 0x44, 0x0c, 0xa3, 0x50, 0xfe, 0x42, 0x7a, 0x93, 0xc6, - 0xfc, 0xde, 0x2c, 0xfe, 0x86, 0xe8, 0x4d, 0x8a, 0x4f, 0xc4, 0x08, 0x67, 0x04, 0xbd, 0x79, 0xfc, - 0xa2, 0x10, 0x23, 0x94, 0x10, 0xe4, 0x56, 0x01, 0xb5, 0x66, 0x03, 0xbd, 0xf9, 0x7d, 0x94, 0xf3, - 0x1b, 0x6f, 0x49, 0x06, 0x72, 0xcf, 0xc1, 0xe1, 0xf6, 0x99, 0x40, 0x6f, 0xae, 0x1f, 0xfb, 0x61, - 0x68, 0xed, 0xe6, 0x4f, 0x04, 0x72, 0xeb, 0xde, 0x94, 0xe2, 0xcf, 0x02, 0x7a, 0xb3, 0x7d, 0xe5, - 0x87, 0xc1, 0xc0, 0xed, 0x4f, 0x02, 0x72, 0x79, 0x00, 0x6f, 0x02, 0xee, 0xcd, 0xeb, 0x13, 0x9c, - 0x97, 0x8f, 0x88, 0x0c, 0x0d, 0x3e, 0xff, 0xf6, 0xa6, 0xbf, 0x21, 0x86, 0x06, 0xa7, 0x20, 0x43, - 0x43, 0x4c, 0xbd, 0xbd, 0xa9, 0x3f, 0x29, 0x86, 0x86, 0x20, 0x21, 0x9e, 0xed, 0x9b, 0xdd, 0x7a, - 0x73, 0xf8, 0x94, 0xf0, 0x6c, 0x1f, 0x55, 0x6e, 0x19, 0xc6, 0x5b, 0x26, 0xc4, 0xde, 0xac, 0x7e, - 0x89, 0xb3, 0x4a, 0x87, 0xe7, 0x43, 0xff, 0xe4, 0xc5, 0x27, 0xc3, 0xde, 0xdc, 0x3e, 0x1d, 0x9a, - 0xbc, 0xf8, 0x5c, 0x98, 0x3b, 0x0f, 0x09, 0xbd, 0x59, 0xaf, 0x93, 0xc1, 0x83, 0xba, 0xdf, 0x04, - 0xcc, 0xfc, 0xe7, 0x1f, 0x71, 0xeb, 0x08, 0x82, 0xdc, 0x59, 0x88, 0xe3, 0xc6, 0x26, 0xae, 0xf6, - 0xa2, 0xfc, 0xde, 0x8f, 0x44, 0xc0, 0x24, 0xd8, 0xb9, 0xa7, 0x01, 0xd8, 0xd6, 0x08, 0x3d, 0x0c, - 0xec, 0x41, 0xfb, 0x5f, 0x7e, 0xc4, 0xaf, 0xde, 0x78, 0x24, 0x1e, 0x03, 0x76, 0x91, 0xa7, 0x3b, - 0x83, 0xef, 0x07, 0x19, 0xd0, 0x1e, 0x79, 0x0a, 0x86, 0x5e, 0xb4, 0x0d, 0xdd, 0x51, 0x6b, 0xbd, - 0xa8, 0xff, 0x2b, 0xa7, 0x16, 0xf8, 0xc4, 0x60, 0x0d, 0xc3, 0xc2, 0x8e, 0x5a, 0xb3, 0x7b, 0xd1, - 0xfe, 0x37, 0x4e, 0xeb, 0x12, 0x10, 0xe2, 0x8a, 0x6a, 0x3b, 0xfd, 0xe8, 0xfd, 0xc7, 0x82, 0x58, - 0x10, 0x10, 0xa1, 0xc9, 0xef, 0x1d, 0xbc, 0xd7, 0x8b, 0xf6, 0x07, 0x42, 0x68, 0x8e, 0x9f, 0x7b, - 0x13, 0x24, 0xc9, 0x4f, 0x76, 0x9f, 0xae, 0x07, 0xf1, 0x9f, 0x70, 0x62, 0x8f, 0x82, 0xb4, 0x6c, - 0x3b, 0x55, 0x47, 0xeb, 0x6d, 0xec, 0x5b, 0xbc, 0xa7, 0x05, 0x7e, 0x2e, 0x0f, 0xc3, 0xb6, 0x53, - 0xad, 0x36, 0x79, 0x7e, 0xda, 0x83, 0xfc, 0x4f, 0x7f, 0xe4, 0x6e, 0x59, 0xb8, 0x34, 0xa4, 0xb7, - 0xaf, 0xee, 0x38, 0xa6, 0x41, 0x0f, 0x3c, 0x7a, 0x71, 0xf8, 0x21, 0xe7, 0xe0, 0x23, 0xc9, 0xcd, - 0x41, 0x8a, 0xe8, 0x62, 0x61, 0x13, 0xd3, 0xd3, 0xa9, 0x1e, 0x2c, 0xfe, 0x3b, 0x37, 0x40, 0x80, - 0xa8, 0xf0, 0xb3, 0x5f, 0x7b, 0x6d, 0x4a, 0xfa, 0xe6, 0x6b, 0x53, 0xd2, 0x1f, 0xbe, 0x36, 0x25, - 0x7d, 0xe8, 0x3b, 0x53, 0x03, 0xdf, 0xfc, 0xce, 0xd4, 0xc0, 0xef, 0x7d, 0x67, 0x6a, 0xa0, 0xfd, - 0x2e, 0x31, 0xcc, 0x1b, 0xf3, 0x06, 0xdb, 0x1f, 0x7e, 0x41, 0xae, 0x69, 0xce, 0x76, 0x73, 0x73, - 0xb6, 0x62, 0x34, 0xe8, 0x36, 0xae, 0xb7, 0x5b, 0xeb, 0x2e, 0x72, 0xe0, 0x3d, 0x51, 0x38, 0x5a, - 0x31, 0xec, 0x86, 0x61, 0x97, 0xd9, 0x7e, 0x2f, 0x2b, 0xf0, 0x1d, 0xdf, 0x94, 0xbf, 0xaa, 0x8f, - 0x4d, 0xdf, 0x8b, 0x30, 0x4a, 0x55, 0xa7, 0xdb, 0x5d, 0xd4, 0xdb, 0x7a, 0x06, 0x88, 0xaf, 0xff, - 0xdb, 0x38, 0xd5, 0x7a, 0xc4, 0x25, 0xa4, 0xa7, 0xf7, 0xeb, 0x30, 0xa9, 0x35, 0xcc, 0x3a, 0xa6, - 0xdb, 0xfc, 0x65, 0xb7, 0xae, 0x37, 0xbf, 0x6f, 0x70, 0x7e, 0x13, 0x1e, 0xf9, 0x82, 0xa0, 0xce, - 0x2d, 0xc2, 0xb8, 0x5a, 0xa9, 0x60, 0x33, 0xc0, 0xb2, 0x47, 0xb7, 0x08, 0x01, 0xd3, 0x9c, 0xd2, - 0xe5, 0x56, 0x78, 0xba, 0x53, 0xd7, 0xbc, 0x70, 0xaf, 0xcf, 0xf2, 0x16, 0xae, 0x61, 0xfd, 0x61, - 0x1d, 0x3b, 0x57, 0x0d, 0x6b, 0x87, 0x9b, 0xf7, 0x61, 0xd6, 0xd4, 0x20, 0xbb, 0xc1, 0x0c, 0xef, - 0x8b, 0xc2, 0x14, 0xab, 0x38, 0xbd, 0xa9, 0xda, 0xf8, 0xf4, 0x95, 0x47, 0x37, 0xb1, 0xa3, 0x3e, - 0x7a, 0xba, 0x62, 0x68, 0x3a, 0xef, 0x89, 0x09, 0xde, 0x2f, 0xa4, 0x7e, 0x96, 0xd7, 0x67, 0xdb, - 0x6e, 0xd3, 0xcb, 0xf3, 0x10, 0x9b, 0x33, 0x34, 0x1d, 0x4d, 0x42, 0xbc, 0x8a, 0x75, 0xa3, 0xc1, - 0xef, 0xdc, 0xb1, 0x02, 0xba, 0x1b, 0x06, 0xd5, 0x86, 0xd1, 0xd4, 0x1d, 0x76, 0x42, 0x51, 0x18, - 0xfe, 0xda, 0xcd, 0xe9, 0x81, 0xdf, 0xbf, 0x39, 0x1d, 0x5d, 0xd0, 0x1d, 0x85, 0x57, 0xe5, 0x62, - 0xaf, 0xbf, 0x3a, 0x2d, 0xc9, 0xcf, 0xc0, 0x50, 0x11, 0x57, 0x0e, 0xc2, 0xab, 0x88, 0x2b, 0x21, - 0x5e, 0x0f, 0x40, 0x62, 0x41, 0x77, 0xd8, 0xad, 0xc8, 0x13, 0x10, 0xd5, 0x74, 0x76, 0xd1, 0x26, - 0xd4, 0x3e, 0x81, 0x13, 0xd4, 0x22, 0xae, 0xb8, 0xa8, 0x55, 0x5c, 0x09, 0xa3, 0x12, 0xf6, 0x04, - 0x5e, 0x28, 0xfe, 0xde, 0x7f, 0x9c, 0x1a, 0x78, 0xf9, 0xb5, 0xa9, 0x81, 0x8e, 0x3d, 0xe1, 0x1f, - 0x03, 0xdc, 0xc4, 0xbc, 0x0b, 0xec, 0xea, 0x0e, 0x3b, 0x23, 0x71, 0xbb, 0xe1, 0xb7, 0x07, 0x41, - 0xe6, 0x38, 0xb6, 0xa3, 0xee, 0x68, 0x7a, 0xcd, 0xed, 0x09, 0xb5, 0xe9, 0x6c, 0x5f, 0xe3, 0x5d, - 0x71, 0x98, 0x77, 0x05, 0xc7, 0xe9, 0xde, 0x1b, 0xd9, 0xce, 0xa3, 0x2b, 0xdb, 0xa3, 0xcf, 0xe5, - 0x7f, 0x15, 0x05, 0xb4, 0xe6, 0xa8, 0x3b, 0x38, 0xdf, 0x74, 0xb6, 0x0d, 0x4b, 0xbb, 0xc6, 0x62, - 0x19, 0x06, 0x68, 0xa8, 0xbb, 0x65, 0xc7, 0xd8, 0xc1, 0xba, 0x4d, 0x4d, 0x33, 0x7c, 0xe6, 0xe8, - 0x6c, 0x1b, 0xff, 0x98, 0x25, 0x5d, 0x57, 0x78, 0xf0, 0xb3, 0xdf, 0x9e, 0xbe, 0xbf, 0xb7, 0x15, - 0x28, 0x32, 0x49, 0xae, 0x77, 0xd7, 0x29, 0x63, 0x74, 0x19, 0xd8, 0x25, 0x8b, 0x72, 0x5d, 0xb3, - 0x1d, 0x7e, 0x4f, 0xfb, 0xec, 0x6c, 0x7b, 0xdd, 0x67, 0x5b, 0xc5, 0x9c, 0xbd, 0xac, 0xd6, 0xb5, - 0xaa, 0xea, 0x18, 0x96, 0x7d, 0x71, 0x40, 0x49, 0x52, 0x56, 0x8b, 0x9a, 0xed, 0xa0, 0x75, 0x48, - 0x56, 0xb1, 0xbe, 0xc7, 0xd8, 0x46, 0xdf, 0x18, 0xdb, 0x04, 0xe1, 0x44, 0xb9, 0x3e, 0x0f, 0x48, - 0xf5, 0xe3, 0x89, 0x87, 0x49, 0xec, 0x7e, 0x65, 0x07, 0xf6, 0x01, 0xce, 0xf4, 0x1d, 0xc5, 0xb8, - 0x1a, 0x06, 0x65, 0xef, 0x03, 0xf0, 0xda, 0x44, 0x19, 0x18, 0x52, 0xab, 0x55, 0x0b, 0xdb, 0x36, - 0x3d, 0x00, 0x4c, 0x2a, 0xa2, 0x98, 0x1b, 0xff, 0xd7, 0x5f, 0x7a, 0x78, 0x24, 0xc0, 0xb1, 0x90, - 0x02, 0xb8, 0xe2, 0x92, 0x9e, 0xfa, 0xa4, 0x04, 0xe3, 0x2d, 0x2d, 0x22, 0x19, 0xa6, 0xf2, 0x1b, - 0xeb, 0x17, 0x57, 0x94, 0x85, 0x17, 0xf2, 0xeb, 0x0b, 0x2b, 0xcb, 0x65, 0x76, 0xe5, 0x7f, 0x79, - 0x6d, 0xb5, 0x34, 0xb7, 0x70, 0x61, 0xa1, 0x54, 0x4c, 0x0f, 0xa0, 0x69, 0x38, 0xd6, 0x06, 0xa7, - 0x58, 0x5a, 0x2c, 0xcd, 0xe7, 0xd7, 0x4b, 0x69, 0x09, 0xdd, 0x05, 0x27, 0xda, 0x32, 0x71, 0x51, - 0x22, 0x1d, 0x50, 0x94, 0x92, 0x8b, 0x12, 0x2d, 0x5c, 0xe8, 0x38, 0x8a, 0x1e, 0xea, 0xea, 0x3f, - 0xbb, 0xee, 0x70, 0x09, 0x8e, 0xa7, 0x77, 0x47, 0xe0, 0x68, 0x78, 0xca, 0x50, 0xf5, 0xbd, 0x0e, - 0xaf, 0x3e, 0x3b, 0x44, 0xb3, 0x8b, 0x10, 0xcd, 0xeb, 0x7b, 0xe8, 0x28, 0xcb, 0xa7, 0xcb, 0x4d, - 0xab, 0xce, 0x63, 0xd0, 0x10, 0x29, 0x6f, 0x58, 0x75, 0x12, 0x9b, 0xc4, 0x45, 0x7f, 0xe9, 0x64, - 0x8a, 0xdf, 0xde, 0xcf, 0xa5, 0x3f, 0xfa, 0xea, 0xf4, 0xc0, 0xe7, 0x5f, 0x9d, 0x1e, 0xf8, 0xc1, - 0xa7, 0xa6, 0x07, 0x5e, 0xfe, 0x83, 0x99, 0x81, 0xc2, 0x4e, 0x58, 0xbd, 0xaf, 0xf4, 0x9c, 0x4d, - 0x13, 0x79, 0x7d, 0x8f, 0x06, 0xa2, 0x55, 0xe9, 0x85, 0x38, 0x55, 0x4e, 0x1c, 0xa0, 0x4e, 0x85, - 0x0f, 0x50, 0x9f, 0xc3, 0xf5, 0xfa, 0x25, 0xdd, 0xb8, 0x4a, 0x7b, 0xd5, 0xb3, 0xc1, 0x47, 0x22, - 0x30, 0xd5, 0x32, 0x6d, 0xf2, 0x0c, 0xa3, 0xd3, 0xf3, 0xd7, 0x1c, 0x24, 0x8a, 0x22, 0x71, 0xc9, - 0xc0, 0x90, 0x8d, 0x2b, 0x86, 0x5e, 0x65, 0x23, 0x3d, 0xaa, 0x88, 0x22, 0x51, 0x5b, 0x57, 0x75, - 0xc3, 0xe6, 0x77, 0xee, 0x59, 0xa1, 0xf0, 0x71, 0x69, 0x7f, 0xf9, 0xc2, 0x88, 0x68, 0x49, 0xa8, - 0xf9, 0x68, 0xcf, 0x23, 0xe5, 0x1d, 0xa2, 0xa5, 0xab, 0x44, 0xe0, 0x58, 0xb9, 0x5f, 0xab, 0xfc, - 0x62, 0x04, 0xa6, 0xc3, 0x56, 0x21, 0x69, 0x9b, 0xed, 0xa8, 0x0d, 0xb3, 0x93, 0x59, 0xce, 0x43, - 0x72, 0x5d, 0xe0, 0xec, 0xdb, 0x2e, 0x37, 0xf6, 0x69, 0x97, 0x51, 0xb7, 0x29, 0x61, 0x98, 0x33, - 0x7d, 0x1a, 0xc6, 0xd5, 0xe3, 0x40, 0x96, 0xf9, 0x6c, 0x0c, 0x4e, 0xd0, 0x47, 0x59, 0x56, 0x43, - 0xd3, 0x9d, 0xd3, 0x15, 0x6b, 0xcf, 0x74, 0x68, 0xe2, 0x66, 0x6c, 0x71, 0xbb, 0x8c, 0x7b, 0xd5, - 0xb3, 0xac, 0xba, 0xc3, 0xc8, 0xd9, 0x82, 0xf8, 0x2a, 0xa1, 0x23, 0x16, 0x71, 0x0c, 0x47, 0xad, - 0x73, 0x4b, 0xb1, 0x02, 0x81, 0xb2, 0x87, 0x5c, 0x11, 0x06, 0xd5, 0xc4, 0x1b, 0xae, 0x3a, 0x56, - 0xb7, 0xd8, 0x7d, 0xf8, 0x28, 0x1d, 0x50, 0x09, 0x02, 0xa0, 0x57, 0xdf, 0x27, 0x21, 0xae, 0x36, - 0xd9, 0x55, 0x8e, 0x28, 0x19, 0x69, 0xb4, 0x20, 0x5f, 0x82, 0x21, 0x7e, 0xa0, 0x8c, 0xd2, 0x10, - 0xdd, 0xc1, 0x7b, 0xb4, 0x9d, 0x94, 0x42, 0x7e, 0xa2, 0x59, 0x88, 0x53, 0xe1, 0xf9, 0x04, 0x92, - 0x99, 0x6d, 0x91, 0x7e, 0x96, 0x0a, 0xa9, 0x30, 0x34, 0xf9, 0x19, 0x48, 0x14, 0x8d, 0x86, 0xa6, - 0x1b, 0x41, 0x6e, 0x49, 0xc6, 0x8d, 0xca, 0x6c, 0x36, 0x79, 0xbe, 0xa1, 0xb0, 0x02, 0x3a, 0x0c, - 0x83, 0xec, 0x7d, 0x04, 0xbf, 0x8e, 0xc2, 0x4b, 0xf2, 0x1c, 0x0c, 0x51, 0xde, 0x2b, 0x26, 0x42, - 0xfc, 0x65, 0x1d, 0x7f, 0x88, 0x41, 0x53, 0x53, 0xce, 0x3e, 0xe2, 0x09, 0x8b, 0x20, 0x56, 0x55, - 0x1d, 0x95, 0xeb, 0x4d, 0x7f, 0xcb, 0x6f, 0x86, 0x04, 0x67, 0x62, 0xa3, 0x33, 0x10, 0x35, 0x4c, - 0x9b, 0x5f, 0x28, 0xc9, 0x76, 0x52, 0x65, 0xc5, 0x2c, 0xc4, 0x48, 0xa6, 0xa2, 0x10, 0xe4, 0x82, - 0xd2, 0x31, 0xa8, 0x3e, 0xe9, 0x0b, 0xaa, 0xbe, 0x2e, 0xf7, 0xfd, 0x64, 0x5d, 0xda, 0xe2, 0x0e, - 0xae, 0xb3, 0x7c, 0x2a, 0x02, 0x53, 0xbe, 0xda, 0x2b, 0xd8, 0xb2, 0x35, 0x43, 0xe7, 0xf3, 0x39, - 0xf3, 0x16, 0xe4, 0x13, 0x92, 0xd7, 0x77, 0x70, 0x97, 0x37, 0x41, 0x34, 0x6f, 0x9a, 0x28, 0x0b, - 0x09, 0x5a, 0xae, 0x18, 0xcc, 0x5f, 0x62, 0x8a, 0x5b, 0x26, 0x75, 0xb6, 0xb1, 0xe5, 0x5c, 0x55, - 0x2d, 0xf7, 0x09, 0xa1, 0x28, 0xcb, 0x4f, 0x41, 0x72, 0xce, 0xd0, 0x6d, 0xac, 0xdb, 0x4d, 0x3a, - 0x06, 0x37, 0xeb, 0x46, 0x65, 0x87, 0x73, 0x60, 0x05, 0x62, 0x70, 0xd5, 0x34, 0x29, 0x65, 0x4c, - 0x21, 0x3f, 0x59, 0x6e, 0x58, 0x58, 0xeb, 0x68, 0xa2, 0xa7, 0xf6, 0x6f, 0x22, 0xae, 0xa4, 0x6b, - 0xa3, 0xff, 0x2d, 0xc1, 0xf1, 0xd6, 0x01, 0xb5, 0x83, 0xf7, 0xec, 0xfd, 0x8e, 0xa7, 0xe7, 0x21, - 0xb9, 0x4a, 0xdf, 0xf1, 0x5f, 0xc2, 0x7b, 0x28, 0x0b, 0x43, 0xb8, 0x7a, 0xe6, 0xec, 0xd9, 0x47, - 0x9f, 0x62, 0xde, 0x7e, 0x71, 0x40, 0x11, 0x00, 0x34, 0x05, 0x49, 0x1b, 0x57, 0xcc, 0x33, 0x67, - 0xcf, 0xed, 0x3c, 0xca, 0xdc, 0x8b, 0x64, 0x40, 0x2e, 0x28, 0x97, 0x20, 0x5a, 0xbf, 0xfe, 0xa9, - 0x69, 0xa9, 0x10, 0x87, 0xa8, 0xdd, 0x6c, 0xdc, 0x51, 0x1f, 0x79, 0x25, 0x0e, 0x33, 0x7e, 0x4a, - 0x1a, 0xa9, 0xdc, 0xac, 0x84, 0xdb, 0x20, 0xed, 0xb3, 0x01, 0xc5, 0xe8, 0x90, 0xcc, 0x76, 0xb5, - 0xa4, 0xfc, 0xeb, 0x12, 0xa4, 0xdc, 0x54, 0x69, 0x0d, 0x3b, 0xe8, 0xbc, 0x3f, 0xff, 0xe1, 0xc3, - 0xe6, 0xd8, 0x6c, 0xb8, 0x2d, 0x2f, 0xa5, 0x53, 0x7c, 0xe8, 0xe8, 0x09, 0xea, 0x88, 0xa6, 0x61, - 0xf3, 0x67, 0x65, 0x3d, 0x48, 0x5d, 0x64, 0xf4, 0x10, 0x20, 0x1a, 0xe1, 0xca, 0x57, 0x0c, 0x47, - 0xd3, 0x6b, 0x65, 0xd3, 0xb8, 0xca, 0x1f, 0xeb, 0x46, 0x95, 0x34, 0xad, 0xb9, 0x4c, 0x2b, 0x56, - 0x09, 0x9c, 0x08, 0x9d, 0x74, 0xb9, 0x04, 0xd3, 0x3b, 0x12, 0x04, 0x44, 0x11, 0x9d, 0x87, 0x21, - 0xb3, 0xb9, 0x59, 0x16, 0x11, 0x63, 0xf8, 0xcc, 0xf1, 0x76, 0xe3, 0x5f, 0xf8, 0x07, 0x8f, 0x00, - 0x83, 0x66, 0x73, 0x93, 0x78, 0xcb, 0x5d, 0x90, 0x6a, 0x23, 0xcc, 0xf0, 0x15, 0x4f, 0x0e, 0xfa, - 0xf9, 0x08, 0xae, 0x41, 0xd9, 0xb4, 0x34, 0xc3, 0xd2, 0x9c, 0x3d, 0x9a, 0xbf, 0x46, 0x95, 0xb4, - 0xa8, 0x58, 0xe5, 0x70, 0x79, 0x07, 0xc6, 0xd6, 0xe8, 0xfa, 0xd6, 0x93, 0xfc, 0xac, 0x27, 0x9f, - 0xd4, 0x5b, 0xbe, 0x8e, 0x92, 0x45, 0x5a, 0x24, 0x2b, 0x3c, 0xdb, 0xd1, 0x3b, 0x9f, 0xd8, 0xbf, - 0x77, 0x06, 0x33, 0xc4, 0x3f, 0x3e, 0x1a, 0x18, 0x9c, 0xcc, 0x39, 0xfd, 0xe1, 0xab, 0x5f, 0xc7, - 0xec, 0x95, 0x4d, 0x64, 0xbb, 0x4f, 0xaa, 0xd9, 0x1e, 0x61, 0x34, 0xdb, 0x73, 0x08, 0xc9, 0x4f, - 0xc1, 0xc8, 0xaa, 0x6a, 0x39, 0x6b, 0xd8, 0xb9, 0x88, 0xd5, 0x2a, 0xb6, 0x82, 0xb3, 0xee, 0x88, - 0x98, 0x75, 0x11, 0xc4, 0xe8, 0xd4, 0xca, 0x66, 0x1d, 0xfa, 0x5b, 0xde, 0x86, 0x18, 0xbd, 0x19, - 0xea, 0xce, 0xc8, 0x9c, 0x82, 0xcd, 0xc8, 0x24, 0x96, 0xee, 0x39, 0xd8, 0x16, 0xe9, 0x2d, 0x2d, - 0xa0, 0xc7, 0xc5, 0xbc, 0x1a, 0xed, 0x3e, 0xaf, 0x72, 0x47, 0xe4, 0xb3, 0x6b, 0x1d, 0x86, 0x0a, - 0x24, 0x14, 0x2f, 0x14, 0x5d, 0x41, 0x24, 0x4f, 0x10, 0xb4, 0x04, 0x63, 0xa6, 0x6a, 0x39, 0xf4, - 0x49, 0xcc, 0x36, 0xd5, 0x82, 0xfb, 0xfa, 0x74, 0xeb, 0xc8, 0x0b, 0x28, 0xcb, 0x5b, 0x19, 0x31, - 0xfd, 0x40, 0xf9, 0x8f, 0x62, 0x30, 0xc8, 0x8d, 0xf1, 0x26, 0x18, 0xe2, 0x66, 0xe5, 0xde, 0x79, - 0x62, 0xb6, 0x75, 0x62, 0x9a, 0x75, 0x27, 0x10, 0xce, 0x4f, 0xd0, 0xa0, 0xfb, 0x20, 0x51, 0xd9, - 0x56, 0x35, 0xbd, 0xac, 0x55, 0xc5, 0x56, 0xc3, 0x6b, 0x37, 0xa7, 0x87, 0xe6, 0x08, 0x6c, 0xa1, - 0xa8, 0x0c, 0xd1, 0xca, 0x85, 0x2a, 0xc9, 0x04, 0xb6, 0xb1, 0x56, 0xdb, 0x76, 0xf8, 0x08, 0xe3, - 0x25, 0xf4, 0x24, 0xc4, 0x88, 0x43, 0xf0, 0x07, 0x93, 0xd9, 0x96, 0x0d, 0x1f, 0x37, 0xd9, 0x2b, - 0x24, 0x48, 0xc3, 0x1f, 0xfa, 0xf6, 0xb4, 0xa4, 0x50, 0x0a, 0x34, 0x07, 0x23, 0x75, 0xd5, 0x76, - 0xca, 0x74, 0x06, 0x23, 0xcd, 0xc7, 0xf9, 0x7a, 0xbb, 0xc5, 0x20, 0xdc, 0xb0, 0x5c, 0xf4, 0x61, - 0x42, 0xc5, 0x40, 0x55, 0x74, 0x12, 0xd2, 0x94, 0x49, 0xc5, 0x68, 0x34, 0x34, 0x87, 0xe5, 0x56, - 0x83, 0xd4, 0xee, 0xa3, 0x04, 0x3e, 0x47, 0xc1, 0x34, 0xc3, 0x3a, 0x06, 0x49, 0xfa, 0x44, 0x8b, - 0xa2, 0xb0, 0xeb, 0xc8, 0x09, 0x02, 0xa0, 0x95, 0xf7, 0xc3, 0x98, 0x17, 0x1f, 0x19, 0x4a, 0x82, - 0x71, 0xf1, 0xc0, 0x14, 0xf1, 0x11, 0x98, 0xd4, 0xf1, 0x2e, 0xbd, 0x20, 0x1d, 0xc0, 0x4e, 0x52, - 0x6c, 0x44, 0xea, 0x2e, 0x07, 0x29, 0xee, 0x85, 0xd1, 0x8a, 0x30, 0x3e, 0xc3, 0x05, 0x8a, 0x3b, - 0xe2, 0x42, 0x29, 0xda, 0x51, 0x48, 0xa8, 0xa6, 0xc9, 0x10, 0x86, 0x79, 0x7c, 0x34, 0x4d, 0x5a, - 0x75, 0x0a, 0xc6, 0xa9, 0x8e, 0x16, 0xb6, 0x9b, 0x75, 0x87, 0x33, 0x49, 0x51, 0x9c, 0x31, 0x52, - 0xa1, 0x30, 0x38, 0xc5, 0xbd, 0x1b, 0x46, 0xf0, 0x15, 0xad, 0x8a, 0xf5, 0x0a, 0x66, 0x78, 0x23, - 0x14, 0x2f, 0x25, 0x80, 0x14, 0xe9, 0x01, 0x70, 0xe3, 0x5e, 0x59, 0xc4, 0xe4, 0x51, 0xc6, 0x4f, - 0xc0, 0xf3, 0x0c, 0x2c, 0x67, 0x20, 0x56, 0x54, 0x1d, 0x95, 0x24, 0x18, 0xce, 0x2e, 0x9b, 0x68, - 0x52, 0x0a, 0xf9, 0x29, 0xbf, 0x1e, 0x81, 0xd8, 0x65, 0xc3, 0xc1, 0xe8, 0x31, 0x5f, 0x02, 0x38, - 0xda, 0xce, 0x9f, 0xd7, 0xb4, 0x9a, 0x8e, 0xab, 0x4b, 0x76, 0xcd, 0xf7, 0x3d, 0x05, 0xcf, 0x9d, - 0x22, 0x01, 0x77, 0x9a, 0x84, 0xb8, 0x65, 0x34, 0xf5, 0xaa, 0xb8, 0xc9, 0x4b, 0x0b, 0xa8, 0x04, - 0x09, 0xd7, 0x4b, 0x62, 0xbd, 0xbc, 0x64, 0x8c, 0x78, 0x09, 0xf1, 0x61, 0x0e, 0x50, 0x86, 0x36, - 0xb9, 0xb3, 0x14, 0x20, 0xe9, 0x06, 0x2f, 0xee, 0x6d, 0xfd, 0x39, 0xac, 0x47, 0x46, 0x26, 0x13, - 0xb7, 0xef, 0x5d, 0xe3, 0x31, 0x8f, 0x4b, 0xbb, 0x15, 0xdc, 0x7a, 0x01, 0xb7, 0xe2, 0xdf, 0x76, - 0x18, 0xa2, 0x7a, 0x79, 0x6e, 0xc5, 0xbe, 0xef, 0x70, 0x1c, 0x92, 0xb6, 0x56, 0xd3, 0x55, 0xa7, - 0x69, 0x61, 0xee, 0x79, 0x1e, 0x40, 0xfe, 0x8a, 0x04, 0x83, 0xcc, 0x93, 0x7d, 0x76, 0x93, 0xda, - 0xdb, 0x2d, 0xd2, 0xc9, 0x6e, 0xd1, 0x83, 0xdb, 0x2d, 0x0f, 0xe0, 0x0a, 0x63, 0xf3, 0x27, 0xf7, - 0x6d, 0x32, 0x06, 0x26, 0xe2, 0x9a, 0x56, 0xe3, 0x03, 0xd5, 0x47, 0x24, 0xff, 0x07, 0x89, 0x24, - 0xb1, 0xbc, 0x1e, 0xe5, 0x61, 0x44, 0xc8, 0x55, 0xde, 0xaa, 0xab, 0x35, 0xee, 0x3b, 0x27, 0x3a, - 0x0a, 0x77, 0xa1, 0xae, 0xd6, 0x94, 0x61, 0x2e, 0x0f, 0x29, 0xb4, 0xef, 0x87, 0x48, 0x87, 0x7e, - 0x08, 0x74, 0x7c, 0xf4, 0x60, 0x1d, 0x1f, 0xe8, 0xa2, 0x58, 0xb8, 0x8b, 0xbe, 0x18, 0xa1, 0x8b, - 0x19, 0xd3, 0xb0, 0xd5, 0xfa, 0x8f, 0x63, 0x44, 0x1c, 0x83, 0xa4, 0x69, 0xd4, 0xcb, 0xac, 0x86, - 0xdd, 0x70, 0x4f, 0x98, 0x46, 0x5d, 0x69, 0xe9, 0xf6, 0xf8, 0x6d, 0x1a, 0x2e, 0x83, 0xb7, 0xc1, - 0x6a, 0x43, 0x61, 0xab, 0x59, 0x90, 0x62, 0xa6, 0xe0, 0x73, 0xd9, 0x23, 0xc4, 0x06, 0x74, 0x72, - 0x94, 0x5a, 0xe7, 0x5e, 0x26, 0x36, 0xc3, 0x54, 0x38, 0x1e, 0xa1, 0x60, 0xa1, 0xbf, 0xdd, 0x2a, - 0xd8, 0xef, 0x96, 0x0a, 0xc7, 0x93, 0xff, 0xa6, 0x04, 0xb0, 0x48, 0x2c, 0x4b, 0xf5, 0x25, 0xb3, - 0x90, 0x4d, 0x45, 0x28, 0x07, 0x5a, 0x9e, 0xea, 0xd4, 0x69, 0xbc, 0xfd, 0x94, 0xed, 0x97, 0x7b, - 0x0e, 0x46, 0x3c, 0x67, 0xb4, 0xb1, 0x10, 0x66, 0xaa, 0x4b, 0x56, 0xbd, 0x86, 0x1d, 0x25, 0x75, - 0xc5, 0x57, 0x92, 0xff, 0xb9, 0x04, 0x49, 0x2a, 0xd3, 0x12, 0x76, 0xd4, 0x40, 0x1f, 0x4a, 0x07, - 0xef, 0xc3, 0x13, 0x00, 0x8c, 0x8d, 0xad, 0x5d, 0xc3, 0xdc, 0xb3, 0x92, 0x14, 0xb2, 0xa6, 0x5d, - 0xc3, 0xe8, 0x9c, 0x6b, 0xf0, 0x68, 0x77, 0x83, 0x8b, 0xac, 0x9b, 0x9b, 0xfd, 0x08, 0x0c, 0xd1, - 0x4f, 0x54, 0xed, 0xda, 0x3c, 0x91, 0x1e, 0xd4, 0x9b, 0x8d, 0xf5, 0x5d, 0x5b, 0x7e, 0x11, 0x86, - 0xd6, 0x77, 0xd9, 0xde, 0xc8, 0x31, 0x48, 0x5a, 0x86, 0xc1, 0xe7, 0x64, 0x96, 0x0b, 0x25, 0x08, - 0x80, 0x4e, 0x41, 0x62, 0x3f, 0x20, 0xe2, 0xed, 0x07, 0x78, 0x1b, 0x1a, 0xd1, 0xbe, 0x36, 0x34, - 0x4e, 0xfd, 0x3b, 0x09, 0x86, 0x7d, 0xf1, 0x01, 0x3d, 0x0a, 0x87, 0x0a, 0x8b, 0x2b, 0x73, 0x97, - 0xca, 0x0b, 0xc5, 0xf2, 0x85, 0xc5, 0xfc, 0xbc, 0xf7, 0x86, 0x2b, 0x7b, 0xf8, 0xfa, 0x8d, 0x19, - 0xe4, 0xc3, 0xdd, 0xd0, 0xe9, 0x8e, 0x12, 0x3a, 0x0d, 0x93, 0x41, 0x92, 0x7c, 0x61, 0xad, 0xb4, - 0xbc, 0x9e, 0x96, 0xb2, 0x87, 0xae, 0xdf, 0x98, 0x19, 0xf7, 0x51, 0xe4, 0x37, 0x6d, 0xac, 0x3b, - 0xad, 0x04, 0x73, 0x2b, 0x4b, 0x4b, 0x0b, 0xeb, 0xe9, 0x48, 0x0b, 0x01, 0x0f, 0xd8, 0x0f, 0xc0, - 0x78, 0x90, 0x60, 0x79, 0x61, 0x31, 0x1d, 0xcd, 0xa2, 0xeb, 0x37, 0x66, 0x46, 0x7d, 0xd8, 0xcb, - 0x5a, 0x3d, 0x9b, 0xf8, 0xc0, 0xa7, 0xa7, 0x06, 0x7e, 0xe5, 0x97, 0xa7, 0x24, 0xa2, 0xd9, 0x48, - 0x20, 0x46, 0xa0, 0x87, 0xe0, 0xc8, 0xda, 0xc2, 0xfc, 0x72, 0xa9, 0x58, 0x5e, 0x5a, 0x9b, 0x17, - 0x7b, 0xd0, 0x42, 0xbb, 0xb1, 0xeb, 0x37, 0x66, 0x86, 0xb9, 0x4a, 0x9d, 0xb0, 0x57, 0x95, 0xd2, - 0xe5, 0x95, 0xf5, 0x52, 0x5a, 0x62, 0xd8, 0xab, 0x16, 0xbe, 0x62, 0x38, 0xec, 0x1b, 0x76, 0x8f, - 0xc0, 0xd1, 0x36, 0xd8, 0xae, 0x62, 0xe3, 0xd7, 0x6f, 0xcc, 0x8c, 0xac, 0x5a, 0x98, 0x8d, 0x1f, - 0x4a, 0x31, 0x0b, 0x99, 0x56, 0x8a, 0x95, 0xd5, 0x95, 0xb5, 0xfc, 0x62, 0x7a, 0x26, 0x9b, 0xbe, - 0x7e, 0x63, 0x26, 0x25, 0x82, 0x21, 0xdd, 0xe8, 0x77, 0x35, 0xbb, 0x93, 0x2b, 0x9e, 0x3f, 0x7d, - 0x18, 0xee, 0xe9, 0x70, 0xc6, 0x24, 0x4e, 0x27, 0x0e, 0x74, 0xca, 0xd4, 0x71, 0x9f, 0x3d, 0xdb, - 0x63, 0xfb, 0xb9, 0xf7, 0xd2, 0xe9, 0xe0, 0x27, 0x58, 0xd9, 0xae, 0x8b, 0x3b, 0xf9, 0x83, 0x12, - 0x8c, 0x5e, 0xd4, 0x6c, 0xc7, 0xb0, 0xb4, 0x8a, 0x5a, 0xa7, 0x2f, 0xb7, 0xce, 0xf5, 0x1b, 0x5b, - 0x43, 0x43, 0xfd, 0x69, 0x18, 0xbc, 0xa2, 0xd6, 0x59, 0x50, 0x8b, 0xd2, 0x0f, 0xcd, 0x74, 0x38, - 0xf2, 0x71, 0x43, 0x9b, 0x60, 0xc0, 0xc8, 0xe4, 0x5f, 0x8b, 0xc0, 0x18, 0x1d, 0x0c, 0x36, 0xfb, - 0x04, 0x19, 0x59, 0x63, 0x15, 0x20, 0x66, 0xa9, 0x0e, 0xdf, 0x34, 0x2c, 0xcc, 0xf2, 0xd3, 0xc7, - 0xfb, 0xfa, 0x38, 0x4b, 0x2b, 0xe2, 0x8a, 0x42, 0x69, 0xd1, 0xdb, 0x21, 0xd1, 0x50, 0x77, 0xcb, - 0x94, 0x0f, 0x5b, 0xb9, 0xe4, 0xf7, 0xc7, 0xe7, 0xd6, 0xcd, 0xe9, 0xb1, 0x3d, 0xb5, 0x51, 0xcf, - 0xc9, 0x82, 0x8f, 0xac, 0x0c, 0x35, 0xd4, 0x5d, 0x22, 0x22, 0x32, 0x61, 0x8c, 0x40, 0x2b, 0xdb, - 0xaa, 0x5e, 0xc3, 0xac, 0x11, 0xba, 0x05, 0x5a, 0xb8, 0xb8, 0xef, 0x46, 0x0e, 0x7b, 0x8d, 0xf8, - 0xd8, 0xc9, 0xca, 0x48, 0x43, 0xdd, 0x9d, 0xa3, 0x00, 0xd2, 0x62, 0x2e, 0xf1, 0xd1, 0x57, 0xa7, - 0x07, 0xe8, 0x89, 0xee, 0xb7, 0x24, 0x00, 0xcf, 0x62, 0xe8, 0xed, 0x90, 0xae, 0xb8, 0x25, 0x4a, - 0x2b, 0xce, 0x26, 0xef, 0xef, 0xd4, 0x17, 0x21, 0x7b, 0xb3, 0xb9, 0xf9, 0x9b, 0x37, 0xa7, 0x25, - 0x65, 0xac, 0x12, 0xea, 0x8a, 0xb7, 0xc1, 0x70, 0xd3, 0xac, 0xaa, 0x0e, 0x2e, 0xd3, 0x75, 0x5c, - 0xa4, 0xe7, 0x3c, 0x3f, 0x45, 0x78, 0xdd, 0xba, 0x39, 0x8d, 0x98, 0x5a, 0x3e, 0x62, 0x99, 0xce, - 0xfe, 0xc0, 0x20, 0x84, 0xc0, 0xa7, 0xd3, 0xd7, 0x25, 0x18, 0x2e, 0xfa, 0xee, 0x54, 0x66, 0x60, - 0xa8, 0x61, 0xe8, 0xda, 0x0e, 0xf7, 0xc7, 0xa4, 0x22, 0x8a, 0x28, 0x0b, 0x09, 0xf6, 0x98, 0xd5, - 0xd9, 0x13, 0x5b, 0xa1, 0xa2, 0x4c, 0xa8, 0xae, 0xe2, 0x4d, 0x5b, 0x13, 0xbd, 0xa1, 0x88, 0x22, - 0xba, 0x00, 0x69, 0x1b, 0x57, 0x9a, 0x96, 0xe6, 0xec, 0x95, 0x2b, 0x86, 0xee, 0xa8, 0x15, 0x87, - 0x3d, 0x8b, 0x2c, 0x1c, 0xbb, 0x75, 0x73, 0xfa, 0x08, 0x93, 0x35, 0x8c, 0x21, 0x2b, 0x63, 0x02, - 0x34, 0xc7, 0x20, 0xa4, 0x85, 0x2a, 0x76, 0x54, 0xad, 0x6e, 0x67, 0xd8, 0xe5, 0x04, 0x51, 0xf4, - 0xe9, 0xf2, 0xb9, 0x21, 0xff, 0xc6, 0xd6, 0x05, 0x48, 0x1b, 0x26, 0xb6, 0x02, 0x89, 0xa8, 0x14, - 0x6e, 0x39, 0x8c, 0x21, 0x2b, 0x63, 0x02, 0x24, 0x92, 0x54, 0x87, 0x74, 0xb3, 0x58, 0x28, 0x9a, - 0xcd, 0x4d, 0x6f, 0x3f, 0x6c, 0xb2, 0xa5, 0x37, 0xf2, 0xfa, 0x5e, 0xe1, 0x31, 0x8f, 0x7b, 0x98, - 0x4e, 0xfe, 0xc6, 0x97, 0x1e, 0x9e, 0xe4, 0xae, 0xe1, 0xed, 0x4f, 0x5d, 0xc2, 0x7b, 0xa4, 0xfb, - 0x39, 0xea, 0x2a, 0xc5, 0x24, 0x69, 0xe7, 0x8b, 0xaa, 0x56, 0x17, 0xcf, 0xfb, 0x15, 0x5e, 0x42, - 0x39, 0x18, 0xb4, 0x1d, 0xd5, 0x69, 0xda, 0xfc, 0xa4, 0x57, 0xee, 0xe4, 0x6a, 0x05, 0x43, 0xaf, - 0xae, 0x51, 0x4c, 0x85, 0x53, 0xa0, 0x0b, 0x30, 0xc8, 0x8f, 0xd0, 0xe3, 0xfb, 0x1e, 0xdf, 0xf4, - 0xae, 0x04, 0xa3, 0x26, 0x16, 0xa9, 0xe2, 0x3a, 0xae, 0xb1, 0xb4, 0x6a, 0x5b, 0x25, 0xab, 0x0f, - 0xfa, 0xed, 0xbd, 0xc2, 0xc2, 0xbe, 0x07, 0x21, 0xb7, 0x54, 0x98, 0x9f, 0xac, 0x8c, 0xb9, 0xa0, - 0x35, 0x0a, 0x41, 0x97, 0x02, 0x97, 0x7f, 0xf9, 0x07, 0x2a, 0xef, 0xee, 0xa4, 0xbe, 0xcf, 0xa7, - 0xc5, 0xfe, 0x84, 0xff, 0xea, 0xf0, 0x05, 0x48, 0x37, 0xf5, 0x4d, 0x43, 0xa7, 0x6f, 0x70, 0x79, - 0x7e, 0x4f, 0xd6, 0x77, 0x51, 0xbf, 0x73, 0x84, 0x31, 0x64, 0x65, 0xcc, 0x05, 0x5d, 0x64, 0xab, - 0x80, 0x2a, 0x8c, 0x7a, 0x58, 0x74, 0xa0, 0x26, 0x7b, 0x0e, 0xd4, 0xbb, 0xf8, 0x40, 0x3d, 0x14, - 0x6e, 0xc5, 0x1b, 0xab, 0x23, 0x2e, 0x90, 0x90, 0xa1, 0x8b, 0x00, 0x5e, 0x78, 0xa0, 0xfb, 0x14, - 0xc3, 0x9d, 0x3b, 0xde, 0x8b, 0x31, 0x62, 0xbd, 0xe7, 0xd1, 0xa2, 0x77, 0xc2, 0x44, 0x43, 0xd3, - 0xcb, 0x36, 0xae, 0x6f, 0x95, 0xb9, 0x81, 0x09, 0x4b, 0xfa, 0x09, 0xa5, 0xc2, 0xe2, 0xfe, 0xfc, - 0xe1, 0xd6, 0xcd, 0xe9, 0x2c, 0x0f, 0xa1, 0xad, 0x2c, 0x65, 0x65, 0xbc, 0xa1, 0xe9, 0x6b, 0xb8, - 0xbe, 0x55, 0x74, 0x61, 0xb9, 0xd4, 0x07, 0x5e, 0x9d, 0x1e, 0xe0, 0xc3, 0x75, 0x40, 0x3e, 0x47, - 0xf7, 0xce, 0xf9, 0x30, 0xc3, 0x36, 0x59, 0x93, 0xa8, 0xa2, 0xc0, 0xaf, 0x1a, 0x78, 0x00, 0x36, - 0xcc, 0x5f, 0xfe, 0x83, 0x19, 0x49, 0xfe, 0x9c, 0x04, 0x83, 0xc5, 0xcb, 0xab, 0xaa, 0x66, 0xa1, - 0x05, 0x18, 0xf7, 0x3c, 0x27, 0x38, 0xc8, 0x8f, 0xdf, 0xba, 0x39, 0x9d, 0x09, 0x3b, 0x97, 0x3b, - 0xca, 0x3d, 0x07, 0x16, 0xc3, 0x7c, 0xa1, 0xd3, 0xc2, 0x35, 0xc0, 0xaa, 0x05, 0x45, 0x6e, 0x5d, - 0xd6, 0x86, 0xd4, 0x2c, 0xc1, 0x10, 0x93, 0xd6, 0x46, 0x39, 0x88, 0x9b, 0xe4, 0x07, 0x3f, 0x18, - 0x98, 0xea, 0xe8, 0xbc, 0x14, 0xdf, 0xdd, 0xc8, 0x24, 0x24, 0xf2, 0x87, 0x23, 0x00, 0xc5, 0xcb, - 0x97, 0xd7, 0x2d, 0xcd, 0xac, 0x63, 0xe7, 0x76, 0x6a, 0xbe, 0x0e, 0x87, 0x7c, 0xab, 0x24, 0xab, - 0x12, 0xd2, 0x7e, 0xe6, 0xd6, 0xcd, 0xe9, 0xe3, 0x61, 0xed, 0x7d, 0x68, 0xb2, 0x32, 0xe1, 0xad, - 0x97, 0xac, 0x4a, 0x5b, 0xae, 0x55, 0xdb, 0x71, 0xb9, 0x46, 0x3b, 0x73, 0xf5, 0xa1, 0xf9, 0xb9, - 0x16, 0x6d, 0xa7, 0xbd, 0x69, 0xd7, 0x60, 0xd8, 0x33, 0x89, 0x8d, 0x8a, 0x90, 0x70, 0xf8, 0x6f, - 0x6e, 0x61, 0xb9, 0xb3, 0x85, 0x05, 0x19, 0xb7, 0xb2, 0x4b, 0x29, 0xff, 0x99, 0x04, 0xe0, 0xf9, - 0xec, 0x4f, 0xa7, 0x8b, 0x91, 0x50, 0xce, 0x03, 0x6f, 0xf4, 0x40, 0xa9, 0x1a, 0xa7, 0x0e, 0xd9, - 0xf3, 0xe7, 0x22, 0x30, 0xb1, 0x21, 0x22, 0xcf, 0x4f, 0xbd, 0x0d, 0x56, 0x61, 0x08, 0xeb, 0x8e, - 0xa5, 0x51, 0x23, 0x90, 0xde, 0x7e, 0xa4, 0x53, 0x6f, 0xb7, 0xd1, 0x89, 0x7e, 0x44, 0x4a, 0x6c, - 0xba, 0x73, 0x36, 0x21, 0x6b, 0xfc, 0x42, 0x14, 0x32, 0x9d, 0x28, 0xd1, 0x1c, 0x8c, 0x55, 0x2c, - 0xcc, 0x2e, 0x5e, 0xf9, 0x77, 0xfe, 0x0a, 0x59, 0x2f, 0xb3, 0x0c, 0x21, 0xc8, 0xca, 0xa8, 0x80, - 0xf0, 0xd9, 0xa3, 0x06, 0x24, 0xed, 0x23, 0x6e, 0x47, 0xef, 0x6f, 0xf5, 0x97, 0xe7, 0xc9, 0x7c, - 0xfa, 0x10, 0x8d, 0x04, 0x19, 0xb0, 0xf9, 0x63, 0xd4, 0x83, 0xd2, 0x09, 0xe4, 0x25, 0x18, 0xd3, - 0x74, 0xcd, 0xd1, 0xd4, 0x7a, 0x79, 0x53, 0xad, 0xab, 0x7a, 0xe5, 0x20, 0x59, 0x33, 0x0b, 0xf9, - 0xbc, 0xd9, 0x10, 0x3b, 0x59, 0x19, 0xe5, 0x90, 0x02, 0x03, 0xa0, 0x8b, 0x30, 0x24, 0x9a, 0x8a, - 0x1d, 0x28, 0xdb, 0x10, 0xe4, 0xbe, 0x04, 0xef, 0xe7, 0xa3, 0x30, 0xae, 0xe0, 0xea, 0xff, 0xef, - 0x8a, 0xfd, 0x75, 0xc5, 0x12, 0x00, 0x1b, 0xee, 0x24, 0xc0, 0x1e, 0xa0, 0x37, 0x48, 0xc0, 0x48, - 0x32, 0x0e, 0x45, 0xdb, 0xf1, 0xf5, 0xc7, 0xcd, 0x08, 0xa4, 0xfc, 0xfd, 0xf1, 0x17, 0x74, 0x56, - 0x42, 0x0b, 0x5e, 0x24, 0x8a, 0xf1, 0x4f, 0xef, 0x76, 0x88, 0x44, 0x2d, 0xde, 0xdb, 0x3d, 0x04, - 0xfd, 0x8f, 0x08, 0x0c, 0xae, 0xaa, 0x96, 0xda, 0xb0, 0x51, 0xa5, 0x25, 0xd3, 0x14, 0xdb, 0x8f, - 0x2d, 0x1f, 0x58, 0xe7, 0xbb, 0x1d, 0x3d, 0x12, 0xcd, 0x8f, 0xb6, 0x49, 0x34, 0xdf, 0x02, 0xa3, - 0x64, 0x39, 0xec, 0xbb, 0xc2, 0x40, 0xac, 0x3d, 0x52, 0x38, 0xea, 0x71, 0x09, 0xd6, 0xb3, 0xd5, - 0xf2, 0x65, 0xff, 0x1d, 0x86, 0x61, 0x82, 0xe1, 0x05, 0x66, 0x42, 0x7e, 0xd8, 0x5b, 0x96, 0xfa, - 0x2a, 0x65, 0x05, 0x1a, 0xea, 0x6e, 0x89, 0x15, 0xd0, 0x22, 0xa0, 0x6d, 0x77, 0x67, 0xa4, 0xec, - 0x99, 0x93, 0xd0, 0x9f, 0xb8, 0x75, 0x73, 0xfa, 0x28, 0xa3, 0x6f, 0xc5, 0x91, 0x95, 0x71, 0x0f, - 0x28, 0xb8, 0x3d, 0x0e, 0x40, 0xf4, 0x2a, 0xb3, 0x2b, 0xdc, 0x6c, 0xb9, 0x73, 0xe8, 0xd6, 0xcd, - 0xe9, 0x71, 0xc6, 0xc5, 0xab, 0x93, 0x95, 0x24, 0x29, 0x14, 0xc9, 0x6f, 0x9f, 0x67, 0x7f, 0x5a, - 0x02, 0xe4, 0x85, 0x7c, 0x05, 0xdb, 0x26, 0x59, 0x9f, 0x91, 0x44, 0xdc, 0x97, 0x35, 0x4b, 0xdd, - 0x13, 0x71, 0x8f, 0x5e, 0x24, 0xe2, 0xbe, 0x91, 0xf2, 0x94, 0x17, 0x1e, 0x23, 0xbd, 0xee, 0x33, - 0x73, 0x17, 0x09, 0xc7, 0xc3, 0x01, 0xf9, 0x5f, 0x4a, 0x70, 0xb4, 0xc5, 0xa3, 0x5c, 0x61, 0xff, - 0x12, 0x20, 0xcb, 0x57, 0xc9, 0xbf, 0xa3, 0xc8, 0x84, 0xde, 0xb7, 0x83, 0x8e, 0x5b, 0x2d, 0x71, - 0xf7, 0xf6, 0x45, 0x78, 0x76, 0x61, 0xfe, 0x9f, 0x49, 0x30, 0xe9, 0x6f, 0xde, 0x55, 0x64, 0x19, - 0x52, 0xfe, 0xd6, 0xb9, 0x0a, 0xf7, 0xf4, 0xa3, 0x02, 0x97, 0x3e, 0x40, 0x8f, 0x9e, 0xf5, 0x86, - 0x2b, 0xdb, 0x3b, 0x7b, 0xb4, 0x6f, 0x6b, 0x08, 0x99, 0xc2, 0xc3, 0x36, 0x46, 0xfb, 0xe3, 0xff, - 0x48, 0x10, 0x5b, 0x35, 0x8c, 0x3a, 0x32, 0x60, 0x5c, 0x37, 0x9c, 0x32, 0xf1, 0x2c, 0x5c, 0xf5, - 0xdf, 0x5b, 0x4f, 0x16, 0xe6, 0xf6, 0x67, 0xa4, 0xef, 0xdd, 0x9c, 0x6e, 0x65, 0xa5, 0x8c, 0xe9, - 0x86, 0x53, 0xa0, 0x10, 0x7e, 0x75, 0xfd, 0x9d, 0x30, 0x12, 0x6c, 0x8c, 0x45, 0xc9, 0xe7, 0xf6, - 0xdd, 0x58, 0x90, 0xcd, 0xad, 0x9b, 0xd3, 0x93, 0xde, 0x88, 0x71, 0xc1, 0xb2, 0x92, 0xda, 0xf4, - 0xb5, 0xce, 0xae, 0x77, 0xfd, 0xe0, 0xd5, 0x69, 0xe9, 0xd4, 0x97, 0x25, 0x00, 0x6f, 0xe7, 0x01, - 0x3d, 0x04, 0x47, 0x0a, 0x2b, 0xcb, 0xc5, 0xf2, 0xda, 0x7a, 0x7e, 0x7d, 0x63, 0x2d, 0x78, 0xc7, - 0x5b, 0x6c, 0x8f, 0xdb, 0x26, 0xae, 0x68, 0x5b, 0x1a, 0xae, 0xa2, 0xfb, 0x60, 0x32, 0x88, 0x4d, - 0x4a, 0xa5, 0x62, 0x5a, 0xca, 0xa6, 0xae, 0xdf, 0x98, 0x49, 0xb0, 0x5c, 0x0c, 0x57, 0xd1, 0x49, - 0x38, 0xd4, 0x8a, 0xb7, 0xb0, 0x3c, 0x9f, 0x8e, 0x64, 0x47, 0xae, 0xdf, 0x98, 0x49, 0xba, 0x49, - 0x1b, 0x92, 0x01, 0xf9, 0x31, 0x39, 0xbf, 0x68, 0x16, 0xae, 0xdf, 0x98, 0x19, 0x64, 0x06, 0xcc, - 0xc6, 0x3e, 0xf0, 0xe9, 0xa9, 0x81, 0xdb, 0x7e, 0x13, 0xfc, 0x4f, 0x86, 0x3a, 0xee, 0x7a, 0xd7, - 0xb0, 0x8e, 0x6d, 0xcd, 0x3e, 0xd0, 0xae, 0x77, 0x5f, 0x3b, 0xe9, 0xf2, 0xef, 0xc6, 0x21, 0x35, - 0xcf, 0x5a, 0x21, 0x1d, 0x81, 0xd1, 0xcf, 0xc0, 0xa0, 0x49, 0xa7, 0x11, 0xf7, 0x18, 0xad, 0x83, - 0xc3, 0xb3, 0xc9, 0xc6, 0xbd, 0xcb, 0xc5, 0xa6, 0x1e, 0x9b, 0x5f, 0xe6, 0x60, 0x77, 0xcc, 0xbc, - 0x5b, 0x53, 0xa9, 0x7d, 0xed, 0xf7, 0xb0, 0x9c, 0x85, 0x6f, 0xad, 0x84, 0xf9, 0xc9, 0xec, 0x5e, - 0xc8, 0x3a, 0x81, 0xb0, 0xdb, 0x61, 0xef, 0x93, 0xe0, 0x10, 0xc5, 0xf2, 0x26, 0x62, 0x8a, 0x29, - 0x92, 0xfd, 0x53, 0x9d, 0x54, 0x58, 0x54, 0x6d, 0xef, 0xae, 0x07, 0xbb, 0xcf, 0x75, 0x0f, 0x9f, - 0x08, 0x8f, 0xfb, 0x1a, 0x0f, 0xb3, 0x95, 0x95, 0x89, 0x7a, 0x0b, 0xa5, 0x8d, 0xe6, 0x03, 0x17, - 0xfa, 0x62, 0xfb, 0xdb, 0x6a, 0xf7, 0x5f, 0xee, 0x7b, 0x06, 0x86, 0xbd, 0x58, 0x62, 0xf3, 0xff, - 0xfb, 0xd2, 0xff, 0xdc, 0xe1, 0x27, 0x46, 0xef, 0x97, 0xe0, 0x90, 0x37, 0x9b, 0xfb, 0xd9, 0xb2, - 0xff, 0x8f, 0xf3, 0xe0, 0x3e, 0x16, 0x42, 0x61, 0xe3, 0xb4, 0xe5, 0x2b, 0x2b, 0x93, 0xcd, 0x56, - 0x52, 0xb2, 0x04, 0x1b, 0xf1, 0x47, 0x56, 0x3b, 0x23, 0x3e, 0x01, 0xd9, 0x7f, 0x68, 0x0e, 0x32, - 0x60, 0xff, 0xb3, 0xc3, 0x34, 0x2c, 0x07, 0x57, 0xe9, 0x86, 0x5c, 0x42, 0x71, 0xcb, 0xf2, 0x32, - 0xa0, 0xd6, 0xce, 0x0d, 0x5f, 0x60, 0xf4, 0xde, 0xa7, 0xa0, 0x49, 0x88, 0xfb, 0xaf, 0xf8, 0xb1, - 0x42, 0x2e, 0xf1, 0x01, 0x3e, 0x7d, 0xde, 0xf6, 0x31, 0xff, 0xed, 0x08, 0x9c, 0xf2, 0x1f, 0x0f, - 0xbd, 0xd4, 0xc4, 0xd6, 0x9e, 0x3b, 0x44, 0x4d, 0xb5, 0xa6, 0xe9, 0xfe, 0x57, 0x10, 0x47, 0xfd, - 0x13, 0x3e, 0xc5, 0x15, 0x76, 0x92, 0x3f, 0x20, 0xc1, 0xf0, 0xaa, 0x5a, 0xc3, 0x0a, 0x7e, 0xa9, - 0x89, 0x6d, 0xa7, 0xcd, 0x2d, 0xf3, 0xc3, 0x30, 0x68, 0x6c, 0x6d, 0x89, 0x33, 0xed, 0x98, 0xc2, - 0x4b, 0x44, 0xe7, 0xba, 0xd6, 0xd0, 0xd8, 0x75, 0xb0, 0x98, 0xc2, 0x0a, 0x68, 0x1a, 0x86, 0x2b, - 0x46, 0x53, 0xe7, 0x43, 0x2e, 0x13, 0x13, 0xdf, 0x5a, 0x69, 0xea, 0x6c, 0xc8, 0x11, 0x23, 0x5a, - 0xf8, 0x0a, 0xb6, 0x6c, 0xf6, 0x75, 0xc9, 0x84, 0x22, 0x8a, 0xf2, 0xd3, 0x90, 0x62, 0x92, 0xf0, - 0xc9, 0xf8, 0x28, 0x24, 0xe8, 0x4d, 0x2b, 0x4f, 0x9e, 0x21, 0x52, 0xbe, 0xc4, 0xee, 0xaa, 0x33, - 0xfe, 0x4c, 0x24, 0x56, 0x28, 0x14, 0x3a, 0x5a, 0xf9, 0x64, 0xef, 0xa8, 0xc1, 0x6c, 0xe8, 0x5a, - 0xf8, 0x37, 0xe3, 0x70, 0x88, 0x1f, 0xde, 0xa9, 0xa6, 0x76, 0x7a, 0xdb, 0x71, 0xc4, 0xdb, 0x09, - 0xe0, 0x59, 0xb0, 0x6a, 0x6a, 0xf2, 0x1e, 0xc4, 0x2e, 0x3a, 0x8e, 0x89, 0x4e, 0x41, 0xdc, 0x6a, - 0xd6, 0xb1, 0xd8, 0x0c, 0x72, 0xb7, 0xeb, 0x55, 0x53, 0x9b, 0x25, 0x08, 0x4a, 0xb3, 0x8e, 0x15, - 0x86, 0x82, 0x4a, 0x30, 0xbd, 0xd5, 0xac, 0xd7, 0xf7, 0xca, 0x55, 0x4c, 0xff, 0x5d, 0x96, 0xfb, - 0x0f, 0x27, 0xf0, 0xae, 0xa9, 0x8a, 0xcf, 0x56, 0x12, 0xc3, 0x1c, 0xa7, 0x68, 0x45, 0x8a, 0x25, - 0xfe, 0xd9, 0x44, 0x49, 0xe0, 0xc8, 0xbf, 0x1f, 0x81, 0x84, 0x60, 0x4d, 0x2f, 0x8f, 0xe3, 0x3a, - 0xae, 0x38, 0x86, 0x38, 0x4c, 0x71, 0xcb, 0x08, 0x41, 0xb4, 0xc6, 0x3b, 0x2f, 0x79, 0x71, 0x40, - 0x21, 0x05, 0x02, 0x73, 0xaf, 0xf4, 0x13, 0x98, 0xd9, 0x24, 0xfd, 0x19, 0x33, 0x0d, 0xb1, 0x6a, - 0xbb, 0x38, 0xa0, 0xd0, 0x12, 0xca, 0xc0, 0x20, 0x19, 0x34, 0x0e, 0xeb, 0x2d, 0x02, 0xe7, 0x65, - 0x74, 0x18, 0xe2, 0xa6, 0xea, 0x54, 0xd8, 0x6d, 0x3b, 0x52, 0xc1, 0x8a, 0xe8, 0x09, 0x18, 0x64, - 0xaf, 0xb2, 0xc3, 0xff, 0x8b, 0x86, 0x18, 0x83, 0x7d, 0xfe, 0x8e, 0xc8, 0xbd, 0xaa, 0x3a, 0x0e, - 0xb6, 0x74, 0xc2, 0x90, 0xa1, 0x23, 0x04, 0xb1, 0x4d, 0xa3, 0xba, 0xc7, 0xff, 0x3f, 0x0e, 0xfd, - 0xcd, 0xff, 0x21, 0x07, 0xf5, 0x87, 0x32, 0xad, 0x64, 0xff, 0x16, 0x2c, 0x25, 0x80, 0x05, 0x82, - 0x54, 0x82, 0x09, 0xb5, 0x5a, 0xd5, 0xd8, 0xbf, 0xaa, 0x29, 0x6f, 0x6a, 0x34, 0x78, 0xd8, 0xf4, - 0x9f, 0xbe, 0x75, 0xea, 0x0b, 0xe4, 0x11, 0x14, 0x38, 0x7e, 0x21, 0x09, 0x43, 0x26, 0x13, 0x4a, - 0x3e, 0x0f, 0xe3, 0x2d, 0x92, 0x12, 0xf9, 0x76, 0x34, 0xbd, 0x2a, 0xde, 0x39, 0x90, 0xdf, 0x04, - 0x46, 0x3f, 0x58, 0xc9, 0x8e, 0xa9, 0xe8, 0xef, 0xc2, 0x7b, 0x3a, 0x3f, 0x87, 0x19, 0xf5, 0x3d, - 0x87, 0x51, 0x4d, 0xad, 0x90, 0xa4, 0xfc, 0xf9, 0x23, 0x98, 0x7c, 0xeb, 0x23, 0x98, 0x1a, 0xd6, - 0xc5, 0xc4, 0x4c, 0xaa, 0x54, 0x53, 0xb3, 0xa9, 0x3b, 0x7a, 0x1f, 0xd0, 0xb4, 0xcf, 0xfb, 0x7e, - 0xd3, 0x37, 0x31, 0xb1, 0xf9, 0xfc, 0xea, 0x82, 0xeb, 0xc7, 0x5f, 0x8d, 0xc0, 0x71, 0x9f, 0x1f, - 0xfb, 0x90, 0x5b, 0xdd, 0x39, 0xdb, 0xde, 0xe3, 0xfb, 0x78, 0x9b, 0x7c, 0x09, 0x62, 0x04, 0x1f, - 0xf5, 0xf8, 0x77, 0x19, 0x99, 0xcf, 0x7f, 0xe3, 0x9f, 0xca, 0xc1, 0x03, 0xad, 0x40, 0xaf, 0x50, - 0x26, 0x85, 0xf7, 0xf7, 0x6f, 0xbf, 0xb4, 0xf7, 0xed, 0x50, 0xfb, 0xf6, 0x99, 0x31, 0x6c, 0xc3, - 0xef, 0x9e, 0xed, 0xf8, 0x76, 0x95, 0x05, 0xd3, 0xee, 0xf9, 0xd5, 0x3e, 0x22, 0x75, 0xa7, 0xa7, - 0x01, 0xdd, 0x7a, 0xb0, 0xcf, 0x4c, 0x6d, 0x17, 0x0e, 0x3f, 0x4b, 0xda, 0xf6, 0x56, 0xd0, 0x22, - 0xe4, 0x1f, 0x76, 0x0f, 0xfa, 0x24, 0xfe, 0x3f, 0xf7, 0xc4, 0x21, 0x1e, 0x78, 0xf2, 0xf1, 0xb5, - 0xe3, 0x7d, 0xb3, 0x1d, 0xa7, 0x92, 0x59, 0xdf, 0x34, 0xa2, 0xf8, 0x28, 0xe5, 0x5f, 0x95, 0xe0, - 0x48, 0x4b, 0xd3, 0x3c, 0xc6, 0xcf, 0xb7, 0x79, 0xc5, 0x70, 0xa0, 0xa4, 0x67, 0xbe, 0x8d, 0xb0, - 0xf7, 0xf7, 0x14, 0x96, 0x49, 0x11, 0x90, 0xf6, 0xcd, 0x70, 0x28, 0x28, 0xac, 0x30, 0xd3, 0xbd, - 0x30, 0x1a, 0xdc, 0x2c, 0xe6, 0xe6, 0x1a, 0x09, 0x6c, 0x17, 0xcb, 0xe5, 0xb0, 0x9d, 0x5d, 0x5d, - 0x4b, 0x90, 0x74, 0x51, 0x79, 0x76, 0xdc, 0xb7, 0xaa, 0x1e, 0xa5, 0xfc, 0x61, 0x09, 0x66, 0x82, - 0x2d, 0xf8, 0xf2, 0xa4, 0xfd, 0x09, 0x7b, 0xdb, 0xba, 0xf8, 0x75, 0x09, 0xee, 0xea, 0x22, 0x13, - 0x37, 0xc0, 0x35, 0x98, 0xf4, 0x6d, 0x12, 0x88, 0x10, 0x2e, 0xba, 0xfd, 0x54, 0xef, 0x0c, 0xd5, - 0x5d, 0x13, 0x1f, 0x23, 0x46, 0xf9, 0xec, 0xb7, 0xa7, 0x27, 0x5a, 0xeb, 0x6c, 0x65, 0xa2, 0x75, - 0x61, 0x7f, 0x1b, 0xfd, 0xe3, 0x15, 0x09, 0x1e, 0x08, 0xaa, 0xda, 0x26, 0xd5, 0xfd, 0x49, 0xf5, - 0xc3, 0xbf, 0x97, 0xe0, 0x54, 0x3f, 0xc2, 0xf1, 0x0e, 0xd9, 0x84, 0x09, 0x2f, 0x09, 0x0f, 0xf7, - 0xc7, 0xbe, 0x52, 0x7b, 0xe6, 0xa5, 0xc8, 0xe5, 0x76, 0x07, 0x0c, 0x6f, 0xf2, 0x81, 0xe5, 0xef, - 0x72, 0xd7, 0xc8, 0xc1, 0x8d, 0x5e, 0x61, 0xe4, 0xc0, 0x56, 0x6f, 0x9b, 0xbe, 0x88, 0xb4, 0xe9, - 0x0b, 0x2f, 0x6b, 0x97, 0xaf, 0xf0, 0xb8, 0xd5, 0x66, 0x7b, 0xee, 0x6d, 0x30, 0xd1, 0xc6, 0x95, - 0xf9, 0xa8, 0xde, 0x87, 0x27, 0x2b, 0xa8, 0xd5, 0x59, 0xe5, 0x3d, 0x98, 0xa6, 0xed, 0xb6, 0x31, - 0xf4, 0x9d, 0x56, 0xb9, 0xc1, 0x63, 0x4b, 0xdb, 0xa6, 0xb9, 0xee, 0x0b, 0x30, 0xc8, 0xfa, 0x99, - 0xab, 0x7b, 0x00, 0x47, 0xe1, 0x0c, 0xe4, 0x8f, 0x8b, 0x58, 0x56, 0x14, 0x62, 0xb7, 0x1f, 0x43, - 0xfd, 0xe8, 0x7a, 0x9b, 0xc6, 0x90, 0xcf, 0x18, 0xdf, 0x12, 0x51, 0xad, 0xbd, 0x74, 0xdc, 0x1c, - 0x95, 0xdb, 0x16, 0xd5, 0x98, 0x6d, 0xee, 0x6c, 0xf8, 0xfa, 0x65, 0x11, 0xbe, 0x5c, 0x9d, 0x7a, - 0x84, 0xaf, 0x9f, 0x8c, 0xe9, 0xdd, 0x40, 0xd6, 0x43, 0xcc, 0x3f, 0x8f, 0x81, 0xec, 0x07, 0x12, - 0x1c, 0xa5, 0xba, 0xf9, 0xf7, 0x28, 0xf6, 0x6b, 0xf2, 0x87, 0x00, 0xd9, 0x56, 0xa5, 0xdc, 0x76, - 0x74, 0xa7, 0x6d, 0xab, 0x72, 0x39, 0x30, 0xbf, 0x3c, 0x04, 0xa8, 0x1a, 0xd8, 0x89, 0xa2, 0xd8, - 0xec, 0x02, 0x5d, 0xba, 0xea, 0xdb, 0xe8, 0x68, 0xd3, 0x9d, 0xb1, 0xdb, 0xd0, 0x9d, 0xdf, 0x94, - 0x20, 0xdb, 0x4e, 0x65, 0xde, 0x7d, 0x1a, 0x1c, 0x0e, 0x9c, 0x1f, 0x84, 0x7b, 0xf0, 0xa1, 0x7e, - 0x76, 0x79, 0x42, 0xc3, 0xe8, 0x90, 0x85, 0xef, 0x74, 0x1e, 0x30, 0x1d, 0xf4, 0xd0, 0xd6, 0xcc, - 0xfa, 0x27, 0x36, 0x7c, 0xbe, 0xd4, 0x12, 0x57, 0xff, 0x5c, 0xe4, 0xde, 0xbb, 0x30, 0xd5, 0x41, - 0xea, 0x3b, 0x3d, 0xef, 0x6d, 0x77, 0xec, 0xcc, 0xdb, 0x9d, 0xbe, 0x3f, 0xce, 0x47, 0x42, 0xf0, - 0x72, 0xb6, 0x6f, 0x2d, 0xd6, 0xee, 0x75, 0x97, 0xfc, 0x56, 0x38, 0xd6, 0x96, 0x8a, 0xcb, 0x96, - 0x83, 0xd8, 0xb6, 0x66, 0x3b, 0x5c, 0xac, 0xfb, 0x3a, 0x89, 0x15, 0xa2, 0xa6, 0x34, 0x32, 0x82, - 0x34, 0x65, 0xbd, 0x6a, 0x18, 0x75, 0x2e, 0x86, 0x7c, 0x09, 0xc6, 0x7d, 0x30, 0xde, 0xc8, 0x39, - 0x88, 0x99, 0x06, 0xff, 0x72, 0xc1, 0xf0, 0x99, 0xe3, 0x1d, 0x37, 0xf6, 0x0d, 0xa3, 0xce, 0xd5, - 0xa6, 0xf8, 0xf2, 0x24, 0x20, 0xc6, 0x8c, 0xee, 0xf1, 0x8b, 0x26, 0xd6, 0x60, 0x22, 0x00, 0xe5, - 0x8d, 0xbc, 0xa1, 0xf3, 0x83, 0x33, 0xdf, 0x3b, 0x04, 0x71, 0xca, 0x15, 0x7d, 0x4c, 0x0a, 0x7c, - 0x5a, 0x68, 0xb6, 0x13, 0x9b, 0xf6, 0x6b, 0xe2, 0xec, 0xe9, 0xbe, 0xf1, 0x79, 0xce, 0x76, 0xea, - 0x3d, 0xff, 0xe6, 0xbb, 0x1f, 0x89, 0xdc, 0x83, 0xe4, 0xd3, 0x1d, 0x56, 0xe3, 0xbe, 0xf1, 0xf2, - 0x99, 0xc0, 0xb3, 0xf8, 0x87, 0xfb, 0x6b, 0x4a, 0x48, 0x36, 0xdb, 0x2f, 0x3a, 0x17, 0xec, 0x3c, - 0x15, 0xec, 0x2c, 0x7a, 0xac, 0xb7, 0x60, 0xa7, 0xdf, 0x11, 0x1c, 0x34, 0xef, 0x42, 0xbf, 0x2b, - 0xc1, 0x64, 0xbb, 0x25, 0x1d, 0x7a, 0xb2, 0x3f, 0x29, 0x5a, 0x53, 0x8a, 0xec, 0x53, 0x07, 0xa0, - 0xe4, 0xaa, 0xcc, 0x53, 0x55, 0xf2, 0xe8, 0xe9, 0x03, 0xa8, 0x72, 0xda, 0xbf, 0xf5, 0xff, 0xbf, - 0x24, 0x38, 0xd1, 0x75, 0x85, 0x84, 0xf2, 0xfd, 0x49, 0xd9, 0x25, 0x77, 0xca, 0x16, 0xde, 0x08, - 0x0b, 0xae, 0xf1, 0xb3, 0x54, 0xe3, 0x4b, 0x68, 0xe1, 0x20, 0x1a, 0xb7, 0x3d, 0x5f, 0x41, 0xbf, - 0x15, 0xbc, 0x74, 0xd8, 0xdd, 0x9d, 0x5a, 0x16, 0x1e, 0x3d, 0x06, 0x46, 0x6b, 0x52, 0x2b, 0x3f, - 0x4f, 0x55, 0x50, 0xd0, 0xea, 0x1b, 0xec, 0xb4, 0xd3, 0xef, 0x08, 0x06, 0xfe, 0x77, 0xa1, 0xff, - 0x29, 0xb5, 0xbf, 0x43, 0xf8, 0x44, 0x57, 0x11, 0x3b, 0x2f, 0xaa, 0xb2, 0x4f, 0xee, 0x9f, 0x90, - 0x2b, 0xd9, 0xa0, 0x4a, 0xd6, 0x10, 0xbe, 0xdd, 0x4a, 0xb6, 0xed, 0x44, 0xf4, 0x75, 0x09, 0x26, - 0xdb, 0xad, 0x49, 0x7a, 0x0c, 0xcb, 0x2e, 0x8b, 0xac, 0x1e, 0xc3, 0xb2, 0xdb, 0x02, 0x48, 0xfe, - 0x19, 0xaa, 0xfc, 0x39, 0xf4, 0x78, 0x27, 0xe5, 0xbb, 0xf6, 0x22, 0x19, 0x8b, 0x5d, 0x93, 0xfc, - 0x1e, 0x63, 0xb1, 0x9f, 0x75, 0x4c, 0x8f, 0xb1, 0xd8, 0xd7, 0x1a, 0xa3, 0xf7, 0x58, 0x74, 0x35, - 0xeb, 0xb3, 0x1b, 0x6d, 0xf4, 0x55, 0x09, 0x46, 0x02, 0x19, 0x31, 0x7a, 0xb4, 0xab, 0xa0, 0xed, - 0x16, 0x0c, 0xd9, 0x33, 0xfb, 0x21, 0xe1, 0xba, 0x2c, 0x50, 0x5d, 0xe6, 0x50, 0xfe, 0x20, 0xba, - 0x04, 0x8f, 0x51, 0xbf, 0x29, 0xc1, 0x44, 0x9b, 0x2c, 0xb3, 0xc7, 0x28, 0xec, 0x9c, 0x34, 0x67, - 0x9f, 0xdc, 0x3f, 0x21, 0xd7, 0xea, 0x02, 0xd5, 0xea, 0x2d, 0xe8, 0xcd, 0x07, 0xd1, 0xca, 0x37, - 0x3f, 0xdf, 0xf4, 0xae, 0x64, 0xf9, 0xda, 0x41, 0xe7, 0xf6, 0x29, 0x98, 0x50, 0xe8, 0x89, 0x7d, - 0xd3, 0x71, 0x7d, 0x9e, 0xa3, 0xfa, 0x3c, 0x8b, 0x56, 0xde, 0x98, 0x3e, 0xad, 0xd3, 0xfa, 0x17, - 0x5b, 0x1f, 0x07, 0x76, 0xf7, 0xa2, 0xb6, 0xc9, 0x6a, 0xf6, 0xb1, 0x7d, 0xd1, 0x70, 0xa5, 0x9e, - 0xa4, 0x4a, 0x9d, 0x41, 0x8f, 0x74, 0x52, 0xca, 0x77, 0xef, 0x4e, 0xd3, 0xb7, 0x8c, 0xd3, 0xef, - 0x60, 0x29, 0xf0, 0xbb, 0xd0, 0xbb, 0xc5, 0x9d, 0xa7, 0x93, 0x5d, 0xdb, 0xf5, 0xe5, 0xb1, 0xd9, - 0x07, 0xfa, 0xc0, 0xe4, 0x72, 0xdd, 0x43, 0xe5, 0x9a, 0x42, 0xc7, 0x3b, 0xc9, 0x45, 0x72, 0x59, - 0xf4, 0x41, 0xc9, 0xbd, 0x26, 0x79, 0xaa, 0x3b, 0x6f, 0x7f, 0xb2, 0x9b, 0x7d, 0xb0, 0x2f, 0x5c, - 0x2e, 0xc9, 0x7d, 0x54, 0x92, 0x19, 0x34, 0xd5, 0x51, 0x12, 0x96, 0xfa, 0xde, 0xee, 0x4b, 0x05, - 0xd7, 0x8f, 0xc0, 0x74, 0x87, 0x16, 0x9d, 0xdd, 0x1e, 0x67, 0x5c, 0x5d, 0xde, 0xc8, 0xf6, 0x7c, - 0x03, 0x7b, 0xbb, 0xbf, 0xed, 0xda, 0xe7, 0x81, 0xd8, 0x6f, 0xc7, 0x00, 0x2d, 0xd9, 0xb5, 0x39, - 0x0b, 0xb3, 0xff, 0x33, 0xc9, 0x47, 0x79, 0xe8, 0xf1, 0x97, 0xf4, 0x86, 0x1e, 0x7f, 0x2d, 0x05, - 0x9e, 0x53, 0x45, 0xf6, 0xf7, 0x64, 0xb3, 0xef, 0x37, 0x55, 0xd1, 0x1f, 0xcb, 0x9b, 0xaa, 0xf6, - 0x57, 0xae, 0x63, 0xb7, 0xef, 0x6d, 0x46, 0xfc, 0xa0, 0xef, 0x53, 0xf8, 0x53, 0xc9, 0xc1, 0x2e, - 0x4f, 0x25, 0x33, 0x1d, 0xdf, 0x43, 0x72, 0x6a, 0x74, 0x56, 0x7c, 0xe9, 0x74, 0xa8, 0xbf, 0x4b, - 0xb2, 0xfc, 0x53, 0xa8, 0xde, 0x16, 0xc2, 0x71, 0xc8, 0xb6, 0xba, 0x93, 0x3b, 0xa8, 0x3f, 0x12, - 0x85, 0xf4, 0x92, 0x5d, 0x2b, 0x55, 0x35, 0xe7, 0x0e, 0xf9, 0xda, 0xd3, 0x9d, 0xdf, 0xbb, 0xa0, - 0x5b, 0x37, 0xa7, 0x47, 0x99, 0x4d, 0xbb, 0x58, 0xb2, 0x01, 0x63, 0xa1, 0x57, 0xc6, 0xdc, 0xb3, - 0x8a, 0x07, 0x79, 0xec, 0x1c, 0x62, 0x25, 0xd3, 0xe7, 0x09, 0x3e, 0xff, 0x46, 0xbb, 0xed, 0x9d, - 0x99, 0x39, 0xd4, 0xc5, 0x3b, 0xf9, 0x38, 0xd0, 0xeb, 0xb3, 0x2c, 0x64, 0xc2, 0x9d, 0xe2, 0xf6, - 0xd8, 0x1f, 0x49, 0x30, 0xbc, 0x64, 0x8b, 0x54, 0x10, 0xff, 0x94, 0x3e, 0x4d, 0x7a, 0xc2, 0xfd, - 0x4c, 0x78, 0xb4, 0x3f, 0xbf, 0x15, 0x9f, 0x0e, 0xf7, 0x8c, 0x70, 0x08, 0x26, 0x7c, 0x7a, 0xba, - 0xfa, 0xff, 0x4e, 0x84, 0xc6, 0xc7, 0x02, 0xae, 0x69, 0xba, 0x9b, 0x45, 0xe2, 0xbf, 0xa8, 0x0f, - 0x2f, 0x3c, 0x3b, 0xc7, 0x0e, 0x6a, 0xe7, 0x1d, 0x1a, 0x20, 0x42, 0xf6, 0x74, 0x37, 0xbe, 0x96, - 0x5a, 0x9f, 0x05, 0x49, 0xfb, 0xf8, 0xe2, 0x4e, 0xe8, 0xf1, 0x8f, 0xfc, 0xba, 0x04, 0x23, 0x4b, - 0x76, 0x6d, 0x43, 0xaf, 0xfe, 0x3f, 0xef, 0xbf, 0x5b, 0x70, 0x28, 0xa0, 0xe9, 0x1d, 0x32, 0xe9, - 0x99, 0x57, 0x62, 0x10, 0x5d, 0xb2, 0x6b, 0xe8, 0x25, 0x18, 0x0b, 0x27, 0x0d, 0x1d, 0x73, 0xc1, - 0xd6, 0x19, 0xa1, 0xf3, 0x7a, 0xad, 0xf3, 0xec, 0x81, 0x76, 0x60, 0x24, 0x38, 0x73, 0x9c, 0xec, - 0xc2, 0x24, 0x80, 0x99, 0x7d, 0xa4, 0x5f, 0x4c, 0xb7, 0xb1, 0xb7, 0x43, 0xc2, 0x0d, 0x7a, 0x77, - 0x77, 0xa1, 0x16, 0x48, 0x9d, 0xb3, 0xdb, 0x36, 0x61, 0x85, 0x58, 0x2f, 0x1c, 0x52, 0xba, 0x59, - 0x2f, 0x84, 0xdb, 0xd5, 0x7a, 0x9d, 0x86, 0xd6, 0x26, 0x80, 0x6f, 0x1c, 0xdc, 0xdb, 0x85, 0x83, - 0x87, 0x96, 0x7d, 0xb8, 0x2f, 0x34, 0xf7, 0xd0, 0xe9, 0x36, 0x27, 0xe3, 0xff, 0x37, 0x00, 0x00, - 0xff, 0xff, 0xb1, 0x48, 0x2a, 0x05, 0xdd, 0x97, 0x00, 0x00, + // 9883 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x7d, 0x70, 0x5c, 0xd7, + 0x75, 0x18, 0x8e, 0xb7, 0x1f, 0xc0, 0xee, 0xc1, 0x02, 0x58, 0x5c, 0x80, 0xd4, 0x72, 0x49, 0x02, + 0xd0, 0xd3, 0x17, 0x45, 0x49, 0xa0, 0x44, 0x89, 0x94, 0xb4, 0xb4, 0x2d, 0x63, 0xb1, 0x4b, 0x10, + 0x22, 0xbe, 0xf4, 0x00, 0x52, 0xb2, 0xec, 0xfc, 0x76, 0x1e, 0x76, 0x2f, 0x16, 0x4f, 0xd8, 0x7d, + 0xef, 0xe9, 0xbd, 0xb7, 0x24, 0x20, 0xdb, 0xbf, 0x91, 0x3f, 0xea, 0xda, 0xca, 0xa4, 0xb1, 0xe3, + 0x4c, 0x63, 0xcb, 0xa6, 0x2b, 0xc7, 0x69, 0x9d, 0x3a, 0x69, 0x63, 0xc7, 0xae, 0x9b, 0xb4, 0x9d, + 0xa9, 0xdd, 0x99, 0x34, 0xb6, 0xdb, 0x66, 0xec, 0x36, 0xd3, 0xba, 0x99, 0x94, 0x4e, 0x65, 0x4f, + 0xaa, 0xba, 0x6e, 0x63, 0xb3, 0x6e, 0x9b, 0x8e, 0xa7, 0xd3, 0xce, 0xfd, 0x7a, 0x5f, 0xfb, 0xf1, + 0x16, 0x10, 0x29, 0x3b, 0x4d, 0xff, 0xc2, 0xde, 0x73, 0xcf, 0x39, 0xf7, 0xdc, 0x73, 0xce, 0x3d, + 0xf7, 0xdc, 0xaf, 0x07, 0xf8, 0xc2, 0x39, 0x98, 0xa9, 0x1b, 0x46, 0xbd, 0x81, 0x4f, 0x99, 0x96, + 0xe1, 0x18, 0x9b, 0xad, 0xad, 0x53, 0x35, 0x6c, 0x57, 0x2d, 0xcd, 0x74, 0x0c, 0x6b, 0x96, 0xc2, + 0xd0, 0x18, 0xc3, 0x98, 0x15, 0x18, 0xf2, 0x32, 0x8c, 0x9f, 0xd7, 0x1a, 0xb8, 0xe4, 0x22, 0xae, + 0x63, 0x07, 0x3d, 0x06, 0x89, 0x2d, 0xad, 0x81, 0x73, 0xd2, 0x4c, 0xfc, 0xc4, 0xf0, 0xe9, 0x3b, + 0x67, 0x43, 0x44, 0xb3, 0x41, 0x8a, 0x35, 0x02, 0x56, 0x28, 0x85, 0xfc, 0xbd, 0x04, 0x4c, 0x74, + 0xa8, 0x45, 0x08, 0x12, 0xba, 0xda, 0x24, 0x1c, 0xa5, 0x13, 0x69, 0x85, 0xfe, 0x46, 0x39, 0x18, + 0x32, 0xd5, 0xea, 0x8e, 0x5a, 0xc7, 0xb9, 0x18, 0x05, 0x8b, 0x22, 0x9a, 0x02, 0xa8, 0x61, 0x13, + 0xeb, 0x35, 0xac, 0x57, 0xf7, 0x72, 0xf1, 0x99, 0xf8, 0x89, 0xb4, 0xe2, 0x83, 0xa0, 0xfb, 0x60, + 0xdc, 0x6c, 0x6d, 0x36, 0xb4, 0x6a, 0xc5, 0x87, 0x06, 0x33, 0xf1, 0x13, 0x49, 0x25, 0xcb, 0x2a, + 0x4a, 0x1e, 0xf2, 0x3d, 0x30, 0x76, 0x15, 0xab, 0x3b, 0x7e, 0xd4, 0x61, 0x8a, 0x3a, 0x4a, 0xc0, + 0x3e, 0xc4, 0x79, 0xc8, 0x34, 0xb1, 0x6d, 0xab, 0x75, 0x5c, 0x71, 0xf6, 0x4c, 0x9c, 0x4b, 0xd0, + 0xde, 0xcf, 0xb4, 0xf5, 0x3e, 0xdc, 0xf3, 0x61, 0x4e, 0xb5, 0xb1, 0x67, 0x62, 0x34, 0x07, 0x69, + 0xac, 0xb7, 0x9a, 0x8c, 0x43, 0xb2, 0x8b, 0xfe, 0xca, 0x7a, 0xab, 0x19, 0xe6, 0x92, 0x22, 0x64, + 0x9c, 0xc5, 0x90, 0x8d, 0xad, 0x2b, 0x5a, 0x15, 0xe7, 0x06, 0x29, 0x83, 0x7b, 0xda, 0x18, 0xac, + 0xb3, 0xfa, 0x30, 0x0f, 0x41, 0x87, 0xe6, 0x21, 0x8d, 0x77, 0x1d, 0xac, 0xdb, 0x9a, 0xa1, 0xe7, + 0x86, 0x28, 0x93, 0xbb, 0x3a, 0x58, 0x11, 0x37, 0x6a, 0x61, 0x16, 0x1e, 0x1d, 0x3a, 0x0b, 0x43, + 0x86, 0xe9, 0x68, 0x86, 0x6e, 0xe7, 0x52, 0x33, 0xd2, 0x89, 0xe1, 0xd3, 0xc7, 0x3a, 0x3a, 0xc2, + 0x2a, 0xc3, 0x51, 0x04, 0x32, 0x5a, 0x84, 0xac, 0x6d, 0xb4, 0xac, 0x2a, 0xae, 0x54, 0x8d, 0x1a, + 0xae, 0x68, 0xfa, 0x96, 0x91, 0x4b, 0x53, 0x06, 0xd3, 0xed, 0x1d, 0xa1, 0x88, 0xf3, 0x46, 0x0d, + 0x2f, 0xea, 0x5b, 0x86, 0x32, 0x6a, 0x07, 0xca, 0xe8, 0x30, 0x0c, 0xda, 0x7b, 0xba, 0xa3, 0xee, + 0xe6, 0x32, 0xd4, 0x43, 0x78, 0x49, 0xfe, 0xdd, 0x41, 0x18, 0xeb, 0xc7, 0xc5, 0xce, 0x41, 0x72, + 0x8b, 0xf4, 0x32, 0x17, 0xdb, 0x8f, 0x0e, 0x18, 0x4d, 0x50, 0x89, 0x83, 0x07, 0x54, 0xe2, 0x1c, + 0x0c, 0xeb, 0xd8, 0x76, 0x70, 0x8d, 0x79, 0x44, 0xbc, 0x4f, 0x9f, 0x02, 0x46, 0xd4, 0xee, 0x52, + 0x89, 0x03, 0xb9, 0xd4, 0x33, 0x30, 0xe6, 0x8a, 0x54, 0xb1, 0x54, 0xbd, 0x2e, 0x7c, 0xf3, 0x54, + 0x94, 0x24, 0xb3, 0x65, 0x41, 0xa7, 0x10, 0x32, 0x65, 0x14, 0x07, 0xca, 0xa8, 0x04, 0x60, 0xe8, + 0xd8, 0xd8, 0xaa, 0xd4, 0x70, 0xb5, 0x91, 0x4b, 0x75, 0xd1, 0xd2, 0x2a, 0x41, 0x69, 0xd3, 0x92, + 0xc1, 0xa0, 0xd5, 0x06, 0x7a, 0xdc, 0x73, 0xb5, 0xa1, 0x2e, 0x9e, 0xb2, 0xcc, 0x06, 0x59, 0x9b, + 0xb7, 0x5d, 0x82, 0x51, 0x0b, 0x13, 0xbf, 0xc7, 0x35, 0xde, 0xb3, 0x34, 0x15, 0x62, 0x36, 0xb2, + 0x67, 0x0a, 0x27, 0x63, 0x1d, 0x1b, 0xb1, 0xfc, 0x45, 0x74, 0x07, 0xb8, 0x80, 0x0a, 0x75, 0x2b, + 0xa0, 0x51, 0x28, 0x23, 0x80, 0x2b, 0x6a, 0x13, 0xe7, 0x5f, 0x80, 0xd1, 0xa0, 0x7a, 0xd0, 0x24, + 0x24, 0x6d, 0x47, 0xb5, 0x1c, 0xea, 0x85, 0x49, 0x85, 0x15, 0x50, 0x16, 0xe2, 0x58, 0xaf, 0xd1, + 0x28, 0x97, 0x54, 0xc8, 0x4f, 0xf4, 0x56, 0xaf, 0xc3, 0x71, 0xda, 0xe1, 0xbb, 0xdb, 0x2d, 0x1a, + 0xe0, 0x1c, 0xee, 0x77, 0xfe, 0x51, 0x18, 0x09, 0x74, 0xa0, 0xdf, 0xa6, 0xe5, 0x77, 0xc1, 0xa1, + 0x8e, 0xac, 0xd1, 0x33, 0x30, 0xd9, 0xd2, 0x35, 0xdd, 0xc1, 0x96, 0x69, 0x61, 0xe2, 0xb1, 0xac, + 0xa9, 0xdc, 0x7f, 0x18, 0xea, 0xe2, 0x73, 0x97, 0xfc, 0xd8, 0x8c, 0x8b, 0x32, 0xd1, 0x6a, 0x07, + 0x9e, 0x4c, 0xa7, 0x5e, 0x1b, 0xca, 0xbe, 0xf8, 0xe2, 0x8b, 0x2f, 0xc6, 0xe4, 0xaf, 0x0e, 0xc2, + 0x64, 0xa7, 0x31, 0xd3, 0x71, 0xf8, 0x1e, 0x86, 0x41, 0xbd, 0xd5, 0xdc, 0xc4, 0x16, 0x55, 0x52, + 0x52, 0xe1, 0x25, 0x34, 0x07, 0xc9, 0x86, 0xba, 0x89, 0x1b, 0xb9, 0xc4, 0x8c, 0x74, 0x62, 0xf4, + 0xf4, 0x7d, 0x7d, 0x8d, 0xca, 0xd9, 0x25, 0x42, 0xa2, 0x30, 0x4a, 0xf4, 0x16, 0x48, 0xf0, 0x10, + 0x4d, 0x38, 0x9c, 0xec, 0x8f, 0x03, 0x19, 0x4b, 0x0a, 0xa5, 0x43, 0x47, 0x21, 0x4d, 0xfe, 0x32, + 0xdf, 0x18, 0xa4, 0x32, 0xa7, 0x08, 0x80, 0xf8, 0x05, 0xca, 0x43, 0x8a, 0x0e, 0x93, 0x1a, 0x16, + 0x53, 0x9b, 0x5b, 0x26, 0x8e, 0x55, 0xc3, 0x5b, 0x6a, 0xab, 0xe1, 0x54, 0xae, 0xa8, 0x8d, 0x16, + 0xa6, 0x0e, 0x9f, 0x56, 0x32, 0x1c, 0x78, 0x99, 0xc0, 0xd0, 0x34, 0x0c, 0xb3, 0x51, 0xa5, 0xe9, + 0x35, 0xbc, 0x4b, 0xa3, 0x67, 0x52, 0x61, 0x03, 0x6d, 0x91, 0x40, 0x48, 0xf3, 0xcf, 0xd9, 0x86, + 0x2e, 0x5c, 0x93, 0x36, 0x41, 0x00, 0xb4, 0xf9, 0x47, 0xc3, 0x81, 0xfb, 0x78, 0xe7, 0xee, 0xb5, + 0x8d, 0xa5, 0x7b, 0x60, 0x8c, 0x62, 0x3c, 0xcc, 0x4d, 0xaf, 0x36, 0x72, 0xe3, 0x33, 0xd2, 0x89, + 0x94, 0x32, 0xca, 0xc0, 0xab, 0x1c, 0x2a, 0x7f, 0x39, 0x06, 0x09, 0x1a, 0x58, 0xc6, 0x60, 0x78, + 0xe3, 0x6d, 0x6b, 0xe5, 0x4a, 0x69, 0xf5, 0x52, 0x71, 0xa9, 0x9c, 0x95, 0xd0, 0x28, 0x00, 0x05, + 0x9c, 0x5f, 0x5a, 0x9d, 0xdb, 0xc8, 0xc6, 0xdc, 0xf2, 0xe2, 0xca, 0xc6, 0xd9, 0x47, 0xb2, 0x71, + 0x97, 0xe0, 0x12, 0x03, 0x24, 0xfc, 0x08, 0x0f, 0x9f, 0xce, 0x26, 0x51, 0x16, 0x32, 0x8c, 0xc1, + 0xe2, 0x33, 0xe5, 0xd2, 0xd9, 0x47, 0xb2, 0x83, 0x41, 0xc8, 0xc3, 0xa7, 0xb3, 0x43, 0x68, 0x04, + 0xd2, 0x14, 0x52, 0x5c, 0x5d, 0x5d, 0xca, 0xa6, 0x5c, 0x9e, 0xeb, 0x1b, 0xca, 0xe2, 0xca, 0x42, + 0x36, 0xed, 0xf2, 0x5c, 0x50, 0x56, 0x2f, 0xad, 0x65, 0xc1, 0xe5, 0xb0, 0x5c, 0x5e, 0x5f, 0x9f, + 0x5b, 0x28, 0x67, 0x87, 0x5d, 0x8c, 0xe2, 0xdb, 0x36, 0xca, 0xeb, 0xd9, 0x4c, 0x40, 0xac, 0x87, + 0x4f, 0x67, 0x47, 0xdc, 0x26, 0xca, 0x2b, 0x97, 0x96, 0xb3, 0xa3, 0x68, 0x1c, 0x46, 0x58, 0x13, + 0x42, 0x88, 0xb1, 0x10, 0xe8, 0xec, 0x23, 0xd9, 0xac, 0x27, 0x08, 0xe3, 0x32, 0x1e, 0x00, 0x9c, + 0x7d, 0x24, 0x8b, 0xe4, 0x79, 0x48, 0x52, 0x37, 0x44, 0x08, 0x46, 0x97, 0xe6, 0x8a, 0xe5, 0xa5, + 0xca, 0xea, 0xda, 0xc6, 0xe2, 0xea, 0xca, 0xdc, 0x52, 0x56, 0xf2, 0x60, 0x4a, 0xf9, 0xa9, 0x4b, + 0x8b, 0x4a, 0xb9, 0x94, 0x8d, 0xf9, 0x61, 0x6b, 0xe5, 0xb9, 0x8d, 0x72, 0x29, 0x1b, 0x97, 0xab, + 0x30, 0xd9, 0x29, 0xa0, 0x76, 0x1c, 0x42, 0x3e, 0x5f, 0x88, 0x75, 0xf1, 0x05, 0xca, 0x2b, 0xec, + 0x0b, 0xf2, 0x77, 0x63, 0x30, 0xd1, 0x61, 0x52, 0xe9, 0xd8, 0xc8, 0x13, 0x90, 0x64, 0xbe, 0xcc, + 0xa6, 0xd9, 0x7b, 0x3b, 0xce, 0x4e, 0xd4, 0xb3, 0xdb, 0xa6, 0x5a, 0x4a, 0xe7, 0x4f, 0x35, 0xe2, + 0x5d, 0x52, 0x0d, 0xc2, 0xa2, 0xcd, 0x61, 0x7f, 0xae, 0x2d, 0xf8, 0xb3, 0xf9, 0xf1, 0x6c, 0x3f, + 0xf3, 0x23, 0x85, 0xed, 0x6f, 0x12, 0x48, 0x76, 0x98, 0x04, 0xce, 0xc1, 0x78, 0x1b, 0xa3, 0xbe, + 0x83, 0xf1, 0xfb, 0x24, 0xc8, 0x75, 0x53, 0x4e, 0x44, 0x48, 0x8c, 0x05, 0x42, 0xe2, 0xb9, 0xb0, + 0x06, 0x6f, 0xef, 0x6e, 0x84, 0x36, 0x5b, 0x7f, 0x56, 0x82, 0xc3, 0x9d, 0x53, 0xca, 0x8e, 0x32, + 0xbc, 0x05, 0x06, 0x9b, 0xd8, 0xd9, 0x36, 0x44, 0x5a, 0x75, 0x77, 0x87, 0xc9, 0x9a, 0x54, 0x87, + 0x8d, 0xcd, 0xa9, 0xfc, 0xb3, 0x7d, 0xbc, 0x5b, 0x5e, 0xc8, 0xa4, 0x69, 0x93, 0xf4, 0x43, 0x31, + 0x38, 0xd4, 0x91, 0x79, 0x47, 0x41, 0x8f, 0x03, 0x68, 0xba, 0xd9, 0x72, 0x58, 0xea, 0xc4, 0x22, + 0x71, 0x9a, 0x42, 0x68, 0xf0, 0x22, 0x51, 0xb6, 0xe5, 0xb8, 0xf5, 0x71, 0x5a, 0x0f, 0x0c, 0x44, + 0x11, 0x1e, 0xf3, 0x04, 0x4d, 0x50, 0x41, 0xa7, 0xba, 0xf4, 0xb4, 0xcd, 0x31, 0x1f, 0x84, 0x6c, + 0xb5, 0xa1, 0x61, 0xdd, 0xa9, 0xd8, 0x8e, 0x85, 0xd5, 0xa6, 0xa6, 0xd7, 0xe9, 0x54, 0x93, 0x2a, + 0x24, 0xb7, 0xd4, 0x86, 0x8d, 0x95, 0x31, 0x56, 0xbd, 0x2e, 0x6a, 0x09, 0x05, 0x75, 0x20, 0xcb, + 0x47, 0x31, 0x18, 0xa0, 0x60, 0xd5, 0x2e, 0x85, 0xfc, 0x91, 0x34, 0x0c, 0xfb, 0x12, 0x70, 0x74, + 0x3b, 0x64, 0x9e, 0x53, 0xaf, 0xa8, 0x15, 0xb1, 0xa8, 0x62, 0x9a, 0x18, 0x26, 0xb0, 0x35, 0xbe, + 0xb0, 0x7a, 0x10, 0x26, 0x29, 0x8a, 0xd1, 0x72, 0xb0, 0x55, 0xa9, 0x36, 0x54, 0xdb, 0xa6, 0x4a, + 0x4b, 0x51, 0x54, 0x44, 0xea, 0x56, 0x49, 0xd5, 0xbc, 0xa8, 0x41, 0x67, 0x60, 0x82, 0x52, 0x34, + 0x5b, 0x0d, 0x47, 0x33, 0x1b, 0xb8, 0x42, 0x96, 0x79, 0x36, 0x9d, 0x72, 0x5c, 0xc9, 0xc6, 0x09, + 0xc6, 0x32, 0x47, 0x20, 0x12, 0xd9, 0xa8, 0x04, 0xc7, 0x29, 0x59, 0x1d, 0xeb, 0xd8, 0x52, 0x1d, + 0x5c, 0xc1, 0xcf, 0xb7, 0xd4, 0x86, 0x5d, 0x51, 0xf5, 0x5a, 0x65, 0x5b, 0xb5, 0xb7, 0x73, 0x93, + 0x84, 0x41, 0x31, 0x96, 0x93, 0x94, 0x23, 0x04, 0x71, 0x81, 0xe3, 0x95, 0x29, 0xda, 0x9c, 0x5e, + 0xbb, 0xa0, 0xda, 0xdb, 0xa8, 0x00, 0x87, 0x29, 0x17, 0xdb, 0xb1, 0x34, 0xbd, 0x5e, 0xa9, 0x6e, + 0xe3, 0xea, 0x4e, 0xa5, 0xe5, 0x6c, 0x3d, 0x96, 0x3b, 0xea, 0x6f, 0x9f, 0x4a, 0xb8, 0x4e, 0x71, + 0xe6, 0x09, 0xca, 0x25, 0x67, 0xeb, 0x31, 0xb4, 0x0e, 0x19, 0x62, 0x8c, 0xa6, 0xf6, 0x02, 0xae, + 0x6c, 0x19, 0x16, 0x9d, 0x43, 0x47, 0x3b, 0x84, 0x26, 0x9f, 0x06, 0x67, 0x57, 0x39, 0xc1, 0xb2, + 0x51, 0xc3, 0x85, 0xe4, 0xfa, 0x5a, 0xb9, 0x5c, 0x52, 0x86, 0x05, 0x97, 0xf3, 0x86, 0x45, 0x1c, + 0xaa, 0x6e, 0xb8, 0x0a, 0x1e, 0x66, 0x0e, 0x55, 0x37, 0x84, 0x7a, 0xcf, 0xc0, 0x44, 0xb5, 0xca, + 0xfa, 0xac, 0x55, 0x2b, 0x7c, 0x31, 0x66, 0xe7, 0xb2, 0x01, 0x65, 0x55, 0xab, 0x0b, 0x0c, 0x81, + 0xfb, 0xb8, 0x8d, 0x1e, 0x87, 0x43, 0x9e, 0xb2, 0xfc, 0x84, 0xe3, 0x6d, 0xbd, 0x0c, 0x93, 0x9e, + 0x81, 0x09, 0x73, 0xaf, 0x9d, 0x10, 0x05, 0x5a, 0x34, 0xf7, 0xc2, 0x64, 0x8f, 0xc2, 0xa4, 0xb9, + 0x6d, 0xb6, 0xd3, 0x9d, 0xf4, 0xd3, 0x21, 0x73, 0xdb, 0x0c, 0x13, 0xde, 0x45, 0x57, 0xe6, 0x16, + 0xae, 0xaa, 0x0e, 0xae, 0xe5, 0x6e, 0xf3, 0xa3, 0xfb, 0x2a, 0xd0, 0x2c, 0x64, 0xab, 0xd5, 0x0a, + 0xd6, 0xd5, 0xcd, 0x06, 0xae, 0xa8, 0x16, 0xd6, 0x55, 0x3b, 0x37, 0x4d, 0x91, 0x13, 0x8e, 0xd5, + 0xc2, 0xca, 0x68, 0xb5, 0x5a, 0xa6, 0x95, 0x73, 0xb4, 0x0e, 0x9d, 0x84, 0x71, 0x63, 0xf3, 0xb9, + 0x2a, 0xf3, 0xc8, 0x8a, 0x69, 0xe1, 0x2d, 0x6d, 0x37, 0x77, 0x27, 0x55, 0xef, 0x18, 0xa9, 0xa0, + 0xfe, 0xb8, 0x46, 0xc1, 0xe8, 0x5e, 0xc8, 0x56, 0xed, 0x6d, 0xd5, 0x32, 0x69, 0x48, 0xb6, 0x4d, + 0xb5, 0x8a, 0x73, 0x77, 0x31, 0x54, 0x06, 0x5f, 0x11, 0x60, 0x32, 0x22, 0xec, 0xab, 0xda, 0x96, + 0x23, 0x38, 0xde, 0xc3, 0x46, 0x04, 0x85, 0x71, 0x6e, 0x27, 0x20, 0x4b, 0x34, 0x11, 0x68, 0xf8, + 0x04, 0x45, 0x1b, 0x35, 0xb7, 0x4d, 0x7f, 0xbb, 0x77, 0xc0, 0x08, 0xc1, 0xf4, 0x1a, 0xbd, 0x97, + 0x25, 0x6e, 0xe6, 0xb6, 0xaf, 0xc5, 0x47, 0xe0, 0x30, 0x41, 0x6a, 0x62, 0x47, 0xad, 0xa9, 0x8e, + 0xea, 0xc3, 0xbe, 0x9f, 0x62, 0x13, 0xb5, 0x2f, 0xf3, 0xca, 0x80, 0x9c, 0x56, 0x6b, 0x73, 0xcf, + 0x75, 0xac, 0x07, 0x98, 0x9c, 0x04, 0x26, 0x5c, 0xeb, 0x96, 0x25, 0xe7, 0x72, 0x01, 0x32, 0x7e, + 0xbf, 0x47, 0x69, 0x60, 0x9e, 0x9f, 0x95, 0x48, 0x12, 0x34, 0xbf, 0x5a, 0x22, 0xe9, 0xcb, 0xb3, + 0xe5, 0x6c, 0x8c, 0xa4, 0x51, 0x4b, 0x8b, 0x1b, 0xe5, 0x8a, 0x72, 0x69, 0x65, 0x63, 0x71, 0xb9, + 0x9c, 0x8d, 0xfb, 0x12, 0xfb, 0x27, 0x13, 0xa9, 0xbb, 0xb3, 0xf7, 0xc8, 0xdf, 0x8a, 0xc1, 0x68, + 0x70, 0xa5, 0x86, 0xde, 0x04, 0xb7, 0x89, 0x6d, 0x15, 0x1b, 0x3b, 0x95, 0xab, 0x9a, 0x45, 0x07, + 0x64, 0x53, 0x65, 0x93, 0xa3, 0xeb, 0x3f, 0x93, 0x1c, 0x6b, 0x1d, 0x3b, 0x4f, 0x6b, 0x16, 0x19, + 0x6e, 0x4d, 0xd5, 0x41, 0x4b, 0x30, 0xad, 0x1b, 0x15, 0xdb, 0x51, 0xf5, 0x9a, 0x6a, 0xd5, 0x2a, + 0xde, 0x86, 0x56, 0x45, 0xad, 0x56, 0xb1, 0x6d, 0x1b, 0x6c, 0x22, 0x74, 0xb9, 0x1c, 0xd3, 0x8d, + 0x75, 0x8e, 0xec, 0xcd, 0x10, 0x73, 0x1c, 0x35, 0xe4, 0xbe, 0xf1, 0x6e, 0xee, 0x7b, 0x14, 0xd2, + 0x4d, 0xd5, 0xac, 0x60, 0xdd, 0xb1, 0xf6, 0x68, 0x7e, 0x9e, 0x52, 0x52, 0x4d, 0xd5, 0x2c, 0x93, + 0xf2, 0x1b, 0xb2, 0x4c, 0x7a, 0x32, 0x91, 0x4a, 0x65, 0xd3, 0x4f, 0x26, 0x52, 0xe9, 0x2c, 0xc8, + 0xaf, 0xc6, 0x21, 0xe3, 0xcf, 0xd7, 0xc9, 0xf2, 0xa7, 0x4a, 0x67, 0x2c, 0x89, 0xc6, 0xb4, 0x3b, + 0x7a, 0x66, 0xf7, 0xb3, 0xf3, 0x64, 0x2a, 0x2b, 0x0c, 0xb2, 0xe4, 0x58, 0x61, 0x94, 0x24, 0x8d, + 0x20, 0xce, 0x86, 0x59, 0x32, 0x92, 0x52, 0x78, 0x09, 0x2d, 0xc0, 0xe0, 0x73, 0x36, 0xe5, 0x3d, + 0x48, 0x79, 0xdf, 0xd9, 0x9b, 0xf7, 0x93, 0xeb, 0x94, 0x79, 0xfa, 0xc9, 0xf5, 0xca, 0xca, 0xaa, + 0xb2, 0x3c, 0xb7, 0xa4, 0x70, 0x72, 0x74, 0x04, 0x12, 0x0d, 0xf5, 0x85, 0xbd, 0xe0, 0xa4, 0x47, + 0x41, 0xfd, 0x1a, 0xe1, 0x08, 0x24, 0xae, 0x62, 0x75, 0x27, 0x38, 0xd5, 0x50, 0xd0, 0x2d, 0x1c, + 0x0c, 0xa7, 0x20, 0x49, 0xf5, 0x85, 0x00, 0xb8, 0xc6, 0xb2, 0x03, 0x28, 0x05, 0x89, 0xf9, 0x55, + 0x85, 0x0c, 0x88, 0x2c, 0x64, 0x18, 0xb4, 0xb2, 0xb6, 0x58, 0x9e, 0x2f, 0x67, 0x63, 0xf2, 0x19, + 0x18, 0x64, 0x4a, 0x20, 0x83, 0xc5, 0x55, 0x43, 0x76, 0x80, 0x17, 0x39, 0x0f, 0x49, 0xd4, 0x5e, + 0x5a, 0x2e, 0x96, 0x95, 0x6c, 0x2c, 0x68, 0xea, 0x44, 0x36, 0x29, 0xdb, 0x90, 0xf1, 0xe7, 0xe1, + 0x6f, 0xcc, 0x62, 0xfc, 0x2b, 0x12, 0x0c, 0xfb, 0xf2, 0x6a, 0x92, 0x10, 0xa9, 0x8d, 0x86, 0x71, + 0xb5, 0xa2, 0x36, 0x34, 0xd5, 0xe6, 0xae, 0x01, 0x14, 0x34, 0x47, 0x20, 0xfd, 0x9a, 0xee, 0x0d, + 0x1a, 0x22, 0xc9, 0xec, 0xa0, 0xfc, 0x29, 0x09, 0xb2, 0xe1, 0xc4, 0x36, 0x24, 0xa6, 0xf4, 0xd3, + 0x14, 0x53, 0xfe, 0xa4, 0x04, 0xa3, 0xc1, 0x6c, 0x36, 0x24, 0xde, 0xed, 0x3f, 0x55, 0xf1, 0xfe, + 0x24, 0x06, 0x23, 0x81, 0x1c, 0xb6, 0x5f, 0xe9, 0x9e, 0x87, 0x71, 0xad, 0x86, 0x9b, 0xa6, 0xe1, + 0x60, 0xbd, 0xba, 0x57, 0x69, 0xe0, 0x2b, 0xb8, 0x91, 0x93, 0x69, 0xd0, 0x38, 0xd5, 0x3b, 0x4b, + 0x9e, 0x5d, 0xf4, 0xe8, 0x96, 0x08, 0x59, 0x61, 0x62, 0xb1, 0x54, 0x5e, 0x5e, 0x5b, 0xdd, 0x28, + 0xaf, 0xcc, 0xbf, 0xad, 0x72, 0x69, 0xe5, 0xe2, 0xca, 0xea, 0xd3, 0x2b, 0x4a, 0x56, 0x0b, 0xa1, + 0xdd, 0xc2, 0x61, 0xbf, 0x06, 0xd9, 0xb0, 0x50, 0xe8, 0x36, 0xe8, 0x24, 0x56, 0x76, 0x00, 0x4d, + 0xc0, 0xd8, 0xca, 0x6a, 0x65, 0x7d, 0xb1, 0x54, 0xae, 0x94, 0xcf, 0x9f, 0x2f, 0xcf, 0x6f, 0xac, + 0xb3, 0x7d, 0x0f, 0x17, 0x7b, 0x23, 0x30, 0xc0, 0xe5, 0x97, 0xe3, 0x30, 0xd1, 0x41, 0x12, 0x34, + 0xc7, 0x57, 0x2c, 0x6c, 0x11, 0xf5, 0x40, 0x3f, 0xd2, 0xcf, 0x92, 0x9c, 0x61, 0x4d, 0xb5, 0x1c, + 0xbe, 0xc0, 0xb9, 0x17, 0x88, 0x96, 0x74, 0x47, 0xdb, 0xd2, 0xb0, 0xc5, 0xf7, 0x93, 0xd8, 0x32, + 0x66, 0xcc, 0x83, 0xb3, 0x2d, 0xa5, 0xfb, 0x01, 0x99, 0x86, 0xad, 0x39, 0xda, 0x15, 0x5c, 0xd1, + 0x74, 0xb1, 0xf9, 0x44, 0x96, 0x35, 0x09, 0x25, 0x2b, 0x6a, 0x16, 0x75, 0xc7, 0xc5, 0xd6, 0x71, + 0x5d, 0x0d, 0x61, 0x93, 0x60, 0x1e, 0x57, 0xb2, 0xa2, 0xc6, 0xc5, 0xbe, 0x1d, 0x32, 0x35, 0xa3, + 0x45, 0x72, 0x3d, 0x86, 0x47, 0xe6, 0x0e, 0x49, 0x19, 0x66, 0x30, 0x17, 0x85, 0x67, 0xf1, 0xde, + 0xae, 0x57, 0x46, 0x19, 0x66, 0x30, 0x86, 0x72, 0x0f, 0x8c, 0xa9, 0xf5, 0xba, 0x45, 0x98, 0x0b, + 0x46, 0x6c, 0x5d, 0x32, 0xea, 0x82, 0x29, 0x62, 0xfe, 0x49, 0x48, 0x09, 0x3d, 0x90, 0xa9, 0x9a, + 0x68, 0xa2, 0x62, 0xb2, 0xc5, 0x76, 0xec, 0x44, 0x5a, 0x49, 0xe9, 0xa2, 0xf2, 0x76, 0xc8, 0x68, + 0x76, 0xc5, 0xdb, 0xc4, 0x8f, 0xcd, 0xc4, 0x4e, 0xa4, 0x94, 0x61, 0xcd, 0x76, 0x37, 0x40, 0xe5, + 0xcf, 0xc6, 0x60, 0x34, 0x78, 0x08, 0x81, 0x4a, 0x90, 0x6a, 0x18, 0x55, 0x95, 0xba, 0x16, 0x3b, + 0x01, 0x3b, 0x11, 0x71, 0x6e, 0x31, 0xbb, 0xc4, 0xf1, 0x15, 0x97, 0x32, 0xff, 0x07, 0x12, 0xa4, + 0x04, 0x18, 0x1d, 0x86, 0x84, 0xa9, 0x3a, 0xdb, 0x94, 0x5d, 0xb2, 0x18, 0xcb, 0x4a, 0x0a, 0x2d, + 0x13, 0xb8, 0x6d, 0xaa, 0x3a, 0x75, 0x01, 0x0e, 0x27, 0x65, 0x62, 0xd7, 0x06, 0x56, 0x6b, 0x74, + 0xd1, 0x63, 0x34, 0x9b, 0x58, 0x77, 0x6c, 0x61, 0x57, 0x0e, 0x9f, 0xe7, 0x60, 0x74, 0x1f, 0x8c, + 0x3b, 0x96, 0xaa, 0x35, 0x02, 0xb8, 0x09, 0x8a, 0x9b, 0x15, 0x15, 0x2e, 0x72, 0x01, 0x8e, 0x08, + 0xbe, 0x35, 0xec, 0xa8, 0xd5, 0x6d, 0x5c, 0xf3, 0x88, 0x06, 0xe9, 0xe6, 0xc6, 0x6d, 0x1c, 0xa1, + 0xc4, 0xeb, 0x05, 0xad, 0xfc, 0x2d, 0x09, 0xc6, 0xc5, 0x32, 0xad, 0xe6, 0x2a, 0x6b, 0x19, 0x40, + 0xd5, 0x75, 0xc3, 0xf1, 0xab, 0xab, 0xdd, 0x95, 0xdb, 0xe8, 0x66, 0xe7, 0x5c, 0x22, 0xc5, 0xc7, + 0x20, 0xdf, 0x04, 0xf0, 0x6a, 0xba, 0xaa, 0x6d, 0x1a, 0x86, 0xf9, 0x09, 0x13, 0x3d, 0xa6, 0x64, + 0x0b, 0x7b, 0x60, 0x20, 0xb2, 0x9e, 0x43, 0x93, 0x90, 0xdc, 0xc4, 0x75, 0x4d, 0xe7, 0xfb, 0xc6, + 0xac, 0x20, 0xb6, 0x5f, 0x12, 0xee, 0xf6, 0x4b, 0xf1, 0xff, 0x87, 0x89, 0xaa, 0xd1, 0x0c, 0x8b, + 0x5b, 0xcc, 0x86, 0x36, 0x17, 0xec, 0x0b, 0xd2, 0xb3, 0x0f, 0x70, 0xa4, 0xba, 0xd1, 0x50, 0xf5, + 0xfa, 0xac, 0x61, 0xd5, 0xbd, 0x63, 0x56, 0x92, 0xf1, 0xd8, 0xbe, 0xc3, 0x56, 0x73, 0xf3, 0xcf, + 0x25, 0xe9, 0x57, 0x63, 0xf1, 0x85, 0xb5, 0xe2, 0xe7, 0x62, 0xf9, 0x05, 0x46, 0xb8, 0x26, 0x94, + 0xa1, 0xe0, 0xad, 0x06, 0xae, 0x92, 0x0e, 0xc2, 0xf7, 0xef, 0x83, 0xc9, 0xba, 0x51, 0x37, 0x28, + 0xa7, 0x53, 0xe4, 0x17, 0x3f, 0xa7, 0x4d, 0xbb, 0xd0, 0x7c, 0xe4, 0xa1, 0x6e, 0x61, 0x05, 0x26, + 0x38, 0x72, 0x85, 0x1e, 0x14, 0xb1, 0x65, 0x0c, 0xea, 0xb9, 0x87, 0x96, 0xfb, 0xc2, 0xf7, 0xe8, + 0xf4, 0xad, 0x8c, 0x73, 0x52, 0x52, 0xc7, 0x56, 0x3a, 0x05, 0x05, 0x0e, 0x05, 0xf8, 0xb1, 0x41, + 0x8a, 0xad, 0x08, 0x8e, 0xbf, 0xc7, 0x39, 0x4e, 0xf8, 0x38, 0xae, 0x73, 0xd2, 0xc2, 0x3c, 0x8c, + 0xec, 0x87, 0xd7, 0x3f, 0xe5, 0xbc, 0x32, 0xd8, 0xcf, 0x64, 0x01, 0xc6, 0x28, 0x93, 0x6a, 0xcb, + 0x76, 0x8c, 0x26, 0x8d, 0x80, 0xbd, 0xd9, 0xfc, 0xfe, 0xf7, 0xd8, 0xa8, 0x19, 0x25, 0x64, 0xf3, + 0x2e, 0x55, 0xa1, 0x00, 0xf4, 0x6c, 0xac, 0x86, 0xab, 0x8d, 0x08, 0x0e, 0x5f, 0xe3, 0x82, 0xb8, + 0xf8, 0x85, 0xcb, 0x30, 0x49, 0x7e, 0xd3, 0x00, 0xe5, 0x97, 0x24, 0x7a, 0xc3, 0x2d, 0xf7, 0xad, + 0xf7, 0xb1, 0x81, 0x39, 0xe1, 0x32, 0xf0, 0xc9, 0xe4, 0xb3, 0x62, 0x1d, 0x3b, 0x0e, 0xb6, 0xec, + 0x8a, 0xda, 0xe8, 0x24, 0x9e, 0x6f, 0xc7, 0x22, 0xf7, 0xf1, 0x1f, 0x04, 0xad, 0xb8, 0xc0, 0x28, + 0xe7, 0x1a, 0x8d, 0xc2, 0x25, 0xb8, 0xad, 0x83, 0x57, 0xf4, 0xc1, 0xf3, 0x65, 0xce, 0x73, 0xb2, + 0xcd, 0x33, 0x08, 0xdb, 0x35, 0x10, 0x70, 0xd7, 0x96, 0x7d, 0xf0, 0xfc, 0x04, 0xe7, 0x89, 0x38, + 0xad, 0x30, 0x29, 0xe1, 0xf8, 0x24, 0x8c, 0x5f, 0xc1, 0xd6, 0xa6, 0x61, 0xf3, 0x5d, 0xa2, 0x3e, + 0xd8, 0x7d, 0x92, 0xb3, 0x1b, 0xe3, 0x84, 0x74, 0xdb, 0x88, 0xf0, 0x7a, 0x1c, 0x52, 0x5b, 0x6a, + 0x15, 0xf7, 0xc1, 0xe2, 0x1a, 0x67, 0x31, 0x44, 0xf0, 0x09, 0xe9, 0x1c, 0x64, 0xea, 0x06, 0x9f, + 0xa3, 0xa2, 0xc9, 0x3f, 0xc5, 0xc9, 0x87, 0x05, 0x0d, 0x67, 0x61, 0x1a, 0x66, 0xab, 0x41, 0x26, + 0xb0, 0x68, 0x16, 0x7f, 0x43, 0xb0, 0x10, 0x34, 0x9c, 0xc5, 0x3e, 0xd4, 0xfa, 0x8a, 0x60, 0x61, + 0xfb, 0xf4, 0xf9, 0x04, 0x0c, 0x1b, 0x7a, 0x63, 0xcf, 0xd0, 0xfb, 0x11, 0xe2, 0xd3, 0x9c, 0x03, + 0x70, 0x12, 0xc2, 0xe0, 0x1c, 0xa4, 0xfb, 0x35, 0xc4, 0xdf, 0xfc, 0x81, 0x18, 0x1e, 0xc2, 0x02, + 0x0b, 0x30, 0x26, 0x02, 0x94, 0x66, 0xe8, 0x7d, 0xb0, 0xf8, 0x5b, 0x9c, 0xc5, 0xa8, 0x8f, 0x8c, + 0x77, 0xc3, 0xc1, 0xb6, 0x53, 0xc7, 0xfd, 0x30, 0xf9, 0xac, 0xe8, 0x06, 0x27, 0xe1, 0xaa, 0xdc, + 0xc4, 0x7a, 0x75, 0xbb, 0x3f, 0x0e, 0xbf, 0x2e, 0x54, 0x29, 0x68, 0x08, 0x8b, 0x79, 0x18, 0x69, + 0xaa, 0x96, 0xbd, 0xad, 0x36, 0xfa, 0x32, 0xc7, 0xdf, 0xe6, 0x3c, 0x32, 0x2e, 0x11, 0xd7, 0x48, + 0x4b, 0xdf, 0x0f, 0x9b, 0xcf, 0x09, 0x8d, 0xf8, 0xc8, 0xf8, 0xd0, 0xb3, 0x1d, 0xba, 0xa5, 0xb6, + 0x1f, 0x6e, 0xbf, 0x21, 0x86, 0x1e, 0xa3, 0x5d, 0xf6, 0x73, 0x3c, 0x07, 0x69, 0x5b, 0x7b, 0xa1, + 0x2f, 0x36, 0xbf, 0x29, 0x2c, 0x4d, 0x09, 0x08, 0xf1, 0xdb, 0xe0, 0x48, 0xc7, 0x69, 0xa2, 0x0f, + 0x66, 0x7f, 0x87, 0x33, 0x3b, 0xdc, 0x61, 0xaa, 0xe0, 0x21, 0x61, 0xbf, 0x2c, 0xff, 0xae, 0x08, + 0x09, 0x38, 0xc4, 0x6b, 0x8d, 0xac, 0x1a, 0x6c, 0x75, 0x6b, 0x7f, 0x5a, 0xfb, 0x2d, 0xa1, 0x35, + 0x46, 0x1b, 0xd0, 0xda, 0x06, 0x1c, 0xe6, 0x1c, 0xf7, 0x67, 0xd7, 0xcf, 0x8b, 0xc0, 0xca, 0xa8, + 0x2f, 0x05, 0xad, 0xfb, 0x76, 0xc8, 0xbb, 0xea, 0x14, 0xe9, 0xa9, 0x5d, 0x69, 0xaa, 0x66, 0x1f, + 0x9c, 0xbf, 0xc0, 0x39, 0x8b, 0x88, 0xef, 0xe6, 0xb7, 0xf6, 0xb2, 0x6a, 0x12, 0xe6, 0xcf, 0x40, + 0x4e, 0x30, 0x6f, 0xe9, 0x16, 0xae, 0x1a, 0x75, 0x5d, 0x7b, 0x01, 0xd7, 0xfa, 0x60, 0xfd, 0xdb, + 0x21, 0x53, 0x5d, 0xf2, 0x91, 0x13, 0xce, 0x8b, 0x90, 0x75, 0x73, 0x95, 0x8a, 0xd6, 0x34, 0x0d, + 0xcb, 0x89, 0xe0, 0xf8, 0x45, 0x61, 0x29, 0x97, 0x6e, 0x91, 0x92, 0x15, 0xca, 0xc0, 0xce, 0x99, + 0xfb, 0x75, 0xc9, 0x2f, 0x71, 0x46, 0x23, 0x1e, 0x15, 0x0f, 0x1c, 0x55, 0xa3, 0x69, 0xaa, 0x56, + 0x3f, 0xf1, 0xef, 0xef, 0x89, 0xc0, 0xc1, 0x49, 0x78, 0xe0, 0x20, 0x19, 0x1d, 0x99, 0xed, 0xfb, + 0xe0, 0xf0, 0x65, 0x11, 0x38, 0x04, 0x0d, 0x67, 0x21, 0x12, 0x86, 0x3e, 0x58, 0xfc, 0x7d, 0xc1, + 0x42, 0xd0, 0x10, 0x16, 0x4f, 0x79, 0x13, 0xad, 0x85, 0xeb, 0x9a, 0xed, 0x58, 0x2c, 0x29, 0xee, + 0xcd, 0xea, 0x77, 0x7e, 0x10, 0x4c, 0xc2, 0x14, 0x1f, 0x29, 0x89, 0x44, 0x7c, 0x93, 0x95, 0xae, + 0x99, 0xa2, 0x05, 0xfb, 0x5d, 0x11, 0x89, 0x7c, 0x64, 0x44, 0x36, 0x5f, 0x86, 0x48, 0xd4, 0x5e, + 0x25, 0x2b, 0x85, 0x3e, 0xd8, 0xfd, 0x83, 0x90, 0x70, 0xeb, 0x82, 0x96, 0xf0, 0xf4, 0xe5, 0x3f, + 0x2d, 0x7d, 0x07, 0xef, 0xf5, 0xe5, 0x9d, 0xff, 0x30, 0x94, 0xff, 0x5c, 0x62, 0x94, 0x2c, 0x86, + 0x8c, 0x85, 0xf2, 0x29, 0x14, 0x75, 0xab, 0x28, 0xf7, 0x9e, 0x1f, 0xf3, 0xfe, 0x06, 0xd3, 0xa9, + 0xc2, 0x12, 0x71, 0xf2, 0x60, 0xd2, 0x13, 0xcd, 0xec, 0x7d, 0x3f, 0x76, 0xfd, 0x3c, 0x90, 0xf3, + 0x14, 0xce, 0xc3, 0x48, 0x20, 0xe1, 0x89, 0x66, 0xf5, 0x7e, 0xce, 0x2a, 0xe3, 0xcf, 0x77, 0x0a, + 0x67, 0x20, 0x41, 0x92, 0x97, 0x68, 0xf2, 0xbf, 0xc2, 0xc9, 0x29, 0x7a, 0xe1, 0xcd, 0x90, 0x12, + 0x49, 0x4b, 0x34, 0xe9, 0x07, 0x38, 0xa9, 0x4b, 0x42, 0xc8, 0x45, 0xc2, 0x12, 0x4d, 0xfe, 0x57, + 0x05, 0xb9, 0x20, 0x21, 0xe4, 0xfd, 0xab, 0xf0, 0x2b, 0x3f, 0x9f, 0xe0, 0x93, 0x8e, 0xd0, 0xdd, + 0x39, 0x18, 0xe2, 0x99, 0x4a, 0x34, 0xf5, 0x87, 0x78, 0xe3, 0x82, 0xa2, 0xf0, 0x28, 0x24, 0xfb, + 0x54, 0xf8, 0x2f, 0x70, 0x52, 0x86, 0x5f, 0x98, 0x87, 0x61, 0x5f, 0x76, 0x12, 0x4d, 0xfe, 0xd7, + 0x38, 0xb9, 0x9f, 0x8a, 0x88, 0xce, 0xb3, 0x93, 0x68, 0x06, 0xbf, 0x28, 0x44, 0xe7, 0x14, 0x44, + 0x6d, 0x22, 0x31, 0x89, 0xa6, 0xfe, 0xb0, 0xd0, 0xba, 0x20, 0x29, 0x3c, 0x01, 0x69, 0x77, 0xb2, + 0x89, 0xa6, 0xff, 0x08, 0xa7, 0xf7, 0x68, 0x88, 0x06, 0x7c, 0x93, 0x5d, 0x34, 0x8b, 0x5f, 0x12, + 0x1a, 0xf0, 0x51, 0x91, 0x61, 0x14, 0x4e, 0x60, 0xa2, 0x39, 0x7d, 0x54, 0x0c, 0xa3, 0x50, 0xfe, + 0x42, 0xac, 0x49, 0x63, 0x7e, 0x34, 0x8b, 0x5f, 0x16, 0xd6, 0xa4, 0xf8, 0x44, 0x8c, 0x70, 0x46, + 0x10, 0xcd, 0xe3, 0x57, 0x84, 0x18, 0xa1, 0x84, 0xa0, 0xb0, 0x06, 0xa8, 0x3d, 0x1b, 0x88, 0xe6, + 0xf7, 0x31, 0xce, 0x6f, 0xbc, 0x2d, 0x19, 0x28, 0x3c, 0x0d, 0x87, 0x3b, 0x67, 0x02, 0xd1, 0x5c, + 0x3f, 0xfe, 0xe3, 0xd0, 0xda, 0xcd, 0x9f, 0x08, 0x14, 0x36, 0xbc, 0x29, 0xc5, 0x9f, 0x05, 0x44, + 0xb3, 0x7d, 0xf9, 0xc7, 0xc1, 0xc0, 0xed, 0x4f, 0x02, 0x0a, 0x73, 0x00, 0xde, 0x04, 0x1c, 0xcd, + 0xeb, 0x93, 0x9c, 0x97, 0x8f, 0x88, 0x0c, 0x0d, 0x3e, 0xff, 0x46, 0xd3, 0x5f, 0x13, 0x43, 0x83, + 0x53, 0x90, 0xa1, 0x21, 0xa6, 0xde, 0x68, 0xea, 0x4f, 0x89, 0xa1, 0x21, 0x48, 0x88, 0x67, 0xfb, + 0x66, 0xb7, 0x68, 0x0e, 0x9f, 0x16, 0x9e, 0xed, 0xa3, 0x2a, 0xac, 0xc0, 0x78, 0xdb, 0x84, 0x18, + 0xcd, 0xea, 0x57, 0x39, 0xab, 0x6c, 0x78, 0x3e, 0xf4, 0x4f, 0x5e, 0x7c, 0x32, 0x8c, 0xe6, 0xf6, + 0x99, 0xd0, 0xe4, 0xc5, 0xe7, 0xc2, 0xc2, 0x39, 0x48, 0xe9, 0xad, 0x46, 0x83, 0x0c, 0x1e, 0xd4, + 0xfb, 0x26, 0x60, 0xee, 0x3f, 0xfe, 0x84, 0x6b, 0x47, 0x10, 0x14, 0xce, 0x40, 0x12, 0x37, 0x37, + 0x71, 0x2d, 0x8a, 0xf2, 0xfb, 0x3f, 0x11, 0x01, 0x93, 0x60, 0x17, 0x9e, 0x00, 0x60, 0x5b, 0x23, + 0xf4, 0x30, 0x30, 0x82, 0xf6, 0x3f, 0xfd, 0x84, 0x5f, 0xbd, 0xf1, 0x48, 0x3c, 0x06, 0xec, 0x22, + 0x4f, 0x6f, 0x06, 0x3f, 0x08, 0x32, 0xa0, 0x16, 0x79, 0x1c, 0x86, 0x9e, 0xb3, 0x0d, 0xdd, 0x51, + 0xeb, 0x51, 0xd4, 0xff, 0x99, 0x53, 0x0b, 0x7c, 0xa2, 0xb0, 0xa6, 0x61, 0x61, 0x47, 0xad, 0xdb, + 0x51, 0xb4, 0xff, 0x85, 0xd3, 0xba, 0x04, 0x84, 0xb8, 0xaa, 0xda, 0x4e, 0x3f, 0xfd, 0xfe, 0x33, + 0x41, 0x2c, 0x08, 0x88, 0xd0, 0xe4, 0xf7, 0x0e, 0xde, 0x8b, 0xa2, 0xfd, 0xa1, 0x10, 0x9a, 0xe3, + 0x17, 0xde, 0x0c, 0x69, 0xf2, 0x93, 0xdd, 0xa7, 0x8b, 0x20, 0xfe, 0x11, 0x27, 0xf6, 0x28, 0x48, + 0xcb, 0xb6, 0x53, 0x73, 0xb4, 0x68, 0x65, 0xdf, 0xe0, 0x96, 0x16, 0xf8, 0x85, 0x39, 0x18, 0xb6, + 0x9d, 0x5a, 0xad, 0xc5, 0xf3, 0xd3, 0x08, 0xf2, 0xff, 0xfa, 0x13, 0x77, 0xcb, 0xc2, 0xa5, 0x21, + 0xd6, 0xbe, 0xba, 0xe3, 0x98, 0x06, 0x3d, 0xf0, 0x88, 0xe2, 0xf0, 0x63, 0xce, 0xc1, 0x47, 0x52, + 0x98, 0x87, 0x0c, 0xe9, 0x8b, 0x85, 0x4d, 0x4c, 0x4f, 0xa7, 0x22, 0x58, 0xfc, 0x37, 0xae, 0x80, + 0x00, 0x51, 0xf1, 0xe7, 0xbe, 0xf6, 0xea, 0x94, 0xf4, 0xcd, 0x57, 0xa7, 0xa4, 0x3f, 0x79, 0x75, + 0x4a, 0xfa, 0xf0, 0x77, 0xa7, 0x06, 0xbe, 0xf9, 0xdd, 0xa9, 0x81, 0x6f, 0x7f, 0x77, 0x6a, 0xa0, + 0xf3, 0x2e, 0x31, 0x2c, 0x18, 0x0b, 0x06, 0xdb, 0x1f, 0x7e, 0x56, 0xae, 0x6b, 0xce, 0x76, 0x6b, + 0x73, 0xb6, 0x6a, 0x34, 0xe9, 0x36, 0xae, 0xb7, 0x5b, 0xeb, 0x2e, 0x72, 0xe0, 0xbd, 0x71, 0x38, + 0x52, 0x35, 0xec, 0xa6, 0x61, 0x57, 0xd8, 0x7e, 0x2f, 0x2b, 0xf0, 0x1d, 0xdf, 0x8c, 0xbf, 0xaa, + 0x8f, 0x4d, 0xdf, 0x0b, 0x30, 0x4a, 0xbb, 0x4e, 0xb7, 0xbb, 0xa8, 0xb7, 0x45, 0x06, 0x88, 0xaf, + 0xff, 0xeb, 0x24, 0xed, 0xf5, 0x88, 0x4b, 0x48, 0x4f, 0xef, 0x37, 0x60, 0x52, 0x6b, 0x9a, 0x0d, + 0x4c, 0xb7, 0xf9, 0x2b, 0x6e, 0x5d, 0x34, 0xbf, 0x6f, 0x70, 0x7e, 0x13, 0x1e, 0xf9, 0xa2, 0xa0, + 0x2e, 0x2c, 0xc1, 0xb8, 0x5a, 0xad, 0x62, 0x33, 0xc0, 0x32, 0xc2, 0x2c, 0x42, 0xc0, 0x2c, 0xa7, + 0x74, 0xb9, 0x15, 0x9f, 0xe8, 0x66, 0x9a, 0x67, 0xef, 0xf2, 0x69, 0xde, 0xc2, 0x75, 0xac, 0x3f, + 0xa0, 0x63, 0xe7, 0xaa, 0x61, 0xed, 0x70, 0xf5, 0x3e, 0xc0, 0x9a, 0x1a, 0x64, 0x37, 0x98, 0xe1, + 0xfd, 0x71, 0x98, 0x62, 0x15, 0xa7, 0x36, 0x55, 0x1b, 0x9f, 0xba, 0xf2, 0xd0, 0x26, 0x76, 0xd4, + 0x87, 0x4e, 0x55, 0x0d, 0x4d, 0xe7, 0x96, 0x98, 0xe0, 0x76, 0x21, 0xf5, 0xb3, 0xbc, 0x3e, 0xdf, + 0x71, 0x9b, 0x5e, 0x5e, 0x80, 0xc4, 0xbc, 0xa1, 0xe9, 0x68, 0x12, 0x92, 0x35, 0xac, 0x1b, 0x4d, + 0x7e, 0xe7, 0x8e, 0x15, 0xd0, 0x1d, 0x30, 0xa8, 0x36, 0x8d, 0x96, 0xee, 0xb0, 0x13, 0x8a, 0xe2, + 0xf0, 0xd7, 0xae, 0x4f, 0x0f, 0xfc, 0xd1, 0xf5, 0xe9, 0xf8, 0xa2, 0xee, 0x28, 0xbc, 0xaa, 0x90, + 0x78, 0xed, 0x95, 0x69, 0x49, 0x7e, 0x12, 0x86, 0x4a, 0xb8, 0x7a, 0x10, 0x5e, 0x25, 0x5c, 0x0d, + 0xf1, 0xba, 0x17, 0x52, 0x8b, 0xba, 0xc3, 0x6e, 0x45, 0x1e, 0x87, 0xb8, 0xa6, 0xb3, 0x8b, 0x36, + 0xa1, 0xf6, 0x09, 0x9c, 0xa0, 0x96, 0x70, 0xd5, 0x45, 0xad, 0xe1, 0x6a, 0x18, 0x95, 0xb0, 0x27, + 0xf0, 0x62, 0xe9, 0xdb, 0xff, 0x7e, 0x6a, 0xe0, 0xc5, 0x57, 0xa7, 0x06, 0xba, 0x5a, 0xc2, 0x3f, + 0x06, 0xb8, 0x8a, 0xb9, 0x09, 0xec, 0xda, 0x0e, 0x3b, 0x23, 0x71, 0xcd, 0xf0, 0x2f, 0x06, 0x41, + 0xe6, 0x38, 0xb6, 0xa3, 0xee, 0x68, 0x7a, 0xdd, 0xb5, 0x84, 0xda, 0x72, 0xb6, 0x5f, 0xe0, 0xa6, + 0x38, 0xcc, 0x4d, 0xc1, 0x71, 0x7a, 0x5b, 0x23, 0xdf, 0x7d, 0x74, 0xe5, 0x23, 0x6c, 0x2e, 0xff, + 0xf3, 0x38, 0xa0, 0x75, 0x47, 0xdd, 0xc1, 0x73, 0x2d, 0x67, 0xdb, 0xb0, 0xb4, 0x17, 0x58, 0x2c, + 0xc3, 0x00, 0x4d, 0x75, 0xb7, 0xe2, 0x18, 0x3b, 0x58, 0xb7, 0xa9, 0x6a, 0x86, 0x4f, 0x1f, 0x99, + 0xed, 0xe0, 0x1f, 0xb3, 0xc4, 0x74, 0xc5, 0xfb, 0x3e, 0xf7, 0x9d, 0xe9, 0x7b, 0xa2, 0xb5, 0x40, + 0x91, 0x49, 0x72, 0xbd, 0xbb, 0x41, 0x19, 0xa3, 0xcb, 0xc0, 0x2e, 0x59, 0x54, 0x1a, 0x9a, 0xed, + 0xf0, 0x7b, 0xda, 0x67, 0x66, 0x3b, 0xf7, 0x7d, 0xb6, 0x5d, 0xcc, 0xd9, 0xcb, 0x6a, 0x43, 0xab, + 0xa9, 0x8e, 0x61, 0xd9, 0x17, 0x06, 0x94, 0x34, 0x65, 0xb5, 0xa4, 0xd9, 0x0e, 0xda, 0x80, 0x74, + 0x0d, 0xeb, 0x7b, 0x8c, 0x6d, 0xfc, 0xf5, 0xb1, 0x4d, 0x11, 0x4e, 0x94, 0xeb, 0x33, 0x80, 0x54, + 0x3f, 0x9e, 0x78, 0x98, 0xc4, 0xee, 0x57, 0x76, 0x61, 0x1f, 0xe0, 0x4c, 0xdf, 0x51, 0x8c, 0xab, + 0x61, 0x50, 0xfe, 0x6e, 0x00, 0xaf, 0x4d, 0x94, 0x83, 0x21, 0xb5, 0x56, 0xb3, 0xb0, 0x6d, 0xd3, + 0x03, 0xc0, 0xb4, 0x22, 0x8a, 0x85, 0xf1, 0x7f, 0xf9, 0xa5, 0x07, 0x46, 0x02, 0x1c, 0x8b, 0x19, + 0x80, 0x2b, 0x2e, 0xe9, 0xc9, 0x4f, 0x49, 0x30, 0xde, 0xd6, 0x22, 0x92, 0x61, 0x6a, 0xee, 0xd2, + 0xc6, 0x85, 0x55, 0x65, 0xf1, 0xd9, 0xb9, 0x8d, 0xc5, 0xd5, 0x95, 0x0a, 0xbb, 0xf2, 0xbf, 0xb2, + 0xbe, 0x56, 0x9e, 0x5f, 0x3c, 0xbf, 0x58, 0x2e, 0x65, 0x07, 0xd0, 0x34, 0x1c, 0xed, 0x80, 0x53, + 0x2a, 0x2f, 0x95, 0x17, 0xe6, 0x36, 0xca, 0x59, 0x09, 0xdd, 0x0e, 0xc7, 0x3b, 0x32, 0x71, 0x51, + 0x62, 0x5d, 0x50, 0x94, 0xb2, 0x8b, 0x12, 0x2f, 0x9e, 0xef, 0x3a, 0x8a, 0xee, 0xef, 0xe9, 0x3f, + 0xbb, 0xee, 0x70, 0x09, 0x8e, 0xa7, 0xf7, 0xc4, 0xe0, 0x48, 0x78, 0xca, 0x50, 0xf5, 0xbd, 0x2e, + 0xaf, 0x3e, 0xbb, 0x44, 0xb3, 0x0b, 0x10, 0x9f, 0xd3, 0xf7, 0xd0, 0x11, 0x96, 0x4f, 0x57, 0x5a, + 0x56, 0x83, 0xc7, 0xa0, 0x21, 0x52, 0xbe, 0x64, 0x35, 0x48, 0x6c, 0x12, 0x17, 0xfd, 0xa5, 0x13, + 0x19, 0x7e, 0x7b, 0xbf, 0x90, 0xfd, 0xd8, 0x2b, 0xd3, 0x03, 0x9f, 0x7f, 0x65, 0x7a, 0xe0, 0x87, + 0x9f, 0x9e, 0x1e, 0x78, 0xf1, 0x8f, 0x67, 0x06, 0x8a, 0x3b, 0xe1, 0xee, 0x7d, 0x25, 0x72, 0x36, + 0x4d, 0xcd, 0xe9, 0x7b, 0x34, 0x10, 0xad, 0x49, 0xcf, 0x26, 0x69, 0xe7, 0xc4, 0x01, 0xea, 0x54, + 0xf8, 0x00, 0xf5, 0x69, 0xdc, 0x68, 0x5c, 0xd4, 0x8d, 0xab, 0xd4, 0xaa, 0x9e, 0x0e, 0x3e, 0x1a, + 0x83, 0xa9, 0xb6, 0x69, 0x93, 0x67, 0x18, 0xdd, 0x9e, 0xbf, 0x16, 0x20, 0x55, 0x12, 0x89, 0x4b, + 0x0e, 0x86, 0x6c, 0x5c, 0x35, 0xf4, 0x1a, 0x1b, 0xe9, 0x71, 0x45, 0x14, 0x49, 0xb7, 0x75, 0x55, + 0x37, 0x6c, 0x7e, 0xe7, 0x9e, 0x15, 0x8a, 0x9f, 0x90, 0xf6, 0x97, 0x2f, 0x8c, 0x88, 0x96, 0x44, + 0x37, 0x1f, 0x8a, 0x3c, 0x52, 0xde, 0x21, 0xbd, 0x74, 0x3b, 0x11, 0x38, 0x56, 0xee, 0x57, 0x2b, + 0xbf, 0x12, 0x83, 0xe9, 0xb0, 0x56, 0x48, 0xda, 0x66, 0x3b, 0x6a, 0xd3, 0xec, 0xa6, 0x96, 0x73, + 0x90, 0xde, 0x10, 0x38, 0xfb, 0xd6, 0xcb, 0xb5, 0x7d, 0xea, 0x65, 0xd4, 0x6d, 0x4a, 0x28, 0xe6, + 0x74, 0x9f, 0x8a, 0x71, 0xfb, 0x71, 0x20, 0xcd, 0x7c, 0x2e, 0x01, 0xc7, 0xe9, 0xa3, 0x2c, 0xab, + 0xa9, 0xe9, 0xce, 0xa9, 0xaa, 0xb5, 0x67, 0x3a, 0x34, 0x71, 0x33, 0xb6, 0xb8, 0x5e, 0xc6, 0xbd, + 0xea, 0x59, 0x56, 0xdd, 0x65, 0xe4, 0x6c, 0x41, 0x72, 0x8d, 0xd0, 0x11, 0x8d, 0x38, 0x86, 0xa3, + 0x36, 0xb8, 0xa6, 0x58, 0x81, 0x40, 0xd9, 0x43, 0xae, 0x18, 0x83, 0x6a, 0xe2, 0x0d, 0x57, 0x03, + 0xab, 0x5b, 0xec, 0x3e, 0x7c, 0x9c, 0x0e, 0xa8, 0x14, 0x01, 0xd0, 0xab, 0xef, 0x93, 0x90, 0x54, + 0x5b, 0xec, 0x2a, 0x47, 0x9c, 0x8c, 0x34, 0x5a, 0x90, 0x2f, 0xc2, 0x10, 0x3f, 0x50, 0x46, 0x59, + 0x88, 0xef, 0xe0, 0x3d, 0xda, 0x4e, 0x46, 0x21, 0x3f, 0xd1, 0x2c, 0x24, 0xa9, 0xf0, 0x7c, 0x02, + 0xc9, 0xcd, 0xb6, 0x49, 0x3f, 0x4b, 0x85, 0x54, 0x18, 0x9a, 0xfc, 0x24, 0xa4, 0x4a, 0x46, 0x53, + 0xd3, 0x8d, 0x20, 0xb7, 0x34, 0xe3, 0x46, 0x65, 0x36, 0x5b, 0x3c, 0xdf, 0x50, 0x58, 0x01, 0x1d, + 0x86, 0x41, 0xf6, 0x3e, 0x82, 0x5f, 0x47, 0xe1, 0x25, 0x79, 0x1e, 0x86, 0x28, 0xef, 0x55, 0x13, + 0x21, 0xfe, 0xb2, 0x8e, 0x3f, 0xc4, 0xa0, 0xa9, 0x29, 0x67, 0x1f, 0xf3, 0x84, 0x45, 0x90, 0xa8, + 0xa9, 0x8e, 0xca, 0xfb, 0x4d, 0x7f, 0xcb, 0x6f, 0x81, 0x14, 0x67, 0x62, 0xa3, 0xd3, 0x10, 0x37, + 0x4c, 0x9b, 0x5f, 0x28, 0xc9, 0x77, 0xeb, 0xca, 0xaa, 0x59, 0x4c, 0x90, 0x4c, 0x45, 0x21, 0xc8, + 0x45, 0xa5, 0x6b, 0x50, 0x7d, 0xcc, 0x17, 0x54, 0x7d, 0x26, 0xf7, 0xfd, 0x64, 0x26, 0x6d, 0x73, + 0x07, 0xd7, 0x59, 0x3e, 0x1d, 0x83, 0x29, 0x5f, 0xed, 0x15, 0x6c, 0xd9, 0x9a, 0xa1, 0xf3, 0xf9, + 0x9c, 0x79, 0x0b, 0xf2, 0x09, 0xc9, 0xeb, 0xbb, 0xb8, 0xcb, 0x9b, 0x21, 0x3e, 0x67, 0x9a, 0x28, + 0x0f, 0x29, 0x5a, 0xae, 0x1a, 0xcc, 0x5f, 0x12, 0x8a, 0x5b, 0x26, 0x75, 0xb6, 0xb1, 0xe5, 0x5c, + 0x55, 0x2d, 0xf7, 0x09, 0xa1, 0x28, 0xcb, 0x8f, 0x43, 0x7a, 0xde, 0xd0, 0x6d, 0xac, 0xdb, 0x2d, + 0x3a, 0x06, 0x37, 0x1b, 0x46, 0x75, 0x87, 0x73, 0x60, 0x05, 0xa2, 0x70, 0xd5, 0x34, 0x29, 0x65, + 0x42, 0x21, 0x3f, 0x59, 0x6e, 0x58, 0x5c, 0xef, 0xaa, 0xa2, 0xc7, 0xf7, 0xaf, 0x22, 0xde, 0x49, + 0x57, 0x47, 0xff, 0x4b, 0x82, 0x63, 0xed, 0x03, 0x6a, 0x07, 0xef, 0xd9, 0xfb, 0x1d, 0x4f, 0xcf, + 0x40, 0x7a, 0x8d, 0xbe, 0xe3, 0xbf, 0x88, 0xf7, 0x50, 0x1e, 0x86, 0x70, 0xed, 0xf4, 0x99, 0x33, + 0x0f, 0x3d, 0xce, 0xbc, 0xfd, 0xc2, 0x80, 0x22, 0x00, 0x68, 0x0a, 0xd2, 0x36, 0xae, 0x9a, 0xa7, + 0xcf, 0x9c, 0xdd, 0x79, 0x88, 0xb9, 0x17, 0xc9, 0x80, 0x5c, 0x50, 0x21, 0x45, 0x7a, 0xfd, 0xda, + 0xa7, 0xa7, 0xa5, 0x62, 0x12, 0xe2, 0x76, 0xab, 0x79, 0x4b, 0x7d, 0xe4, 0xe5, 0x24, 0xcc, 0xf8, + 0x29, 0x69, 0xa4, 0x72, 0xb3, 0x12, 0xae, 0x83, 0xac, 0x4f, 0x07, 0x14, 0xa3, 0x4b, 0x32, 0xdb, + 0x53, 0x93, 0xf2, 0x6f, 0x4b, 0x90, 0x71, 0x53, 0xa5, 0x75, 0xec, 0xa0, 0x73, 0xfe, 0xfc, 0x87, + 0x0f, 0x9b, 0xa3, 0xb3, 0xe1, 0xb6, 0xbc, 0x94, 0x4e, 0xf1, 0xa1, 0xa3, 0x47, 0xa9, 0x23, 0x9a, + 0x86, 0xcd, 0x9f, 0x95, 0x45, 0x90, 0xba, 0xc8, 0xe8, 0x7e, 0x40, 0x34, 0xc2, 0x55, 0xae, 0x18, + 0x8e, 0xa6, 0xd7, 0x2b, 0xa6, 0x71, 0x95, 0x3f, 0xd6, 0x8d, 0x2b, 0x59, 0x5a, 0x73, 0x99, 0x56, + 0xac, 0x11, 0x38, 0x11, 0x3a, 0xed, 0x72, 0x09, 0xa6, 0x77, 0x24, 0x08, 0x88, 0x22, 0x3a, 0x07, + 0x43, 0x66, 0x6b, 0xb3, 0x22, 0x22, 0xc6, 0xf0, 0xe9, 0x63, 0x9d, 0xc6, 0xbf, 0xf0, 0x0f, 0x1e, + 0x01, 0x06, 0xcd, 0xd6, 0x26, 0xf1, 0x96, 0xdb, 0x21, 0xd3, 0x41, 0x98, 0xe1, 0x2b, 0x9e, 0x1c, + 0xf4, 0xf3, 0x11, 0xbc, 0x07, 0x15, 0xd3, 0xd2, 0x0c, 0x4b, 0x73, 0xf6, 0x68, 0xfe, 0x1a, 0x57, + 0xb2, 0xa2, 0x62, 0x8d, 0xc3, 0xe5, 0x1d, 0x18, 0x5b, 0xa7, 0xeb, 0x5b, 0x4f, 0xf2, 0x33, 0x9e, + 0x7c, 0x52, 0xb4, 0x7c, 0x5d, 0x25, 0x8b, 0xb5, 0x49, 0x56, 0x7c, 0xaa, 0xab, 0x77, 0x3e, 0xba, + 0x7f, 0xef, 0x0c, 0x66, 0x88, 0x7f, 0x76, 0x24, 0x30, 0x38, 0x99, 0x73, 0xfa, 0xc3, 0x57, 0xbf, + 0x8e, 0x19, 0x95, 0x4d, 0xe4, 0x7b, 0x4f, 0xaa, 0xf9, 0x88, 0x30, 0x9a, 0x8f, 0x1c, 0x42, 0xf2, + 0xe3, 0x30, 0xb2, 0xa6, 0x5a, 0xce, 0x3a, 0x76, 0x2e, 0x60, 0xb5, 0x86, 0xad, 0xe0, 0xac, 0x3b, + 0x22, 0x66, 0x5d, 0x04, 0x09, 0x3a, 0xb5, 0xb2, 0x59, 0x87, 0xfe, 0x96, 0xb7, 0x21, 0x41, 0x6f, + 0x86, 0xba, 0x33, 0x32, 0xa7, 0x60, 0x33, 0x32, 0x89, 0xa5, 0x7b, 0x0e, 0xb6, 0x45, 0x7a, 0x4b, + 0x0b, 0xe8, 0x11, 0x31, 0xaf, 0xc6, 0x7b, 0xcf, 0xab, 0xdc, 0x11, 0xf9, 0xec, 0xda, 0x80, 0xa1, + 0x22, 0x09, 0xc5, 0x8b, 0x25, 0x57, 0x10, 0xc9, 0x13, 0x04, 0x2d, 0xc3, 0x98, 0xa9, 0x5a, 0x0e, + 0x7d, 0x12, 0xb3, 0x4d, 0x7b, 0xc1, 0x7d, 0x7d, 0xba, 0x7d, 0xe4, 0x05, 0x3a, 0xcb, 0x5b, 0x19, + 0x31, 0xfd, 0x40, 0xf9, 0x4f, 0x13, 0x30, 0xc8, 0x95, 0xf1, 0x66, 0x18, 0xe2, 0x6a, 0xe5, 0xde, + 0x79, 0x7c, 0xb6, 0x7d, 0x62, 0x9a, 0x75, 0x27, 0x10, 0xce, 0x4f, 0xd0, 0xa0, 0xbb, 0x21, 0x55, + 0xdd, 0x56, 0x35, 0xbd, 0xa2, 0xd5, 0xc4, 0x56, 0xc3, 0xab, 0xd7, 0xa7, 0x87, 0xe6, 0x09, 0x6c, + 0xb1, 0xa4, 0x0c, 0xd1, 0xca, 0xc5, 0x1a, 0xc9, 0x04, 0xb6, 0xb1, 0x56, 0xdf, 0x76, 0xf8, 0x08, + 0xe3, 0x25, 0xf4, 0x18, 0x24, 0x88, 0x43, 0xf0, 0x07, 0x93, 0xf9, 0xb6, 0x0d, 0x1f, 0x37, 0xd9, + 0x2b, 0xa6, 0x48, 0xc3, 0x1f, 0xfe, 0xce, 0xb4, 0xa4, 0x50, 0x0a, 0x34, 0x0f, 0x23, 0x0d, 0xd5, + 0x76, 0x2a, 0x74, 0x06, 0x23, 0xcd, 0x27, 0xf9, 0x7a, 0xbb, 0x4d, 0x21, 0x5c, 0xb1, 0x5c, 0xf4, + 0x61, 0x42, 0xc5, 0x40, 0x35, 0x74, 0x02, 0xb2, 0x94, 0x49, 0xd5, 0x68, 0x36, 0x35, 0x87, 0xe5, + 0x56, 0x83, 0x54, 0xef, 0xa3, 0x04, 0x3e, 0x4f, 0xc1, 0x34, 0xc3, 0x3a, 0x0a, 0x69, 0xfa, 0x44, + 0x8b, 0xa2, 0xb0, 0xeb, 0xc8, 0x29, 0x02, 0xa0, 0x95, 0xf7, 0xc0, 0x98, 0x17, 0x1f, 0x19, 0x4a, + 0x8a, 0x71, 0xf1, 0xc0, 0x14, 0xf1, 0x41, 0x98, 0xd4, 0xf1, 0x2e, 0xbd, 0x20, 0x1d, 0xc0, 0x4e, + 0x53, 0x6c, 0x44, 0xea, 0x2e, 0x07, 0x29, 0xee, 0x82, 0xd1, 0xaa, 0x50, 0x3e, 0xc3, 0x05, 0x8a, + 0x3b, 0xe2, 0x42, 0x29, 0xda, 0x11, 0x48, 0xa9, 0xa6, 0xc9, 0x10, 0x86, 0x79, 0x7c, 0x34, 0x4d, + 0x5a, 0x75, 0x12, 0xc6, 0x69, 0x1f, 0x2d, 0x6c, 0xb7, 0x1a, 0x0e, 0x67, 0x92, 0xa1, 0x38, 0x63, + 0xa4, 0x42, 0x61, 0x70, 0x8a, 0x7b, 0x07, 0x8c, 0xe0, 0x2b, 0x5a, 0x0d, 0xeb, 0x55, 0xcc, 0xf0, + 0x46, 0x28, 0x5e, 0x46, 0x00, 0x29, 0xd2, 0xbd, 0xe0, 0xc6, 0xbd, 0x8a, 0x88, 0xc9, 0xa3, 0x8c, + 0x9f, 0x80, 0xcf, 0x31, 0xb0, 0x9c, 0x83, 0x44, 0x49, 0x75, 0x54, 0x92, 0x60, 0x38, 0xbb, 0x6c, + 0xa2, 0xc9, 0x28, 0xe4, 0xa7, 0xfc, 0x5a, 0x0c, 0x12, 0x97, 0x0d, 0x07, 0xa3, 0x87, 0x7d, 0x09, + 0xe0, 0x68, 0x27, 0x7f, 0x5e, 0xd7, 0xea, 0x3a, 0xae, 0x2d, 0xdb, 0x75, 0xdf, 0xf7, 0x14, 0x3c, + 0x77, 0x8a, 0x05, 0xdc, 0x69, 0x12, 0x92, 0x96, 0xd1, 0xd2, 0x6b, 0xe2, 0x26, 0x2f, 0x2d, 0xa0, + 0x32, 0xa4, 0x5c, 0x2f, 0x49, 0x44, 0x79, 0xc9, 0x18, 0xf1, 0x12, 0xe2, 0xc3, 0x1c, 0xa0, 0x0c, + 0x6d, 0x72, 0x67, 0x29, 0x42, 0xda, 0x0d, 0x5e, 0xdc, 0xdb, 0xfa, 0x73, 0x58, 0x8f, 0x8c, 0x4c, + 0x26, 0xae, 0xed, 0x5d, 0xe5, 0x31, 0x8f, 0xcb, 0xba, 0x15, 0x5c, 0x7b, 0x01, 0xb7, 0xe2, 0xdf, + 0x76, 0x18, 0xa2, 0xfd, 0xf2, 0xdc, 0x8a, 0x7d, 0xdf, 0xe1, 0x18, 0xa4, 0x6d, 0xad, 0xae, 0xab, + 0x4e, 0xcb, 0xc2, 0xdc, 0xf3, 0x3c, 0x80, 0xfc, 0x15, 0x09, 0x06, 0x99, 0x27, 0xfb, 0xf4, 0x26, + 0x75, 0xd6, 0x5b, 0xac, 0x9b, 0xde, 0xe2, 0x07, 0xd7, 0xdb, 0x1c, 0x80, 0x2b, 0x8c, 0xcd, 0x9f, + 0xdc, 0x77, 0xc8, 0x18, 0x98, 0x88, 0xeb, 0x5a, 0x9d, 0x0f, 0x54, 0x1f, 0x91, 0xfc, 0xef, 0x24, + 0x92, 0xc4, 0xf2, 0x7a, 0x34, 0x07, 0x23, 0x42, 0xae, 0xca, 0x56, 0x43, 0xad, 0x73, 0xdf, 0x39, + 0xde, 0x55, 0xb8, 0xf3, 0x0d, 0xb5, 0xae, 0x0c, 0x73, 0x79, 0x48, 0xa1, 0xb3, 0x1d, 0x62, 0x5d, + 0xec, 0x10, 0x30, 0x7c, 0xfc, 0x60, 0x86, 0x0f, 0x98, 0x28, 0x11, 0x36, 0xd1, 0x17, 0x63, 0x74, + 0x31, 0x63, 0x1a, 0xb6, 0xda, 0x78, 0x23, 0x46, 0xc4, 0x51, 0x48, 0x9b, 0x46, 0xa3, 0xc2, 0x6a, + 0xd8, 0x0d, 0xf7, 0x94, 0x69, 0x34, 0x94, 0x36, 0xb3, 0x27, 0x6f, 0xd2, 0x70, 0x19, 0xbc, 0x09, + 0x5a, 0x1b, 0x0a, 0x6b, 0xcd, 0x82, 0x0c, 0x53, 0x05, 0x9f, 0xcb, 0x1e, 0x24, 0x3a, 0xa0, 0x93, + 0xa3, 0xd4, 0x3e, 0xf7, 0x32, 0xb1, 0x19, 0xa6, 0xc2, 0xf1, 0x08, 0x05, 0x0b, 0xfd, 0x9d, 0x56, + 0xc1, 0x7e, 0xb7, 0x54, 0x38, 0x9e, 0xfc, 0xd7, 0x25, 0x80, 0x25, 0xa2, 0x59, 0xda, 0x5f, 0x32, + 0x0b, 0xd9, 0x54, 0x84, 0x4a, 0xa0, 0xe5, 0xa9, 0x6e, 0x46, 0xe3, 0xed, 0x67, 0x6c, 0xbf, 0xdc, + 0xf3, 0x30, 0xe2, 0x39, 0xa3, 0x8d, 0x85, 0x30, 0x53, 0x3d, 0xb2, 0xea, 0x75, 0xec, 0x28, 0x99, + 0x2b, 0xbe, 0x92, 0xfc, 0x4f, 0x24, 0x48, 0x53, 0x99, 0x96, 0xb1, 0xa3, 0x06, 0x6c, 0x28, 0x1d, + 0xdc, 0x86, 0xc7, 0x01, 0x18, 0x1b, 0x5b, 0x7b, 0x01, 0x73, 0xcf, 0x4a, 0x53, 0xc8, 0xba, 0xf6, + 0x02, 0x46, 0x67, 0x5d, 0x85, 0xc7, 0x7b, 0x2b, 0x5c, 0x64, 0xdd, 0x5c, 0xed, 0xb7, 0xc1, 0x10, + 0xfd, 0x44, 0xd5, 0xae, 0xcd, 0x13, 0xe9, 0x41, 0xbd, 0xd5, 0xdc, 0xd8, 0xb5, 0xe5, 0xe7, 0x60, + 0x68, 0x63, 0x97, 0xed, 0x8d, 0x1c, 0x85, 0xb4, 0x65, 0x18, 0x7c, 0x4e, 0x66, 0xb9, 0x50, 0x8a, + 0x00, 0xe8, 0x14, 0x24, 0xf6, 0x03, 0x62, 0xde, 0x7e, 0x80, 0xb7, 0xa1, 0x11, 0xef, 0x6b, 0x43, + 0xe3, 0xe4, 0xbf, 0x91, 0x60, 0xd8, 0x17, 0x1f, 0xd0, 0x43, 0x70, 0xa8, 0xb8, 0xb4, 0x3a, 0x7f, + 0xb1, 0xb2, 0x58, 0xaa, 0x9c, 0x5f, 0x9a, 0x5b, 0xf0, 0xde, 0x70, 0xe5, 0x0f, 0xbf, 0x74, 0x6d, + 0x06, 0xf9, 0x70, 0x2f, 0xe9, 0x74, 0x47, 0x09, 0x9d, 0x82, 0xc9, 0x20, 0xc9, 0x5c, 0x71, 0xbd, + 0xbc, 0xb2, 0x91, 0x95, 0xf2, 0x87, 0x5e, 0xba, 0x36, 0x33, 0xee, 0xa3, 0x98, 0xdb, 0xb4, 0xb1, + 0xee, 0xb4, 0x13, 0xcc, 0xaf, 0x2e, 0x2f, 0x2f, 0x6e, 0x64, 0x63, 0x6d, 0x04, 0x3c, 0x60, 0xdf, + 0x0b, 0xe3, 0x41, 0x82, 0x95, 0xc5, 0xa5, 0x6c, 0x3c, 0x8f, 0x5e, 0xba, 0x36, 0x33, 0xea, 0xc3, + 0x5e, 0xd1, 0x1a, 0xf9, 0xd4, 0x07, 0x3f, 0x33, 0x35, 0xf0, 0xeb, 0xbf, 0x36, 0x25, 0x91, 0x9e, + 0x8d, 0x04, 0x62, 0x04, 0xba, 0x1f, 0x6e, 0x5b, 0x5f, 0x5c, 0x58, 0x29, 0x97, 0x2a, 0xcb, 0xeb, + 0x0b, 0x62, 0x0f, 0x5a, 0xf4, 0x6e, 0xec, 0xa5, 0x6b, 0x33, 0xc3, 0xbc, 0x4b, 0xdd, 0xb0, 0xd7, + 0x94, 0xf2, 0xe5, 0xd5, 0x8d, 0x72, 0x56, 0x62, 0xd8, 0x6b, 0x16, 0xbe, 0x62, 0x38, 0xec, 0x1b, + 0x76, 0x0f, 0xc2, 0x91, 0x0e, 0xd8, 0x6e, 0xc7, 0xc6, 0x5f, 0xba, 0x36, 0x33, 0xb2, 0x66, 0x61, + 0x36, 0x7e, 0x28, 0xc5, 0x2c, 0xe4, 0xda, 0x29, 0x56, 0xd7, 0x56, 0xd7, 0xe7, 0x96, 0xb2, 0x33, + 0xf9, 0xec, 0x4b, 0xd7, 0x66, 0x32, 0x22, 0x18, 0xd2, 0x8d, 0x7e, 0xb7, 0x67, 0xb7, 0x72, 0xc5, + 0xf3, 0x3b, 0xb3, 0x70, 0x67, 0x97, 0x33, 0x26, 0x71, 0x3a, 0x71, 0xa0, 0x53, 0xa6, 0xae, 0xfb, + 0xec, 0xf9, 0x88, 0xed, 0xe7, 0xe8, 0xa5, 0xd3, 0xc1, 0x4f, 0xb0, 0xf2, 0x3d, 0x17, 0x77, 0xf2, + 0x87, 0x24, 0x18, 0xbd, 0xa0, 0xd9, 0x8e, 0x61, 0x69, 0x55, 0xb5, 0x41, 0x5f, 0x6e, 0x9d, 0xed, + 0x37, 0xb6, 0x86, 0x86, 0xfa, 0x13, 0x30, 0x78, 0x45, 0x6d, 0xb0, 0xa0, 0x16, 0xa7, 0x1f, 0x9a, + 0xe9, 0x72, 0xe4, 0xe3, 0x86, 0x36, 0xc1, 0x80, 0x91, 0xc9, 0xbf, 0x15, 0x83, 0x31, 0x3a, 0x18, + 0x6c, 0xf6, 0x09, 0x32, 0xb2, 0xc6, 0x2a, 0x42, 0xc2, 0x52, 0x1d, 0xbe, 0x69, 0x58, 0x9c, 0xe5, + 0xa7, 0x8f, 0x77, 0xf7, 0x71, 0x96, 0x56, 0xc2, 0x55, 0x85, 0xd2, 0xa2, 0x77, 0x40, 0xaa, 0xa9, + 0xee, 0x56, 0x28, 0x1f, 0xb6, 0x72, 0x99, 0xdb, 0x1f, 0x9f, 0x1b, 0xd7, 0xa7, 0xc7, 0xf6, 0xd4, + 0x66, 0xa3, 0x20, 0x0b, 0x3e, 0xb2, 0x32, 0xd4, 0x54, 0x77, 0x89, 0x88, 0xc8, 0x84, 0x31, 0x02, + 0xad, 0x6e, 0xab, 0x7a, 0x1d, 0xb3, 0x46, 0xe8, 0x16, 0x68, 0xf1, 0xc2, 0xbe, 0x1b, 0x39, 0xec, + 0x35, 0xe2, 0x63, 0x27, 0x2b, 0x23, 0x4d, 0x75, 0x77, 0x9e, 0x02, 0x48, 0x8b, 0x85, 0xd4, 0xc7, + 0x5e, 0x99, 0x1e, 0xa0, 0x27, 0xba, 0xdf, 0x92, 0x00, 0x3c, 0x8d, 0xa1, 0x77, 0x40, 0xb6, 0xea, + 0x96, 0x28, 0xad, 0x38, 0x9b, 0xbc, 0xa7, 0x9b, 0x2d, 0x42, 0xfa, 0x66, 0x73, 0xf3, 0x37, 0xaf, + 0x4f, 0x4b, 0xca, 0x58, 0x35, 0x64, 0x8a, 0xb7, 0xc3, 0x70, 0xcb, 0xac, 0xa9, 0x0e, 0xae, 0xd0, + 0x75, 0x5c, 0x2c, 0x72, 0x9e, 0x9f, 0x22, 0xbc, 0x6e, 0x5c, 0x9f, 0x46, 0xac, 0x5b, 0x3e, 0x62, + 0x99, 0xce, 0xfe, 0xc0, 0x20, 0x84, 0xc0, 0xd7, 0xa7, 0xaf, 0x4b, 0x30, 0x5c, 0xf2, 0xdd, 0xa9, + 0xcc, 0xc1, 0x50, 0xd3, 0xd0, 0xb5, 0x1d, 0xee, 0x8f, 0x69, 0x45, 0x14, 0x51, 0x1e, 0x52, 0xec, + 0x31, 0xab, 0xb3, 0x27, 0xb6, 0x42, 0x45, 0x99, 0x50, 0x5d, 0xc5, 0x9b, 0xb6, 0x26, 0xac, 0xa1, + 0x88, 0x22, 0x3a, 0x0f, 0x59, 0x1b, 0x57, 0x5b, 0x96, 0xe6, 0xec, 0x55, 0xaa, 0x86, 0xee, 0xa8, + 0x55, 0x87, 0x3d, 0x8b, 0x2c, 0x1e, 0xbd, 0x71, 0x7d, 0xfa, 0x36, 0x26, 0x6b, 0x18, 0x43, 0x56, + 0xc6, 0x04, 0x68, 0x9e, 0x41, 0x48, 0x0b, 0x35, 0xec, 0xa8, 0x5a, 0xc3, 0xce, 0xb1, 0xcb, 0x09, + 0xa2, 0xe8, 0xeb, 0xcb, 0x8f, 0x86, 0xfc, 0x1b, 0x5b, 0xe7, 0x21, 0x6b, 0x98, 0xd8, 0x0a, 0x24, + 0xa2, 0x52, 0xb8, 0xe5, 0x30, 0x86, 0xac, 0x8c, 0x09, 0x90, 0x48, 0x52, 0x1d, 0x62, 0x66, 0xb1, + 0x50, 0x34, 0x5b, 0x9b, 0xde, 0x7e, 0xd8, 0x64, 0x9b, 0x35, 0xe6, 0xf4, 0xbd, 0xe2, 0xc3, 0x1e, + 0xf7, 0x30, 0x9d, 0xfc, 0x8d, 0x2f, 0x3d, 0x30, 0xc9, 0x5d, 0xc3, 0xdb, 0x9f, 0xba, 0x88, 0xf7, + 0x88, 0xf9, 0x39, 0xea, 0x1a, 0xc5, 0x24, 0x69, 0xe7, 0x73, 0xaa, 0xd6, 0x10, 0xcf, 0xfb, 0x15, + 0x5e, 0x42, 0x05, 0x18, 0xb4, 0x1d, 0xd5, 0x69, 0xd9, 0xfc, 0xa4, 0x57, 0xee, 0xe6, 0x6a, 0x45, + 0x43, 0xaf, 0xad, 0x53, 0x4c, 0x85, 0x53, 0xa0, 0xf3, 0x30, 0xc8, 0x8f, 0xd0, 0x93, 0xfb, 0x1e, + 0xdf, 0xf4, 0xae, 0x04, 0xa3, 0x26, 0x1a, 0xa9, 0xe1, 0x06, 0xae, 0xb3, 0xb4, 0x6a, 0x5b, 0x25, + 0xab, 0x0f, 0xfa, 0xed, 0xbd, 0xe2, 0xe2, 0xbe, 0x07, 0x21, 0xd7, 0x54, 0x98, 0x9f, 0xac, 0x8c, + 0xb9, 0xa0, 0x75, 0x0a, 0x41, 0x17, 0x03, 0x97, 0x7f, 0xf9, 0x07, 0x2a, 0xef, 0xe8, 0xd6, 0x7d, + 0x9f, 0x4f, 0x8b, 0xfd, 0x09, 0xff, 0xd5, 0xe1, 0xf3, 0x90, 0x6d, 0xe9, 0x9b, 0x86, 0x4e, 0xdf, + 0xe0, 0xf2, 0xfc, 0x9e, 0xac, 0xef, 0xe2, 0x7e, 0xe7, 0x08, 0x63, 0xc8, 0xca, 0x98, 0x0b, 0xba, + 0xc0, 0x56, 0x01, 0x35, 0x18, 0xf5, 0xb0, 0xe8, 0x40, 0x4d, 0x47, 0x0e, 0xd4, 0xdb, 0xf9, 0x40, + 0x3d, 0x14, 0x6e, 0xc5, 0x1b, 0xab, 0x23, 0x2e, 0x90, 0x90, 0xa1, 0x0b, 0x00, 0x5e, 0x78, 0xa0, + 0xfb, 0x14, 0xc3, 0xdd, 0x0d, 0xef, 0xc5, 0x18, 0xb1, 0xde, 0xf3, 0x68, 0xd1, 0xbb, 0x60, 0xa2, + 0xa9, 0xe9, 0x15, 0x1b, 0x37, 0xb6, 0x2a, 0x5c, 0xc1, 0x84, 0x25, 0xfd, 0x84, 0x52, 0x71, 0x69, + 0x7f, 0xfe, 0x70, 0xe3, 0xfa, 0x74, 0x9e, 0x87, 0xd0, 0x76, 0x96, 0xb2, 0x32, 0xde, 0xd4, 0xf4, + 0x75, 0xdc, 0xd8, 0x2a, 0xb9, 0x30, 0x24, 0x43, 0xc6, 0xb0, 0xaa, 0xdb, 0x98, 0xbe, 0x84, 0x30, + 0x2c, 0xfe, 0x35, 0xd9, 0x00, 0x0c, 0x4d, 0xc3, 0x30, 0x76, 0xb6, 0xdd, 0x11, 0x3b, 0xc2, 0x6e, + 0x14, 0x62, 0x67, 0x9b, 0x8f, 0xc7, 0x42, 0xe6, 0x83, 0xaf, 0x4c, 0x0f, 0xf0, 0x31, 0x3f, 0x20, + 0x9f, 0xa5, 0x1b, 0xf0, 0xbc, 0x0e, 0xdb, 0x64, 0x61, 0xa3, 0x8a, 0x02, 0xbf, 0xaf, 0xe0, 0x01, + 0x58, 0xac, 0x78, 0xf1, 0x8f, 0x67, 0x24, 0xf9, 0x37, 0x25, 0x18, 0x2c, 0x5d, 0x5e, 0x53, 0x35, + 0x0b, 0x2d, 0xc2, 0xb8, 0xe7, 0x7e, 0xc1, 0x48, 0x71, 0xec, 0xc6, 0xf5, 0xe9, 0x5c, 0xd8, 0x43, + 0xdd, 0x50, 0xe1, 0x8d, 0x02, 0x11, 0x2b, 0x16, 0xbb, 0xad, 0x7e, 0x03, 0xac, 0xda, 0x50, 0xe4, + 0xf6, 0xb5, 0x71, 0xa8, 0x9b, 0x65, 0x18, 0x62, 0xd2, 0xda, 0xa8, 0x00, 0x49, 0x93, 0xfc, 0xe0, + 0xa7, 0x0b, 0x53, 0x5d, 0x47, 0x00, 0xc5, 0x77, 0x77, 0x43, 0x09, 0x89, 0xfc, 0x91, 0x18, 0x40, + 0xe9, 0xf2, 0xe5, 0x0d, 0x4b, 0x33, 0x1b, 0xd8, 0xb9, 0x99, 0x3d, 0xdf, 0x80, 0x43, 0xbe, 0xa5, + 0x96, 0x55, 0x0d, 0xf5, 0x7e, 0xe6, 0xc6, 0xf5, 0xe9, 0x63, 0xe1, 0xde, 0xfb, 0xd0, 0x64, 0x65, + 0xc2, 0x5b, 0x74, 0x59, 0xd5, 0x8e, 0x5c, 0x6b, 0xb6, 0xe3, 0x72, 0x8d, 0x77, 0xe7, 0xea, 0x43, + 0xf3, 0x73, 0x2d, 0xd9, 0x4e, 0x67, 0xd5, 0xae, 0xc3, 0xb0, 0xa7, 0x12, 0x1b, 0x95, 0x20, 0xe5, + 0xf0, 0xdf, 0x5c, 0xc3, 0x72, 0x77, 0x0d, 0x0b, 0x32, 0xae, 0x65, 0x97, 0x52, 0xfe, 0x73, 0x09, + 0xc0, 0xe7, 0xf8, 0x3f, 0x93, 0x2e, 0x46, 0xe6, 0x03, 0x1e, 0xbd, 0xe3, 0x07, 0xca, 0xf7, 0x38, + 0x75, 0x48, 0x9f, 0x3f, 0x1f, 0x83, 0x89, 0x4b, 0x22, 0x7c, 0xfd, 0xcc, 0xeb, 0x60, 0x0d, 0x86, + 0xb0, 0xee, 0x58, 0x1a, 0x55, 0x02, 0xb1, 0xf6, 0x83, 0xdd, 0xac, 0xdd, 0xa1, 0x4f, 0xf4, 0x4b, + 0x54, 0x62, 0xe7, 0x9e, 0xb3, 0x09, 0x69, 0xe3, 0x17, 0xe3, 0x90, 0xeb, 0x46, 0x89, 0xe6, 0x61, + 0xac, 0x6a, 0x61, 0x76, 0x7b, 0xcb, 0xbf, 0x7d, 0x58, 0xcc, 0x7b, 0xe9, 0x69, 0x08, 0x41, 0x56, + 0x46, 0x05, 0x84, 0x4f, 0x41, 0x75, 0x20, 0xb9, 0x23, 0x71, 0x3b, 0x7a, 0x09, 0xac, 0xbf, 0x64, + 0x51, 0xe6, 0x73, 0x90, 0x68, 0x24, 0xc8, 0x80, 0x4d, 0x42, 0xa3, 0x1e, 0x94, 0xce, 0x42, 0xcf, + 0xc3, 0x98, 0xa6, 0x6b, 0x8e, 0xa6, 0x36, 0x2a, 0x9b, 0x6a, 0x43, 0xd5, 0xab, 0x07, 0x49, 0xbd, + 0xd9, 0xbc, 0xc1, 0x9b, 0x0d, 0xb1, 0x93, 0x95, 0x51, 0x0e, 0x29, 0x32, 0x00, 0xba, 0x00, 0x43, + 0xa2, 0xa9, 0xc4, 0x81, 0x52, 0x16, 0x41, 0xee, 0xcb, 0x12, 0x7f, 0x21, 0x0e, 0xe3, 0x0a, 0xae, + 0xfd, 0x3f, 0x53, 0xec, 0xcf, 0x14, 0xcb, 0x00, 0x6c, 0xb8, 0x93, 0x00, 0x7b, 0x00, 0x6b, 0x90, + 0x80, 0x91, 0x66, 0x1c, 0x4a, 0xb6, 0xe3, 0xb3, 0xc7, 0xf5, 0x18, 0x64, 0xfc, 0xf6, 0xf8, 0x4b, + 0x3a, 0x2b, 0xa1, 0x45, 0x2f, 0x12, 0x25, 0xf8, 0xf7, 0x7b, 0xbb, 0x44, 0xa2, 0x36, 0xef, 0xed, + 0x1d, 0x82, 0xfe, 0x7b, 0x0c, 0x06, 0xd7, 0x54, 0x4b, 0x6d, 0xda, 0xa8, 0xda, 0x96, 0xae, 0x8a, + 0x3d, 0xcc, 0xb6, 0xaf, 0xb4, 0xf3, 0x2d, 0x93, 0x88, 0x6c, 0xf5, 0x63, 0x1d, 0xb2, 0xd5, 0xb7, + 0xc2, 0x28, 0x59, 0x53, 0xfb, 0xee, 0x41, 0x10, 0x6d, 0x8f, 0x14, 0x8f, 0x78, 0x5c, 0x82, 0xf5, + 0x6c, 0xc9, 0x7d, 0xd9, 0x7f, 0x11, 0x62, 0x98, 0x60, 0x78, 0x81, 0x99, 0x90, 0x1f, 0xf6, 0xd6, + 0xb6, 0xbe, 0x4a, 0x59, 0x81, 0xa6, 0xba, 0x5b, 0x66, 0x05, 0xb4, 0x04, 0x68, 0xdb, 0xdd, 0x5e, + 0xa9, 0x78, 0xea, 0x24, 0xf4, 0xc7, 0x6f, 0x5c, 0x9f, 0x3e, 0xc2, 0xe8, 0xdb, 0x71, 0x64, 0x65, + 0xdc, 0x03, 0x0a, 0x6e, 0x8f, 0x00, 0x90, 0x7e, 0x55, 0xd8, 0x3d, 0x70, 0xb6, 0x66, 0x3a, 0x74, + 0xe3, 0xfa, 0xf4, 0x38, 0xe3, 0xe2, 0xd5, 0xc9, 0x4a, 0x9a, 0x14, 0x4a, 0xe4, 0xb7, 0xcf, 0xb3, + 0x3f, 0x23, 0x01, 0xf2, 0x42, 0xbe, 0x82, 0x6d, 0x93, 0x2c, 0xf2, 0x48, 0x36, 0xef, 0x4b, 0xbd, + 0xa5, 0xde, 0xd9, 0xbc, 0x47, 0x2f, 0xb2, 0x79, 0xdf, 0x48, 0x79, 0xdc, 0x0b, 0x8f, 0xb1, 0xa8, + 0x4b, 0xd1, 0xdc, 0x45, 0xc2, 0xf1, 0x70, 0x40, 0xfe, 0x67, 0x12, 0x1c, 0x69, 0xf3, 0x28, 0x57, + 0xd8, 0xff, 0x0f, 0x90, 0xe5, 0xab, 0xe4, 0x1f, 0x63, 0x64, 0x42, 0xef, 0xdb, 0x41, 0xc7, 0xad, + 0xb6, 0xb8, 0x7b, 0xf3, 0x22, 0x3c, 0xbb, 0x75, 0xff, 0x8f, 0x25, 0x98, 0xf4, 0x37, 0xef, 0x76, + 0x64, 0x05, 0x32, 0xfe, 0xd6, 0x79, 0x17, 0xee, 0xec, 0xa7, 0x0b, 0x5c, 0xfa, 0x00, 0x3d, 0x7a, + 0xca, 0x1b, 0xae, 0x6c, 0x03, 0xee, 0xa1, 0xbe, 0xb5, 0x21, 0x64, 0x0a, 0x0f, 0xdb, 0x04, 0xb5, + 0xc7, 0xff, 0x96, 0x20, 0xb1, 0x66, 0x18, 0x0d, 0x64, 0xc0, 0xb8, 0x6e, 0x38, 0x15, 0xe2, 0x59, + 0xb8, 0xe6, 0xbf, 0xfc, 0x9e, 0x2e, 0xce, 0xef, 0x4f, 0x49, 0xdf, 0xbf, 0x3e, 0xdd, 0xce, 0x4a, + 0x19, 0xd3, 0x0d, 0xa7, 0x48, 0x21, 0xfc, 0xfe, 0xfb, 0xbb, 0x60, 0x24, 0xd8, 0x18, 0x8b, 0x92, + 0x4f, 0xef, 0xbb, 0xb1, 0x20, 0x9b, 0x1b, 0xd7, 0xa7, 0x27, 0xbd, 0x11, 0xe3, 0x82, 0x65, 0x25, + 0xb3, 0xe9, 0x6b, 0x9d, 0xdd, 0x11, 0xfb, 0xe1, 0x2b, 0xd3, 0xd2, 0xc9, 0x2f, 0x4b, 0x00, 0xde, + 0xf6, 0x05, 0xba, 0x1f, 0x6e, 0x2b, 0xae, 0xae, 0x94, 0x2a, 0xeb, 0x1b, 0x73, 0x1b, 0x97, 0xd6, + 0x83, 0x17, 0xc5, 0xc5, 0x1e, 0xbb, 0x6d, 0xe2, 0xaa, 0xb6, 0xa5, 0xe1, 0x1a, 0xba, 0x1b, 0x26, + 0x83, 0xd8, 0xa4, 0x54, 0x2e, 0x65, 0xa5, 0x7c, 0xe6, 0xa5, 0x6b, 0x33, 0x29, 0x96, 0x8b, 0xe1, + 0x1a, 0x3a, 0x01, 0x87, 0xda, 0xf1, 0x16, 0x57, 0x16, 0xb2, 0xb1, 0xfc, 0xc8, 0x4b, 0xd7, 0x66, + 0xd2, 0x6e, 0xd2, 0x86, 0x64, 0x40, 0x7e, 0x4c, 0xce, 0x2f, 0x9e, 0x87, 0x97, 0xae, 0xcd, 0x0c, + 0x32, 0x05, 0xe6, 0x13, 0x1f, 0xfc, 0xcc, 0xd4, 0xc0, 0x4d, 0xbf, 0x4e, 0xfe, 0xa3, 0xa1, 0xae, + 0x5b, 0xe7, 0x75, 0xac, 0x63, 0x5b, 0xb3, 0x0f, 0xb4, 0x75, 0xde, 0xd7, 0x76, 0xbc, 0xfc, 0x87, + 0x49, 0xc8, 0x2c, 0xb0, 0x56, 0x88, 0x21, 0x30, 0x7a, 0x13, 0x0c, 0x9a, 0x74, 0x1a, 0x71, 0xcf, + 0xe2, 0xba, 0x38, 0x3c, 0x9b, 0x6c, 0xdc, 0x0b, 0x61, 0x6c, 0xea, 0xb1, 0xf9, 0x8d, 0x10, 0x76, + 0x51, 0xcd, 0xbb, 0x7a, 0x95, 0xd9, 0xd7, 0xa6, 0x11, 0xcb, 0x59, 0xf8, 0xfe, 0x4c, 0x98, 0x9f, + 0xcc, 0x2e, 0x97, 0x6c, 0x10, 0x08, 0xbb, 0x62, 0xf6, 0x7e, 0x09, 0x0e, 0x51, 0x2c, 0x6f, 0x22, + 0xa6, 0x98, 0x22, 0xd9, 0x3f, 0xd9, 0xad, 0x0b, 0x4b, 0xaa, 0xed, 0x5d, 0x18, 0x61, 0x97, 0xc2, + 0xee, 0xe4, 0x13, 0xe1, 0x31, 0x5f, 0xe3, 0x61, 0xb6, 0xb2, 0x32, 0xd1, 0x68, 0xa3, 0xb4, 0xd1, + 0x42, 0xe0, 0x56, 0x60, 0x62, 0x7f, 0xfb, 0xf5, 0xfe, 0x1b, 0x82, 0x4f, 0xc2, 0xb0, 0x17, 0x4b, + 0x6c, 0xfe, 0xcf, 0x63, 0xfa, 0x9f, 0x3b, 0xfc, 0xc4, 0xe8, 0x03, 0x12, 0x1c, 0xf2, 0x66, 0x73, + 0x3f, 0x5b, 0xf6, 0x4f, 0x76, 0xee, 0xdb, 0xc7, 0x42, 0x28, 0xac, 0x9c, 0x8e, 0x7c, 0x65, 0x65, + 0xb2, 0xd5, 0x4e, 0x4a, 0x96, 0x60, 0x23, 0xfe, 0xc8, 0x6a, 0xe7, 0xc4, 0x77, 0x24, 0xfb, 0x0f, + 0xcd, 0x41, 0x06, 0xec, 0x1f, 0x7f, 0x98, 0x86, 0xe5, 0xe0, 0x1a, 0xdd, 0xd5, 0x4b, 0x29, 0x6e, + 0x59, 0x5e, 0x01, 0xd4, 0x6e, 0xdc, 0xf0, 0x2d, 0x48, 0xef, 0x91, 0x0b, 0x9a, 0x84, 0xa4, 0xff, + 0x9e, 0x20, 0x2b, 0x14, 0x52, 0x1f, 0xe4, 0xd3, 0xe7, 0x4d, 0x1f, 0xf3, 0xdf, 0x89, 0xc1, 0x49, + 0xff, 0x19, 0xd3, 0xf3, 0x2d, 0x6c, 0xed, 0xb9, 0x43, 0xd4, 0x54, 0xeb, 0x9a, 0xee, 0x7f, 0x4a, + 0x71, 0xc4, 0x3f, 0xe1, 0x53, 0x5c, 0xa1, 0x27, 0xf9, 0x83, 0x12, 0x0c, 0xaf, 0xa9, 0x75, 0xac, + 0xe0, 0xe7, 0x5b, 0xd8, 0x76, 0x3a, 0x5c, 0x55, 0x3f, 0x0c, 0x83, 0xc6, 0xd6, 0x96, 0x38, 0x18, + 0x4f, 0x28, 0xbc, 0x44, 0xfa, 0xdc, 0xd0, 0x9a, 0x1a, 0xbb, 0x53, 0x96, 0x50, 0x58, 0x01, 0x4d, + 0xc3, 0x70, 0xd5, 0x68, 0xe9, 0x7c, 0xc8, 0xe5, 0x12, 0xe2, 0x83, 0x2d, 0x2d, 0x9d, 0x0d, 0x39, + 0xa2, 0x44, 0x0b, 0x5f, 0xc1, 0x96, 0xcd, 0x3e, 0x51, 0x99, 0x52, 0x44, 0x51, 0x7e, 0x02, 0x32, + 0x4c, 0x12, 0x3e, 0x19, 0x1f, 0x81, 0x14, 0xbd, 0xae, 0xe5, 0xc9, 0x33, 0x44, 0xca, 0x17, 0xd9, + 0x85, 0x77, 0xc6, 0x9f, 0x89, 0xc4, 0x0a, 0xc5, 0x62, 0x57, 0x2d, 0x9f, 0x88, 0x8e, 0x1a, 0x4c, + 0x87, 0xae, 0x86, 0x7f, 0x2f, 0x09, 0x87, 0xf8, 0x09, 0xa0, 0x6a, 0x6a, 0xa7, 0xb6, 0x1d, 0x47, + 0x3c, 0xc0, 0x00, 0x9e, 0x05, 0xab, 0xa6, 0x26, 0xef, 0x41, 0xe2, 0x82, 0xe3, 0x98, 0xe8, 0x24, + 0x24, 0xad, 0x56, 0x03, 0x8b, 0xcd, 0x20, 0x77, 0xcf, 0x5f, 0x35, 0xb5, 0x59, 0x82, 0xa0, 0xb4, + 0x1a, 0x58, 0x61, 0x28, 0xa8, 0x0c, 0xd3, 0x5b, 0xad, 0x46, 0x63, 0xaf, 0x52, 0xc3, 0xf4, 0x7f, + 0x6e, 0xb9, 0xff, 0xb5, 0x02, 0xef, 0x9a, 0xaa, 0xf8, 0xf6, 0x25, 0x51, 0xcc, 0x31, 0x8a, 0x56, + 0xa2, 0x58, 0xe2, 0x3f, 0x56, 0x94, 0x05, 0x8e, 0xfc, 0x47, 0x31, 0x48, 0x09, 0xd6, 0xf4, 0x06, + 0x3a, 0x6e, 0xe0, 0xaa, 0x63, 0x88, 0x13, 0x19, 0xb7, 0x8c, 0x10, 0xc4, 0xeb, 0xdc, 0x78, 0xe9, + 0x0b, 0x03, 0x0a, 0x29, 0x10, 0x98, 0xfb, 0x2e, 0x80, 0xc0, 0xcc, 0x16, 0xb1, 0x67, 0xc2, 0x34, + 0xc4, 0xaa, 0xed, 0xc2, 0x80, 0x42, 0x4b, 0x28, 0x07, 0x83, 0x64, 0xd0, 0x38, 0xcc, 0x5a, 0x04, + 0xce, 0xcb, 0xe8, 0x30, 0x24, 0x4d, 0xd5, 0xa9, 0xb2, 0x2b, 0x7b, 0xa4, 0x82, 0x15, 0xd1, 0xa3, + 0x30, 0xc8, 0x9e, 0x76, 0x87, 0xff, 0xa1, 0x0d, 0x51, 0x06, 0xfb, 0x86, 0x1e, 0x91, 0x7b, 0x4d, + 0x75, 0x1c, 0x6c, 0xe9, 0x84, 0x21, 0x43, 0x47, 0x08, 0x12, 0x9b, 0x46, 0x6d, 0x8f, 0xff, 0x93, + 0x1d, 0xfa, 0x9b, 0xff, 0x57, 0x0f, 0xea, 0x0f, 0x15, 0x5a, 0xc9, 0x77, 0x83, 0x05, 0xb0, 0x48, + 0x90, 0xca, 0x30, 0xa1, 0xd6, 0x6a, 0x1a, 0xfb, 0x7f, 0x37, 0x95, 0x4d, 0x8d, 0x06, 0x0f, 0x9b, + 0xfe, 0xe7, 0xb8, 0x6e, 0xb6, 0x40, 0x1e, 0x41, 0x91, 0xe3, 0x17, 0xd3, 0x30, 0x64, 0x32, 0xa1, + 0xe4, 0x73, 0x30, 0xde, 0x26, 0x29, 0x91, 0x6f, 0x47, 0xd3, 0x6b, 0xe2, 0xb1, 0x04, 0xf9, 0x4d, + 0x60, 0xf4, 0xab, 0x97, 0xec, 0xac, 0x8b, 0xfe, 0x2e, 0xbe, 0xb7, 0xfb, 0x9b, 0x9a, 0x51, 0xdf, + 0x9b, 0x1a, 0xd5, 0xd4, 0x8a, 0x69, 0xca, 0x9f, 0xbf, 0xa4, 0x99, 0x6b, 0x7f, 0x49, 0x53, 0xc7, + 0xba, 0x98, 0x98, 0x49, 0x95, 0x6a, 0x6a, 0x36, 0x75, 0x47, 0xef, 0x2b, 0x9c, 0xf6, 0x39, 0xdf, + 0x6f, 0xfa, 0xb0, 0x26, 0xb1, 0x30, 0xb7, 0xb6, 0xe8, 0xfa, 0xf1, 0x57, 0x63, 0x70, 0xcc, 0xe7, + 0xc7, 0x3e, 0xe4, 0x76, 0x77, 0xce, 0x77, 0xf6, 0xf8, 0x3e, 0x1e, 0x38, 0x5f, 0x84, 0x04, 0xc1, + 0x47, 0x11, 0xff, 0x73, 0x23, 0xf7, 0xf9, 0x6f, 0xfc, 0x23, 0x39, 0x78, 0x2a, 0x16, 0xb0, 0x0a, + 0x65, 0x52, 0xfc, 0x40, 0xff, 0xfa, 0xcb, 0x7a, 0x1f, 0x20, 0xb5, 0x6f, 0x9e, 0x1a, 0xc3, 0x3a, + 0xfc, 0xde, 0x99, 0xae, 0x0f, 0x60, 0x59, 0x30, 0xed, 0x9d, 0x5f, 0xed, 0x23, 0x52, 0x77, 0x7b, + 0x5f, 0xd0, 0xcb, 0x82, 0x7d, 0x66, 0x6a, 0xbb, 0x70, 0xf8, 0x29, 0xd2, 0xb6, 0xb7, 0x82, 0x16, + 0x21, 0xff, 0xb0, 0x7b, 0x5a, 0x28, 0xf1, 0x7f, 0xdc, 0x27, 0x4e, 0x02, 0xc1, 0x93, 0x8f, 0xaf, + 0x1d, 0xef, 0x9e, 0xed, 0x3a, 0x95, 0xcc, 0xfa, 0xa6, 0x11, 0xc5, 0x47, 0x29, 0xff, 0x86, 0x04, + 0xb7, 0xb5, 0x35, 0xcd, 0x63, 0xfc, 0x42, 0x87, 0xa7, 0x10, 0x07, 0x4a, 0x7a, 0x16, 0x3a, 0x08, + 0x7b, 0x4f, 0xa4, 0xb0, 0x4c, 0x8a, 0x80, 0xb4, 0x6f, 0x81, 0x43, 0x41, 0x61, 0x85, 0x9a, 0xee, + 0x82, 0xd1, 0xe0, 0x66, 0x31, 0x57, 0xd7, 0x48, 0x60, 0xbb, 0x58, 0xae, 0x84, 0xf5, 0xec, 0xf6, + 0xb5, 0x0c, 0x69, 0x17, 0x95, 0x67, 0xc7, 0x7d, 0x77, 0xd5, 0xa3, 0x94, 0x3f, 0x22, 0xc1, 0x4c, + 0xb0, 0x05, 0x5f, 0x9e, 0xb4, 0x3f, 0x61, 0x6f, 0x9a, 0x89, 0x5f, 0x93, 0xe0, 0xf6, 0x1e, 0x32, + 0x71, 0x05, 0xbc, 0x00, 0x93, 0xbe, 0x4d, 0x02, 0x11, 0xc2, 0x85, 0xd9, 0x4f, 0x46, 0x67, 0xa8, + 0xee, 0x9a, 0xf8, 0x28, 0x51, 0xca, 0xe7, 0xbe, 0x33, 0x3d, 0xd1, 0x5e, 0x67, 0x2b, 0x13, 0xed, + 0x0b, 0xfb, 0x9b, 0xe8, 0x1f, 0x2f, 0x4b, 0x70, 0x6f, 0xb0, 0xab, 0x1d, 0x52, 0xdd, 0x9f, 0x96, + 0x1d, 0xfe, 0xad, 0x04, 0x27, 0xfb, 0x11, 0x8e, 0x1b, 0x64, 0x13, 0x26, 0xbc, 0x24, 0x3c, 0x6c, + 0x8f, 0x7d, 0xa5, 0xf6, 0xcc, 0x4b, 0x91, 0xcb, 0xed, 0x16, 0x28, 0xde, 0xe4, 0x03, 0xcb, 0x6f, + 0x72, 0x57, 0xc9, 0xc1, 0x8d, 0x5e, 0xa1, 0xe4, 0xc0, 0x56, 0x6f, 0x07, 0x5b, 0xc4, 0x3a, 0xd8, + 0xc2, 0xcb, 0xda, 0xe5, 0x2b, 0x3c, 0x6e, 0x75, 0xd8, 0x9e, 0x7b, 0x3b, 0x4c, 0x74, 0x70, 0x65, + 0x3e, 0xaa, 0xf7, 0xe1, 0xc9, 0x0a, 0x6a, 0x77, 0x56, 0x79, 0x0f, 0xa6, 0x69, 0xbb, 0x1d, 0x14, + 0x7d, 0xab, 0xbb, 0xdc, 0xe4, 0xb1, 0xa5, 0x63, 0xd3, 0xbc, 0xef, 0x8b, 0x30, 0xc8, 0xec, 0xcc, + 0xbb, 0x7b, 0x00, 0x47, 0xe1, 0x0c, 0xe4, 0x4f, 0x88, 0x58, 0x56, 0x12, 0x62, 0x77, 0x1e, 0x43, + 0xfd, 0xf4, 0xf5, 0x26, 0x8d, 0x21, 0x9f, 0x32, 0xbe, 0x25, 0xa2, 0x5a, 0x67, 0xe9, 0xb8, 0x3a, + 0xaa, 0x37, 0x2d, 0xaa, 0x31, 0xdd, 0xdc, 0xda, 0xf0, 0xf5, 0x6b, 0x22, 0x7c, 0xb9, 0x7d, 0x8a, + 0x08, 0x5f, 0x3f, 0x1d, 0xd5, 0xbb, 0x81, 0x2c, 0x42, 0xcc, 0xbf, 0x88, 0x81, 0xec, 0x87, 0x12, + 0x1c, 0xa1, 0x7d, 0xf3, 0xef, 0x51, 0xec, 0x57, 0xe5, 0xf7, 0x03, 0xb2, 0xad, 0x6a, 0xa5, 0xe3, + 0xe8, 0xce, 0xda, 0x56, 0xf5, 0x72, 0x60, 0x7e, 0xb9, 0x1f, 0x50, 0x2d, 0xb0, 0x13, 0x45, 0xb1, + 0xd9, 0x2d, 0xbc, 0x6c, 0xcd, 0xb7, 0xd1, 0xd1, 0xc1, 0x9c, 0x89, 0x9b, 0x60, 0xce, 0x6f, 0x4a, + 0x90, 0xef, 0xd4, 0x65, 0x6e, 0x3e, 0x0d, 0x0e, 0x07, 0xce, 0x0f, 0xc2, 0x16, 0xbc, 0xbf, 0x9f, + 0x5d, 0x9e, 0xd0, 0x30, 0x3a, 0x64, 0xe1, 0x5b, 0x9d, 0x07, 0x4c, 0x07, 0x3d, 0xb4, 0x3d, 0xb3, + 0xfe, 0xa9, 0x0d, 0x9f, 0x2f, 0xb5, 0xc5, 0xd5, 0xbf, 0x10, 0xb9, 0xf7, 0x2e, 0x4c, 0x75, 0x91, + 0xfa, 0x56, 0xcf, 0x7b, 0xdb, 0x5d, 0x8d, 0x79, 0xb3, 0xd3, 0xf7, 0x47, 0xf8, 0x48, 0x08, 0xde, + 0xf0, 0xf6, 0xad, 0xc5, 0x3a, 0x3d, 0x11, 0x93, 0xdf, 0x06, 0x47, 0x3b, 0x52, 0x71, 0xd9, 0x0a, + 0x90, 0xd8, 0xd6, 0x6c, 0x87, 0x8b, 0x75, 0x77, 0x37, 0xb1, 0x42, 0xd4, 0x94, 0x46, 0x46, 0x90, + 0xa5, 0xac, 0xd7, 0x0c, 0xa3, 0xc1, 0xc5, 0x90, 0x2f, 0xc2, 0xb8, 0x0f, 0xc6, 0x1b, 0x39, 0x0b, + 0x09, 0xd3, 0xe0, 0x9f, 0x3f, 0x18, 0x3e, 0x7d, 0xac, 0xeb, 0xc6, 0xbe, 0x61, 0x34, 0x78, 0xb7, + 0x29, 0xbe, 0x3c, 0x09, 0x88, 0x31, 0xa3, 0x7b, 0xfc, 0xa2, 0x89, 0x75, 0x98, 0x08, 0x40, 0x79, + 0x23, 0xaf, 0xeb, 0xfc, 0xe0, 0xf4, 0xf7, 0x0f, 0x41, 0x92, 0x72, 0x45, 0x1f, 0x97, 0x02, 0xdf, + 0x27, 0x9a, 0xed, 0xc6, 0xa6, 0xf3, 0x9a, 0x38, 0x7f, 0xaa, 0x6f, 0x7c, 0x9e, 0xb3, 0x9d, 0x7c, + 0xef, 0xbf, 0xfa, 0xde, 0x47, 0x63, 0x77, 0x22, 0xf9, 0x54, 0x97, 0xd5, 0xb8, 0x6f, 0xbc, 0x7c, + 0x36, 0xf0, 0xb6, 0xfe, 0x81, 0xfe, 0x9a, 0x12, 0x92, 0xcd, 0xf6, 0x8b, 0xce, 0x05, 0x3b, 0x47, + 0x05, 0x3b, 0x83, 0x1e, 0x8e, 0x16, 0xec, 0xd4, 0x3b, 0x83, 0x83, 0xe6, 0xdd, 0xe8, 0x0f, 0x25, + 0x98, 0xec, 0xb4, 0xa4, 0x43, 0x8f, 0xf5, 0x27, 0x45, 0x7b, 0x4a, 0x91, 0x7f, 0xfc, 0x00, 0x94, + 0xbc, 0x2b, 0x0b, 0xb4, 0x2b, 0x73, 0xe8, 0x89, 0x03, 0x74, 0xe5, 0x94, 0x7f, 0xeb, 0xff, 0x7f, + 0x4a, 0x70, 0xbc, 0xe7, 0x0a, 0x09, 0xcd, 0xf5, 0x27, 0x65, 0x8f, 0xdc, 0x29, 0x5f, 0x7c, 0x3d, + 0x2c, 0x78, 0x8f, 0x9f, 0xa2, 0x3d, 0xbe, 0x88, 0x16, 0x0f, 0xd2, 0xe3, 0x8e, 0xe7, 0x2b, 0xe8, + 0xf7, 0x83, 0x97, 0x0e, 0x7b, 0xbb, 0x53, 0xdb, 0xc2, 0x23, 0x62, 0x60, 0xb4, 0x27, 0xb5, 0xf2, + 0x33, 0xb4, 0x0b, 0x0a, 0x5a, 0x7b, 0x9d, 0x46, 0x3b, 0xf5, 0xce, 0x60, 0xe0, 0x7f, 0x37, 0xfa, + 0x1f, 0x52, 0xe7, 0x3b, 0x84, 0x8f, 0xf6, 0x14, 0xb1, 0xfb, 0xa2, 0x2a, 0xff, 0xd8, 0xfe, 0x09, + 0x79, 0x27, 0x9b, 0xb4, 0x93, 0x75, 0x84, 0x6f, 0x76, 0x27, 0x3b, 0x1a, 0x11, 0x7d, 0x5d, 0x82, + 0xc9, 0x4e, 0x6b, 0x92, 0x88, 0x61, 0xd9, 0x63, 0x91, 0x15, 0x31, 0x2c, 0x7b, 0x2d, 0x80, 0xe4, + 0x37, 0xd1, 0xce, 0x9f, 0x45, 0x8f, 0x74, 0xeb, 0x7c, 0x4f, 0x2b, 0x92, 0xb1, 0xd8, 0x33, 0xc9, + 0x8f, 0x18, 0x8b, 0xfd, 0xac, 0x63, 0x22, 0xc6, 0x62, 0x5f, 0x6b, 0x8c, 0xe8, 0xb1, 0xe8, 0xf6, + 0xac, 0x4f, 0x33, 0xda, 0xe8, 0xab, 0x12, 0x8c, 0x04, 0x32, 0x62, 0xf4, 0x50, 0x4f, 0x41, 0x3b, + 0x2d, 0x18, 0xf2, 0xa7, 0xf7, 0x43, 0xc2, 0xfb, 0xb2, 0x48, 0xfb, 0x32, 0x8f, 0xe6, 0x0e, 0xd2, + 0x97, 0xe0, 0x31, 0xea, 0x37, 0x25, 0x98, 0xe8, 0x90, 0x65, 0x46, 0x8c, 0xc2, 0xee, 0x49, 0x73, + 0xfe, 0xb1, 0xfd, 0x13, 0xf2, 0x5e, 0x9d, 0xa7, 0xbd, 0x7a, 0x2b, 0x7a, 0xcb, 0x41, 0x7a, 0xe5, + 0x9b, 0x9f, 0xaf, 0x7b, 0x57, 0xb2, 0x7c, 0xed, 0xa0, 0xb3, 0xfb, 0x14, 0x4c, 0x74, 0xe8, 0xd1, + 0x7d, 0xd3, 0xf1, 0xfe, 0x3c, 0x4d, 0xfb, 0xf3, 0x14, 0x5a, 0x7d, 0x7d, 0xfd, 0x69, 0x9f, 0xd6, + 0xbf, 0xd8, 0xfe, 0xc2, 0xb0, 0xb7, 0x17, 0x75, 0x4c, 0x56, 0xf3, 0x0f, 0xef, 0x8b, 0x86, 0x77, + 0xea, 0x31, 0xda, 0xa9, 0xd3, 0xe8, 0xc1, 0x6e, 0x9d, 0xf2, 0xdd, 0xbb, 0xd3, 0xf4, 0x2d, 0xe3, + 0xd4, 0x3b, 0x59, 0x0a, 0xfc, 0x6e, 0xf4, 0x1e, 0x71, 0xe7, 0xe9, 0x44, 0xcf, 0x76, 0x7d, 0x79, + 0x6c, 0xfe, 0xde, 0x3e, 0x30, 0xb9, 0x5c, 0x77, 0x52, 0xb9, 0xa6, 0xd0, 0xb1, 0x6e, 0x72, 0x91, + 0x5c, 0x16, 0x7d, 0x48, 0x72, 0xaf, 0x49, 0x9e, 0xec, 0xcd, 0xdb, 0x9f, 0xec, 0xe6, 0xef, 0xeb, + 0x0b, 0x97, 0x4b, 0x72, 0x37, 0x95, 0x64, 0x06, 0x4d, 0x75, 0x95, 0x84, 0xa5, 0xbe, 0x37, 0xfb, + 0x52, 0xc1, 0x2f, 0xe7, 0x60, 0xba, 0x4b, 0x8b, 0xce, 0x6e, 0xc4, 0x19, 0x57, 0x8f, 0x87, 0xb6, + 0x91, 0x0f, 0x69, 0x6f, 0xf6, 0x07, 0x62, 0xfb, 0x3c, 0x10, 0xfb, 0xa5, 0x24, 0xa0, 0x65, 0xbb, + 0x3e, 0x6f, 0x61, 0xf6, 0xcf, 0x2a, 0xf9, 0x28, 0x0f, 0xbd, 0x20, 0x93, 0x5e, 0xd7, 0x0b, 0xb2, + 0xe5, 0xc0, 0x9b, 0xac, 0xd8, 0xfe, 0xde, 0x7d, 0xf6, 0xfd, 0x30, 0x2b, 0xfe, 0xc6, 0x3c, 0xcc, + 0xea, 0x78, 0xe5, 0x3a, 0x71, 0xf3, 0xde, 0x66, 0x24, 0x0f, 0xfa, 0x3e, 0x85, 0xbf, 0xb7, 0x1c, + 0xec, 0xf1, 0xde, 0x32, 0xd7, 0xf5, 0x51, 0x25, 0xa7, 0x46, 0x67, 0xc4, 0xe7, 0x52, 0x87, 0xfa, + 0xbb, 0x24, 0xcb, 0xb0, 0xdb, 0x5e, 0xab, 0xa5, 0xa2, 0x5f, 0xab, 0xa5, 0xdb, 0x5e, 0xab, 0x79, + 0xfb, 0x10, 0xc7, 0x20, 0xdf, 0xee, 0x93, 0x6e, 0x64, 0xf8, 0x76, 0x1c, 0xb2, 0xcb, 0x76, 0xbd, + 0x5c, 0xd3, 0x9c, 0x5b, 0xe4, 0xb0, 0x4f, 0x74, 0x7f, 0x34, 0x83, 0x6e, 0x5c, 0x9f, 0x1e, 0x65, + 0x86, 0xe9, 0x61, 0x8e, 0x26, 0x8c, 0x85, 0xde, 0x3b, 0x73, 0xf7, 0x2c, 0x1d, 0xe4, 0xd9, 0x75, + 0x88, 0x95, 0x4c, 0xdf, 0x38, 0xf8, 0x06, 0x09, 0xda, 0xed, 0x3c, 0x22, 0x98, 0x57, 0x5e, 0x78, + 0x23, 0x9f, 0x29, 0x26, 0xa3, 0x0d, 0x3f, 0xd8, 0xc3, 0xf0, 0x79, 0xc8, 0x85, 0x2d, 0xeb, 0x9a, + 0xfd, 0x4f, 0x25, 0x18, 0x5e, 0xb6, 0x45, 0x52, 0x8a, 0x7f, 0x46, 0x1f, 0x49, 0x3d, 0xea, 0x7e, + 0xf5, 0x3c, 0xde, 0xdf, 0x08, 0x12, 0x5f, 0x42, 0xf7, 0x94, 0x70, 0x08, 0x26, 0x7c, 0xfd, 0x74, + 0xfb, 0xff, 0x07, 0x31, 0x1a, 0xa9, 0x8b, 0xb8, 0xae, 0xe9, 0x6e, 0x3e, 0x8b, 0xff, 0xb2, 0x3e, + 0x01, 0xf1, 0xf4, 0x9c, 0x38, 0xa8, 0x9e, 0x77, 0x68, 0x94, 0x09, 0xe9, 0xd3, 0xdd, 0x82, 0x5b, + 0x6e, 0x7f, 0xa0, 0x24, 0xed, 0xe3, 0x03, 0x42, 0xa1, 0x67, 0x48, 0xf2, 0x6b, 0x12, 0x8c, 0x2c, + 0xdb, 0xf5, 0x4b, 0x7a, 0xed, 0xff, 0x7a, 0xff, 0xdd, 0x82, 0x43, 0x81, 0x9e, 0xde, 0x22, 0x95, + 0x9e, 0x7e, 0x39, 0x01, 0xf1, 0x65, 0xbb, 0x8e, 0x9e, 0x87, 0xb1, 0x70, 0xfa, 0xd2, 0x35, 0x2b, + 0x6d, 0x9f, 0x56, 0xba, 0xaf, 0x1c, 0xbb, 0x4f, 0x41, 0x68, 0x07, 0x46, 0x82, 0xd3, 0xcf, 0x89, + 0x1e, 0x4c, 0x02, 0x98, 0xf9, 0x07, 0xfb, 0xc5, 0x74, 0x1b, 0x7b, 0x07, 0xa4, 0xdc, 0xa0, 0x77, + 0x47, 0x0f, 0x6a, 0x81, 0xd4, 0x3d, 0xcf, 0xee, 0x10, 0x56, 0x88, 0xf6, 0xc2, 0x21, 0xa5, 0x97, + 0xf6, 0x42, 0xb8, 0x3d, 0xb5, 0xd7, 0x6d, 0x68, 0x6d, 0x02, 0xf8, 0xc6, 0xc1, 0x5d, 0x3d, 0x38, + 0x78, 0x68, 0xf9, 0x07, 0xfa, 0x42, 0x73, 0x8f, 0xbf, 0x6e, 0xf2, 0xb2, 0xe0, 0xff, 0x04, 0x00, + 0x00, 0xff, 0xff, 0xed, 0xb0, 0x4a, 0xb3, 0xac, 0x98, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -2359,6 +2370,20 @@ func (m *Validator) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.EthAddress) > 0 { + i -= len(m.EthAddress) + copy(dAtA[i:], m.EthAddress) + i = encodeVarintStaking(dAtA, i, uint64(len(m.EthAddress))) + i-- + dAtA[i] = 0x6a + } + if len(m.Orchestrator) > 0 { + i -= len(m.Orchestrator) + copy(dAtA[i:], m.Orchestrator) + i = encodeVarintStaking(dAtA, i, uint64(len(m.Orchestrator))) + i-- + dAtA[i] = 0x62 + } { size := m.MinSelfDelegation.Size() i -= size @@ -3263,6 +3288,14 @@ func (m *Validator) Size() (n int) { n += 1 + l + sovStaking(uint64(l)) l = m.MinSelfDelegation.Size() n += 1 + l + sovStaking(uint64(l)) + l = len(m.Orchestrator) + if l > 0 { + n += 1 + l + sovStaking(uint64(l)) + } + l = len(m.EthAddress) + if l > 0 { + n += 1 + l + sovStaking(uint64(l)) + } return n } @@ -4509,6 +4542,70 @@ func (m *Validator) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Orchestrator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthStaking + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthStaking + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Orchestrator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EthAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthStaking + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthStaking + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EthAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipStaking(dAtA[iNdEx:]) diff --git a/x/staking/types/tx.pb.go b/x/staking/types/tx.pb.go index c3a1bf706599..92e5c52ae43a 100644 --- a/x/staking/types/tx.pb.go +++ b/x/staking/types/tx.pb.go @@ -45,6 +45,12 @@ type MsgCreateValidator struct { ValidatorAddress string `protobuf:"bytes,5,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty" yaml:"validator_address"` Pubkey *types.Any `protobuf:"bytes,6,opt,name=pubkey,proto3" json:"pubkey,omitempty"` Value types1.Coin `protobuf:"bytes,7,opt,name=value,proto3" json:"value"` + // The orchestrator field is a celes1... string (i.e. sdk.AccAddress) that + // references the key that is being delegated to + Orchestrator string `protobuf:"bytes,8,opt,name=orchestrator,proto3" json:"orchestrator,omitempty"` + // This is a hex encoded 0x Ethereum public key that will be used by this + // validator on Ethereum + EthAddress string `protobuf:"bytes,9,opt,name=eth_address,json=ethAddress,proto3" json:"eth_address,omitempty"` } func (m *MsgCreateValidator) Reset() { *m = MsgCreateValidator{} } @@ -127,6 +133,8 @@ type MsgEditValidator struct { // REF: #2373 CommissionRate *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=commission_rate,json=commissionRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"commission_rate,omitempty" yaml:"commission_rate"` MinSelfDelegation *github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,4,opt,name=min_self_delegation,json=minSelfDelegation,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"min_self_delegation,omitempty" yaml:"min_self_delegation"` + Orchestrator string `protobuf:"bytes,5,opt,name=orchestrator,proto3" json:"orchestrator,omitempty"` + EthAddress string `protobuf:"bytes,6,opt,name=eth_address,json=ethAddress,proto3" json:"eth_address,omitempty"` } func (m *MsgEditValidator) Reset() { *m = MsgEditValidator{} } @@ -466,61 +474,64 @@ func init() { func init() { proto.RegisterFile("cosmos/staking/v1beta1/tx.proto", fileDescriptor_0926ef28816b35ab) } var fileDescriptor_0926ef28816b35ab = []byte{ - // 860 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x56, 0x4d, 0x6b, 0xe3, 0x46, - 0x18, 0xb6, 0x6c, 0xc7, 0x4d, 0x27, 0xe4, 0x4b, 0xf9, 0xc0, 0x11, 0xc1, 0x0a, 0x4a, 0x3f, 0x42, - 0xdb, 0xc8, 0x4d, 0x4a, 0x29, 0xe4, 0x52, 0xe2, 0xb8, 0xa1, 0x21, 0x35, 0x14, 0x25, 0xed, 0xa1, - 0x14, 0x8c, 0x3e, 0xc6, 0xaa, 0xb0, 0xa4, 0x51, 0x34, 0xe3, 0x10, 0x43, 0x7f, 0x40, 0x8f, 0x81, - 0xde, 0xf6, 0x94, 0x1f, 0xb1, 0x3f, 0x22, 0x2c, 0xec, 0x92, 0xe3, 0xb2, 0x07, 0xef, 0x92, 0xc0, - 0x92, 0xb3, 0x7f, 0xc1, 0xa2, 0xd1, 0x48, 0x96, 0xe5, 0x0f, 0x4c, 0x58, 0x5f, 0xf6, 0x64, 0x33, - 0xf3, 0xcc, 0xf3, 0xce, 0xfb, 0xbc, 0xcf, 0xbc, 0xaf, 0x80, 0xa8, 0x23, 0xec, 0x20, 0x5c, 0xc6, - 0x44, 0x6d, 0x5a, 0xae, 0x59, 0xbe, 0xdc, 0xd3, 0x20, 0x51, 0xf7, 0xca, 0xe4, 0x4a, 0xf6, 0x7c, - 0x44, 0x10, 0xbf, 0x1e, 0x02, 0x64, 0x06, 0x90, 0x19, 0x40, 0xd8, 0x30, 0x11, 0x32, 0x6d, 0x58, - 0xa6, 0x28, 0xad, 0xd5, 0x28, 0xab, 0x6e, 0x3b, 0x3c, 0x22, 0x88, 0xe9, 0x2d, 0x62, 0x39, 0x10, - 0x13, 0xd5, 0xf1, 0x18, 0x60, 0xd5, 0x44, 0x26, 0xa2, 0x7f, 0xcb, 0xc1, 0x3f, 0xb6, 0xba, 0x11, - 0x46, 0xaa, 0x87, 0x1b, 0x2c, 0x6c, 0xb8, 0x55, 0x62, 0xb7, 0xd4, 0x54, 0x0c, 0xe3, 0x2b, 0xea, - 0xc8, 0x72, 0xd9, 0xfe, 0x17, 0x23, 0xb2, 0x88, 0x2e, 0x4d, 0x51, 0xd2, 0xcb, 0x3c, 0xe0, 0x6b, - 0xd8, 0x3c, 0xf2, 0xa1, 0x4a, 0xe0, 0x9f, 0xaa, 0x6d, 0x19, 0x2a, 0x41, 0x3e, 0x7f, 0x0a, 0xe6, - 0x0c, 0x88, 0x75, 0xdf, 0xf2, 0x88, 0x85, 0xdc, 0x22, 0xb7, 0xc5, 0xed, 0xcc, 0xed, 0x6f, 0xcb, - 0xc3, 0xf3, 0x96, 0xab, 0x3d, 0x68, 0x25, 0x7f, 0xdb, 0x11, 0x33, 0x4a, 0xf2, 0x34, 0x5f, 0x03, - 0x40, 0x47, 0x8e, 0x63, 0x61, 0x1c, 0x70, 0x65, 0x29, 0xd7, 0xd7, 0xa3, 0xb8, 0x8e, 0x62, 0xa4, - 0xa2, 0x12, 0x88, 0x19, 0x5f, 0x82, 0x80, 0xff, 0x17, 0xac, 0x38, 0x96, 0x5b, 0xc7, 0xd0, 0x6e, - 0xd4, 0x0d, 0x68, 0x43, 0x53, 0xa5, 0x77, 0xcc, 0x6d, 0x71, 0x3b, 0x9f, 0x57, 0x7e, 0x0b, 0xe0, - 0x6f, 0x3a, 0xe2, 0x57, 0xa6, 0x45, 0xfe, 0x69, 0x69, 0xb2, 0x8e, 0x1c, 0x26, 0x1b, 0xfb, 0xd9, - 0xc5, 0x46, 0xb3, 0x4c, 0xda, 0x1e, 0xc4, 0xf2, 0x89, 0x4b, 0xba, 0x1d, 0x51, 0x68, 0xab, 0x8e, - 0x7d, 0x20, 0x0d, 0xa1, 0x94, 0x94, 0x65, 0xc7, 0x72, 0xcf, 0xa0, 0xdd, 0xa8, 0xc6, 0x6b, 0xfc, - 0x09, 0x58, 0x66, 0x08, 0xe4, 0xd7, 0x55, 0xc3, 0xf0, 0x21, 0xc6, 0xc5, 0x3c, 0x8d, 0xbd, 0xd9, - 0xed, 0x88, 0xc5, 0x90, 0x6d, 0x00, 0x22, 0x29, 0x4b, 0xf1, 0xda, 0x61, 0xb8, 0x14, 0x50, 0x5d, - 0x46, 0x8a, 0xc7, 0x54, 0x33, 0x69, 0xaa, 0x01, 0x88, 0xa4, 0x2c, 0xc5, 0x6b, 0x11, 0xd5, 0x31, - 0x28, 0x78, 0x2d, 0xad, 0x09, 0xdb, 0xc5, 0x02, 0x95, 0x77, 0x55, 0x0e, 0xfd, 0x26, 0x47, 0x7e, - 0x93, 0x0f, 0xdd, 0x76, 0xa5, 0xf8, 0xe2, 0xf9, 0xee, 0x2a, 0xd3, 0x5d, 0xf7, 0xdb, 0x1e, 0x41, - 0xf2, 0xef, 0x2d, 0xed, 0x14, 0xb6, 0x15, 0x76, 0x9a, 0xff, 0x11, 0xcc, 0x5c, 0xaa, 0x76, 0x0b, - 0x16, 0x3f, 0xa3, 0x34, 0x1b, 0x51, 0x95, 0x02, 0x93, 0x25, 0x4a, 0x64, 0x45, 0x75, 0x0e, 0xd1, - 0x07, 0xb3, 0xff, 0xdd, 0x88, 0x99, 0xc7, 0x1b, 0x31, 0x23, 0x6d, 0x02, 0x61, 0xd0, 0x4e, 0x0a, - 0xc4, 0x1e, 0x72, 0x31, 0x94, 0xfe, 0xcf, 0x81, 0xa5, 0x1a, 0x36, 0x7f, 0x31, 0x2c, 0x32, 0x25, - 0xaf, 0xfd, 0x3c, 0x4c, 0xd3, 0x2c, 0xd5, 0x94, 0xef, 0x76, 0xc4, 0x85, 0x50, 0xd3, 0x31, 0x4a, - 0x3a, 0x60, 0xb1, 0xe7, 0xb5, 0xba, 0xaf, 0x12, 0xc8, 0x9c, 0x55, 0x9d, 0xd0, 0x55, 0x55, 0xa8, - 0x77, 0x3b, 0xe2, 0x7a, 0x18, 0x28, 0x45, 0x25, 0x29, 0x0b, 0x7a, 0x9f, 0xbf, 0xf9, 0xab, 0xe1, - 0x66, 0x0e, 0x0d, 0xf5, 0xeb, 0x14, 0x8d, 0x9c, 0xa8, 0x99, 0x00, 0x8a, 0xe9, 0xa2, 0xc4, 0x15, - 0x7b, 0xcf, 0x81, 0xb9, 0x1a, 0x36, 0xd9, 0x39, 0x38, 0xdc, 0xfe, 0xdc, 0xc7, 0xb3, 0x7f, 0xf6, - 0x49, 0xf6, 0xff, 0x09, 0x14, 0x54, 0x07, 0xb5, 0x5c, 0x42, 0x6b, 0x35, 0x81, 0x6f, 0x19, 0x3c, - 0x21, 0xc2, 0x1a, 0x58, 0x49, 0xe4, 0x19, 0xe7, 0xff, 0x2a, 0x4b, 0xfb, 0x63, 0x05, 0x9a, 0x96, - 0xab, 0x40, 0x63, 0x0a, 0x32, 0x9c, 0x83, 0xb5, 0x5e, 0x8e, 0xd8, 0xd7, 0x53, 0x52, 0x6c, 0x75, - 0x3b, 0xe2, 0x66, 0x5a, 0x8a, 0x04, 0x4c, 0x52, 0x56, 0xe2, 0xf5, 0x33, 0x5f, 0x1f, 0xca, 0x6a, - 0x60, 0x12, 0xb3, 0xe6, 0x46, 0xb3, 0x26, 0x60, 0x49, 0xd6, 0x2a, 0x26, 0x83, 0x3a, 0xe7, 0x9f, - 0xaa, 0x73, 0x93, 0x36, 0x88, 0x94, 0x9e, 0x91, 0xdc, 0x7c, 0x8d, 0xbe, 0x3e, 0xcf, 0x86, 0x81, - 0x45, 0xeb, 0xc1, 0x8c, 0x64, 0xfd, 0x40, 0x18, 0x68, 0x68, 0xe7, 0xd1, 0x00, 0xad, 0xcc, 0x06, - 0xa1, 0xae, 0xdf, 0x8a, 0x1c, 0x7d, 0x5d, 0xec, 0x70, 0xb0, 0x2d, 0x3d, 0x72, 0x60, 0xbe, 0x86, - 0xcd, 0x3f, 0x5c, 0xe3, 0x93, 0xf7, 0x6f, 0x03, 0xac, 0xf5, 0x65, 0x3a, 0x25, 0x49, 0xf7, 0x9f, - 0xe5, 0x41, 0xae, 0x86, 0x4d, 0xfe, 0x02, 0x2c, 0xa6, 0x3f, 0x1a, 0xbe, 0x19, 0xd5, 0xb3, 0x07, - 0x27, 0x82, 0xb0, 0x3f, 0x39, 0x36, 0xce, 0xa4, 0x09, 0xe6, 0xfb, 0x27, 0xc7, 0xce, 0x18, 0x92, - 0x3e, 0xa4, 0xf0, 0xfd, 0xa4, 0xc8, 0x38, 0xd8, 0xdf, 0x60, 0x36, 0x6e, 0x7a, 0xdb, 0x63, 0x4e, - 0x47, 0x20, 0xe1, 0xdb, 0x09, 0x40, 0x31, 0xfb, 0x05, 0x58, 0x4c, 0xb7, 0x94, 0x71, 0xea, 0xa5, - 0xb0, 0x63, 0xd5, 0x1b, 0xf5, 0xb4, 0x34, 0x00, 0x12, 0xef, 0xe0, 0xcb, 0x31, 0x0c, 0x3d, 0x98, - 0xb0, 0x3b, 0x11, 0x2c, 0x8a, 0x51, 0x39, 0xbe, 0xbd, 0x2f, 0x71, 0x77, 0xf7, 0x25, 0xee, 0xdd, - 0x7d, 0x89, 0xbb, 0x7e, 0x28, 0x65, 0xee, 0x1e, 0x4a, 0x99, 0xd7, 0x0f, 0xa5, 0xcc, 0x5f, 0xdf, - 0x8d, 0x1d, 0x63, 0x57, 0xf1, 0x57, 0x2a, 0x1d, 0x68, 0x5a, 0x81, 0x5a, 0xf2, 0x87, 0x0f, 0x01, - 0x00, 0x00, 0xff, 0xff, 0xa1, 0x2b, 0xfd, 0x07, 0x8a, 0x0b, 0x00, 0x00, + // 902 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x56, 0x4d, 0x8b, 0xdb, 0x46, + 0x18, 0xb6, 0xfc, 0x55, 0x67, 0xdc, 0x64, 0x37, 0xda, 0xdd, 0xa0, 0x15, 0x8b, 0xb5, 0x28, 0xfd, + 0x58, 0xda, 0xae, 0xdc, 0x6c, 0x29, 0x85, 0x5c, 0x4a, 0x1c, 0x37, 0x34, 0xa4, 0x86, 0xa2, 0xa4, + 0x3d, 0x94, 0x82, 0xd1, 0xc7, 0x58, 0x16, 0x96, 0x34, 0x8a, 0x66, 0xbc, 0xac, 0xa1, 0x3f, 0xa0, + 0xc7, 0xd0, 0x63, 0x4f, 0xf9, 0x11, 0xfd, 0x11, 0xa1, 0x87, 0x92, 0x63, 0xe8, 0xc1, 0x2d, 0xbb, + 0x50, 0x72, 0xf6, 0x2f, 0x28, 0x1a, 0x8d, 0xc6, 0xb2, 0x6c, 0xab, 0x26, 0xd4, 0x97, 0x9c, 0x6c, + 0x66, 0x9e, 0x79, 0xde, 0x79, 0x9f, 0xe7, 0x7d, 0xdf, 0x11, 0x50, 0x2c, 0x84, 0x7d, 0x84, 0xdb, + 0x98, 0x18, 0x23, 0x37, 0x70, 0xda, 0xe7, 0x77, 0x4c, 0x48, 0x8c, 0x3b, 0x6d, 0x72, 0xa1, 0x85, + 0x11, 0x22, 0x48, 0xbc, 0x95, 0x00, 0x34, 0x06, 0xd0, 0x18, 0x40, 0x3e, 0x74, 0x10, 0x72, 0x3c, + 0xd8, 0xa6, 0x28, 0x73, 0x3c, 0x68, 0x1b, 0xc1, 0x24, 0x39, 0x22, 0x2b, 0xf9, 0x2d, 0xe2, 0xfa, + 0x10, 0x13, 0xc3, 0x0f, 0x19, 0x60, 0xdf, 0x41, 0x0e, 0xa2, 0x7f, 0xdb, 0xf1, 0x3f, 0xb6, 0x7a, + 0x98, 0x44, 0xea, 0x27, 0x1b, 0x2c, 0x6c, 0xb2, 0xd5, 0x62, 0xb7, 0x34, 0x0d, 0x0c, 0xf9, 0x15, + 0x2d, 0xe4, 0x06, 0x6c, 0xff, 0xbd, 0x35, 0x59, 0xa4, 0x97, 0xa6, 0x28, 0xf5, 0x97, 0x1a, 0x10, + 0x7b, 0xd8, 0xb9, 0x1f, 0x41, 0x83, 0xc0, 0xef, 0x0d, 0xcf, 0xb5, 0x0d, 0x82, 0x22, 0xf1, 0x11, + 0x68, 0xda, 0x10, 0x5b, 0x91, 0x1b, 0x12, 0x17, 0x05, 0x92, 0x70, 0x2c, 0x9c, 0x34, 0xcf, 0x6e, + 0x6b, 0xab, 0xf3, 0xd6, 0xba, 0x73, 0x68, 0xa7, 0xfa, 0x62, 0xaa, 0x94, 0xf4, 0xec, 0x69, 0xb1, + 0x07, 0x80, 0x85, 0x7c, 0xdf, 0xc5, 0x38, 0xe6, 0x2a, 0x53, 0xae, 0x0f, 0xd7, 0x71, 0xdd, 0xe7, + 0x48, 0xdd, 0x20, 0x10, 0x33, 0xbe, 0x0c, 0x81, 0xf8, 0x13, 0xd8, 0xf3, 0xdd, 0xa0, 0x8f, 0xa1, + 0x37, 0xe8, 0xdb, 0xd0, 0x83, 0x8e, 0x41, 0xef, 0x58, 0x39, 0x16, 0x4e, 0xae, 0x75, 0xbe, 0x89, + 0xe1, 0x7f, 0x4e, 0x95, 0x0f, 0x1c, 0x97, 0x0c, 0xc7, 0xa6, 0x66, 0x21, 0x9f, 0xc9, 0xc6, 0x7e, + 0x4e, 0xb1, 0x3d, 0x6a, 0x93, 0x49, 0x08, 0xb1, 0xf6, 0x30, 0x20, 0xb3, 0xa9, 0x22, 0x4f, 0x0c, + 0xdf, 0xbb, 0xab, 0xae, 0xa0, 0x54, 0xf5, 0x9b, 0xbe, 0x1b, 0x3c, 0x86, 0xde, 0xa0, 0xcb, 0xd7, + 0xc4, 0x87, 0xe0, 0x26, 0x43, 0xa0, 0xa8, 0x6f, 0xd8, 0x76, 0x04, 0x31, 0x96, 0xaa, 0x34, 0xf6, + 0xd1, 0x6c, 0xaa, 0x48, 0x09, 0xdb, 0x12, 0x44, 0xd5, 0x77, 0xf9, 0xda, 0xbd, 0x64, 0x29, 0xa6, + 0x3a, 0x4f, 0x15, 0xe7, 0x54, 0xb5, 0x3c, 0xd5, 0x12, 0x44, 0xd5, 0x77, 0xf9, 0x5a, 0x4a, 0xf5, + 0x00, 0xd4, 0xc3, 0xb1, 0x39, 0x82, 0x13, 0xa9, 0x4e, 0xe5, 0xdd, 0xd7, 0x92, 0x7a, 0xd3, 0xd2, + 0x7a, 0xd3, 0xee, 0x05, 0x93, 0x8e, 0xf4, 0xfb, 0x6f, 0xa7, 0xfb, 0x4c, 0x77, 0x2b, 0x9a, 0x84, + 0x04, 0x69, 0xdf, 0x8e, 0xcd, 0x47, 0x70, 0xa2, 0xb3, 0xd3, 0xe2, 0xe7, 0xa0, 0x76, 0x6e, 0x78, + 0x63, 0x28, 0xbd, 0x43, 0x69, 0x0e, 0x53, 0x97, 0xe2, 0x22, 0xcb, 0x58, 0xe4, 0xa6, 0x3e, 0x27, + 0x68, 0x51, 0x05, 0xef, 0xa2, 0xc8, 0x1a, 0x42, 0x4c, 0xa2, 0xf8, 0x56, 0x52, 0x23, 0x4e, 0x42, + 0x5f, 0x58, 0x13, 0x15, 0xd0, 0x84, 0x64, 0xc8, 0xf3, 0xbc, 0x46, 0x21, 0x00, 0x92, 0x21, 0xcb, + 0xe1, 0x6e, 0xe3, 0xe7, 0xe7, 0x4a, 0xe9, 0xf5, 0x73, 0xa5, 0xa4, 0x1e, 0x01, 0x79, 0xb9, 0x26, + 0x75, 0x88, 0x43, 0x14, 0x60, 0xa8, 0xbe, 0xaa, 0x80, 0xdd, 0x1e, 0x76, 0xbe, 0xb2, 0x5d, 0xb2, + 0xa5, 0x82, 0xfd, 0x72, 0x95, 0x31, 0x65, 0x6a, 0x8c, 0x38, 0x9b, 0x2a, 0x37, 0x12, 0x63, 0x0a, + 0xec, 0xf0, 0xc1, 0xce, 0xbc, 0x60, 0xfb, 0x91, 0x41, 0x20, 0x2b, 0xcf, 0xee, 0x86, 0xa5, 0xd9, + 0x85, 0xd6, 0x6c, 0xaa, 0xdc, 0x4a, 0x02, 0xe5, 0xa8, 0x54, 0xfd, 0x86, 0xb5, 0xd0, 0x24, 0xe2, + 0xc5, 0xea, 0x8e, 0x48, 0xaa, 0xf2, 0xeb, 0x6d, 0x76, 0x43, 0xde, 0xf8, 0xda, 0x7f, 0x1b, 0x5f, + 0x2f, 0x30, 0x5e, 0x06, 0x52, 0xde, 0x59, 0x6e, 0xfb, 0x3f, 0x02, 0x68, 0xf6, 0xb0, 0xc3, 0x82, + 0xc3, 0xd5, 0x8d, 0x28, 0xfc, 0x7f, 0x8d, 0x58, 0x7e, 0xa3, 0x46, 0xfc, 0x02, 0xd4, 0x0d, 0x1f, + 0x8d, 0x03, 0x42, 0x0d, 0xdf, 0xa0, 0x83, 0x18, 0x3c, 0x23, 0xc2, 0x01, 0xd8, 0xcb, 0xe4, 0xc9, + 0xf3, 0xff, 0xa3, 0x4c, 0x27, 0x75, 0x07, 0x3a, 0x6e, 0xa0, 0x43, 0x7b, 0x0b, 0x32, 0x3c, 0x01, + 0x07, 0xf3, 0x1c, 0x71, 0x64, 0xe5, 0xa4, 0x38, 0x9e, 0x4d, 0x95, 0xa3, 0xbc, 0x14, 0x19, 0x98, + 0xaa, 0xef, 0xf1, 0xf5, 0xc7, 0x91, 0xb5, 0x92, 0xd5, 0xc6, 0x84, 0xb3, 0x56, 0xd6, 0xb3, 0x66, + 0x60, 0x59, 0xd6, 0x2e, 0x26, 0xcb, 0x3a, 0x57, 0xdf, 0x54, 0xe7, 0x11, 0x9d, 0x32, 0x39, 0x3d, + 0x53, 0xb9, 0xc5, 0x1e, 0x6d, 0xe1, 0xd0, 0x83, 0x71, 0x9d, 0xf7, 0xe3, 0xd7, 0x9a, 0x0d, 0x15, + 0x79, 0x69, 0xb4, 0x3e, 0x49, 0x9f, 0xf2, 0x4e, 0x23, 0x0e, 0xf5, 0xec, 0x2f, 0x45, 0xa0, 0x2d, + 0xca, 0x0e, 0xc7, 0xdb, 0xea, 0x6b, 0x01, 0x5c, 0xef, 0x61, 0xe7, 0xbb, 0xc0, 0x7e, 0xeb, 0xeb, + 0x77, 0x00, 0x0e, 0x16, 0x32, 0xdd, 0x92, 0xa4, 0x67, 0xbf, 0x56, 0x41, 0xa5, 0x87, 0x1d, 0xf1, + 0x29, 0xd8, 0xc9, 0x7f, 0xbe, 0x7c, 0xb4, 0x6e, 0xf0, 0x2f, 0x3f, 0x2b, 0xf2, 0xd9, 0xe6, 0x58, + 0x9e, 0xc9, 0x08, 0x5c, 0x5f, 0x7c, 0x7e, 0x4e, 0x0a, 0x48, 0x16, 0x90, 0xf2, 0xa7, 0x9b, 0x22, + 0x79, 0xb0, 0x1f, 0x41, 0x83, 0x0f, 0xbd, 0xdb, 0x05, 0xa7, 0x53, 0x90, 0xfc, 0xf1, 0x06, 0x20, + 0xce, 0xfe, 0x14, 0xec, 0xe4, 0x47, 0x4a, 0x91, 0x7a, 0x39, 0x6c, 0xa1, 0x7a, 0xeb, 0x5a, 0xcb, + 0x04, 0x20, 0xd3, 0x07, 0xef, 0x17, 0x30, 0xcc, 0x61, 0xf2, 0xe9, 0x46, 0xb0, 0x34, 0x46, 0xe7, + 0xc1, 0x8b, 0xcb, 0x96, 0xf0, 0xf2, 0xb2, 0x25, 0xfc, 0x7d, 0xd9, 0x12, 0x9e, 0x5d, 0xb5, 0x4a, + 0x2f, 0xaf, 0x5a, 0xa5, 0x57, 0x57, 0xad, 0xd2, 0x0f, 0x9f, 0x14, 0xbe, 0x85, 0x17, 0xfc, 0x7b, + 0x99, 0xbe, 0x8a, 0x66, 0x9d, 0x96, 0xe4, 0x67, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xa6, 0x53, + 0x97, 0x88, 0x14, 0x0c, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -783,6 +794,20 @@ func (m *MsgCreateValidator) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.EthAddress) > 0 { + i -= len(m.EthAddress) + copy(dAtA[i:], m.EthAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.EthAddress))) + i-- + dAtA[i] = 0x4a + } + if len(m.Orchestrator) > 0 { + i -= len(m.Orchestrator) + copy(dAtA[i:], m.Orchestrator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Orchestrator))) + i-- + dAtA[i] = 0x42 + } { size, err := m.Value.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -895,6 +920,20 @@ func (m *MsgEditValidator) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.EthAddress) > 0 { + i -= len(m.EthAddress) + copy(dAtA[i:], m.EthAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.EthAddress))) + i-- + dAtA[i] = 0x32 + } + if len(m.Orchestrator) > 0 { + i -= len(m.Orchestrator) + copy(dAtA[i:], m.Orchestrator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Orchestrator))) + i-- + dAtA[i] = 0x2a + } if m.MinSelfDelegation != nil { { size := m.MinSelfDelegation.Size() @@ -1232,6 +1271,14 @@ func (m *MsgCreateValidator) Size() (n int) { } l = m.Value.Size() n += 1 + l + sovTx(uint64(l)) + l = len(m.Orchestrator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.EthAddress) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -1264,6 +1311,14 @@ func (m *MsgEditValidator) Size() (n int) { l = m.MinSelfDelegation.Size() n += 1 + l + sovTx(uint64(l)) } + l = len(m.Orchestrator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.EthAddress) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -1636,6 +1691,70 @@ func (m *MsgCreateValidator) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Orchestrator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Orchestrator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EthAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EthAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -1873,6 +1992,70 @@ func (m *MsgEditValidator) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Orchestrator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Orchestrator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EthAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EthAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) diff --git a/x/staking/types/validator.go b/x/staking/types/validator.go index ed394acf4969..75e5a1617a80 100644 --- a/x/staking/types/validator.go +++ b/x/staking/types/validator.go @@ -39,7 +39,7 @@ var _ ValidatorI = Validator{} // NewValidator constructs a new Validator //nolint:interfacer -func NewValidator(operator sdk.ValAddress, pubKey cryptotypes.PubKey, description Description) (Validator, error) { +func NewValidator(operator sdk.ValAddress, pubKey cryptotypes.PubKey, description Description, orchAddr sdk.AccAddress, ethAddress EthAddress) (Validator, error) { pkAny, err := codectypes.NewAnyWithValue(pubKey) if err != nil { return Validator{}, err @@ -57,6 +57,8 @@ func NewValidator(operator sdk.ValAddress, pubKey cryptotypes.PubKey, descriptio UnbondingTime: time.Unix(0, 0).UTC(), Commission: NewCommission(sdk.ZeroDec(), sdk.ZeroDec(), sdk.ZeroDec()), MinSelfDelegation: sdk.OneInt(), + Orchestrator: orchAddr.String(), + EthAddress: ethAddress.address, }, nil }