diff --git a/cmd/lncli/cmd_open_channel.go b/cmd/lncli/cmd_open_channel.go index 68e1bbb2..3ee9876f 100644 --- a/cmd/lncli/cmd_open_channel.go +++ b/cmd/lncli/cmd_open_channel.go @@ -84,7 +84,7 @@ var openChannelCommand = cli.Command{ another address. One can manually set the fee to be used for the funding transaction via either - the --conf_target or --sat_per_byte arguments. This is optional.`, + the --conf_target or --sat_per_vbyte arguments. This is optional.`, ArgsUsage: "node-key local-amt push-amt", Flags: []cli.Flag{ cli.StringFlag{ @@ -119,9 +119,14 @@ var openChannelCommand = cli.Command{ "used for fee estimation", }, cli.Int64Flag{ - Name: "sat_per_byte", + Name: "sat_per_byte", + Usage: "Deprecated, use sat_per_vbyte instead.", + Hidden: true, + }, + cli.Int64Flag{ + Name: "sat_per_vbyte", Usage: "(optional) a manual fee expressed in " + - "sat/byte that should be used when crafting " + + "sat/vbyte that should be used when crafting " + "the transaction", }, cli.BoolFlag{ @@ -214,10 +219,19 @@ func openChannel(ctx *cli.Context) error { return nil } + // Check that only the field sat_per_vbyte or the deprecated field + // sat_per_byte is used. + feeRateFlag, err := checkNotBothSet( + ctx, "sat_per_vbyte", "sat_per_byte", + ) + if err != nil { + return err + } + minConfs := int32(ctx.Uint64("min_confs")) req := &lnrpc.OpenChannelRequest{ TargetConf: int32(ctx.Int64("conf_target")), - SatPerByte: ctx.Int64("sat_per_byte"), + SatPerVbyte: ctx.Uint64(feeRateFlag), MinHtlcMsat: ctx.Int64("min_htlc_msat"), RemoteCsvDelay: uint32(ctx.Uint64("remote_csv_delay")), MinConfs: minConfs, @@ -730,7 +744,7 @@ func checkPsbtFlags(req *lnrpc.OpenChannelRequest) error { return fmt.Errorf("specifying minimum confirmations for PSBT " + "funding is not supported") } - if req.TargetConf != 0 || req.SatPerByte != 0 { + if req.TargetConf != 0 || req.SatPerByte != 0 || req.SatPerVbyte != 0 { return fmt.Errorf("setting fee estimation parameters not " + "supported for PSBT funding") } diff --git a/cmd/lncli/commands.go b/cmd/lncli/commands.go index 13673ec5..51d43eae 100644 --- a/cmd/lncli/commands.go +++ b/cmd/lncli/commands.go @@ -225,7 +225,7 @@ var sendCoinsCommand = cli.Command{ Send amt coins in satoshis to the base58 or bech32 encoded bitcoin address addr. Fees used when sending the transaction can be specified via the --conf_target, or - --sat_per_byte optional flags. + --sat_per_vbyte optional flags. Positional arguments and flags can be used interchangeably but not at the same time! `, @@ -253,9 +253,14 @@ var sendCoinsCommand = cli.Command{ "used for fee estimation", }, cli.Int64Flag{ - Name: "sat_per_byte", + Name: "sat_per_byte", + Usage: "Deprecated, use sat_per_vbyte instead.", + Hidden: true, + }, + cli.Int64Flag{ + Name: "sat_per_vbyte", Usage: "(optional) a manual fee expressed in " + - "sat/byte that should be used when crafting " + + "sat/vbyte that should be used when crafting " + "the transaction", }, cli.Uint64Flag{ @@ -284,9 +289,20 @@ func sendCoins(ctx *cli.Context) error { return nil } - if ctx.IsSet("conf_target") && ctx.IsSet("sat_per_byte") { - return fmt.Errorf("either conf_target or sat_per_byte should be " + - "set, but not both") + // Check that only the field sat_per_vbyte or the deprecated field + // sat_per_byte is used. + feeRateFlag, err := checkNotBothSet( + ctx, "sat_per_vbyte", "sat_per_byte", + ) + if err != nil { + return err + } + + // Only fee rate flag or conf_target should be set, not both. + if _, err := checkNotBothSet( + ctx, feeRateFlag, "conf_target", + ); err != nil { + return err } switch { @@ -324,7 +340,7 @@ func sendCoins(ctx *cli.Context) error { Addr: addr, Amount: amt, TargetConf: int32(ctx.Int64("conf_target")), - SatPerByte: ctx.Int64("sat_per_byte"), + SatPerVbyte: ctx.Uint64(feeRateFlag), SendAll: ctx.Bool("sweepall"), Label: ctx.String(txLabelFlag.Name), MinConfs: minConfs, @@ -464,7 +480,7 @@ var sendManyCommand = cli.Command{ Name: "sendmany", Category: "On-chain", Usage: "Send bitcoin on-chain to multiple addresses.", - ArgsUsage: "send-json-string [--conf_target=N] [--sat_per_byte=P]", + ArgsUsage: "send-json-string [--conf_target=N] [--sat_per_vbyte=P]", Description: ` Create and broadcast a transaction paying the specified amount(s) to the passed address(es). @@ -480,9 +496,15 @@ var sendManyCommand = cli.Command{ "confirm in, will be used for fee estimation", }, cli.Int64Flag{ - Name: "sat_per_byte", - Usage: "(optional) a manual fee expressed in sat/byte that should be " + - "used when crafting the transaction", + Name: "sat_per_byte", + Usage: "Deprecated, use sat_per_vbyte instead.", + Hidden: true, + }, + cli.Int64Flag{ + Name: "sat_per_vbyte", + Usage: "(optional) a manual fee expressed in " + + "sat/vbyte that should be used when crafting " + + "the transaction", }, cli.Uint64Flag{ Name: "min_confs", @@ -505,9 +527,20 @@ func sendMany(ctx *cli.Context) error { return err } - if ctx.IsSet("conf_target") && ctx.IsSet("sat_per_byte") { - return fmt.Errorf("either conf_target or sat_per_byte should be " + - "set, but not both") + // Check that only the field sat_per_vbyte or the deprecated field + // sat_per_byte is used. + feeRateFlag, err := checkNotBothSet( + ctx, "sat_per_vbyte", "sat_per_byte", + ) + if err != nil { + return err + } + + // Only fee rate flag or conf_target should be set, not both. + if _, err := checkNotBothSet( + ctx, feeRateFlag, "conf_target", + ); err != nil { + return err } client, cleanUp := getClient(ctx) @@ -517,7 +550,7 @@ func sendMany(ctx *cli.Context) error { txid, err := client.SendMany(ctxc, &lnrpc.SendManyRequest{ AddrToAmount: amountToAddr, TargetConf: int32(ctx.Int64("conf_target")), - SatPerByte: ctx.Int64("sat_per_byte"), + SatPerVbyte: ctx.Uint64(feeRateFlag), Label: ctx.String(txLabelFlag.Name), MinConfs: minConfs, SpendUnconfirmed: minConfs == 0, @@ -651,7 +684,7 @@ var closeChannelCommand = cli.Command{ In the case of a cooperative closure, one can manually set the fee to be used for the closing transaction via either the --conf_target or - --sat_per_byte arguments. This will be the starting value used during + --sat_per_vbyte arguments. This will be the starting value used during fee negotiation. This is optional. In the case of a cooperative closure, one can manually set the address @@ -690,9 +723,14 @@ var closeChannelCommand = cli.Command{ "lnd config will be used.", }, cli.Int64Flag{ - Name: "sat_per_byte", + Name: "sat_per_byte", + Usage: "Deprecated, use sat_per_vbyte instead.", + Hidden: true, + }, + cli.Int64Flag{ + Name: "sat_per_vbyte", Usage: "(optional) a manual fee expressed in " + - "sat/byte that should be used when crafting " + + "sat/vbyte that should be used when crafting " + "the transaction", }, cli.StringFlag{ @@ -717,6 +755,15 @@ func closeChannel(ctx *cli.Context) error { return nil } + // Check that only the field sat_per_vbyte or the deprecated field + // sat_per_byte is used. + feeRateFlag, err := checkNotBothSet( + ctx, "sat_per_vbyte", "sat_per_byte", + ) + if err != nil { + return err + } + channelPoint, err := parseChannelPoint(ctx) if err != nil { return err @@ -727,7 +774,7 @@ func closeChannel(ctx *cli.Context) error { ChannelPoint: channelPoint, Force: ctx.Bool("force"), TargetConf: int32(ctx.Int64("conf_target")), - SatPerByte: ctx.Int64("sat_per_byte"), + SatPerVbyte: ctx.Uint64(feeRateFlag), DeliveryAddress: ctx.String("delivery_addr"), } @@ -824,7 +871,7 @@ var closeAllChannelsCommand = cli.Command{ In the case of cooperative closures, one can manually set the fee to be used for the closing transactions via either the --conf_target or - --sat_per_byte arguments. This will be the starting value used during + --sat_per_vbyte arguments. This will be the starting value used during fee negotiation. This is optional.`, Flags: []cli.Flag{ cli.BoolFlag{ @@ -843,9 +890,14 @@ var closeAllChannelsCommand = cli.Command{ "used for fee estimation", }, cli.Int64Flag{ - Name: "sat_per_byte", + Name: "sat_per_byte", + Usage: "Deprecated, use sat_per_vbyte instead.", + Hidden: true, + }, + cli.Int64Flag{ + Name: "sat_per_vbyte", Usage: "(optional) a manual fee expressed in " + - "sat/byte that should be used when crafting " + + "sat/vbyte that should be used when crafting " + "the closing transactions", }, }, @@ -857,6 +909,15 @@ func closeAllChannels(ctx *cli.Context) error { client, cleanUp := getClient(ctx) defer cleanUp() + // Check that only the field sat_per_vbyte or the deprecated field + // sat_per_byte is used. + feeRateFlag, err := checkNotBothSet( + ctx, "sat_per_vbyte", "sat_per_byte", + ) + if err != nil { + return err + } + listReq := &lnrpc.ListChannelsRequest{} openChannels, err := client.ListChannels(ctxc, listReq) if err != nil { @@ -983,9 +1044,9 @@ func closeAllChannels(ctx *cli.Context) error { }, OutputIndex: uint32(index), }, - Force: !channel.GetActive(), - TargetConf: int32(ctx.Int64("conf_target")), - SatPerByte: ctx.Int64("sat_per_byte"), + Force: !channel.GetActive(), + TargetConf: int32(ctx.Int64("conf_target")), + SatPerVbyte: ctx.Uint64(feeRateFlag), } txidChan := make(chan string, 1) diff --git a/cmd/lncli/main.go b/cmd/lncli/main.go index 0350238b..0abe2510 100644 --- a/cmd/lncli/main.go +++ b/cmd/lncli/main.go @@ -240,6 +240,23 @@ func extractPathArgs(ctx *cli.Context) (string, string, error) { return tlsCertPath, macPath, nil } +// checkNotBothSet accepts two flag names, a and b, and checks that only flag a +// or flag b can be set, but not both. It returns the name of the flag or an +// error. +func checkNotBothSet(ctx *cli.Context, a, b string) (string, error) { + if ctx.IsSet(a) && ctx.IsSet(b) { + return "", fmt.Errorf( + "either %s or %s should be set, but not both", a, b, + ) + } + + if ctx.IsSet(a) { + return a, nil + } + + return b, nil +} + func main() { app := cli.NewApp() app.Name = "lncli" diff --git a/cmd/lncli/walletrpc_active.go b/cmd/lncli/walletrpc_active.go index b7f8fd32..0f13f58d 100644 --- a/cmd/lncli/walletrpc_active.go +++ b/cmd/lncli/walletrpc_active.go @@ -88,8 +88,8 @@ func pendingSweeps(ctx *cli.Context) error { // Sort them in ascending fee rate order for display purposes. sort.Slice(resp.PendingSweeps, func(i, j int) bool { - return resp.PendingSweeps[i].SatPerByte < - resp.PendingSweeps[j].SatPerByte + return resp.PendingSweeps[i].SatPerVbyte < + resp.PendingSweeps[j].SatPerVbyte }) var pendingSweepsResp = struct { @@ -134,7 +134,7 @@ var bumpFeeCommand = cli.Command{ fee transaction that is under the control of the wallet. A fee preference must be provided, either through the conf_target or - sat_per_byte parameters. + sat_per_vbyte parameters. Note that this command currently doesn't perform any validation checks on the fee preference being provided. For now, the responsibility of @@ -153,8 +153,13 @@ var bumpFeeCommand = cli.Command{ "be swept on-chain within", }, cli.Uint64Flag{ - Name: "sat_per_byte", - Usage: "a manual fee expressed in sat/byte that " + + Name: "sat_per_byte", + Usage: "Deprecated, use sat_per_vbyte instead.", + Hidden: true, + }, + cli.Uint64Flag{ + Name: "sat_per_vbyte", + Usage: "a manual fee expressed in sat/vbyte that " + "should be used when sweeping the output", }, cli.BoolFlag{ @@ -174,6 +179,15 @@ func bumpFee(ctx *cli.Context) error { return cli.ShowCommandHelp(ctx, "bumpfee") } + // Check that only the field sat_per_vbyte or the deprecated field + // sat_per_byte is used. + feeRateFlag, err := checkNotBothSet( + ctx, "sat_per_vbyte", "sat_per_byte", + ) + if err != nil { + return err + } + // Validate and parse the relevant arguments/flags. protoOutPoint, err := NewProtoOutPoint(ctx.Args().Get(0)) if err != nil { @@ -184,10 +198,10 @@ func bumpFee(ctx *cli.Context) error { defer cleanUp() resp, err := client.BumpFee(ctxc, &walletrpc.BumpFeeRequest{ - Outpoint: protoOutPoint, - TargetConf: uint32(ctx.Uint64("conf_target")), - SatPerByte: uint32(ctx.Uint64("sat_per_byte")), - Force: ctx.Bool("force"), + Outpoint: protoOutPoint, + TargetConf: uint32(ctx.Uint64("conf_target")), + SatPerVbyte: ctx.Uint64(feeRateFlag), + Force: ctx.Bool("force"), }) if err != nil { return err @@ -216,8 +230,13 @@ var bumpCloseFeeCommand = cli.Command{ "be swept on-chain within", }, cli.Uint64Flag{ - Name: "sat_per_byte", - Usage: "a manual fee expressed in sat/byte that " + + Name: "sat_per_byte", + Usage: "Deprecated, use sat_per_vbyte instead.", + Hidden: true, + }, + cli.Uint64Flag{ + Name: "sat_per_vbyte", + Usage: "a manual fee expressed in sat/vbyte that " + "should be used when sweeping the output", }, }, @@ -233,9 +252,18 @@ func bumpCloseFee(ctx *cli.Context) error { return cli.ShowCommandHelp(ctx, "bumpclosefee") } + // Check that only the field sat_per_vbyte or the deprecated field + // sat_per_byte is used. + feeRateFlag, err := checkNotBothSet( + ctx, "sat_per_vbyte", "sat_per_byte", + ) + if err != nil { + return err + } + // Validate the channel point. channelPoint := ctx.Args().Get(0) - _, err := NewProtoOutPoint(channelPoint) + _, err = NewProtoOutPoint(channelPoint) if err != nil { return err } @@ -291,10 +319,10 @@ func bumpCloseFee(ctx *cli.Context) error { sweepTxID, sweep.Outpoint.OutputIndex) _, err = walletClient.BumpFee(ctxc, &walletrpc.BumpFeeRequest{ - Outpoint: sweep.Outpoint, - TargetConf: uint32(ctx.Uint64("conf_target")), - SatPerByte: uint32(ctx.Uint64("sat_per_byte")), - Force: true, + Outpoint: sweep.Outpoint, + TargetConf: uint32(ctx.Uint64("conf_target")), + SatPerVbyte: ctx.Uint64(feeRateFlag), + Force: true, }) if err != nil { return err @@ -595,7 +623,7 @@ func fundPsbt(ctx *cli.Context) error { case ctx.Uint64("sat_per_vbyte") > 0: req.Fees = &walletrpc.FundPsbtRequest_SatPerVbyte{ - SatPerVbyte: uint32(ctx.Uint64("sat_per_vbyte")), + SatPerVbyte: ctx.Uint64("sat_per_vbyte"), } } diff --git a/cmd/lncli/walletrpc_types.go b/cmd/lncli/walletrpc_types.go index c2b56981..09b3ec69 100644 --- a/cmd/lncli/walletrpc_types.go +++ b/cmd/lncli/walletrpc_types.go @@ -5,29 +5,29 @@ import "github.com/lightningnetwork/lnd/lnrpc/walletrpc" // PendingSweep is a CLI-friendly type of the walletrpc.PendingSweep proto. We // use this to show more useful string versions of byte slices and enums. type PendingSweep struct { - OutPoint OutPoint `json:"outpoint"` - WitnessType string `json:"witness_type"` - AmountSat uint32 `json:"amount_sat"` - SatPerByte uint32 `json:"sat_per_byte"` - BroadcastAttempts uint32 `json:"broadcast_attempts"` - NextBroadcastHeight uint32 `json:"next_broadcast_height"` - RequestedSatPerByte uint32 `json:"requested_sat_per_byte"` - RequestedConfTarget uint32 `json:"requested_conf_target"` - Force bool `json:"force"` + OutPoint OutPoint `json:"outpoint"` + WitnessType string `json:"witness_type"` + AmountSat uint32 `json:"amount_sat"` + SatPerVByte uint32 `json:"sat_per_vbyte"` + BroadcastAttempts uint32 `json:"broadcast_attempts"` + NextBroadcastHeight uint32 `json:"next_broadcast_height"` + RequestedSatPerVByte uint32 `json:"requested_sat_per_vbyte"` + RequestedConfTarget uint32 `json:"requested_conf_target"` + Force bool `json:"force"` } // NewPendingSweepFromProto converts the walletrpc.PendingSweep proto type into // its corresponding CLI-friendly type. func NewPendingSweepFromProto(pendingSweep *walletrpc.PendingSweep) *PendingSweep { return &PendingSweep{ - OutPoint: NewOutPointFromProto(pendingSweep.Outpoint), - WitnessType: pendingSweep.WitnessType.String(), - AmountSat: pendingSweep.AmountSat, - SatPerByte: pendingSweep.SatPerByte, - BroadcastAttempts: pendingSweep.BroadcastAttempts, - NextBroadcastHeight: pendingSweep.NextBroadcastHeight, - RequestedSatPerByte: pendingSweep.RequestedSatPerByte, - RequestedConfTarget: pendingSweep.RequestedConfTarget, - Force: pendingSweep.Force, + OutPoint: NewOutPointFromProto(pendingSweep.Outpoint), + WitnessType: pendingSweep.WitnessType.String(), + AmountSat: pendingSweep.AmountSat, + SatPerVByte: uint32(pendingSweep.SatPerVbyte), + BroadcastAttempts: pendingSweep.BroadcastAttempts, + NextBroadcastHeight: pendingSweep.NextBroadcastHeight, + RequestedSatPerVByte: uint32(pendingSweep.RequestedSatPerVbyte), + RequestedConfTarget: pendingSweep.RequestedConfTarget, + Force: pendingSweep.Force, } } diff --git a/docs/watchtower.md b/docs/watchtower.md index afab5381..b114c790 100644 --- a/docs/watchtower.md +++ b/docs/watchtower.md @@ -209,7 +209,7 @@ To obtain information about the watchtower's sessions, users can use the "num_backups": 0, "num_pending_backups": 0, "max_backups": 1024, - "sweep_sat_per_byte": 10 + "sweep_sat_per_vbyte": 10 } ] } diff --git a/lnrpc/rpc.pb.go b/lnrpc/rpc.pb.go index 1bb6ee0a..f4eb66b6 100644 --- a/lnrpc/rpc.pb.go +++ b/lnrpc/rpc.pb.go @@ -2075,8 +2075,11 @@ func (m *EstimateFeeRequest) GetTargetConf() int32 { type EstimateFeeResponse struct { // The total fee in satoshis. FeeSat int64 `protobuf:"varint,1,opt,name=fee_sat,json=feeSat,proto3" json:"fee_sat,omitempty"` - // The fee rate in satoshi/byte. - FeerateSatPerByte int64 `protobuf:"varint,2,opt,name=feerate_sat_per_byte,json=feerateSatPerByte,proto3" json:"feerate_sat_per_byte,omitempty"` + // Deprecated, use sat_per_vbyte. + // The fee rate in satoshi/vbyte. + FeerateSatPerByte int64 `protobuf:"varint,2,opt,name=feerate_sat_per_byte,json=feerateSatPerByte,proto3" json:"feerate_sat_per_byte,omitempty"` // Deprecated: Do not use. + // The fee rate in satoshi/vbyte. + SatPerVbyte uint64 `protobuf:"varint,3,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2114,6 +2117,7 @@ func (m *EstimateFeeResponse) GetFeeSat() int64 { return 0 } +// Deprecated: Do not use. func (m *EstimateFeeResponse) GetFeerateSatPerByte() int64 { if m != nil { return m.FeerateSatPerByte @@ -2121,15 +2125,26 @@ func (m *EstimateFeeResponse) GetFeerateSatPerByte() int64 { return 0 } +func (m *EstimateFeeResponse) GetSatPerVbyte() uint64 { + if m != nil { + return m.SatPerVbyte + } + return 0 +} + type SendManyRequest struct { // The map from addresses to amounts AddrToAmount map[string]int64 `protobuf:"bytes,1,rep,name=AddrToAmount,proto3" json:"AddrToAmount,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // The target number of blocks that this transaction should be confirmed // by. TargetConf int32 `protobuf:"varint,3,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"` - // A manual fee rate set in sat/byte that should be used when crafting the + // A manual fee rate set in sat/vbyte that should be used when crafting the // transaction. - SatPerByte int64 `protobuf:"varint,5,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` + SatPerVbyte uint64 `protobuf:"varint,4,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"` + // Deprecated, use sat_per_vbyte. + // A manual fee rate set in sat/vbyte that should be used when crafting the + // transaction. + SatPerByte int64 `protobuf:"varint,5,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` // Deprecated: Do not use. // An optional label for the transaction, limited to 500 characters. Label string `protobuf:"bytes,6,opt,name=label,proto3" json:"label,omitempty"` // The minimum number of confirmations each one of your outputs used for @@ -2181,6 +2196,14 @@ func (m *SendManyRequest) GetTargetConf() int32 { return 0 } +func (m *SendManyRequest) GetSatPerVbyte() uint64 { + if m != nil { + return m.SatPerVbyte + } + return 0 +} + +// Deprecated: Do not use. func (m *SendManyRequest) GetSatPerByte() int64 { if m != nil { return m.SatPerByte @@ -2257,9 +2280,13 @@ type SendCoinsRequest struct { // The target number of blocks that this transaction should be confirmed // by. TargetConf int32 `protobuf:"varint,3,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"` - // A manual fee rate set in sat/byte that should be used when crafting the + // A manual fee rate set in sat/vbyte that should be used when crafting the // transaction. - SatPerByte int64 `protobuf:"varint,5,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` + SatPerVbyte uint64 `protobuf:"varint,4,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"` + // Deprecated, use sat_per_vbyte. + // A manual fee rate set in sat/vbyte that should be used when crafting the + // transaction. + SatPerByte int64 `protobuf:"varint,5,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` // Deprecated: Do not use. // //If set, then the amount field will be ignored, and lnd will attempt to //send all the coins under control of the internal wallet to the specified @@ -2323,6 +2350,14 @@ func (m *SendCoinsRequest) GetTargetConf() int32 { return 0 } +func (m *SendCoinsRequest) GetSatPerVbyte() uint64 { + if m != nil { + return m.SatPerVbyte + } + return 0 +} + +// Deprecated: Do not use. func (m *SendCoinsRequest) GetSatPerByte() int64 { if m != nil { return m.SatPerByte @@ -4801,15 +4836,19 @@ type CloseChannelRequest struct { // The target number of blocks that the closure transaction should be // confirmed by. TargetConf int32 `protobuf:"varint,3,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"` - // A manual fee rate set in sat/byte that should be used when crafting the + // Deprecated, use sat_per_vbyte. + // A manual fee rate set in sat/vbyte that should be used when crafting the // closure transaction. - SatPerByte int64 `protobuf:"varint,4,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` + SatPerByte int64 `protobuf:"varint,4,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` // Deprecated: Do not use. // //An optional address to send funds to in the case of a cooperative close. //If the channel was opened with an upfront shutdown script and this field //is set, the request to close will fail because the channel must pay out //to the upfront shutdown addresss. - DeliveryAddress string `protobuf:"bytes,5,opt,name=delivery_address,json=deliveryAddress,proto3" json:"delivery_address,omitempty"` + DeliveryAddress string `protobuf:"bytes,5,opt,name=delivery_address,json=deliveryAddress,proto3" json:"delivery_address,omitempty"` + // A manual fee rate set in sat/vbyte that should be used when crafting the + // closure transaction. + SatPerVbyte uint64 `protobuf:"varint,6,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -4861,6 +4900,7 @@ func (m *CloseChannelRequest) GetTargetConf() int32 { return 0 } +// Deprecated: Do not use. func (m *CloseChannelRequest) GetSatPerByte() int64 { if m != nil { return m.SatPerByte @@ -4875,6 +4915,13 @@ func (m *CloseChannelRequest) GetDeliveryAddress() string { return "" } +func (m *CloseChannelRequest) GetSatPerVbyte() uint64 { + if m != nil { + return m.SatPerVbyte + } + return 0 +} + type CloseStatusUpdate struct { // Types that are valid to be assigned to Update: // *CloseStatusUpdate_ClosePending @@ -5069,6 +5116,9 @@ func (m *ReadyForPsbtFunding) GetPsbt() []byte { } type OpenChannelRequest struct { + // A manual fee rate set in sat/vbyte that should be used when crafting the + // funding transaction. + SatPerVbyte uint64 `protobuf:"varint,1,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"` // //The pubkey of the node to open a channel with. When using REST, this field //must be encoded as base64. @@ -5085,9 +5135,10 @@ type OpenChannelRequest struct { // The target number of blocks that the funding transaction should be // confirmed by. TargetConf int32 `protobuf:"varint,6,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"` - // A manual fee rate set in sat/byte that should be used when crafting the + // Deprecated, use sat_per_vbyte. + // A manual fee rate set in sat/vbyte that should be used when crafting the // funding transaction. - SatPerByte int64 `protobuf:"varint,7,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` + SatPerByte int64 `protobuf:"varint,7,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` // Deprecated: Do not use. // Whether this channel should be private, not announced to the greater // network. Private bool `protobuf:"varint,8,opt,name=private,proto3" json:"private,omitempty"` @@ -5162,6 +5213,13 @@ func (m *OpenChannelRequest) XXX_DiscardUnknown() { var xxx_messageInfo_OpenChannelRequest proto.InternalMessageInfo +func (m *OpenChannelRequest) GetSatPerVbyte() uint64 { + if m != nil { + return m.SatPerVbyte + } + return 0 +} + func (m *OpenChannelRequest) GetNodePubkey() []byte { if m != nil { return m.NodePubkey @@ -5198,6 +5256,7 @@ func (m *OpenChannelRequest) GetTargetConf() int32 { return 0 } +// Deprecated: Do not use. func (m *OpenChannelRequest) GetSatPerByte() int64 { if m != nil { return m.SatPerByte @@ -12984,792 +13043,795 @@ func init() { func init() { proto.RegisterFile("rpc.proto", fileDescriptor_77a6da22d6a3feb1) } var fileDescriptor_77a6da22d6a3feb1 = []byte{ - // 12560 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0xbd, 0x6b, 0x6c, 0x23, 0x59, - 0x76, 0x18, 0xdc, 0x7c, 0x89, 0xe4, 0x21, 0x29, 0x51, 0x57, 0x2f, 0xb6, 0x7a, 0x7a, 0xba, 0xa7, - 0x66, 0x76, 0xa6, 0xb7, 0x67, 0x46, 0xd3, 0xd3, 0x33, 0x3d, 0x8f, 0xed, 0xcf, 0xeb, 0xa5, 0x24, - 0xaa, 0xc5, 0x6d, 0x89, 0xd4, 0x16, 0xa9, 0x19, 0xcf, 0xc2, 0x76, 0xb9, 0x44, 0x5e, 0x49, 0xf5, - 0x35, 0x59, 0xc5, 0xad, 0x2a, 0xaa, 0xa5, 0x0d, 0x02, 0xf8, 0x87, 0xe3, 0x04, 0x86, 0x11, 0x20, - 0x40, 0x1c, 0xe4, 0x65, 0x24, 0x41, 0x80, 0xe4, 0x9f, 0x61, 0xc0, 0xf6, 0xaf, 0xe4, 0x5f, 0x80, - 0x04, 0x01, 0x12, 0x04, 0x41, 0x62, 0xe4, 0x81, 0x20, 0x41, 0x80, 0xc4, 0x01, 0x12, 0x20, 0x31, - 0xe0, 0xbf, 0x0e, 0x12, 0xdc, 0x73, 0x1f, 0x75, 0xeb, 0xa1, 0xee, 0x9e, 0xdd, 0xc9, 0xfe, 0x91, - 0x58, 0xe7, 0x9c, 0xfb, 0xbe, 0xf7, 0xdc, 0x73, 0xcf, 0x39, 0xf7, 0x5c, 0xa8, 0xfa, 0xb3, 0xd1, - 0xd6, 0xcc, 0xf7, 0x42, 0x8f, 0x94, 0x26, 0xae, 0x3f, 0x1b, 0x19, 0x7f, 0x94, 0x83, 0xe2, 0x71, - 0x78, 0xe9, 0x91, 0x47, 0x50, 0xb7, 0xc7, 0x63, 0x9f, 0x06, 0x81, 0x15, 0x5e, 0xcd, 0x68, 0x2b, - 0x77, 0x37, 0x77, 0x6f, 0xf1, 0x21, 0xd9, 0x42, 0xb2, 0xad, 0x36, 0x47, 0x0d, 0xaf, 0x66, 0xd4, - 0xac, 0xd9, 0xd1, 0x07, 0x69, 0x41, 0x59, 0x7c, 0xb6, 0xf2, 0x77, 0x73, 0xf7, 0xaa, 0xa6, 0xfc, - 0x24, 0xb7, 0x01, 0xec, 0xa9, 0x37, 0x77, 0x43, 0x2b, 0xb0, 0xc3, 0x56, 0xe1, 0x6e, 0xee, 0x5e, - 0xc1, 0xac, 0x72, 0xc8, 0xc0, 0x0e, 0xc9, 0x2d, 0xa8, 0xce, 0x9e, 0x59, 0xc1, 0xc8, 0x77, 0x66, - 0x61, 0xab, 0x88, 0x49, 0x2b, 0xb3, 0x67, 0x03, 0xfc, 0x26, 0xef, 0x42, 0xc5, 0x9b, 0x87, 0x33, - 0xcf, 0x71, 0xc3, 0x56, 0xe9, 0x6e, 0xee, 0x5e, 0xed, 0xe1, 0x92, 0xa8, 0x48, 0x7f, 0x1e, 0x1e, - 0x31, 0xb0, 0xa9, 0x08, 0xc8, 0x5b, 0xd0, 0x18, 0x79, 0xee, 0xa9, 0xe3, 0x4f, 0xed, 0xd0, 0xf1, - 0xdc, 0xa0, 0xb5, 0x80, 0x65, 0xc5, 0x81, 0xc6, 0x3f, 0xce, 0x43, 0x6d, 0xe8, 0xdb, 0x6e, 0x60, - 0x8f, 0x18, 0x80, 0x6c, 0x40, 0x39, 0xbc, 0xb4, 0xce, 0xed, 0xe0, 0x1c, 0x9b, 0x5a, 0x35, 0x17, - 0xc2, 0xcb, 0x7d, 0x3b, 0x38, 0x27, 0xeb, 0xb0, 0xc0, 0x6b, 0x89, 0x0d, 0x2a, 0x98, 0xe2, 0x8b, - 0xbc, 0x0b, 0xcb, 0xee, 0x7c, 0x6a, 0xc5, 0x8b, 0x62, 0xcd, 0x2a, 0x99, 0x4d, 0x77, 0x3e, 0xdd, - 0xd1, 0xe1, 0xac, 0xf1, 0x27, 0x13, 0x6f, 0xf4, 0x8c, 0x17, 0xc0, 0x9b, 0x57, 0x45, 0x08, 0x96, - 0xf1, 0x06, 0xd4, 0x05, 0x9a, 0x3a, 0x67, 0xe7, 0xbc, 0x8d, 0x25, 0xb3, 0xc6, 0x09, 0x10, 0xc4, - 0x72, 0x08, 0x9d, 0x29, 0xb5, 0x82, 0xd0, 0x9e, 0xce, 0x44, 0x93, 0xaa, 0x0c, 0x32, 0x60, 0x00, - 0x44, 0x7b, 0xa1, 0x3d, 0xb1, 0x4e, 0x29, 0x0d, 0x5a, 0x65, 0x81, 0x66, 0x90, 0x3d, 0x4a, 0x03, - 0xf2, 0x2d, 0x58, 0x1c, 0xd3, 0x20, 0xb4, 0xc4, 0x60, 0xd0, 0xa0, 0x55, 0xb9, 0x5b, 0xb8, 0x57, - 0x35, 0x1b, 0x0c, 0xda, 0x96, 0x40, 0xf2, 0x1a, 0x80, 0x6f, 0x3f, 0xb7, 0x58, 0x47, 0xd0, 0xcb, - 0x56, 0x95, 0x8f, 0x82, 0x6f, 0x3f, 0x1f, 0x5e, 0xee, 0xd3, 0x4b, 0xb2, 0x0a, 0xa5, 0x89, 0x7d, - 0x42, 0x27, 0x2d, 0x40, 0x04, 0xff, 0x30, 0x7e, 0x08, 0xeb, 0x4f, 0x68, 0xa8, 0x75, 0x65, 0x60, - 0xd2, 0x1f, 0xcd, 0x69, 0x10, 0xb2, 0x56, 0x05, 0xa1, 0xed, 0x87, 0xb2, 0x55, 0x39, 0xde, 0x2a, - 0x84, 0x45, 0xad, 0xa2, 0xee, 0x58, 0x12, 0xe4, 0x91, 0xa0, 0x4a, 0xdd, 0x31, 0x47, 0x1b, 0x07, - 0x40, 0xb4, 0x8c, 0x77, 0x69, 0x68, 0x3b, 0x93, 0x80, 0x7c, 0x02, 0xf5, 0x50, 0x2b, 0xae, 0x95, - 0xbb, 0x5b, 0xb8, 0x57, 0x53, 0x53, 0x53, 0x4b, 0x60, 0xc6, 0xe8, 0x8c, 0x73, 0xa8, 0xec, 0x51, - 0x7a, 0xe0, 0x4c, 0x9d, 0x90, 0xac, 0x43, 0xe9, 0xd4, 0xb9, 0xa4, 0x63, 0xac, 0x54, 0x61, 0xff, - 0x86, 0xc9, 0x3f, 0xc9, 0x1d, 0x00, 0xfc, 0x61, 0x4d, 0xd5, 0x2c, 0xdd, 0xbf, 0x61, 0x56, 0x11, - 0x76, 0x18, 0xd8, 0x21, 0xd9, 0x84, 0xf2, 0x8c, 0xfa, 0x23, 0x2a, 0xe7, 0xc3, 0xfe, 0x0d, 0x53, - 0x02, 0xb6, 0xcb, 0x50, 0x9a, 0xb0, 0xdc, 0x8d, 0xff, 0x5e, 0x82, 0xda, 0x80, 0xba, 0x63, 0xd9, - 0x13, 0x04, 0x8a, 0xac, 0xa3, 0xb1, 0xb0, 0xba, 0x89, 0xbf, 0xc9, 0x9b, 0x50, 0xc3, 0x21, 0x09, - 0x42, 0xdf, 0x71, 0xcf, 0xf8, 0x6a, 0xd9, 0xce, 0xb7, 0x72, 0x26, 0x30, 0xf0, 0x00, 0xa1, 0xa4, - 0x09, 0x05, 0x7b, 0x2a, 0x57, 0x0b, 0xfb, 0x49, 0x6e, 0x42, 0xc5, 0x9e, 0x86, 0xbc, 0x7a, 0x75, - 0x04, 0x97, 0xed, 0x69, 0x88, 0x55, 0x7b, 0x03, 0xea, 0x33, 0xfb, 0x6a, 0x4a, 0xdd, 0x30, 0x9a, - 0x66, 0x75, 0xb3, 0x26, 0x60, 0x38, 0xd1, 0x1e, 0xc2, 0x8a, 0x4e, 0x22, 0x0b, 0x2f, 0xa9, 0xc2, - 0x97, 0x35, 0x6a, 0x51, 0x87, 0x77, 0x60, 0x49, 0xa6, 0xf1, 0x79, 0x7b, 0x70, 0xfa, 0x55, 0xcd, - 0x45, 0x01, 0x96, 0xad, 0xbc, 0x07, 0xcd, 0x53, 0xc7, 0xb5, 0x27, 0xd6, 0x68, 0x12, 0x5e, 0x58, - 0x63, 0x3a, 0x09, 0x6d, 0x9c, 0x89, 0x25, 0x73, 0x11, 0xe1, 0x3b, 0x93, 0xf0, 0x62, 0x97, 0x41, - 0xc9, 0x7b, 0x50, 0x3d, 0xa5, 0xd4, 0xc2, 0xce, 0x6a, 0x55, 0x62, 0x0b, 0x5a, 0x8e, 0x90, 0x59, - 0x39, 0x95, 0x63, 0xf5, 0x1e, 0x34, 0xbd, 0x79, 0x78, 0xe6, 0x39, 0xee, 0x99, 0x35, 0x3a, 0xb7, - 0x5d, 0xcb, 0x19, 0xe3, 0xdc, 0x2c, 0x6e, 0xe7, 0x1f, 0xe4, 0xcc, 0x45, 0x89, 0xdb, 0x39, 0xb7, - 0xdd, 0xee, 0x98, 0xbc, 0x0d, 0x4b, 0x13, 0x3b, 0x08, 0xad, 0x73, 0x6f, 0x66, 0xcd, 0xe6, 0x27, - 0xcf, 0xe8, 0x55, 0xab, 0x81, 0x1d, 0xd1, 0x60, 0xe0, 0x7d, 0x6f, 0x76, 0x84, 0x40, 0x36, 0xf5, - 0xb0, 0x9e, 0xbc, 0x12, 0x6c, 0x4a, 0x37, 0xcc, 0x2a, 0x83, 0xf0, 0x42, 0xbf, 0x82, 0x15, 0x1c, - 0x9e, 0xd1, 0x3c, 0x08, 0xbd, 0xa9, 0xe5, 0xd3, 0x91, 0xe7, 0x8f, 0x83, 0x56, 0x0d, 0xe7, 0xda, - 0xb7, 0x45, 0x65, 0xb5, 0x31, 0xde, 0xda, 0xa5, 0x41, 0xb8, 0x83, 0xc4, 0x26, 0xa7, 0xed, 0xb8, - 0xa1, 0x7f, 0x65, 0x2e, 0x8f, 0x93, 0x70, 0xf2, 0x1e, 0x10, 0x7b, 0x32, 0xf1, 0x9e, 0x5b, 0x01, - 0x9d, 0x9c, 0x5a, 0xa2, 0x13, 0x5b, 0x8b, 0x77, 0x73, 0xf7, 0x2a, 0x66, 0x13, 0x31, 0x03, 0x3a, - 0x39, 0x3d, 0xe2, 0x70, 0xf2, 0x09, 0xe0, 0x22, 0xb5, 0x4e, 0xa9, 0x1d, 0xce, 0x7d, 0x1a, 0xb4, - 0x96, 0xee, 0x16, 0xee, 0x2d, 0x3e, 0x5c, 0x56, 0xfd, 0x85, 0xe0, 0x6d, 0x27, 0x34, 0xeb, 0x8c, - 0x4e, 0x7c, 0x07, 0xfa, 0x6c, 0x60, 0xab, 0xbe, 0xd5, 0x8c, 0xcd, 0x06, 0xb6, 0xe6, 0x37, 0x77, - 0x61, 0x3d, 0xbb, 0xd6, 0x6c, 0xde, 0xb1, 0x8e, 0x63, 0xf3, 0xb5, 0x68, 0xb2, 0x9f, 0x6c, 0xf1, - 0x5f, 0xd8, 0x93, 0x39, 0xc5, 0x89, 0x5a, 0x37, 0xf9, 0xc7, 0x77, 0xf2, 0x9f, 0xe5, 0x8c, 0xdf, - 0xcf, 0x41, 0x9d, 0x77, 0x44, 0x30, 0xf3, 0xdc, 0x80, 0x92, 0x37, 0xa1, 0x21, 0x4b, 0xa6, 0xbe, - 0xef, 0xf9, 0x82, 0xa1, 0xca, 0xea, 0x74, 0x18, 0x8c, 0x7c, 0x1b, 0x9a, 0x92, 0x68, 0xe6, 0x53, - 0x67, 0x6a, 0x9f, 0xc9, 0xac, 0xe5, 0x6c, 0x3b, 0x12, 0x60, 0xf2, 0x61, 0x94, 0x9f, 0xef, 0xcd, - 0x43, 0x8a, 0xcb, 0xa1, 0xf6, 0xb0, 0x2e, 0x7a, 0xc0, 0x64, 0x30, 0x95, 0x3b, 0x7e, 0xbd, 0xc2, - 0x52, 0x30, 0x7e, 0x2b, 0x07, 0x84, 0x55, 0x7b, 0xe8, 0xf1, 0x0c, 0x22, 0xa6, 0x15, 0x4b, 0x99, - 0x7b, 0xe5, 0x45, 0x94, 0x7f, 0xd1, 0x22, 0x32, 0xa0, 0xc4, 0xeb, 0x5e, 0xcc, 0xa8, 0x3b, 0x47, - 0x7d, 0xbf, 0x58, 0x29, 0x34, 0x8b, 0xc6, 0xbf, 0x2f, 0xc0, 0x2a, 0x9b, 0xca, 0x2e, 0x9d, 0xb4, - 0x47, 0x23, 0x3a, 0x53, 0xcb, 0xeb, 0x0e, 0xd4, 0x5c, 0x6f, 0x4c, 0xe5, 0xa4, 0xe6, 0x15, 0x03, - 0x06, 0xd2, 0x66, 0xf4, 0xb9, 0xed, 0xb8, 0xbc, 0xe2, 0xbc, 0x33, 0xab, 0x08, 0xc1, 0x6a, 0xbf, - 0x0d, 0x4b, 0x33, 0xea, 0x8e, 0xf5, 0x55, 0x54, 0xe0, 0x0b, 0x43, 0x80, 0xc5, 0x02, 0xba, 0x03, - 0xb5, 0xd3, 0x39, 0xa7, 0x63, 0xbc, 0xa7, 0x88, 0x73, 0x00, 0x04, 0xa8, 0xcd, 0x59, 0xd0, 0x6c, - 0x1e, 0x9c, 0x23, 0xb6, 0x84, 0xd8, 0x32, 0xfb, 0x66, 0xa8, 0xdb, 0x00, 0xe3, 0x79, 0x10, 0x8a, - 0x45, 0xb5, 0x80, 0xc8, 0x2a, 0x83, 0xf0, 0x45, 0xf5, 0x3e, 0xac, 0x4c, 0xed, 0x4b, 0x0b, 0xe7, - 0x8e, 0xe5, 0xb8, 0xd6, 0xe9, 0x04, 0xf9, 0x7e, 0x19, 0xe9, 0x9a, 0x53, 0xfb, 0xf2, 0x0b, 0x86, - 0xe9, 0xba, 0x7b, 0x08, 0x67, 0x9c, 0x67, 0xc4, 0x7b, 0xc2, 0xf2, 0x69, 0x40, 0xfd, 0x0b, 0x8a, - 0xcc, 0xa2, 0x68, 0x2e, 0x0a, 0xb0, 0xc9, 0xa1, 0xac, 0x46, 0x53, 0xd6, 0xee, 0x70, 0x32, 0xe2, - 0x9c, 0xc1, 0x2c, 0x4f, 0x1d, 0x77, 0x3f, 0x9c, 0x8c, 0xd8, 0x96, 0xc6, 0x58, 0xcd, 0x8c, 0xfa, - 0xd6, 0xb3, 0xe7, 0xb8, 0xcc, 0x8b, 0xc8, 0x5a, 0x8e, 0xa8, 0xff, 0xf4, 0x39, 0x93, 0x3a, 0x46, - 0x01, 0xf2, 0x2a, 0xfb, 0xaa, 0x55, 0x43, 0x1e, 0x50, 0x19, 0x05, 0x8c, 0x4b, 0xd9, 0x57, 0x6c, - 0x9d, 0xb2, 0xda, 0xda, 0x38, 0x0a, 0x74, 0x8c, 0xd9, 0x07, 0xc8, 0x74, 0x1b, 0x58, 0xd9, 0xb6, - 0x40, 0xb0, 0x72, 0x02, 0x36, 0xeb, 0x65, 0x65, 0x4f, 0x27, 0xf6, 0x59, 0x80, 0x5c, 0xa7, 0x61, - 0xd6, 0x05, 0x70, 0x8f, 0xc1, 0x8c, 0x3f, 0xc9, 0xc3, 0x5a, 0x62, 0x70, 0xc5, 0xa2, 0x61, 0x62, - 0x06, 0x42, 0x70, 0x60, 0x2b, 0xa6, 0xf8, 0xca, 0x1a, 0xb5, 0x7c, 0xd6, 0xa8, 0xad, 0x42, 0x89, - 0x2f, 0xb6, 0x02, 0xdf, 0x9c, 0xa9, 0x5c, 0x65, 0xf3, 0xd9, 0xa9, 0xef, 0x31, 0xa9, 0xeb, 0x7c, - 0x1e, 0x8e, 0xbd, 0xe7, 0xae, 0x90, 0x3e, 0x96, 0x04, 0x7c, 0x20, 0xc0, 0xf1, 0xae, 0x28, 0x25, - 0xba, 0xe2, 0x0e, 0xd4, 0xc4, 0x08, 0xa0, 0xf4, 0xc6, 0x07, 0x16, 0x04, 0x88, 0x89, 0x6f, 0xef, - 0x02, 0x51, 0xe3, 0x69, 0xb1, 0x5e, 0xc3, 0x0d, 0x8a, 0x0f, 0xec, 0x92, 0x23, 0x06, 0xf4, 0xd0, - 0xbe, 0xc4, 0x8d, 0xea, 0x2d, 0x58, 0x64, 0x24, 0xac, 0x3f, 0xad, 0x11, 0x8a, 0x56, 0x15, 0xde, - 0x57, 0x53, 0xfb, 0x92, 0x75, 0xe6, 0x0e, 0x0a, 0x58, 0xaf, 0x43, 0x4d, 0x0e, 0xaa, 0xe5, 0xb8, - 0x62, 0x5c, 0xab, 0x62, 0x5c, 0xbb, 0x2e, 0xdb, 0x6e, 0x18, 0x9e, 0xf7, 0x93, 0x35, 0xa6, 0xb3, - 0xf0, 0x5c, 0xb0, 0xf1, 0xc5, 0xa9, 0xe3, 0xf2, 0xee, 0xdd, 0x65, 0x50, 0xe3, 0xb7, 0x73, 0x50, - 0x17, 0xbd, 0x8e, 0xc2, 0x22, 0xd9, 0x02, 0x22, 0xa7, 0x78, 0x78, 0xe9, 0x8c, 0xad, 0x93, 0xab, - 0x90, 0x06, 0x7c, 0x45, 0xed, 0xdf, 0x30, 0x9b, 0x02, 0x37, 0xbc, 0x74, 0xc6, 0xdb, 0x0c, 0x43, - 0xee, 0x43, 0x33, 0x46, 0x1f, 0x84, 0x3e, 0x5f, 0xee, 0xfb, 0x37, 0xcc, 0x45, 0x8d, 0x7a, 0x10, - 0xfa, 0x8c, 0x81, 0x30, 0x51, 0x74, 0x1e, 0x5a, 0x8e, 0x3b, 0xa6, 0x97, 0x38, 0x1e, 0x0d, 0xb3, - 0xc6, 0x61, 0x5d, 0x06, 0xda, 0x5e, 0x84, 0xba, 0x9e, 0x9d, 0x71, 0x06, 0x15, 0x29, 0xc7, 0xa2, - 0x20, 0x97, 0xa8, 0x92, 0x59, 0x0d, 0x55, 0x4d, 0x6e, 0x42, 0x25, 0x5e, 0x03, 0xb3, 0x1c, 0xbe, - 0x72, 0xc1, 0xc6, 0x77, 0xa1, 0x79, 0xc0, 0x06, 0xc2, 0x65, 0x2b, 0x59, 0xc8, 0xe5, 0xeb, 0xb0, - 0xa0, 0x71, 0x94, 0xaa, 0x29, 0xbe, 0x98, 0xcc, 0x72, 0xee, 0x05, 0xa1, 0x28, 0x05, 0x7f, 0x1b, - 0xff, 0x24, 0x07, 0xa4, 0x13, 0x84, 0xce, 0xd4, 0x0e, 0xe9, 0x1e, 0x55, 0x3c, 0xb3, 0x0f, 0x75, - 0x96, 0xdb, 0xd0, 0x6b, 0x73, 0x41, 0x99, 0x0b, 0x64, 0xef, 0x0a, 0x1e, 0x97, 0x4e, 0xb0, 0xa5, - 0x53, 0xf3, 0x6d, 0x32, 0x96, 0x01, 0x9b, 0x6e, 0xa1, 0xed, 0x9f, 0xd1, 0x10, 0xc5, 0x6b, 0x21, - 0x17, 0x02, 0x07, 0x31, 0xc1, 0x7a, 0xf3, 0xe7, 0x61, 0x39, 0x95, 0x87, 0xbe, 0x69, 0x55, 0x33, - 0x36, 0xad, 0x82, 0xbe, 0x69, 0x59, 0xb0, 0x12, 0xab, 0x97, 0x58, 0x85, 0x1b, 0x50, 0x66, 0xdc, - 0x82, 0xcd, 0xdd, 0x1c, 0x97, 0xf6, 0x4f, 0x29, 0xce, 0xef, 0x0f, 0x60, 0xf5, 0x94, 0x52, 0xdf, - 0x0e, 0x11, 0x89, 0xec, 0x84, 0x8d, 0x90, 0xc8, 0x78, 0x59, 0xe0, 0x06, 0x76, 0x78, 0x44, 0x7d, - 0x36, 0x52, 0xc6, 0x3f, 0xca, 0xc3, 0x12, 0xdb, 0x5e, 0x0e, 0x6d, 0xf7, 0x4a, 0xf6, 0xd3, 0x41, - 0x66, 0x3f, 0xdd, 0xd3, 0x84, 0x09, 0x8d, 0xfa, 0xeb, 0x76, 0x52, 0x21, 0xd9, 0x49, 0xe4, 0x2e, - 0xd4, 0x63, 0x75, 0x2d, 0x61, 0x5d, 0x21, 0x50, 0x95, 0x8c, 0x24, 0xfa, 0x05, 0x4d, 0xa2, 0x67, - 0x9c, 0x80, 0x2d, 0x2c, 0x96, 0x6b, 0x20, 0x04, 0x38, 0xc6, 0x5e, 0x59, 0x9e, 0x01, 0x3b, 0xf6, - 0x04, 0x8c, 0xf3, 0x58, 0x73, 0x57, 0x1c, 0x7d, 0xe8, 0x18, 0x97, 0x6f, 0xc5, 0x6c, 0x22, 0xe2, - 0x38, 0x82, 0xff, 0xf4, 0xc3, 0xf4, 0x36, 0x34, 0xa3, 0x6e, 0x11, 0x63, 0x44, 0xa0, 0xc8, 0xa6, - 0xbc, 0xc8, 0x00, 0x7f, 0x1b, 0x7f, 0x9a, 0xe3, 0x84, 0x3b, 0x9e, 0x13, 0x9d, 0x3f, 0x08, 0x14, - 0x51, 0xf2, 0x11, 0x84, 0xec, 0xf7, 0xb5, 0xa7, 0xb9, 0x6f, 0xa0, 0x33, 0x6f, 0x42, 0x25, 0x60, - 0x1d, 0x63, 0x4f, 0x78, 0x7f, 0x56, 0xcc, 0x32, 0xfb, 0x6e, 0x4f, 0x26, 0x51, 0x3f, 0x97, 0xaf, - 0xed, 0xe7, 0xca, 0xab, 0xf4, 0x73, 0x35, 0xbb, 0x9f, 0x8d, 0x77, 0x60, 0x59, 0x6b, 0xfd, 0x0b, - 0xfa, 0xa9, 0x07, 0xe4, 0xc0, 0x09, 0xc2, 0x63, 0x97, 0x65, 0xa1, 0x24, 0x8b, 0x58, 0x45, 0x72, - 0x89, 0x8a, 0x30, 0xa4, 0x7d, 0x29, 0x90, 0x79, 0x81, 0xb4, 0x2f, 0x11, 0x69, 0x7c, 0x06, 0x2b, - 0xb1, 0xfc, 0x44, 0xd1, 0x6f, 0x40, 0x69, 0x1e, 0x5e, 0x7a, 0xf2, 0x68, 0x56, 0x13, 0x33, 0xfc, - 0x38, 0xbc, 0xf4, 0x4c, 0x8e, 0x31, 0x1e, 0xc3, 0x72, 0x8f, 0x3e, 0x17, 0x4c, 0x48, 0x56, 0xe4, - 0x6d, 0x28, 0xbe, 0x44, 0xd9, 0x80, 0x78, 0x63, 0x0b, 0x88, 0x9e, 0x58, 0x94, 0xaa, 0xe9, 0x1e, - 0x72, 0x31, 0xdd, 0x83, 0xf1, 0x36, 0x90, 0x81, 0x73, 0xe6, 0x1e, 0xd2, 0x20, 0xb0, 0xcf, 0x14, - 0xdb, 0x6a, 0x42, 0x61, 0x1a, 0x9c, 0x09, 0x1e, 0xcb, 0x7e, 0x1a, 0x1f, 0xc1, 0x4a, 0x8c, 0x4e, - 0x64, 0xfc, 0x1a, 0x54, 0x03, 0xe7, 0xcc, 0x45, 0xc1, 0x5a, 0x64, 0x1d, 0x01, 0x8c, 0x3d, 0x58, - 0xfd, 0x82, 0xfa, 0xce, 0xe9, 0xd5, 0xcb, 0xb2, 0x8f, 0xe7, 0x93, 0x4f, 0xe6, 0xd3, 0x81, 0xb5, - 0x44, 0x3e, 0xa2, 0x78, 0xbe, 0x3c, 0xc4, 0x48, 0x56, 0x4c, 0xfe, 0xa1, 0xf1, 0xed, 0xbc, 0xce, - 0xb7, 0x0d, 0x0f, 0xc8, 0x8e, 0xe7, 0xba, 0x74, 0x14, 0x1e, 0x51, 0xea, 0xcb, 0xca, 0xbc, 0xab, - 0xad, 0x85, 0xda, 0xc3, 0x0d, 0xd1, 0xb3, 0xc9, 0xcd, 0x40, 0x2c, 0x12, 0x02, 0xc5, 0x19, 0xf5, - 0xa7, 0x98, 0x71, 0xc5, 0xc4, 0xdf, 0xac, 0x73, 0x43, 0x67, 0x4a, 0xbd, 0x39, 0x3f, 0x8d, 0x16, - 0x4d, 0xf9, 0x69, 0xac, 0xc1, 0x4a, 0xac, 0x40, 0x5e, 0x6b, 0xe3, 0x01, 0xac, 0xed, 0x3a, 0xc1, - 0x28, 0x5d, 0x95, 0x0d, 0x28, 0xcf, 0xe6, 0x27, 0x56, 0x7c, 0xc7, 0x79, 0x4a, 0xaf, 0x8c, 0x16, - 0xac, 0x27, 0x53, 0x88, 0xbc, 0x7e, 0x3d, 0x0f, 0xc5, 0xfd, 0xe1, 0xc1, 0x0e, 0xd9, 0x84, 0x8a, - 0xe3, 0x8e, 0xbc, 0x29, 0x93, 0xb7, 0x79, 0x6f, 0xa8, 0xef, 0x6b, 0x97, 0xf6, 0x2d, 0xa8, 0xa2, - 0x98, 0x3e, 0xf1, 0x46, 0xcf, 0x84, 0xc4, 0x5b, 0x61, 0x80, 0x03, 0x6f, 0xf4, 0x8c, 0x2d, 0x33, - 0x7a, 0x39, 0x73, 0x7c, 0xd4, 0xd3, 0x48, 0x3d, 0x44, 0x91, 0x8b, 0x78, 0x11, 0x22, 0xd2, 0x56, - 0x08, 0x69, 0x84, 0xed, 0xaf, 0x5c, 0xf4, 0xad, 0x9e, 0xa3, 0x34, 0x32, 0xa6, 0x97, 0xe4, 0x7d, - 0x20, 0xa7, 0x9e, 0xff, 0xdc, 0xf6, 0x95, 0xb4, 0xe6, 0x0a, 0xd6, 0x5a, 0x34, 0x97, 0x23, 0x8c, - 0x90, 0x44, 0xc8, 0x43, 0x58, 0xd3, 0xc8, 0xb5, 0x8c, 0xb9, 0xd4, 0xb4, 0x12, 0x21, 0xf7, 0x65, - 0x11, 0xc6, 0xaf, 0xe5, 0x81, 0x88, 0xf4, 0x3b, 0x9e, 0x1b, 0x84, 0xbe, 0xed, 0xb8, 0x61, 0x10, - 0x97, 0xdd, 0x72, 0x09, 0xd9, 0xed, 0x1e, 0x34, 0x51, 0x72, 0xd4, 0x05, 0xb8, 0x7c, 0x24, 0x46, - 0x9b, 0x91, 0x10, 0xf7, 0x16, 0x2c, 0x46, 0xd2, 0xbb, 0x52, 0xd3, 0x15, 0xcd, 0xba, 0x92, 0xe0, - 0xc5, 0x56, 0xc8, 0x18, 0x82, 0x94, 0x4a, 0x95, 0x36, 0x82, 0x1f, 0x14, 0x96, 0xa7, 0xf6, 0xe5, - 0x11, 0x95, 0x67, 0x05, 0x14, 0xf7, 0x0c, 0x68, 0x28, 0x41, 0x0e, 0x29, 0x79, 0xcf, 0xd5, 0x84, - 0x28, 0x87, 0x34, 0xd9, 0xb2, 0xf6, 0x42, 0xb6, 0xac, 0x6d, 0xfc, 0x9b, 0x2a, 0x94, 0x65, 0x37, - 0xa2, 0xe0, 0x1c, 0x3a, 0x17, 0x34, 0x12, 0x9c, 0xd9, 0x17, 0x93, 0xc7, 0x7d, 0x3a, 0xf5, 0x42, - 0x75, 0x60, 0xe2, 0xcb, 0xa4, 0xce, 0x81, 0xe2, 0xc8, 0xa4, 0x09, 0xed, 0x5c, 0xbb, 0xc8, 0xa5, - 0x67, 0x29, 0xb4, 0x73, 0x91, 0xec, 0x16, 0x94, 0xa5, 0xe8, 0x5d, 0x54, 0x6a, 0x87, 0x85, 0x11, - 0x97, 0xbb, 0x37, 0xa1, 0x32, 0xb2, 0x67, 0xf6, 0xc8, 0x09, 0xaf, 0xc4, 0x9e, 0xa0, 0xbe, 0x59, - 0xee, 0x13, 0x6f, 0x64, 0x4f, 0xac, 0x13, 0x7b, 0x62, 0xbb, 0x23, 0x2a, 0xd4, 0x76, 0x75, 0x04, - 0x6e, 0x73, 0x18, 0xf9, 0x16, 0x2c, 0x8a, 0x7a, 0x4a, 0x2a, 0xae, 0xbd, 0x13, 0xb5, 0x97, 0x64, - 0xec, 0x70, 0xe7, 0x4d, 0xd9, 0xb8, 0x9c, 0x52, 0x7e, 0x0c, 0x2a, 0x98, 0x55, 0x0e, 0xd9, 0xa3, - 0xd8, 0x5a, 0x81, 0x7e, 0xce, 0xe7, 0x70, 0x95, 0x17, 0xc5, 0x81, 0x5f, 0xf2, 0xf9, 0x9b, 0x3e, - 0x0b, 0x15, 0xb4, 0xb3, 0xd0, 0xbb, 0xb0, 0x3c, 0x77, 0x03, 0x1a, 0x86, 0x13, 0x3a, 0x56, 0x75, - 0xa9, 0x21, 0x51, 0x53, 0x21, 0x64, 0x75, 0xb6, 0x60, 0x85, 0xeb, 0x1b, 0x03, 0x3b, 0xf4, 0x82, - 0x73, 0x27, 0xb0, 0x02, 0xea, 0x4a, 0x8d, 0xd4, 0x32, 0xa2, 0x06, 0x02, 0x33, 0xe0, 0x5a, 0x8c, - 0x8d, 0x04, 0xbd, 0x4f, 0x47, 0xd4, 0xb9, 0xa0, 0x63, 0x3c, 0x27, 0x15, 0xcc, 0xb5, 0x58, 0x1a, - 0x53, 0x20, 0xf1, 0xd0, 0x3b, 0x9f, 0x5a, 0xf3, 0xd9, 0xd8, 0x66, 0xf2, 0xf0, 0x22, 0x3f, 0x78, - 0xb8, 0xf3, 0xe9, 0x31, 0x87, 0x90, 0x07, 0x20, 0x0f, 0x42, 0x62, 0xce, 0x2c, 0xc5, 0xb6, 0x1c, - 0xc6, 0x35, 0xcc, 0xba, 0xa0, 0xe0, 0x07, 0xb5, 0x3b, 0xfa, 0x62, 0x69, 0xb2, 0x19, 0x86, 0x87, - 0xf6, 0x68, 0xc1, 0xb4, 0xa0, 0x3c, 0xf3, 0x9d, 0x0b, 0x3b, 0xa4, 0xad, 0x65, 0xbe, 0x8f, 0x8b, - 0x4f, 0xc6, 0xc0, 0x1d, 0xd7, 0x09, 0x1d, 0x3b, 0xf4, 0xfc, 0x16, 0x41, 0x5c, 0x04, 0x20, 0xf7, - 0x61, 0x19, 0xe7, 0x49, 0x10, 0xda, 0xe1, 0x3c, 0x10, 0xa7, 0xc0, 0x15, 0x7e, 0xda, 0x62, 0x88, - 0x01, 0xc2, 0xf1, 0x20, 0x48, 0x3e, 0x85, 0x75, 0x3e, 0x35, 0x52, 0x4b, 0x73, 0x95, 0x75, 0x07, - 0xd6, 0x68, 0x05, 0x29, 0x76, 0xe2, 0x6b, 0xf4, 0x73, 0xd8, 0x10, 0xd3, 0x25, 0x95, 0x72, 0x4d, - 0xa5, 0x5c, 0xe5, 0x24, 0x89, 0xa4, 0x5b, 0xb0, 0xcc, 0xaa, 0xe6, 0x8c, 0x2c, 0x91, 0x03, 0x5b, - 0x15, 0xeb, 0xac, 0x15, 0x98, 0x68, 0x89, 0x23, 0x4d, 0xc4, 0x3d, 0xa5, 0x57, 0xe4, 0xbb, 0xb0, - 0xc4, 0xa7, 0x0f, 0xaa, 0x3a, 0x70, 0x63, 0xde, 0xc4, 0x8d, 0x79, 0x4d, 0x74, 0xee, 0x8e, 0xc2, - 0xe2, 0xde, 0xbc, 0x38, 0x8a, 0x7d, 0xb3, 0xa5, 0x31, 0x71, 0x4e, 0x29, 0xdb, 0x27, 0x5a, 0x1b, - 0x7c, 0xb2, 0xc9, 0x6f, 0xb6, 0x6a, 0xe7, 0x33, 0xc4, 0xb4, 0x38, 0xb3, 0xe6, 0x5f, 0x38, 0x8f, - 0x27, 0x5e, 0x40, 0xa5, 0xa6, 0xba, 0x75, 0x53, 0x2c, 0x48, 0x06, 0x94, 0x47, 0x16, 0x76, 0x26, - 0xe6, 0x0a, 0x08, 0x65, 0x4f, 0xb8, 0x85, 0x13, 0xa3, 0xc1, 0xf5, 0x10, 0xd2, 0xa6, 0xc0, 0x84, - 0xba, 0x73, 0xfb, 0xb9, 0x64, 0xeb, 0xaf, 0x21, 0x37, 0x01, 0x06, 0x12, 0x0c, 0x7d, 0x0f, 0x96, - 0xc5, 0x28, 0x44, 0xcc, 0xb4, 0x75, 0x1b, 0xb7, 0xc8, 0x9b, 0xb2, 0x8d, 0x29, 0x6e, 0x6b, 0x36, - 0xf9, 0xb8, 0x68, 0xfc, 0x77, 0x1f, 0x88, 0x1c, 0x14, 0x2d, 0xa3, 0xd7, 0x5f, 0x96, 0xd1, 0xb2, - 0x18, 0xa6, 0x08, 0x64, 0xfc, 0x5e, 0x8e, 0x4b, 0x54, 0x82, 0x3a, 0xd0, 0x94, 0x3f, 0x9c, 0xaf, - 0x59, 0x9e, 0x3b, 0xb9, 0x12, 0xac, 0x0e, 0x38, 0xa8, 0xef, 0x4e, 0x90, 0xd7, 0x38, 0xae, 0x4e, - 0xc2, 0x37, 0xef, 0xba, 0x04, 0x22, 0xd1, 0x1d, 0xa8, 0xcd, 0xe6, 0x27, 0x13, 0x67, 0xc4, 0x49, - 0x0a, 0x3c, 0x17, 0x0e, 0x42, 0x82, 0x37, 0xa0, 0x2e, 0xe6, 0x3a, 0xa7, 0x28, 0x22, 0x45, 0x4d, - 0xc0, 0x90, 0x04, 0x85, 0x03, 0xea, 0x23, 0xb3, 0xab, 0x9b, 0xf8, 0xdb, 0xd8, 0x86, 0xd5, 0x78, - 0xa5, 0x85, 0xe4, 0x72, 0x1f, 0x2a, 0x82, 0x93, 0x4a, 0xcd, 0xe9, 0x62, 0xbc, 0x37, 0x4c, 0x85, - 0x37, 0xfe, 0x6d, 0x09, 0x56, 0x64, 0x1f, 0xb1, 0xc1, 0x1e, 0xcc, 0xa7, 0x53, 0xdb, 0xcf, 0x60, - 0xd1, 0xb9, 0x17, 0xb3, 0xe8, 0x7c, 0x8a, 0x45, 0xc7, 0xf5, 0x62, 0x9c, 0xc3, 0xc7, 0xf5, 0x62, - 0x6c, 0x76, 0xf1, 0xd3, 0xb8, 0x6e, 0xa0, 0x69, 0x08, 0xf0, 0x90, 0x1b, 0x82, 0x52, 0x1b, 0x4a, - 0x29, 0x63, 0x43, 0xd1, 0xb7, 0x83, 0x85, 0xc4, 0x76, 0xf0, 0x06, 0xf0, 0x69, 0x2c, 0xe7, 0x63, - 0x99, 0x1f, 0xd0, 0x11, 0x26, 0x26, 0xe4, 0x3b, 0xb0, 0x94, 0xe4, 0xc0, 0x9c, 0xd5, 0x2f, 0x66, - 0xf0, 0x5f, 0x67, 0x4a, 0x51, 0xa8, 0xd1, 0x88, 0xab, 0x82, 0xff, 0x3a, 0x53, 0x7a, 0x80, 0x18, - 0x49, 0xdf, 0x01, 0xe0, 0x65, 0xe3, 0x32, 0x06, 0x5c, 0xc6, 0x6f, 0x27, 0x66, 0xa6, 0xd6, 0xeb, - 0x5b, 0xec, 0x63, 0xee, 0x53, 0x5c, 0xd7, 0x55, 0x4c, 0x89, 0x4b, 0xfa, 0x53, 0x58, 0xf4, 0x66, - 0xd4, 0xb5, 0x22, 0x2e, 0x58, 0xc3, 0xac, 0x9a, 0x22, 0xab, 0xae, 0x84, 0x9b, 0x0d, 0x46, 0xa7, - 0x3e, 0xc9, 0xe7, 0xbc, 0x93, 0xa9, 0x96, 0xb2, 0x7e, 0x4d, 0xca, 0x45, 0x24, 0x8c, 0x92, 0x7e, - 0x84, 0xba, 0x27, 0x6f, 0x32, 0xe7, 0xd6, 0x9e, 0x06, 0xce, 0x23, 0xa9, 0xfe, 0x36, 0x15, 0xc6, - 0xd4, 0xa9, 0x8c, 0xdf, 0xc8, 0x41, 0x4d, 0x6b, 0x03, 0x59, 0x83, 0xe5, 0x9d, 0x7e, 0xff, 0xa8, - 0x63, 0xb6, 0x87, 0xdd, 0x2f, 0x3a, 0xd6, 0xce, 0x41, 0x7f, 0xd0, 0x69, 0xde, 0x60, 0xe0, 0x83, - 0xfe, 0x4e, 0xfb, 0xc0, 0xda, 0xeb, 0x9b, 0x3b, 0x12, 0x9c, 0x23, 0xeb, 0x40, 0xcc, 0xce, 0x61, - 0x7f, 0xd8, 0x89, 0xc1, 0xf3, 0xa4, 0x09, 0xf5, 0x6d, 0xb3, 0xd3, 0xde, 0xd9, 0x17, 0x90, 0x02, - 0x59, 0x85, 0xe6, 0xde, 0x71, 0x6f, 0xb7, 0xdb, 0x7b, 0x62, 0xed, 0xb4, 0x7b, 0x3b, 0x9d, 0x83, - 0xce, 0x6e, 0xb3, 0x48, 0x1a, 0x50, 0x6d, 0x6f, 0xb7, 0x7b, 0xbb, 0xfd, 0x5e, 0x67, 0xb7, 0x59, - 0x32, 0xfe, 0x47, 0x0e, 0x20, 0xaa, 0x28, 0xe3, 0xab, 0x51, 0x55, 0x75, 0xeb, 0xea, 0x5a, 0xaa, - 0x51, 0x9c, 0xaf, 0xfa, 0xb1, 0x6f, 0xf2, 0x10, 0xca, 0xde, 0x3c, 0x1c, 0x79, 0x53, 0x7e, 0x88, - 0x58, 0x7c, 0xd8, 0x4a, 0xa5, 0xeb, 0x73, 0xbc, 0x29, 0x09, 0x63, 0x16, 0xd4, 0xc2, 0xcb, 0x2c, - 0xa8, 0x71, 0x53, 0x2d, 0x97, 0xeb, 0x34, 0x53, 0xed, 0x6d, 0x80, 0xe0, 0x39, 0xa5, 0x33, 0x54, - 0x5e, 0x89, 0x55, 0x50, 0x45, 0xc8, 0x90, 0x9d, 0x31, 0xff, 0x63, 0x0e, 0xd6, 0x70, 0x2e, 0x8d, - 0x93, 0x4c, 0xec, 0x2e, 0xd4, 0x46, 0x9e, 0x37, 0xa3, 0x4c, 0xa8, 0x56, 0xf2, 0x9a, 0x0e, 0x62, - 0x0c, 0x8a, 0x33, 0xe4, 0x53, 0xcf, 0x1f, 0x51, 0xc1, 0xc3, 0x00, 0x41, 0x7b, 0x0c, 0xc2, 0xd6, - 0x90, 0x58, 0x84, 0x9c, 0x82, 0xb3, 0xb0, 0x1a, 0x87, 0x71, 0x92, 0x75, 0x58, 0x38, 0xf1, 0xa9, - 0x3d, 0x3a, 0x17, 0xdc, 0x4b, 0x7c, 0x91, 0x6f, 0x47, 0x4a, 0xbc, 0x11, 0x5b, 0x13, 0x13, 0xca, - 0x2b, 0x5f, 0x31, 0x97, 0x04, 0x7c, 0x47, 0x80, 0xd9, 0x3e, 0x6f, 0x9f, 0xd8, 0xee, 0xd8, 0x73, - 0xe9, 0x58, 0x9c, 0xe5, 0x23, 0x80, 0x71, 0x04, 0xeb, 0xc9, 0xf6, 0x09, 0x7e, 0xf7, 0x89, 0xc6, - 0xef, 0xf8, 0xd1, 0x77, 0xf3, 0xfa, 0x35, 0xa6, 0xf1, 0xbe, 0xff, 0x54, 0x84, 0x22, 0x3b, 0xf0, - 0x5c, 0x7b, 0x36, 0xd2, 0xcf, 0xb6, 0x85, 0x94, 0x5d, 0x1d, 0x75, 0x85, 0x5c, 0x00, 0x13, 0x83, - 0x85, 0x10, 0x14, 0xbc, 0x14, 0xda, 0xa7, 0xa3, 0x0b, 0x79, 0x66, 0x41, 0x88, 0x49, 0x47, 0x17, - 0xa8, 0xb4, 0xb0, 0x43, 0x9e, 0x96, 0xf3, 0xab, 0x72, 0x60, 0x87, 0x98, 0x52, 0xa0, 0x30, 0x5d, - 0x59, 0xa1, 0x30, 0x55, 0x0b, 0xca, 0x8e, 0x7b, 0xe2, 0xcd, 0x5d, 0xa9, 0xfa, 0x91, 0x9f, 0x68, - 0xc6, 0x47, 0x4e, 0xca, 0xb6, 0x76, 0xce, 0x8d, 0x2a, 0x0c, 0x30, 0x64, 0x9b, 0xfb, 0x87, 0x50, - 0x0d, 0xae, 0xdc, 0x91, 0xce, 0x83, 0x56, 0x45, 0xff, 0xb0, 0xd6, 0x6f, 0x0d, 0xae, 0xdc, 0x11, - 0xce, 0xf8, 0x4a, 0x20, 0x7e, 0x91, 0x47, 0x50, 0x51, 0x86, 0x2f, 0xbe, 0x83, 0xdc, 0xd4, 0x53, - 0x48, 0x6b, 0x17, 0xd7, 0x8f, 0x29, 0x52, 0xf2, 0x01, 0x2c, 0xa0, 0x02, 0x3c, 0x68, 0xd5, 0x31, - 0x91, 0x3c, 0xf0, 0xb2, 0x6a, 0xa0, 0x05, 0x9d, 0x8e, 0xd1, 0x0c, 0x65, 0x0a, 0x32, 0xd6, 0x4d, - 0xa7, 0x13, 0x7b, 0x26, 0xd4, 0xd1, 0x0d, 0x6e, 0x88, 0x66, 0x10, 0xae, 0x8b, 0xbe, 0x0b, 0x75, - 0x34, 0x2a, 0x22, 0x8d, 0xcb, 0xe5, 0xd0, 0x82, 0x09, 0x0c, 0xb6, 0x37, 0xb1, 0x67, 0xbd, 0x60, - 0xf3, 0x29, 0x34, 0x62, 0x95, 0xd1, 0xd5, 0x5c, 0x0d, 0xae, 0xe6, 0x7a, 0x4b, 0x57, 0x73, 0x45, - 0x5b, 0xa1, 0x48, 0xa6, 0xab, 0xbd, 0x8e, 0xa0, 0x22, 0xfb, 0x82, 0xf1, 0x9c, 0xe3, 0xde, 0xd3, - 0x5e, 0xff, 0xcb, 0x9e, 0x35, 0xf8, 0xaa, 0xb7, 0xd3, 0xbc, 0x41, 0x96, 0xa0, 0xd6, 0xde, 0x41, - 0x36, 0x86, 0x80, 0x1c, 0x23, 0x39, 0x6a, 0x0f, 0x06, 0x0a, 0x92, 0x67, 0x24, 0x47, 0xdd, 0x5e, - 0xaf, 0xb3, 0xcb, 0x01, 0x05, 0x63, 0x0f, 0x9a, 0xc9, 0xb6, 0xb3, 0x59, 0x1e, 0x4a, 0x98, 0x30, - 0xf5, 0x45, 0x80, 0xc8, 0xa0, 0x90, 0xd7, 0x0c, 0x0a, 0xc6, 0x23, 0x68, 0xb2, 0x9d, 0x9e, 0x75, - 0xbe, 0x6e, 0xe7, 0x9f, 0x30, 0x59, 0x5c, 0x37, 0xf7, 0x55, 0xcc, 0x1a, 0x87, 0x61, 0x51, 0xc6, - 0x27, 0xb0, 0xac, 0x25, 0x8b, 0xb4, 0x44, 0x4c, 0x7a, 0x48, 0x6a, 0x89, 0xf0, 0xe4, 0xcf, 0x31, - 0xc6, 0x06, 0xac, 0xb1, 0xcf, 0xce, 0x05, 0x75, 0xc3, 0xc1, 0xfc, 0x84, 0xbb, 0x87, 0x38, 0x9e, - 0x6b, 0xfc, 0x5a, 0x0e, 0xaa, 0x0a, 0x73, 0xfd, 0xb2, 0xd9, 0x12, 0x0a, 0x25, 0xce, 0x27, 0x37, - 0xb5, 0x12, 0x30, 0xe1, 0x16, 0xfe, 0x8d, 0x29, 0x96, 0xaa, 0x0a, 0x84, 0x9d, 0xd8, 0xe9, 0x98, - 0x56, 0xbf, 0x77, 0xd0, 0xed, 0xb1, 0xdd, 0x82, 0xf5, 0x33, 0x02, 0xf6, 0xf6, 0x10, 0x92, 0x33, - 0x9a, 0xb0, 0xf8, 0x84, 0x86, 0x5d, 0xf7, 0xd4, 0x13, 0x9d, 0x61, 0xfc, 0xf9, 0x05, 0x58, 0x52, - 0xa0, 0x48, 0x31, 0x75, 0x41, 0xfd, 0xc0, 0xf1, 0x5c, 0x9c, 0x38, 0x55, 0x53, 0x7e, 0x32, 0x7e, - 0x27, 0x8e, 0x6d, 0x28, 0x77, 0xac, 0x22, 0x56, 0x1c, 0xf4, 0x50, 0xe8, 0x78, 0x07, 0x96, 0x9c, - 0x31, 0x75, 0x43, 0x27, 0xbc, 0xb2, 0x62, 0x6a, 0xfa, 0x45, 0x09, 0x16, 0x82, 0xc7, 0x2a, 0x94, - 0xec, 0x89, 0x63, 0x4b, 0xb7, 0x1b, 0xfe, 0xc1, 0xa0, 0x23, 0x6f, 0xe2, 0xf9, 0x78, 0x90, 0xa9, - 0x9a, 0xfc, 0x83, 0x3c, 0x80, 0x55, 0x76, 0xa8, 0xd2, 0xed, 0x4a, 0xc8, 0xb2, 0xb8, 0xc5, 0x80, - 0xb8, 0xf3, 0xe9, 0x51, 0x64, 0x5b, 0x62, 0x18, 0x26, 0x6e, 0xb0, 0x14, 0x42, 0xbe, 0x54, 0x09, - 0xb8, 0xa2, 0x64, 0xd9, 0x9d, 0x4f, 0xdb, 0x88, 0x51, 0xf4, 0x0f, 0x61, 0x8d, 0xd1, 0x2b, 0x89, - 0x54, 0xa5, 0x58, 0xc2, 0x14, 0x2c, 0xb3, 0xae, 0xc0, 0xa9, 0x34, 0xb7, 0xa0, 0xca, 0x6b, 0xc5, - 0xa6, 0x84, 0x30, 0x40, 0x61, 0x55, 0xa8, 0x1f, 0xa4, 0x3c, 0x64, 0xb8, 0x66, 0x20, 0xe9, 0x21, - 0xa3, 0xf9, 0xd8, 0x54, 0x92, 0x3e, 0x36, 0x0f, 0x61, 0xed, 0x84, 0xcd, 0xd1, 0x73, 0x6a, 0x8f, - 0xa9, 0x6f, 0x45, 0x33, 0x9f, 0x9f, 0x3f, 0x57, 0x18, 0x72, 0x1f, 0x71, 0x6a, 0xa1, 0x30, 0xd1, - 0x90, 0x71, 0x22, 0x3a, 0xb6, 0x42, 0xcf, 0x42, 0x89, 0x51, 0xa8, 0x60, 0x1b, 0x1c, 0x3c, 0xf4, - 0x76, 0x18, 0x30, 0x4e, 0x77, 0xe6, 0xdb, 0xb3, 0x73, 0x71, 0x3a, 0x54, 0x74, 0x4f, 0x18, 0x90, - 0xbc, 0x06, 0x65, 0xb6, 0x26, 0x5c, 0xca, 0x1d, 0x0e, 0xf8, 0xb9, 0x4b, 0x82, 0xc8, 0x5b, 0xb0, - 0x80, 0x65, 0x04, 0xad, 0x26, 0x2e, 0x88, 0x7a, 0xb4, 0x77, 0x38, 0xae, 0x29, 0x70, 0x4c, 0xfe, - 0x9e, 0xfb, 0x0e, 0x67, 0x6c, 0x55, 0x13, 0x7f, 0x93, 0xef, 0x69, 0x5c, 0x72, 0x05, 0xd3, 0xbe, - 0x25, 0xd2, 0x26, 0xa6, 0xe2, 0x75, 0x0c, 0xf3, 0x1b, 0x65, 0x5f, 0xdf, 0x2f, 0x56, 0x6a, 0xcd, - 0xba, 0xd1, 0x42, 0xc7, 0x20, 0x93, 0x8e, 0xbc, 0x0b, 0xea, 0x5f, 0xc5, 0xd6, 0x48, 0x0e, 0x36, - 0x52, 0xa8, 0xc8, 0x79, 0xc0, 0x17, 0x70, 0x6b, 0xea, 0x8d, 0xa5, 0x94, 0x50, 0x97, 0xc0, 0x43, - 0x6f, 0xcc, 0xa4, 0x99, 0x65, 0x45, 0x74, 0xea, 0xb8, 0x4e, 0x70, 0x4e, 0xc7, 0x42, 0x58, 0x68, - 0x4a, 0xc4, 0x9e, 0x80, 0x33, 0x91, 0x7c, 0xe6, 0x7b, 0x67, 0x6a, 0xef, 0xcc, 0x99, 0xea, 0xdb, - 0xf8, 0x14, 0x4a, 0x7c, 0x04, 0xd9, 0x42, 0xc1, 0xf1, 0xcd, 0x89, 0x85, 0x82, 0xd0, 0x16, 0x94, - 0x5d, 0x1a, 0x3e, 0xf7, 0xfc, 0x67, 0xd2, 0xd8, 0x26, 0x3e, 0x8d, 0x1f, 0xa3, 0x96, 0x55, 0x79, - 0x78, 0x71, 0x6d, 0x04, 0x9b, 0xc2, 0x7c, 0x0a, 0x06, 0xe7, 0xb6, 0x50, 0xfc, 0x56, 0x10, 0x30, - 0x38, 0xb7, 0x53, 0x53, 0x38, 0x9f, 0x76, 0xf2, 0x7a, 0x0b, 0x16, 0xa5, 0x4f, 0x59, 0x60, 0x4d, - 0xe8, 0x69, 0x28, 0x96, 0x64, 0x5d, 0x38, 0x94, 0x05, 0x07, 0xf4, 0x34, 0x34, 0x0e, 0x61, 0x59, - 0x2c, 0x9a, 0xfe, 0x8c, 0xca, 0xa2, 0x3f, 0xcb, 0x3a, 0x26, 0xd5, 0x1e, 0xae, 0xc4, 0xe5, 0x0f, - 0x2e, 0xe9, 0xc5, 0xce, 0x4e, 0xc6, 0x0f, 0x22, 0x95, 0x22, 0x93, 0x4e, 0x44, 0x7e, 0xe2, 0xb0, - 0x22, 0x6d, 0x94, 0xd2, 0x0f, 0x42, 0x1d, 0x89, 0x9c, 0x31, 0xeb, 0x9d, 0x60, 0x3e, 0x1a, 0x49, - 0x5f, 0xbf, 0x8a, 0x29, 0x3f, 0x8d, 0x7f, 0x95, 0x83, 0x15, 0xcc, 0x4c, 0x1e, 0xf3, 0xc4, 0x4e, - 0xf1, 0x13, 0x57, 0x92, 0x8d, 0x8f, 0x2e, 0x12, 0xf2, 0x8f, 0xaf, 0x6f, 0xb5, 0x29, 0xa6, 0xac, - 0x36, 0xdf, 0x86, 0xe6, 0x98, 0x4e, 0x1c, 0x9c, 0x4a, 0x52, 0xc2, 0xe2, 0x22, 0xed, 0x92, 0x84, - 0x0b, 0xb5, 0x83, 0xf1, 0x57, 0x72, 0xb0, 0xcc, 0x05, 0x38, 0x54, 0xe4, 0x88, 0x8e, 0x7a, 0x2c, - 0x35, 0x16, 0x82, 0x9d, 0x8a, 0x36, 0x45, 0x82, 0x0d, 0x42, 0x39, 0xf1, 0xfe, 0x0d, 0xa1, 0xc9, - 0x10, 0x50, 0xf2, 0x1d, 0x3c, 0x9a, 0xba, 0x16, 0x02, 0x85, 0x60, 0x7e, 0x33, 0x43, 0x64, 0x54, - 0xc9, 0xd9, 0xb9, 0xd5, 0x45, 0xd0, 0x76, 0x05, 0x16, 0xb8, 0x5a, 0xcc, 0xd8, 0x83, 0x46, 0xac, - 0x98, 0x98, 0xe9, 0xa7, 0xce, 0x4d, 0x3f, 0x29, 0xf3, 0x70, 0x3e, 0x6d, 0x1e, 0xbe, 0x82, 0x15, - 0x93, 0xda, 0xe3, 0xab, 0x3d, 0xcf, 0x3f, 0x0a, 0x4e, 0xc2, 0x3d, 0x2e, 0x15, 0xb3, 0x3d, 0x48, - 0x39, 0x84, 0xc4, 0xec, 0x2b, 0xd2, 0xf4, 0x2d, 0xf5, 0x32, 0xdf, 0x82, 0xc5, 0xc8, 0x73, 0x44, - 0xd3, 0xc4, 0x37, 0x94, 0xf3, 0x08, 0x0a, 0x53, 0x04, 0x8a, 0xb3, 0xe0, 0x24, 0x14, 0xba, 0x78, - 0xfc, 0x6d, 0xfc, 0xd5, 0x12, 0x10, 0x36, 0x9b, 0x13, 0x13, 0x26, 0xe1, 0xf3, 0x92, 0x4f, 0xf9, - 0xbc, 0x3c, 0x00, 0xa2, 0x11, 0x48, 0x57, 0x9c, 0x82, 0x72, 0xc5, 0x69, 0x46, 0xb4, 0xc2, 0x13, - 0xe7, 0x01, 0xac, 0x8a, 0x23, 0x46, 0xbc, 0xaa, 0x7c, 0x6a, 0x10, 0x7e, 0xd6, 0x88, 0xd5, 0x57, - 0xfa, 0xbb, 0x48, 0xd5, 0x75, 0x81, 0xfb, 0xbb, 0x48, 0x0d, 0x93, 0x36, 0x01, 0x17, 0x5e, 0x3a, - 0x01, 0xcb, 0xa9, 0x09, 0xa8, 0x69, 0x1b, 0x2b, 0x71, 0x6d, 0x63, 0x4a, 0x6f, 0xce, 0xe5, 0xe9, - 0x98, 0xde, 0xfc, 0x1e, 0x34, 0xa5, 0xe6, 0x49, 0xe9, 0x34, 0x85, 0x13, 0x84, 0x50, 0x2e, 0x49, - 0xad, 0x66, 0xcc, 0xc8, 0x57, 0x7b, 0x15, 0x6b, 0x63, 0x3d, 0xdb, 0xda, 0x98, 0xd6, 0xd1, 0x35, - 0x32, 0x74, 0x74, 0x8f, 0x22, 0x1f, 0x87, 0xe0, 0xdc, 0x99, 0xa2, 0xe0, 0x13, 0x39, 0x69, 0x8a, - 0x0e, 0x1e, 0x9c, 0x3b, 0x53, 0x53, 0x7a, 0x1b, 0xb1, 0x0f, 0xb2, 0x03, 0x77, 0x44, 0x7b, 0x32, - 0x1c, 0x85, 0x78, 0x2f, 0x2c, 0xa1, 0xa4, 0xba, 0xc9, 0xc9, 0x0e, 0x13, 0x3e, 0x43, 0x89, 0x4e, - 0x91, 0x6e, 0x26, 0x01, 0x57, 0xf4, 0xca, 0x4e, 0x39, 0xe4, 0x7e, 0x26, 0x01, 0x76, 0xb1, 0x7d, - 0x69, 0x09, 0x25, 0x60, 0x70, 0x81, 0x72, 0x52, 0xc3, 0xac, 0x4d, 0xed, 0xcb, 0x03, 0x54, 0xf2, - 0x05, 0x17, 0xc6, 0x9f, 0xe4, 0xa0, 0xc9, 0xa6, 0x66, 0x6c, 0xd5, 0x7f, 0x0e, 0xc8, 0x9f, 0x5e, - 0x71, 0xd1, 0xd7, 0x18, 0xad, 0x5c, 0xf3, 0x9f, 0x02, 0x2e, 0x62, 0xcb, 0x9b, 0x51, 0x57, 0x2c, - 0xf9, 0x56, 0x7c, 0xc9, 0x47, 0x6c, 0x7d, 0xff, 0x06, 0x3f, 0x25, 0x32, 0x08, 0xf9, 0x1c, 0xaa, - 0x6c, 0xad, 0xe0, 0xc4, 0x15, 0x6e, 0xd0, 0x9b, 0xea, 0xe4, 0x9f, 0x5a, 0xb6, 0x2c, 0xe9, 0x4c, - 0x7c, 0x66, 0x79, 0x11, 0x15, 0x33, 0xbc, 0x88, 0x34, 0x9e, 0xb2, 0x0f, 0xf0, 0x94, 0x5e, 0xb1, - 0x4e, 0x08, 0x3d, 0x9f, 0xc9, 0x56, 0x6c, 0x79, 0x9d, 0xda, 0x53, 0x47, 0x68, 0x1f, 0x4b, 0x66, - 0xf5, 0x19, 0xbd, 0xda, 0x43, 0x00, 0x9b, 0x5b, 0x0c, 0x1d, 0x31, 0x96, 0x92, 0x59, 0x79, 0x46, - 0xaf, 0x38, 0x57, 0xb1, 0xa0, 0xf1, 0x94, 0x5e, 0xed, 0x52, 0x2e, 0xbc, 0x7b, 0x3e, 0xeb, 0x74, - 0xdf, 0x7e, 0xce, 0xa4, 0xf5, 0x98, 0x97, 0x4b, 0xcd, 0xb7, 0x9f, 0x3f, 0xa5, 0x57, 0xd2, 0xe3, - 0xa6, 0xcc, 0xf0, 0x13, 0x6f, 0x24, 0xc4, 0x0d, 0xa9, 0xf0, 0x89, 0x2a, 0x65, 0x2e, 0x3c, 0xc3, - 0xdf, 0xc6, 0x1f, 0xe7, 0xa0, 0xc1, 0xea, 0x8f, 0x3b, 0x05, 0xce, 0x22, 0xe1, 0x36, 0x9b, 0x8b, - 0xdc, 0x66, 0x1f, 0x0a, 0x46, 0xcb, 0xb7, 0x9d, 0xfc, 0xf5, 0xdb, 0x0e, 0x8e, 0x0d, 0xdf, 0x73, - 0x3e, 0x84, 0x2a, 0x9f, 0x18, 0x8c, 0xf5, 0x14, 0x62, 0x03, 0x1c, 0x6b, 0x90, 0x59, 0x41, 0xb2, - 0xa7, 0xdc, 0x05, 0x4f, 0xd3, 0xad, 0xf3, 0x2e, 0xae, 0xfa, 0x4a, 0xa3, 0x9e, 0x31, 0x0c, 0xa5, - 0x6b, 0x5c, 0xf0, 0x74, 0xc5, 0xf5, 0x42, 0x52, 0x71, 0x6d, 0xb8, 0x50, 0x61, 0x43, 0x8d, 0x8d, - 0xcd, 0xc8, 0x34, 0x97, 0x95, 0x29, 0x13, 0x4e, 0x6c, 0xb6, 0x4f, 0x31, 0xde, 0x9b, 0x17, 0xc2, - 0x89, 0x1d, 0x50, 0x96, 0x11, 0xab, 0xb8, 0xeb, 0x59, 0xa8, 0x09, 0x16, 0x3a, 0xd2, 0x8a, 0x59, - 0x75, 0xbd, 0x23, 0x0e, 0x30, 0xfe, 0x5c, 0x0e, 0x6a, 0xda, 0x9a, 0x45, 0xd3, 0x80, 0xea, 0x4e, - 0xbe, 0xc0, 0xe3, 0x2b, 0x20, 0x36, 0x1e, 0xfb, 0x37, 0xcc, 0xc6, 0x28, 0x36, 0x40, 0x5b, 0x62, - 0x2a, 0x63, 0xca, 0x7c, 0x4c, 0x1f, 0x25, 0xdb, 0x25, 0xe7, 0x2f, 0xfb, 0xbd, 0xbd, 0x00, 0x45, - 0x46, 0x6a, 0x3c, 0x86, 0x65, 0xad, 0x1a, 0x5c, 0x5f, 0xf3, 0xaa, 0x1d, 0x60, 0xfc, 0xa2, 0x4a, - 0xcc, 0xca, 0xe0, 0xb6, 0x76, 0xe9, 0xed, 0x48, 0xc7, 0xbc, 0x5f, 0x84, 0x57, 0x25, 0x07, 0x61, - 0xcf, 0xbc, 0xa2, 0x03, 0x9e, 0xf1, 0xab, 0x39, 0x58, 0xd1, 0xb2, 0xdf, 0x73, 0x5c, 0x7b, 0xe2, - 0xfc, 0x18, 0x65, 0x94, 0xc0, 0x39, 0x73, 0x13, 0x05, 0x70, 0xd0, 0xd7, 0x29, 0x80, 0x6d, 0x25, - 0xdc, 0xbd, 0x9a, 0xbb, 0xe8, 0x8b, 0xed, 0x13, 0x10, 0x66, 0xda, 0xcf, 0x87, 0x97, 0xc6, 0x5f, - 0xcb, 0xc3, 0xaa, 0xa8, 0x02, 0x7a, 0xc1, 0x3b, 0x4c, 0x34, 0x3d, 0x0c, 0xce, 0xc8, 0xe7, 0xd0, - 0x60, 0xdd, 0x67, 0xf9, 0xf4, 0xcc, 0x09, 0x42, 0x2a, 0xdd, 0x00, 0x32, 0xb8, 0x31, 0x93, 0x50, - 0x18, 0xa9, 0x29, 0x28, 0xc9, 0x63, 0xa8, 0x61, 0x52, 0xae, 0x32, 0x13, 0x63, 0xd5, 0x4a, 0x27, - 0xe4, 0x63, 0xb1, 0x7f, 0xc3, 0x84, 0x20, 0x1a, 0x99, 0xc7, 0x50, 0xc3, 0x61, 0xbe, 0xc0, 0xbe, - 0x4e, 0x30, 0xbb, 0xd4, 0x58, 0xb0, 0xc4, 0xb3, 0x68, 0x64, 0xda, 0xd0, 0xe0, 0xec, 0x4e, 0xf4, - 0xa4, 0x70, 0x9d, 0xdd, 0x4c, 0x27, 0x97, 0x7d, 0xcd, 0x2a, 0x3f, 0xd3, 0xbe, 0xb7, 0xab, 0x50, - 0x0e, 0x7d, 0xe7, 0xec, 0x8c, 0xfa, 0xc6, 0xba, 0xea, 0x1a, 0xc6, 0xc7, 0xe9, 0x20, 0xa4, 0x33, - 0x76, 0xe6, 0x30, 0xfe, 0x59, 0x0e, 0x6a, 0x82, 0x33, 0xff, 0xc4, 0x1e, 0x06, 0x9b, 0x09, 0xe5, - 0x6a, 0x55, 0xd3, 0xa5, 0xbe, 0x03, 0x4b, 0x53, 0x76, 0x40, 0x62, 0x07, 0xf8, 0x98, 0x7b, 0xc1, - 0xa2, 0x04, 0x0b, 0xd9, 0x7f, 0x0b, 0x56, 0xf0, 0x28, 0x10, 0x58, 0xa1, 0x33, 0xb1, 0x24, 0x52, - 0x5c, 0x05, 0x59, 0xe6, 0xa8, 0xa1, 0x33, 0x39, 0x14, 0x08, 0x26, 0x11, 0x07, 0xa1, 0x7d, 0x46, - 0x05, 0x77, 0xe0, 0x1f, 0xec, 0xd0, 0x95, 0x38, 0xbb, 0xcb, 0x43, 0xd7, 0xff, 0x5e, 0x86, 0x8d, - 0x14, 0x4a, 0x1c, 0xba, 0x94, 0x35, 0x77, 0xe2, 0x4c, 0x4f, 0x3c, 0x65, 0x4d, 0xc8, 0x69, 0xd6, - 0xdc, 0x03, 0x86, 0x91, 0xd6, 0x04, 0x0a, 0x6b, 0x72, 0xca, 0xa2, 0x39, 0x40, 0x1d, 0xef, 0xf3, - 0x78, 0xf8, 0xfc, 0x30, 0xbe, 0x0d, 0x26, 0x8b, 0x93, 0x70, 0x5d, 0xde, 0x5b, 0x99, 0xa5, 0x60, - 0x01, 0xf9, 0xff, 0xa1, 0xa5, 0x56, 0x86, 0x38, 0x8b, 0x68, 0xba, 0x0a, 0x56, 0xd2, 0x7b, 0x2f, - 0x29, 0x29, 0xa6, 0xa7, 0x45, 0x81, 0x70, 0x5d, 0x2e, 0x2a, 0x9e, 0xa1, 0x2a, 0xeb, 0x02, 0x5e, - 0x97, 0x65, 0xe1, 0xd9, 0x22, 0x5d, 0x62, 0xf1, 0x95, 0xda, 0x86, 0x3a, 0xe8, 0x58, 0xb1, 0xe6, - 0x2d, 0x91, 0xb1, 0x42, 0xe9, 0xe5, 0x9e, 0xc3, 0xfa, 0x73, 0xdb, 0x09, 0x65, 0x1b, 0x35, 0x55, - 0x49, 0x09, 0xcb, 0x7b, 0xf8, 0x92, 0xf2, 0xbe, 0xe4, 0x89, 0x63, 0xa7, 0xad, 0xd5, 0xe7, 0x69, - 0x60, 0xb0, 0xf9, 0x77, 0x0a, 0xb0, 0x18, 0xcf, 0x85, 0xb1, 0x1e, 0xb1, 0x5d, 0x49, 0x21, 0x5a, - 0x48, 0xf6, 0xc2, 0xd2, 0xd5, 0xe3, 0xc2, 0x73, 0xda, 0x06, 0x97, 0xcf, 0xb0, 0xc1, 0xe9, 0xa6, - 0xaf, 0xc2, 0xcb, 0x3c, 0x21, 0x8a, 0xaf, 0xe4, 0x09, 0x51, 0xca, 0xf2, 0x84, 0xf8, 0xe8, 0x5a, - 0xd3, 0x39, 0x57, 0x60, 0x67, 0x9a, 0xcd, 0x1f, 0x5d, 0x6f, 0x36, 0xe7, 0x22, 0xf9, 0x75, 0x26, - 0x73, 0xcd, 0xe0, 0x5f, 0xb9, 0xc6, 0x60, 0xa5, 0xb9, 0x00, 0x64, 0x98, 0xcc, 0xab, 0x5f, 0xc3, - 0x64, 0xbe, 0xf9, 0xc7, 0x39, 0x20, 0xe9, 0xd5, 0x41, 0x9e, 0x70, 0xf3, 0xa6, 0x4b, 0x27, 0x82, - 0x73, 0xbf, 0xff, 0x6a, 0x2b, 0x4c, 0x4e, 0x08, 0x99, 0x9a, 0x7c, 0x00, 0x2b, 0xfa, 0x85, 0x35, - 0x5d, 0x15, 0xd1, 0x30, 0x89, 0x8e, 0x8a, 0x94, 0x6a, 0x9a, 0xdb, 0x49, 0xf1, 0xa5, 0x6e, 0x27, - 0xa5, 0x97, 0xba, 0x9d, 0x2c, 0xc4, 0xdd, 0x4e, 0x36, 0xff, 0x65, 0x0e, 0x56, 0x32, 0x26, 0xf1, - 0x37, 0xd7, 0x66, 0x36, 0xf7, 0x62, 0x6c, 0x2d, 0x2f, 0xe6, 0x9e, 0xce, 0xd1, 0x0e, 0xa4, 0x22, - 0x96, 0x0d, 0x45, 0x20, 0x76, 0xaa, 0xfb, 0x2f, 0xe3, 0x2e, 0x51, 0x0a, 0x53, 0x4f, 0xbe, 0xf9, - 0x77, 0xf3, 0x50, 0xd3, 0x90, 0xac, 0x17, 0xf9, 0x94, 0xd5, 0x1c, 0x32, 0xb9, 0x6c, 0x89, 0x8a, - 0x14, 0xf4, 0xae, 0xc7, 0xc9, 0x89, 0x78, 0xbe, 0xb8, 0x84, 0x20, 0x89, 0x04, 0x5b, 0xb0, 0x22, - 0x4d, 0xcf, 0x34, 0xf2, 0x1b, 0x17, 0x7b, 0x8d, 0xf0, 0x22, 0x10, 0x95, 0x44, 0xfa, 0x0f, 0xe4, - 0x19, 0x37, 0x1a, 0x3b, 0xcd, 0x94, 0xb7, 0x2c, 0xfc, 0x17, 0xc4, 0x20, 0xb2, 0x79, 0xfe, 0x21, - 0xac, 0x29, 0x07, 0x86, 0x58, 0x0a, 0x6e, 0x30, 0x22, 0xd2, 0x51, 0x41, 0x4b, 0xf2, 0x3d, 0xb8, - 0x9d, 0xa8, 0x53, 0x22, 0x29, 0x77, 0x7c, 0xbb, 0x19, 0xab, 0x9d, 0x9e, 0xc3, 0xe6, 0x9f, 0x81, - 0x46, 0x8c, 0x51, 0x7e, 0x73, 0x43, 0x9e, 0x54, 0x5e, 0xf1, 0x1e, 0xd5, 0x95, 0x57, 0x9b, 0xff, - 0xb3, 0x00, 0x24, 0xcd, 0xab, 0x7f, 0x96, 0x55, 0x48, 0x4f, 0xcc, 0x42, 0xc6, 0xc4, 0xfc, 0x7f, - 0x26, 0x3f, 0x44, 0x3a, 0x54, 0xcd, 0x7f, 0x80, 0x2f, 0xce, 0xa6, 0x42, 0xc8, 0x5a, 0x7c, 0x9a, - 0xf4, 0xb2, 0xaa, 0xc4, 0xee, 0x5c, 0x6a, 0x02, 0x54, 0xc2, 0xd9, 0xea, 0x18, 0x16, 0x6c, 0x77, - 0x74, 0xee, 0xf9, 0x82, 0x0f, 0xfe, 0xdc, 0xd7, 0xde, 0x3e, 0xb7, 0xda, 0x98, 0x1e, 0xa5, 0x36, - 0x53, 0x64, 0x66, 0x7c, 0x08, 0x35, 0x0d, 0x4c, 0xaa, 0x50, 0x3a, 0xe8, 0x1e, 0x6e, 0xf7, 0x9b, - 0x37, 0x48, 0x03, 0xaa, 0x66, 0x67, 0xa7, 0xff, 0x45, 0xc7, 0xec, 0xec, 0x36, 0x73, 0xa4, 0x02, - 0xc5, 0x83, 0xfe, 0x60, 0xd8, 0xcc, 0x1b, 0x9b, 0xd0, 0x12, 0x39, 0xa6, 0xad, 0x49, 0xbf, 0x55, - 0x54, 0x3a, 0x50, 0x44, 0x8a, 0x43, 0xfe, 0x47, 0x50, 0xd7, 0xc5, 0x1b, 0x31, 0x23, 0x12, 0x2e, - 0x2c, 0xec, 0x78, 0xef, 0x69, 0xbc, 0x7a, 0x07, 0xb8, 0x03, 0xc3, 0x58, 0x25, 0xcb, 0xc7, 0xe4, - 0xd6, 0x0c, 0x4b, 0x30, 0x9e, 0x8f, 0x62, 0xd3, 0xf0, 0xff, 0x83, 0xc5, 0xb8, 0xe5, 0x44, 0x70, - 0xa4, 0xac, 0x23, 0x2b, 0x4b, 0x1d, 0x33, 0xa5, 0x90, 0xef, 0x41, 0x33, 0x69, 0x79, 0x11, 0xc2, - 0xf3, 0x35, 0xe9, 0x97, 0x9c, 0xb8, 0x31, 0x86, 0xec, 0xc3, 0x6a, 0x96, 0x80, 0x87, 0xf3, 0xe3, - 0x7a, 0x35, 0x07, 0x49, 0x0b, 0x71, 0xe4, 0x33, 0x61, 0x81, 0x2b, 0xe1, 0xf0, 0xbf, 0x15, 0x2f, - 0x5f, 0xeb, 0xec, 0x2d, 0xfe, 0x4f, 0xb3, 0xc5, 0x5d, 0x00, 0x44, 0x30, 0xd2, 0x84, 0x7a, 0xff, - 0xa8, 0xd3, 0xb3, 0x76, 0xf6, 0xdb, 0xbd, 0x5e, 0xe7, 0xa0, 0x79, 0x83, 0x10, 0x58, 0x44, 0x2f, - 0x8c, 0x5d, 0x05, 0xcb, 0x31, 0x98, 0x30, 0x8d, 0x4a, 0x58, 0x9e, 0xac, 0x42, 0xb3, 0xdb, 0x4b, - 0x40, 0x0b, 0xa4, 0x05, 0xab, 0x47, 0x1d, 0xee, 0xb8, 0x11, 0xcb, 0xb7, 0xc8, 0x0e, 0x0d, 0xa2, - 0xb9, 0xec, 0xd0, 0xf0, 0xa5, 0x3d, 0x99, 0xd0, 0x50, 0xac, 0x03, 0x29, 0x4b, 0xff, 0xf5, 0x1c, - 0xac, 0x25, 0x10, 0x91, 0xf9, 0x82, 0x4b, 0xd2, 0x71, 0x19, 0xba, 0x8e, 0x40, 0xb9, 0x9a, 0xde, - 0x85, 0x65, 0xa5, 0x4d, 0x4b, 0xec, 0x4a, 0x4d, 0x85, 0x90, 0xc4, 0x1f, 0xc0, 0x8a, 0xa6, 0x94, - 0x4b, 0xf0, 0x0a, 0xa2, 0xa1, 0x44, 0x02, 0x63, 0x0b, 0x16, 0x84, 0xe2, 0xb2, 0x09, 0x05, 0x79, - 0x93, 0xa5, 0x68, 0xb2, 0x9f, 0x84, 0x40, 0x71, 0x1a, 0xf9, 0xff, 0xe2, 0x6f, 0x63, 0x43, 0x5d, - 0x49, 0x4b, 0xb4, 0xf2, 0x57, 0x8b, 0xb0, 0x9e, 0xc4, 0x28, 0x8f, 0xf8, 0x72, 0xac, 0x81, 0xdc, - 0x90, 0x25, 0x40, 0xe4, 0xe3, 0xc4, 0xec, 0x89, 0x35, 0x11, 0x49, 0xf5, 0x99, 0x22, 0x1b, 0xfa, - 0x30, 0x29, 0x23, 0xf2, 0x29, 0xdf, 0x90, 0xb7, 0x00, 0xb0, 0x4d, 0x09, 0x91, 0xf1, 0xe3, 0x94, - 0xc8, 0x58, 0xcc, 0x4a, 0x94, 0x90, 0x20, 0x3b, 0xb0, 0x11, 0x79, 0xba, 0xc6, 0xcb, 0x2c, 0x65, - 0x25, 0x5f, 0x53, 0xd4, 0x07, 0x7a, 0xe1, 0x4f, 0xa0, 0x15, 0x65, 0x93, 0xa8, 0xc6, 0x42, 0x56, - 0x3e, 0xeb, 0x8a, 0xdc, 0x8c, 0xd5, 0xe7, 0xfb, 0xb0, 0x19, 0xeb, 0xaf, 0x78, 0x95, 0xca, 0x59, - 0x59, 0x6d, 0x68, 0x1d, 0x18, 0xab, 0xd4, 0x01, 0xdc, 0x8a, 0xe5, 0x95, 0xa8, 0x57, 0x25, 0x2b, - 0xb3, 0x96, 0x96, 0x59, 0xac, 0x66, 0xc6, 0xef, 0x2c, 0x00, 0xf9, 0xc1, 0x9c, 0xfa, 0x57, 0x78, - 0x51, 0x35, 0x78, 0x99, 0x0b, 0xbf, 0x54, 0xbc, 0xe5, 0x5f, 0xe9, 0xbe, 0x7a, 0xd6, 0x7d, 0xf1, - 0xe2, 0xcb, 0xef, 0x8b, 0x97, 0x5e, 0x76, 0x5f, 0xfc, 0x4d, 0x68, 0x38, 0x67, 0xae, 0xc7, 0xf6, - 0x35, 0x76, 0xac, 0x09, 0x5a, 0x0b, 0x77, 0x0b, 0xf7, 0xea, 0x66, 0x5d, 0x00, 0xd9, 0xa1, 0x26, - 0x20, 0x8f, 0x23, 0x22, 0x3a, 0x3e, 0xc3, 0x98, 0x09, 0xfa, 0x8e, 0xd6, 0x19, 0x9f, 0x51, 0xa1, - 0x67, 0xc4, 0x09, 0x2b, 0x13, 0x33, 0x78, 0x40, 0xde, 0x82, 0xc5, 0xc0, 0x9b, 0xb3, 0x53, 0xa2, - 0xec, 0x06, 0x6e, 0x6e, 0xae, 0x73, 0xe8, 0x91, 0x74, 0x3e, 0x58, 0x99, 0x07, 0xd4, 0x9a, 0x3a, - 0x41, 0xc0, 0x64, 0xed, 0x91, 0xe7, 0x86, 0xbe, 0x37, 0x11, 0x16, 0xe4, 0xe5, 0x79, 0x40, 0x0f, - 0x39, 0x66, 0x87, 0x23, 0xc8, 0xc7, 0x51, 0x95, 0x66, 0xb6, 0xe3, 0x07, 0x2d, 0xc0, 0x2a, 0xc9, - 0x96, 0xe2, 0x61, 0xcc, 0x76, 0x7c, 0x55, 0x17, 0xf6, 0x11, 0x24, 0xee, 0xb1, 0xd7, 0x92, 0xf7, - 0xd8, 0x7f, 0x25, 0xfb, 0x1e, 0x3b, 0xf7, 0xa2, 0x7b, 0x20, 0xb2, 0x4e, 0x0f, 0xf1, 0xd7, 0xba, - 0xce, 0x9e, 0xbe, 0x9e, 0xbf, 0xf8, 0x75, 0xae, 0xe7, 0x2f, 0x65, 0x5d, 0xcf, 0xff, 0x10, 0x6a, - 0x78, 0x2b, 0xda, 0x3a, 0x47, 0x5f, 0x5a, 0x6e, 0x11, 0x6f, 0xea, 0xd7, 0xa6, 0xf7, 0x1d, 0x37, - 0x34, 0xc1, 0x97, 0x3f, 0x83, 0xf4, 0x4d, 0xf9, 0xe5, 0x57, 0xba, 0x29, 0xff, 0xcd, 0x5c, 0x83, - 0x17, 0xb7, 0xb7, 0xb7, 0xa0, 0x22, 0xc7, 0x89, 0x31, 0xdb, 0x53, 0xdf, 0x9b, 0x4a, 0x2b, 0x1c, - 0xfb, 0x4d, 0x16, 0x21, 0x1f, 0x7a, 0x22, 0x71, 0x3e, 0xf4, 0x8c, 0x5f, 0x82, 0x9a, 0x36, 0xd5, - 0xc8, 0x1b, 0x5c, 0x4d, 0xcd, 0x0e, 0xda, 0xe2, 0xa0, 0xc0, 0x7b, 0xb1, 0x2a, 0xa0, 0xdd, 0x31, - 0xdb, 0x3c, 0xc6, 0x8e, 0x4f, 0x31, 0xa6, 0x85, 0xe5, 0xd3, 0x0b, 0xea, 0x07, 0xd2, 0x2a, 0xda, - 0x54, 0x08, 0x93, 0xc3, 0x8d, 0x5f, 0x86, 0x95, 0xd8, 0xd8, 0x0a, 0xf6, 0xfd, 0x16, 0x2c, 0x60, - 0xbf, 0x49, 0xd7, 0x9b, 0xf8, 0x75, 0x74, 0x81, 0xc3, 0xf8, 0x1d, 0xdc, 0xa0, 0x6b, 0xcd, 0x7c, - 0xef, 0x04, 0x0b, 0xc9, 0x99, 0x35, 0x01, 0x3b, 0xf2, 0xbd, 0x13, 0xe3, 0x3f, 0x14, 0xa0, 0xb0, - 0xef, 0xcd, 0x74, 0xff, 0xdb, 0x5c, 0xca, 0xff, 0x56, 0x68, 0x0f, 0x2c, 0xa5, 0x1d, 0x10, 0x07, - 0x30, 0x34, 0x65, 0x4a, 0x0d, 0xc1, 0x3d, 0x58, 0x64, 0x7c, 0x22, 0xf4, 0x2c, 0x71, 0xef, 0x85, - 0xef, 0x70, 0x7c, 0xf1, 0xd9, 0xd3, 0x70, 0xe8, 0xed, 0x71, 0x38, 0x59, 0x85, 0x82, 0x3a, 0x8b, - 0x22, 0x9a, 0x7d, 0x92, 0x75, 0x58, 0xc0, 0xfb, 0x3a, 0xf2, 0xee, 0xb2, 0xf8, 0x22, 0xef, 0xc3, - 0x4a, 0x3c, 0x5f, 0xce, 0x8a, 0x84, 0xa0, 0xab, 0x67, 0x8c, 0x3c, 0xe9, 0x26, 0x30, 0x3e, 0x12, - 0xdd, 0x5e, 0x2e, 0x98, 0xe5, 0x53, 0x4a, 0x11, 0xa5, 0x31, 0xbd, 0x4a, 0x8c, 0xe9, 0xdd, 0x81, - 0x5a, 0x38, 0xb9, 0xb0, 0x66, 0xf6, 0xd5, 0xc4, 0xb3, 0xe5, 0x25, 0x3d, 0x08, 0x27, 0x17, 0x47, - 0x1c, 0x42, 0x3e, 0x00, 0x98, 0xce, 0x66, 0x62, 0xed, 0xa1, 0x79, 0x2e, 0x9a, 0xca, 0x87, 0x47, - 0x47, 0x7c, 0xca, 0x99, 0xd5, 0xe9, 0x6c, 0xc6, 0x7f, 0x92, 0x5d, 0x58, 0xcc, 0x8c, 0x3b, 0x71, - 0x5b, 0xde, 0x6a, 0xf0, 0x66, 0x5b, 0x19, 0x8b, 0xb3, 0x31, 0xd2, 0x61, 0x9b, 0xdf, 0x03, 0xf2, - 0x53, 0x86, 0x76, 0x18, 0x42, 0x55, 0xd5, 0x2f, 0x15, 0x50, 0xa2, 0x96, 0x0a, 0x28, 0xc1, 0xf8, - 0x22, 0x97, 0x7e, 0x14, 0xcb, 0x07, 0x4d, 0xfc, 0x11, 0xf7, 0x81, 0x8c, 0xff, 0x9c, 0x83, 0x12, - 0x0f, 0xd3, 0xf0, 0x36, 0x2c, 0x71, 0x7a, 0xe5, 0xcb, 0x2c, 0x1c, 0x4e, 0xb8, 0x10, 0x35, 0x14, - 0x6e, 0xcc, 0x6c, 0x59, 0x68, 0xd1, 0x6d, 0x22, 0x31, 0x42, 0x8b, 0x70, 0x73, 0x07, 0xaa, 0xaa, - 0x68, 0x6d, 0xea, 0x54, 0x64, 0xc9, 0xe4, 0x75, 0x28, 0x9e, 0x7b, 0x33, 0xa9, 0xc6, 0x83, 0xa8, - 0x27, 0x4d, 0x84, 0x47, 0x75, 0x61, 0x65, 0x44, 0xf7, 0x94, 0x0a, 0xa2, 0x2e, 0xac, 0x10, 0x79, - 0x79, 0x3d, 0xd1, 0xc6, 0x85, 0x8c, 0x36, 0x1e, 0xc3, 0x12, 0xe3, 0x03, 0x9a, 0xd7, 0xcb, 0xf5, - 0x9b, 0xe6, 0xb7, 0x99, 0xb8, 0x3e, 0x9a, 0xcc, 0xc7, 0x54, 0x57, 0xa4, 0xa2, 0x63, 0xaa, 0x80, - 0xcb, 0x63, 0x92, 0xf1, 0x3b, 0x39, 0xce, 0x5f, 0x58, 0xbe, 0xe4, 0x1e, 0x14, 0x5d, 0xe9, 0x21, - 0x13, 0x09, 0xe5, 0xea, 0x4e, 0x1f, 0xa3, 0x33, 0x91, 0x82, 0x0d, 0x1d, 0xfa, 0x95, 0xe8, 0xb9, - 0x37, 0xcc, 0x9a, 0x3b, 0x9f, 0x2a, 0x3d, 0xe4, 0xb7, 0x64, 0xb3, 0x12, 0x3a, 0x3c, 0xde, 0x7a, - 0xb5, 0x4c, 0xb7, 0x34, 0x0f, 0xd7, 0x62, 0x6c, 0xc7, 0x94, 0x22, 0xfd, 0xf8, 0x8c, 0x6a, 0x9e, - 0xad, 0xbf, 0x9f, 0x87, 0x46, 0xac, 0x46, 0xe8, 0xe2, 0xcb, 0x36, 0x00, 0x6e, 0x67, 0x14, 0xe3, - 0x8d, 0x9e, 0x94, 0xe2, 0xd4, 0xa5, 0xf5, 0x53, 0x3e, 0xd6, 0x4f, 0xca, 0xc5, 0xad, 0xa0, 0xbb, - 0xb8, 0x3d, 0x80, 0x6a, 0x14, 0xd5, 0x28, 0x5e, 0x25, 0x56, 0x9e, 0xbc, 0xd9, 0x18, 0x11, 0x45, - 0x4e, 0x71, 0x25, 0xdd, 0x29, 0xee, 0xbb, 0x9a, 0x0f, 0xd5, 0x02, 0x66, 0x63, 0x64, 0xf5, 0xe8, - 0xcf, 0xc4, 0x83, 0xca, 0x78, 0x0c, 0x35, 0xad, 0xf2, 0xba, 0x1f, 0x52, 0x2e, 0xe6, 0x87, 0xa4, - 0xee, 0x38, 0xe7, 0xa3, 0x3b, 0xce, 0xc6, 0xaf, 0xe7, 0xa1, 0xc1, 0xd6, 0x97, 0xe3, 0x9e, 0x1d, - 0x79, 0x13, 0x67, 0x84, 0x76, 0x47, 0xb5, 0xc2, 0x84, 0xa0, 0x25, 0xd7, 0x99, 0x58, 0x62, 0x5c, - 0xce, 0xd2, 0xe3, 0x68, 0x70, 0x26, 0xad, 0xe2, 0x68, 0x18, 0xd0, 0x60, 0x8c, 0x11, 0x2d, 0x88, - 0x51, 0x6c, 0x24, 0xb3, 0x76, 0x4a, 0xe9, 0xb6, 0x1d, 0x70, 0x0e, 0xf9, 0x3e, 0xac, 0x30, 0x1a, - 0xbc, 0x25, 0x3f, 0x75, 0x26, 0x13, 0x27, 0xba, 0x18, 0x58, 0x30, 0x9b, 0xa7, 0x94, 0x9a, 0x76, - 0x48, 0x0f, 0x19, 0x42, 0x84, 0x52, 0xaa, 0x8c, 0x9d, 0xc0, 0x3e, 0x89, 0x1c, 0xb1, 0xd5, 0xb7, - 0x34, 0xcc, 0x47, 0xbe, 0x0f, 0x0b, 0xe2, 0xce, 0x20, 0xb7, 0xdc, 0x63, 0xfa, 0xc4, 0x4c, 0x2a, - 0x27, 0x67, 0x92, 0xf1, 0x0f, 0xf3, 0x50, 0xd3, 0xa6, 0xe5, 0xab, 0xec, 0xae, 0xb7, 0x53, 0x76, - 0xe2, 0xaa, 0x6e, 0x12, 0x7e, 0x33, 0x5e, 0x64, 0x41, 0xdd, 0x1e, 0xd3, 0x27, 0xf0, 0x2d, 0xa8, - 0xb2, 0x55, 0xf7, 0x21, 0xea, 0xd3, 0x45, 0x28, 0x33, 0x04, 0x1c, 0xcd, 0x4f, 0x24, 0xf2, 0x21, - 0x22, 0x4b, 0x11, 0xf2, 0x21, 0x43, 0xbe, 0xe8, 0xf6, 0xc8, 0xa7, 0x50, 0x17, 0xb9, 0xe2, 0x98, - 0x8a, 0x63, 0xc1, 0xaa, 0xb6, 0x73, 0xab, 0xf1, 0x36, 0x6b, 0xbc, 0x38, 0x3e, 0xf8, 0x22, 0xe1, - 0x43, 0x99, 0xb0, 0xf2, 0xb2, 0x84, 0x0f, 0xf9, 0x87, 0xb1, 0xa7, 0x2e, 0xe4, 0xa0, 0xf7, 0xa2, - 0xe4, 0x63, 0x1f, 0xc0, 0x8a, 0x64, 0x57, 0x73, 0xd7, 0x76, 0x5d, 0x6f, 0xee, 0x8e, 0xa8, 0xbc, - 0x9c, 0x4c, 0x04, 0xea, 0x38, 0xc2, 0x18, 0x63, 0x15, 0x7d, 0x83, 0x7b, 0x41, 0xde, 0x87, 0x12, - 0x97, 0xcb, 0xb9, 0xf0, 0x91, 0xcd, 0xb8, 0x38, 0x09, 0xb9, 0x07, 0x25, 0x2e, 0x9e, 0xe7, 0xaf, - 0x65, 0x36, 0x9c, 0xc0, 0x68, 0x03, 0x61, 0x09, 0x0f, 0x69, 0xe8, 0x3b, 0xa3, 0x20, 0xba, 0xf7, - 0x5c, 0x0a, 0xaf, 0x66, 0xa2, 0xac, 0x48, 0x0d, 0x1f, 0x51, 0xa2, 0xc2, 0x81, 0xd3, 0xb0, 0x8d, - 0x69, 0x25, 0x96, 0x87, 0x10, 0x97, 0x26, 0xb0, 0x7e, 0x42, 0xc3, 0xe7, 0x94, 0xba, 0x2e, 0x13, - 0x86, 0x46, 0xd4, 0x0d, 0x7d, 0x7b, 0xc2, 0x06, 0x89, 0xb7, 0xe0, 0x51, 0x2a, 0xd7, 0x48, 0xa1, - 0xb5, 0x1d, 0x25, 0xdc, 0x51, 0xe9, 0x38, 0xef, 0x58, 0x3b, 0xc9, 0xc2, 0x6d, 0xfe, 0x22, 0x6c, - 0x5e, 0x9f, 0x28, 0x23, 0x7a, 0xc2, 0xbd, 0x38, 0x57, 0x51, 0x46, 0xdd, 0x89, 0x67, 0x87, 0xbc, - 0x36, 0x3a, 0x67, 0xe9, 0x41, 0x4d, 0xc3, 0x44, 0x7b, 0x7f, 0x0e, 0x85, 0x3b, 0xfe, 0xc1, 0x76, - 0x24, 0xd7, 0xf3, 0xa7, 0x68, 0x44, 0x1d, 0x5b, 0x51, 0xee, 0x39, 0x73, 0x29, 0x82, 0xa3, 0xdf, - 0x8d, 0xb1, 0x05, 0x4b, 0x28, 0xd9, 0x6b, 0x1b, 0xdd, 0x8b, 0x84, 0x41, 0x63, 0x15, 0x48, 0x8f, - 0xf3, 0x2e, 0xdd, 0x23, 0xf4, 0x0f, 0x0b, 0x50, 0xd3, 0xc0, 0x6c, 0x37, 0x42, 0x37, 0x5a, 0x6b, - 0xec, 0xd8, 0x53, 0x2a, 0x2d, 0xd6, 0x0d, 0xb3, 0x81, 0xd0, 0x5d, 0x01, 0x64, 0x7b, 0xb1, 0x7d, - 0x71, 0x66, 0x79, 0xf3, 0xd0, 0x1a, 0xd3, 0x33, 0x9f, 0xca, 0x5a, 0xd6, 0xed, 0x8b, 0xb3, 0xfe, - 0x3c, 0xdc, 0x45, 0x98, 0x0c, 0x37, 0xa3, 0x51, 0x15, 0x54, 0xb8, 0x99, 0x88, 0x4a, 0xb8, 0x1f, - 0xf3, 0x99, 0x59, 0x54, 0xee, 0xc7, 0xfc, 0xb4, 0x98, 0xdc, 0x40, 0x4b, 0xe9, 0x0d, 0xf4, 0x63, - 0x58, 0xe7, 0x1b, 0xa8, 0x60, 0xcd, 0x56, 0x62, 0x25, 0xaf, 0x22, 0x56, 0x34, 0x52, 0x13, 0x7b, - 0x9b, 0xac, 0x05, 0x92, 0x2d, 0x05, 0xce, 0x8f, 0x39, 0x23, 0xcb, 0x99, 0xac, 0x65, 0x22, 0xf3, - 0x81, 0xf3, 0x63, 0x2a, 0xc3, 0xdd, 0xc4, 0x28, 0xc5, 0xdd, 0xb0, 0xa9, 0xe3, 0x26, 0x29, 0xed, - 0xcb, 0x38, 0x65, 0x55, 0x50, 0xda, 0x97, 0x3a, 0xe5, 0x23, 0xd8, 0x98, 0xd2, 0xb1, 0x63, 0xc7, - 0xb3, 0xb5, 0x22, 0xc1, 0x6d, 0x95, 0xa3, 0xb5, 0x34, 0x03, 0x7e, 0x70, 0x67, 0xbd, 0xf1, 0x63, - 0x6f, 0x7a, 0xe2, 0x70, 0x99, 0x85, 0x7b, 0x94, 0x15, 0xcd, 0x45, 0x77, 0x3e, 0xfd, 0x21, 0x82, - 0x59, 0x92, 0xc0, 0x68, 0x40, 0x6d, 0x10, 0x7a, 0x33, 0x39, 0xcc, 0x8b, 0x50, 0xe7, 0x9f, 0xe2, - 0x5e, 0xff, 0x2d, 0xb8, 0x89, 0x2c, 0x61, 0xe8, 0xcd, 0xbc, 0x89, 0x77, 0x76, 0x15, 0x53, 0xca, - 0xfe, 0xf3, 0x1c, 0xac, 0xc4, 0xb0, 0x82, 0xbd, 0x7e, 0xcc, 0xf9, 0x99, 0xba, 0x13, 0x9c, 0x8b, - 0x5d, 0x08, 0x63, 0xe3, 0xc5, 0x09, 0x39, 0x33, 0x93, 0xf7, 0x84, 0xdb, 0x51, 0x2c, 0x29, 0x99, - 0x90, 0xb3, 0x94, 0x56, 0x9a, 0xa5, 0x88, 0xf4, 0x32, 0xca, 0x94, 0xcc, 0xe2, 0xe7, 0xc4, 0xfd, - 0xbd, 0xb1, 0x68, 0x72, 0x21, 0x7e, 0xc3, 0x47, 0x57, 0xe0, 0xca, 0x1a, 0x44, 0x5a, 0xdd, 0xc0, - 0xf8, 0xdd, 0x3c, 0x40, 0x54, 0x3b, 0xbc, 0x63, 0xa4, 0xe4, 0x96, 0x1c, 0x3a, 0x73, 0x6b, 0x32, - 0xca, 0x1b, 0x50, 0x57, 0x7e, 0xff, 0x91, 0x24, 0x54, 0x93, 0x30, 0x26, 0x0e, 0xbd, 0x0b, 0x4b, - 0x67, 0x13, 0xef, 0x04, 0x25, 0x56, 0x21, 0xb7, 0xa0, 0x4b, 0x08, 0xee, 0x47, 0x8b, 0x1c, 0xa5, - 0xa2, 0xc1, 0x29, 0xd9, 0xa9, 0x98, 0x79, 0x3d, 0x20, 0x26, 0x09, 0x3d, 0x4e, 0x49, 0x42, 0x77, - 0x52, 0x9d, 0xfb, 0xb3, 0x11, 0x83, 0xfe, 0x52, 0x5e, 0xb9, 0x3a, 0x47, 0xe3, 0xf2, 0xe2, 0xc3, - 0xe6, 0x4f, 0xe2, 0xe8, 0xf5, 0x22, 0xcb, 0xf5, 0x63, 0x58, 0xf4, 0xf9, 0x16, 0x29, 0xf7, 0xcf, - 0xe2, 0x0b, 0xf6, 0xcf, 0x86, 0x1f, 0x93, 0xbb, 0xbe, 0x0d, 0x4d, 0x7b, 0x7c, 0x41, 0xfd, 0xd0, - 0x41, 0x43, 0x10, 0x4a, 0xeb, 0xc2, 0xb9, 0x58, 0x83, 0xa3, 0x58, 0xfc, 0x0e, 0x2c, 0x89, 0xc8, - 0x17, 0x8a, 0x52, 0x44, 0x59, 0x8c, 0xc0, 0x8c, 0xd0, 0xf8, 0xfb, 0xd2, 0xb7, 0x3a, 0x3e, 0xd7, - 0x5e, 0xdc, 0x2b, 0x7a, 0x0b, 0xf3, 0x69, 0xdb, 0xbc, 0x98, 0xd6, 0xc2, 0xbe, 0x24, 0xb8, 0x23, - 0x07, 0x0a, 0xeb, 0x52, 0xbc, 0x5b, 0x8b, 0xaf, 0xd2, 0xad, 0xc6, 0xbf, 0xc8, 0x41, 0x79, 0xdf, - 0x9b, 0xed, 0x3b, 0xfc, 0x86, 0x0e, 0x2e, 0x5a, 0x65, 0xfe, 0x5c, 0x60, 0x9f, 0xe8, 0x95, 0xf6, - 0x82, 0x9b, 0xbb, 0x99, 0x42, 0x67, 0x23, 0x2e, 0x74, 0x7e, 0x17, 0x6e, 0xa1, 0x75, 0xd9, 0xf7, - 0x66, 0x9e, 0xcf, 0x18, 0x87, 0x3d, 0xe1, 0xc2, 0xa7, 0xe7, 0x86, 0xe7, 0x92, 0x93, 0xdf, 0x3c, - 0xa5, 0xf4, 0x48, 0xa3, 0x38, 0x54, 0x04, 0x78, 0x6b, 0x7f, 0x12, 0x5e, 0x58, 0x5c, 0x5f, 0x20, - 0xa4, 0x63, 0xce, 0xdf, 0x97, 0x18, 0xa2, 0x83, 0x70, 0x94, 0x8f, 0x8d, 0xcf, 0xa0, 0xaa, 0x54, - 0x4f, 0xe4, 0x5d, 0xa8, 0x9e, 0x7b, 0x33, 0xa1, 0x9f, 0xca, 0xc5, 0x6e, 0x37, 0x8b, 0x56, 0x9b, - 0x95, 0x73, 0xfe, 0x23, 0x30, 0xfe, 0x4f, 0x19, 0xca, 0x5d, 0xf7, 0xc2, 0x73, 0x46, 0xe8, 0x9d, - 0x3d, 0xa5, 0x53, 0x4f, 0x06, 0xe6, 0x61, 0xbf, 0xd1, 0x71, 0x30, 0x0a, 0x84, 0x58, 0x10, 0x8e, - 0x83, 0x2a, 0x04, 0xe2, 0x1a, 0x2c, 0xf8, 0x7a, 0x24, 0xc3, 0x92, 0x8f, 0x77, 0x5a, 0xd4, 0xee, - 0x5d, 0xd2, 0x02, 0x27, 0xb1, 0xbc, 0xb8, 0xe3, 0x2c, 0x76, 0x19, 0xbf, 0x79, 0x5f, 0x45, 0x08, - 0x76, 0xd8, 0x6b, 0x50, 0x16, 0x5a, 0x68, 0x7e, 0xb5, 0x91, 0xeb, 0xee, 0x05, 0x08, 0x67, 0x83, - 0x4f, 0xb9, 0x77, 0x80, 0x12, 0xab, 0x0b, 0x66, 0x5d, 0x02, 0x77, 0xd9, 0x5c, 0xbb, 0x03, 0x35, - 0x4e, 0xcf, 0x49, 0x2a, 0xc2, 0xa9, 0x19, 0x41, 0x48, 0x90, 0x11, 0x33, 0xb4, 0x9a, 0x19, 0x33, - 0x14, 0xdd, 0xef, 0x15, 0xcf, 0xe7, 0x4d, 0x04, 0x1e, 0x06, 0x52, 0x83, 0xcb, 0x40, 0xbc, 0x42, - 0xc3, 0xc3, 0x83, 0x52, 0x48, 0x0d, 0xcf, 0x9b, 0xd0, 0x38, 0xb5, 0x27, 0x93, 0x13, 0x7b, 0xf4, - 0x8c, 0x2b, 0x26, 0xea, 0x5c, 0x17, 0x2b, 0x81, 0xa8, 0x99, 0xb8, 0x03, 0x35, 0x6d, 0x94, 0xd1, - 0x63, 0xb9, 0x68, 0x42, 0x34, 0xbe, 0x49, 0x7d, 0xe3, 0xe2, 0x2b, 0xe8, 0x1b, 0x35, 0xcf, 0xed, - 0xa5, 0xb8, 0xe7, 0xf6, 0x2d, 0xe4, 0xed, 0xc2, 0x1f, 0xb6, 0xc9, 0x63, 0x0e, 0xda, 0xe3, 0x31, - 0x0f, 0x13, 0xf3, 0x06, 0xd4, 0x45, 0xe7, 0x71, 0xfc, 0x32, 0x3f, 0xd9, 0x70, 0x18, 0x27, 0xb9, - 0xcd, 0x95, 0xe6, 0x33, 0xdb, 0x19, 0xe3, 0x45, 0x22, 0x61, 0x5f, 0xb1, 0xa7, 0xe1, 0x91, 0xed, - 0xa0, 0x27, 0xa0, 0x44, 0xe3, 0x5e, 0xbd, 0xc2, 0xfb, 0x5f, 0xa0, 0x07, 0x3c, 0xe4, 0x8a, 0xa2, - 0x98, 0xaa, 0xa8, 0x12, 0x66, 0x4d, 0x90, 0xe0, 0x3c, 0xf8, 0x10, 0x1d, 0xc8, 0x42, 0x8a, 0x71, - 0x23, 0x16, 0x1f, 0xde, 0x52, 0x7e, 0x2d, 0x38, 0x4b, 0xe5, 0x7f, 0x6e, 0x77, 0xe5, 0x94, 0x4c, - 0xd4, 0xe4, 0xe6, 0xdf, 0xf5, 0x98, 0x34, 0x2e, 0x48, 0xd1, 0xfc, 0xcb, 0x09, 0xc8, 0x67, 0xda, - 0x1e, 0xd2, 0x42, 0xe2, 0xd7, 0x12, 0xf9, 0x5f, 0x77, 0x75, 0xf3, 0x36, 0x80, 0x13, 0xb0, 0x3d, - 0x2f, 0xa0, 0xee, 0x18, 0xc3, 0x3f, 0x54, 0xcc, 0xaa, 0x13, 0x3c, 0xe5, 0x80, 0x94, 0x16, 0x6a, - 0x33, 0x1d, 0xd6, 0xf4, 0x1b, 0xdd, 0x82, 0xda, 0x50, 0xd7, 0x7b, 0x82, 0x54, 0xa0, 0xd8, 0x3f, - 0xea, 0xf4, 0x9a, 0x37, 0x48, 0x0d, 0xca, 0x83, 0xce, 0x70, 0x78, 0x80, 0x76, 0xe6, 0x3a, 0x54, - 0xd4, 0xfd, 0xef, 0x3c, 0xfb, 0x6a, 0xef, 0xec, 0x74, 0x8e, 0x86, 0x9d, 0xdd, 0x66, 0xe1, 0xfb, - 0xc5, 0x4a, 0xbe, 0x59, 0x30, 0xfe, 0xb4, 0x00, 0x35, 0xad, 0xa3, 0x5e, 0xcc, 0xaf, 0xe3, 0x91, - 0x86, 0xf2, 0xc9, 0x48, 0x43, 0xba, 0x51, 0x45, 0x44, 0x63, 0x92, 0x46, 0x95, 0x37, 0xa1, 0x21, - 0x22, 0x22, 0x6a, 0xde, 0x02, 0x25, 0xb3, 0xce, 0x81, 0x82, 0x9b, 0x63, 0x34, 0x09, 0x24, 0xc2, - 0x7b, 0xba, 0x22, 0x96, 0x19, 0x07, 0xe1, 0x4d, 0x5d, 0xbc, 0x66, 0x1d, 0x78, 0x93, 0x0b, 0xca, - 0x29, 0xb8, 0x08, 0x5b, 0x13, 0xb0, 0xa1, 0x88, 0xd4, 0x21, 0x58, 0xa6, 0x16, 0xce, 0xa0, 0x64, - 0xd6, 0x39, 0x50, 0x14, 0xf4, 0xbe, 0x9c, 0x63, 0xdc, 0x77, 0x6a, 0x23, 0x3d, 0x61, 0x62, 0xf3, - 0xeb, 0x20, 0xa5, 0xf7, 0xac, 0xe2, 0xdc, 0xf9, 0x56, 0x3a, 0xdd, 0xcb, 0xf5, 0x9f, 0xe4, 0x5d, - 0x20, 0xd3, 0xd9, 0xcc, 0xca, 0xd0, 0x48, 0x16, 0xcd, 0xa5, 0xe9, 0x6c, 0x36, 0xd4, 0x14, 0x76, - 0xe4, 0x35, 0x28, 0xd8, 0xd3, 0x19, 0xb2, 0x96, 0x48, 0x3b, 0xd8, 0x3e, 0x3c, 0x32, 0x19, 0xf8, - 0x1b, 0x50, 0xa5, 0xfe, 0x66, 0x0e, 0x0a, 0xed, 0xc3, 0x23, 0x64, 0xf4, 0x9e, 0x17, 0x5a, 0xc1, - 0xb9, 0x2d, 0x82, 0x89, 0x31, 0x46, 0xef, 0x79, 0xe1, 0x80, 0x01, 0x18, 0xa3, 0x0f, 0x68, 0x18, - 0xf9, 0x00, 0x97, 0x02, 0x1a, 0x72, 0x87, 0xf0, 0xd1, 0xb9, 0x33, 0x19, 0xc7, 0x42, 0x3b, 0x02, - 0x82, 0xf8, 0x8c, 0x20, 0x50, 0xd4, 0xb6, 0x07, 0xfc, 0xcd, 0x2f, 0xbe, 0x89, 0x1d, 0x85, 0xbb, - 0x99, 0xab, 0x6f, 0xe3, 0x2f, 0xe7, 0x80, 0xb4, 0x19, 0x47, 0xc2, 0x0e, 0x55, 0x27, 0xdd, 0x68, - 0x9f, 0xc9, 0xe9, 0xfb, 0x4c, 0x06, 0x3b, 0xcf, 0x67, 0xb2, 0xf3, 0x97, 0x31, 0xbe, 0xd8, 0xd2, - 0x5d, 0x4e, 0x2d, 0x5d, 0x63, 0x0f, 0x6a, 0x47, 0x5a, 0xa4, 0xdd, 0xbb, 0x6c, 0x57, 0x94, 0x31, - 0x76, 0xf9, 0x7e, 0xc9, 0xb5, 0xba, 0xbe, 0x08, 0xad, 0xab, 0x55, 0x38, 0xaf, 0x55, 0xd8, 0xf8, - 0xdb, 0x39, 0x1e, 0xe8, 0x4e, 0xb5, 0x2f, 0x0a, 0xee, 0x2b, 0x8d, 0xa3, 0x51, 0x18, 0x95, 0x9a, - 0x34, 0x7f, 0x8a, 0x08, 0x28, 0x58, 0x7b, 0xcb, 0x3b, 0x3d, 0x0d, 0xa8, 0x74, 0x99, 0xaa, 0x21, - 0xac, 0x8f, 0x20, 0x79, 0xfc, 0x61, 0x67, 0x2c, 0x87, 0xe7, 0x1f, 0x08, 0x3f, 0x29, 0x76, 0xfc, - 0x39, 0xb4, 0x2f, 0x45, 0xa9, 0x01, 0x1b, 0x01, 0x61, 0xa1, 0x91, 0x61, 0x04, 0xd4, 0xb7, 0xf1, - 0x37, 0x44, 0xa4, 0x97, 0xe4, 0x10, 0xdc, 0x87, 0x8a, 0xca, 0x35, 0x2e, 0x55, 0x48, 0x4a, 0x85, - 0x67, 0xb2, 0x0b, 0xaa, 0xa3, 0x62, 0x35, 0xe6, 0xdc, 0x02, 0xad, 0x6c, 0x5d, 0xad, 0xd6, 0xef, - 0x01, 0x39, 0x75, 0xfc, 0x24, 0x31, 0xe7, 0x1e, 0x4d, 0xc4, 0x68, 0xd4, 0xc6, 0x31, 0xac, 0x48, - 0xb6, 0xa7, 0x9d, 0xc9, 0xe2, 0xe3, 0x9b, 0x7b, 0xc9, 0xc6, 0x96, 0x4f, 0x6d, 0x6c, 0xc6, 0x6f, - 0x94, 0xa0, 0x2c, 0x03, 0x5b, 0x67, 0x45, 0x5a, 0xae, 0xc6, 0x23, 0x2d, 0xb7, 0x62, 0x81, 0x21, - 0x71, 0xe8, 0x85, 0x8c, 0xf3, 0x4e, 0x52, 0x4c, 0xd1, 0xac, 0x45, 0x31, 0x51, 0x45, 0x58, 0x8b, - 0x4a, 0x71, 0x6b, 0x51, 0x56, 0xf4, 0x69, 0x2e, 0x6e, 0xa7, 0xa2, 0x4f, 0xdf, 0x02, 0x2e, 0x3b, - 0x69, 0xbe, 0xa2, 0x15, 0x04, 0x88, 0x50, 0x18, 0x9a, 0xa8, 0x55, 0x49, 0x8a, 0x5a, 0xaf, 0x2c, - 0x06, 0x7d, 0x0c, 0x0b, 0x3c, 0x6a, 0x94, 0x08, 0x8b, 0x20, 0x37, 0x4b, 0xd1, 0x57, 0xf2, 0x3f, - 0xbf, 0x82, 0x64, 0x0a, 0x5a, 0x3d, 0x5a, 0x69, 0x2d, 0x16, 0xad, 0x54, 0xb7, 0x62, 0xd5, 0xe3, - 0x56, 0xac, 0x7b, 0xd0, 0x54, 0x1d, 0x87, 0x3a, 0x61, 0x37, 0x10, 0x37, 0xa0, 0x17, 0x25, 0x9c, - 0xb1, 0xf7, 0x5e, 0x10, 0x6d, 0xf6, 0x8b, 0xb1, 0xcd, 0x9e, 0x31, 0xdf, 0x76, 0x18, 0xd2, 0xe9, - 0x2c, 0x94, 0x9b, 0xbd, 0x16, 0xf0, 0x9b, 0x8f, 0x3c, 0xbf, 0xa2, 0x25, 0x87, 0x97, 0xcf, 0x8e, - 0x6d, 0x58, 0x3c, 0xb5, 0x9d, 0xc9, 0xdc, 0xa7, 0x96, 0x4f, 0xed, 0xc0, 0x73, 0x91, 0x3f, 0x44, - 0x72, 0x87, 0x68, 0xe2, 0x1e, 0xa7, 0x31, 0x91, 0xc4, 0x6c, 0x9c, 0xea, 0x9f, 0x78, 0xd1, 0x51, - 0xef, 0x09, 0xb6, 0x07, 0x8b, 0xe0, 0x08, 0xdc, 0xf5, 0xab, 0xdb, 0xb3, 0xf6, 0x0e, 0xba, 0x4f, - 0xf6, 0x87, 0xcd, 0x1c, 0xfb, 0x1c, 0x1c, 0xef, 0xec, 0x74, 0x3a, 0xbb, 0xb8, 0x27, 0x03, 0x2c, - 0xec, 0xb5, 0xbb, 0x07, 0x62, 0x47, 0x2e, 0x36, 0x4b, 0xc6, 0x1f, 0xe6, 0xa1, 0xa6, 0xb5, 0x06, - 0xc3, 0x9e, 0xf0, 0x9f, 0x8c, 0xff, 0x96, 0x45, 0xd8, 0x13, 0x0e, 0xe9, 0x8e, 0xc9, 0x23, 0x35, - 0x46, 0x3c, 0x5a, 0xcb, 0xed, 0x74, 0x87, 0x6c, 0xc9, 0x1d, 0x4d, 0x1b, 0x24, 0x15, 0xf9, 0x3b, - 0x7f, 0x6d, 0xe4, 0x6f, 0xf2, 0x36, 0x2c, 0xc9, 0x92, 0xe5, 0x98, 0x08, 0xeb, 0x8b, 0x00, 0x8b, - 0x21, 0x79, 0x5b, 0x44, 0x8e, 0x11, 0xdb, 0x32, 0xa3, 0x2b, 0x4a, 0x17, 0x69, 0xb5, 0x33, 0xe3, - 0xd0, 0x95, 0x45, 0xc7, 0x09, 0x6f, 0x09, 0x25, 0xe0, 0x88, 0xee, 0x94, 0xe8, 0xd8, 0x1e, 0xb1, - 0x90, 0xd8, 0x23, 0x3e, 0x01, 0x88, 0xda, 0x13, 0xef, 0xdd, 0x1b, 0xf1, 0xde, 0xcd, 0x69, 0xbd, - 0x9b, 0x37, 0xfe, 0x9e, 0xe0, 0x6c, 0x62, 0xa8, 0x94, 0x2e, 0xf6, 0x7d, 0x90, 0xda, 0x61, 0x0b, - 0xaf, 0x54, 0xcc, 0x26, 0x34, 0x94, 0xf7, 0xbb, 0x97, 0x05, 0xa6, 0xab, 0x10, 0x29, 0x4e, 0x9c, - 0x4f, 0x73, 0xe2, 0x37, 0xa0, 0x8e, 0xa1, 0x08, 0x45, 0x41, 0x82, 0x9b, 0xd5, 0xa6, 0xf6, 0xa5, - 0x2c, 0x3b, 0xc6, 0x82, 0x8b, 0x09, 0x16, 0xfc, 0x37, 0x73, 0x3c, 0x6e, 0x55, 0x54, 0xd1, 0x88, - 0x07, 0xab, 0x3c, 0xe3, 0x3c, 0x58, 0x90, 0x9a, 0x0a, 0x7f, 0x0d, 0x5f, 0xcd, 0x67, 0xf3, 0xd5, - 0x6c, 0x8e, 0x5d, 0xc8, 0xe4, 0xd8, 0xc6, 0x25, 0xb4, 0x76, 0x29, 0xeb, 0x8a, 0xf6, 0x64, 0x92, - 0xec, 0xcb, 0x07, 0xb0, 0xca, 0x86, 0x10, 0x5d, 0x45, 0x38, 0x46, 0xdf, 0xd1, 0x08, 0xc7, 0xc9, - 0x44, 0xb8, 0xb1, 0xdd, 0x87, 0x65, 0x91, 0x02, 0x17, 0xad, 0x1e, 0x24, 0x6c, 0x89, 0x23, 0xd0, - 0x63, 0x93, 0xd1, 0x1a, 0xb7, 0xe0, 0x66, 0x46, 0xc9, 0x42, 0x69, 0xf7, 0x9b, 0x39, 0x58, 0x6b, - 0xf3, 0x60, 0x38, 0xdf, 0xd8, 0xf5, 0xee, 0xcf, 0xe1, 0xa6, 0xba, 0x7d, 0xa1, 0xdd, 0x1a, 0xd5, - 0x2b, 0x29, 0x2f, 0x6e, 0x68, 0x77, 0x8e, 0xb0, 0xae, 0x2d, 0x58, 0x4f, 0xd6, 0x46, 0x54, 0x74, - 0x0f, 0x96, 0x77, 0xe9, 0xc9, 0xfc, 0xec, 0x80, 0x5e, 0x44, 0x75, 0x24, 0x50, 0x0c, 0xce, 0xbd, - 0xe7, 0xa2, 0xa3, 0xf0, 0x37, 0xba, 0x67, 0x33, 0x1a, 0x2b, 0x98, 0xd1, 0x91, 0x34, 0xfa, 0x20, - 0x64, 0x30, 0xa3, 0x23, 0xe3, 0x11, 0x10, 0x3d, 0x1f, 0x31, 0x47, 0xd8, 0x19, 0x78, 0x7e, 0x62, - 0x05, 0x57, 0x41, 0x48, 0xa7, 0xf2, 0x46, 0x34, 0x04, 0xf3, 0x93, 0x01, 0x87, 0x18, 0xef, 0x40, - 0xfd, 0xc8, 0xbe, 0x32, 0xe9, 0x8f, 0xc4, 0xc5, 0xe3, 0x0d, 0x28, 0xcf, 0xec, 0x2b, 0xb6, 0x11, - 0x28, 0xfb, 0x2f, 0xa2, 0x8d, 0xdf, 0x2d, 0xc2, 0x02, 0xa7, 0x24, 0x77, 0xf9, 0xa3, 0x20, 0x8e, - 0x8b, 0x8c, 0x58, 0x6e, 0x89, 0x1a, 0x28, 0xb5, 0x6b, 0xe6, 0xd3, 0xbb, 0xa6, 0x50, 0x56, 0xcb, - 0x48, 0x8b, 0xd2, 0x52, 0xe7, 0xce, 0xa7, 0x32, 0xbc, 0x62, 0x3c, 0xf4, 0x4b, 0x31, 0x7a, 0x4c, - 0x86, 0x87, 0xbd, 0x88, 0xfb, 0x52, 0x44, 0x27, 0x6d, 0x5e, 0x3b, 0x29, 0x0c, 0x88, 0x0d, 0x53, - 0x07, 0x65, 0x1e, 0xe7, 0xcb, 0xf2, 0x36, 0x7d, 0xfc, 0x38, 0x9f, 0x3a, 0xb6, 0x57, 0x5e, 0x7e, - 0x6c, 0xe7, 0x5a, 0xec, 0x17, 0x1c, 0xdb, 0xe1, 0x15, 0x8e, 0xed, 0xaf, 0xe0, 0xc7, 0x70, 0x13, - 0x2a, 0x28, 0xe1, 0x69, 0xfb, 0x27, 0x93, 0xec, 0xd8, 0xfe, 0xf9, 0xa9, 0x76, 0xb0, 0xe5, 0x4e, - 0x54, 0xda, 0x06, 0x66, 0xd2, 0x1f, 0xfd, 0x6c, 0x14, 0xa3, 0x5f, 0x41, 0x59, 0x40, 0xd9, 0x84, - 0x76, 0xed, 0xa9, 0x8c, 0x27, 0x8c, 0xbf, 0x59, 0xb7, 0x61, 0x84, 0xcd, 0x1f, 0xcd, 0x1d, 0x9f, - 0x8e, 0x65, 0x9c, 0x3f, 0x07, 0xb9, 0x07, 0x83, 0xb0, 0x06, 0xb2, 0x43, 0xb6, 0x2b, 0xdf, 0x03, - 0xa8, 0x98, 0x65, 0x27, 0x78, 0xca, 0x3e, 0x0d, 0x02, 0x4d, 0x8c, 0x88, 0x3e, 0xf3, 0x7c, 0x29, - 0x9e, 0x18, 0xbf, 0x97, 0x83, 0xa6, 0x58, 0x5d, 0x0a, 0xa7, 0x1f, 0x60, 0x4b, 0xd7, 0xf9, 0xfc, - 0xbc, 0x38, 0x6a, 0x9f, 0x01, 0x0d, 0x54, 0xed, 0x29, 0x59, 0x85, 0xab, 0x26, 0x6b, 0x0c, 0xb8, - 0x27, 0xe4, 0x95, 0xd7, 0xa1, 0x26, 0x2f, 0x8f, 0x4c, 0x9d, 0x89, 0x7c, 0x37, 0x8a, 0xdf, 0x1e, - 0x39, 0x74, 0x26, 0x52, 0xd4, 0xf1, 0x6d, 0x11, 0xdd, 0x21, 0x87, 0xa2, 0x8e, 0x69, 0x87, 0xd4, - 0xf8, 0x83, 0x1c, 0x2c, 0x6b, 0x4d, 0x11, 0xeb, 0xf6, 0x3b, 0x50, 0x57, 0xef, 0x34, 0x50, 0x25, - 0x63, 0x6f, 0xc4, 0x79, 0x54, 0x94, 0xac, 0x36, 0x52, 0x90, 0x80, 0x55, 0x66, 0x6c, 0x5f, 0xf1, - 0x1b, 0x0e, 0xf3, 0xa9, 0x3c, 0x97, 0x8f, 0xed, 0xab, 0x3d, 0x4a, 0x07, 0xf3, 0x29, 0xb9, 0x0b, - 0xf5, 0xe7, 0x94, 0x3e, 0x53, 0x04, 0x9c, 0xb1, 0x03, 0x83, 0x09, 0x0a, 0x03, 0x1a, 0x53, 0xcf, - 0x0d, 0xcf, 0x15, 0x89, 0x38, 0x5f, 0x20, 0x90, 0xd3, 0x18, 0xff, 0x3a, 0x0f, 0x2b, 0x5c, 0x81, - 0x2c, 0xcc, 0x08, 0x82, 0x75, 0xb5, 0x60, 0x81, 0x6b, 0xf5, 0x39, 0xf3, 0xda, 0xbf, 0x61, 0x8a, - 0x6f, 0xf2, 0xf1, 0x2b, 0x2a, 0xbd, 0x65, 0x00, 0x89, 0x6b, 0xba, 0xbf, 0x90, 0xee, 0xfe, 0xeb, - 0xbb, 0x37, 0xcb, 0xa9, 0xa0, 0x94, 0xe5, 0x54, 0xf0, 0x2a, 0xa6, 0xfc, 0x54, 0xa8, 0x83, 0x72, - 0x3a, 0x44, 0xf0, 0x23, 0xd8, 0x88, 0xd1, 0x20, 0xb7, 0x76, 0x4e, 0x1d, 0x15, 0x7f, 0x7e, 0x55, - 0xa3, 0x1e, 0x48, 0xdc, 0x76, 0x19, 0x4a, 0xc1, 0xc8, 0x9b, 0x51, 0x63, 0x1d, 0x56, 0xe3, 0xbd, - 0x2a, 0xb6, 0x89, 0xdf, 0xce, 0x41, 0x6b, 0x2f, 0x8a, 0xb5, 0xec, 0x04, 0xa1, 0xe7, 0xab, 0x90, - 0xfd, 0xb7, 0x01, 0xf8, 0x1b, 0x56, 0xa8, 0x06, 0x11, 0x41, 0xb2, 0x10, 0x82, 0x4a, 0x90, 0x9b, - 0x50, 0xa1, 0xee, 0x98, 0x23, 0xf9, 0x6c, 0x28, 0x53, 0x77, 0x2c, 0x55, 0x28, 0xa9, 0x4d, 0xbe, - 0x11, 0x17, 0x5f, 0x44, 0xb8, 0x17, 0xd6, 0x3b, 0xf4, 0x02, 0x85, 0x8d, 0xa2, 0x0a, 0xf7, 0x72, - 0x68, 0x5f, 0xa2, 0x77, 0x7c, 0x60, 0xfc, 0x83, 0x3c, 0x2c, 0x45, 0xf5, 0xe3, 0x01, 0xaf, 0xee, - 0xa6, 0x42, 0x77, 0x09, 0x7f, 0x28, 0xc5, 0xc3, 0xef, 0x8a, 0x29, 0xe1, 0xb0, 0xd3, 0x9a, 0xa6, - 0x5a, 0xaf, 0xf0, 0x05, 0xda, 0x75, 0x89, 0x01, 0x35, 0x49, 0xe1, 0xcd, 0x43, 0x2d, 0xb4, 0x71, - 0x95, 0x93, 0xf4, 0xe7, 0x21, 0x3b, 0x5e, 0xdb, 0x53, 0x26, 0xad, 0x88, 0x03, 0x6e, 0xc9, 0x9e, - 0x86, 0x5d, 0x7c, 0x2c, 0x8d, 0x81, 0x59, 0x32, 0x3e, 0x98, 0x8c, 0x8a, 0xd1, 0x37, 0xf9, 0x69, - 0x8b, 0x8f, 0x1e, 0x9e, 0xb4, 0xf4, 0xa3, 0x08, 0x7f, 0xbc, 0x45, 0x1d, 0x45, 0x5e, 0x87, 0x1a, - 0xcf, 0x3c, 0x8a, 0x6e, 0x81, 0x71, 0x06, 0xc3, 0xae, 0x8b, 0x78, 0xa1, 0xe6, 0xf4, 0xe6, 0x31, - 0xcd, 0x0d, 0xf0, 0xa2, 0xe4, 0x8b, 0x57, 0xaa, 0xc5, 0x96, 0x32, 0x42, 0xd6, 0x14, 0xac, 0x17, - 0x30, 0x69, 0xe5, 0x66, 0xc6, 0xe8, 0x0a, 0x66, 0xb0, 0x03, 0x5a, 0x60, 0x6e, 0x39, 0x08, 0x9c, - 0x23, 0xac, 0x4b, 0xee, 0x1b, 0xef, 0x7a, 0xb3, 0x79, 0x1a, 0x07, 0x44, 0xa7, 0x70, 0x3e, 0xd0, - 0xb1, 0xf0, 0x2a, 0x28, 0xd3, 0xf1, 0xd1, 0xe6, 0x07, 0xe0, 0x23, 0xd8, 0xec, 0x5c, 0x32, 0xc6, - 0xa2, 0x1c, 0xeb, 0x47, 0xcf, 0xe6, 0xd2, 0x3e, 0x9a, 0xb0, 0xb2, 0xe4, 0x5e, 0xc9, 0xca, 0x32, - 0xe6, 0xc1, 0x0f, 0x54, 0x5e, 0x3f, 0x49, 0x26, 0x5c, 0xbf, 0x64, 0xbb, 0xd6, 0x09, 0x66, 0x21, - 0xe3, 0xac, 0x30, 0x10, 0xcf, 0xd4, 0x08, 0x60, 0xe9, 0x70, 0x3e, 0x09, 0x9d, 0x1d, 0x05, 0x22, - 0x1f, 0x8b, 0x34, 0x58, 0x8e, 0xec, 0xb5, 0xcc, 0x82, 0x40, 0x15, 0x84, 0x9d, 0x35, 0x65, 0x19, - 0x59, 0xe9, 0xf2, 0x96, 0xa6, 0xf1, 0x12, 0x8c, 0x9b, 0xb0, 0x11, 0x7d, 0xf1, 0x6e, 0x93, 0x3b, - 0xd2, 0xdf, 0xca, 0xf1, 0x1b, 0x3b, 0x1c, 0x37, 0x70, 0xed, 0x59, 0x70, 0xee, 0x85, 0xa4, 0x03, - 0x2b, 0x81, 0xe3, 0x9e, 0x4d, 0xa8, 0x9e, 0x7d, 0x20, 0x3a, 0x61, 0x2d, 0x5e, 0x37, 0x9e, 0x34, - 0x30, 0x97, 0x79, 0x8a, 0x28, 0xb7, 0x80, 0x6c, 0x5f, 0x57, 0xc9, 0x68, 0x5a, 0x24, 0x7a, 0x23, - 0x5d, 0xf9, 0x2e, 0x2c, 0xc6, 0x0b, 0x22, 0x9f, 0x8a, 0x98, 0x21, 0x51, 0xad, 0x0a, 0x89, 0x88, - 0x09, 0xd1, 0x84, 0xa8, 0x45, 0x7d, 0x1f, 0x18, 0x7f, 0x31, 0x07, 0x2d, 0x93, 0xb2, 0x99, 0xab, - 0xd5, 0x52, 0xce, 0x99, 0xef, 0xa4, 0x72, 0xbd, 0xbe, 0xad, 0x32, 0x14, 0x89, 0xac, 0xd1, 0x7b, - 0xd7, 0x0e, 0xc6, 0xfe, 0x8d, 0x54, 0x8b, 0xb6, 0x2b, 0xb0, 0xc0, 0x49, 0x8c, 0x0d, 0x58, 0x13, - 0xf5, 0x91, 0x75, 0x89, 0x0c, 0xfa, 0xb1, 0x12, 0x63, 0x06, 0xfd, 0x4d, 0x68, 0xf1, 0xab, 0xfd, - 0x7a, 0x23, 0x44, 0xc2, 0x5d, 0x20, 0x87, 0xf6, 0xc8, 0xf6, 0x3d, 0xcf, 0x3d, 0xa2, 0xbe, 0x70, - 0x99, 0x47, 0x41, 0x14, 0xed, 0xdd, 0x52, 0x62, 0xe6, 0x5f, 0x32, 0xe6, 0xbb, 0xe7, 0x4a, 0x0f, - 0x41, 0xfe, 0x65, 0xf8, 0xb0, 0xb2, 0x6d, 0x3f, 0xa3, 0x32, 0x27, 0xd9, 0x45, 0x8f, 0xa1, 0x36, - 0x53, 0x99, 0xca, 0x7e, 0x97, 0x61, 0x96, 0xd2, 0xc5, 0x9a, 0x3a, 0x35, 0xe3, 0x52, 0xa8, 0xb0, - 0xc5, 0x00, 0x27, 0x63, 0xb9, 0xe7, 0x33, 0xd0, 0x53, 0x7a, 0xd5, 0x1d, 0x1b, 0x0f, 0x61, 0x35, - 0x5e, 0xa6, 0x60, 0x2d, 0x9b, 0x50, 0x99, 0x0a, 0x98, 0xa8, 0xbd, 0xfa, 0x66, 0x67, 0x16, 0x76, - 0xee, 0x94, 0x69, 0xba, 0xbb, 0xea, 0x96, 0xfe, 0x63, 0xd8, 0x48, 0x61, 0x44, 0x86, 0x77, 0xa1, - 0xae, 0x55, 0x84, 0x37, 0xa3, 0x68, 0x82, 0xaa, 0x49, 0x60, 0x7c, 0x0e, 0x1b, 0xfc, 0xd8, 0x16, - 0x25, 0x97, 0x5d, 0x90, 0x68, 0x45, 0x2e, 0xd9, 0x8a, 0x8f, 0xe5, 0x59, 0x53, 0x4f, 0x1a, 0x85, - 0x2f, 0x1c, 0x23, 0x4e, 0x3a, 0x79, 0xc9, 0x4f, 0xe3, 0x18, 0xd6, 0xd3, 0xdd, 0xc7, 0xea, 0xff, - 0x53, 0x75, 0xb9, 0xec, 0x9e, 0x08, 0xad, 0xba, 0xe7, 0xbf, 0xe4, 0x78, 0xff, 0xc4, 0x50, 0xa2, - 0x9a, 0x63, 0x20, 0x53, 0x1a, 0x9e, 0x7b, 0x63, 0x2b, 0x5d, 0xf2, 0x23, 0xe5, 0x63, 0x96, 0x99, - 0x76, 0xeb, 0x10, 0x13, 0x6a, 0x18, 0x71, 0xdb, 0x61, 0x9a, 0x84, 0x6f, 0x8e, 0x60, 0x3d, 0x9b, - 0x38, 0xc3, 0x33, 0xeb, 0xa3, 0xb8, 0x3c, 0x7f, 0xfb, 0xda, 0xe6, 0xb3, 0x6a, 0xe9, 0xe2, 0xfd, - 0xef, 0x56, 0xa0, 0x2c, 0x54, 0x35, 0x64, 0x0b, 0x8a, 0x23, 0xe9, 0xe5, 0x1b, 0x85, 0xb0, 0x14, - 0x58, 0xf9, 0x7f, 0x07, 0x7d, 0x7d, 0x19, 0x1d, 0x79, 0x0c, 0x8b, 0x71, 0x47, 0x97, 0x44, 0xe8, - 0x9a, 0xb8, 0x87, 0x4a, 0x63, 0x94, 0x70, 0x22, 0xa8, 0x46, 0x32, 0x18, 0x17, 0x4d, 0x2b, 0xe7, - 0x9a, 0x90, 0xe6, 0xb9, 0xec, 0x58, 0x17, 0x9c, 0xdb, 0xd6, 0xc3, 0x47, 0x9f, 0x08, 0xa3, 0x42, - 0x0d, 0x81, 0x83, 0x73, 0xfb, 0xe1, 0xa3, 0x4f, 0x92, 0x07, 0x36, 0x11, 0xb9, 0x46, 0x3b, 0xb0, - 0xad, 0x42, 0x89, 0x07, 0xc6, 0xe7, 0xee, 0x9a, 0xfc, 0x43, 0xaa, 0x33, 0xe6, 0x3e, 0xb5, 0xc4, - 0xc5, 0x1a, 0xbe, 0x8b, 0xf2, 0x77, 0xc1, 0x88, 0xc0, 0x0d, 0x10, 0xc5, 0xd5, 0x89, 0xeb, 0xb0, - 0x70, 0x1e, 0xbd, 0x74, 0xd0, 0x30, 0xc5, 0x97, 0xf1, 0xbf, 0x4a, 0x50, 0xd3, 0x3a, 0x85, 0xd4, - 0xa1, 0x62, 0x76, 0x06, 0x1d, 0xf3, 0x8b, 0xce, 0x6e, 0xf3, 0x06, 0xb9, 0x07, 0x6f, 0x75, 0x7b, - 0x3b, 0x7d, 0xd3, 0xec, 0xec, 0x0c, 0xad, 0xbe, 0x69, 0xc9, 0xc8, 0xaa, 0x47, 0xed, 0xaf, 0x0e, - 0x3b, 0xbd, 0xa1, 0xb5, 0xdb, 0x19, 0xb6, 0xbb, 0x07, 0x83, 0x66, 0x8e, 0xbc, 0x06, 0xad, 0x88, - 0x52, 0xa2, 0xdb, 0x87, 0xfd, 0xe3, 0xde, 0xb0, 0x99, 0x27, 0x77, 0xe0, 0xd6, 0x5e, 0xb7, 0xd7, - 0x3e, 0xb0, 0x22, 0x9a, 0x9d, 0x83, 0xe1, 0x17, 0x56, 0xe7, 0x17, 0x8e, 0xba, 0xe6, 0x57, 0xcd, - 0x42, 0x16, 0xc1, 0xfe, 0xf0, 0x60, 0x47, 0xe6, 0x50, 0x24, 0x37, 0x61, 0x8d, 0x13, 0xf0, 0x24, - 0xd6, 0xb0, 0xdf, 0xb7, 0x06, 0xfd, 0x7e, 0xaf, 0x59, 0x22, 0xcb, 0xd0, 0xe8, 0xf6, 0xbe, 0x68, - 0x1f, 0x74, 0x77, 0x2d, 0xb3, 0xd3, 0x3e, 0x38, 0x6c, 0x2e, 0x90, 0x15, 0x58, 0x4a, 0xd2, 0x95, - 0x59, 0x16, 0x92, 0xae, 0xdf, 0xeb, 0xf6, 0x7b, 0xd6, 0x17, 0x1d, 0x73, 0xd0, 0xed, 0xf7, 0x9a, - 0x15, 0xb2, 0x0e, 0x24, 0x8e, 0xda, 0x3f, 0x6c, 0xef, 0x34, 0xab, 0x64, 0x0d, 0x96, 0xe3, 0xf0, - 0xa7, 0x9d, 0xaf, 0x9a, 0x40, 0x5a, 0xb0, 0xca, 0x2b, 0x66, 0x6d, 0x77, 0x0e, 0xfa, 0x5f, 0x5a, - 0x87, 0xdd, 0x5e, 0xf7, 0xf0, 0xf8, 0xb0, 0x59, 0xc3, 0xf8, 0xd6, 0x9d, 0x8e, 0xd5, 0xed, 0x0d, - 0x8e, 0xf7, 0xf6, 0xba, 0x3b, 0xdd, 0x4e, 0x6f, 0xd8, 0xac, 0xf3, 0x92, 0xb3, 0x1a, 0xde, 0x60, - 0x09, 0xc4, 0x55, 0x4a, 0x6b, 0xb7, 0x3b, 0x68, 0x6f, 0x1f, 0x74, 0x76, 0x9b, 0x8b, 0xe4, 0x36, - 0xdc, 0x1c, 0x76, 0x0e, 0x8f, 0xfa, 0x66, 0xdb, 0xfc, 0x4a, 0x5e, 0xb5, 0xb4, 0xf6, 0xda, 0xdd, - 0x83, 0x63, 0xb3, 0xd3, 0x5c, 0x22, 0x6f, 0xc0, 0x6d, 0xb3, 0xf3, 0x83, 0xe3, 0xae, 0xd9, 0xd9, - 0xb5, 0x7a, 0xfd, 0xdd, 0x8e, 0xb5, 0xd7, 0x69, 0x0f, 0x8f, 0xcd, 0x8e, 0x75, 0xd8, 0x1d, 0x0c, - 0xba, 0xbd, 0x27, 0xcd, 0x26, 0x79, 0x0b, 0xee, 0x2a, 0x12, 0x95, 0x41, 0x82, 0x6a, 0x99, 0xb5, - 0x4f, 0x0e, 0x69, 0xaf, 0xf3, 0x0b, 0x43, 0xeb, 0xa8, 0xd3, 0x31, 0x9b, 0x84, 0x6c, 0xc2, 0x7a, - 0x54, 0x3c, 0x2f, 0x40, 0x94, 0xbd, 0xc2, 0x70, 0x47, 0x1d, 0xf3, 0xb0, 0xdd, 0x63, 0x03, 0x1c, - 0xc3, 0xad, 0xb2, 0x6a, 0x47, 0xb8, 0x64, 0xb5, 0xd7, 0x08, 0x81, 0x45, 0x6d, 0x54, 0xf6, 0xda, - 0x66, 0x73, 0x9d, 0x2c, 0x41, 0xed, 0xf0, 0xe8, 0xc8, 0x1a, 0x76, 0x0f, 0x3b, 0xfd, 0xe3, 0x61, - 0x73, 0x23, 0x3d, 0x4a, 0x47, 0xed, 0xaf, 0x0e, 0xfa, 0xed, 0xdd, 0x66, 0x8b, 0xac, 0x41, 0xb3, - 0xdb, 0x1b, 0x76, 0x4c, 0x36, 0x0d, 0x64, 0xae, 0xff, 0xb5, 0x4c, 0x56, 0x61, 0x49, 0x36, 0x42, - 0x42, 0xff, 0xa8, 0x4c, 0x36, 0x80, 0x1c, 0xf7, 0xcc, 0x4e, 0x7b, 0x97, 0xf5, 0xa9, 0x42, 0xfc, - 0xb7, 0xb2, 0x30, 0x2f, 0xff, 0x5e, 0x41, 0xc9, 0x81, 0x91, 0x83, 0x59, 0xfc, 0xd5, 0xa2, 0xba, - 0xf6, 0xda, 0xd0, 0xcb, 0x1e, 0x8b, 0xd4, 0x0e, 0xf7, 0x85, 0xd4, 0xe1, 0x3e, 0xa5, 0x3d, 0x6a, - 0xe8, 0x27, 0x8f, 0x37, 0xa1, 0x31, 0xe5, 0x2f, 0x18, 0x89, 0x27, 0x30, 0x40, 0x78, 0x5b, 0x72, - 0x20, 0x7f, 0xff, 0x22, 0xf5, 0x5a, 0x62, 0x29, 0xfd, 0x5a, 0x62, 0xd6, 0x09, 0x73, 0x21, 0xeb, - 0x84, 0x79, 0x1f, 0x96, 0x39, 0xd7, 0x72, 0x5c, 0x67, 0x2a, 0xf5, 0x36, 0xe2, 0xed, 0x41, 0xe4, - 0x5e, 0x1c, 0x2e, 0x0f, 0xb4, 0xf2, 0xd0, 0x2b, 0xb8, 0x4b, 0x59, 0x9c, 0x77, 0x63, 0x67, 0x5d, - 0xce, 0x54, 0xd4, 0x59, 0x57, 0x95, 0x60, 0x5f, 0x46, 0x25, 0xd4, 0xb4, 0x12, 0x38, 0x1c, 0x4b, - 0xb8, 0x0f, 0xcb, 0xf4, 0x32, 0xf4, 0x6d, 0xcb, 0x9b, 0xd9, 0x3f, 0x9a, 0xa3, 0x8b, 0x8c, 0x8d, - 0x5a, 0xa4, 0xba, 0xb9, 0x84, 0x88, 0x3e, 0xc2, 0x77, 0xed, 0xd0, 0x36, 0x7e, 0x09, 0x40, 0x6d, - 0xb8, 0xf8, 0x86, 0xa3, 0xeb, 0xc9, 0x3b, 0xb5, 0x75, 0x93, 0x7f, 0xe0, 0x38, 0x86, 0x9e, 0x6f, - 0x9f, 0xd1, 0xae, 0xb4, 0x0a, 0x47, 0x00, 0x72, 0x0b, 0x0a, 0xde, 0x4c, 0xfa, 0x22, 0x56, 0x65, - 0x4c, 0xf7, 0x99, 0xc9, 0xa0, 0xc6, 0x27, 0x90, 0xef, 0xcf, 0xae, 0x95, 0xa2, 0x5a, 0x50, 0x96, - 0x4f, 0x28, 0xe7, 0xd1, 0xff, 0x50, 0x7e, 0xde, 0xff, 0xb3, 0x50, 0xd3, 0x1e, 0xdd, 0x22, 0x1b, - 0xb0, 0xf2, 0x65, 0x77, 0xd8, 0xeb, 0x0c, 0x06, 0xd6, 0xd1, 0xf1, 0xf6, 0xd3, 0xce, 0x57, 0xd6, - 0x7e, 0x7b, 0xb0, 0xdf, 0xbc, 0xc1, 0xd8, 0x4c, 0xaf, 0x33, 0x18, 0x76, 0x76, 0x63, 0xf0, 0x1c, - 0x79, 0x1d, 0x36, 0x8f, 0x7b, 0xc7, 0x83, 0xce, 0xae, 0x95, 0x95, 0x2e, 0xcf, 0xd6, 0x95, 0xc0, - 0x67, 0x24, 0x2f, 0xdc, 0xff, 0x65, 0x58, 0x8c, 0xc7, 0x49, 0x21, 0x00, 0x0b, 0x07, 0x9d, 0x27, - 0xed, 0x9d, 0xaf, 0x78, 0xcc, 0xfe, 0xc1, 0xb0, 0x3d, 0xec, 0xee, 0x58, 0x22, 0x46, 0x3f, 0xe3, - 0x61, 0x39, 0x52, 0x83, 0x72, 0xbb, 0xb7, 0xb3, 0xdf, 0x37, 0x07, 0xcd, 0x3c, 0x79, 0x0d, 0x36, - 0xe4, 0x12, 0xda, 0xe9, 0x1f, 0x1e, 0x76, 0x87, 0xc8, 0xbe, 0x87, 0x5f, 0x1d, 0xb1, 0x15, 0x73, - 0xdf, 0x86, 0x6a, 0xf4, 0xbc, 0x00, 0xb2, 0xc4, 0xee, 0xb0, 0xdb, 0x1e, 0x46, 0xfb, 0x41, 0xf3, - 0x06, 0xe3, 0xb8, 0x11, 0x18, 0xdf, 0x08, 0x68, 0xe6, 0xf8, 0x55, 0x72, 0x09, 0xe4, 0xa5, 0x37, - 0xf3, 0x8c, 0x0d, 0x44, 0xd0, 0xed, 0xfe, 0x90, 0x35, 0xe1, 0x57, 0x60, 0x31, 0x1e, 0xc5, 0x9f, - 0x34, 0xa1, 0xce, 0xca, 0xd7, 0x8a, 0x00, 0x58, 0xe0, 0x35, 0x6e, 0xe6, 0x38, 0xcf, 0xdf, 0xe9, - 0x1f, 0x76, 0x7b, 0x4f, 0x70, 0xa3, 0x68, 0xe6, 0x19, 0xa8, 0x7f, 0x3c, 0x7c, 0xd2, 0x57, 0xa0, - 0x02, 0x4b, 0xc1, 0x9b, 0xd3, 0x2c, 0xde, 0xff, 0x11, 0x2c, 0xa7, 0xe2, 0xfd, 0xb3, 0x5a, 0xf7, - 0x8f, 0x87, 0x3b, 0xfd, 0x43, 0xbd, 0x9c, 0x1a, 0x94, 0x77, 0x0e, 0xda, 0xdd, 0x43, 0x34, 0xd4, - 0x34, 0xa0, 0x7a, 0xdc, 0x93, 0x9f, 0xf9, 0xf8, 0x4b, 0x05, 0x05, 0xc6, 0xbd, 0xf6, 0xba, 0xe6, - 0x60, 0x68, 0x0d, 0x86, 0xed, 0x27, 0x9d, 0x66, 0x91, 0xa5, 0x95, 0xac, 0xac, 0x74, 0xff, 0x73, - 0x58, 0x8c, 0x3b, 0xce, 0xc7, 0xed, 0x6f, 0x9b, 0xb0, 0xbe, 0xdd, 0x19, 0x7e, 0xd9, 0xe9, 0xf4, - 0x70, 0xc8, 0x77, 0x3a, 0xbd, 0xa1, 0xd9, 0x3e, 0xe8, 0x0e, 0xbf, 0x6a, 0xe6, 0xee, 0x3f, 0x86, - 0x66, 0xd2, 0xe9, 0x23, 0xe6, 0x25, 0xf3, 0x22, 0x77, 0x9a, 0xfb, 0xff, 0x2e, 0x07, 0xab, 0x59, - 0xe6, 0x41, 0x36, 0x31, 0x05, 0x23, 0x64, 0x3b, 0xe5, 0xa0, 0xdf, 0xb3, 0x7a, 0x7d, 0x8c, 0xd4, - 0xbd, 0x09, 0xeb, 0x09, 0x84, 0x6c, 0x45, 0x8e, 0xdc, 0x82, 0x8d, 0x54, 0x22, 0xcb, 0xec, 0x1f, - 0xe3, 0x58, 0xb6, 0x60, 0x35, 0x81, 0xec, 0x98, 0x66, 0xdf, 0x6c, 0x16, 0xc8, 0x7b, 0x70, 0x2f, - 0x81, 0x49, 0xcb, 0x07, 0x52, 0x7c, 0x28, 0x92, 0x77, 0xe0, 0xcd, 0x14, 0x75, 0xb4, 0x85, 0x5a, - 0xdb, 0xed, 0x03, 0xd6, 0xbc, 0x66, 0xe9, 0xfe, 0x1f, 0x14, 0x01, 0xa2, 0x9b, 0xa9, 0xac, 0xfc, - 0xdd, 0xf6, 0xb0, 0x7d, 0xd0, 0x67, 0x6b, 0xc6, 0xec, 0x0f, 0x59, 0xee, 0x66, 0xe7, 0x07, 0xcd, - 0x1b, 0x99, 0x98, 0xfe, 0x11, 0x6b, 0xd0, 0x06, 0xac, 0xf0, 0xf9, 0x77, 0xc0, 0x9a, 0xc1, 0xa6, - 0x0b, 0x0f, 0xfa, 0xce, 0x84, 0x90, 0xe3, 0xa3, 0x3d, 0xb3, 0xdf, 0x1b, 0x5a, 0x83, 0xfd, 0xe3, - 0xe1, 0x2e, 0xc6, 0x90, 0xdf, 0x31, 0xbb, 0x47, 0x3c, 0xcf, 0xe2, 0x8b, 0x08, 0x58, 0xd6, 0x25, - 0xb6, 0xc0, 0x9f, 0xf4, 0x07, 0x83, 0xee, 0x91, 0xf5, 0x83, 0xe3, 0x8e, 0xd9, 0xed, 0x0c, 0x30, - 0xe1, 0x42, 0x06, 0x9c, 0xd1, 0x97, 0xd9, 0x9c, 0x1d, 0x1e, 0x7c, 0x21, 0x36, 0x3a, 0x46, 0x5a, - 0x89, 0x83, 0x18, 0x55, 0x95, 0x8d, 0x0e, 0xdb, 0x9c, 0x33, 0x72, 0x86, 0x6b, 0x70, 0x2c, 0x5d, - 0x8d, 0x6d, 0xa5, 0xa9, 0x95, 0x8f, 0xc9, 0xea, 0xd9, 0x28, 0x96, 0x0a, 0x25, 0x12, 0x25, 0xbf, - 0xed, 0xee, 0x9a, 0x98, 0x60, 0x31, 0x05, 0x65, 0xb4, 0x4b, 0x6c, 0x12, 0xb2, 0xdd, 0x9b, 0x91, - 0x34, 0xe5, 0x07, 0xc3, 0x2c, 0xb3, 0x16, 0x7f, 0x79, 0x7c, 0xb8, 0xdd, 0x97, 0x62, 0x00, 0xaf, - 0x2f, 0xc9, 0x80, 0x33, 0xfa, 0x15, 0x0c, 0xd2, 0xcf, 0xd9, 0x11, 0x12, 0xae, 0xea, 0x00, 0x46, - 0xb1, 0xc6, 0x98, 0xa0, 0x04, 0xfc, 0xb0, 0x63, 0xf6, 0x2d, 0x26, 0x67, 0xa1, 0x8c, 0xc8, 0xe8, - 0xd7, 0xaf, 0x47, 0xb3, 0xd4, 0x1b, 0x0f, 0xff, 0xe9, 0x1b, 0x50, 0x55, 0x37, 0x66, 0xc8, 0xf7, - 0xa1, 0x11, 0x8b, 0x47, 0x41, 0xa4, 0x51, 0x22, 0x2b, 0x7c, 0xc5, 0xe6, 0x6b, 0xd9, 0x48, 0x71, - 0x8e, 0x3a, 0xd4, 0x14, 0x17, 0x3c, 0xb3, 0xd7, 0x92, 0xca, 0x84, 0x58, 0x6e, 0xb7, 0xaf, 0xc1, - 0x8a, 0xec, 0x9e, 0x62, 0x3c, 0x7c, 0xed, 0x55, 0xfe, 0x80, 0xdc, 0x8e, 0x82, 0x93, 0xeb, 0x70, - 0x99, 0xe1, 0xcd, 0xf4, 0x4b, 0xfe, 0xf2, 0xe9, 0xff, 0x5d, 0xa8, 0x69, 0xcf, 0xb6, 0x92, 0x9b, - 0xd7, 0x3e, 0x31, 0xbb, 0xb9, 0x99, 0x85, 0x12, 0x55, 0xfa, 0x2e, 0x54, 0xd5, 0x73, 0x99, 0x64, - 0x43, 0x7b, 0x7e, 0x55, 0x7f, 0x3e, 0x74, 0xb3, 0x95, 0x46, 0x88, 0xf4, 0xbb, 0x50, 0xd3, 0x5e, - 0xbd, 0x54, 0xb5, 0x48, 0xbf, 0xac, 0xa9, 0x6a, 0x91, 0xf5, 0x48, 0xe6, 0x01, 0xac, 0x09, 0xf5, - 0xc8, 0x09, 0xfd, 0x3a, 0xdd, 0x43, 0xd2, 0xdd, 0xf3, 0x20, 0x47, 0x1e, 0x43, 0x45, 0xbe, 0x94, - 0x4a, 0xd6, 0xb3, 0x5f, 0x94, 0xdd, 0xdc, 0x48, 0xc1, 0x45, 0x55, 0xda, 0x00, 0xd1, 0x7b, 0x9a, - 0x44, 0x36, 0x3c, 0xf5, 0x3e, 0xa7, 0x1a, 0x99, 0x8c, 0xc7, 0x37, 0x77, 0xa1, 0xa6, 0x3d, 0x9d, - 0xa9, 0xfa, 0x24, 0xfd, 0xec, 0xa6, 0xea, 0x93, 0xac, 0x97, 0x36, 0xbf, 0x0f, 0x8d, 0xd8, 0x1b, - 0x98, 0x6a, 0x1e, 0x67, 0xbd, 0xb0, 0xa9, 0xe6, 0x71, 0xf6, 0xb3, 0x99, 0xbb, 0x50, 0xd3, 0xde, - 0xa5, 0x54, 0x35, 0x4a, 0x3f, 0x8e, 0xa9, 0x6a, 0x94, 0xf1, 0x8c, 0x25, 0x5b, 0x0d, 0xf1, 0x47, - 0x29, 0xd5, 0x6a, 0xc8, 0x7c, 0xdd, 0x52, 0xad, 0x86, 0xec, 0x97, 0x2c, 0xd9, 0xd4, 0x53, 0x0f, - 0x61, 0x90, 0x8d, 0x98, 0x56, 0x22, 0x7a, 0x51, 0x43, 0x4d, 0xbd, 0xf4, 0x9b, 0x19, 0x4f, 0x60, - 0x45, 0x4d, 0x1a, 0xf5, 0x8c, 0x45, 0xa0, 0xea, 0x94, 0xf9, 0x58, 0xc6, 0x66, 0x33, 0x89, 0x7d, - 0x90, 0x23, 0x9f, 0x41, 0x59, 0xbc, 0x0d, 0x40, 0xd6, 0x92, 0x6f, 0x05, 0xf0, 0x4a, 0xac, 0x67, - 0x3f, 0x21, 0x40, 0x8e, 0x70, 0x41, 0xeb, 0xc1, 0xfb, 0xf5, 0x19, 0x9b, 0x11, 0xef, 0x7f, 0xf3, - 0xf5, 0xeb, 0xd0, 0x51, 0x8e, 0xc9, 0x07, 0x27, 0x6e, 0x5f, 0x17, 0x27, 0x2a, 0x9e, 0xe3, 0x75, - 0x01, 0x2d, 0x9f, 0x40, 0x5d, 0x7f, 0x90, 0x8c, 0xe8, 0xeb, 0x30, 0x99, 0xd7, 0xad, 0x4c, 0x9c, - 0xc8, 0xe8, 0x0b, 0x58, 0x57, 0xfd, 0xad, 0x07, 0x2d, 0x0a, 0xc8, 0x9d, 0x8c, 0x50, 0x46, 0xb1, - 0x5e, 0xbf, 0x79, 0x6d, 0xac, 0xa3, 0x07, 0x39, 0x64, 0xb2, 0xb1, 0x37, 0x84, 0x22, 0x26, 0x9b, - 0xf5, 0x74, 0x52, 0xc4, 0x64, 0xb3, 0x1f, 0x1e, 0x6a, 0xc3, 0x92, 0x16, 0x74, 0x69, 0x70, 0xe5, - 0x8e, 0xd4, 0x7c, 0x4f, 0x47, 0x55, 0xdf, 0xcc, 0x52, 0xd2, 0x93, 0x1d, 0xa8, 0xe9, 0x71, 0x9b, - 0x5e, 0x90, 0x7c, 0x43, 0x43, 0xe9, 0x41, 0xb1, 0x1f, 0xe4, 0xc8, 0x01, 0x34, 0x93, 0x51, 0x56, - 0xd5, 0x12, 0xce, 0x8a, 0x4c, 0xbb, 0x99, 0x40, 0xc6, 0x62, 0xb3, 0xb2, 0x79, 0x11, 0x7b, 0x2c, - 0xdf, 0xf3, 0x93, 0x5b, 0x51, 0xfc, 0x11, 0x7d, 0x95, 0x5b, 0x02, 0x8b, 0xd5, 0xbe, 0x97, 0x7b, - 0x90, 0x23, 0x7b, 0x50, 0x8f, 0x05, 0x19, 0x8c, 0x5d, 0xde, 0x4a, 0x34, 0xb3, 0xa5, 0xe3, 0x12, - 0xed, 0x3c, 0x84, 0xc5, 0xb8, 0xd3, 0x89, 0xaa, 0x58, 0xa6, 0x67, 0x8c, 0x1a, 0xbe, 0x6c, 0x4f, - 0x15, 0xf2, 0xf3, 0x50, 0x63, 0x3c, 0x59, 0x7a, 0x46, 0x12, 0x8d, 0x4f, 0x27, 0xc7, 0x8c, 0xc3, - 0x84, 0xd6, 0xbc, 0xf0, 0x17, 0xf2, 0x39, 0x6c, 0xd7, 0x77, 0xf8, 0x63, 0xe3, 0xd2, 0x39, 0x8e, - 0x8d, 0xff, 0xab, 0x66, 0x42, 0xf6, 0x78, 0xe1, 0x43, 0x8f, 0xc7, 0x64, 0xb8, 0xa9, 0xd1, 0x08, - 0xd8, 0xab, 0xd5, 0xa1, 0xcd, 0xeb, 0x20, 0xd2, 0xc4, 0xe6, 0xe0, 0x2b, 0xe6, 0x45, 0x3e, 0x05, - 0x88, 0x9c, 0x92, 0x49, 0xc2, 0xef, 0x55, 0x2d, 0xa8, 0x0c, 0xbf, 0xe5, 0x0e, 0x5f, 0xef, 0xca, - 0xf1, 0x56, 0xdf, 0x92, 0xe3, 0x3e, 0xc0, 0xb1, 0x2d, 0x39, 0x99, 0xcd, 0x47, 0xd0, 0x38, 0xf0, - 0xbc, 0x67, 0xf3, 0x99, 0xba, 0xaa, 0x13, 0x77, 0xfb, 0xda, 0xb7, 0x83, 0xf3, 0xcd, 0x44, 0xb5, - 0x48, 0x1b, 0x96, 0x15, 0x8b, 0x88, 0x3c, 0x7f, 0xe3, 0x44, 0x31, 0xc6, 0x90, 0xc8, 0xe0, 0x41, - 0x8e, 0x3c, 0x84, 0xfa, 0x2e, 0x1d, 0x61, 0xdc, 0x18, 0x74, 0x03, 0x5a, 0x89, 0xb9, 0x94, 0x70, - 0xff, 0xa1, 0xcd, 0x46, 0x0c, 0x28, 0x59, 0x5c, 0xe4, 0xe8, 0xa6, 0xef, 0x19, 0x71, 0x6f, 0xb1, - 0x18, 0x8b, 0x4b, 0x39, 0xbb, 0x7d, 0x01, 0xcb, 0x29, 0x67, 0x2f, 0xc5, 0xdd, 0xae, 0x73, 0x40, - 0xdb, 0xbc, 0x7b, 0x3d, 0x81, 0xc8, 0xf7, 0x7b, 0xd0, 0xe0, 0x31, 0xd2, 0x4f, 0x28, 0xbf, 0xf7, - 0x9d, 0x88, 0x80, 0xa7, 0x5f, 0x2a, 0x4f, 0xb2, 0x24, 0x9e, 0xe0, 0x09, 0xbe, 0xae, 0xa4, 0xdd, - 0xaa, 0x56, 0xe3, 0x9a, 0xbe, 0xe9, 0xad, 0xc6, 0x35, 0xeb, 0x02, 0xf7, 0xe7, 0x50, 0x7b, 0x42, - 0x43, 0x79, 0x4f, 0x59, 0xc9, 0x47, 0x89, 0x8b, 0xcb, 0x9b, 0x19, 0xb7, 0xcb, 0xc9, 0x27, 0x98, - 0x54, 0xc5, 0xdc, 0x58, 0xd7, 0x4a, 0xd1, 0x93, 0x2e, 0x25, 0xe0, 0x4c, 0xfa, 0xd0, 0x22, 0xef, - 0xa8, 0x8a, 0xa7, 0x23, 0x2d, 0xa9, 0x8a, 0x67, 0x05, 0xea, 0xf9, 0x79, 0xde, 0x03, 0xda, 0xcd, - 0xe8, 0x48, 0x04, 0x4b, 0x5e, 0xa2, 0x56, 0xd5, 0xd7, 0xc9, 0x1f, 0x01, 0x0c, 0x42, 0x6f, 0xb6, - 0x6b, 0xd3, 0xa9, 0xe7, 0x46, 0x3c, 0x21, 0xba, 0x93, 0x1b, 0x2d, 0x44, 0xed, 0x62, 0x2e, 0xf9, - 0x52, 0x93, 0x4d, 0x63, 0x43, 0x22, 0x87, 0xfd, 0xda, 0x6b, 0xbb, 0xaa, 0x39, 0x19, 0x57, 0x77, - 0x91, 0x49, 0x40, 0xe4, 0x4b, 0xa7, 0x24, 0xcd, 0x94, 0x9b, 0x9e, 0x5a, 0xeb, 0x19, 0x8e, 0x77, - 0xdf, 0x85, 0x6a, 0xe4, 0x84, 0xb4, 0x11, 0x85, 0x01, 0x8b, 0xb9, 0x2c, 0x29, 0xee, 0x9d, 0x76, - 0x00, 0xea, 0xc1, 0x0a, 0xaf, 0x8e, 0xda, 0xfe, 0xf0, 0xae, 0xa6, 0x7a, 0x1c, 0x2c, 0xed, 0x79, - 0xa3, 0xd6, 0x4f, 0x96, 0xff, 0x08, 0x5b, 0x3f, 0x29, 0x07, 0x03, 0xb5, 0x7e, 0xae, 0x73, 0x2c, - 0x51, 0xeb, 0xe7, 0x7a, 0xdf, 0x84, 0x1e, 0xac, 0x64, 0xb8, 0x0a, 0x90, 0x37, 0xe4, 0xc1, 0xe6, - 0x5a, 0x37, 0x82, 0xcd, 0x4c, 0x93, 0x32, 0x19, 0xc2, 0x06, 0x4f, 0xd3, 0x9e, 0x4c, 0x12, 0x96, - 0xe9, 0xd7, 0xb5, 0x04, 0x19, 0xd6, 0xf6, 0x98, 0x28, 0x93, 0xb0, 0xb8, 0xf7, 0xa0, 0x99, 0x34, - 0xea, 0x92, 0xeb, 0xc9, 0x37, 0xef, 0xc4, 0x44, 0xf6, 0xb4, 0x21, 0x98, 0x7c, 0xa1, 0x4c, 0xcb, - 0x89, 0x3a, 0xde, 0x89, 0x1e, 0xb9, 0xcc, 0x34, 0x84, 0xab, 0xd3, 0x40, 0xa6, 0x65, 0x9a, 0xfc, - 0x02, 0x6c, 0x24, 0x67, 0xb4, 0xcc, 0xf9, 0x6e, 0x56, 0x77, 0x5d, 0x2b, 0xca, 0xc5, 0x1b, 0xf4, - 0x20, 0xc7, 0x18, 0xb1, 0x6e, 0x00, 0x56, 0x13, 0x29, 0xc3, 0x12, 0xad, 0x26, 0x52, 0xa6, 0xc5, - 0xf8, 0x08, 0x96, 0x12, 0xb6, 0x5f, 0x25, 0x06, 0x67, 0x5b, 0x8b, 0x95, 0x18, 0x7c, 0x9d, 0xc9, - 0x78, 0x00, 0xcd, 0xa4, 0x55, 0x57, 0x8d, 0xf5, 0x35, 0x96, 0xe2, 0xcd, 0x3b, 0xd7, 0xe2, 0xe3, - 0xd5, 0xd4, 0xec, 0x9f, 0xb1, 0x6a, 0xa6, 0xad, 0xb6, 0xb1, 0x6a, 0x66, 0x58, 0x5f, 0xb7, 0xdf, - 0xf9, 0xe1, 0xb7, 0xce, 0x9c, 0xf0, 0x7c, 0x7e, 0xb2, 0x35, 0xf2, 0xa6, 0x1f, 0x4c, 0xa4, 0x56, - 0x43, 0x04, 0x52, 0xf8, 0x60, 0xe2, 0x8e, 0x3f, 0xc0, 0x0c, 0x4e, 0x16, 0x66, 0xbe, 0x17, 0x7a, - 0x1f, 0xfd, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x63, 0x22, 0xb1, 0xed, 0xb8, 0x92, 0x00, 0x00, + // 12602 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x7d, 0x5b, 0x6c, 0x23, 0x59, + 0x76, 0x58, 0xf3, 0x25, 0x92, 0x87, 0xa4, 0x44, 0x5d, 0xbd, 0xd8, 0xea, 0xe9, 0xe9, 0x9e, 0x9a, + 0xd9, 0x99, 0xde, 0x9e, 0x19, 0x4d, 0x4f, 0xcf, 0xf4, 0x3c, 0xb6, 0xe3, 0xf5, 0x52, 0x12, 0xd5, + 0xe2, 0xb6, 0x44, 0x6a, 0x8b, 0xd4, 0x8c, 0x67, 0x61, 0xbb, 0x5c, 0x22, 0xaf, 0xa4, 0x4a, 0x93, + 0x55, 0xdc, 0xaa, 0xa2, 0x5a, 0xda, 0x20, 0x80, 0x3f, 0x1c, 0x3b, 0x30, 0x8c, 0x00, 0x01, 0xe2, + 0x00, 0x79, 0x18, 0x49, 0x90, 0x20, 0xf9, 0x33, 0x0c, 0xd8, 0xfe, 0x4a, 0x3e, 0xf2, 0x95, 0x20, + 0x40, 0x82, 0x20, 0x40, 0x8c, 0x3c, 0x10, 0x24, 0x08, 0x90, 0x38, 0x40, 0x0c, 0x24, 0x06, 0xfc, + 0x99, 0x04, 0x09, 0xee, 0xb9, 0x8f, 0xba, 0xf5, 0x50, 0x77, 0xcf, 0x7a, 0xb2, 0x3f, 0x12, 0xeb, + 0x9c, 0x73, 0xdf, 0xf7, 0x9e, 0x7b, 0xee, 0x39, 0xe7, 0x9e, 0x0b, 0x55, 0x7f, 0x36, 0xda, 0x9a, + 0xf9, 0x5e, 0xe8, 0x91, 0xd2, 0xc4, 0xf5, 0x67, 0x23, 0xe3, 0x0f, 0x73, 0x50, 0x3c, 0x0e, 0x2f, + 0x3d, 0xf2, 0x08, 0xea, 0xf6, 0x78, 0xec, 0xd3, 0x20, 0xb0, 0xc2, 0xab, 0x19, 0x6d, 0xe5, 0xee, + 0xe6, 0xee, 0x2d, 0x3e, 0x24, 0x5b, 0x48, 0xb6, 0xd5, 0xe6, 0xa8, 0xe1, 0xd5, 0x8c, 0x9a, 0x35, + 0x3b, 0xfa, 0x20, 0x2d, 0x28, 0x8b, 0xcf, 0x56, 0xfe, 0x6e, 0xee, 0x5e, 0xd5, 0x94, 0x9f, 0xe4, + 0x36, 0x80, 0x3d, 0xf5, 0xe6, 0x6e, 0x68, 0x05, 0x76, 0xd8, 0x2a, 0xdc, 0xcd, 0xdd, 0x2b, 0x98, + 0x55, 0x0e, 0x19, 0xd8, 0x21, 0xb9, 0x05, 0xd5, 0xd9, 0x33, 0x2b, 0x18, 0xf9, 0xce, 0x2c, 0x6c, + 0x15, 0x31, 0x69, 0x65, 0xf6, 0x6c, 0x80, 0xdf, 0xe4, 0x5d, 0xa8, 0x78, 0xf3, 0x70, 0xe6, 0x39, + 0x6e, 0xd8, 0x2a, 0xdd, 0xcd, 0xdd, 0xab, 0x3d, 0x5c, 0x12, 0x15, 0xe9, 0xcf, 0xc3, 0x23, 0x06, + 0x36, 0x15, 0x01, 0x79, 0x0b, 0x1a, 0x23, 0xcf, 0x3d, 0x75, 0xfc, 0xa9, 0x1d, 0x3a, 0x9e, 0x1b, + 0xb4, 0x16, 0xb0, 0xac, 0x38, 0xd0, 0xf8, 0x27, 0x79, 0xa8, 0x0d, 0x7d, 0xdb, 0x0d, 0xec, 0x11, + 0x03, 0x90, 0x0d, 0x28, 0x87, 0x97, 0xd6, 0xb9, 0x1d, 0x9c, 0x63, 0x53, 0xab, 0xe6, 0x42, 0x78, + 0xb9, 0x6f, 0x07, 0xe7, 0x64, 0x1d, 0x16, 0x78, 0x2d, 0xb1, 0x41, 0x05, 0x53, 0x7c, 0x91, 0x77, + 0x61, 0xd9, 0x9d, 0x4f, 0xad, 0x78, 0x51, 0xac, 0x59, 0x25, 0xb3, 0xe9, 0xce, 0xa7, 0x3b, 0x3a, + 0x9c, 0x35, 0xfe, 0x64, 0xe2, 0x8d, 0x9e, 0xf1, 0x02, 0x78, 0xf3, 0xaa, 0x08, 0xc1, 0x32, 0xde, + 0x80, 0xba, 0x40, 0x53, 0xe7, 0xec, 0x9c, 0xb7, 0xb1, 0x64, 0xd6, 0x38, 0x01, 0x82, 0x58, 0x0e, + 0xa1, 0x33, 0xa5, 0x56, 0x10, 0xda, 0xd3, 0x99, 0x68, 0x52, 0x95, 0x41, 0x06, 0x0c, 0x80, 0x68, + 0x2f, 0xb4, 0x27, 0xd6, 0x29, 0xa5, 0x41, 0xab, 0x2c, 0xd0, 0x0c, 0xb2, 0x47, 0x69, 0x40, 0xbe, + 0x05, 0x8b, 0x63, 0x1a, 0x84, 0x96, 0x18, 0x0c, 0x1a, 0xb4, 0x2a, 0x77, 0x0b, 0xf7, 0xaa, 0x66, + 0x83, 0x41, 0xdb, 0x12, 0x48, 0x5e, 0x03, 0xf0, 0xed, 0xe7, 0x16, 0xeb, 0x08, 0x7a, 0xd9, 0xaa, + 0xf2, 0x51, 0xf0, 0xed, 0xe7, 0xc3, 0xcb, 0x7d, 0x7a, 0x49, 0x56, 0xa1, 0x34, 0xb1, 0x4f, 0xe8, + 0xa4, 0x05, 0x88, 0xe0, 0x1f, 0xc6, 0x0f, 0x61, 0xfd, 0x09, 0x0d, 0xb5, 0xae, 0x0c, 0x4c, 0xfa, + 0xa3, 0x39, 0x0d, 0x42, 0xd6, 0xaa, 0x20, 0xb4, 0xfd, 0x50, 0xb6, 0x2a, 0xc7, 0x5b, 0x85, 0xb0, + 0xa8, 0x55, 0xd4, 0x1d, 0x4b, 0x82, 0x3c, 0x12, 0x54, 0xa9, 0x3b, 0xe6, 0x68, 0xe3, 0x00, 0x88, + 0x96, 0xf1, 0x2e, 0x0d, 0x6d, 0x67, 0x12, 0x90, 0x4f, 0xa0, 0x1e, 0x6a, 0xc5, 0xb5, 0x72, 0x77, + 0x0b, 0xf7, 0x6a, 0x6a, 0x6a, 0x6a, 0x09, 0xcc, 0x18, 0x9d, 0x71, 0x0e, 0x95, 0x3d, 0x4a, 0x0f, + 0x9c, 0xa9, 0x13, 0x92, 0x75, 0x28, 0x9d, 0x3a, 0x97, 0x74, 0x8c, 0x95, 0x2a, 0xec, 0xdf, 0x30, + 0xf9, 0x27, 0xb9, 0x03, 0x80, 0x3f, 0xac, 0xa9, 0x9a, 0xa5, 0xfb, 0x37, 0xcc, 0x2a, 0xc2, 0x0e, + 0x03, 0x3b, 0x24, 0x9b, 0x50, 0x9e, 0x51, 0x7f, 0x44, 0xe5, 0x7c, 0xd8, 0xbf, 0x61, 0x4a, 0xc0, + 0x76, 0x19, 0x4a, 0x13, 0x96, 0xbb, 0xf1, 0xdf, 0x4b, 0x50, 0x1b, 0x50, 0x77, 0x2c, 0x7b, 0x82, + 0x40, 0x91, 0x75, 0x34, 0x16, 0x56, 0x37, 0xf1, 0x37, 0x79, 0x13, 0x6a, 0x38, 0x24, 0x41, 0xe8, + 0x3b, 0xee, 0x19, 0x5f, 0x2d, 0xdb, 0xf9, 0x56, 0xce, 0x04, 0x06, 0x1e, 0x20, 0x94, 0x34, 0xa1, + 0x60, 0x4f, 0xe5, 0x6a, 0x61, 0x3f, 0xc9, 0x4d, 0xa8, 0xd8, 0xd3, 0x90, 0x57, 0xaf, 0x8e, 0xe0, + 0xb2, 0x3d, 0x0d, 0xb1, 0x6a, 0x6f, 0x40, 0x7d, 0x66, 0x5f, 0x4d, 0xa9, 0x1b, 0x46, 0xd3, 0xac, + 0x6e, 0xd6, 0x04, 0x0c, 0x27, 0xda, 0x43, 0x58, 0xd1, 0x49, 0x64, 0xe1, 0x25, 0x55, 0xf8, 0xb2, + 0x46, 0x2d, 0xea, 0xf0, 0x0e, 0x2c, 0xc9, 0x34, 0x3e, 0x6f, 0x0f, 0x4e, 0xbf, 0xaa, 0xb9, 0x28, + 0xc0, 0xb2, 0x95, 0xf7, 0xa0, 0x79, 0xea, 0xb8, 0xf6, 0xc4, 0x1a, 0x4d, 0xc2, 0x0b, 0x6b, 0x4c, + 0x27, 0xa1, 0x8d, 0x33, 0xb1, 0x64, 0x2e, 0x22, 0x7c, 0x67, 0x12, 0x5e, 0xec, 0x32, 0x28, 0x79, + 0x0f, 0xaa, 0xa7, 0x94, 0x5a, 0xd8, 0x59, 0xad, 0x4a, 0x6c, 0x41, 0xcb, 0x11, 0x32, 0x2b, 0xa7, + 0x72, 0xac, 0xde, 0x83, 0xa6, 0x37, 0x0f, 0xcf, 0x3c, 0xc7, 0x3d, 0xb3, 0x46, 0xe7, 0xb6, 0x6b, + 0x39, 0x63, 0x9c, 0x9b, 0xc5, 0xed, 0xfc, 0x83, 0x9c, 0xb9, 0x28, 0x71, 0x3b, 0xe7, 0xb6, 0xdb, + 0x1d, 0x93, 0xb7, 0x61, 0x69, 0x62, 0x07, 0xa1, 0x75, 0xee, 0xcd, 0xac, 0xd9, 0xfc, 0xe4, 0x19, + 0xbd, 0x6a, 0x35, 0xb0, 0x23, 0x1a, 0x0c, 0xbc, 0xef, 0xcd, 0x8e, 0x10, 0xc8, 0xa6, 0x1e, 0xd6, + 0x93, 0x57, 0x82, 0x4d, 0xe9, 0x86, 0x59, 0x65, 0x10, 0x5e, 0xe8, 0x57, 0xb0, 0x82, 0xc3, 0x33, + 0x9a, 0x07, 0xa1, 0x37, 0xb5, 0x7c, 0x3a, 0xf2, 0xfc, 0x71, 0xd0, 0xaa, 0xe1, 0x5c, 0xfb, 0xb6, + 0xa8, 0xac, 0x36, 0xc6, 0x5b, 0xbb, 0x34, 0x08, 0x77, 0x90, 0xd8, 0xe4, 0xb4, 0x1d, 0x37, 0xf4, + 0xaf, 0xcc, 0xe5, 0x71, 0x12, 0x4e, 0xde, 0x03, 0x62, 0x4f, 0x26, 0xde, 0x73, 0x2b, 0xa0, 0x93, + 0x53, 0x4b, 0x74, 0x62, 0x6b, 0xf1, 0x6e, 0xee, 0x5e, 0xc5, 0x6c, 0x22, 0x66, 0x40, 0x27, 0xa7, + 0x47, 0x1c, 0x4e, 0x3e, 0x01, 0x5c, 0xa4, 0xd6, 0x29, 0xb5, 0xc3, 0xb9, 0x4f, 0x83, 0xd6, 0xd2, + 0xdd, 0xc2, 0xbd, 0xc5, 0x87, 0xcb, 0xaa, 0xbf, 0x10, 0xbc, 0xed, 0x84, 0x66, 0x9d, 0xd1, 0x89, + 0xef, 0x40, 0x9f, 0x0d, 0x6c, 0xd5, 0xb7, 0x9a, 0xb1, 0xd9, 0xc0, 0xd6, 0xfc, 0xe6, 0x2e, 0xac, + 0x67, 0xd7, 0x9a, 0xcd, 0x3b, 0xd6, 0x71, 0x6c, 0xbe, 0x16, 0x4d, 0xf6, 0x93, 0x2d, 0xfe, 0x0b, + 0x7b, 0x32, 0xa7, 0x38, 0x51, 0xeb, 0x26, 0xff, 0xf8, 0x4e, 0xfe, 0xb3, 0x9c, 0xf1, 0x7b, 0x39, + 0xa8, 0xf3, 0x8e, 0x08, 0x66, 0x9e, 0x1b, 0x50, 0xf2, 0x26, 0x34, 0x64, 0xc9, 0xd4, 0xf7, 0x3d, + 0x5f, 0x30, 0x54, 0x59, 0x9d, 0x0e, 0x83, 0x91, 0x6f, 0x43, 0x53, 0x12, 0xcd, 0x7c, 0xea, 0x4c, + 0xed, 0x33, 0x99, 0xb5, 0x9c, 0x6d, 0x47, 0x02, 0x4c, 0x3e, 0x8c, 0xf2, 0xf3, 0xbd, 0x79, 0x48, + 0x71, 0x39, 0xd4, 0x1e, 0xd6, 0x45, 0x0f, 0x98, 0x0c, 0xa6, 0x72, 0xc7, 0xaf, 0x57, 0x58, 0x0a, + 0xc6, 0x6f, 0xe6, 0x80, 0xb0, 0x6a, 0x0f, 0x3d, 0x9e, 0x41, 0xc4, 0xb4, 0x62, 0x29, 0x73, 0xaf, + 0xbc, 0x88, 0xf2, 0x2f, 0x5a, 0x44, 0x06, 0x94, 0x78, 0xdd, 0x8b, 0x19, 0x75, 0xe7, 0xa8, 0xef, + 0x17, 0x2b, 0x85, 0x66, 0xd1, 0xf8, 0xf7, 0x05, 0x58, 0x65, 0x53, 0xd9, 0xa5, 0x93, 0xf6, 0x68, + 0x44, 0x67, 0x6a, 0x79, 0xdd, 0x81, 0x9a, 0xeb, 0x8d, 0xa9, 0x9c, 0xd4, 0xbc, 0x62, 0xc0, 0x40, + 0xda, 0x8c, 0x3e, 0xb7, 0x1d, 0x97, 0x57, 0x9c, 0x77, 0x66, 0x15, 0x21, 0x58, 0xed, 0xb7, 0x61, + 0x69, 0x46, 0xdd, 0xb1, 0xbe, 0x8a, 0x0a, 0x7c, 0x61, 0x08, 0xb0, 0x58, 0x40, 0x77, 0xa0, 0x76, + 0x3a, 0xe7, 0x74, 0x8c, 0xf7, 0x14, 0x71, 0x0e, 0x80, 0x00, 0xb5, 0x39, 0x0b, 0x9a, 0xcd, 0x83, + 0x73, 0xc4, 0x96, 0x10, 0x5b, 0x66, 0xdf, 0x0c, 0x75, 0x1b, 0x60, 0x3c, 0x0f, 0x42, 0xb1, 0xa8, + 0x16, 0x10, 0x59, 0x65, 0x10, 0xbe, 0xa8, 0xde, 0x87, 0x95, 0xa9, 0x7d, 0x69, 0xe1, 0xdc, 0xb1, + 0x1c, 0xd7, 0x3a, 0x9d, 0x20, 0xdf, 0x2f, 0x23, 0x5d, 0x73, 0x6a, 0x5f, 0x7e, 0xc1, 0x30, 0x5d, + 0x77, 0x0f, 0xe1, 0x8c, 0xf3, 0x8c, 0x78, 0x4f, 0x58, 0x3e, 0x0d, 0xa8, 0x7f, 0x41, 0x91, 0x59, + 0x14, 0xcd, 0x45, 0x01, 0x36, 0x39, 0x94, 0xd5, 0x68, 0xca, 0xda, 0x1d, 0x4e, 0x46, 0x9c, 0x33, + 0x98, 0xe5, 0xa9, 0xe3, 0xee, 0x87, 0x93, 0x11, 0xdb, 0xd2, 0x18, 0xab, 0x99, 0x51, 0xdf, 0x7a, + 0xf6, 0x1c, 0x97, 0x79, 0x11, 0x59, 0xcb, 0x11, 0xf5, 0x9f, 0x3e, 0x67, 0x52, 0xc7, 0x28, 0x40, + 0x5e, 0x65, 0x5f, 0xb5, 0x6a, 0xc8, 0x03, 0x2a, 0xa3, 0x80, 0x71, 0x29, 0xfb, 0x8a, 0xad, 0x53, + 0x56, 0x5b, 0x1b, 0x47, 0x81, 0x8e, 0x31, 0xfb, 0x00, 0x99, 0x6e, 0x03, 0x2b, 0xdb, 0x16, 0x08, + 0x56, 0x4e, 0xc0, 0x66, 0xbd, 0xac, 0xec, 0xe9, 0xc4, 0x3e, 0x0b, 0x90, 0xeb, 0x34, 0xcc, 0xba, + 0x00, 0xee, 0x31, 0x98, 0xf1, 0x27, 0x79, 0x58, 0x4b, 0x0c, 0xae, 0x58, 0x34, 0x4c, 0xcc, 0x40, + 0x08, 0x0e, 0x6c, 0xc5, 0x14, 0x5f, 0x59, 0xa3, 0x96, 0xcf, 0x1a, 0xb5, 0x55, 0x28, 0xf1, 0xc5, + 0x56, 0xe0, 0x9b, 0x33, 0x95, 0xab, 0x6c, 0x3e, 0x3b, 0xf5, 0x3d, 0x26, 0x75, 0x9d, 0xcf, 0xc3, + 0xb1, 0xf7, 0xdc, 0x15, 0xd2, 0xc7, 0x92, 0x80, 0x0f, 0x04, 0x38, 0xde, 0x15, 0xa5, 0x44, 0x57, + 0xdc, 0x81, 0x9a, 0x18, 0x01, 0x94, 0xde, 0xf8, 0xc0, 0x82, 0x00, 0x31, 0xf1, 0xed, 0x5d, 0x20, + 0x6a, 0x3c, 0x2d, 0xd6, 0x6b, 0xb8, 0x41, 0xf1, 0x81, 0x5d, 0x72, 0xc4, 0x80, 0x1e, 0xda, 0x97, + 0xb8, 0x51, 0xbd, 0x05, 0x8b, 0x8c, 0x84, 0xf5, 0xa7, 0x35, 0x42, 0xd1, 0xaa, 0xc2, 0xfb, 0x6a, + 0x6a, 0x5f, 0xb2, 0xce, 0xdc, 0x41, 0x01, 0xeb, 0x75, 0xa8, 0xc9, 0x41, 0xb5, 0x1c, 0x57, 0x8c, + 0x6b, 0x55, 0x8c, 0x6b, 0xd7, 0x65, 0xdb, 0x0d, 0xc3, 0xf3, 0x7e, 0xb2, 0xc6, 0x74, 0x16, 0x9e, + 0x0b, 0x36, 0xbe, 0x38, 0x75, 0x5c, 0xde, 0xbd, 0xbb, 0x0c, 0x6a, 0xfc, 0x56, 0x0e, 0xea, 0xa2, + 0xd7, 0x51, 0x58, 0x24, 0x5b, 0x40, 0xe4, 0x14, 0x0f, 0x2f, 0x9d, 0xb1, 0x75, 0x72, 0x15, 0xd2, + 0x80, 0xaf, 0xa8, 0xfd, 0x1b, 0x66, 0x53, 0xe0, 0x86, 0x97, 0xce, 0x78, 0x9b, 0x61, 0xc8, 0x7d, + 0x68, 0xc6, 0xe8, 0x83, 0xd0, 0xe7, 0xcb, 0x7d, 0xff, 0x86, 0xb9, 0xa8, 0x51, 0x0f, 0x42, 0x9f, + 0x31, 0x10, 0x26, 0x8a, 0xce, 0x43, 0xcb, 0x71, 0xc7, 0xf4, 0x12, 0xc7, 0xa3, 0x61, 0xd6, 0x38, + 0xac, 0xcb, 0x40, 0xdb, 0x8b, 0x50, 0xd7, 0xb3, 0x33, 0xce, 0xa0, 0x22, 0xe5, 0x58, 0x14, 0xe4, + 0x12, 0x55, 0x32, 0xab, 0xa1, 0xaa, 0xc9, 0x4d, 0xa8, 0xc4, 0x6b, 0x60, 0x96, 0xc3, 0x57, 0x2e, + 0xd8, 0xf8, 0x2e, 0x34, 0x0f, 0xd8, 0x40, 0xb8, 0x6c, 0x25, 0x0b, 0xb9, 0x7c, 0x1d, 0x16, 0x34, + 0x8e, 0x52, 0x35, 0xc5, 0x17, 0x93, 0x59, 0xce, 0xbd, 0x20, 0x14, 0xa5, 0xe0, 0x6f, 0xe3, 0x9f, + 0xe6, 0x80, 0x74, 0x82, 0xd0, 0x99, 0xda, 0x21, 0xdd, 0xa3, 0x8a, 0x67, 0xf6, 0xa1, 0xce, 0x72, + 0x1b, 0x7a, 0x6d, 0x2e, 0x28, 0x73, 0x81, 0xec, 0x5d, 0xc1, 0xe3, 0xd2, 0x09, 0xb6, 0x74, 0x6a, + 0xbe, 0x4d, 0xc6, 0x32, 0x60, 0xd3, 0x2d, 0xb4, 0xfd, 0x33, 0x1a, 0xa2, 0x78, 0x2d, 0xe4, 0x42, + 0xe0, 0x20, 0x26, 0x58, 0x6f, 0xfe, 0x2c, 0x2c, 0xa7, 0xf2, 0xd0, 0x37, 0xad, 0x6a, 0xc6, 0xa6, + 0x55, 0xd0, 0x37, 0xad, 0x5f, 0xcb, 0xc1, 0x4a, 0xac, 0x62, 0x62, 0x19, 0x6e, 0x40, 0x99, 0xb1, + 0x0b, 0x36, 0x79, 0x73, 0x5c, 0xdc, 0x3f, 0xa5, 0x38, 0xc1, 0x3f, 0x82, 0xd5, 0x53, 0x4a, 0x7d, + 0x3b, 0x44, 0x24, 0xf2, 0x13, 0x36, 0x44, 0x3c, 0x67, 0xce, 0xf5, 0x05, 0x7e, 0x60, 0x87, 0x47, + 0xd4, 0x67, 0xc3, 0x45, 0x0c, 0x68, 0x48, 0xe2, 0x0b, 0xa4, 0x2e, 0xe0, 0x24, 0xae, 0x05, 0x48, + 0xf2, 0x05, 0x03, 0x19, 0x7f, 0x94, 0x87, 0x25, 0xb6, 0x0f, 0x1d, 0xda, 0xee, 0x95, 0xec, 0xd0, + 0x83, 0xcc, 0x0e, 0xbd, 0xa7, 0x49, 0x1d, 0x1a, 0xf5, 0xd7, 0xed, 0xcd, 0x42, 0xb2, 0x37, 0xd3, + 0xd5, 0x2c, 0xa6, 0xaa, 0x49, 0xde, 0x82, 0x7a, 0xac, 0xdd, 0x25, 0xd5, 0x6e, 0x08, 0xa2, 0x06, + 0xab, 0x23, 0xc2, 0x82, 0x76, 0x44, 0x60, 0xac, 0x85, 0xad, 0x54, 0x56, 0x7a, 0x20, 0x24, 0x42, + 0xc6, 0xaf, 0x59, 0xd9, 0x01, 0x3b, 0x47, 0x05, 0x8c, 0x95, 0x59, 0x73, 0x57, 0x9c, 0xa5, 0xe8, + 0x18, 0xf9, 0x41, 0xc5, 0x6c, 0x22, 0xe2, 0x38, 0x82, 0xff, 0xe9, 0xc7, 0xfd, 0x6d, 0x68, 0x46, + 0xdd, 0x27, 0xc6, 0x9c, 0x40, 0x91, 0xad, 0x21, 0x91, 0x01, 0xfe, 0x36, 0xfe, 0x5e, 0x9e, 0x13, + 0xee, 0x78, 0x4e, 0x74, 0xa0, 0x21, 0x50, 0x44, 0x51, 0x4a, 0x10, 0xb2, 0xdf, 0xd7, 0x1e, 0x0f, + 0x7f, 0x8a, 0x9d, 0x7e, 0x13, 0x2a, 0x01, 0xeb, 0x40, 0x7b, 0xc2, 0xfb, 0xbd, 0x62, 0x96, 0xd9, + 0x77, 0x7b, 0x32, 0x89, 0xc6, 0xa3, 0x7c, 0xed, 0x78, 0x54, 0x5e, 0x65, 0x3c, 0xaa, 0xd9, 0xe3, + 0x61, 0xbc, 0x03, 0xcb, 0x5a, 0x2f, 0xbd, 0xa0, 0x3f, 0x7b, 0x40, 0x0e, 0x9c, 0x20, 0x3c, 0x76, + 0x59, 0x16, 0x4a, 0xa4, 0x89, 0x55, 0x24, 0x97, 0xa8, 0x08, 0x43, 0xda, 0x97, 0x02, 0x99, 0x17, + 0x48, 0xfb, 0x12, 0x91, 0xc6, 0x67, 0xb0, 0x12, 0xcb, 0x4f, 0x14, 0xfd, 0x06, 0x94, 0xe6, 0xe1, + 0xa5, 0x27, 0xcf, 0x84, 0x35, 0xb1, 0x62, 0x8e, 0xc3, 0x4b, 0xcf, 0xe4, 0x18, 0xe3, 0x31, 0x2c, + 0xf7, 0xe8, 0x73, 0xc1, 0xfd, 0x64, 0x45, 0xde, 0x86, 0xe2, 0x4b, 0xb4, 0x1c, 0x88, 0x37, 0xb6, + 0x80, 0xe8, 0x89, 0x45, 0xa9, 0x9a, 0xd2, 0x23, 0x17, 0x53, 0x7a, 0x18, 0x6f, 0x03, 0x19, 0x38, + 0x67, 0xee, 0x21, 0x0d, 0x02, 0xfb, 0x4c, 0xf1, 0xcb, 0x26, 0x14, 0xa6, 0xc1, 0x99, 0x60, 0xee, + 0xec, 0xa7, 0xf1, 0x11, 0xac, 0xc4, 0xe8, 0x44, 0xc6, 0xaf, 0x41, 0x35, 0x70, 0xce, 0x5c, 0x94, + 0xe8, 0x45, 0xd6, 0x11, 0xc0, 0xd8, 0x83, 0xd5, 0x2f, 0xa8, 0xef, 0x9c, 0x5e, 0xbd, 0x2c, 0xfb, + 0x78, 0x3e, 0xf9, 0x64, 0x3e, 0x1d, 0x58, 0x4b, 0xe4, 0x23, 0x8a, 0xe7, 0xcb, 0x48, 0x8c, 0x64, + 0xc5, 0xe4, 0x1f, 0xda, 0x86, 0x91, 0xd7, 0x37, 0x0c, 0xc3, 0x03, 0xb2, 0xe3, 0xb9, 0x2e, 0x1d, + 0x85, 0x47, 0x94, 0xfa, 0xb2, 0x32, 0xef, 0x6a, 0x6b, 0xa6, 0xf6, 0x70, 0x43, 0xf4, 0x6c, 0x72, + 0x17, 0x12, 0x8b, 0x89, 0x40, 0x71, 0x46, 0xfd, 0x29, 0x66, 0x5c, 0x31, 0xf1, 0x37, 0xeb, 0xdc, + 0xd0, 0x99, 0x52, 0x6f, 0x1e, 0x0a, 0xee, 0x29, 0x3f, 0x8d, 0x35, 0x58, 0x89, 0x15, 0xc8, 0x6b, + 0x6d, 0x3c, 0x80, 0xb5, 0x5d, 0x27, 0x18, 0xa5, 0xab, 0xb2, 0x01, 0xe5, 0xd9, 0xfc, 0xc4, 0x8a, + 0x6f, 0x75, 0x4f, 0xe9, 0x95, 0xd1, 0x82, 0xf5, 0x64, 0x0a, 0x91, 0xd7, 0xaf, 0xe6, 0xa1, 0xb8, + 0x3f, 0x3c, 0xd8, 0x21, 0x9b, 0x50, 0x71, 0xdc, 0x91, 0x37, 0x65, 0x82, 0x3e, 0xef, 0x0d, 0xf5, + 0x7d, 0x2d, 0x0b, 0xb8, 0x05, 0x55, 0x3c, 0x1f, 0x4c, 0xbc, 0xd1, 0x33, 0x21, 0x6a, 0x57, 0x18, + 0xe0, 0xc0, 0x1b, 0x3d, 0x63, 0xcb, 0x8c, 0x5e, 0xce, 0x1c, 0x1f, 0x15, 0x44, 0x52, 0x01, 0x52, + 0xe4, 0xb2, 0x65, 0x84, 0x88, 0xd4, 0x24, 0x42, 0x0c, 0x62, 0x1b, 0x3b, 0x97, 0xb9, 0xab, 0xe7, + 0x28, 0x06, 0x8d, 0xe9, 0x25, 0x79, 0x1f, 0xc8, 0xa9, 0xe7, 0x3f, 0xb7, 0x7d, 0x25, 0x26, 0xba, + 0x82, 0x05, 0x17, 0xcd, 0xe5, 0x08, 0x23, 0x44, 0x20, 0xf2, 0x10, 0xd6, 0x34, 0x72, 0x2d, 0x63, + 0x2e, 0xae, 0xad, 0x44, 0xc8, 0x7d, 0x59, 0x84, 0xf1, 0x2b, 0x79, 0x20, 0x22, 0xfd, 0x8e, 0xe7, + 0x06, 0xa1, 0x6f, 0x3b, 0x6e, 0x18, 0xc4, 0x85, 0xc6, 0x5c, 0x42, 0x68, 0xbc, 0x07, 0x4d, 0x14, + 0x59, 0x75, 0xc9, 0x31, 0x1f, 0xc9, 0xef, 0x66, 0x24, 0x3d, 0xbe, 0x05, 0x8b, 0xd1, 0xb1, 0x41, + 0xe9, 0x07, 0x8b, 0x66, 0x5d, 0x1d, 0x1d, 0x18, 0xd5, 0x07, 0xb0, 0xca, 0x18, 0x82, 0x14, 0x87, + 0x95, 0x1a, 0x84, 0x33, 0xce, 0xe5, 0xa9, 0x7d, 0x79, 0x44, 0xe5, 0x21, 0x05, 0xe5, 0x4c, 0x03, + 0x1a, 0x4a, 0x82, 0x44, 0x4a, 0xde, 0x73, 0x35, 0x21, 0x43, 0x22, 0x4d, 0xb6, 0x90, 0xbf, 0x90, + 0x2d, 0xe4, 0x1b, 0xff, 0xa6, 0x0a, 0x65, 0xd9, 0x8d, 0x28, 0xb1, 0x87, 0xce, 0x05, 0x8d, 0x24, + 0x76, 0xf6, 0xc5, 0x0e, 0x02, 0x3e, 0x9d, 0x7a, 0xa1, 0x3a, 0xa9, 0xf1, 0x65, 0x52, 0xe7, 0x40, + 0x71, 0x56, 0xd3, 0x4e, 0x0b, 0x5c, 0xad, 0xc9, 0xc5, 0x76, 0x79, 0x5a, 0xe0, 0xb2, 0xe0, 0x2d, + 0x28, 0x4b, 0x99, 0xbf, 0xa8, 0xf4, 0x1d, 0x0b, 0x23, 0x2e, 0xf0, 0x6f, 0x42, 0x65, 0x64, 0xcf, + 0xec, 0x91, 0x13, 0x72, 0x71, 0xbd, 0x60, 0xaa, 0x6f, 0x96, 0xfb, 0xc4, 0x1b, 0xd9, 0x13, 0xeb, + 0xc4, 0x9e, 0xd8, 0xee, 0x88, 0x0a, 0x7d, 0x61, 0x1d, 0x81, 0xdb, 0x1c, 0x46, 0xbe, 0x05, 0x8b, + 0xa2, 0x9e, 0x92, 0x8a, 0xab, 0x0d, 0x45, 0xed, 0x25, 0x19, 0x3b, 0x55, 0x7a, 0x53, 0x36, 0x2e, + 0xa7, 0x94, 0x9f, 0xbf, 0x0a, 0x66, 0x95, 0x43, 0xf6, 0x28, 0xb6, 0x56, 0xa0, 0x9f, 0xf3, 0x39, + 0x5c, 0xe5, 0x45, 0x71, 0xe0, 0x97, 0x7c, 0xfe, 0xa6, 0x0f, 0x61, 0x05, 0xed, 0x10, 0xf6, 0x2e, + 0x2c, 0xcf, 0xdd, 0x80, 0x86, 0xe1, 0x84, 0x8e, 0x55, 0x5d, 0x6a, 0x48, 0xd4, 0x54, 0x08, 0x59, + 0x9d, 0x2d, 0x58, 0xe1, 0x8a, 0xce, 0xc0, 0x0e, 0xbd, 0xe0, 0xdc, 0x09, 0xac, 0x80, 0xba, 0x52, + 0x15, 0xb6, 0x8c, 0xa8, 0x81, 0xc0, 0x0c, 0xb8, 0xfa, 0x64, 0x23, 0x41, 0xef, 0xd3, 0x11, 0x75, + 0x2e, 0xe8, 0x18, 0x0f, 0x68, 0x05, 0x73, 0x2d, 0x96, 0xc6, 0x14, 0x48, 0x3c, 0x6d, 0xcf, 0xa7, + 0xd6, 0x7c, 0x36, 0xb6, 0x99, 0x20, 0xbe, 0xc8, 0x4f, 0x3c, 0xee, 0x7c, 0x7a, 0xcc, 0x21, 0xe4, + 0x01, 0xc8, 0x13, 0x98, 0x98, 0x33, 0x4b, 0xb1, 0x2d, 0x87, 0x71, 0x0d, 0xb3, 0x2e, 0x28, 0xf8, + 0x09, 0xf1, 0x8e, 0xbe, 0x58, 0x9a, 0x6c, 0x86, 0xe1, 0x56, 0x1e, 0x2d, 0x98, 0x16, 0x94, 0x67, + 0xbe, 0x73, 0x61, 0x87, 0xb4, 0xb5, 0xcc, 0xf7, 0x71, 0xf1, 0xc9, 0x18, 0xb8, 0xe3, 0x3a, 0xa1, + 0x63, 0x87, 0x9e, 0xdf, 0x22, 0x88, 0x8b, 0x00, 0xe4, 0x3e, 0x2c, 0xe3, 0x3c, 0x09, 0x42, 0x3b, + 0x9c, 0x07, 0xe2, 0xf8, 0xb9, 0xc2, 0x8f, 0x79, 0x0c, 0x31, 0x40, 0x38, 0x9e, 0x40, 0xc9, 0xa7, + 0xb0, 0xce, 0xa7, 0x46, 0x6a, 0x69, 0xae, 0x2a, 0xe1, 0x62, 0x05, 0x29, 0x76, 0xe2, 0x6b, 0xf4, + 0x73, 0xd8, 0x10, 0xd3, 0x25, 0x95, 0x72, 0x4d, 0xa5, 0x5c, 0xe5, 0x24, 0x89, 0xa4, 0x5b, 0xb0, + 0xcc, 0xaa, 0xe6, 0x8c, 0x2c, 0x91, 0x03, 0x5b, 0x15, 0xeb, 0xac, 0x15, 0x98, 0x68, 0x89, 0x23, + 0x4d, 0xc4, 0x3d, 0xa5, 0x57, 0xe4, 0xbb, 0xb0, 0xc4, 0xa7, 0x0f, 0xea, 0x58, 0x70, 0x63, 0xde, + 0xc4, 0x8d, 0x79, 0x4d, 0x74, 0xee, 0x8e, 0xc2, 0xe2, 0xde, 0xbc, 0x38, 0x8a, 0x7d, 0xb3, 0xa5, + 0x31, 0x71, 0x4e, 0x29, 0xdb, 0x27, 0x5a, 0x1b, 0x7c, 0xb2, 0xc9, 0x6f, 0xb6, 0x6a, 0xe7, 0x33, + 0xc4, 0xb4, 0x38, 0xb3, 0xe6, 0x5f, 0x38, 0x8f, 0x27, 0x5e, 0x40, 0xa5, 0x8a, 0xbc, 0x75, 0x53, + 0x2c, 0x48, 0x06, 0x94, 0x67, 0x25, 0x76, 0x18, 0xe7, 0x9a, 0x0f, 0x65, 0xc8, 0xb8, 0x85, 0x13, + 0xa3, 0xc1, 0x15, 0x20, 0xd2, 0x98, 0xc1, 0x84, 0xbf, 0x73, 0xfb, 0xb9, 0x64, 0xeb, 0xaf, 0x21, + 0x37, 0x01, 0x06, 0x12, 0x0c, 0x7d, 0x0f, 0x96, 0xc5, 0x28, 0x44, 0xcc, 0xb4, 0x75, 0x1b, 0xb7, + 0xc8, 0x9b, 0xb2, 0x8d, 0x29, 0x6e, 0x6b, 0x36, 0xf9, 0xb8, 0x68, 0xfc, 0x77, 0x1f, 0x88, 0x1c, + 0x14, 0x2d, 0xa3, 0xd7, 0x5f, 0x96, 0xd1, 0xb2, 0x18, 0xa6, 0x08, 0x64, 0xfc, 0x6e, 0x8e, 0x4b, + 0x54, 0x82, 0x3a, 0xd0, 0xb4, 0x4e, 0x9c, 0xaf, 0x59, 0x9e, 0x3b, 0xb9, 0x12, 0xac, 0x0e, 0x38, + 0xa8, 0xef, 0x4e, 0x90, 0xd7, 0x38, 0xae, 0x4e, 0xc2, 0x37, 0xef, 0xba, 0x04, 0x22, 0xd1, 0x1d, + 0xa8, 0xcd, 0xe6, 0x27, 0x13, 0x67, 0xc4, 0x49, 0x0a, 0x3c, 0x17, 0x0e, 0x42, 0x82, 0x37, 0xa0, + 0x2e, 0xe6, 0x3a, 0xa7, 0x28, 0x22, 0x45, 0x4d, 0xc0, 0x90, 0x04, 0x85, 0x03, 0xea, 0x23, 0xb3, + 0xab, 0x9b, 0xf8, 0xdb, 0xd8, 0x86, 0xd5, 0x78, 0xa5, 0x85, 0xe4, 0x72, 0x1f, 0x2a, 0x82, 0x93, + 0x4a, 0x95, 0xed, 0x62, 0xbc, 0x37, 0x4c, 0x85, 0x37, 0xfe, 0x6d, 0x09, 0x56, 0x64, 0x1f, 0xb1, + 0xc1, 0x1e, 0xcc, 0xa7, 0x53, 0xdb, 0xcf, 0x60, 0xd1, 0xb9, 0x17, 0xb3, 0xe8, 0x7c, 0x8a, 0x45, + 0xc7, 0x15, 0x72, 0x9c, 0xc3, 0xc7, 0x15, 0x72, 0x6c, 0x76, 0x71, 0x35, 0x80, 0x6e, 0x19, 0x6a, + 0x08, 0xf0, 0x90, 0x5b, 0xa0, 0x52, 0x1b, 0x4a, 0x29, 0x63, 0x43, 0xd1, 0xb7, 0x83, 0x85, 0xc4, + 0x76, 0xf0, 0x06, 0xf0, 0x69, 0x2c, 0xe7, 0x63, 0x99, 0x6b, 0x06, 0x10, 0x26, 0x26, 0xe4, 0x3b, + 0xb0, 0x94, 0xe4, 0xc0, 0x9c, 0xd5, 0x2f, 0x66, 0xf0, 0x5f, 0x67, 0x4a, 0x51, 0xa8, 0xd1, 0x88, + 0xab, 0x82, 0xff, 0x3a, 0x53, 0x7a, 0x80, 0x18, 0x49, 0xdf, 0x01, 0xe0, 0x65, 0xe3, 0x32, 0x06, + 0x5c, 0xc6, 0x6f, 0x27, 0x66, 0xa6, 0xd6, 0xeb, 0x5b, 0xec, 0x63, 0xee, 0x53, 0x5c, 0xd7, 0x55, + 0x4c, 0x89, 0x4b, 0xfa, 0x53, 0x58, 0xf4, 0x66, 0xd4, 0xb5, 0x22, 0x2e, 0x58, 0xc3, 0xac, 0x9a, + 0x22, 0xab, 0xae, 0x84, 0x9b, 0x0d, 0x46, 0xa7, 0x3e, 0xc9, 0xe7, 0xbc, 0x93, 0xa9, 0x96, 0xb2, + 0x7e, 0x4d, 0xca, 0x45, 0x24, 0x8c, 0x92, 0x7e, 0x84, 0x4a, 0x2f, 0x6f, 0x32, 0xe7, 0x66, 0xa6, + 0x06, 0xce, 0x23, 0xa9, 0x77, 0x37, 0x15, 0xc6, 0xd4, 0xa9, 0x8c, 0x5f, 0xcf, 0x41, 0x4d, 0x6b, + 0x03, 0x59, 0x83, 0xe5, 0x9d, 0x7e, 0xff, 0xa8, 0x63, 0xb6, 0x87, 0xdd, 0x2f, 0x3a, 0xd6, 0xce, + 0x41, 0x7f, 0xd0, 0x69, 0xde, 0x60, 0xe0, 0x83, 0xfe, 0x4e, 0xfb, 0xc0, 0xda, 0xeb, 0x9b, 0x3b, + 0x12, 0x9c, 0x23, 0xeb, 0x40, 0xcc, 0xce, 0x61, 0x7f, 0xd8, 0x89, 0xc1, 0xf3, 0xa4, 0x09, 0xf5, + 0x6d, 0xb3, 0xd3, 0xde, 0xd9, 0x17, 0x90, 0x02, 0x59, 0x85, 0xe6, 0xde, 0x71, 0x6f, 0xb7, 0xdb, + 0x7b, 0x62, 0xed, 0xb4, 0x7b, 0x3b, 0x9d, 0x83, 0xce, 0x6e, 0xb3, 0x48, 0x1a, 0x50, 0x6d, 0x6f, + 0xb7, 0x7b, 0xbb, 0xfd, 0x5e, 0x67, 0xb7, 0x59, 0x32, 0xfe, 0x28, 0x07, 0x10, 0x55, 0x94, 0xf1, + 0xd5, 0xa8, 0xaa, 0xba, 0x59, 0x77, 0x2d, 0xd5, 0x28, 0xce, 0x57, 0xfd, 0xd8, 0x37, 0x79, 0x08, + 0x65, 0x6f, 0x1e, 0x8e, 0xbc, 0x29, 0x3f, 0x44, 0x2c, 0x3e, 0x6c, 0xa5, 0xd2, 0xf5, 0x39, 0xde, + 0x94, 0x84, 0x31, 0xd3, 0x6d, 0xe1, 0x65, 0xa6, 0xdb, 0xb8, 0x8d, 0x98, 0xcb, 0x75, 0x9a, 0x8d, + 0xf8, 0x36, 0x40, 0xf0, 0x9c, 0xd2, 0x19, 0x6a, 0xcd, 0xc4, 0x2a, 0xa8, 0x22, 0x64, 0xc8, 0xce, + 0x98, 0xff, 0x31, 0x07, 0x6b, 0x38, 0x97, 0xc6, 0x49, 0x26, 0x76, 0x17, 0x6a, 0x23, 0xcf, 0x9b, + 0x51, 0x26, 0x54, 0x2b, 0x79, 0x4d, 0x07, 0x31, 0x06, 0xc5, 0x19, 0xf2, 0xa9, 0xe7, 0x8f, 0xa8, + 0xe0, 0x61, 0x80, 0xa0, 0x3d, 0x06, 0x61, 0x6b, 0x48, 0x2c, 0x42, 0x4e, 0xc1, 0x59, 0x58, 0x8d, + 0xc3, 0x38, 0xc9, 0x3a, 0x2c, 0x9c, 0xf8, 0xd4, 0x1e, 0x9d, 0x0b, 0xee, 0x25, 0xbe, 0xc8, 0xb7, + 0x23, 0xed, 0xe1, 0x88, 0xad, 0x89, 0x09, 0xe5, 0x95, 0xaf, 0x98, 0x4b, 0x02, 0xbe, 0x23, 0xc0, + 0x6c, 0x9f, 0xb7, 0x4f, 0x6c, 0x77, 0xec, 0xb9, 0x74, 0x2c, 0xce, 0xf2, 0x11, 0xc0, 0x38, 0x82, + 0xf5, 0x64, 0xfb, 0x04, 0xbf, 0xfb, 0x44, 0xe3, 0x77, 0xfc, 0xe8, 0xbb, 0x79, 0xfd, 0x1a, 0xd3, + 0x78, 0xdf, 0x7f, 0x2a, 0x42, 0x91, 0x1d, 0x78, 0xae, 0x3d, 0x1b, 0xe9, 0x67, 0xdb, 0x42, 0xca, + 0xa0, 0x8f, 0x4a, 0x4a, 0x2e, 0x80, 0x89, 0xc1, 0x42, 0x08, 0x0a, 0x5e, 0x0a, 0xed, 0xd3, 0xd1, + 0x85, 0x3c, 0xb3, 0x20, 0xc4, 0xa4, 0xa3, 0x0b, 0x54, 0x5a, 0xd8, 0x21, 0x4f, 0xcb, 0xf9, 0x55, + 0x39, 0xb0, 0x43, 0x4c, 0x29, 0x50, 0x98, 0xae, 0xac, 0x50, 0x98, 0xaa, 0x05, 0x65, 0xc7, 0x3d, + 0xf1, 0xe6, 0xae, 0x54, 0x11, 0xc9, 0x4f, 0xf4, 0x1f, 0x40, 0x4e, 0xca, 0xb6, 0x76, 0xce, 0x8d, + 0x2a, 0x0c, 0x30, 0x64, 0x9b, 0xfb, 0x87, 0x50, 0x0d, 0xae, 0xdc, 0x91, 0xce, 0x83, 0x56, 0x45, + 0xff, 0xb0, 0xd6, 0x6f, 0x0d, 0xae, 0xdc, 0x11, 0xce, 0xf8, 0x4a, 0x20, 0x7e, 0x91, 0x47, 0x50, + 0x51, 0x16, 0x37, 0xbe, 0x83, 0xdc, 0xd4, 0x53, 0x48, 0x33, 0x1b, 0xd7, 0xb7, 0x29, 0x52, 0xf2, + 0x01, 0x2c, 0xa0, 0xe6, 0x3d, 0x68, 0xd5, 0x31, 0x91, 0x3c, 0xf0, 0xb2, 0x6a, 0xa0, 0xe9, 0x9e, + 0x8e, 0xd1, 0xfe, 0x65, 0x0a, 0x32, 0xd6, 0x4d, 0xa7, 0x13, 0x7b, 0x26, 0xf4, 0xe0, 0x0d, 0x6e, + 0x01, 0x67, 0x10, 0xae, 0x04, 0xbf, 0x0b, 0x75, 0xb4, 0x66, 0x22, 0x8d, 0xcb, 0xe5, 0xd0, 0x82, + 0x09, 0x0c, 0xb6, 0x37, 0xb1, 0x67, 0xbd, 0x60, 0xf3, 0x29, 0x34, 0x62, 0x95, 0xd1, 0xd5, 0x61, + 0x0d, 0xae, 0x0e, 0x7b, 0x4b, 0x57, 0x87, 0x45, 0x5b, 0xa1, 0x48, 0xa6, 0xab, 0xc7, 0x8e, 0xa0, + 0x22, 0xfb, 0x82, 0xf1, 0x9c, 0xe3, 0xde, 0xd3, 0x5e, 0xff, 0xcb, 0x9e, 0x35, 0xf8, 0xaa, 0xb7, + 0xd3, 0xbc, 0x41, 0x96, 0xa0, 0xd6, 0xde, 0x41, 0x36, 0x86, 0x80, 0x1c, 0x23, 0x39, 0x6a, 0x0f, + 0x06, 0x0a, 0x92, 0x67, 0x24, 0x47, 0xdd, 0x5e, 0xaf, 0xb3, 0xcb, 0x01, 0x05, 0x63, 0x0f, 0x9a, + 0xc9, 0xb6, 0xb3, 0x59, 0x1e, 0x4a, 0x98, 0xb0, 0x31, 0x46, 0x80, 0xc8, 0x92, 0x91, 0xd7, 0x2c, + 0x19, 0xc6, 0x23, 0x68, 0xb2, 0x9d, 0x9e, 0x75, 0xbe, 0xee, 0x60, 0x30, 0x61, 0xb2, 0xb8, 0x6e, + 0x67, 0xac, 0x98, 0x35, 0x0e, 0xc3, 0xa2, 0x8c, 0x4f, 0x60, 0x59, 0x4b, 0x16, 0x69, 0x89, 0x98, + 0xf4, 0x90, 0xd4, 0x12, 0xe1, 0xc9, 0x9f, 0x63, 0x8c, 0x0d, 0x58, 0x63, 0x9f, 0x9d, 0x0b, 0xea, + 0x86, 0x83, 0xf9, 0x09, 0xf7, 0x4b, 0x71, 0x3c, 0xd7, 0xf8, 0x95, 0x1c, 0x54, 0x15, 0xe6, 0xfa, + 0x65, 0xb3, 0x25, 0x14, 0x4a, 0x9c, 0x4f, 0x6e, 0x6a, 0x25, 0x60, 0xc2, 0x2d, 0xfc, 0x1b, 0x53, + 0x2c, 0x55, 0x15, 0x08, 0x3b, 0xb1, 0xd3, 0x31, 0xad, 0x7e, 0xef, 0xa0, 0xdb, 0x63, 0xbb, 0x05, + 0xeb, 0x67, 0x04, 0xec, 0xed, 0x21, 0x24, 0x67, 0x34, 0x61, 0xf1, 0x09, 0x0d, 0xbb, 0xee, 0xa9, + 0x27, 0x3a, 0xc3, 0xf8, 0xb5, 0x05, 0x58, 0x52, 0xa0, 0x48, 0x31, 0x75, 0x41, 0xfd, 0xc0, 0xf1, + 0x5c, 0x9c, 0x38, 0x55, 0x53, 0x7e, 0x32, 0x7e, 0x27, 0x8e, 0x6d, 0x28, 0x77, 0xac, 0x22, 0x56, + 0x1c, 0xf4, 0x50, 0xe8, 0x78, 0x07, 0x96, 0x9c, 0x31, 0x75, 0x43, 0x27, 0xbc, 0xb2, 0x62, 0xf6, + 0x81, 0x45, 0x09, 0x16, 0x82, 0xc7, 0x2a, 0x94, 0xec, 0x89, 0x63, 0x4b, 0x7f, 0x1f, 0xfe, 0xc1, + 0xa0, 0x23, 0x6f, 0xe2, 0xf9, 0x78, 0x90, 0xa9, 0x9a, 0xfc, 0x83, 0x3c, 0x80, 0x55, 0x76, 0xa8, + 0xd2, 0x0d, 0x5a, 0xc8, 0xb2, 0xb8, 0xa9, 0x82, 0xb8, 0xf3, 0xe9, 0x51, 0x64, 0xd4, 0x62, 0x18, + 0x26, 0x6e, 0xb0, 0x14, 0x42, 0xbe, 0x54, 0x09, 0xb8, 0xa2, 0x64, 0xd9, 0x9d, 0x4f, 0xdb, 0x88, + 0x51, 0xf4, 0x0f, 0x61, 0x8d, 0xd1, 0x2b, 0x89, 0x54, 0xa5, 0x58, 0xc2, 0x14, 0x2c, 0xb3, 0xae, + 0xc0, 0xa9, 0x34, 0xb7, 0xa0, 0xca, 0x6b, 0xc5, 0xa6, 0x84, 0xb0, 0x7c, 0x61, 0x55, 0xa8, 0x1f, + 0xa4, 0x5c, 0x73, 0xb8, 0x66, 0x20, 0xe9, 0x9a, 0xa3, 0x39, 0xf7, 0x54, 0x92, 0xce, 0x3d, 0x0f, + 0x61, 0xed, 0x84, 0xcd, 0xd1, 0x73, 0x6a, 0x8f, 0xa9, 0x6f, 0x45, 0x33, 0x9f, 0x9f, 0x3f, 0x57, + 0x18, 0x72, 0x1f, 0x71, 0x6a, 0xa1, 0x30, 0xd1, 0x90, 0x71, 0x22, 0x3a, 0xb6, 0x42, 0xcf, 0x42, + 0x89, 0x51, 0xa8, 0x60, 0x1b, 0x1c, 0x3c, 0xf4, 0x76, 0x18, 0x30, 0x4e, 0x77, 0xe6, 0xdb, 0xb3, + 0x73, 0x71, 0x3a, 0x54, 0x74, 0x4f, 0x18, 0x90, 0xbc, 0x06, 0x65, 0xb6, 0x26, 0x5c, 0xca, 0x3d, + 0x1d, 0xf8, 0xb9, 0x4b, 0x82, 0xc8, 0x5b, 0xb0, 0x80, 0x65, 0x04, 0xad, 0x26, 0x2e, 0x88, 0x7a, + 0xb4, 0x77, 0x38, 0xae, 0x29, 0x70, 0x4c, 0xfe, 0x9e, 0xfb, 0x0e, 0x67, 0x6c, 0x55, 0x13, 0x7f, + 0x93, 0xef, 0x69, 0x5c, 0x72, 0x05, 0xd3, 0xbe, 0x25, 0xd2, 0x26, 0xa6, 0xe2, 0x75, 0x0c, 0xf3, + 0x1b, 0x65, 0x5f, 0xdf, 0x2f, 0x56, 0x6a, 0xcd, 0xba, 0xd1, 0x42, 0x8f, 0x24, 0x93, 0x8e, 0xbc, + 0x0b, 0xea, 0x5f, 0xc5, 0xd6, 0x48, 0x0e, 0x36, 0x52, 0xa8, 0xc8, 0x6b, 0xc1, 0x17, 0x70, 0x6b, + 0xea, 0x8d, 0xa5, 0x94, 0x50, 0x97, 0xc0, 0x43, 0x6f, 0xcc, 0xa4, 0x99, 0x65, 0x45, 0x74, 0xea, + 0xb8, 0x4e, 0x70, 0x4e, 0xc7, 0x42, 0x58, 0x68, 0x4a, 0xc4, 0x9e, 0x80, 0x33, 0x91, 0x7c, 0xe6, + 0x7b, 0x67, 0x6a, 0xef, 0xcc, 0x99, 0xea, 0xdb, 0xf8, 0x14, 0x4a, 0x7c, 0x04, 0xd9, 0x42, 0xc1, + 0xf1, 0xcd, 0x89, 0x85, 0x82, 0xd0, 0x16, 0x94, 0x5d, 0x1a, 0x3e, 0xf7, 0xfc, 0x67, 0xd2, 0xca, + 0x27, 0x3e, 0x8d, 0x1f, 0xa3, 0x96, 0x55, 0xb9, 0x96, 0x71, 0x6d, 0x04, 0x9b, 0xc2, 0x7c, 0x0a, + 0x06, 0xe7, 0xb6, 0x50, 0xfc, 0x56, 0x10, 0x30, 0x38, 0xb7, 0x53, 0x53, 0x38, 0x9f, 0xf6, 0x2e, + 0x7b, 0x0b, 0x16, 0xa5, 0x33, 0x5b, 0x60, 0x4d, 0xe8, 0x69, 0x28, 0x96, 0x64, 0x5d, 0x78, 0xb2, + 0x05, 0x07, 0xf4, 0x34, 0x34, 0x0e, 0x61, 0x59, 0x2c, 0x9a, 0xfe, 0x8c, 0xca, 0xa2, 0x3f, 0xcb, + 0x3a, 0x26, 0xd5, 0x1e, 0xae, 0xc4, 0xe5, 0x0f, 0x2e, 0xe9, 0xc5, 0xce, 0x4e, 0xc6, 0x0f, 0x22, + 0x95, 0x22, 0x93, 0x4e, 0x44, 0x7e, 0xe2, 0xb0, 0x22, 0x8d, 0xa3, 0xd2, 0x01, 0x43, 0x1d, 0x89, + 0x9c, 0x31, 0xeb, 0x9d, 0x60, 0x3e, 0x1a, 0x49, 0x27, 0xc3, 0x8a, 0x29, 0x3f, 0x8d, 0xff, 0x95, + 0x83, 0x15, 0xcc, 0x4c, 0x1e, 0xf3, 0xc4, 0x4e, 0xf1, 0x13, 0x57, 0x92, 0x8d, 0x8f, 0x2e, 0x12, + 0xf2, 0x8f, 0x97, 0x5b, 0x77, 0x92, 0x96, 0x9b, 0x62, 0xa6, 0xe5, 0xe6, 0xdb, 0xd0, 0x1c, 0xd3, + 0x89, 0x83, 0xd3, 0x49, 0x4a, 0x59, 0x5c, 0xac, 0x5d, 0x92, 0x70, 0xa9, 0x7a, 0x48, 0x99, 0x8b, + 0x16, 0xd2, 0xa6, 0xc4, 0xbf, 0x9a, 0x83, 0x65, 0x2e, 0xe8, 0xa1, 0xc2, 0x47, 0x74, 0xe8, 0x63, + 0xa9, 0xd9, 0x10, 0x6c, 0x57, 0xb4, 0x3d, 0x12, 0x80, 0x10, 0xca, 0x89, 0xf7, 0x6f, 0x08, 0x8d, + 0x87, 0x80, 0x92, 0xef, 0xe0, 0x11, 0xd6, 0xb5, 0x10, 0x28, 0x04, 0xf8, 0x9b, 0x19, 0xa2, 0xa5, + 0x4a, 0xce, 0xce, 0xb7, 0x2e, 0x82, 0xb6, 0x2b, 0xb0, 0xc0, 0xd5, 0x67, 0xc6, 0x1e, 0x34, 0x62, + 0xc5, 0xc4, 0x4c, 0x44, 0x75, 0x6e, 0x22, 0x4a, 0xd9, 0xaf, 0xf3, 0x69, 0xfb, 0xf5, 0x15, 0xac, + 0x98, 0xd4, 0x1e, 0x5f, 0xed, 0x79, 0xfe, 0x51, 0x70, 0x12, 0xee, 0x71, 0xe9, 0x99, 0xed, 0x55, + 0xca, 0x63, 0x25, 0x66, 0x87, 0x91, 0xb6, 0x79, 0xd9, 0x89, 0xdf, 0x82, 0xc5, 0xc8, 0xb5, 0x45, + 0xd3, 0xd8, 0x37, 0x94, 0x77, 0x0b, 0x0a, 0x5d, 0x04, 0x8a, 0xb3, 0xe0, 0x24, 0x14, 0x3a, 0x7b, + 0xfc, 0x6d, 0xfc, 0xe3, 0x12, 0x10, 0x36, 0xeb, 0x13, 0x13, 0x2b, 0x35, 0x2c, 0xb9, 0xb4, 0x15, + 0x2f, 0xe1, 0xb8, 0x93, 0x4f, 0x39, 0xee, 0x3c, 0x00, 0xa2, 0x11, 0x48, 0x7f, 0xa2, 0x82, 0xf2, + 0x27, 0x6a, 0x46, 0xb4, 0xc2, 0x9d, 0xe8, 0x01, 0xac, 0x8a, 0xe3, 0x4a, 0xbc, 0x39, 0x38, 0xcd, + 0x4c, 0xc2, 0xcf, 0x2d, 0xb1, 0x36, 0x49, 0xa7, 0x1d, 0xa9, 0x06, 0x2f, 0x70, 0xa7, 0x1d, 0xa9, + 0xad, 0xd2, 0x26, 0xf3, 0xc2, 0x4b, 0x27, 0x73, 0x39, 0x73, 0x32, 0x6b, 0xda, 0xcb, 0x4a, 0x5c, + 0x7b, 0x99, 0xd2, 0xc3, 0x73, 0xf9, 0x3c, 0xa6, 0x87, 0xbf, 0x07, 0x4d, 0xa9, 0xc9, 0x52, 0x3a, + 0x52, 0xe1, 0xcd, 0x21, 0x94, 0x55, 0x52, 0x4b, 0x1a, 0x33, 0x1a, 0xd6, 0x5e, 0xc5, 0x7a, 0x59, + 0xcf, 0xb6, 0x5e, 0xa6, 0x75, 0x7e, 0x8d, 0x0c, 0x9d, 0xdf, 0xa3, 0xc8, 0x59, 0x23, 0x38, 0x77, + 0xa6, 0x28, 0x48, 0x45, 0xde, 0xa6, 0xa2, 0x93, 0x07, 0xe7, 0xce, 0xd4, 0x94, 0x6e, 0x53, 0xec, + 0x83, 0xec, 0xc0, 0x1d, 0xd1, 0x9e, 0x0c, 0x8f, 0x27, 0xde, 0x0b, 0x4b, 0x38, 0x55, 0x36, 0x39, + 0xd9, 0x61, 0xc2, 0xf9, 0x29, 0xd1, 0x29, 0xd2, 0x5f, 0x26, 0xe0, 0x8a, 0x63, 0xd9, 0x29, 0x87, + 0xdc, 0x61, 0x06, 0xd9, 0x03, 0x23, 0x11, 0x4a, 0xc5, 0xe0, 0x02, 0xe5, 0xae, 0x86, 0x59, 0x9b, + 0xda, 0x97, 0x07, 0xa8, 0x34, 0x0c, 0x2e, 0x8c, 0x3f, 0xc9, 0x41, 0x93, 0x4d, 0xe1, 0x18, 0x77, + 0xf8, 0x1c, 0x90, 0xdf, 0xbd, 0x22, 0x73, 0xa8, 0x31, 0x5a, 0xc9, 0x1b, 0x3e, 0x05, 0x5c, 0xec, + 0x96, 0x37, 0xa3, 0xae, 0x60, 0x0d, 0xad, 0x38, 0x6b, 0x88, 0xb6, 0x89, 0xfd, 0x1b, 0xfc, 0xd4, + 0xc9, 0x20, 0xe4, 0x73, 0xa8, 0xb2, 0x35, 0x85, 0x93, 0x57, 0xf8, 0x73, 0x6f, 0x2a, 0x4d, 0x42, + 0x6a, 0x79, 0xb3, 0xa4, 0x33, 0xf1, 0x99, 0xe5, 0x0e, 0x55, 0xcc, 0x70, 0x87, 0xd2, 0x78, 0xcf, + 0x3e, 0xc0, 0x53, 0x7a, 0xc5, 0x3a, 0x21, 0xf4, 0x7c, 0x26, 0xab, 0xb1, 0x25, 0x76, 0x6a, 0x4f, + 0x1d, 0xa1, 0xcd, 0x2c, 0x99, 0xd5, 0x67, 0xf4, 0x6a, 0x0f, 0x01, 0x6c, 0x6e, 0x31, 0x74, 0xc4, + 0x80, 0x4a, 0x66, 0xe5, 0x19, 0xbd, 0xe2, 0xdc, 0xc7, 0x82, 0xc6, 0x53, 0x7a, 0xb5, 0x4b, 0xf9, + 0x61, 0xc0, 0xf3, 0x59, 0xa7, 0xfb, 0xf6, 0x73, 0x26, 0xfd, 0xc7, 0xdc, 0x75, 0x6a, 0xbe, 0xfd, + 0xfc, 0x29, 0xbd, 0x92, 0xae, 0x43, 0x65, 0x86, 0x9f, 0x78, 0x23, 0x21, 0xbe, 0x48, 0x05, 0x52, + 0x54, 0x29, 0x73, 0xe1, 0x19, 0xfe, 0x36, 0xfe, 0x38, 0x07, 0x0d, 0x56, 0x7f, 0xdc, 0x79, 0x70, + 0x16, 0x09, 0xff, 0xdf, 0x5c, 0xe4, 0xff, 0xfb, 0x50, 0x30, 0x64, 0xbe, 0x8d, 0xe5, 0xaf, 0xdf, + 0xc6, 0x70, 0x6c, 0xf8, 0x1e, 0xf6, 0x21, 0x54, 0xf9, 0xc4, 0x60, 0xec, 0xa7, 0x10, 0x1b, 0xe0, + 0x58, 0x83, 0xcc, 0x0a, 0x92, 0x3d, 0xe5, 0xbe, 0x84, 0x9a, 0xae, 0x9e, 0x77, 0x71, 0xd5, 0x57, + 0x1a, 0xfa, 0x8c, 0x61, 0x28, 0x5d, 0xe3, 0x4b, 0xa8, 0x2b, 0xc2, 0x17, 0x92, 0x8a, 0x70, 0xc3, + 0x85, 0x0a, 0x1b, 0x6a, 0x6c, 0x6c, 0x46, 0xa6, 0xb9, 0xac, 0x4c, 0x99, 0xb0, 0x63, 0xb3, 0xfd, + 0x8c, 0xf1, 0xe8, 0xbc, 0x10, 0x76, 0xec, 0x80, 0xb2, 0x8c, 0x58, 0xc5, 0x5d, 0xcf, 0x42, 0xcd, + 0xb2, 0xd0, 0xb9, 0x56, 0xcc, 0xaa, 0xeb, 0x1d, 0x71, 0x80, 0xf1, 0x17, 0x72, 0x50, 0xd3, 0xd6, + 0x2c, 0x9a, 0x1a, 0x54, 0x77, 0xf2, 0x05, 0x1e, 0x5f, 0x01, 0xb1, 0xf1, 0xd8, 0xbf, 0x61, 0x36, + 0x46, 0xb1, 0x01, 0xda, 0x12, 0x53, 0x19, 0x53, 0xe6, 0x63, 0xfa, 0x2d, 0xd9, 0x2e, 0x39, 0x7f, + 0xd9, 0xef, 0xed, 0x05, 0x28, 0x32, 0x52, 0xe3, 0x31, 0x2c, 0x6b, 0xd5, 0xe0, 0xfa, 0x9f, 0x57, + 0xed, 0x00, 0xe3, 0xe7, 0x55, 0x62, 0x56, 0x06, 0xb7, 0xdd, 0x4b, 0xb7, 0x4d, 0x3a, 0xe6, 0xfd, + 0x22, 0xdc, 0x43, 0x39, 0x08, 0x7b, 0xe6, 0x15, 0x3d, 0x09, 0x8d, 0x5f, 0xce, 0xc1, 0x8a, 0x96, + 0xfd, 0x9e, 0xe3, 0xda, 0x13, 0xe7, 0xc7, 0xb8, 0x8d, 0x05, 0xce, 0x99, 0x9b, 0x28, 0x80, 0x83, + 0xbe, 0x4e, 0x01, 0xe4, 0x2e, 0xd4, 0xb9, 0x9f, 0x38, 0xbf, 0x6b, 0x20, 0xb6, 0x59, 0x40, 0x98, + 0x69, 0x3f, 0x1f, 0x5e, 0x1a, 0x7f, 0x2d, 0x0f, 0xab, 0xa2, 0x0a, 0xe8, 0xce, 0xef, 0x30, 0x51, + 0xf7, 0x30, 0x38, 0x23, 0x9f, 0x43, 0x83, 0x75, 0x9f, 0xe5, 0xd3, 0x33, 0x27, 0x08, 0xa9, 0x74, + 0x2b, 0xc8, 0xe0, 0xc6, 0x4c, 0x92, 0x61, 0xa4, 0xa6, 0xa0, 0x24, 0x8f, 0xa1, 0x86, 0x49, 0xb9, + 0x0a, 0x4e, 0x8c, 0x55, 0x2b, 0x9d, 0x90, 0x8f, 0xc5, 0xfe, 0x0d, 0x13, 0x82, 0x68, 0x64, 0x1e, + 0x43, 0x0d, 0x87, 0xf9, 0x02, 0xfb, 0x3a, 0xc1, 0xec, 0x52, 0x63, 0xc1, 0x12, 0xcf, 0xa2, 0x91, + 0x69, 0x43, 0x83, 0xb3, 0x3b, 0xd1, 0x93, 0xc2, 0x07, 0x78, 0x33, 0x9d, 0x5c, 0xf6, 0x35, 0xab, + 0xfc, 0x4c, 0xfb, 0xde, 0xae, 0x42, 0x39, 0xf4, 0x9d, 0xb3, 0x33, 0xea, 0x1b, 0xeb, 0xaa, 0x6b, + 0x18, 0x1f, 0xa7, 0x83, 0x90, 0xce, 0xd8, 0x19, 0xc6, 0xf8, 0xe7, 0x39, 0xa8, 0x09, 0xce, 0xfc, + 0x13, 0x7b, 0x2c, 0x6c, 0x26, 0x94, 0xb5, 0x55, 0x4d, 0x37, 0xfb, 0x0e, 0x2c, 0x4d, 0xd9, 0x81, + 0xcb, 0x09, 0xaf, 0xe2, 0xee, 0x0a, 0x8b, 0x12, 0x2c, 0xce, 0x12, 0x5b, 0xb0, 0x82, 0x47, 0x8b, + 0xc0, 0x0a, 0x9d, 0x89, 0x25, 0x91, 0xe2, 0x4e, 0xcb, 0x32, 0x47, 0x0d, 0x9d, 0xc9, 0xa1, 0x40, + 0x30, 0x09, 0x3b, 0x08, 0xed, 0x33, 0x2a, 0xb8, 0x03, 0xff, 0x60, 0x87, 0xb8, 0x84, 0x2e, 0x40, + 0x1e, 0xe2, 0xfe, 0xcf, 0x32, 0x6c, 0xa4, 0x50, 0xe2, 0x10, 0xa7, 0xac, 0xc3, 0x13, 0x67, 0x7a, + 0xe2, 0x29, 0xeb, 0x44, 0x4e, 0xb3, 0x0e, 0x1f, 0x30, 0x8c, 0xb4, 0x4e, 0x50, 0x58, 0x93, 0x53, + 0x16, 0xcd, 0x0b, 0x4a, 0x5d, 0x90, 0xc7, 0xc3, 0xec, 0x87, 0xf1, 0x6d, 0x30, 0x59, 0x9c, 0x84, + 0xeb, 0x72, 0xe1, 0xca, 0x2c, 0x05, 0x0b, 0xc8, 0x9f, 0x85, 0x96, 0x5a, 0x19, 0xe2, 0x6c, 0xa3, + 0xe9, 0x3e, 0x58, 0x49, 0xef, 0xbd, 0xa4, 0xa4, 0x98, 0xde, 0x17, 0x45, 0xaf, 0x75, 0xb9, 0xa8, + 0x78, 0x86, 0xaa, 0xac, 0x0b, 0x78, 0x5d, 0x96, 0x85, 0x67, 0x95, 0x74, 0x89, 0xc5, 0x57, 0x6a, + 0x1b, 0xea, 0xb4, 0x63, 0xc5, 0x9a, 0xb7, 0x44, 0xc6, 0x0a, 0xa5, 0x97, 0x7b, 0x0e, 0xeb, 0xcf, + 0x6d, 0x27, 0x94, 0x6d, 0xd4, 0x54, 0x2f, 0x25, 0x2c, 0xef, 0xe1, 0x4b, 0xca, 0xfb, 0x92, 0x27, + 0x8e, 0x9d, 0xde, 0x56, 0x9f, 0xa7, 0x81, 0xc1, 0xe6, 0xdf, 0x29, 0xc0, 0x62, 0x3c, 0x17, 0xc6, + 0x7a, 0xc4, 0x76, 0x25, 0x05, 0x69, 0x71, 0x02, 0x10, 0x96, 0xb3, 0x1e, 0x17, 0xa0, 0xd3, 0x36, + 0xbd, 0x7c, 0x86, 0x4d, 0x4f, 0x37, 0xa5, 0x15, 0x5e, 0xe6, 0x59, 0x51, 0x7c, 0x25, 0xcf, 0x8a, + 0x52, 0x96, 0x67, 0xc5, 0x47, 0xd7, 0x9a, 0xe2, 0xb9, 0x42, 0x3c, 0xd3, 0x0c, 0xff, 0xe8, 0x7a, + 0x33, 0x3c, 0xd7, 0x95, 0x5f, 0x67, 0x82, 0xd7, 0x1c, 0x08, 0x2a, 0xd7, 0x18, 0xc0, 0x34, 0x97, + 0x82, 0x0c, 0x13, 0x7c, 0xf5, 0x6b, 0x98, 0xe0, 0x37, 0xff, 0x38, 0x07, 0x24, 0xbd, 0x3a, 0xc8, + 0x13, 0x6e, 0x2e, 0x75, 0xe9, 0x44, 0x70, 0xee, 0xf7, 0x5f, 0x6d, 0x85, 0xc9, 0x09, 0x21, 0x53, + 0x93, 0x0f, 0x60, 0x45, 0xbf, 0x79, 0xa7, 0xab, 0x36, 0x1a, 0x26, 0xd1, 0x51, 0x91, 0x92, 0x4e, + 0x73, 0x63, 0x29, 0xbe, 0xd4, 0x8d, 0xa5, 0xf4, 0x52, 0x37, 0x96, 0x85, 0xb8, 0x1b, 0xcb, 0xe6, + 0xbf, 0xca, 0xc1, 0x4a, 0xc6, 0x24, 0xfe, 0xe6, 0xda, 0xcc, 0xe6, 0x5e, 0x8c, 0xad, 0xe5, 0xc5, + 0xdc, 0xd3, 0x39, 0xda, 0x81, 0x54, 0xec, 0xb2, 0xa1, 0x08, 0xc4, 0x4e, 0x75, 0xff, 0x65, 0xdc, + 0x25, 0x4a, 0x61, 0xea, 0xc9, 0x37, 0xff, 0x6e, 0x1e, 0x6a, 0x1a, 0x92, 0xf5, 0x22, 0x9f, 0xb2, + 0x9a, 0x83, 0x27, 0x97, 0x2d, 0x51, 0x31, 0x83, 0xd7, 0x04, 0x70, 0x72, 0x22, 0x9e, 0x2f, 0x2e, + 0x21, 0x48, 0x22, 0xc1, 0x16, 0xac, 0x48, 0x53, 0x36, 0x8d, 0x1c, 0xe0, 0xc5, 0x5e, 0x23, 0xbc, + 0x12, 0x44, 0x25, 0x91, 0xfe, 0x03, 0x79, 0xce, 0x8d, 0xc6, 0x4e, 0x33, 0x0d, 0x2e, 0x0b, 0x7f, + 0x08, 0x31, 0x88, 0x6c, 0x9e, 0x7f, 0x08, 0x6b, 0xca, 0x21, 0x22, 0x96, 0x82, 0x1b, 0xa0, 0x88, + 0x74, 0x7c, 0xd0, 0x92, 0x7c, 0x0f, 0x6e, 0x27, 0xea, 0x94, 0x48, 0xca, 0x35, 0x2d, 0x37, 0x63, + 0xb5, 0xd3, 0x73, 0xd8, 0xfc, 0x73, 0xd0, 0x88, 0x31, 0xca, 0x6f, 0x6e, 0xc8, 0x93, 0xca, 0x30, + 0xde, 0xa3, 0xba, 0x32, 0x6c, 0xf3, 0x7f, 0x14, 0x80, 0xa4, 0x79, 0xf5, 0x4f, 0xb3, 0x0a, 0xe9, + 0x89, 0x59, 0xc8, 0x98, 0x98, 0xff, 0xdf, 0xe4, 0x87, 0x48, 0x27, 0xab, 0xf9, 0x23, 0xf0, 0xc5, + 0xd9, 0x54, 0x08, 0x59, 0x8b, 0x4f, 0x93, 0x5e, 0x5b, 0x95, 0xd8, 0xe5, 0x51, 0x4d, 0x80, 0x4a, + 0x38, 0x6f, 0x1d, 0xc3, 0x82, 0xed, 0x8e, 0xce, 0x3d, 0x5f, 0xf0, 0xc1, 0x9f, 0xf9, 0xda, 0xdb, + 0xe7, 0x56, 0x1b, 0xd3, 0xa3, 0xd4, 0x66, 0x8a, 0xcc, 0x8c, 0x0f, 0xa1, 0xa6, 0x81, 0x49, 0x15, + 0x4a, 0x07, 0xdd, 0xc3, 0xed, 0x7e, 0xf3, 0x06, 0x69, 0x40, 0xd5, 0xec, 0xec, 0xf4, 0xbf, 0xe8, + 0x98, 0x9d, 0xdd, 0x66, 0x8e, 0x54, 0xa0, 0x78, 0xd0, 0x1f, 0x0c, 0x9b, 0x79, 0x63, 0x13, 0x5a, + 0x22, 0xc7, 0xb4, 0x75, 0xea, 0x37, 0x8b, 0x4a, 0xa7, 0x8a, 0x48, 0x71, 0xc8, 0xff, 0x08, 0xea, + 0xba, 0x78, 0x23, 0x66, 0x44, 0xc2, 0x25, 0x86, 0x1d, 0xef, 0x3d, 0x8d, 0x57, 0xef, 0x00, 0x77, + 0x88, 0x18, 0xab, 0x64, 0xf9, 0x98, 0xdc, 0x9a, 0x61, 0x59, 0xc6, 0xf3, 0x51, 0x6c, 0x1a, 0xfe, + 0x19, 0x58, 0x8c, 0x5b, 0x62, 0x04, 0x47, 0xca, 0x3a, 0xb2, 0xb2, 0xd4, 0x31, 0xd3, 0x0c, 0xf9, + 0x1e, 0x34, 0x93, 0x96, 0x1c, 0x21, 0x3c, 0x5f, 0x93, 0x7e, 0xc9, 0x89, 0x1b, 0x77, 0xc8, 0x3e, + 0xac, 0x66, 0x09, 0x78, 0x38, 0x3f, 0xae, 0x57, 0x73, 0x90, 0xb4, 0x10, 0x47, 0x3e, 0x13, 0x16, + 0xbd, 0x12, 0x0e, 0xff, 0x5b, 0xf1, 0xf2, 0xb5, 0xce, 0xde, 0xe2, 0xff, 0x34, 0xdb, 0xde, 0x05, + 0x40, 0x04, 0x23, 0x4d, 0xa8, 0xf7, 0x8f, 0x3a, 0x3d, 0x6b, 0x67, 0xbf, 0xdd, 0xeb, 0x75, 0x0e, + 0x9a, 0x37, 0x08, 0x81, 0x45, 0xf4, 0xea, 0xd8, 0x55, 0xb0, 0x1c, 0x83, 0x09, 0x53, 0xab, 0x84, + 0xe5, 0xc9, 0x2a, 0x34, 0xbb, 0xbd, 0x04, 0xb4, 0x40, 0x5a, 0xb0, 0x7a, 0xd4, 0xe1, 0x8e, 0x20, + 0xb1, 0x7c, 0x8b, 0xec, 0xd0, 0x20, 0x9a, 0xcb, 0x0e, 0x0d, 0x5f, 0xda, 0x93, 0x09, 0x0d, 0xc5, + 0x3a, 0x90, 0xb2, 0xf4, 0x5f, 0xcf, 0xc1, 0x5a, 0x02, 0x11, 0x99, 0x43, 0xb8, 0x24, 0x1d, 0x97, + 0xa1, 0xeb, 0x08, 0x94, 0xab, 0xe9, 0x5d, 0x58, 0x56, 0xda, 0xb4, 0xc4, 0xae, 0xd4, 0x54, 0x08, + 0x49, 0xfc, 0x01, 0xac, 0x68, 0x4a, 0xb9, 0x04, 0xaf, 0x20, 0x1a, 0x4a, 0x24, 0x30, 0xb6, 0x60, + 0x41, 0x28, 0x2f, 0x9b, 0x50, 0x90, 0x37, 0x72, 0x8a, 0x26, 0xfb, 0x49, 0x08, 0x14, 0xa7, 0x91, + 0x3f, 0x31, 0xfe, 0x36, 0x36, 0xd4, 0xdd, 0xba, 0x44, 0x2b, 0x7f, 0xb9, 0x08, 0xeb, 0x49, 0x8c, + 0xf2, 0xb0, 0x2f, 0xc7, 0x1a, 0xc8, 0x0d, 0x63, 0x02, 0x44, 0x3e, 0x4e, 0xcc, 0x9e, 0x58, 0x13, + 0x91, 0x54, 0x9f, 0x29, 0xb2, 0xa1, 0x0f, 0x93, 0x32, 0x22, 0x9f, 0xf2, 0x0d, 0x79, 0xab, 0x00, + 0xdb, 0x94, 0x10, 0x19, 0x3f, 0x4e, 0x89, 0x8c, 0xc5, 0xac, 0x44, 0x09, 0x09, 0xb2, 0x03, 0x1b, + 0x91, 0xe7, 0x6c, 0xbc, 0xcc, 0x52, 0x56, 0xf2, 0x35, 0x45, 0x7d, 0xa0, 0x17, 0xfe, 0x04, 0x5a, + 0x51, 0x36, 0x89, 0x6a, 0x2c, 0x64, 0xe5, 0xb3, 0xae, 0xc8, 0xcd, 0x58, 0x7d, 0xbe, 0x0f, 0x9b, + 0xb1, 0xfe, 0x8a, 0x57, 0xa9, 0x9c, 0x95, 0xd5, 0x86, 0xd6, 0x81, 0xb1, 0x4a, 0x1d, 0xc0, 0xad, + 0x58, 0x5e, 0x89, 0x7a, 0x55, 0xb2, 0x32, 0x6b, 0x69, 0x99, 0xc5, 0x6a, 0x66, 0xfc, 0xf6, 0x02, + 0x90, 0x1f, 0xcc, 0xa9, 0x7f, 0x85, 0x37, 0x6e, 0x83, 0x97, 0x5d, 0x09, 0x90, 0x8a, 0xb7, 0xfc, + 0x2b, 0x5d, 0xbc, 0xcf, 0xba, 0xf8, 0x5e, 0x7c, 0xf9, 0xc5, 0xf7, 0xd2, 0xcb, 0x2e, 0xbe, 0xbf, + 0x09, 0x0d, 0xe7, 0xcc, 0xf5, 0xd8, 0xbe, 0xc6, 0x8e, 0x35, 0x41, 0x6b, 0xe1, 0x6e, 0xe1, 0x5e, + 0xdd, 0xac, 0x0b, 0x20, 0x3b, 0xd4, 0x04, 0xe4, 0x71, 0x44, 0x44, 0xc7, 0x67, 0x18, 0xfc, 0x41, + 0xdf, 0xd1, 0x3a, 0xe3, 0x33, 0x2a, 0xf4, 0x8c, 0x38, 0x61, 0x65, 0x62, 0x06, 0x0f, 0xc8, 0x5b, + 0xb0, 0x18, 0x78, 0x73, 0x76, 0x4a, 0x94, 0xdd, 0xc0, 0xcd, 0xd7, 0x75, 0x0e, 0x3d, 0x92, 0xce, + 0x0c, 0x2b, 0xf3, 0x80, 0x5a, 0x53, 0x27, 0x08, 0x98, 0xac, 0x3d, 0xf2, 0xdc, 0xd0, 0xf7, 0x26, + 0xc2, 0x22, 0xbd, 0x3c, 0x0f, 0xe8, 0x21, 0xc7, 0xec, 0x70, 0x04, 0xf9, 0x38, 0xaa, 0xd2, 0xcc, + 0x76, 0xfc, 0xa0, 0x05, 0x58, 0x25, 0xd9, 0x52, 0x3c, 0x8c, 0xd9, 0x8e, 0xaf, 0xea, 0xc2, 0x3e, + 0x82, 0xc4, 0x85, 0xfc, 0x5a, 0xf2, 0x42, 0xfe, 0x2f, 0x65, 0x5f, 0xc8, 0xe7, 0x5e, 0x79, 0x0f, + 0x44, 0xd6, 0xe9, 0x21, 0xfe, 0x5a, 0xf7, 0xf2, 0xd3, 0x71, 0x06, 0x16, 0xbf, 0x4e, 0x9c, 0x81, + 0xa5, 0xac, 0x38, 0x03, 0x1f, 0x42, 0x0d, 0xaf, 0x77, 0x5b, 0xe7, 0xe8, 0x9b, 0xcb, 0x2d, 0xec, + 0x4d, 0xfd, 0xfe, 0xf7, 0xbe, 0xe3, 0x86, 0x26, 0xf8, 0xf2, 0x67, 0x90, 0xbe, 0xf2, 0xbf, 0xfc, + 0x4a, 0x57, 0xfe, 0xbf, 0x99, 0xfb, 0xfc, 0xe2, 0x1a, 0xfa, 0x16, 0x54, 0xe4, 0x38, 0x31, 0x66, + 0x7b, 0xea, 0x7b, 0x53, 0x69, 0xad, 0x63, 0xbf, 0xc9, 0x22, 0xe4, 0x43, 0x4f, 0x24, 0xce, 0x87, + 0x9e, 0xf1, 0x0b, 0x50, 0xd3, 0xa6, 0x1a, 0x79, 0x83, 0xab, 0xa9, 0xd9, 0x41, 0x5b, 0x1c, 0x14, + 0x78, 0x2f, 0x56, 0x05, 0xb4, 0x3b, 0x66, 0x9b, 0xc7, 0xd8, 0xf1, 0x29, 0x06, 0xe7, 0xb0, 0x7c, + 0x7a, 0x41, 0xfd, 0x40, 0x5a, 0x59, 0x9b, 0x0a, 0x61, 0x72, 0xb8, 0xf1, 0x8b, 0xb0, 0x12, 0x1b, + 0x5b, 0xc1, 0xbe, 0xdf, 0x82, 0x05, 0xec, 0x37, 0xe9, 0xca, 0x13, 0xbf, 0x57, 0x2f, 0x70, 0x18, + 0x88, 0x84, 0x1b, 0x88, 0xad, 0x99, 0xef, 0x9d, 0x60, 0x21, 0x39, 0xb3, 0x26, 0x60, 0x47, 0xbe, + 0x77, 0x62, 0xfc, 0x87, 0x02, 0x14, 0xf6, 0xbd, 0x99, 0xee, 0xcf, 0x9b, 0x4b, 0xf9, 0xf3, 0x0a, + 0xed, 0x81, 0xa5, 0xb4, 0x03, 0xe2, 0x00, 0x86, 0x26, 0x4f, 0xa9, 0x21, 0xb8, 0x07, 0x8b, 0x8c, + 0x4f, 0x84, 0x9e, 0x25, 0xee, 0xd1, 0xf0, 0x1d, 0x8e, 0x2f, 0x3e, 0x7b, 0x1a, 0x0e, 0xbd, 0x3d, + 0x0e, 0x27, 0xab, 0x50, 0x50, 0x67, 0x51, 0x44, 0xb3, 0x4f, 0xb2, 0x0e, 0x0b, 0x78, 0xff, 0x47, + 0x5e, 0xc2, 0x16, 0x5f, 0xe4, 0x7d, 0x58, 0x89, 0xe7, 0xcb, 0x59, 0x91, 0x10, 0x74, 0xf5, 0x8c, + 0x91, 0x27, 0xdd, 0x04, 0xc6, 0x47, 0xa2, 0x6b, 0xd8, 0x05, 0xb3, 0x7c, 0x4a, 0x29, 0xa2, 0x34, + 0xa6, 0x57, 0x89, 0x31, 0xbd, 0x3b, 0x50, 0x0b, 0x27, 0x17, 0xd6, 0xcc, 0xbe, 0x9a, 0x78, 0xb6, + 0xbc, 0xf4, 0x07, 0xe1, 0xe4, 0xe2, 0x88, 0x43, 0xc8, 0x07, 0x00, 0xd3, 0xd9, 0x4c, 0xac, 0x3d, + 0x34, 0xcf, 0x45, 0x53, 0xf9, 0xf0, 0xe8, 0x88, 0x4f, 0x39, 0xb3, 0x3a, 0x9d, 0xcd, 0xf8, 0x4f, + 0xb2, 0x0b, 0x8b, 0x99, 0x01, 0x34, 0x6e, 0xcb, 0x5b, 0x12, 0xde, 0x6c, 0x2b, 0x63, 0x71, 0x36, + 0x46, 0x3a, 0x6c, 0xf3, 0x7b, 0x40, 0xfe, 0x94, 0x31, 0x2a, 0x86, 0x50, 0x55, 0xf5, 0x4b, 0x45, + 0xc6, 0xa8, 0xa5, 0x22, 0x63, 0x30, 0xbe, 0xc8, 0xa5, 0x1f, 0xc5, 0xf2, 0x41, 0x13, 0x7f, 0xc4, + 0xfd, 0x22, 0xe3, 0x3f, 0xe7, 0xa0, 0xc4, 0xe3, 0x4d, 0xbc, 0x0d, 0x4b, 0x9c, 0x5e, 0xf9, 0x46, + 0x0b, 0x07, 0x16, 0x2e, 0x44, 0x0d, 0x85, 0x5b, 0x34, 0x5b, 0x16, 0x5a, 0x98, 0x9e, 0x48, 0x8c, + 0xd0, 0x42, 0xf5, 0xdc, 0x81, 0xaa, 0x2a, 0x5a, 0x9b, 0x3a, 0x15, 0x59, 0x32, 0x79, 0x1d, 0x8a, + 0xe7, 0xde, 0x4c, 0xaa, 0xf1, 0x20, 0xea, 0x49, 0x13, 0xe1, 0x51, 0x5d, 0x58, 0x19, 0xd1, 0xbd, + 0xa7, 0x82, 0xa8, 0x0b, 0x2b, 0x44, 0xde, 0xc2, 0x4f, 0xb4, 0x71, 0x21, 0xa3, 0x8d, 0xc7, 0xb0, + 0xc4, 0xf8, 0x80, 0xe6, 0x45, 0x73, 0xfd, 0xa6, 0xf9, 0x6d, 0x26, 0xae, 0x8f, 0x26, 0xf3, 0x31, + 0xd5, 0x15, 0xa9, 0xe8, 0xe8, 0x2a, 0xe0, 0xf2, 0x98, 0x64, 0xfc, 0x76, 0x8e, 0xf3, 0x17, 0x96, + 0x2f, 0xb9, 0x07, 0x45, 0x57, 0x7a, 0xdc, 0x44, 0x42, 0xb9, 0xba, 0x23, 0xc8, 0xe8, 0x4c, 0xa4, + 0x60, 0x43, 0x87, 0x7e, 0x2a, 0x7a, 0xee, 0x0d, 0xb3, 0xe6, 0xce, 0xa7, 0x4a, 0x0f, 0xf9, 0x2d, + 0xd9, 0xac, 0x84, 0x0e, 0x8f, 0xb7, 0x5e, 0x2d, 0xd3, 0x2d, 0xcd, 0x63, 0xb6, 0x18, 0xdb, 0x31, + 0xa5, 0x48, 0x3f, 0x3e, 0xa3, 0x9a, 0xa7, 0xec, 0xef, 0xe5, 0xa1, 0x11, 0xab, 0x11, 0xba, 0x0c, + 0xb3, 0x0d, 0x80, 0xdb, 0x19, 0xc5, 0x78, 0xa3, 0x67, 0xa6, 0x38, 0x75, 0x69, 0xfd, 0x94, 0x8f, + 0xf5, 0x93, 0x72, 0x99, 0x2b, 0xe8, 0x2e, 0x73, 0x0f, 0xa0, 0x1a, 0x85, 0x67, 0x8a, 0x57, 0x89, + 0x95, 0x27, 0x6f, 0x4a, 0x46, 0x44, 0x91, 0x93, 0x5d, 0x49, 0x77, 0xb2, 0xfb, 0xae, 0xe6, 0x93, + 0xb5, 0x80, 0xd9, 0x18, 0x59, 0x3d, 0xfa, 0x53, 0xf1, 0xc8, 0x32, 0x1e, 0x43, 0x4d, 0xab, 0xbc, + 0xee, 0xd7, 0x94, 0x8b, 0xf9, 0x35, 0xa9, 0xbb, 0xd5, 0xf9, 0xe8, 0x6e, 0xb5, 0xf1, 0xab, 0x79, + 0x68, 0xb0, 0xf5, 0xe5, 0xb8, 0x67, 0x47, 0xde, 0xc4, 0x19, 0xa1, 0xdd, 0x51, 0xad, 0x30, 0x21, + 0x68, 0xc9, 0x75, 0x26, 0x96, 0x18, 0x97, 0xb3, 0xf4, 0x80, 0x20, 0x9c, 0x49, 0xab, 0x80, 0x20, + 0x06, 0x34, 0x18, 0x63, 0x44, 0x0b, 0x62, 0x14, 0xe4, 0xc9, 0xac, 0x9d, 0x52, 0xba, 0x6d, 0x07, + 0x9c, 0x43, 0xbe, 0x0f, 0x2b, 0x8c, 0x06, 0x6f, 0xfb, 0x4f, 0x9d, 0xc9, 0xc4, 0x89, 0x2e, 0x1a, + 0x16, 0xcc, 0xe6, 0x29, 0xa5, 0xa6, 0x1d, 0xd2, 0x43, 0x86, 0x10, 0x31, 0xa1, 0x2a, 0x63, 0x27, + 0xb0, 0x4f, 0x22, 0xc7, 0x6e, 0xf5, 0x2d, 0x0d, 0xf3, 0x91, 0xef, 0x83, 0xf0, 0xdb, 0x11, 0xa1, + 0x2e, 0x30, 0x7d, 0x62, 0x26, 0x95, 0x93, 0x33, 0xc9, 0xf8, 0x47, 0x79, 0xa8, 0x69, 0xd3, 0xf2, + 0x55, 0x76, 0xd7, 0xdb, 0x29, 0x3b, 0x71, 0x55, 0x37, 0x09, 0xbf, 0x19, 0x2f, 0xb2, 0xa0, 0x6e, + 0xa3, 0xe9, 0x13, 0xf8, 0x16, 0x54, 0xd9, 0xaa, 0xfb, 0x10, 0xf5, 0xe9, 0x22, 0x26, 0x1b, 0x02, + 0x8e, 0xe6, 0x27, 0x12, 0xf9, 0x10, 0x91, 0xa5, 0x08, 0xf9, 0x90, 0x21, 0x5f, 0x74, 0x1b, 0xe5, + 0x53, 0xa8, 0x8b, 0x5c, 0x71, 0x4c, 0xc5, 0xb1, 0x60, 0x55, 0xdb, 0xb9, 0xd5, 0x78, 0x9b, 0x35, + 0x5e, 0x1c, 0x1f, 0x7c, 0x91, 0xf0, 0xa1, 0x4c, 0x58, 0x79, 0x59, 0xc2, 0x87, 0xfc, 0xc3, 0xd8, + 0x53, 0x17, 0x7c, 0xd0, 0x1b, 0x52, 0xf2, 0xb1, 0x0f, 0x60, 0x45, 0xb2, 0xab, 0xb9, 0x6b, 0xbb, + 0xae, 0x37, 0x77, 0x47, 0x54, 0x5e, 0x76, 0x26, 0x02, 0x75, 0x1c, 0x61, 0x8c, 0xb1, 0x0a, 0x23, + 0xc2, 0xbd, 0x2a, 0xef, 0x43, 0x89, 0xcb, 0xe5, 0x5c, 0xf8, 0xc8, 0x66, 0x5c, 0x9c, 0x84, 0xdc, + 0x83, 0x12, 0x17, 0xcf, 0xf3, 0xd7, 0x32, 0x1b, 0x4e, 0x60, 0xb4, 0x81, 0xb0, 0x84, 0x87, 0x34, + 0xf4, 0x9d, 0x51, 0x10, 0xdd, 0xa3, 0x2e, 0x85, 0x57, 0x33, 0x51, 0x56, 0xa4, 0x86, 0x8f, 0x28, + 0x51, 0xe1, 0xc0, 0x69, 0xd8, 0xc6, 0xb4, 0x12, 0xcb, 0x43, 0x88, 0x4b, 0x13, 0x58, 0x3f, 0xa1, + 0xe1, 0x73, 0x4a, 0x5d, 0x97, 0x09, 0x43, 0x23, 0xea, 0x86, 0xbe, 0x3d, 0x61, 0x83, 0xc4, 0x5b, + 0xf0, 0x28, 0x95, 0x6b, 0xa4, 0xd0, 0xda, 0x8e, 0x12, 0xee, 0xa8, 0x74, 0x9c, 0x77, 0xac, 0x9d, + 0x64, 0xe1, 0x36, 0x7f, 0x1e, 0x36, 0xaf, 0x4f, 0x94, 0x11, 0xb5, 0xe1, 0x5e, 0x9c, 0xab, 0x28, + 0xa3, 0xee, 0xc4, 0xb3, 0x43, 0x5e, 0x1b, 0x9d, 0xb3, 0xf4, 0xa0, 0xa6, 0x61, 0xa2, 0xbd, 0x3f, + 0x87, 0xc2, 0x1d, 0xff, 0x60, 0x3b, 0x92, 0xeb, 0xf9, 0x53, 0x34, 0xa2, 0x8e, 0xad, 0x28, 0xf7, + 0x9c, 0xb9, 0x14, 0xc1, 0xd1, 0xef, 0xc6, 0xd8, 0x82, 0x25, 0x94, 0xec, 0xb5, 0x8d, 0xee, 0x45, + 0xc2, 0xa0, 0xb1, 0x0a, 0xa4, 0xc7, 0x79, 0x97, 0xee, 0x61, 0xfa, 0x07, 0x05, 0xa8, 0x69, 0x60, + 0xb6, 0x1b, 0xa1, 0x5b, 0xae, 0x35, 0x76, 0xec, 0x29, 0x95, 0x16, 0xeb, 0x86, 0xd9, 0x40, 0xe8, + 0xae, 0x00, 0xb2, 0xbd, 0xd8, 0xbe, 0x38, 0xb3, 0xbc, 0x79, 0x68, 0x8d, 0xe9, 0x99, 0x4f, 0x65, + 0x2d, 0xeb, 0xf6, 0xc5, 0x59, 0x7f, 0x1e, 0xee, 0x22, 0x4c, 0xc6, 0xcd, 0xd1, 0xa8, 0x0a, 0x2a, + 0x6e, 0x4e, 0x44, 0x25, 0xdc, 0x99, 0xf9, 0xcc, 0x2c, 0x2a, 0x77, 0x66, 0x7e, 0x5a, 0x4c, 0x6e, + 0xa0, 0xa5, 0xf4, 0x06, 0xfa, 0x31, 0xac, 0xf3, 0x0d, 0x54, 0xb0, 0x66, 0x2b, 0xb1, 0x92, 0x57, + 0x11, 0x2b, 0x1a, 0xa9, 0x89, 0xbd, 0x4d, 0xd6, 0x02, 0xc9, 0x96, 0x02, 0xe7, 0xc7, 0x9c, 0x91, + 0xe5, 0x4c, 0xd6, 0x32, 0x91, 0xf9, 0xc0, 0xf9, 0x31, 0x95, 0x71, 0x7b, 0x62, 0x94, 0xe2, 0xae, + 0xd9, 0xd4, 0x71, 0x93, 0x94, 0xf6, 0x65, 0x9c, 0xb2, 0x2a, 0x28, 0xed, 0x4b, 0x9d, 0xf2, 0x11, + 0x6c, 0x4c, 0xe9, 0xd8, 0xb1, 0xe3, 0xd9, 0x5a, 0x91, 0xe0, 0xb6, 0xca, 0xd1, 0x5a, 0x9a, 0x01, + 0x3f, 0xb8, 0xb3, 0xde, 0xf8, 0xb1, 0x37, 0x3d, 0x71, 0xb8, 0xcc, 0xc2, 0x3d, 0xca, 0x8a, 0xe6, + 0xa2, 0x3b, 0x9f, 0xfe, 0x10, 0xc1, 0x2c, 0x49, 0x60, 0x34, 0xa0, 0x36, 0x08, 0xbd, 0x99, 0x1c, + 0xe6, 0x45, 0xa8, 0xf3, 0x4f, 0x11, 0x27, 0xe0, 0x16, 0xdc, 0x44, 0x96, 0x30, 0xf4, 0x66, 0xde, + 0xc4, 0x3b, 0xbb, 0x8a, 0x29, 0x65, 0xff, 0x45, 0x0e, 0x56, 0x62, 0x58, 0xc1, 0x5e, 0x3f, 0xe6, + 0xfc, 0x4c, 0xdd, 0x31, 0xce, 0xc5, 0x2e, 0x98, 0xb1, 0xf1, 0xe2, 0x84, 0x9c, 0x99, 0xc9, 0x7b, + 0xc7, 0xed, 0x28, 0x28, 0x96, 0x4c, 0xc8, 0x59, 0x4a, 0x2b, 0xcd, 0x52, 0x44, 0x7a, 0x19, 0x2e, + 0x4b, 0x66, 0xf1, 0x33, 0xe2, 0x3e, 0xe0, 0x58, 0x34, 0xb9, 0x10, 0xbf, 0x31, 0xa4, 0x2b, 0x70, + 0x65, 0x0d, 0x22, 0xad, 0x6e, 0x60, 0xfc, 0x4e, 0x1e, 0x20, 0xaa, 0x1d, 0xde, 0x59, 0x52, 0x72, + 0x4b, 0x0e, 0x9d, 0xc3, 0x35, 0x19, 0xe5, 0x0d, 0xa8, 0xab, 0x7b, 0x04, 0x91, 0x24, 0x54, 0x93, + 0x30, 0x26, 0x0e, 0xbd, 0x0b, 0x4b, 0x67, 0x13, 0xef, 0x04, 0x25, 0x56, 0x21, 0xb7, 0xa0, 0x4b, + 0x08, 0xee, 0x47, 0x8b, 0x1c, 0xa5, 0xc2, 0xda, 0x29, 0xd9, 0xa9, 0x98, 0x79, 0xdd, 0x20, 0x26, + 0x09, 0x3d, 0x4e, 0x49, 0x42, 0x77, 0x52, 0x9d, 0xfb, 0xd3, 0x11, 0x83, 0xfe, 0x72, 0x5e, 0xb9, + 0x4e, 0x47, 0xe3, 0xf2, 0xe2, 0xc3, 0xe6, 0x4f, 0xe2, 0xe8, 0xf5, 0x22, 0xcb, 0xf5, 0x63, 0x58, + 0xf4, 0xf9, 0x16, 0x29, 0xf7, 0xcf, 0xe2, 0x0b, 0xf6, 0xcf, 0x86, 0x1f, 0x93, 0xbb, 0xbe, 0x0d, + 0x4d, 0x7b, 0x7c, 0x41, 0xfd, 0xd0, 0x41, 0x43, 0x10, 0x4a, 0xeb, 0xc2, 0x51, 0x59, 0x83, 0xa3, + 0x58, 0xfc, 0x0e, 0x2c, 0x89, 0x48, 0x1a, 0x8a, 0x52, 0x84, 0x8b, 0x8c, 0xc0, 0x8c, 0xd0, 0xf8, + 0x07, 0xd2, 0x57, 0x3b, 0x3e, 0xd7, 0x5e, 0xdc, 0x2b, 0x7a, 0x0b, 0xf3, 0x69, 0xdb, 0xbc, 0x98, + 0xd6, 0xc2, 0xbe, 0x24, 0xb8, 0x23, 0x07, 0x0a, 0xeb, 0x52, 0xbc, 0x5b, 0x8b, 0xaf, 0xd2, 0xad, + 0xc6, 0xbf, 0xcc, 0x41, 0x79, 0xdf, 0x9b, 0xed, 0x3b, 0xfc, 0xc6, 0x0f, 0x2e, 0x5a, 0x65, 0xfe, + 0x5c, 0x60, 0x9f, 0xe8, 0x95, 0xf6, 0x82, 0x9b, 0xc0, 0x99, 0x42, 0x67, 0x23, 0x2e, 0x74, 0x7e, + 0x17, 0x6e, 0xa1, 0x75, 0xd9, 0xf7, 0x66, 0x9e, 0xcf, 0x18, 0x87, 0x3d, 0xe1, 0xc2, 0xa7, 0xe7, + 0x86, 0xe7, 0x92, 0x93, 0xdf, 0x3c, 0xa5, 0xf4, 0x48, 0xa3, 0x38, 0x54, 0x04, 0x18, 0x05, 0x60, + 0x12, 0x5e, 0x58, 0x5c, 0x5f, 0x20, 0xa4, 0x63, 0xce, 0xdf, 0x97, 0x18, 0xa2, 0x83, 0x70, 0x94, + 0x8f, 0x8d, 0xcf, 0xa0, 0xaa, 0x54, 0x4f, 0xe4, 0x5d, 0xa8, 0x9e, 0x7b, 0x33, 0xa1, 0x9f, 0xca, + 0xc5, 0x6e, 0x4b, 0x8b, 0x56, 0x9b, 0x95, 0x73, 0xfe, 0x23, 0x30, 0xfe, 0x6f, 0x19, 0xca, 0x5d, + 0xf7, 0xc2, 0x73, 0x46, 0xe8, 0xc5, 0x3d, 0xa5, 0x53, 0x4f, 0x06, 0xfa, 0x61, 0xbf, 0xd1, 0x71, + 0x30, 0x8a, 0xe8, 0x58, 0x10, 0x8e, 0x83, 0x2a, 0x96, 0xe3, 0x1a, 0x2c, 0xf8, 0x7a, 0x48, 0xc6, + 0x92, 0x8f, 0x77, 0x64, 0xd4, 0xee, 0x5d, 0xd2, 0x02, 0x36, 0xb1, 0xbc, 0xb8, 0xe3, 0x2c, 0x76, + 0x19, 0xbf, 0xc9, 0x5f, 0x45, 0x08, 0x76, 0xd8, 0x6b, 0x50, 0x16, 0x5a, 0x68, 0x7e, 0x55, 0x92, + 0xeb, 0xee, 0x05, 0x08, 0x67, 0x83, 0x4f, 0xb9, 0x77, 0x80, 0x12, 0xab, 0x0b, 0x66, 0x5d, 0x02, + 0x77, 0x6d, 0xee, 0x9a, 0xcd, 0xe9, 0x39, 0x09, 0xdf, 0x86, 0x80, 0x83, 0x90, 0x20, 0x23, 0xf8, + 0x69, 0x35, 0x33, 0xf8, 0x29, 0xba, 0xf2, 0x2b, 0x9e, 0xcf, 0x9b, 0x08, 0x3c, 0x9e, 0xa5, 0x06, + 0x97, 0x11, 0x85, 0x85, 0x86, 0x87, 0x07, 0xb9, 0x90, 0x1a, 0x9e, 0x37, 0xa1, 0x71, 0x6a, 0x4f, + 0x26, 0x27, 0xf6, 0xe8, 0x19, 0x57, 0x4c, 0xd4, 0xb9, 0x2e, 0x56, 0x02, 0x51, 0x33, 0x71, 0x07, + 0x6a, 0xda, 0x28, 0xa3, 0xc7, 0x72, 0xd1, 0x84, 0x68, 0x7c, 0x93, 0xfa, 0xc6, 0xc5, 0x57, 0xd0, + 0x37, 0x6a, 0x9e, 0xdb, 0x4b, 0x71, 0xcf, 0xed, 0x5b, 0xc8, 0xdb, 0x85, 0x3f, 0x6c, 0x93, 0x07, + 0x4f, 0xb4, 0xc7, 0x63, 0x1e, 0x76, 0xe6, 0x0d, 0xa8, 0x8b, 0xce, 0xe3, 0xf8, 0x65, 0xe1, 0xfa, + 0x8e, 0x30, 0x4e, 0x72, 0x9b, 0x2b, 0xcd, 0x67, 0xb6, 0x33, 0xc6, 0x8b, 0x49, 0xc2, 0xbe, 0x62, + 0x4f, 0xc3, 0x23, 0xdb, 0x41, 0x4f, 0x40, 0x89, 0xc6, 0xbd, 0x7a, 0x85, 0xf7, 0xbf, 0x40, 0x0f, + 0x78, 0x08, 0x17, 0x45, 0x31, 0x55, 0x51, 0x2a, 0xcc, 0x9a, 0x20, 0xc1, 0x79, 0xf0, 0x21, 0x3a, + 0x90, 0x85, 0x14, 0xe3, 0x50, 0x2c, 0x3e, 0xbc, 0xa5, 0xfc, 0x5a, 0x70, 0x96, 0xca, 0xff, 0xdc, + 0xee, 0xca, 0x29, 0x99, 0xa8, 0xc9, 0xcd, 0xbf, 0xeb, 0x31, 0x69, 0x5c, 0x90, 0xa2, 0xf9, 0x97, + 0x13, 0x90, 0xcf, 0xb4, 0x3d, 0xa4, 0x85, 0xc4, 0xaf, 0x25, 0xf2, 0xbf, 0xee, 0x2a, 0xe8, 0x6d, + 0x00, 0x27, 0x60, 0x7b, 0x5e, 0x40, 0xdd, 0x31, 0x86, 0x93, 0xa8, 0x98, 0x55, 0x27, 0x78, 0xca, + 0x01, 0x29, 0x2d, 0xd4, 0x66, 0x3a, 0x3e, 0xeb, 0x37, 0xba, 0x05, 0xb5, 0xa1, 0xae, 0xf7, 0x04, + 0xa9, 0x40, 0xb1, 0x7f, 0xd4, 0xe9, 0x35, 0x6f, 0x90, 0x1a, 0x94, 0x07, 0x9d, 0xe1, 0xf0, 0x00, + 0xed, 0xcc, 0x75, 0xa8, 0xa8, 0xfb, 0xe4, 0x79, 0xf6, 0xd5, 0xde, 0xd9, 0xe9, 0x1c, 0x0d, 0x3b, + 0xbb, 0xcd, 0xc2, 0xf7, 0x8b, 0x95, 0x7c, 0xb3, 0x60, 0xfc, 0xef, 0x02, 0xd4, 0xb4, 0x8e, 0x7a, + 0x31, 0xbf, 0x8e, 0x47, 0x2e, 0xca, 0x27, 0x23, 0x17, 0xe9, 0x46, 0x15, 0x11, 0xdd, 0x49, 0x1a, + 0x55, 0xde, 0x84, 0x86, 0x08, 0xed, 0xa8, 0x79, 0x0b, 0x94, 0xcc, 0x3a, 0x07, 0x0a, 0x6e, 0x8e, + 0xd1, 0x29, 0x90, 0x08, 0xef, 0xfd, 0x96, 0xc4, 0xfc, 0x41, 0x10, 0xde, 0xfc, 0xc5, 0x6b, 0xdb, + 0x81, 0x37, 0xb9, 0xa0, 0x9c, 0x82, 0x8b, 0xb0, 0x35, 0x01, 0x1b, 0x8a, 0xc8, 0x1f, 0x82, 0x65, + 0x6a, 0xe1, 0x11, 0x4a, 0x66, 0x9d, 0x03, 0x45, 0x41, 0xef, 0xcb, 0x39, 0xc6, 0x7d, 0xa7, 0x36, + 0xd2, 0x13, 0x26, 0x36, 0xbf, 0x0e, 0x52, 0x7a, 0xcf, 0x2a, 0xce, 0x9d, 0x6f, 0xa5, 0xd3, 0xbd, + 0x5c, 0xff, 0x49, 0xde, 0x05, 0x32, 0x9d, 0xcd, 0xac, 0x0c, 0x8d, 0x64, 0xd1, 0x5c, 0x9a, 0xce, + 0x66, 0x43, 0x4d, 0x61, 0x47, 0x5e, 0x83, 0x82, 0x3d, 0x9d, 0x21, 0x6b, 0x89, 0xb4, 0x83, 0xed, + 0xc3, 0x23, 0x93, 0x81, 0xbf, 0x01, 0x55, 0xea, 0x6f, 0xe4, 0xa0, 0xd0, 0x3e, 0x3c, 0x42, 0x46, + 0xef, 0x79, 0xa1, 0x15, 0x9c, 0xdb, 0x22, 0x38, 0x19, 0x63, 0xf4, 0x9e, 0x17, 0x0e, 0x18, 0x80, + 0x31, 0xfa, 0x80, 0x86, 0x91, 0x0f, 0x70, 0x29, 0xa0, 0x21, 0x77, 0x08, 0x1f, 0x9d, 0x3b, 0x93, + 0x71, 0x2c, 0x46, 0x25, 0x20, 0x88, 0xcf, 0x08, 0x02, 0x45, 0x6d, 0x7b, 0xc0, 0xdf, 0xfc, 0x22, + 0x9d, 0xd8, 0x51, 0xb8, 0x9b, 0xb9, 0xfa, 0x36, 0xfe, 0x4a, 0x0e, 0x48, 0x9b, 0x71, 0x24, 0xec, + 0x50, 0x75, 0xd2, 0x8d, 0xf6, 0x99, 0x9c, 0xbe, 0xcf, 0x64, 0xb0, 0xf3, 0x7c, 0x26, 0x3b, 0x7f, + 0x19, 0xe3, 0x8b, 0x2d, 0xdd, 0xe5, 0xd4, 0xd2, 0x35, 0xf6, 0xa0, 0x76, 0xa4, 0x85, 0x0c, 0xbe, + 0xcb, 0x76, 0x45, 0x19, 0x2c, 0x98, 0xef, 0x97, 0x5c, 0xab, 0xeb, 0x8b, 0x18, 0xc1, 0x5a, 0x85, + 0xf3, 0x5a, 0x85, 0x8d, 0xbf, 0x9d, 0xe3, 0x81, 0xf3, 0x54, 0xfb, 0xa2, 0x28, 0xc5, 0xd2, 0x38, + 0x1a, 0x85, 0x65, 0xa9, 0x49, 0xf3, 0xa7, 0x88, 0xa8, 0x82, 0xb5, 0xb7, 0xbc, 0xd3, 0xd3, 0x80, + 0x4a, 0x97, 0xa9, 0x1a, 0xc2, 0xfa, 0x08, 0x92, 0xc7, 0x1f, 0x76, 0xc6, 0x72, 0x78, 0xfe, 0x81, + 0xf0, 0x93, 0x62, 0xc7, 0x9f, 0x43, 0xfb, 0x52, 0x94, 0x1a, 0xb0, 0x11, 0x10, 0x16, 0x1a, 0x19, + 0x96, 0x40, 0x7d, 0x1b, 0x7f, 0x43, 0x44, 0x8e, 0x49, 0x0e, 0xc1, 0x7d, 0xa8, 0xa8, 0x5c, 0xe3, + 0x52, 0x85, 0xa4, 0x54, 0x78, 0x26, 0xbb, 0xa0, 0x3a, 0x2a, 0x56, 0x63, 0xce, 0x2d, 0xd0, 0xca, + 0xd6, 0xd5, 0x6a, 0xfd, 0x1e, 0x90, 0x53, 0xc7, 0x4f, 0x12, 0x73, 0xee, 0xd1, 0x44, 0x8c, 0x46, + 0x6d, 0x1c, 0xc3, 0x8a, 0x64, 0x7b, 0xda, 0x99, 0x2c, 0x3e, 0xbe, 0xb9, 0x97, 0x6c, 0x6c, 0xf9, + 0xd4, 0xc6, 0x66, 0xfc, 0x7a, 0x09, 0xca, 0x32, 0x42, 0x77, 0x56, 0xc8, 0xe8, 0x6a, 0x3c, 0x64, + 0x74, 0x2b, 0x16, 0x90, 0x12, 0x87, 0x5e, 0xc8, 0x38, 0xef, 0x24, 0xc5, 0x14, 0xcd, 0x5a, 0x14, + 0x13, 0x55, 0x84, 0xb5, 0xa8, 0x14, 0xb7, 0x16, 0x65, 0x85, 0xd1, 0xe6, 0xe2, 0x76, 0x2a, 0x8c, + 0xf6, 0x2d, 0xe0, 0xb2, 0x93, 0xe6, 0x2b, 0x5a, 0x41, 0x80, 0x08, 0xad, 0xa1, 0x89, 0x5a, 0x95, + 0xa4, 0xa8, 0xf5, 0xca, 0x62, 0xd0, 0xc7, 0xb0, 0xc0, 0xa3, 0x50, 0x89, 0x30, 0x0b, 0x72, 0xb3, + 0x14, 0x7d, 0x25, 0xff, 0xf3, 0x2b, 0x48, 0xa6, 0xa0, 0xd5, 0xa3, 0xae, 0xd6, 0x62, 0x51, 0x57, + 0x75, 0x2b, 0x56, 0x3d, 0x6e, 0xc5, 0xba, 0x07, 0x4d, 0xd5, 0x71, 0xa8, 0x13, 0x76, 0x03, 0x71, + 0xa3, 0x7a, 0x51, 0xc2, 0x19, 0x7b, 0xef, 0x05, 0xd1, 0x66, 0xbf, 0x18, 0xdb, 0xec, 0x19, 0xf3, + 0x6d, 0x87, 0x21, 0x9d, 0xce, 0x42, 0xb9, 0xd9, 0x6b, 0x91, 0xcb, 0xf9, 0xc8, 0xf3, 0x2b, 0x5a, + 0x72, 0x78, 0xf9, 0xec, 0xd8, 0x86, 0xc5, 0x53, 0xdb, 0x99, 0xcc, 0x7d, 0x6a, 0xf9, 0xd4, 0x0e, + 0x3c, 0x17, 0xf9, 0x43, 0x24, 0x77, 0x88, 0x26, 0xee, 0x71, 0x1a, 0x13, 0x49, 0xcc, 0xc6, 0xa9, + 0xfe, 0x89, 0x17, 0x22, 0xf5, 0x9e, 0x60, 0x7b, 0xb0, 0x08, 0xb6, 0xc0, 0x5d, 0xbf, 0xba, 0x3d, + 0x6b, 0xef, 0xa0, 0xfb, 0x64, 0x7f, 0xd8, 0xcc, 0xb1, 0xcf, 0xc1, 0xf1, 0xce, 0x4e, 0xa7, 0xb3, + 0x8b, 0x7b, 0x32, 0xc0, 0xc2, 0x5e, 0xbb, 0x7b, 0x20, 0x76, 0xe4, 0x62, 0xb3, 0x64, 0xfc, 0x41, + 0x1e, 0x6a, 0x5a, 0x6b, 0x30, 0x8c, 0x0a, 0xff, 0xc9, 0xf8, 0x6f, 0x59, 0x84, 0x51, 0xe1, 0x90, + 0xee, 0x98, 0x3c, 0x52, 0x63, 0xc4, 0xa3, 0xbf, 0xdc, 0x4e, 0x77, 0xc8, 0x96, 0xdc, 0xd1, 0xb4, + 0x41, 0x52, 0x21, 0xcc, 0xf3, 0xd7, 0x86, 0x30, 0x27, 0x6f, 0xc3, 0x92, 0x2c, 0x59, 0x8e, 0x89, + 0xb0, 0xbe, 0x08, 0xb0, 0x18, 0x92, 0xb7, 0x45, 0x24, 0x1a, 0xb1, 0x2d, 0x33, 0xba, 0xa2, 0x74, + 0x91, 0x56, 0x3b, 0x33, 0x0e, 0x5d, 0x59, 0x74, 0x9c, 0xf0, 0x96, 0x50, 0x02, 0x8e, 0xe8, 0x4e, + 0x89, 0x8e, 0xed, 0x11, 0x0b, 0x89, 0x3d, 0xe2, 0x13, 0x80, 0xa8, 0x3d, 0xf1, 0xde, 0xbd, 0x11, + 0xef, 0xdd, 0x9c, 0xd6, 0xbb, 0x79, 0xe3, 0xef, 0x0b, 0xce, 0x26, 0x86, 0x4a, 0xe9, 0x62, 0xdf, + 0x07, 0xa9, 0x1d, 0xb6, 0xf0, 0x4a, 0xc5, 0x6c, 0x42, 0x43, 0x79, 0x5f, 0x7c, 0x59, 0x60, 0xba, + 0x0a, 0x91, 0xe2, 0xc4, 0xf9, 0x34, 0x27, 0x7e, 0x03, 0xea, 0x18, 0xda, 0x50, 0x14, 0x24, 0xe3, + 0x04, 0x4f, 0xed, 0x4b, 0x59, 0x76, 0x8c, 0x05, 0x17, 0x13, 0x2c, 0xf8, 0x6f, 0xe6, 0x78, 0x1c, + 0xac, 0xa8, 0xa2, 0x11, 0x0f, 0x56, 0x79, 0xc6, 0x79, 0xb0, 0x20, 0x35, 0x15, 0xfe, 0x1a, 0xbe, + 0x9a, 0xcf, 0xe6, 0xab, 0xd9, 0x1c, 0xbb, 0x90, 0xc9, 0xb1, 0x8d, 0x4b, 0x68, 0xed, 0x52, 0xd6, + 0x15, 0xed, 0xc9, 0x24, 0xd9, 0x97, 0x0f, 0x60, 0x95, 0x0d, 0x21, 0xba, 0x8a, 0x70, 0x8c, 0xbe, + 0xa3, 0x11, 0x8e, 0x93, 0x89, 0x70, 0x63, 0xbb, 0x0f, 0xcb, 0x22, 0x05, 0x2e, 0x5a, 0x3d, 0xe8, + 0xd8, 0x12, 0x47, 0xa0, 0xc7, 0x26, 0xa3, 0x35, 0x6e, 0xc1, 0xcd, 0x8c, 0x92, 0x85, 0xd2, 0xee, + 0x37, 0x72, 0xb0, 0xd6, 0xe6, 0xc1, 0x75, 0xbe, 0xb1, 0xeb, 0xe2, 0x9f, 0xc3, 0x4d, 0x75, 0xfb, + 0x42, 0xbb, 0x35, 0xaa, 0x57, 0x52, 0x5e, 0xdc, 0xd0, 0xee, 0x1c, 0x61, 0x5d, 0x5b, 0xb0, 0x9e, + 0xac, 0x8d, 0xa8, 0xe8, 0x1e, 0x2c, 0xef, 0xd2, 0x93, 0xf9, 0xd9, 0x01, 0xbd, 0x88, 0xea, 0x48, + 0xa0, 0x18, 0x9c, 0x7b, 0xcf, 0x45, 0x47, 0xe1, 0x6f, 0x74, 0xcf, 0x66, 0x34, 0x56, 0x30, 0xa3, + 0x23, 0x69, 0xf4, 0x41, 0xc8, 0x60, 0x46, 0x47, 0xc6, 0x23, 0x20, 0x7a, 0x3e, 0x62, 0x8e, 0xb0, + 0x33, 0xf0, 0xfc, 0xc4, 0x0a, 0xae, 0x82, 0x90, 0x4e, 0xe5, 0xcd, 0x69, 0x08, 0xe6, 0x27, 0x03, + 0x0e, 0x31, 0xde, 0x81, 0xfa, 0x91, 0x7d, 0x65, 0xd2, 0x1f, 0x89, 0xcb, 0xc7, 0x1b, 0x50, 0x9e, + 0xd9, 0x57, 0x6c, 0x23, 0x50, 0xf6, 0x5f, 0x44, 0x1b, 0xbf, 0x53, 0x84, 0x05, 0x4e, 0x49, 0xee, + 0xf2, 0xd7, 0x4d, 0x1c, 0x17, 0x19, 0xb1, 0xdc, 0x12, 0x35, 0x50, 0x6a, 0xd7, 0xcc, 0xa7, 0x77, + 0x4d, 0xa1, 0xac, 0x96, 0x91, 0x1b, 0xa5, 0xa5, 0xce, 0x9d, 0x4f, 0x65, 0xb8, 0xc6, 0x78, 0x28, + 0x99, 0x62, 0xf4, 0x2a, 0x0e, 0x0f, 0xa3, 0x11, 0xf7, 0xa5, 0x88, 0x4e, 0xda, 0xbc, 0x76, 0x52, + 0x18, 0x10, 0x1b, 0xa6, 0x0e, 0xca, 0x3c, 0xce, 0x97, 0xe5, 0xcd, 0xfc, 0xf8, 0x71, 0x3e, 0x75, + 0x6c, 0xaf, 0xbc, 0xfc, 0xd8, 0xce, 0xb5, 0xd8, 0x2f, 0x38, 0xb6, 0xc3, 0x2b, 0x1c, 0xdb, 0x5f, + 0xc1, 0x8f, 0xe1, 0x26, 0x54, 0x50, 0xc2, 0xd3, 0xf6, 0x4f, 0x26, 0xd9, 0xb1, 0xfd, 0xf3, 0x53, + 0xed, 0x60, 0xcb, 0x9d, 0xa8, 0xb4, 0x0d, 0xcc, 0xa4, 0x3f, 0xfa, 0xe9, 0x28, 0x46, 0xbf, 0x82, + 0xb2, 0x80, 0xb2, 0x09, 0xed, 0xda, 0x53, 0x19, 0x9f, 0x18, 0x7f, 0xb3, 0x6e, 0xc3, 0x88, 0x9d, + 0x3f, 0x9a, 0x3b, 0x3e, 0x1d, 0xcb, 0xb8, 0x81, 0x0e, 0x72, 0x0f, 0x06, 0x61, 0x0d, 0x64, 0x87, + 0x6c, 0x57, 0x3e, 0x6c, 0x50, 0x31, 0xcb, 0x4e, 0xf0, 0x94, 0x7d, 0x1a, 0x04, 0x9a, 0x18, 0xd9, + 0x7d, 0xe6, 0xf9, 0x52, 0x3c, 0x31, 0x7e, 0x37, 0x07, 0x4d, 0xb1, 0xba, 0x14, 0x4e, 0x3f, 0xc0, + 0x96, 0xae, 0xf3, 0xf9, 0x79, 0x71, 0x14, 0x40, 0x03, 0x1a, 0xa8, 0xda, 0x53, 0xb2, 0x0a, 0x57, + 0x4d, 0xd6, 0x18, 0x70, 0x4f, 0xc8, 0x2b, 0xaf, 0x43, 0x4d, 0x5e, 0x1e, 0x99, 0x3a, 0x13, 0xf9, + 0x00, 0x16, 0xbf, 0x3d, 0x72, 0xe8, 0x4c, 0xa4, 0xa8, 0xe3, 0xdb, 0x22, 0x5a, 0x44, 0x0e, 0x45, + 0x1d, 0xd3, 0x0e, 0xa9, 0xf1, 0xfb, 0x39, 0x58, 0xd6, 0x9a, 0x22, 0xd6, 0xed, 0x77, 0xa0, 0xae, + 0x1e, 0x9c, 0xa0, 0x4a, 0xc6, 0xde, 0x88, 0xf3, 0xa8, 0x28, 0x59, 0x6d, 0xa4, 0x20, 0x01, 0xab, + 0xcc, 0xd8, 0xbe, 0xe2, 0x37, 0x1c, 0xe6, 0x53, 0x79, 0x2e, 0x1f, 0xdb, 0x57, 0x7b, 0x94, 0x0e, + 0xe6, 0x53, 0x72, 0x17, 0xea, 0xcf, 0x29, 0x7d, 0xa6, 0x08, 0x38, 0x63, 0x07, 0x06, 0x13, 0x14, + 0x06, 0x34, 0xa6, 0x9e, 0x1b, 0x9e, 0x2b, 0x12, 0x71, 0xbe, 0x40, 0x20, 0xa7, 0x31, 0xfe, 0x75, + 0x1e, 0x56, 0xb8, 0x02, 0x59, 0x98, 0x11, 0x04, 0xeb, 0x6a, 0xc1, 0x02, 0xd7, 0xea, 0x73, 0xe6, + 0xb5, 0x7f, 0xc3, 0x14, 0xdf, 0xe4, 0xe3, 0x57, 0x54, 0x7a, 0xcb, 0x40, 0x13, 0xd7, 0x74, 0x7f, + 0x21, 0xdd, 0xfd, 0xd7, 0x77, 0x6f, 0x96, 0x53, 0x41, 0x29, 0xcb, 0xa9, 0xe0, 0x55, 0x4c, 0xf9, + 0xa9, 0x50, 0x07, 0xe5, 0x74, 0xc8, 0xe1, 0x47, 0xb0, 0x11, 0xa3, 0x41, 0x6e, 0xed, 0x9c, 0x3a, + 0x2a, 0xee, 0xfd, 0xaa, 0x46, 0x3d, 0x90, 0xb8, 0xed, 0x32, 0x94, 0x82, 0x91, 0x37, 0xa3, 0xc6, + 0x3a, 0xac, 0xc6, 0x7b, 0x55, 0x6c, 0x13, 0xbf, 0x95, 0x83, 0xd6, 0x5e, 0x14, 0xbb, 0xd9, 0x09, + 0x42, 0xcf, 0x57, 0x4f, 0x0a, 0xdc, 0x06, 0xe0, 0x8f, 0x71, 0xa1, 0x1a, 0x44, 0x04, 0xdd, 0x42, + 0x08, 0x2a, 0x41, 0x6e, 0x42, 0x85, 0xba, 0x63, 0x8e, 0xe4, 0xb3, 0xa1, 0x4c, 0xdd, 0xb1, 0x54, + 0xa1, 0xa4, 0x36, 0xf9, 0x46, 0x5c, 0x7c, 0x11, 0xe1, 0x63, 0x58, 0xef, 0xd0, 0x0b, 0x14, 0x36, + 0x8a, 0x2a, 0x7c, 0xcc, 0xa1, 0x7d, 0x89, 0xde, 0xf1, 0x81, 0xf1, 0x0f, 0xf3, 0xb0, 0x14, 0xd5, + 0x8f, 0x07, 0xd0, 0xba, 0x9b, 0x0a, 0x05, 0x26, 0xfc, 0xa1, 0x14, 0x0f, 0xbf, 0x2b, 0xa6, 0x84, + 0xc3, 0x4e, 0x6b, 0x9a, 0x6a, 0xbd, 0xc2, 0x17, 0x68, 0xd7, 0x25, 0x06, 0xd4, 0x24, 0x85, 0x37, + 0x0f, 0xb5, 0x50, 0xc9, 0x55, 0x4e, 0xd2, 0x9f, 0x87, 0xec, 0x78, 0x6d, 0x4f, 0x99, 0xb4, 0x22, + 0x0e, 0xb8, 0x25, 0x7b, 0x1a, 0x76, 0xf1, 0xd5, 0x37, 0x06, 0x66, 0xc9, 0xf8, 0x60, 0x32, 0x2a, + 0x46, 0xdf, 0xe4, 0xa7, 0x2d, 0x3e, 0x7a, 0x78, 0xd2, 0xd2, 0x8f, 0x22, 0xfc, 0x15, 0x1a, 0x75, + 0x14, 0x79, 0x1d, 0x6a, 0x3c, 0xf3, 0x28, 0xba, 0x05, 0xc6, 0x2d, 0x0c, 0xbb, 0x2e, 0xe2, 0x85, + 0x9a, 0xd3, 0x9b, 0xc7, 0x34, 0x37, 0xc0, 0x8b, 0x92, 0x4f, 0x77, 0xa9, 0x16, 0x5b, 0xca, 0x08, + 0x59, 0x53, 0xb0, 0x5e, 0xc0, 0xa4, 0x95, 0x9b, 0x19, 0xa3, 0x2b, 0x98, 0xc1, 0x0e, 0x68, 0x81, + 0xbe, 0xe5, 0x20, 0x70, 0x8e, 0xb0, 0x2e, 0xb9, 0x6f, 0xbc, 0xeb, 0xcd, 0xe6, 0x69, 0x1c, 0x10, + 0x9d, 0xc2, 0xf9, 0x40, 0xc7, 0xc2, 0xb0, 0xa0, 0x4c, 0xc7, 0x47, 0x9b, 0x1f, 0x80, 0x8f, 0x60, + 0xb3, 0x73, 0xc9, 0x18, 0x8b, 0x72, 0xac, 0x1f, 0x3d, 0x9b, 0x4b, 0xfb, 0x68, 0xc2, 0xca, 0x92, + 0x7b, 0x25, 0x2b, 0xcb, 0x98, 0x07, 0x3f, 0x50, 0x79, 0xfd, 0x24, 0x99, 0x70, 0xfd, 0x92, 0xed, + 0x5a, 0x27, 0x98, 0x85, 0x8c, 0xb5, 0xc2, 0x40, 0x3c, 0x53, 0x23, 0x80, 0xa5, 0xc3, 0xf9, 0x24, + 0x74, 0x76, 0x14, 0x88, 0x7c, 0x2c, 0xd2, 0x60, 0x39, 0xb2, 0xd7, 0x32, 0x0b, 0x02, 0x55, 0x10, + 0x76, 0xd6, 0x94, 0x65, 0x64, 0xa5, 0xcb, 0x5b, 0x9a, 0xc6, 0x4b, 0x30, 0x6e, 0xc2, 0x46, 0xf4, + 0xc5, 0xbb, 0x4d, 0xee, 0x48, 0x7f, 0x2b, 0xc7, 0x6f, 0xec, 0x70, 0xdc, 0xc0, 0xb5, 0x67, 0xc1, + 0xb9, 0x17, 0x92, 0x0e, 0xac, 0x04, 0x8e, 0x7b, 0x36, 0xa1, 0x7a, 0xf6, 0x81, 0xe8, 0x84, 0xb5, + 0x78, 0xdd, 0x78, 0xd2, 0xc0, 0x5c, 0xe6, 0x29, 0xa2, 0xdc, 0x02, 0xb2, 0x7d, 0x5d, 0x25, 0xa3, + 0x69, 0x91, 0xe8, 0x8d, 0x74, 0xe5, 0xbb, 0xb0, 0x18, 0x2f, 0x88, 0x7c, 0x2a, 0x62, 0x86, 0x44, + 0xb5, 0x2a, 0x24, 0x22, 0x26, 0x44, 0x13, 0xa2, 0x16, 0xf5, 0x7d, 0x60, 0xfc, 0xa5, 0x1c, 0xb4, + 0x4c, 0xca, 0x66, 0xae, 0x56, 0x4b, 0x39, 0x67, 0xbe, 0x93, 0xca, 0xf5, 0xfa, 0xb6, 0xca, 0x50, + 0x24, 0xb2, 0x46, 0xef, 0x5d, 0x3b, 0x18, 0xfb, 0x37, 0x52, 0x2d, 0xda, 0xae, 0xc0, 0x02, 0x27, + 0x31, 0x36, 0x60, 0x4d, 0xd4, 0x47, 0xd6, 0x25, 0x32, 0xe8, 0xc7, 0x4a, 0x8c, 0x19, 0xf4, 0x37, + 0xa1, 0xc5, 0xaf, 0xf6, 0xeb, 0x8d, 0x10, 0x09, 0x77, 0x81, 0x1c, 0xda, 0x23, 0xdb, 0xf7, 0x3c, + 0xf7, 0x88, 0xfa, 0xc2, 0x65, 0x1e, 0x05, 0x51, 0xb4, 0x77, 0x4b, 0x89, 0x99, 0x7f, 0xc9, 0x18, + 0xf2, 0x9e, 0x2b, 0x3d, 0x04, 0xf9, 0x97, 0xe1, 0xc3, 0xca, 0xb6, 0xfd, 0x8c, 0xca, 0x9c, 0x64, + 0x17, 0x3d, 0x86, 0xda, 0x4c, 0x65, 0x2a, 0xfb, 0x5d, 0x86, 0x63, 0x4a, 0x17, 0x6b, 0xea, 0xd4, + 0x8c, 0x4b, 0xa1, 0xc2, 0x16, 0x03, 0x9c, 0x8c, 0xe5, 0x9e, 0xcf, 0x40, 0x4f, 0xe9, 0x55, 0x77, + 0x6c, 0x3c, 0x84, 0xd5, 0x78, 0x99, 0x82, 0xb5, 0x6c, 0x42, 0x65, 0x2a, 0x60, 0xa2, 0xf6, 0xea, + 0x9b, 0x9d, 0x59, 0xd8, 0xb9, 0x53, 0xa6, 0xe9, 0xee, 0xaa, 0x5b, 0xfa, 0x8f, 0x61, 0x23, 0x85, + 0x11, 0x19, 0xde, 0x85, 0xba, 0x56, 0x11, 0xde, 0x8c, 0xa2, 0x09, 0xaa, 0x26, 0x81, 0xf1, 0x39, + 0x6c, 0xf0, 0x63, 0x5b, 0x94, 0x5c, 0x76, 0x41, 0xa2, 0x15, 0xb9, 0x64, 0x2b, 0x3e, 0x96, 0x67, + 0x4d, 0x3d, 0x69, 0x14, 0x0e, 0x71, 0x8c, 0x38, 0xe9, 0xe4, 0x25, 0x3f, 0x8d, 0x63, 0x58, 0x4f, + 0x77, 0x1f, 0xab, 0xff, 0x9f, 0xaa, 0xcb, 0x65, 0xf7, 0x44, 0x68, 0xd5, 0x3d, 0xff, 0x25, 0xc7, + 0xfb, 0x27, 0x86, 0x12, 0xd5, 0x1c, 0x03, 0x99, 0xd2, 0xf0, 0xdc, 0x1b, 0x5b, 0xe9, 0x92, 0x1f, + 0x29, 0x1f, 0xb3, 0xcc, 0xb4, 0x5b, 0x87, 0x98, 0x50, 0xc3, 0x88, 0xdb, 0x0e, 0xd3, 0x24, 0x7c, + 0x73, 0x04, 0xeb, 0xd9, 0xc4, 0x19, 0x9e, 0x59, 0x1f, 0xc5, 0xe5, 0xf9, 0xdb, 0xd7, 0x36, 0x9f, + 0x55, 0x4b, 0x17, 0xef, 0x7f, 0xa7, 0x02, 0x65, 0xa1, 0xaa, 0x21, 0x5b, 0x50, 0x1c, 0x49, 0x2f, + 0xdf, 0x28, 0x24, 0xa6, 0xc0, 0xca, 0xff, 0x3b, 0xe8, 0xeb, 0xcb, 0xe8, 0xc8, 0x63, 0x58, 0x8c, + 0x3b, 0xba, 0x24, 0x42, 0xd7, 0xc4, 0x3d, 0x54, 0x1a, 0xa3, 0x84, 0x13, 0x41, 0x35, 0x92, 0xc1, + 0xb8, 0x68, 0x5a, 0x39, 0xd7, 0x84, 0x34, 0xcf, 0x65, 0xc7, 0xba, 0xe0, 0xdc, 0xb6, 0x1e, 0x3e, + 0xfa, 0x44, 0x18, 0x15, 0x6a, 0x08, 0x1c, 0x9c, 0xdb, 0x0f, 0x1f, 0x7d, 0x92, 0x3c, 0xb0, 0x89, + 0xc8, 0x35, 0xda, 0x81, 0x6d, 0x15, 0x4a, 0x3c, 0xd0, 0x3e, 0x77, 0xd7, 0xe4, 0x1f, 0x52, 0x9d, + 0x31, 0xf7, 0xa9, 0x25, 0x2e, 0xd6, 0xf0, 0x5d, 0x94, 0x3f, 0x70, 0x46, 0x04, 0x6e, 0x80, 0x28, + 0xae, 0x4e, 0x5c, 0x87, 0x85, 0xf3, 0xe8, 0xe5, 0x84, 0x86, 0x29, 0xbe, 0x8c, 0xff, 0x59, 0x82, + 0x9a, 0xd6, 0x29, 0xa4, 0x0e, 0x15, 0xb3, 0x33, 0xe8, 0x98, 0x5f, 0x74, 0x76, 0x9b, 0x37, 0xc8, + 0x3d, 0x78, 0xab, 0xdb, 0xdb, 0xe9, 0x9b, 0x66, 0x67, 0x67, 0x68, 0xf5, 0x4d, 0x4b, 0x46, 0x6a, + 0x3d, 0x6a, 0x7f, 0x75, 0xd8, 0xe9, 0x0d, 0xad, 0xdd, 0xce, 0xb0, 0xdd, 0x3d, 0x18, 0x34, 0x73, + 0xe4, 0x35, 0x68, 0x45, 0x94, 0x12, 0xdd, 0x3e, 0xec, 0x1f, 0xf7, 0x86, 0xcd, 0x3c, 0xb9, 0x03, + 0xb7, 0xf6, 0xba, 0xbd, 0xf6, 0x81, 0x15, 0xd1, 0xec, 0x1c, 0x0c, 0xbf, 0xb0, 0x3a, 0x3f, 0x77, + 0xd4, 0x35, 0xbf, 0x6a, 0x16, 0xb2, 0x08, 0xf6, 0x87, 0x07, 0x3b, 0x32, 0x87, 0x22, 0xb9, 0x09, + 0x6b, 0x9c, 0x80, 0x27, 0xb1, 0x86, 0xfd, 0xbe, 0x35, 0xe8, 0xf7, 0x7b, 0xcd, 0x12, 0x59, 0x86, + 0x46, 0xb7, 0xf7, 0x45, 0xfb, 0xa0, 0xbb, 0x6b, 0x99, 0x9d, 0xf6, 0xc1, 0x61, 0x73, 0x81, 0xac, + 0xc0, 0x52, 0x92, 0xae, 0xcc, 0xb2, 0x90, 0x74, 0xfd, 0x5e, 0xb7, 0xdf, 0xb3, 0xbe, 0xe8, 0x98, + 0x83, 0x6e, 0xbf, 0xd7, 0xac, 0x90, 0x75, 0x20, 0x71, 0xd4, 0xfe, 0x61, 0x7b, 0xa7, 0x59, 0x25, + 0x6b, 0xb0, 0x1c, 0x87, 0x3f, 0xed, 0x7c, 0xd5, 0x04, 0xd2, 0x82, 0x55, 0x5e, 0x31, 0x6b, 0xbb, + 0x73, 0xd0, 0xff, 0xd2, 0x3a, 0xec, 0xf6, 0xba, 0x87, 0xc7, 0x87, 0xcd, 0x1a, 0xc6, 0xcb, 0xee, + 0x74, 0xac, 0x6e, 0x6f, 0x70, 0xbc, 0xb7, 0xd7, 0xdd, 0xe9, 0x76, 0x7a, 0xc3, 0x66, 0x9d, 0x97, + 0x9c, 0xd5, 0xf0, 0x06, 0x4b, 0x20, 0xae, 0x52, 0x5a, 0xbb, 0xdd, 0x41, 0x7b, 0xfb, 0xa0, 0xb3, + 0xdb, 0x5c, 0x24, 0xb7, 0xe1, 0xe6, 0xb0, 0x73, 0x78, 0xd4, 0x37, 0xdb, 0xe6, 0x57, 0xf2, 0xaa, + 0xa5, 0xb5, 0xd7, 0xee, 0x1e, 0x1c, 0x9b, 0x9d, 0xe6, 0x12, 0x79, 0x03, 0x6e, 0x9b, 0x9d, 0x1f, + 0x1c, 0x77, 0xcd, 0xce, 0xae, 0xd5, 0xeb, 0xef, 0x76, 0xac, 0xbd, 0x4e, 0x7b, 0x78, 0x6c, 0x76, + 0xac, 0xc3, 0xee, 0x60, 0xd0, 0xed, 0x3d, 0x69, 0x36, 0xc9, 0x5b, 0x70, 0x57, 0x91, 0xa8, 0x0c, + 0x12, 0x54, 0xcb, 0xac, 0x7d, 0x72, 0x48, 0x7b, 0x9d, 0x9f, 0x1b, 0x5a, 0x47, 0x9d, 0x8e, 0xd9, + 0x24, 0x64, 0x13, 0xd6, 0xa3, 0xe2, 0x79, 0x01, 0xa2, 0xec, 0x15, 0x86, 0x3b, 0xea, 0x98, 0x87, + 0xed, 0x1e, 0x1b, 0xe0, 0x18, 0x6e, 0x95, 0x55, 0x3b, 0xc2, 0x25, 0xab, 0xbd, 0x46, 0x08, 0x2c, + 0x6a, 0xa3, 0xb2, 0xd7, 0x36, 0x9b, 0xeb, 0x64, 0x09, 0x6a, 0x87, 0x47, 0x47, 0xd6, 0xb0, 0x7b, + 0xd8, 0xe9, 0x1f, 0x0f, 0x9b, 0x1b, 0xe9, 0x51, 0x3a, 0x6a, 0x7f, 0x75, 0xd0, 0x6f, 0xef, 0x36, + 0x5b, 0x64, 0x0d, 0x9a, 0xdd, 0xde, 0xb0, 0x63, 0xb2, 0x69, 0x20, 0x73, 0xfd, 0xaf, 0x65, 0xb2, + 0x0a, 0x4b, 0xb2, 0x11, 0x12, 0xfa, 0x87, 0x65, 0xb2, 0x01, 0xe4, 0xb8, 0x67, 0x76, 0xda, 0xbb, + 0xac, 0x4f, 0x15, 0xe2, 0xbf, 0x95, 0x85, 0x79, 0xf9, 0x77, 0x0b, 0x4a, 0x0e, 0x8c, 0x1c, 0xcc, + 0xe2, 0xaf, 0x20, 0xd5, 0xb5, 0xd7, 0x8b, 0x5e, 0xf6, 0xea, 0xa5, 0x76, 0xb8, 0x2f, 0xa4, 0x0e, + 0xf7, 0x29, 0xed, 0x51, 0x43, 0x3f, 0x79, 0xbc, 0x09, 0x8d, 0x29, 0x7f, 0x11, 0x49, 0x3c, 0xa9, + 0x01, 0xc2, 0xdb, 0x92, 0x03, 0xf9, 0x7b, 0x1a, 0xa9, 0x67, 0x1f, 0x4b, 0xe9, 0x67, 0x1f, 0xb3, + 0x4e, 0x98, 0x0b, 0x59, 0x27, 0xcc, 0xfb, 0xb0, 0xcc, 0xb9, 0x96, 0xe3, 0x3a, 0x53, 0xa9, 0xb7, + 0x11, 0x8f, 0x28, 0x22, 0xf7, 0xe2, 0x70, 0x79, 0xa0, 0x95, 0x87, 0x5e, 0xc1, 0x5d, 0xca, 0xe2, + 0xbc, 0x1b, 0x3b, 0xeb, 0x72, 0xa6, 0xa2, 0xce, 0xba, 0xaa, 0x04, 0xfb, 0x32, 0x2a, 0xa1, 0xa6, + 0x95, 0xc0, 0xe1, 0x58, 0xc2, 0x7d, 0x58, 0xa6, 0x97, 0xa1, 0x6f, 0x5b, 0xde, 0xcc, 0xfe, 0xd1, + 0x1c, 0x5d, 0x64, 0x6c, 0xd4, 0x22, 0xd5, 0xcd, 0x25, 0x44, 0xf4, 0x11, 0xbe, 0x6b, 0x87, 0xb6, + 0xf1, 0x0b, 0x00, 0x6a, 0xc3, 0xc5, 0xc7, 0x28, 0x5d, 0x4f, 0xde, 0xa9, 0xad, 0x9b, 0xfc, 0x03, + 0xc7, 0x31, 0xf4, 0x7c, 0xfb, 0x8c, 0x76, 0xa5, 0x55, 0x38, 0x02, 0x90, 0x5b, 0x50, 0xf0, 0x66, + 0xd2, 0x17, 0xb1, 0x2a, 0x63, 0xc4, 0xcf, 0x4c, 0x06, 0x35, 0x3e, 0x81, 0x7c, 0x7f, 0x76, 0xad, + 0x14, 0xd5, 0x82, 0xb2, 0x7c, 0x0b, 0x3a, 0x8f, 0xfe, 0x87, 0xf2, 0xf3, 0xfe, 0x9f, 0x87, 0x9a, + 0xf6, 0x88, 0x17, 0xd9, 0x80, 0x95, 0x2f, 0xbb, 0xc3, 0x5e, 0x67, 0x30, 0xb0, 0x8e, 0x8e, 0xb7, + 0x9f, 0x76, 0xbe, 0xb2, 0xf6, 0xdb, 0x83, 0xfd, 0xe6, 0x0d, 0xc6, 0x66, 0x7a, 0x9d, 0xc1, 0xb0, + 0xb3, 0x1b, 0x83, 0xe7, 0xc8, 0xeb, 0xb0, 0x79, 0xdc, 0x3b, 0x1e, 0x74, 0x76, 0xad, 0xac, 0x74, + 0x79, 0xb6, 0xae, 0x04, 0x3e, 0x23, 0x79, 0xe1, 0xfe, 0x2f, 0xc2, 0x62, 0x3c, 0x4e, 0x0a, 0x01, + 0x58, 0x38, 0xe8, 0x3c, 0x69, 0xef, 0x7c, 0xc5, 0xdf, 0x00, 0x18, 0x0c, 0xdb, 0xc3, 0xee, 0x8e, + 0x25, 0x62, 0xfe, 0x33, 0x1e, 0x96, 0x23, 0x35, 0x28, 0xb7, 0x7b, 0x3b, 0xfb, 0x7d, 0x73, 0xd0, + 0xcc, 0x93, 0xd7, 0x60, 0x43, 0x2e, 0xa1, 0x9d, 0xfe, 0xe1, 0x61, 0x77, 0x88, 0xec, 0x7b, 0xf8, + 0xd5, 0x11, 0x5b, 0x31, 0xf7, 0x6d, 0xa8, 0x46, 0xcf, 0x15, 0x20, 0x4b, 0xec, 0x0e, 0xbb, 0xed, + 0x61, 0xb4, 0x1f, 0x34, 0x6f, 0x30, 0x8e, 0x1b, 0x81, 0xf1, 0xcd, 0x81, 0x66, 0x8e, 0x5f, 0x25, + 0x97, 0x40, 0x5e, 0x7a, 0x33, 0xcf, 0xd8, 0x40, 0x04, 0xdd, 0xee, 0x0f, 0x59, 0x13, 0x7e, 0x09, + 0x16, 0xe3, 0xaf, 0x02, 0x90, 0x26, 0xd4, 0x59, 0xf9, 0x5a, 0x11, 0x00, 0x0b, 0xbc, 0xc6, 0xcd, + 0x1c, 0xe7, 0xf9, 0x3b, 0xfd, 0xc3, 0x6e, 0xef, 0x09, 0x6e, 0x14, 0xcd, 0x3c, 0x03, 0xf5, 0x8f, + 0x87, 0x4f, 0xfa, 0x0a, 0x54, 0x60, 0x29, 0x78, 0x73, 0x9a, 0xc5, 0xfb, 0x3f, 0x82, 0xe5, 0xd4, + 0xfb, 0x01, 0xac, 0xd6, 0xfd, 0xe3, 0xe1, 0x4e, 0xff, 0x50, 0x2f, 0xa7, 0x06, 0xe5, 0x9d, 0x83, + 0x76, 0xf7, 0x10, 0x0d, 0x35, 0x0d, 0xa8, 0x1e, 0xf7, 0xe4, 0x67, 0x3e, 0xfe, 0xf2, 0x41, 0x81, + 0x71, 0xaf, 0xbd, 0xae, 0x39, 0x18, 0x5a, 0x83, 0x61, 0xfb, 0x49, 0xa7, 0x59, 0x64, 0x69, 0x25, + 0x2b, 0x2b, 0xdd, 0xff, 0x1c, 0x16, 0xe3, 0x8e, 0xf3, 0x71, 0xfb, 0xdb, 0x26, 0xac, 0x6f, 0x77, + 0x86, 0x5f, 0x76, 0x3a, 0x3d, 0x1c, 0xf2, 0x9d, 0x4e, 0x6f, 0x68, 0xb6, 0x0f, 0xba, 0xc3, 0xaf, + 0x9a, 0xb9, 0xfb, 0x8f, 0xa1, 0x99, 0x74, 0xfa, 0x88, 0x79, 0xc9, 0xbc, 0xc8, 0x9d, 0xe6, 0xfe, + 0xbf, 0xcb, 0xc1, 0x6a, 0x96, 0x79, 0x90, 0x4d, 0x4c, 0xc1, 0x08, 0xd9, 0x4e, 0x39, 0xe8, 0xf7, + 0xac, 0x5e, 0x1f, 0x23, 0x7f, 0x6f, 0xc2, 0x7a, 0x02, 0x21, 0x5b, 0x91, 0x23, 0xb7, 0x60, 0x23, + 0x95, 0xc8, 0x32, 0xfb, 0xc7, 0x38, 0x96, 0x2d, 0x58, 0x4d, 0x20, 0x3b, 0xa6, 0xd9, 0x37, 0x9b, + 0x05, 0xf2, 0x1e, 0xdc, 0x4b, 0x60, 0xd2, 0xf2, 0x81, 0x14, 0x1f, 0x8a, 0xe4, 0x1d, 0x78, 0x33, + 0x45, 0x1d, 0x6d, 0xa1, 0xd6, 0x76, 0xfb, 0x80, 0x35, 0xaf, 0x59, 0xba, 0xff, 0xfb, 0x45, 0x80, + 0xe8, 0x66, 0x2a, 0x2b, 0x7f, 0xb7, 0x3d, 0x6c, 0x1f, 0xf4, 0xd9, 0x9a, 0x31, 0xfb, 0x43, 0x96, + 0xbb, 0xd9, 0xf9, 0x41, 0xf3, 0x46, 0x26, 0xa6, 0x7f, 0xc4, 0x1a, 0xb4, 0x01, 0x2b, 0x7c, 0xfe, + 0x1d, 0xb0, 0x66, 0xb0, 0xe9, 0xc2, 0x83, 0xc8, 0x33, 0x21, 0xe4, 0xf8, 0x68, 0xcf, 0xec, 0xf7, + 0x86, 0xd6, 0x60, 0xff, 0x78, 0xb8, 0x8b, 0x31, 0xe9, 0x77, 0xcc, 0xee, 0x11, 0xcf, 0xb3, 0xf8, + 0x22, 0x02, 0x96, 0x75, 0x89, 0x2d, 0xf0, 0x27, 0xfd, 0xc1, 0xa0, 0x7b, 0x64, 0xfd, 0xe0, 0xb8, + 0x63, 0x76, 0x3b, 0x03, 0x4c, 0xb8, 0x90, 0x01, 0x67, 0xf4, 0x65, 0x36, 0x67, 0x87, 0x07, 0x5f, + 0x88, 0x8d, 0x8e, 0x91, 0x56, 0xe2, 0x20, 0x46, 0x55, 0x65, 0xa3, 0xc3, 0x36, 0xe7, 0x8c, 0x9c, + 0xe1, 0x1a, 0x1c, 0x4b, 0x57, 0x63, 0x5b, 0x69, 0x6a, 0xe5, 0x63, 0xb2, 0x7a, 0x36, 0x8a, 0xa5, + 0x42, 0x89, 0x44, 0xc9, 0x6f, 0xbb, 0xbb, 0x26, 0x26, 0x58, 0x4c, 0x41, 0x19, 0xed, 0x12, 0x9b, + 0x84, 0x6c, 0xf7, 0x66, 0x24, 0x4d, 0xf9, 0xc1, 0x30, 0xcb, 0xac, 0xc5, 0x5f, 0x1e, 0x1f, 0x6e, + 0xf7, 0xa5, 0x18, 0xc0, 0xeb, 0x4b, 0x32, 0xe0, 0x8c, 0x7e, 0x05, 0x83, 0xfe, 0x73, 0x76, 0x84, + 0x84, 0xab, 0x3a, 0x80, 0x51, 0xac, 0x31, 0x26, 0x28, 0x01, 0x3f, 0xec, 0x98, 0x7d, 0x8b, 0xc9, + 0x59, 0x28, 0x23, 0x32, 0xfa, 0xf5, 0xeb, 0xd1, 0x2c, 0xf5, 0xc6, 0xc3, 0x7f, 0xf6, 0x06, 0x54, + 0xd5, 0x8d, 0x19, 0xf2, 0x7d, 0x68, 0xc4, 0xe2, 0x51, 0x10, 0x69, 0x94, 0xc8, 0x0a, 0x5f, 0xb1, + 0xf9, 0x5a, 0x36, 0x52, 0x9c, 0xa3, 0x0e, 0x35, 0xc5, 0x05, 0xcf, 0xec, 0xb5, 0xa4, 0x32, 0x21, + 0x96, 0xdb, 0xed, 0x6b, 0xb0, 0x22, 0xbb, 0xa7, 0x18, 0x5f, 0x1f, 0xe3, 0x11, 0x8a, 0xed, 0x85, + 0xdc, 0x8e, 0x82, 0x9d, 0xeb, 0x70, 0x99, 0xa1, 0x3c, 0x26, 0x6a, 0xb8, 0x5d, 0x1a, 0xda, 0xce, + 0x24, 0x20, 0xbb, 0x50, 0xd3, 0x9e, 0x9f, 0x25, 0x37, 0xaf, 0x7d, 0x2b, 0x77, 0x73, 0x33, 0x0b, + 0x25, 0xaa, 0xf4, 0x5d, 0xa8, 0xaa, 0xe7, 0x37, 0xc9, 0x86, 0xf6, 0x3c, 0xac, 0xfe, 0x6c, 0xe9, + 0x66, 0x2b, 0x8d, 0x10, 0xe9, 0x77, 0xa1, 0xa6, 0xbd, 0xa2, 0xa9, 0x6a, 0x91, 0x7e, 0xa9, 0x53, + 0xd5, 0x22, 0xeb, 0xd1, 0xcd, 0x03, 0x58, 0x13, 0xea, 0x91, 0x13, 0xfa, 0x75, 0xba, 0x87, 0xa4, + 0xbb, 0xe7, 0x41, 0x8e, 0x3c, 0x86, 0x8a, 0x7c, 0xa1, 0x95, 0xac, 0x67, 0xbf, 0x78, 0xbb, 0xb9, + 0x91, 0x82, 0x8b, 0xaa, 0xb4, 0x01, 0xa2, 0xf7, 0x39, 0x89, 0x6c, 0x78, 0xea, 0xbd, 0x4f, 0x35, + 0x32, 0x19, 0x8f, 0x79, 0xee, 0x42, 0x4d, 0x7b, 0x8a, 0x53, 0xf5, 0x49, 0xfa, 0x19, 0x4f, 0xd5, + 0x27, 0x59, 0x2f, 0x77, 0x7e, 0x1f, 0x1a, 0xb1, 0x37, 0x35, 0xd5, 0x3c, 0xce, 0x7a, 0xb1, 0x53, + 0xcd, 0xe3, 0xec, 0x67, 0x38, 0x77, 0xa1, 0xa6, 0xbd, 0x73, 0xa9, 0x6a, 0x94, 0x7e, 0x6c, 0x53, + 0xd5, 0x28, 0xe3, 0x59, 0x4c, 0xb6, 0x1a, 0xe2, 0x8f, 0x5c, 0xaa, 0xd5, 0x90, 0xf9, 0x5a, 0xa6, + 0x5a, 0x0d, 0xd9, 0x2f, 0x63, 0xb2, 0xa9, 0xa7, 0x1e, 0xd6, 0x20, 0x1b, 0x31, 0xad, 0x44, 0xf4, + 0x42, 0x87, 0x9a, 0x7a, 0xe9, 0x37, 0x38, 0x9e, 0xc0, 0x8a, 0x9a, 0x34, 0xea, 0x59, 0x8c, 0x40, + 0xd5, 0x29, 0xf3, 0xf1, 0x8d, 0xcd, 0x66, 0x12, 0xfb, 0x20, 0x47, 0x3e, 0x83, 0xb2, 0x78, 0x6b, + 0x80, 0xac, 0x25, 0xdf, 0x1e, 0xe0, 0x95, 0x58, 0xcf, 0x7e, 0x92, 0x80, 0x1c, 0xe1, 0x82, 0xd6, + 0x1f, 0x03, 0xd0, 0x67, 0x6c, 0xc6, 0xfb, 0x01, 0x9b, 0xaf, 0x5f, 0x87, 0x8e, 0x72, 0x4c, 0x3e, + 0x60, 0x71, 0xfb, 0xba, 0x38, 0x51, 0xf1, 0x1c, 0xaf, 0x0b, 0x68, 0xf9, 0x04, 0xea, 0xfa, 0x03, + 0x67, 0x44, 0x5f, 0x87, 0xc9, 0xbc, 0x6e, 0x65, 0xe2, 0x44, 0x46, 0x5f, 0xc0, 0xba, 0xea, 0x6f, + 0x3d, 0x68, 0x51, 0x40, 0xee, 0x64, 0x84, 0x32, 0x8a, 0xf5, 0xfa, 0xcd, 0x6b, 0x63, 0x1d, 0x3d, + 0xc8, 0x21, 0x93, 0x8d, 0xbd, 0x49, 0x14, 0x31, 0xd9, 0xac, 0xa7, 0x98, 0x22, 0x26, 0x9b, 0xfd, + 0x90, 0x51, 0x1b, 0x96, 0xb4, 0xa0, 0x4b, 0x83, 0x2b, 0x77, 0xa4, 0xe6, 0x7b, 0x3a, 0xfa, 0xfa, + 0x66, 0x96, 0x92, 0x9e, 0xec, 0x40, 0x4d, 0x8f, 0xdb, 0xf4, 0x82, 0xe4, 0x1b, 0x1a, 0x4a, 0x0f, + 0x8a, 0xfd, 0x20, 0x47, 0x0e, 0xa0, 0x99, 0x8c, 0xb2, 0xaa, 0x96, 0x70, 0x56, 0x64, 0xda, 0xcd, + 0x04, 0x32, 0x16, 0x9b, 0x95, 0xcd, 0x8b, 0xd8, 0xab, 0xff, 0x9e, 0x9f, 0xdc, 0x8a, 0x38, 0x5c, + 0x76, 0x83, 0xca, 0x2d, 0x81, 0xc5, 0x6a, 0xdf, 0xcb, 0x3d, 0xc8, 0x91, 0x3d, 0xa8, 0xc7, 0x82, + 0x0c, 0xc6, 0x2e, 0x6f, 0x25, 0x9a, 0xd9, 0xd2, 0x71, 0x89, 0x76, 0x1e, 0xc2, 0x62, 0xdc, 0xe9, + 0x44, 0x55, 0x2c, 0xd3, 0x33, 0x46, 0x0d, 0x5f, 0xb6, 0xa7, 0x0a, 0xf9, 0x59, 0xa8, 0x31, 0x9e, + 0x2c, 0x3d, 0x23, 0x89, 0xc6, 0xa7, 0x93, 0x63, 0xc6, 0x61, 0x42, 0x6b, 0x5e, 0xf8, 0x8b, 0xf9, + 0x1c, 0xb6, 0xeb, 0x3b, 0xfc, 0x31, 0x74, 0xe9, 0x1c, 0xc7, 0xc6, 0xff, 0x55, 0x33, 0x21, 0x7b, + 0xbc, 0xf0, 0xa1, 0xc7, 0x63, 0x32, 0xdc, 0xd4, 0x68, 0x04, 0xec, 0xd5, 0xea, 0xd0, 0xe6, 0x75, + 0x10, 0x69, 0x62, 0x73, 0xf0, 0x15, 0xf3, 0x22, 0x9f, 0x02, 0x44, 0x4e, 0xc9, 0x24, 0xe1, 0xf7, + 0xaa, 0x16, 0x54, 0x86, 0xdf, 0x72, 0x87, 0xaf, 0x77, 0xe5, 0x78, 0xab, 0x6f, 0xc9, 0x71, 0x1f, + 0xe0, 0xd8, 0x96, 0x9c, 0xcc, 0xe6, 0x23, 0x68, 0x1c, 0x78, 0xde, 0xb3, 0xf9, 0x4c, 0x5d, 0xd5, + 0x89, 0xbb, 0x7d, 0xed, 0xdb, 0xc1, 0xf9, 0x66, 0xa2, 0x5a, 0xa4, 0x0d, 0xcb, 0x8a, 0x45, 0x44, + 0x9e, 0xbf, 0x71, 0xa2, 0x18, 0x63, 0x48, 0x64, 0xf0, 0x20, 0x47, 0x1e, 0x42, 0x7d, 0x97, 0x8e, + 0x30, 0x6e, 0x0c, 0xba, 0x01, 0xad, 0xc4, 0x5c, 0x4a, 0xb8, 0xff, 0xd0, 0x66, 0x23, 0x06, 0x94, + 0x2c, 0x2e, 0x72, 0x74, 0xd3, 0xf7, 0x8c, 0xb8, 0xb7, 0x58, 0x8c, 0xc5, 0xa5, 0x9c, 0xdd, 0xbe, + 0x80, 0xe5, 0x94, 0xb3, 0x97, 0xe2, 0x6e, 0xd7, 0x39, 0xa0, 0x6d, 0xde, 0xbd, 0x9e, 0x40, 0xe4, + 0xfb, 0x3d, 0x68, 0xf0, 0x18, 0xe9, 0x27, 0x94, 0xdf, 0xfb, 0x4e, 0x44, 0xc0, 0xd3, 0x2f, 0x95, + 0x27, 0x59, 0x12, 0x4f, 0xf0, 0x04, 0x5f, 0x6b, 0xd2, 0x6e, 0x55, 0xab, 0x71, 0x4d, 0xdf, 0xf4, + 0x56, 0xe3, 0x9a, 0x75, 0x81, 0xfb, 0x73, 0xa8, 0x3d, 0xa1, 0xa1, 0xbc, 0xa7, 0xac, 0xe4, 0xa3, + 0xc4, 0xc5, 0xe5, 0xcd, 0x8c, 0xdb, 0xe5, 0xe4, 0x13, 0x4c, 0xaa, 0x62, 0x6e, 0xac, 0x6b, 0xa5, + 0xe8, 0x49, 0x97, 0x12, 0x70, 0x26, 0x7d, 0x68, 0x91, 0x77, 0x54, 0xc5, 0xd3, 0x91, 0x96, 0x54, + 0xc5, 0xb3, 0x02, 0xf5, 0xfc, 0x2c, 0xef, 0x01, 0xed, 0x66, 0x74, 0x24, 0x82, 0x25, 0x2f, 0x51, + 0xab, 0xea, 0xeb, 0xe4, 0x8f, 0x00, 0x06, 0xa1, 0x37, 0xdb, 0xb5, 0xe9, 0xd4, 0x73, 0x23, 0x9e, + 0x10, 0xdd, 0xc9, 0x8d, 0x16, 0xa2, 0x76, 0x31, 0x97, 0x7c, 0xa9, 0xc9, 0xa6, 0xb1, 0x21, 0x91, + 0xc3, 0x7e, 0xed, 0xb5, 0x5d, 0xd5, 0x9c, 0x8c, 0xab, 0xbb, 0xc8, 0x24, 0x20, 0xf2, 0xa5, 0x53, + 0x92, 0x66, 0xca, 0x4d, 0x4f, 0xad, 0xf5, 0x0c, 0xc7, 0xbb, 0xef, 0x42, 0x35, 0x72, 0x42, 0xda, + 0x88, 0xc2, 0x80, 0xc5, 0x5c, 0x96, 0x14, 0xf7, 0x4e, 0x3b, 0x00, 0xf5, 0x60, 0x85, 0x57, 0x47, + 0x6d, 0x7f, 0x78, 0x57, 0x53, 0x3d, 0x36, 0x96, 0xf6, 0xbc, 0x51, 0xeb, 0x27, 0xcb, 0x7f, 0x84, + 0xad, 0x9f, 0x94, 0x83, 0x81, 0x5a, 0x3f, 0xd7, 0x39, 0x96, 0xa8, 0xf5, 0x73, 0xbd, 0x6f, 0x42, + 0x0f, 0x56, 0x32, 0x5c, 0x05, 0xc8, 0x1b, 0xf2, 0x60, 0x73, 0xad, 0x1b, 0xc1, 0x66, 0xa6, 0x49, + 0x99, 0x0c, 0x61, 0x83, 0xa7, 0x69, 0x4f, 0x26, 0x09, 0xcb, 0xf4, 0xeb, 0x5a, 0x82, 0x0c, 0x6b, + 0x7b, 0x4c, 0x94, 0x49, 0x58, 0xdc, 0x7b, 0xd0, 0x4c, 0x1a, 0x75, 0xc9, 0xf5, 0xe4, 0x9b, 0x77, + 0x62, 0x22, 0x7b, 0xda, 0x10, 0x4c, 0xbe, 0x50, 0xa6, 0xe5, 0x44, 0x1d, 0xef, 0x44, 0x8f, 0x66, + 0x66, 0x1a, 0xc2, 0xd5, 0x69, 0x20, 0xd3, 0x32, 0x4d, 0x7e, 0x0e, 0x36, 0x92, 0x33, 0x5a, 0xe6, + 0x7c, 0x37, 0xab, 0xbb, 0xae, 0x15, 0xe5, 0xe2, 0x0d, 0x7a, 0x90, 0x63, 0x8c, 0x58, 0x37, 0x00, + 0xab, 0x89, 0x94, 0x61, 0x89, 0x56, 0x13, 0x29, 0xd3, 0x62, 0x7c, 0x04, 0x4b, 0x09, 0xdb, 0xaf, + 0x12, 0x83, 0xb3, 0xad, 0xc5, 0x4a, 0x0c, 0xbe, 0xce, 0x64, 0x3c, 0x80, 0x66, 0xd2, 0xaa, 0xab, + 0xc6, 0xfa, 0x1a, 0x4b, 0xf1, 0xe6, 0x9d, 0x6b, 0xf1, 0xf1, 0x6a, 0x6a, 0xf6, 0xcf, 0x58, 0x35, + 0xd3, 0x56, 0xdb, 0x58, 0x35, 0x33, 0xac, 0xaf, 0xdb, 0xef, 0xfc, 0xf0, 0x5b, 0x67, 0x4e, 0x78, + 0x3e, 0x3f, 0xd9, 0x1a, 0x79, 0xd3, 0x0f, 0x26, 0x52, 0xab, 0x21, 0x02, 0x29, 0x7c, 0x30, 0x71, + 0xc7, 0x1f, 0x60, 0x06, 0x27, 0x0b, 0x33, 0xdf, 0x0b, 0xbd, 0x8f, 0xfe, 0x5f, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x39, 0x9e, 0x83, 0x60, 0x81, 0x93, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -13810,7 +13872,7 @@ type LightningClient interface { // lncli: `sendcoins` //SendCoins executes a request to send coins to a particular address. Unlike //SendMany, this RPC call only allows creating a single output at a time. If - //neither target_conf, or sat_per_byte are set, then the internal wallet will + //neither target_conf, or sat_per_vbyte are set, then the internal wallet will //consult its fee model to determine a fee for the default confirmation //target. SendCoins(ctx context.Context, in *SendCoinsRequest, opts ...grpc.CallOption) (*SendCoinsResponse, error) @@ -13827,7 +13889,7 @@ type LightningClient interface { SubscribeTransactions(ctx context.Context, in *GetTransactionsRequest, opts ...grpc.CallOption) (Lightning_SubscribeTransactionsClient, error) // lncli: `sendmany` //SendMany handles a request for a transaction that creates multiple specified - //outputs in parallel. If neither target_conf, or sat_per_byte are set, then + //outputs in parallel. If neither target_conf, or sat_per_vbyte are set, then //the internal wallet will consult its fee model to determine a fee for the //default confirmation target. SendMany(ctx context.Context, in *SendManyRequest, opts ...grpc.CallOption) (*SendManyResponse, error) @@ -14956,7 +15018,7 @@ type LightningServer interface { // lncli: `sendcoins` //SendCoins executes a request to send coins to a particular address. Unlike //SendMany, this RPC call only allows creating a single output at a time. If - //neither target_conf, or sat_per_byte are set, then the internal wallet will + //neither target_conf, or sat_per_vbyte are set, then the internal wallet will //consult its fee model to determine a fee for the default confirmation //target. SendCoins(context.Context, *SendCoinsRequest) (*SendCoinsResponse, error) @@ -14973,7 +15035,7 @@ type LightningServer interface { SubscribeTransactions(*GetTransactionsRequest, Lightning_SubscribeTransactionsServer) error // lncli: `sendmany` //SendMany handles a request for a transaction that creates multiple specified - //outputs in parallel. If neither target_conf, or sat_per_byte are set, then + //outputs in parallel. If neither target_conf, or sat_per_vbyte are set, then //the internal wallet will consult its fee model to determine a fee for the //default confirmation target. SendMany(context.Context, *SendManyRequest) (*SendManyResponse, error) diff --git a/lnrpc/rpc.proto b/lnrpc/rpc.proto index 28020f70..1582a0ec 100644 --- a/lnrpc/rpc.proto +++ b/lnrpc/rpc.proto @@ -58,7 +58,7 @@ service Lightning { /* lncli: `sendcoins` SendCoins executes a request to send coins to a particular address. Unlike SendMany, this RPC call only allows creating a single output at a time. If - neither target_conf, or sat_per_byte are set, then the internal wallet will + neither target_conf, or sat_per_vbyte are set, then the internal wallet will consult its fee model to determine a fee for the default confirmation target. */ @@ -82,7 +82,7 @@ service Lightning { /* lncli: `sendmany` SendMany handles a request for a transaction that creates multiple specified - outputs in parallel. If neither target_conf, or sat_per_byte are set, then + outputs in parallel. If neither target_conf, or sat_per_vbyte are set, then the internal wallet will consult its fee model to determine a fee for the default confirmation target. */ @@ -902,8 +902,12 @@ message EstimateFeeResponse { // The total fee in satoshis. int64 fee_sat = 1; - // The fee rate in satoshi/byte. - int64 feerate_sat_per_byte = 2; + // Deprecated, use sat_per_vbyte. + // The fee rate in satoshi/vbyte. + int64 feerate_sat_per_byte = 2 [deprecated = true]; + + // The fee rate in satoshi/vbyte. + uint64 sat_per_vbyte = 3; } message SendManyRequest { @@ -914,9 +918,14 @@ message SendManyRequest { // by. int32 target_conf = 3; - // A manual fee rate set in sat/byte that should be used when crafting the + // A manual fee rate set in sat/vbyte that should be used when crafting the // transaction. - int64 sat_per_byte = 5; + uint64 sat_per_vbyte = 4; + + // Deprecated, use sat_per_vbyte. + // A manual fee rate set in sat/vbyte that should be used when crafting the + // transaction. + int64 sat_per_byte = 5 [deprecated = true]; // An optional label for the transaction, limited to 500 characters. string label = 6; @@ -944,9 +953,14 @@ message SendCoinsRequest { // by. int32 target_conf = 3; - // A manual fee rate set in sat/byte that should be used when crafting the + // A manual fee rate set in sat/vbyte that should be used when crafting the // transaction. - int64 sat_per_byte = 5; + uint64 sat_per_vbyte = 4; + + // Deprecated, use sat_per_vbyte. + // A manual fee rate set in sat/vbyte that should be used when crafting the + // transaction. + int64 sat_per_byte = 5 [deprecated = true]; /* If set, then the amount field will be ignored, and lnd will attempt to @@ -1685,9 +1699,10 @@ message CloseChannelRequest { // confirmed by. int32 target_conf = 3; - // A manual fee rate set in sat/byte that should be used when crafting the + // Deprecated, use sat_per_vbyte. + // A manual fee rate set in sat/vbyte that should be used when crafting the // closure transaction. - int64 sat_per_byte = 4; + int64 sat_per_byte = 4 [deprecated = true]; /* An optional address to send funds to in the case of a cooperative close. @@ -1696,6 +1711,10 @@ message CloseChannelRequest { to the upfront shutdown addresss. */ string delivery_address = 5; + + // A manual fee rate set in sat/vbyte that should be used when crafting the + // closure transaction. + uint64 sat_per_vbyte = 6; } message CloseStatusUpdate { @@ -1733,6 +1752,10 @@ message ReadyForPsbtFunding { } message OpenChannelRequest { + // A manual fee rate set in sat/vbyte that should be used when crafting the + // funding transaction. + uint64 sat_per_vbyte = 1; + /* The pubkey of the node to open a channel with. When using REST, this field must be encoded as base64. @@ -1756,9 +1779,10 @@ message OpenChannelRequest { // confirmed by. int32 target_conf = 6; - // A manual fee rate set in sat/byte that should be used when crafting the + // Deprecated, use sat_per_vbyte. + // A manual fee rate set in sat/vbyte that should be used when crafting the // funding transaction. - int64 sat_per_byte = 7; + int64 sat_per_byte = 7 [deprecated = true]; // Whether this channel should be private, not announced to the greater // network. diff --git a/lnrpc/rpc.swagger.json b/lnrpc/rpc.swagger.json index 37d5b778..bf2c7151 100644 --- a/lnrpc/rpc.swagger.json +++ b/lnrpc/rpc.swagger.json @@ -672,7 +672,7 @@ }, { "name": "sat_per_byte", - "description": "A manual fee rate set in sat/byte that should be used when crafting the\nclosure transaction.", + "description": "Deprecated, use sat_per_vbyte.\nA manual fee rate set in sat/vbyte that should be used when crafting the\nclosure transaction.", "in": "query", "required": false, "type": "string", @@ -684,6 +684,14 @@ "in": "query", "required": false, "type": "string" + }, + { + "name": "sat_per_vbyte", + "description": "A manual fee rate set in sat/vbyte that should be used when crafting the\nclosure transaction.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" } ], "tags": [ @@ -1954,7 +1962,7 @@ ] }, "post": { - "summary": "lncli: `sendcoins`\nSendCoins executes a request to send coins to a particular address. Unlike\nSendMany, this RPC call only allows creating a single output at a time. If\nneither target_conf, or sat_per_byte are set, then the internal wallet will\nconsult its fee model to determine a fee for the default confirmation\ntarget.", + "summary": "lncli: `sendcoins`\nSendCoins executes a request to send coins to a particular address. Unlike\nSendMany, this RPC call only allows creating a single output at a time. If\nneither target_conf, or sat_per_vbyte are set, then the internal wallet will\nconsult its fee model to determine a fee for the default confirmation\ntarget.", "operationId": "SendCoins", "responses": { "200": { @@ -2021,7 +2029,7 @@ }, "/v1/transactions/many": { "post": { - "summary": "lncli: `sendmany`\nSendMany handles a request for a transaction that creates multiple specified\noutputs in parallel. If neither target_conf, or sat_per_byte are set, then\nthe internal wallet will consult its fee model to determine a fee for the\ndefault confirmation target.", + "summary": "lncli: `sendmany`\nSendMany handles a request for a transaction that creates multiple specified\noutputs in parallel. If neither target_conf, or sat_per_vbyte are set, then\nthe internal wallet will consult its fee model to determine a fee for the\ndefault confirmation target.", "operationId": "SendMany", "responses": { "200": { @@ -3397,7 +3405,12 @@ "feerate_sat_per_byte": { "type": "string", "format": "int64", - "description": "The fee rate in satoshi/byte." + "description": "Deprecated, use sat_per_vbyte.\nThe fee rate in satoshi/vbyte." + }, + "sat_per_vbyte": { + "type": "string", + "format": "uint64", + "description": "The fee rate in satoshi/vbyte." } } }, @@ -4640,6 +4653,11 @@ "lnrpcOpenChannelRequest": { "type": "object", "properties": { + "sat_per_vbyte": { + "type": "string", + "format": "uint64", + "description": "A manual fee rate set in sat/vbyte that should be used when crafting the\nfunding transaction." + }, "node_pubkey": { "type": "string", "format": "byte", @@ -4667,7 +4685,7 @@ "sat_per_byte": { "type": "string", "format": "int64", - "description": "A manual fee rate set in sat/byte that should be used when crafting the\nfunding transaction." + "description": "Deprecated, use sat_per_vbyte.\nA manual fee rate set in sat/vbyte that should be used when crafting the\nfunding transaction." }, "private": { "type": "boolean", @@ -5344,10 +5362,15 @@ "format": "int32", "description": "The target number of blocks that this transaction should be confirmed\nby." }, + "sat_per_vbyte": { + "type": "string", + "format": "uint64", + "description": "A manual fee rate set in sat/vbyte that should be used when crafting the\ntransaction." + }, "sat_per_byte": { "type": "string", "format": "int64", - "description": "A manual fee rate set in sat/byte that should be used when crafting the\ntransaction." + "description": "Deprecated, use sat_per_vbyte.\nA manual fee rate set in sat/vbyte that should be used when crafting the\ntransaction." }, "send_all": { "type": "boolean", @@ -5395,10 +5418,15 @@ "format": "int32", "description": "The target number of blocks that this transaction should be confirmed\nby." }, + "sat_per_vbyte": { + "type": "string", + "format": "uint64", + "description": "A manual fee rate set in sat/vbyte that should be used when crafting the\ntransaction." + }, "sat_per_byte": { "type": "string", "format": "int64", - "description": "A manual fee rate set in sat/byte that should be used when crafting the\ntransaction." + "description": "Deprecated, use sat_per_vbyte.\nA manual fee rate set in sat/vbyte that should be used when crafting the\ntransaction." }, "label": { "type": "string", diff --git a/lnrpc/walletrpc/walletkit.pb.go b/lnrpc/walletrpc/walletkit.pb.go index 04a8c15a..15675609 100644 --- a/lnrpc/walletrpc/walletkit.pb.go +++ b/lnrpc/walletrpc/walletkit.pb.go @@ -839,10 +839,11 @@ type PendingSweep struct { // The value of the output we're attempting to sweep. AmountSat uint32 `protobuf:"varint,3,opt,name=amount_sat,json=amountSat,proto3" json:"amount_sat,omitempty"` // - //The fee rate we'll use to sweep the output. The fee rate is only determined - //once a sweeping transaction for the output is created, so it's possible for - //this to be 0 before this. - SatPerByte uint32 `protobuf:"varint,4,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` + //Deprecated, use sat_per_vbyte. + //The fee rate we'll use to sweep the output, expressed in sat/vbyte. The fee + //rate is only determined once a sweeping transaction for the output is + //created, so it's possible for this to be 0 before this. + SatPerByte uint32 `protobuf:"varint,4,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` // Deprecated: Do not use. // The number of broadcast attempts we've made to sweep the output. BroadcastAttempts uint32 `protobuf:"varint,5,opt,name=broadcast_attempts,json=broadcastAttempts,proto3" json:"broadcast_attempts,omitempty"` // @@ -851,8 +852,16 @@ type PendingSweep struct { NextBroadcastHeight uint32 `protobuf:"varint,6,opt,name=next_broadcast_height,json=nextBroadcastHeight,proto3" json:"next_broadcast_height,omitempty"` // The requested confirmation target for this output. RequestedConfTarget uint32 `protobuf:"varint,8,opt,name=requested_conf_target,json=requestedConfTarget,proto3" json:"requested_conf_target,omitempty"` - // The requested fee rate, expressed in sat/byte, for this output. - RequestedSatPerByte uint32 `protobuf:"varint,9,opt,name=requested_sat_per_byte,json=requestedSatPerByte,proto3" json:"requested_sat_per_byte,omitempty"` + // Deprecated, use requested_sat_per_vbyte. + // The requested fee rate, expressed in sat/vbyte, for this output. + RequestedSatPerByte uint32 `protobuf:"varint,9,opt,name=requested_sat_per_byte,json=requestedSatPerByte,proto3" json:"requested_sat_per_byte,omitempty"` // Deprecated: Do not use. + // + //The fee rate we'll use to sweep the output, expressed in sat/vbyte. The fee + //rate is only determined once a sweeping transaction for the output is + //created, so it's possible for this to be 0 before this. + SatPerVbyte uint64 `protobuf:"varint,10,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"` + // The requested fee rate, expressed in sat/vbyte, for this output. + RequestedSatPerVbyte uint64 `protobuf:"varint,11,opt,name=requested_sat_per_vbyte,json=requestedSatPerVbyte,proto3" json:"requested_sat_per_vbyte,omitempty"` // //Whether this input must be force-swept. This means that it is swept even //if it has a negative yield. @@ -908,6 +917,7 @@ func (m *PendingSweep) GetAmountSat() uint32 { return 0 } +// Deprecated: Do not use. func (m *PendingSweep) GetSatPerByte() uint32 { if m != nil { return m.SatPerByte @@ -936,6 +946,7 @@ func (m *PendingSweep) GetRequestedConfTarget() uint32 { return 0 } +// Deprecated: Do not use. func (m *PendingSweep) GetRequestedSatPerByte() uint32 { if m != nil { return m.RequestedSatPerByte @@ -943,6 +954,20 @@ func (m *PendingSweep) GetRequestedSatPerByte() uint32 { return 0 } +func (m *PendingSweep) GetSatPerVbyte() uint64 { + if m != nil { + return m.SatPerVbyte + } + return 0 +} + +func (m *PendingSweep) GetRequestedSatPerVbyte() uint64 { + if m != nil { + return m.RequestedSatPerVbyte + } + return 0 +} + func (m *PendingSweep) GetForce() bool { if m != nil { return m.Force @@ -1028,13 +1053,18 @@ type BumpFeeRequest struct { // The target number of blocks that the input should be spent within. TargetConf uint32 `protobuf:"varint,2,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"` // - //The fee rate, expressed in sat/byte, that should be used to spend the input + //Deprecated, use sat_per_vbyte. + //The fee rate, expressed in sat/vbyte, that should be used to spend the input //with. - SatPerByte uint32 `protobuf:"varint,3,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` + SatPerByte uint32 `protobuf:"varint,3,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` // Deprecated: Do not use. // //Whether this input must be force-swept. This means that it is swept even //if it has a negative yield. - Force bool `protobuf:"varint,4,opt,name=force,proto3" json:"force,omitempty"` + Force bool `protobuf:"varint,4,opt,name=force,proto3" json:"force,omitempty"` + // + //The fee rate, expressed in sat/vbyte, that should be used to spend the input + //with. + SatPerVbyte uint64 `protobuf:"varint,5,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1079,6 +1109,7 @@ func (m *BumpFeeRequest) GetTargetConf() uint32 { return 0 } +// Deprecated: Do not use. func (m *BumpFeeRequest) GetSatPerByte() uint32 { if m != nil { return m.SatPerByte @@ -1093,6 +1124,13 @@ func (m *BumpFeeRequest) GetForce() bool { return false } +func (m *BumpFeeRequest) GetSatPerVbyte() uint64 { + if m != nil { + return m.SatPerVbyte + } + return 0 +} + type BumpFeeResponse struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -1464,7 +1502,7 @@ type FundPsbtRequest_TargetConf struct { } type FundPsbtRequest_SatPerVbyte struct { - SatPerVbyte uint32 `protobuf:"varint,4,opt,name=sat_per_vbyte,json=satPerVbyte,proto3,oneof"` + SatPerVbyte uint64 `protobuf:"varint,4,opt,name=sat_per_vbyte,json=satPerVbyte,proto3,oneof"` } func (*FundPsbtRequest_TargetConf) isFundPsbtRequest_Fees() {} @@ -1485,7 +1523,7 @@ func (m *FundPsbtRequest) GetTargetConf() uint32 { return 0 } -func (m *FundPsbtRequest) GetSatPerVbyte() uint32 { +func (m *FundPsbtRequest) GetSatPerVbyte() uint64 { if x, ok := m.GetFees().(*FundPsbtRequest_SatPerVbyte); ok { return x.SatPerVbyte } @@ -1885,123 +1923,125 @@ func init() { func init() { proto.RegisterFile("walletrpc/walletkit.proto", fileDescriptor_6cc6942ac78249e5) } var fileDescriptor_6cc6942ac78249e5 = []byte{ - // 1851 bytes of a gzipped FileDescriptorProto + // 1887 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x5f, 0x73, 0xe2, 0xc8, - 0x11, 0x5f, 0x0c, 0xc6, 0xd0, 0x80, 0x8d, 0x07, 0xbc, 0x66, 0x59, 0xef, 0xd9, 0xab, 0x4b, 0x72, - 0x4e, 0xee, 0x0e, 0x57, 0xbc, 0x75, 0x97, 0x3d, 0x27, 0x95, 0x8a, 0x8d, 0xe5, 0xc2, 0x05, 0x06, - 0x67, 0xc0, 0xeb, 0xda, 0xe4, 0x41, 0x25, 0xd0, 0xd8, 0x56, 0x19, 0x24, 0x9d, 0x34, 0x18, 0xc8, - 0xd3, 0x7d, 0x8a, 0x54, 0x5d, 0x55, 0xbe, 0xc3, 0x3d, 0xe4, 0x35, 0x1f, 0x2e, 0x35, 0x7f, 0x10, - 0x23, 0x81, 0x6f, 0x93, 0x4a, 0x9e, 0xd0, 0xf4, 0xaf, 0xbb, 0xa7, 0xa7, 0xbb, 0x67, 0xba, 0x1b, - 0x78, 0x35, 0x31, 0x87, 0x43, 0x42, 0x7d, 0x6f, 0x70, 0x24, 0xbe, 0x1e, 0x6d, 0x5a, 0xf3, 0x7c, - 0x97, 0xba, 0x28, 0x1b, 0x42, 0xd5, 0xac, 0xef, 0x0d, 0x04, 0xb5, 0x5a, 0x0e, 0xec, 0x7b, 0x87, - 0xb1, 0xb3, 0x5f, 0xe2, 0x0b, 0xaa, 0xd6, 0x06, 0xd4, 0xb2, 0x03, 0x7a, 0xe3, 0x04, 0x1e, 0x71, - 0x28, 0x26, 0xdf, 0x8f, 0x49, 0x40, 0xd1, 0x6b, 0xc8, 0x8e, 0x6c, 0xc7, 0x18, 0xb8, 0xce, 0x5d, - 0x50, 0x49, 0x1c, 0x24, 0x0e, 0xd7, 0x71, 0x66, 0x64, 0x3b, 0x75, 0xb6, 0xe6, 0xa0, 0x39, 0x95, - 0xe0, 0x9a, 0x04, 0xcd, 0x29, 0x07, 0xb5, 0xf7, 0x50, 0x8a, 0xe8, 0x0b, 0x3c, 0xd7, 0x09, 0x08, - 0x7a, 0x0b, 0xeb, 0x63, 0x3a, 0x75, 0x99, 0xb2, 0xe4, 0x61, 0xee, 0x38, 0x57, 0x1b, 0x32, 0x53, - 0x6a, 0x37, 0x74, 0xea, 0x62, 0x81, 0x68, 0x3f, 0x24, 0x00, 0xb5, 0x88, 0x19, 0x90, 0xce, 0x98, - 0x7a, 0xe3, 0xd0, 0x94, 0x4d, 0x58, 0xb3, 0x2d, 0x6e, 0x43, 0x1e, 0xaf, 0xd9, 0x16, 0xfa, 0x12, - 0x32, 0xee, 0x98, 0x7a, 0xae, 0xed, 0x50, 0xbe, 0x79, 0xee, 0x78, 0x4b, 0x2a, 0xeb, 0x8c, 0xe9, - 0x35, 0x23, 0xe3, 0x90, 0x01, 0x7d, 0x0d, 0x88, 0x4c, 0x3d, 0xdb, 0x37, 0xa9, 0xed, 0x3a, 0x46, - 0x40, 0x06, 0xae, 0x63, 0x05, 0x95, 0xe4, 0x41, 0xe2, 0x30, 0x85, 0xb7, 0x17, 0x48, 0x57, 0x00, - 0xda, 0x37, 0x50, 0x8a, 0x58, 0x20, 0x8d, 0xff, 0x0c, 0x60, 0xc1, 0xcb, 0x4d, 0x49, 0x61, 0x85, - 0xa2, 0x75, 0xa1, 0x8c, 0xc9, 0xf0, 0xff, 0x6b, 0xba, 0xb6, 0x0b, 0x3b, 0x31, 0xa5, 0xc2, 0x1a, - 0xed, 0xcf, 0x90, 0x6e, 0x92, 0x19, 0x26, 0xdf, 0xa3, 0x43, 0x28, 0x3e, 0x92, 0x99, 0x71, 0x67, - 0x3b, 0xf7, 0xc4, 0x37, 0x3c, 0x9f, 0xe9, 0x15, 0xc1, 0xda, 0x7c, 0x24, 0xb3, 0x0b, 0x4e, 0xbe, - 0x66, 0x54, 0xf4, 0x06, 0x80, 0x73, 0x9a, 0x23, 0x7b, 0x38, 0x93, 0x31, 0xcb, 0x32, 0x1e, 0x4e, - 0xd0, 0x0a, 0x90, 0x3b, 0xb5, 0x2c, 0x5f, 0xda, 0xad, 0x69, 0x90, 0x17, 0x4b, 0x79, 0x7e, 0x04, - 0x29, 0xd3, 0xb2, 0x7c, 0xae, 0x3b, 0x8b, 0xf9, 0xb7, 0x76, 0x02, 0xb9, 0x9e, 0x6f, 0x3a, 0x81, - 0x39, 0x60, 0x2e, 0x40, 0x3b, 0x90, 0xa6, 0x53, 0xe3, 0x81, 0x4c, 0xe5, 0x71, 0xd7, 0xe9, 0xb4, - 0x41, 0xa6, 0xa8, 0x0c, 0xeb, 0x43, 0xb3, 0x4f, 0x86, 0x7c, 0xcb, 0x2c, 0x16, 0x0b, 0xed, 0x5b, - 0xd8, 0xba, 0x1e, 0xf7, 0x87, 0x76, 0xf0, 0x10, 0x6e, 0xf1, 0x39, 0x14, 0x3c, 0x41, 0x32, 0x88, - 0xef, 0xbb, 0xf3, 0xbd, 0xf2, 0x92, 0xa8, 0x33, 0x9a, 0xf6, 0xaf, 0x04, 0xa0, 0x2e, 0x71, 0x2c, - 0xe1, 0x90, 0x60, 0xee, 0xe6, 0x3d, 0x80, 0xc0, 0xa4, 0x86, 0x47, 0x7c, 0xe3, 0x71, 0xc2, 0x05, - 0x93, 0x38, 0x13, 0x98, 0xf4, 0x9a, 0xf8, 0xcd, 0x09, 0x3a, 0x84, 0x0d, 0x57, 0xf0, 0x57, 0xd6, - 0x78, 0xee, 0x6d, 0xd6, 0xe4, 0x45, 0xa8, 0xf5, 0xa6, 0x9d, 0x31, 0xc5, 0x73, 0x78, 0x61, 0x6c, - 0x52, 0x31, 0x36, 0x7a, 0x15, 0x52, 0xb1, 0xab, 0xf0, 0x25, 0x6c, 0xb3, 0x3c, 0xb7, 0x8c, 0xb1, - 0xc3, 0x18, 0x6c, 0x7f, 0x44, 0xac, 0xca, 0xfa, 0x41, 0xe2, 0x30, 0x83, 0x8b, 0x1c, 0xb8, 0x59, - 0xd0, 0xb5, 0xaf, 0xa0, 0x14, 0xb1, 0x5e, 0x1e, 0x7d, 0x07, 0xd2, 0xbe, 0x39, 0x31, 0x68, 0xe8, - 0x3a, 0xdf, 0x9c, 0xf4, 0xa6, 0xda, 0x37, 0x80, 0xf4, 0x80, 0xda, 0x23, 0x93, 0x92, 0x0b, 0x42, - 0xe6, 0x67, 0xdd, 0x87, 0x1c, 0x53, 0x68, 0x50, 0xd3, 0xbf, 0x27, 0xf3, 0x68, 0x03, 0x23, 0xf5, - 0x38, 0x45, 0x7b, 0x07, 0xa5, 0x88, 0x98, 0xdc, 0xe4, 0x67, 0x7d, 0xa4, 0xfd, 0x98, 0x84, 0xfc, - 0x35, 0x71, 0x2c, 0xdb, 0xb9, 0xef, 0x4e, 0x08, 0xf1, 0x22, 0x99, 0x9a, 0xf8, 0xd4, 0x25, 0xfb, - 0x0e, 0xf2, 0x13, 0x9b, 0x3a, 0x24, 0x08, 0x0c, 0x3a, 0xf3, 0x08, 0x8f, 0xf5, 0xe6, 0xf1, 0xcb, - 0x5a, 0xf8, 0x0a, 0xd5, 0x6e, 0x05, 0xdc, 0x9b, 0x79, 0x04, 0xe7, 0x26, 0x8b, 0x05, 0xcb, 0x4b, - 0x73, 0xe4, 0x8e, 0x1d, 0x6a, 0x04, 0x26, 0xe5, 0x7e, 0x2f, 0xe0, 0xac, 0xa0, 0x74, 0x4d, 0x8a, - 0x0e, 0x20, 0x3f, 0xb7, 0xba, 0x3f, 0xa3, 0x84, 0xbb, 0xbf, 0x80, 0x41, 0xd8, 0x7d, 0x36, 0xa3, - 0x84, 0x5d, 0xf0, 0xbe, 0xef, 0x9a, 0xd6, 0xc0, 0x0c, 0xa8, 0x61, 0x52, 0x4a, 0x46, 0x1e, 0x0d, - 0x78, 0x04, 0x0a, 0x78, 0x3b, 0x44, 0x4e, 0x25, 0x80, 0x8e, 0x61, 0xc7, 0x21, 0x53, 0x6a, 0x2c, - 0x64, 0x1e, 0x88, 0x7d, 0xff, 0x40, 0x2b, 0x69, 0x2e, 0x51, 0x62, 0xe0, 0xd9, 0x1c, 0x6b, 0x70, - 0x88, 0xc9, 0xf8, 0xc2, 0xfb, 0xc4, 0x32, 0x54, 0xe7, 0x67, 0x84, 0x4c, 0x08, 0xd6, 0xc3, 0x28, - 0xa0, 0x77, 0xf0, 0x72, 0x21, 0x13, 0x39, 0x42, 0x36, 0x26, 0xd4, 0x5d, 0x9c, 0xa5, 0x0c, 0xeb, - 0x77, 0xae, 0x3f, 0x20, 0x95, 0x0d, 0x9e, 0x40, 0x62, 0xa1, 0xbd, 0x84, 0xb2, 0x1a, 0x9a, 0x79, - 0xd6, 0x6b, 0xb7, 0xb0, 0x13, 0xa3, 0xcb, 0x50, 0xff, 0x11, 0x36, 0x3d, 0x01, 0x18, 0x01, 0x47, - 0xe4, 0x9b, 0xbb, 0xab, 0x04, 0x44, 0x95, 0xc4, 0x05, 0x4f, 0xd5, 0xa3, 0xfd, 0x3d, 0x01, 0x9b, - 0x67, 0xe3, 0x91, 0xa7, 0x64, 0xdd, 0x7f, 0x95, 0x0e, 0xfb, 0x90, 0x13, 0x0e, 0xe2, 0xce, 0xe2, - 0xd9, 0x50, 0xc0, 0x20, 0x48, 0xcc, 0x45, 0x4b, 0x51, 0x4d, 0x2e, 0x45, 0x35, 0xf4, 0x44, 0x4a, - 0xf5, 0xc4, 0x36, 0x6c, 0x85, 0x76, 0xc9, 0xb7, 0xf0, 0x6b, 0xd8, 0x66, 0xd5, 0x26, 0xe2, 0x19, - 0x54, 0x81, 0x8d, 0x27, 0xe2, 0xf7, 0xdd, 0x80, 0x70, 0x63, 0x33, 0x78, 0xbe, 0xd4, 0x7e, 0x58, - 0x13, 0xd5, 0x2e, 0xe6, 0xb1, 0x16, 0x94, 0xe8, 0xe2, 0x2d, 0x33, 0x2c, 0x42, 0x4d, 0x7b, 0x18, - 0xc8, 0x93, 0xbe, 0x92, 0x27, 0x55, 0x5e, 0xbb, 0x73, 0xc1, 0xd0, 0x78, 0x81, 0x11, 0x5d, 0xa2, - 0xa2, 0x5b, 0xd8, 0x52, 0xb5, 0xd9, 0x56, 0x20, 0x1f, 0xfb, 0xaf, 0x94, 0x00, 0x2c, 0x5b, 0xa1, - 0x6e, 0x70, 0x79, 0xce, 0x94, 0x6f, 0x2a, 0x6a, 0x2e, 0xad, 0xa0, 0xfa, 0x1d, 0x6c, 0x46, 0x79, - 0xd0, 0x17, 0xcb, 0x5b, 0xb1, 0x58, 0x67, 0xe3, 0xa2, 0x67, 0x19, 0x48, 0x8b, 0x5c, 0xd0, 0x4c, - 0xd8, 0x6d, 0xb1, 0x77, 0x4d, 0xd1, 0x34, 0xf7, 0x1b, 0x82, 0x14, 0x9d, 0x86, 0x05, 0x8b, 0x7f, - 0xaf, 0x7e, 0xc0, 0xd1, 0x1e, 0x64, 0xdd, 0x27, 0xe2, 0x4f, 0x7c, 0x5b, 0x86, 0x2f, 0x83, 0x17, - 0x04, 0xad, 0x0a, 0x95, 0xe5, 0x2d, 0x64, 0xc0, 0x7e, 0x4a, 0xc0, 0xd6, 0xc5, 0xd8, 0xb1, 0xae, - 0x83, 0x7e, 0x58, 0x26, 0xcb, 0x90, 0xf2, 0x82, 0xbe, 0xc8, 0xac, 0x7c, 0xe3, 0x05, 0xe6, 0x2b, - 0xf4, 0x6b, 0x48, 0xfa, 0xe6, 0x44, 0xba, 0x6e, 0x47, 0x71, 0x5d, 0x6f, 0xda, 0x23, 0x23, 0x6f, - 0x68, 0x52, 0xd2, 0x78, 0x81, 0x19, 0x0f, 0x7a, 0x1b, 0xcd, 0x38, 0x9e, 0x4f, 0x8d, 0x44, 0x24, - 0xe7, 0x7e, 0x01, 0x85, 0x79, 0xce, 0x3d, 0x2d, 0x9e, 0x92, 0x46, 0x02, 0xe7, 0x44, 0xda, 0x7d, - 0x60, 0xc4, 0x33, 0x80, 0x0c, 0x95, 0xba, 0xcf, 0xd2, 0x90, 0xba, 0x23, 0x24, 0xd0, 0xfe, 0x91, - 0x80, 0xe2, 0xc2, 0x62, 0x99, 0x31, 0xfb, 0x90, 0xbb, 0x1b, 0x3b, 0x16, 0xb1, 0x8c, 0x85, 0xe5, - 0x18, 0x04, 0x89, 0x31, 0xa2, 0x1a, 0x94, 0x06, 0x0f, 0xa6, 0x73, 0x4f, 0x0c, 0x51, 0x5d, 0x0c, - 0xdb, 0xb1, 0xc8, 0x54, 0x56, 0xde, 0x6d, 0x01, 0x89, 0x42, 0x70, 0xc9, 0x00, 0xf4, 0x3b, 0xc8, - 0x0f, 0xdd, 0xc1, 0x23, 0xb1, 0x0c, 0xd1, 0x26, 0x25, 0xf9, 0x95, 0x2d, 0x2b, 0xc7, 0x66, 0xad, - 0x12, 0x6f, 0x4e, 0x70, 0x4e, 0x70, 0xde, 0xf0, 0xae, 0xe9, 0xa7, 0x04, 0xc0, 0xc2, 0x23, 0xe8, - 0x0b, 0x48, 0xdb, 0x0e, 0x2f, 0x76, 0xe2, 0xd2, 0x2f, 0xdd, 0x53, 0x09, 0xa3, 0x3f, 0xc4, 0xcb, - 0xa2, 0xb6, 0xd2, 0xc5, 0x35, 0x59, 0xad, 0x74, 0x87, 0xfa, 0xb3, 0xb0, 0x54, 0x56, 0x4f, 0x20, - 0xaf, 0x02, 0xa8, 0x08, 0xc9, 0x47, 0x32, 0x93, 0x45, 0x9b, 0x7d, 0xb2, 0xc4, 0x79, 0x32, 0x87, - 0x63, 0x51, 0x0d, 0x52, 0x58, 0x2c, 0x4e, 0xd6, 0xde, 0x27, 0xb4, 0x07, 0xc8, 0x86, 0x67, 0xf9, - 0xdf, 0xba, 0xbb, 0x68, 0x5f, 0x96, 0x5c, 0xea, 0xcb, 0xbe, 0x85, 0xd2, 0x85, 0xed, 0x98, 0x43, - 0xfb, 0x6f, 0x44, 0xcd, 0xb7, 0x4f, 0x05, 0x4f, 0xfb, 0x08, 0xe5, 0xa8, 0xdc, 0x22, 0xea, 0xbc, - 0x77, 0x8e, 0x0a, 0x0a, 0x12, 0x8f, 0xfa, 0x01, 0xe4, 0x59, 0x29, 0xbf, 0x63, 0xc2, 0xac, 0xa0, - 0xaf, 0x09, 0x0e, 0xdf, 0x9c, 0x70, 0x7d, 0xbd, 0xa9, 0x56, 0x12, 0x0f, 0x16, 0x3f, 0x7c, 0xf8, - 0x94, 0x5f, 0x89, 0x57, 0x69, 0x4e, 0x94, 0xbb, 0xc5, 0x53, 0x22, 0xf1, 0x1f, 0xa6, 0xc4, 0x6f, - 0x7e, 0x4c, 0x42, 0x4e, 0xa9, 0xb8, 0xa8, 0x04, 0x5b, 0x37, 0xed, 0x66, 0xbb, 0x73, 0xdb, 0x36, - 0x6e, 0x2f, 0x7b, 0x6d, 0xbd, 0xdb, 0x2d, 0xbe, 0x40, 0x15, 0x28, 0xd7, 0x3b, 0x57, 0x57, 0x97, - 0xbd, 0x2b, 0xbd, 0xdd, 0x33, 0x7a, 0x97, 0x57, 0xba, 0xd1, 0xea, 0xd4, 0x9b, 0xc5, 0x04, 0xda, - 0x85, 0x92, 0x82, 0xb4, 0x3b, 0xc6, 0xb9, 0xde, 0x3a, 0xfd, 0x58, 0x5c, 0x43, 0x3b, 0xb0, 0xad, - 0x00, 0x58, 0xff, 0xd0, 0x69, 0xea, 0xc5, 0x24, 0xe3, 0x6f, 0xf4, 0x5a, 0x75, 0xa3, 0x73, 0x71, - 0xa1, 0x63, 0xfd, 0x7c, 0x0e, 0xa4, 0xd8, 0x16, 0x1c, 0x38, 0xad, 0xd7, 0xf5, 0xeb, 0xde, 0x02, - 0x59, 0x47, 0xbf, 0x84, 0xb7, 0x11, 0x11, 0xb6, 0x7d, 0xe7, 0xa6, 0x67, 0x74, 0xf5, 0x7a, 0xa7, - 0x7d, 0x6e, 0xb4, 0xf4, 0x0f, 0x7a, 0xab, 0x98, 0x46, 0xbf, 0x02, 0x2d, 0xaa, 0xa0, 0x7b, 0x53, - 0xaf, 0xeb, 0xdd, 0x6e, 0x94, 0x6f, 0x03, 0xed, 0xc3, 0xeb, 0x98, 0x05, 0x57, 0x9d, 0x9e, 0x3e, - 0xd7, 0x5a, 0xcc, 0xa0, 0x03, 0xd8, 0x8b, 0x5b, 0xc2, 0x39, 0xa4, 0xbe, 0x62, 0x16, 0xed, 0x41, - 0x85, 0x73, 0xa8, 0x9a, 0xe7, 0xf6, 0x02, 0x2a, 0x43, 0x51, 0x7a, 0xce, 0x68, 0xea, 0x1f, 0x8d, - 0xc6, 0x69, 0xb7, 0x51, 0xcc, 0xa1, 0xd7, 0xb0, 0xdb, 0xd6, 0xbb, 0x4c, 0xdd, 0x12, 0x98, 0x8f, - 0x39, 0xeb, 0xb4, 0x5d, 0x6f, 0x74, 0x70, 0xb1, 0x70, 0xfc, 0xcf, 0x2c, 0x64, 0x6f, 0x79, 0x00, - 0x9b, 0x36, 0x45, 0x2d, 0xc8, 0x29, 0xc3, 0x12, 0x7a, 0x13, 0x2b, 0x10, 0xd1, 0xa1, 0xac, 0xfa, - 0xd9, 0x73, 0x70, 0x58, 0xc6, 0x72, 0xca, 0xf4, 0x12, 0xd5, 0xb6, 0x34, 0x9c, 0x44, 0xb5, 0xad, - 0x18, 0x7a, 0x30, 0x14, 0x22, 0xf3, 0x07, 0xda, 0x57, 0x04, 0x56, 0x8d, 0x3b, 0xd5, 0x83, 0xe7, - 0x19, 0xa4, 0xce, 0x4b, 0x80, 0x45, 0xa2, 0xa3, 0xbd, 0xd8, 0x79, 0x22, 0x97, 0xa2, 0xfa, 0xe6, - 0x19, 0x54, 0xaa, 0x3a, 0x81, 0xc2, 0x39, 0xf1, 0xed, 0x27, 0xd2, 0x26, 0x53, 0xda, 0x24, 0x33, - 0xb4, 0xad, 0xf0, 0x8b, 0xf9, 0xa8, 0xfa, 0x32, 0xec, 0xf4, 0x9b, 0x64, 0x76, 0x4e, 0x82, 0x81, - 0x6f, 0x7b, 0xd4, 0xf5, 0xd1, 0x7b, 0xc8, 0x0a, 0x59, 0x26, 0x57, 0x52, 0x99, 0x5a, 0xee, 0xc0, - 0xa4, 0xae, 0xff, 0xac, 0xe4, 0xef, 0x21, 0xc3, 0xf6, 0x63, 0xd3, 0x11, 0x52, 0x1b, 0x5c, 0x65, - 0x7a, 0xaa, 0xee, 0x2e, 0xd1, 0xa5, 0xc9, 0x0d, 0x40, 0x72, 0xec, 0x51, 0x27, 0x27, 0x55, 0x8d, - 0x42, 0xaf, 0x56, 0xd5, 0x76, 0x2d, 0x36, 0x2d, 0xb5, 0x20, 0xa7, 0x4c, 0x12, 0x91, 0x48, 0x2f, - 0xcf, 0x47, 0x91, 0x48, 0xaf, 0x1a, 0x40, 0x5a, 0x90, 0x53, 0x46, 0x86, 0x88, 0xb6, 0xe5, 0x09, - 0x24, 0xa2, 0x6d, 0xd5, 0xa4, 0x81, 0xa1, 0x10, 0xe9, 0x4b, 0x23, 0x79, 0xb3, 0xaa, 0x93, 0x8d, - 0xe4, 0xcd, 0xea, 0x96, 0xf6, 0x4f, 0xb0, 0x21, 0x3b, 0x3f, 0xf4, 0x4a, 0x61, 0x8e, 0x76, 0xa9, - 0x11, 0x8f, 0xc5, 0x1a, 0xc5, 0x79, 0xe6, 0x49, 0x93, 0xf6, 0x9e, 0xe9, 0xc4, 0x56, 0x67, 0x5e, - 0xcc, 0x98, 0xbf, 0x42, 0x31, 0xde, 0xde, 0x20, 0xb5, 0x78, 0x3e, 0xd3, 0x5e, 0x55, 0x3f, 0xff, - 0x59, 0x1e, 0xa9, 0xbc, 0x0e, 0x99, 0x79, 0xb3, 0x81, 0xd4, 0xf3, 0xc4, 0x7a, 0xa6, 0xea, 0xeb, - 0x95, 0x98, 0x54, 0xd2, 0x81, 0xbc, 0x5a, 0xbf, 0x90, 0x1a, 0xb2, 0x15, 0x05, 0xb1, 0xba, 0xff, - 0x2c, 0x2e, 0x14, 0x9e, 0xfd, 0xf6, 0x2f, 0x47, 0xf7, 0x36, 0x7d, 0x18, 0xf7, 0x6b, 0x03, 0x77, - 0x74, 0x34, 0x64, 0x63, 0x91, 0x63, 0x3b, 0xf7, 0x0e, 0xa1, 0x13, 0xd7, 0x7f, 0x3c, 0x1a, 0x3a, - 0xd6, 0x11, 0x2f, 0xd2, 0x47, 0xa1, 0x9e, 0x7e, 0x9a, 0xff, 0xbd, 0xf4, 0xee, 0xdf, 0x01, 0x00, - 0x00, 0xff, 0xff, 0xad, 0x1e, 0xe8, 0xf0, 0xa7, 0x12, 0x00, 0x00, + 0x11, 0x5f, 0xfe, 0x98, 0x85, 0x16, 0xd8, 0x78, 0xc0, 0x6b, 0x96, 0xf5, 0x9e, 0xbd, 0xba, 0x24, + 0xe7, 0xe4, 0xee, 0x70, 0xc5, 0x57, 0x7b, 0xb7, 0xb7, 0x49, 0xa5, 0x62, 0x63, 0xb9, 0x70, 0x81, + 0xc1, 0x11, 0x78, 0x5d, 0x9b, 0x3c, 0xa8, 0x04, 0x1a, 0xdb, 0x2a, 0x83, 0xa4, 0x93, 0x06, 0x03, + 0x79, 0xba, 0xaf, 0x91, 0xaa, 0x7c, 0x87, 0x7b, 0xc8, 0x6b, 0x2a, 0x9f, 0x2c, 0x0f, 0xa9, 0xf9, + 0x83, 0x34, 0x12, 0xf8, 0x2e, 0xa9, 0xdc, 0x93, 0x51, 0xff, 0xba, 0x7b, 0xfa, 0xdf, 0x4c, 0x77, + 0x1b, 0x5e, 0xce, 0xcc, 0xf1, 0x18, 0x13, 0xdf, 0x1b, 0x1d, 0xf1, 0x5f, 0x0f, 0x36, 0x69, 0x78, + 0xbe, 0x4b, 0x5c, 0x54, 0x08, 0xa1, 0x7a, 0xc1, 0xf7, 0x46, 0x9c, 0x5a, 0xaf, 0x06, 0xf6, 0x9d, + 0x43, 0xd9, 0xe9, 0x5f, 0xec, 0x73, 0xaa, 0xda, 0x05, 0xd4, 0xb1, 0x03, 0x72, 0xed, 0x04, 0x1e, + 0x76, 0x88, 0x8e, 0xbf, 0x9b, 0xe2, 0x80, 0xa0, 0x57, 0x50, 0x98, 0xd8, 0x8e, 0x31, 0x72, 0x9d, + 0xdb, 0xa0, 0x96, 0x3a, 0x48, 0x1d, 0x6e, 0xe8, 0xf9, 0x89, 0xed, 0x34, 0xe9, 0x37, 0x03, 0xcd, + 0xb9, 0x00, 0xd3, 0x02, 0x34, 0xe7, 0x0c, 0x54, 0xdf, 0x41, 0x25, 0xa6, 0x2f, 0xf0, 0x5c, 0x27, + 0xc0, 0xe8, 0x0d, 0x6c, 0x4c, 0xc9, 0xdc, 0xa5, 0xca, 0x32, 0x87, 0xca, 0xb1, 0xd2, 0x18, 0x53, + 0x53, 0x1a, 0xd7, 0x64, 0xee, 0xea, 0x1c, 0x51, 0xbf, 0x4f, 0x01, 0xea, 0x60, 0x33, 0xc0, 0xbd, + 0x29, 0xf1, 0xa6, 0xa1, 0x29, 0x9b, 0x90, 0xb6, 0x2d, 0x66, 0x43, 0x51, 0x4f, 0xdb, 0x16, 0xfa, + 0x1c, 0xf2, 0xee, 0x94, 0x78, 0xae, 0xed, 0x10, 0x76, 0xb8, 0x72, 0xbc, 0x25, 0x94, 0xf5, 0xa6, + 0xe4, 0x8a, 0x92, 0xf5, 0x90, 0x01, 0x7d, 0x09, 0x08, 0xcf, 0x3d, 0xdb, 0x37, 0x89, 0xed, 0x3a, + 0x46, 0x80, 0x47, 0xae, 0x63, 0x05, 0xb5, 0xcc, 0x41, 0xea, 0x30, 0xab, 0x6f, 0x47, 0x48, 0x9f, + 0x03, 0xea, 0x5b, 0xa8, 0xc4, 0x2c, 0x10, 0xc6, 0x7f, 0x02, 0x10, 0xf1, 0x32, 0x53, 0xb2, 0xba, + 0x44, 0x51, 0xfb, 0x50, 0xd5, 0xf1, 0xf8, 0xe7, 0x35, 0x5d, 0xdd, 0x85, 0x9d, 0x84, 0x52, 0x6e, + 0x8d, 0xfa, 0x27, 0xc8, 0xb5, 0xf1, 0x42, 0xc7, 0xdf, 0xa1, 0x43, 0x28, 0x3f, 0xe0, 0x85, 0x71, + 0x6b, 0x3b, 0x77, 0xd8, 0x37, 0x3c, 0x9f, 0xea, 0xe5, 0xc9, 0xda, 0x7c, 0xc0, 0x8b, 0x73, 0x46, + 0xbe, 0xa2, 0x54, 0xf4, 0x1a, 0x80, 0x71, 0x9a, 0x13, 0x7b, 0xbc, 0x10, 0x39, 0x2b, 0x50, 0x1e, + 0x46, 0x50, 0x4b, 0xa0, 0x9c, 0x58, 0x96, 0x2f, 0xec, 0x56, 0x55, 0x28, 0xf2, 0x4f, 0xe1, 0x3f, + 0x82, 0xac, 0x69, 0x59, 0x3e, 0xd3, 0x5d, 0xd0, 0xd9, 0x6f, 0xf5, 0x3d, 0x28, 0x03, 0xdf, 0x74, + 0x02, 0x73, 0x44, 0x43, 0x80, 0x76, 0x20, 0x47, 0xe6, 0xc6, 0x3d, 0x9e, 0x0b, 0x77, 0x37, 0xc8, + 0xbc, 0x85, 0xe7, 0xa8, 0x0a, 0x1b, 0x63, 0x73, 0x88, 0xc7, 0xec, 0xc8, 0x82, 0xce, 0x3f, 0xd4, + 0xaf, 0x61, 0xeb, 0x6a, 0x3a, 0x1c, 0xdb, 0xc1, 0x7d, 0x78, 0xc4, 0xa7, 0x50, 0xf2, 0x38, 0xc9, + 0xc0, 0xbe, 0xef, 0x2e, 0xcf, 0x2a, 0x0a, 0xa2, 0x46, 0x69, 0xea, 0x3f, 0x53, 0x80, 0xfa, 0xd8, + 0xb1, 0x78, 0x40, 0x82, 0x65, 0x98, 0xf7, 0x00, 0x02, 0x93, 0x18, 0x1e, 0xf6, 0x8d, 0x87, 0x19, + 0x13, 0xcc, 0xe8, 0xf9, 0xc0, 0x24, 0x57, 0xd8, 0x6f, 0xcf, 0xd0, 0x21, 0x3c, 0x77, 0x39, 0x7f, + 0x2d, 0xcd, 0x6a, 0x6f, 0xb3, 0x21, 0x2e, 0x42, 0x63, 0x30, 0xef, 0x4d, 0x89, 0xbe, 0x84, 0x23, + 0x63, 0x33, 0x92, 0xb1, 0xf1, 0xab, 0x90, 0x4d, 0x5c, 0x85, 0xcf, 0x61, 0x9b, 0xd6, 0xb9, 0x65, + 0x4c, 0x1d, 0xca, 0x60, 0xfb, 0x13, 0x6c, 0xd5, 0x36, 0x0e, 0x52, 0x87, 0x79, 0xbd, 0xcc, 0x80, + 0xeb, 0x88, 0xae, 0x7e, 0x01, 0x95, 0x98, 0xf5, 0xc2, 0xf5, 0x1d, 0xc8, 0xf9, 0xe6, 0xcc, 0x20, + 0x61, 0xe8, 0x7c, 0x73, 0x36, 0x98, 0xab, 0x6f, 0x01, 0x69, 0x01, 0xb1, 0x27, 0x26, 0xc1, 0xe7, + 0x18, 0x2f, 0x7d, 0xdd, 0x07, 0x85, 0x2a, 0x34, 0x88, 0xe9, 0xdf, 0xe1, 0x65, 0xb6, 0x81, 0x92, + 0x06, 0x8c, 0xa2, 0x7e, 0x05, 0x95, 0x98, 0x98, 0x38, 0xe4, 0x47, 0x63, 0xa4, 0xfe, 0x3b, 0x03, + 0xc5, 0x2b, 0xec, 0x58, 0xb6, 0x73, 0xd7, 0x9f, 0x61, 0xec, 0xc5, 0x2a, 0x35, 0xf5, 0x53, 0x97, + 0xec, 0x5b, 0x28, 0xce, 0x6c, 0xe2, 0xe0, 0x20, 0x30, 0xc8, 0xc2, 0xc3, 0x2c, 0xd7, 0x9b, 0xc7, + 0x2f, 0x1a, 0xe1, 0x2b, 0xd4, 0xb8, 0xe1, 0xf0, 0x60, 0xe1, 0x61, 0x5d, 0x99, 0x45, 0x1f, 0xb4, + 0x2e, 0xcd, 0x89, 0x3b, 0x75, 0x88, 0x11, 0x98, 0x84, 0xc5, 0xbd, 0xa4, 0x17, 0x38, 0xa5, 0x6f, + 0x12, 0xf4, 0x0b, 0x28, 0x2e, 0xad, 0x1e, 0x2e, 0x08, 0x66, 0xe1, 0x2f, 0x9d, 0xa6, 0x6b, 0x29, + 0x1d, 0xb8, 0xed, 0xa7, 0x0b, 0x82, 0xe9, 0x25, 0x1f, 0xfa, 0xae, 0x69, 0x8d, 0xcc, 0x80, 0x18, + 0x26, 0x21, 0x78, 0xe2, 0x91, 0x80, 0x65, 0xa1, 0xa4, 0x6f, 0x87, 0xc8, 0x89, 0x00, 0xd0, 0x31, + 0xec, 0x38, 0x78, 0x4e, 0x8c, 0x48, 0xe6, 0x1e, 0xdb, 0x77, 0xf7, 0xa4, 0x96, 0x63, 0x12, 0x15, + 0x0a, 0x9e, 0x2e, 0xb1, 0x16, 0x83, 0xa8, 0x8c, 0xcf, 0x33, 0x80, 0x2d, 0x43, 0x4e, 0x40, 0x9e, + 0xcb, 0x84, 0x60, 0x33, 0xcc, 0x04, 0xfa, 0x06, 0x5e, 0x44, 0x32, 0x31, 0x37, 0x0a, 0xa1, 0x1b, + 0x91, 0x60, 0x3f, 0xf2, 0x47, 0x85, 0xd2, 0x92, 0xfd, 0x91, 0xf1, 0x03, 0x7b, 0x71, 0x14, 0xee, + 0xf2, 0x07, 0x4a, 0x42, 0x6f, 0x61, 0x77, 0x55, 0x39, 0xe7, 0x56, 0x18, 0x77, 0x35, 0xa1, 0x99, + 0x8b, 0x55, 0x61, 0xe3, 0xd6, 0xf5, 0x47, 0xb8, 0xf6, 0x9c, 0xd5, 0x28, 0xff, 0x50, 0x5f, 0x40, + 0x55, 0xce, 0xfe, 0xf2, 0x62, 0xa9, 0x37, 0xb0, 0x93, 0xa0, 0x8b, 0x6a, 0xfa, 0x03, 0x6c, 0x7a, + 0x1c, 0x30, 0x02, 0x86, 0x88, 0x67, 0x7d, 0x57, 0xca, 0xb9, 0x2c, 0xa9, 0x97, 0x3c, 0x59, 0x8f, + 0xfa, 0xaf, 0x14, 0x6c, 0x9e, 0x4e, 0x27, 0x9e, 0x54, 0xd8, 0xff, 0x53, 0xc5, 0xed, 0x83, 0xc2, + 0xe3, 0xcf, 0x72, 0xc1, 0x0a, 0xae, 0xa4, 0x03, 0x27, 0xd1, 0x0c, 0xac, 0x14, 0x4e, 0x66, 0x6d, + 0xe1, 0x84, 0xd1, 0xc8, 0x4a, 0xd1, 0x58, 0x0d, 0xff, 0xc6, 0x4a, 0xf8, 0xd5, 0x6d, 0xd8, 0x0a, + 0xed, 0x17, 0xcf, 0xf2, 0x97, 0xb0, 0x4d, 0x1b, 0x5f, 0x2c, 0x82, 0xa8, 0x06, 0xcf, 0x1f, 0xb1, + 0x3f, 0x74, 0x03, 0xcc, 0x9c, 0xca, 0xeb, 0xcb, 0x4f, 0xf5, 0xfb, 0x34, 0x6f, 0xbc, 0x89, 0xc8, + 0x76, 0xa0, 0x42, 0xa2, 0x67, 0xd5, 0xb0, 0x30, 0x31, 0xed, 0x71, 0x20, 0x22, 0xf2, 0x52, 0x44, + 0x44, 0x7a, 0x78, 0xcf, 0x38, 0x43, 0xeb, 0x99, 0x8e, 0xc8, 0x0a, 0x15, 0xdd, 0xc0, 0x96, 0xac, + 0xcd, 0xb6, 0x02, 0xd1, 0x77, 0xbe, 0x90, 0x12, 0xb5, 0x6a, 0x85, 0x7c, 0xc0, 0xc5, 0x19, 0x55, + 0xbe, 0x29, 0xa9, 0xb9, 0xb0, 0x82, 0xfa, 0xb7, 0xb0, 0x19, 0xe7, 0x41, 0x9f, 0xad, 0x1e, 0x45, + 0x6b, 0xa2, 0x90, 0x14, 0x3d, 0xcd, 0x43, 0x8e, 0xd7, 0x8c, 0x6a, 0xc2, 0x6e, 0x87, 0x3e, 0xb1, + 0x92, 0xa6, 0x65, 0xdc, 0x10, 0x64, 0xc9, 0x3c, 0xec, 0x9d, 0xec, 0xf7, 0xfa, 0x5e, 0x82, 0xf6, + 0xa0, 0xe0, 0x3e, 0x62, 0x7f, 0xe6, 0xdb, 0x22, 0xcd, 0x79, 0x3d, 0x22, 0xa8, 0x75, 0xa8, 0xad, + 0x1e, 0x21, 0x12, 0xf6, 0x43, 0x0a, 0xb6, 0xce, 0xa7, 0x8e, 0x75, 0x15, 0x0c, 0xc3, 0x8e, 0x5d, + 0x85, 0xac, 0x17, 0x0c, 0x79, 0x05, 0x16, 0x5b, 0xcf, 0x74, 0xf6, 0x85, 0x7e, 0x0d, 0x19, 0xdf, + 0x9c, 0x89, 0xd0, 0xed, 0x48, 0xa1, 0x1b, 0xcc, 0x07, 0x78, 0xe2, 0x8d, 0x4d, 0x82, 0x5b, 0xcf, + 0x74, 0xca, 0x83, 0xde, 0xc4, 0x2b, 0x93, 0xd5, 0x5d, 0x2b, 0x95, 0xa8, 0xcd, 0x44, 0x7d, 0xd1, + 0xea, 0xcb, 0xb6, 0x52, 0xb1, 0x0a, 0x3b, 0x05, 0xc8, 0x13, 0xa1, 0xfb, 0x34, 0x07, 0xd9, 0x5b, + 0x8c, 0x03, 0xf5, 0xef, 0x29, 0x28, 0x47, 0x16, 0x8b, 0x8a, 0xd9, 0x07, 0xe5, 0x76, 0xea, 0x58, + 0xd8, 0x32, 0x22, 0xcb, 0x75, 0xe0, 0x24, 0xca, 0x88, 0x1a, 0x50, 0x19, 0xdd, 0x9b, 0xce, 0x1d, + 0x36, 0x78, 0xa3, 0x33, 0x6c, 0xc7, 0xc2, 0x73, 0x31, 0x04, 0x6c, 0x73, 0x88, 0xf7, 0xa4, 0x0b, + 0x0a, 0xa0, 0x6f, 0xa0, 0x38, 0x76, 0x47, 0x0f, 0xd8, 0x32, 0xf8, 0xc4, 0x96, 0x61, 0x57, 0xbb, + 0x2a, 0xb9, 0x4d, 0xa7, 0x36, 0x36, 0x27, 0xe9, 0x0a, 0xe7, 0xbc, 0x66, 0x03, 0xdc, 0x0f, 0x29, + 0x80, 0x28, 0x22, 0xe8, 0x33, 0xc8, 0xd9, 0x0e, 0xeb, 0xbb, 0xfc, 0x71, 0x58, 0xb9, 0xcf, 0x02, + 0x46, 0xbf, 0x4f, 0x76, 0x68, 0x75, 0x6d, 0x88, 0x1b, 0xa2, 0x71, 0x6a, 0x0e, 0xf1, 0x17, 0x61, + 0xd7, 0xae, 0xbf, 0x87, 0xa2, 0x0c, 0xa0, 0x32, 0x64, 0x1e, 0xf0, 0x42, 0xcc, 0x0f, 0xf4, 0x27, + 0x2d, 0x9c, 0x47, 0x73, 0x3c, 0xe5, 0x8d, 0x29, 0xab, 0xf3, 0x8f, 0xf7, 0xe9, 0x77, 0x29, 0xf5, + 0x1e, 0x0a, 0xa1, 0x2f, 0xff, 0xdf, 0xa0, 0x19, 0x1f, 0x11, 0x33, 0x2b, 0x23, 0xe2, 0xd7, 0x50, + 0x39, 0xb7, 0x1d, 0x73, 0x6c, 0xff, 0x15, 0xcb, 0xf5, 0xf6, 0x53, 0xc9, 0x53, 0x3f, 0x42, 0x35, + 0x2e, 0x17, 0x65, 0x9d, 0x8d, 0xf1, 0x71, 0x41, 0x4e, 0x62, 0x59, 0x3f, 0x80, 0x22, 0x9d, 0x2a, + 0x6e, 0xa9, 0x30, 0x9d, 0x2d, 0xd2, 0x9c, 0xc3, 0x37, 0x67, 0x4c, 0xdf, 0x60, 0xae, 0x56, 0xf8, + 0x83, 0xc5, 0x9c, 0x0f, 0x9f, 0xfc, 0x4b, 0xfe, 0x2a, 0x2d, 0x89, 0xe2, 0xb4, 0x64, 0x49, 0xa4, + 0xfe, 0xcb, 0x92, 0xf8, 0xcd, 0xdf, 0x32, 0xa0, 0x48, 0xcd, 0x1f, 0x55, 0x60, 0xeb, 0xba, 0xdb, + 0xee, 0xf6, 0x6e, 0xba, 0xc6, 0xcd, 0xc5, 0xa0, 0xab, 0xf5, 0xfb, 0xe5, 0x67, 0xa8, 0x06, 0xd5, + 0x66, 0xef, 0xf2, 0xf2, 0x62, 0x70, 0xa9, 0x75, 0x07, 0xc6, 0xe0, 0xe2, 0x52, 0x33, 0x3a, 0xbd, + 0x66, 0xbb, 0x9c, 0x42, 0xbb, 0x50, 0x91, 0x90, 0x6e, 0xcf, 0x38, 0xd3, 0x3a, 0x27, 0x1f, 0xcb, + 0x69, 0xb4, 0x03, 0xdb, 0x12, 0xa0, 0x6b, 0x1f, 0x7a, 0x6d, 0xad, 0x9c, 0xa1, 0xfc, 0xad, 0x41, + 0xa7, 0x69, 0xf4, 0xce, 0xcf, 0x35, 0x5d, 0x3b, 0x5b, 0x02, 0x59, 0x7a, 0x04, 0x03, 0x4e, 0x9a, + 0x4d, 0xed, 0x6a, 0x10, 0x21, 0x1b, 0xe8, 0x97, 0xf0, 0x26, 0x26, 0x42, 0x8f, 0xef, 0x5d, 0x0f, + 0x8c, 0xbe, 0xd6, 0xec, 0x75, 0xcf, 0x8c, 0x8e, 0xf6, 0x41, 0xeb, 0x94, 0x73, 0xe8, 0x57, 0xa0, + 0xc6, 0x15, 0xf4, 0xaf, 0x9b, 0x4d, 0xad, 0xdf, 0x8f, 0xf3, 0x3d, 0x47, 0xfb, 0xf0, 0x2a, 0x61, + 0xc1, 0x65, 0x6f, 0xa0, 0x2d, 0xb5, 0x96, 0xf3, 0xe8, 0x00, 0xf6, 0x92, 0x96, 0x30, 0x0e, 0xa1, + 0xaf, 0x5c, 0x40, 0x7b, 0x50, 0x63, 0x1c, 0xb2, 0xe6, 0xa5, 0xbd, 0x80, 0xaa, 0x50, 0x16, 0x91, + 0x33, 0xda, 0xda, 0x47, 0xa3, 0x75, 0xd2, 0x6f, 0x95, 0x15, 0xf4, 0x0a, 0x76, 0xbb, 0x5a, 0x9f, + 0xaa, 0x5b, 0x01, 0x8b, 0x89, 0x60, 0x9d, 0x74, 0x9b, 0xad, 0x9e, 0x5e, 0x2e, 0x1d, 0xff, 0xa3, + 0x00, 0x85, 0x1b, 0x96, 0xc0, 0xb6, 0x4d, 0x50, 0x07, 0x14, 0x69, 0x6f, 0x43, 0xaf, 0x13, 0x0d, + 0x22, 0xbe, 0x1f, 0xd6, 0x3f, 0x79, 0x0a, 0x0e, 0xdb, 0x98, 0x22, 0x2d, 0x52, 0x71, 0x6d, 0x2b, + 0x7b, 0x52, 0x5c, 0xdb, 0x9a, 0xfd, 0x4b, 0x87, 0x52, 0x6c, 0x15, 0x42, 0xfb, 0x92, 0xc0, 0xba, + 0xcd, 0xab, 0x7e, 0xf0, 0x34, 0x83, 0xd0, 0x79, 0x01, 0x10, 0x15, 0x3a, 0xda, 0x4b, 0xf8, 0x13, + 0xbb, 0x14, 0xf5, 0xd7, 0x4f, 0xa0, 0x42, 0xd5, 0x7b, 0x28, 0x9d, 0x61, 0xdf, 0x7e, 0xc4, 0x5d, + 0x3c, 0x27, 0x6d, 0xbc, 0x40, 0xdb, 0x12, 0x3f, 0x5f, 0xd5, 0xea, 0x2f, 0xc2, 0xa5, 0xa3, 0x8d, + 0x17, 0x67, 0x38, 0x18, 0xf9, 0xb6, 0x47, 0x5c, 0x1f, 0xbd, 0x83, 0x02, 0x97, 0xa5, 0x72, 0x15, + 0x99, 0xa9, 0xe3, 0x8e, 0x4c, 0xe2, 0xfa, 0x4f, 0x4a, 0xfe, 0x0e, 0xf2, 0xf4, 0x3c, 0xba, 0xa8, + 0x21, 0x79, 0xd6, 0x96, 0x16, 0xb9, 0xfa, 0xee, 0x0a, 0x5d, 0x98, 0xdc, 0x02, 0x24, 0x36, 0x30, + 0x79, 0x89, 0x93, 0xd5, 0x48, 0xf4, 0x7a, 0x5d, 0x1e, 0xeb, 0x12, 0x8b, 0x5b, 0x07, 0x14, 0x69, + 0xa9, 0x89, 0x65, 0x7a, 0x75, 0x55, 0x8b, 0x65, 0x7a, 0xdd, 0x2e, 0xd4, 0x01, 0x45, 0xda, 0x5e, + 0x62, 0xda, 0x56, 0x97, 0xa1, 0x98, 0xb6, 0x75, 0x4b, 0x8f, 0x0e, 0xa5, 0xd8, 0xfc, 0x1a, 0xab, + 0x9b, 0x75, 0x13, 0x6f, 0xac, 0x6e, 0xd6, 0x8f, 0xbe, 0x7f, 0x84, 0xe7, 0x62, 0xf2, 0x43, 0x2f, + 0x25, 0xe6, 0xf8, 0x34, 0x1b, 0x8b, 0x58, 0x62, 0x50, 0x5c, 0x56, 0x9e, 0x30, 0x69, 0xef, 0x89, + 0x49, 0x6c, 0x7d, 0xe5, 0x25, 0x8c, 0xf9, 0x0b, 0x94, 0x93, 0xe3, 0x0d, 0x92, 0x9b, 0xe7, 0x13, + 0xe3, 0x55, 0xfd, 0xd3, 0x1f, 0xe5, 0x11, 0xca, 0x9b, 0x90, 0x5f, 0x0e, 0x1b, 0x48, 0xf6, 0x27, + 0x31, 0x33, 0xd5, 0x5f, 0xad, 0xc5, 0x84, 0x92, 0x1e, 0x14, 0xe5, 0xfe, 0x85, 0xe4, 0x94, 0xad, + 0x69, 0x88, 0xf5, 0xfd, 0x27, 0x71, 0xae, 0xf0, 0xf4, 0xb7, 0x7f, 0x3e, 0xba, 0xb3, 0xc9, 0xfd, + 0x74, 0xd8, 0x18, 0xb9, 0x93, 0xa3, 0x31, 0xdd, 0xce, 0x1c, 0xdb, 0xb9, 0x73, 0x30, 0x99, 0xb9, + 0xfe, 0xc3, 0xd1, 0xd8, 0xb1, 0x8e, 0x58, 0x93, 0x3e, 0x0a, 0xf5, 0x0c, 0x73, 0xec, 0x3f, 0x5d, + 0x5f, 0xfd, 0x27, 0x00, 0x00, 0xff, 0xff, 0x6b, 0x20, 0xb6, 0x46, 0x32, 0x13, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/lnrpc/walletrpc/walletkit.proto b/lnrpc/walletrpc/walletkit.proto index 1344115b..de06883f 100644 --- a/lnrpc/walletrpc/walletkit.proto +++ b/lnrpc/walletrpc/walletkit.proto @@ -409,11 +409,12 @@ message PendingSweep { uint32 amount_sat = 3; /* - The fee rate we'll use to sweep the output. The fee rate is only determined - once a sweeping transaction for the output is created, so it's possible for - this to be 0 before this. + Deprecated, use sat_per_vbyte. + The fee rate we'll use to sweep the output, expressed in sat/vbyte. The fee + rate is only determined once a sweeping transaction for the output is + created, so it's possible for this to be 0 before this. */ - uint32 sat_per_byte = 4; + uint32 sat_per_byte = 4 [deprecated = true]; // The number of broadcast attempts we've made to sweep the output. uint32 broadcast_attempts = 5; @@ -427,8 +428,19 @@ message PendingSweep { // The requested confirmation target for this output. uint32 requested_conf_target = 8; - // The requested fee rate, expressed in sat/byte, for this output. - uint32 requested_sat_per_byte = 9; + // Deprecated, use requested_sat_per_vbyte. + // The requested fee rate, expressed in sat/vbyte, for this output. + uint32 requested_sat_per_byte = 9 [deprecated = true]; + + /* + The fee rate we'll use to sweep the output, expressed in sat/vbyte. The fee + rate is only determined once a sweeping transaction for the output is + created, so it's possible for this to be 0 before this. + */ + uint64 sat_per_vbyte = 10; + + // The requested fee rate, expressed in sat/vbyte, for this output. + uint64 requested_sat_per_vbyte = 11; /* Whether this input must be force-swept. This means that it is swept even @@ -455,16 +467,23 @@ message BumpFeeRequest { uint32 target_conf = 2; /* - The fee rate, expressed in sat/byte, that should be used to spend the input + Deprecated, use sat_per_vbyte. + The fee rate, expressed in sat/vbyte, that should be used to spend the input with. */ - uint32 sat_per_byte = 3; + uint32 sat_per_byte = 3 [deprecated = true]; /* Whether this input must be force-swept. This means that it is swept even if it has a negative yield. */ bool force = 4; + + /* + The fee rate, expressed in sat/vbyte, that should be used to spend the input + with. + */ + uint64 sat_per_vbyte = 5; } message BumpFeeResponse { @@ -539,7 +558,7 @@ message FundPsbtRequest { The fee rate, expressed in sat/vbyte, that should be used to spend the input with. */ - uint32 sat_per_vbyte = 4; + uint64 sat_per_vbyte = 4; } } message FundPsbtResponse { diff --git a/lnrpc/walletrpc/walletkit.swagger.json b/lnrpc/walletrpc/walletkit.swagger.json index 9c1c8a33..d3812869 100644 --- a/lnrpc/walletrpc/walletkit.swagger.json +++ b/lnrpc/walletrpc/walletkit.swagger.json @@ -758,12 +758,17 @@ "sat_per_byte": { "type": "integer", "format": "int64", - "description": "The fee rate, expressed in sat/byte, that should be used to spend the input\nwith." + "description": "Deprecated, use sat_per_vbyte.\nThe fee rate, expressed in sat/vbyte, that should be used to spend the input\nwith." }, "force": { "type": "boolean", "format": "boolean", "description": "Whether this input must be force-swept. This means that it is swept even\nif it has a negative yield." + }, + "sat_per_vbyte": { + "type": "string", + "format": "uint64", + "description": "The fee rate, expressed in sat/vbyte, that should be used to spend the input\nwith." } } }, @@ -823,8 +828,8 @@ "description": "The target number of blocks that the transaction should be confirmed in." }, "sat_per_vbyte": { - "type": "integer", - "format": "int64", + "type": "string", + "format": "uint64", "description": "The fee rate, expressed in sat/vbyte, that should be used to spend the\ninput with." } } @@ -971,7 +976,7 @@ "sat_per_byte": { "type": "integer", "format": "int64", - "description": "The fee rate we'll use to sweep the output. The fee rate is only determined\nonce a sweeping transaction for the output is created, so it's possible for\nthis to be 0 before this." + "description": "Deprecated, use sat_per_vbyte.\nThe fee rate we'll use to sweep the output, expressed in sat/vbyte. The fee\nrate is only determined once a sweeping transaction for the output is\ncreated, so it's possible for this to be 0 before this." }, "broadcast_attempts": { "type": "integer", @@ -991,7 +996,17 @@ "requested_sat_per_byte": { "type": "integer", "format": "int64", - "description": "The requested fee rate, expressed in sat/byte, for this output." + "description": "Deprecated, use requested_sat_per_vbyte.\nThe requested fee rate, expressed in sat/vbyte, for this output." + }, + "sat_per_vbyte": { + "type": "string", + "format": "uint64", + "description": "The fee rate we'll use to sweep the output, expressed in sat/vbyte. The fee\nrate is only determined once a sweeping transaction for the output is\ncreated, so it's possible for this to be 0 before this." + }, + "requested_sat_per_vbyte": { + "type": "string", + "format": "uint64", + "description": "The requested fee rate, expressed in sat/vbyte, for this output." }, "force": { "type": "boolean", diff --git a/lnrpc/walletrpc/walletkit_server.go b/lnrpc/walletrpc/walletkit_server.go index 02532e55..4edbd7e1 100644 --- a/lnrpc/walletrpc/walletkit_server.go +++ b/lnrpc/walletrpc/walletkit_server.go @@ -668,23 +668,23 @@ func (w *WalletKit) PendingSweeps(ctx context.Context, OutputIndex: pendingInput.OutPoint.Index, } amountSat := uint32(pendingInput.Amount) - satPerByte := uint32(pendingInput.LastFeeRate.FeePerKVByte() / 1000) + satPerVbyte := uint64(pendingInput.LastFeeRate.FeePerKVByte() / 1000) broadcastAttempts := uint32(pendingInput.BroadcastAttempts) nextBroadcastHeight := uint32(pendingInput.NextBroadcastHeight) requestedFee := pendingInput.Params.Fee - requestedFeeRate := uint32(requestedFee.FeeRate.FeePerKVByte() / 1000) + requestedFeeRate := uint64(requestedFee.FeeRate.FeePerKVByte() / 1000) rpcPendingSweeps = append(rpcPendingSweeps, &PendingSweep{ - Outpoint: op, - WitnessType: witnessType, - AmountSat: amountSat, - SatPerByte: satPerByte, - BroadcastAttempts: broadcastAttempts, - NextBroadcastHeight: nextBroadcastHeight, - RequestedSatPerByte: requestedFeeRate, - RequestedConfTarget: requestedFee.ConfTarget, - Force: pendingInput.Params.Force, + Outpoint: op, + WitnessType: witnessType, + AmountSat: amountSat, + SatPerVbyte: satPerVbyte, + BroadcastAttempts: broadcastAttempts, + NextBroadcastHeight: nextBroadcastHeight, + RequestedSatPerVbyte: requestedFeeRate, + RequestedConfTarget: requestedFee.ConfTarget, + Force: pendingInput.Params.Force, }) } @@ -742,8 +742,19 @@ func (w *WalletKit) BumpFee(ctx context.Context, return nil, err } + // We only allow using either the deprecated field or the new field. + if in.SatPerByte != 0 && in.SatPerVbyte != 0 { + return nil, fmt.Errorf("either SatPerByte or " + + "SatPerVbyte should be set, but not both") + } + // Construct the request's fee preference. - satPerKw := chainfee.SatPerKVByte(in.SatPerByte * 1000).FeePerKWeight() + satPerKw := chainfee.SatPerKVByte(in.SatPerVbyte * 1000).FeePerKWeight() + if in.SatPerByte != 0 { + satPerKw = chainfee.SatPerKVByte( + in.SatPerByte * 1000, + ).FeePerKWeight() + } feePreference := sweep.FeePreference{ ConfTarget: uint32(in.TargetConf), FeeRate: satPerKw, diff --git a/lnrpc/wtclientrpc/wtclient.go b/lnrpc/wtclientrpc/wtclient.go index fa3c640d..2dafc7c6 100644 --- a/lnrpc/wtclientrpc/wtclient.go +++ b/lnrpc/wtclientrpc/wtclient.go @@ -370,8 +370,15 @@ func (c *WatchtowerClient) Policy(ctx context.Context, } return &PolicyResponse{ - MaxUpdates: uint32(policy.MaxUpdates), - SweepSatPerByte: uint32(policy.SweepFeeRate.FeePerKVByte() / 1000), + MaxUpdates: uint32(policy.MaxUpdates), + SweepSatPerVbyte: uint32( + policy.SweepFeeRate.FeePerKVByte() / 1000, + ), + + // Deprecated field. + SweepSatPerByte: uint32( + policy.SweepFeeRate.FeePerKVByte() / 1000, + ), }, nil } @@ -387,12 +394,15 @@ func marshallTower(tower *wtclient.RegisteredTower, includeSessions bool) *Tower if includeSessions { rpcSessions = make([]*TowerSession, 0, len(tower.Sessions)) for _, session := range tower.Sessions { - satPerByte := session.Policy.SweepFeeRate.FeePerKVByte() / 1000 + satPerVByte := session.Policy.SweepFeeRate.FeePerKVByte() / 1000 rpcSessions = append(rpcSessions, &TowerSession{ NumBackups: uint32(len(session.AckedUpdates)), NumPendingBackups: uint32(len(session.CommittedUpdates)), MaxBackups: uint32(session.Policy.MaxUpdates), - SweepSatPerByte: uint32(satPerByte), + SweepSatPerVbyte: uint32(satPerVByte), + + // Deprecated field. + SweepSatPerByte: uint32(satPerVByte), }) } } diff --git a/lnrpc/wtclientrpc/wtclient.pb.go b/lnrpc/wtclientrpc/wtclient.pb.go index 2a657b78..74829697 100644 --- a/lnrpc/wtclientrpc/wtclient.pb.go +++ b/lnrpc/wtclientrpc/wtclient.pb.go @@ -275,9 +275,14 @@ type TowerSession struct { // The maximum number of backups allowed by the watchtower session. MaxBackups uint32 `protobuf:"varint,3,opt,name=max_backups,json=maxBackups,proto3" json:"max_backups,omitempty"` // + //Deprecated, use sweep_sat_per_vbyte. //The fee rate, in satoshis per vbyte, that will be used by the watchtower for //the justice transaction in the event of a channel breach. - SweepSatPerByte uint32 `protobuf:"varint,4,opt,name=sweep_sat_per_byte,json=sweepSatPerByte,proto3" json:"sweep_sat_per_byte,omitempty"` + SweepSatPerByte uint32 `protobuf:"varint,4,opt,name=sweep_sat_per_byte,json=sweepSatPerByte,proto3" json:"sweep_sat_per_byte,omitempty"` // Deprecated: Do not use. + // + //The fee rate, in satoshis per vbyte, that will be used by the watchtower for + //the justice transaction in the event of a channel breach. + SweepSatPerVbyte uint32 `protobuf:"varint,5,opt,name=sweep_sat_per_vbyte,json=sweepSatPerVbyte,proto3" json:"sweep_sat_per_vbyte,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -329,6 +334,7 @@ func (m *TowerSession) GetMaxBackups() uint32 { return 0 } +// Deprecated: Do not use. func (m *TowerSession) GetSweepSatPerByte() uint32 { if m != nil { return m.SweepSatPerByte @@ -336,6 +342,13 @@ func (m *TowerSession) GetSweepSatPerByte() uint32 { return 0 } +func (m *TowerSession) GetSweepSatPerVbyte() uint32 { + if m != nil { + return m.SweepSatPerVbyte + } + return 0 +} + type Tower struct { // The identifying public key of the watchtower. Pubkey []byte `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"` @@ -652,9 +665,14 @@ type PolicyResponse struct { //should allow. MaxUpdates uint32 `protobuf:"varint,1,opt,name=max_updates,json=maxUpdates,proto3" json:"max_updates,omitempty"` // + //Deprecated, use sweep_sat_per_vbyte. //The fee rate, in satoshis per vbyte, that will be used by watchtowers for //justice transactions in response to channel breaches. - SweepSatPerByte uint32 `protobuf:"varint,2,opt,name=sweep_sat_per_byte,json=sweepSatPerByte,proto3" json:"sweep_sat_per_byte,omitempty"` + SweepSatPerByte uint32 `protobuf:"varint,2,opt,name=sweep_sat_per_byte,json=sweepSatPerByte,proto3" json:"sweep_sat_per_byte,omitempty"` // Deprecated: Do not use. + // + //The fee rate, in satoshis per vbyte, that will be used by watchtowers for + //justice transactions in response to channel breaches. + SweepSatPerVbyte uint32 `protobuf:"varint,3,opt,name=sweep_sat_per_vbyte,json=sweepSatPerVbyte,proto3" json:"sweep_sat_per_vbyte,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -692,6 +710,7 @@ func (m *PolicyResponse) GetMaxUpdates() uint32 { return 0 } +// Deprecated: Do not use. func (m *PolicyResponse) GetSweepSatPerByte() uint32 { if m != nil { return m.SweepSatPerByte @@ -699,6 +718,13 @@ func (m *PolicyResponse) GetSweepSatPerByte() uint32 { return 0 } +func (m *PolicyResponse) GetSweepSatPerVbyte() uint32 { + if m != nil { + return m.SweepSatPerVbyte + } + return 0 +} + func init() { proto.RegisterEnum("wtclientrpc.PolicyType", PolicyType_name, PolicyType_value) proto.RegisterType((*AddTowerRequest)(nil), "wtclientrpc.AddTowerRequest") @@ -719,54 +745,55 @@ func init() { func init() { proto.RegisterFile("wtclientrpc/wtclient.proto", fileDescriptor_b5f4e7d95a641af2) } var fileDescriptor_b5f4e7d95a641af2 = []byte{ - // 739 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xcd, 0x6e, 0xd3, 0x4a, - 0x14, 0xbe, 0x6e, 0x6e, 0x72, 0xd3, 0x93, 0xb4, 0x4d, 0x27, 0xb7, 0xbd, 0xb9, 0xa6, 0x90, 0x60, - 0xb1, 0x08, 0x05, 0x25, 0x22, 0x05, 0xa9, 0xab, 0x8a, 0x34, 0xb4, 0xa5, 0x52, 0x81, 0xc8, 0x2d, - 0xe2, 0x67, 0x81, 0x35, 0xb1, 0xa7, 0x89, 0x55, 0x7b, 0xec, 0xda, 0xe3, 0x26, 0x79, 0x28, 0x1e, - 0x83, 0x07, 0xe0, 0x6d, 0x58, 0x22, 0x8f, 0xc7, 0x8e, 0xdd, 0x3a, 0x62, 0x01, 0x3b, 0xfb, 0x7c, - 0xdf, 0x7c, 0x3e, 0xf3, 0x9d, 0x1f, 0x83, 0x3c, 0x65, 0xba, 0x65, 0x12, 0xca, 0x3c, 0x57, 0xef, - 0xc6, 0xcf, 0x1d, 0xd7, 0x73, 0x98, 0x83, 0x2a, 0x29, 0x4c, 0x19, 0xc0, 0x46, 0xdf, 0x30, 0x2e, - 0x9c, 0x29, 0xf1, 0x54, 0x72, 0x1d, 0x10, 0x9f, 0xa1, 0x6d, 0x28, 0xb9, 0xc1, 0xe8, 0x8a, 0xcc, - 0x1b, 0x52, 0x4b, 0x6a, 0x57, 0x55, 0xf1, 0x86, 0x1a, 0xf0, 0x0f, 0x36, 0x0c, 0x8f, 0xf8, 0x7e, - 0x63, 0xa5, 0x25, 0xb5, 0x57, 0xd5, 0xf8, 0x55, 0x41, 0x50, 0x5b, 0x88, 0xf8, 0xae, 0x43, 0x7d, - 0xa2, 0x1c, 0x03, 0x52, 0x89, 0xed, 0xdc, 0x90, 0xdf, 0xd4, 0xde, 0x82, 0x7a, 0x46, 0x47, 0xc8, - 0x7f, 0x84, 0xfa, 0x09, 0x61, 0x3c, 0x76, 0x4a, 0x2f, 0x9d, 0x5f, 0xe9, 0x3f, 0x86, 0x9a, 0x49, - 0x75, 0x2b, 0x30, 0x88, 0xe6, 0x13, 0xdf, 0x37, 0x1d, 0x1a, 0x7d, 0xa8, 0xac, 0x6e, 0x88, 0xf8, - 0xb9, 0x08, 0x2b, 0x5f, 0x25, 0xa8, 0x72, 0x5d, 0x11, 0x41, 0x4d, 0xa8, 0xd0, 0xc0, 0xd6, 0x46, - 0x58, 0xbf, 0x0a, 0x5c, 0x9f, 0x0b, 0xaf, 0xa9, 0x40, 0x03, 0xfb, 0x30, 0x8a, 0xa0, 0x0e, 0xd4, - 0x43, 0x82, 0x4b, 0xa8, 0x61, 0xd2, 0x71, 0x42, 0x5c, 0xe1, 0xc4, 0x4d, 0x1a, 0xd8, 0xc3, 0x08, - 0x89, 0xf9, 0x4d, 0xa8, 0xd8, 0x78, 0x96, 0xf0, 0x0a, 0x91, 0xa0, 0x8d, 0x67, 0x31, 0xe1, 0x09, - 0x20, 0x7f, 0x4a, 0x88, 0xab, 0xf9, 0x98, 0x69, 0x2e, 0xf1, 0xb4, 0xd1, 0x9c, 0x91, 0xc6, 0xdf, - 0x9c, 0xb7, 0xc1, 0x91, 0x73, 0xcc, 0x86, 0xc4, 0x3b, 0x9c, 0x33, 0xa2, 0x7c, 0x97, 0xa0, 0xc8, - 0xf3, 0x5d, 0x7a, 0xf9, 0x1d, 0x58, 0x15, 0x6e, 0x92, 0x30, 0xab, 0x42, 0x7b, 0x55, 0x5d, 0x04, - 0xd0, 0x3e, 0x34, 0xb0, 0xce, 0xcc, 0x9b, 0xc4, 0x19, 0x4d, 0xc7, 0xd4, 0x30, 0x0d, 0xcc, 0x08, - 0x4f, 0xad, 0xac, 0x6e, 0x47, 0xb8, 0xf0, 0x63, 0x10, 0xa3, 0xe8, 0x21, 0x54, 0xc3, 0x7b, 0x27, - 0x86, 0x46, 0x09, 0x86, 0x66, 0xc5, 0x66, 0xa2, 0x17, 0x50, 0x4e, 0xe0, 0x62, 0xab, 0xd0, 0xae, - 0xf4, 0xfe, 0xef, 0xa4, 0xda, 0xaf, 0x93, 0x36, 0x5a, 0x4d, 0xa8, 0xca, 0x01, 0x6c, 0x9e, 0x99, - 0x7e, 0x54, 0x5e, 0x3f, 0xae, 0x6d, 0x5e, 0x0d, 0xa5, 0xfc, 0x1a, 0xbe, 0x04, 0x94, 0x3e, 0x1f, - 0xf5, 0x0c, 0xda, 0x85, 0x12, 0xe3, 0x91, 0x86, 0xc4, 0x53, 0x41, 0x77, 0x53, 0x51, 0x05, 0x43, - 0x59, 0x87, 0xea, 0x39, 0xc3, 0x2c, 0xfe, 0xb8, 0xf2, 0x43, 0x82, 0x35, 0x11, 0x10, 0x6a, 0x7f, - 0xbc, 0x2d, 0x9e, 0x02, 0x0a, 0xf9, 0x97, 0xd8, 0xb4, 0x88, 0x71, 0xab, 0x3b, 0x6a, 0x34, 0xb0, - 0x8f, 0x39, 0x10, 0xb3, 0x7b, 0xb0, 0x95, 0x36, 0x5f, 0xc3, 0xfa, 0x75, 0x60, 0x7a, 0xc4, 0x10, - 0x55, 0xa8, 0xa7, 0xaa, 0xd0, 0x17, 0x10, 0x7a, 0x0e, 0xdb, 0x99, 0x33, 0x64, 0x36, 0xc1, 0x81, - 0xcf, 0x88, 0xd1, 0x28, 0xf2, 0x43, 0xff, 0xa6, 0x0e, 0x1d, 0xc5, 0x98, 0x72, 0x0a, 0x6b, 0x43, - 0xc7, 0x32, 0xf5, 0x79, 0x5c, 0x88, 0x7d, 0xa8, 0xb8, 0x3c, 0xa0, 0xb1, 0xb9, 0x4b, 0xf8, 0xcd, - 0xd7, 0x7b, 0xff, 0x65, 0xcc, 0x8c, 0x0e, 0x5c, 0xcc, 0x5d, 0xa2, 0x82, 0x9b, 0x3c, 0x2b, 0x5f, - 0x60, 0x3d, 0x96, 0x5a, 0xb8, 0x18, 0xce, 0x42, 0xe0, 0x86, 0x1d, 0x95, 0xb8, 0x68, 0xe3, 0xd9, - 0xfb, 0x28, 0xb2, 0x64, 0x16, 0x56, 0x72, 0x67, 0x61, 0xf7, 0x11, 0xc0, 0xe2, 0xcb, 0x08, 0xa0, - 0x74, 0x76, 0x74, 0xd2, 0x1f, 0x7c, 0xaa, 0xfd, 0x15, 0x3e, 0xf7, 0xdf, 0x0e, 0x5e, 0xbf, 0x53, - 0x6b, 0x52, 0xef, 0x5b, 0x01, 0x6a, 0x1f, 0x30, 0xd3, 0x27, 0xbc, 0xd6, 0x03, 0x9e, 0x34, 0x3a, - 0x81, 0x72, 0xbc, 0xc3, 0xd0, 0x4e, 0xe6, 0x2e, 0xb7, 0xf6, 0xa3, 0x7c, 0x7f, 0x09, 0x2a, 0x6e, - 0x34, 0x84, 0x4a, 0x6a, 0x61, 0xa1, 0x66, 0x86, 0x7d, 0x77, 0x25, 0xca, 0xad, 0xe5, 0x04, 0xa1, - 0xf8, 0x06, 0x60, 0xd1, 0xcd, 0xe8, 0x41, 0x86, 0x7f, 0x67, 0x4c, 0xe4, 0xe6, 0x52, 0x5c, 0xc8, - 0xbd, 0x82, 0x6a, 0x7a, 0x75, 0xa2, 0x6c, 0x02, 0x39, 0x5b, 0x55, 0xce, 0x19, 0x14, 0x74, 0x00, - 0x45, 0x3e, 0x0f, 0x28, 0x3b, 0xd0, 0xe9, 0xa1, 0x91, 0xe5, 0x3c, 0x48, 0x64, 0xd1, 0x87, 0x52, - 0x54, 0x2a, 0x24, 0xe7, 0x74, 0x4e, 0xac, 0x70, 0x2f, 0x17, 0x8b, 0x24, 0x0e, 0xf7, 0x3e, 0x3f, - 0x1b, 0x9b, 0x6c, 0x12, 0x8c, 0x3a, 0xba, 0x63, 0x77, 0x2d, 0x73, 0x3c, 0x61, 0xd4, 0xa4, 0x63, - 0x4a, 0xd8, 0xd4, 0xf1, 0xae, 0xba, 0x16, 0x35, 0xba, 0x16, 0x4d, 0xff, 0x00, 0x3d, 0x57, 0x1f, - 0x95, 0xf8, 0x4f, 0x70, 0xef, 0x67, 0x00, 0x00, 0x00, 0xff, 0xff, 0x99, 0x5f, 0xe1, 0x8e, 0x22, - 0x07, 0x00, 0x00, + // 765 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xdd, 0x6e, 0xda, 0x48, + 0x14, 0x5e, 0xc3, 0xc2, 0x92, 0x03, 0x49, 0xc8, 0xb0, 0xc9, 0xb2, 0xde, 0xec, 0xc2, 0x5a, 0xbd, + 0xa0, 0x51, 0x0b, 0x2a, 0x69, 0xa5, 0x5c, 0x45, 0x05, 0x9a, 0xa4, 0x91, 0xd2, 0x16, 0x39, 0xe9, + 0xef, 0x8d, 0x35, 0xd8, 0x13, 0xb0, 0x82, 0xc7, 0x8e, 0x3d, 0x0e, 0xf0, 0x18, 0x7d, 0xa8, 0x3e, + 0x40, 0xdf, 0xa0, 0x8f, 0xd1, 0xcb, 0xca, 0xe3, 0xb1, 0xb1, 0x13, 0xa3, 0xaa, 0x6a, 0xef, 0xec, + 0xf3, 0x7d, 0xf3, 0x79, 0xce, 0x77, 0x7e, 0x0c, 0xf2, 0x8c, 0xe9, 0x53, 0x93, 0x50, 0xe6, 0x3a, + 0x7a, 0x27, 0x7a, 0x6e, 0x3b, 0xae, 0xcd, 0x6c, 0x54, 0x4e, 0x60, 0xca, 0x00, 0x36, 0x7b, 0x86, + 0x71, 0x61, 0xcf, 0x88, 0xab, 0x92, 0x6b, 0x9f, 0x78, 0x0c, 0xed, 0x40, 0xd1, 0xf1, 0x47, 0x57, + 0x64, 0x51, 0x97, 0x9a, 0x52, 0xab, 0xa2, 0x8a, 0x37, 0x54, 0x87, 0x3f, 0xb0, 0x61, 0xb8, 0xc4, + 0xf3, 0xea, 0xb9, 0xa6, 0xd4, 0x5a, 0x53, 0xa3, 0x57, 0x05, 0x41, 0x75, 0x29, 0xe2, 0x39, 0x36, + 0xf5, 0x88, 0x72, 0x0c, 0x48, 0x25, 0x96, 0x7d, 0x43, 0x7e, 0x52, 0x7b, 0x1b, 0x6a, 0x29, 0x1d, + 0x21, 0xff, 0x0e, 0x6a, 0x27, 0x84, 0xf1, 0xd8, 0x29, 0xbd, 0xb4, 0xbf, 0xa7, 0x7f, 0x1f, 0xaa, + 0x26, 0xd5, 0xa7, 0xbe, 0x41, 0x34, 0x8f, 0x78, 0x9e, 0x69, 0xd3, 0xf0, 0x43, 0x25, 0x75, 0x53, + 0xc4, 0xcf, 0x45, 0x58, 0xf9, 0x22, 0x41, 0x85, 0xeb, 0x8a, 0x08, 0x6a, 0x40, 0x99, 0xfa, 0x96, + 0x36, 0xc2, 0xfa, 0x95, 0xef, 0x78, 0x5c, 0x78, 0x5d, 0x05, 0xea, 0x5b, 0xfd, 0x30, 0x82, 0xda, + 0x50, 0x0b, 0x08, 0x0e, 0xa1, 0x86, 0x49, 0xc7, 0x31, 0x31, 0xc7, 0x89, 0x5b, 0xd4, 0xb7, 0x86, + 0x21, 0x12, 0xf1, 0x1b, 0x50, 0xb6, 0xf0, 0x3c, 0xe6, 0xe5, 0x43, 0x41, 0x0b, 0xcf, 0x23, 0x42, + 0x07, 0x90, 0x37, 0x23, 0xc4, 0xd1, 0x3c, 0xcc, 0x34, 0x87, 0xb8, 0xda, 0x68, 0xc1, 0x48, 0xfd, + 0xf7, 0x80, 0xd7, 0xcf, 0xd5, 0x25, 0x75, 0x93, 0xa3, 0xe7, 0x98, 0x0d, 0x89, 0xdb, 0x5f, 0x30, + 0x82, 0x1e, 0x42, 0x2d, 0x7d, 0xe0, 0x86, 0x9f, 0x28, 0x70, 0xe5, 0x6a, 0x82, 0xfd, 0x26, 0x88, + 0x2b, 0x9f, 0x25, 0x28, 0xf0, 0x14, 0x57, 0xfa, 0xb5, 0x0b, 0x6b, 0xa2, 0x00, 0x24, 0x48, 0x24, + 0xdf, 0x5a, 0x53, 0x97, 0x01, 0x74, 0x00, 0x75, 0xac, 0x33, 0xf3, 0x26, 0x36, 0x53, 0xd3, 0x31, + 0x35, 0x4c, 0x03, 0x33, 0xc2, 0xb3, 0x29, 0xa9, 0x3b, 0x21, 0x2e, 0x2c, 0x1c, 0x44, 0x28, 0xfa, + 0x1f, 0x2a, 0x81, 0x55, 0x71, 0x0d, 0x78, 0x4e, 0x6a, 0xe0, 0x6f, 0xe4, 0x3f, 0x7a, 0x02, 0xa5, + 0x18, 0x2e, 0x34, 0xf3, 0xad, 0x72, 0xf7, 0xef, 0x76, 0xa2, 0x63, 0xdb, 0xc9, 0xda, 0xa8, 0x31, + 0x55, 0x39, 0x84, 0xad, 0x33, 0xd3, 0x0b, 0x3b, 0xc2, 0x8b, 0xda, 0x21, 0xab, 0xec, 0x52, 0x76, + 0xd9, 0x9f, 0x02, 0x4a, 0x9e, 0x0f, 0xdb, 0x0c, 0xed, 0x41, 0x91, 0xf1, 0x48, 0x5d, 0xe2, 0x57, + 0x41, 0x77, 0xaf, 0xa2, 0x0a, 0x86, 0xb2, 0x01, 0x95, 0x73, 0x86, 0x59, 0xf4, 0x71, 0xe5, 0xab, + 0x04, 0xeb, 0x22, 0x20, 0xd4, 0x7e, 0x79, 0x27, 0x3d, 0x00, 0x14, 0xf0, 0x2f, 0xb1, 0x39, 0x25, + 0xc6, 0xad, 0x86, 0xaa, 0x52, 0xdf, 0x3a, 0xe6, 0x40, 0xc4, 0xee, 0xc2, 0x76, 0xd2, 0x7c, 0x0d, + 0xeb, 0xd7, 0xbe, 0xe9, 0x12, 0x43, 0x54, 0xa1, 0x96, 0xa8, 0x42, 0x4f, 0x40, 0xe8, 0x31, 0xec, + 0xa4, 0xce, 0x90, 0xf9, 0x04, 0xfb, 0x1e, 0x23, 0x86, 0x68, 0xae, 0x3f, 0x13, 0x87, 0x8e, 0x22, + 0x4c, 0x39, 0x85, 0xf5, 0xa1, 0x3d, 0x35, 0xf5, 0x45, 0x54, 0x88, 0x03, 0x28, 0x3b, 0x3c, 0xa0, + 0xb1, 0x85, 0x43, 0x78, 0xe6, 0x1b, 0xdd, 0xbf, 0x52, 0x66, 0x86, 0x07, 0x2e, 0x16, 0x0e, 0x51, + 0xc1, 0x89, 0x9f, 0x95, 0x8f, 0x12, 0x6c, 0x44, 0x5a, 0x4b, 0x1b, 0x83, 0xf9, 0xf1, 0x9d, 0xa0, + 0xa5, 0x62, 0x1b, 0x2d, 0x3c, 0x7f, 0x1d, 0x46, 0x56, 0xcc, 0x4f, 0xee, 0x87, 0xe7, 0x27, 0x9f, + 0x3d, 0x3f, 0x7b, 0xf7, 0x00, 0x96, 0xb7, 0x45, 0x00, 0xc5, 0xb3, 0xa3, 0x93, 0xde, 0xe0, 0x7d, + 0xf5, 0xb7, 0xe0, 0xb9, 0xf7, 0x72, 0xf0, 0xfc, 0x95, 0x5a, 0x95, 0xba, 0x9f, 0xf2, 0x50, 0x7d, + 0x8b, 0x99, 0x3e, 0xe1, 0xfd, 0x31, 0xe0, 0x89, 0xa2, 0x13, 0x28, 0x45, 0xab, 0x12, 0xed, 0xa6, + 0xf2, 0xbf, 0xb5, 0x86, 0xe5, 0x7f, 0x57, 0xa0, 0xc2, 0x84, 0x21, 0x94, 0x13, 0x7b, 0x11, 0x35, + 0x52, 0xec, 0xbb, 0x9b, 0x57, 0x6e, 0xae, 0x26, 0x08, 0xc5, 0x17, 0x00, 0xcb, 0x09, 0x40, 0xff, + 0xa5, 0xf8, 0x77, 0x46, 0x4b, 0x6e, 0xac, 0xc4, 0x85, 0xdc, 0x33, 0xa8, 0x24, 0x37, 0x34, 0x4a, + 0x5f, 0x20, 0x63, 0x79, 0xcb, 0x19, 0xc3, 0x85, 0x0e, 0xa1, 0xc0, 0x67, 0x08, 0xa5, 0x97, 0x40, + 0x72, 0xd0, 0x64, 0x39, 0x0b, 0x12, 0xb7, 0xe8, 0x41, 0x31, 0x2c, 0x15, 0x92, 0x33, 0xba, 0x2d, + 0x52, 0xf8, 0x27, 0x13, 0x0b, 0x25, 0xfa, 0xfb, 0x1f, 0x1e, 0x8d, 0x4d, 0x36, 0xf1, 0x47, 0x6d, + 0xdd, 0xb6, 0x3a, 0x53, 0x73, 0x3c, 0x61, 0xd4, 0xa4, 0x63, 0x4a, 0xd8, 0xcc, 0x76, 0xaf, 0x3a, + 0x53, 0x6a, 0x74, 0xa6, 0x34, 0xf9, 0x9f, 0x75, 0x1d, 0x7d, 0x54, 0xe4, 0xff, 0xda, 0xfd, 0x6f, + 0x01, 0x00, 0x00, 0xff, 0xff, 0x49, 0xcd, 0xe9, 0xf8, 0x89, 0x07, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/lnrpc/wtclientrpc/wtclient.proto b/lnrpc/wtclientrpc/wtclient.proto index 15584cd5..736a4bdd 100644 --- a/lnrpc/wtclientrpc/wtclient.proto +++ b/lnrpc/wtclientrpc/wtclient.proto @@ -87,10 +87,17 @@ message TowerSession { uint32 max_backups = 3; /* + Deprecated, use sweep_sat_per_vbyte. The fee rate, in satoshis per vbyte, that will be used by the watchtower for the justice transaction in the event of a channel breach. */ - uint32 sweep_sat_per_byte = 4; + uint32 sweep_sat_per_byte = 4 [deprecated = true]; + + /* + The fee rate, in satoshis per vbyte, that will be used by the watchtower for + the justice transaction in the event of a channel breach. + */ + uint32 sweep_sat_per_vbyte = 5; } message Tower { @@ -172,8 +179,15 @@ message PolicyResponse { uint32 max_updates = 1; /* + Deprecated, use sweep_sat_per_vbyte. The fee rate, in satoshis per vbyte, that will be used by watchtowers for justice transactions in response to channel breaches. */ - uint32 sweep_sat_per_byte = 2; + uint32 sweep_sat_per_byte = 2 [deprecated = true]; + + /* + The fee rate, in satoshis per vbyte, that will be used by watchtowers for + justice transactions in response to channel breaches. + */ + uint32 sweep_sat_per_vbyte = 3; } diff --git a/lnrpc/wtclientrpc/wtclient.swagger.json b/lnrpc/wtclientrpc/wtclient.swagger.json index 90ac613d..e370de71 100644 --- a/lnrpc/wtclientrpc/wtclient.swagger.json +++ b/lnrpc/wtclientrpc/wtclient.swagger.json @@ -289,6 +289,11 @@ "description": "The maximum number of updates each session we negotiate with watchtowers\nshould allow." }, "sweep_sat_per_byte": { + "type": "integer", + "format": "int64", + "description": "Deprecated, use sweep_sat_per_vbyte.\nThe fee rate, in satoshis per vbyte, that will be used by watchtowers for\njustice transactions in response to channel breaches." + }, + "sweep_sat_per_vbyte": { "type": "integer", "format": "int64", "description": "The fee rate, in satoshis per vbyte, that will be used by watchtowers for\njustice transactions in response to channel breaches." @@ -390,6 +395,11 @@ "description": "The maximum number of backups allowed by the watchtower session." }, "sweep_sat_per_byte": { + "type": "integer", + "format": "int64", + "description": "Deprecated, use sweep_sat_per_vbyte.\nThe fee rate, in satoshis per vbyte, that will be used by the watchtower for\nthe justice transaction in the event of a channel breach." + }, + "sweep_sat_per_vbyte": { "type": "integer", "format": "int64", "description": "The fee rate, in satoshis per vbyte, that will be used by the watchtower for\nthe justice transaction in the event of a channel breach." diff --git a/lntest/itest/lnd_onchain_test.go b/lntest/itest/lnd_onchain_test.go index 6cc656a7..52635d77 100644 --- a/lntest/itest/lnd_onchain_test.go +++ b/lntest/itest/lnd_onchain_test.go @@ -97,8 +97,10 @@ func testCPFP(net *lntest.NetworkHarness, t *harnessTest) { // We'll attempt to bump the fee of this transaction by performing a // CPFP from Alice's point of view. bumpFeeReq := &walletrpc.BumpFeeRequest{ - Outpoint: op, - SatPerByte: uint32(sweep.DefaultMaxFeeRate.FeePerKVByte() / 2000), + Outpoint: op, + SatPerVbyte: uint64( + sweep.DefaultMaxFeeRate.FeePerKVByte() / 2000, + ), } ctxt, _ = context.WithTimeout(ctxb, defaultTimeout) _, err = net.Bob.WalletKitClient.BumpFee(ctxt, bumpFeeReq) @@ -136,9 +138,9 @@ func testCPFP(net *lntest.NetworkHarness, t *harnessTest) { t.Fatalf("expected output index %v, got %v", op.OutputIndex, pendingSweep.Outpoint.OutputIndex) } - if pendingSweep.SatPerByte != bumpFeeReq.SatPerByte { - t.Fatalf("expected sweep sat per byte %v, got %v", - bumpFeeReq.SatPerByte, pendingSweep.SatPerByte) + if pendingSweep.SatPerVbyte != bumpFeeReq.SatPerVbyte { + t.Fatalf("expected sweep sat per vbyte %v, got %v", + bumpFeeReq.SatPerVbyte, pendingSweep.SatPerVbyte) } // Mine a block to clean up the unconfirmed transactions. diff --git a/rpcserver.go b/rpcserver.go index 129c4bb1..85f2154f 100644 --- a/rpcserver.go +++ b/rpcserver.go @@ -217,6 +217,45 @@ func stringInSlice(a string, slice []string) bool { return false } +// calculateFeeRate uses either satPerByte or satPerVByte, but not both, from a +// request to calculate the fee rate. It provides compatibility for the +// deprecated field, satPerByte. Once the field is safe to be removed, the +// check can then be deleted. +func calculateFeeRate(satPerByte, satPerVByte uint64, targetConf uint32, + estimator chainfee.Estimator) (chainfee.SatPerKWeight, error) { + + var feeRate chainfee.SatPerKWeight + + // We only allow using either the deprecated field or the new field. + if satPerByte != 0 && satPerVByte != 0 { + return feeRate, fmt.Errorf("either SatPerByte or " + + "SatPerVByte should be set, but not both") + } + + // Default to satPerVByte, and overwrite it if satPerByte is set. + satPerKw := chainfee.SatPerKVByte(satPerVByte * 1000).FeePerKWeight() + if satPerByte != 0 { + satPerKw = chainfee.SatPerKVByte( + satPerByte * 1000, + ).FeePerKWeight() + } + + // Based on the passed fee related parameters, we'll determine an + // appropriate fee rate for this transaction. + feeRate, err := sweep.DetermineFeePerKw( + estimator, sweep.FeePreference{ + ConfTarget: targetConf, + FeeRate: satPerKw, + }, + ) + if err != nil { + return feeRate, err + } + + return feeRate, nil + +} + // MainRPCServerPermissions returns a mapping of the main RPC server calls to // the permissions they require. func MainRPCServerPermissions() map[string][]bakery.Op { @@ -1053,7 +1092,10 @@ func (r *rpcServer) EstimateFee(ctx context.Context, totalFee := int64(tx.TotalInput) - totalOutput resp := &lnrpc.EstimateFeeResponse{ - FeeSat: totalFee, + FeeSat: totalFee, + SatPerVbyte: uint64(feePerKw.FeePerKVByte() / 1000), + + // Deprecated field. FeerateSatPerByte: int64(feePerKw.FeePerKVByte() / 1000), } @@ -1068,14 +1110,10 @@ func (r *rpcServer) EstimateFee(ctx context.Context, func (r *rpcServer) SendCoins(ctx context.Context, in *lnrpc.SendCoinsRequest) (*lnrpc.SendCoinsResponse, error) { - // Based on the passed fee related parameters, we'll determine an - // appropriate fee rate for this transaction. - satPerKw := chainfee.SatPerKVByte(in.SatPerByte * 1000).FeePerKWeight() - feePerKw, err := sweep.DetermineFeePerKw( - r.server.cc.FeeEstimator, sweep.FeePreference{ - ConfTarget: uint32(in.TargetConf), - FeeRate: satPerKw, - }, + // Calculate an appropriate fee rate for this transaction. + feePerKw, err := calculateFeeRate( + uint64(in.SatPerByte), in.SatPerVbyte, + uint32(in.TargetConf), r.server.cc.FeeEstimator, ) if err != nil { return nil, err @@ -1279,14 +1317,10 @@ func (r *rpcServer) SendCoins(ctx context.Context, func (r *rpcServer) SendMany(ctx context.Context, in *lnrpc.SendManyRequest) (*lnrpc.SendManyResponse, error) { - // Based on the passed fee related parameters, we'll determine an - // appropriate fee rate for this transaction. - satPerKw := chainfee.SatPerKVByte(in.SatPerByte * 1000).FeePerKWeight() - feePerKw, err := sweep.DetermineFeePerKw( - r.server.cc.FeeEstimator, sweep.FeePreference{ - ConfTarget: uint32(in.TargetConf), - FeeRate: satPerKw, - }, + // Calculate an appropriate fee rate for this transaction. + feePerKw, err := calculateFeeRate( + uint64(in.SatPerByte), in.SatPerVbyte, + uint32(in.TargetConf), r.server.cc.FeeEstimator, ) if err != nil { return nil, err @@ -1679,7 +1713,7 @@ func newPsbtAssembler(req *lnrpc.OpenChannelRequest, normalizedMinConfs int32, "minimum confirmation is not supported for PSBT " + "funding") } - if req.SatPerByte != 0 || req.TargetConf != 0 { + if req.SatPerByte != 0 || req.SatPerVbyte != 0 || req.TargetConf != 0 { return nil, fmt.Errorf("specifying fee estimation parameters " + "is not supported for PSBT funding") } @@ -1830,14 +1864,10 @@ func (r *rpcServer) parseOpenChannelReq(in *lnrpc.OpenChannelRequest, return nil, fmt.Errorf("cannot open channel to self") } - // Based on the passed fee related parameters, we'll determine an - // appropriate fee rate for the funding transaction. - satPerKw := chainfee.SatPerKVByte(in.SatPerByte * 1000).FeePerKWeight() - feeRate, err := sweep.DetermineFeePerKw( - r.server.cc.FeeEstimator, sweep.FeePreference{ - ConfTarget: uint32(in.TargetConf), - FeeRate: satPerKw, - }, + // Calculate an appropriate fee rate for this transaction. + feeRate, err := calculateFeeRate( + uint64(in.SatPerByte), in.SatPerVbyte, + uint32(in.TargetConf), r.server.cc.FeeEstimator, ) if err != nil { return nil, err @@ -2039,7 +2069,9 @@ func (r *rpcServer) CloseChannel(in *lnrpc.CloseChannelRequest, // If force closing a channel, the fee set in the commitment transaction // is used. - if in.Force && (in.SatPerByte != 0 || in.TargetConf != 0) { + if in.Force && (in.SatPerByte != 0 || in.SatPerVbyte != 0 || + in.TargetConf != 0) { + return fmt.Errorf("force closing a channel uses a pre-defined fee") } @@ -2171,14 +2203,9 @@ func (r *rpcServer) CloseChannel(in *lnrpc.CloseChannelRequest, // Based on the passed fee related parameters, we'll determine // an appropriate fee rate for the cooperative closure // transaction. - satPerKw := chainfee.SatPerKVByte( - in.SatPerByte * 1000, - ).FeePerKWeight() - feeRate, err := sweep.DetermineFeePerKw( - r.server.cc.FeeEstimator, sweep.FeePreference{ - ConfTarget: uint32(in.TargetConf), - FeeRate: satPerKw, - }, + feeRate, err := calculateFeeRate( + uint64(in.SatPerByte), in.SatPerVbyte, + uint32(in.TargetConf), r.server.cc.FeeEstimator, ) if err != nil { return err diff --git a/server.go b/server.go index 7c6681b6..62b93694 100644 --- a/server.go +++ b/server.go @@ -1245,12 +1245,12 @@ func newServer(cfg *Config, listenAddrs []net.Addr, policy := wtpolicy.DefaultPolicy() if cfg.WtClient.SweepFeeRate != 0 { - // We expose the sweep fee rate in sat/byte, but the + // We expose the sweep fee rate in sat/vbyte, but the // tower protocol operations on sat/kw. - sweepRateSatPerByte := chainfee.SatPerKVByte( + sweepRateSatPerVByte := chainfee.SatPerKVByte( 1000 * cfg.WtClient.SweepFeeRate, ) - policy.SweepFeeRate = sweepRateSatPerByte.FeePerKWeight() + policy.SweepFeeRate = sweepRateSatPerVByte.FeePerKWeight() } if err := policy.Validate(); err != nil {