invoices+htlcswitch+lnrpc: cancel invoice

This commit is contained in:
Joost Jager 2019-01-11 11:19:16 +01:00
parent 9cd88a04b7
commit 1b87fbfab2
No known key found for this signature in database
GPG Key ID: A61B9D4C393C59C7
13 changed files with 1020 additions and 590 deletions

@ -62,6 +62,10 @@ var (
// ErrInvoiceAlreadySettled is returned when the invoice is already // ErrInvoiceAlreadySettled is returned when the invoice is already
// settled. // settled.
ErrInvoiceAlreadySettled = errors.New("invoice already settled") ErrInvoiceAlreadySettled = errors.New("invoice already settled")
// ErrInvoiceAlreadyCanceled is returned when the invoice is already
// canceled.
ErrInvoiceAlreadyCanceled = errors.New("invoice already canceled")
) )
const ( const (
@ -90,6 +94,9 @@ const (
// ContractSettled means the htlc is settled and the invoice has been // ContractSettled means the htlc is settled and the invoice has been
// paid. // paid.
ContractSettled ContractState = 1 ContractSettled ContractState = 1
// ContractCanceled means the invoice has been canceled.
ContractCanceled ContractState = 2
) )
// String returns a human readable identifier for the ContractState type. // String returns a human readable identifier for the ContractState type.
@ -99,6 +106,8 @@ func (c ContractState) String() string {
return "Open" return "Open"
case ContractSettled: case ContractSettled:
return "Settled" return "Settled"
case ContractCanceled:
return "Canceled"
} }
return "Unknown" return "Unknown"
@ -641,6 +650,37 @@ func (d *DB) SettleInvoice(paymentHash [32]byte,
return settledInvoice, err return settledInvoice, err
} }
// CancelInvoice attempts to cancel the invoice corresponding to the passed
// payment hash.
func (d *DB) CancelInvoice(paymentHash lntypes.Hash) (*Invoice, error) {
var canceledInvoice *Invoice
err := d.Update(func(tx *bbolt.Tx) error {
invoices, err := tx.CreateBucketIfNotExists(invoiceBucket)
if err != nil {
return err
}
invoiceIndex, err := invoices.CreateBucketIfNotExists(
invoiceIndexBucket,
)
if err != nil {
return err
}
// Check the invoice index to see if an invoice paying to this
// hash exists within the DB.
invoiceNum := invoiceIndex.Get(paymentHash[:])
if invoiceNum == nil {
return ErrInvoiceNotFound
}
canceledInvoice, err = cancelInvoice(invoices, invoiceNum)
return err
})
return canceledInvoice, err
}
// InvoicesSettledSince can be used by callers to catch up any settled invoices // InvoicesSettledSince can be used by callers to catch up any settled invoices
// they missed within the settled invoice time series. We'll return all known // they missed within the settled invoice time series. We'll return all known
// settled invoice that have a settle index higher than the passed // settled invoice that have a settle index higher than the passed
@ -896,8 +936,11 @@ func settleInvoice(invoices, settleIndex *bbolt.Bucket, invoiceNum []byte,
return nil, err return nil, err
} }
if invoice.Terms.State == ContractSettled { switch invoice.Terms.State {
case ContractSettled:
return &invoice, ErrInvoiceAlreadySettled return &invoice, ErrInvoiceAlreadySettled
case ContractCanceled:
return &invoice, ErrInvoiceAlreadyCanceled
} }
// Now that we know the invoice hasn't already been settled, we'll // Now that we know the invoice hasn't already been settled, we'll
@ -930,3 +973,32 @@ func settleInvoice(invoices, settleIndex *bbolt.Bucket, invoiceNum []byte,
return &invoice, nil return &invoice, nil
} }
func cancelInvoice(invoices *bbolt.Bucket, invoiceNum []byte) (
*Invoice, error) {
invoice, err := fetchInvoice(invoiceNum, invoices)
if err != nil {
return nil, err
}
switch invoice.Terms.State {
case ContractSettled:
return &invoice, ErrInvoiceAlreadySettled
case ContractCanceled:
return &invoice, ErrInvoiceAlreadyCanceled
}
invoice.Terms.State = ContractCanceled
var buf bytes.Buffer
if err := serializeInvoice(&buf, &invoice); err != nil {
return nil, err
}
if err := invoices.Put(invoiceNum[:], buf.Bytes()); err != nil {
return nil, err
}
return &invoice, nil
}

@ -20,6 +20,10 @@ type InvoiceDatabase interface {
// SettleInvoice attempts to mark an invoice corresponding to the // SettleInvoice attempts to mark an invoice corresponding to the
// passed payment hash as fully settled. // passed payment hash as fully settled.
SettleInvoice(payHash lntypes.Hash, paidAmount lnwire.MilliSatoshi) error SettleInvoice(payHash lntypes.Hash, paidAmount lnwire.MilliSatoshi) error
// CancelInvoice attempts to cancel the invoice corresponding to the
// passed payment hash.
CancelInvoice(payHash lntypes.Hash) error
} }
// ChannelLink is an interface which represents the subsystem for managing the // ChannelLink is an interface which represents the subsystem for managing the

@ -2337,6 +2337,23 @@ func (l *channelLink) processRemoteAdds(fwdPkg *channeldb.FwdPkg,
continue continue
} }
// Reject htlcs for canceled invoices.
if invoice.Terms.State == channeldb.ContractCanceled {
l.errorf("Rejecting htlc due to canceled " +
"invoice")
failure := lnwire.NewFailUnknownPaymentHash(
pd.Amount,
)
l.sendHTLCError(
pd.HtlcIndex, failure, obfuscator,
pd.SourceRef,
)
needUpdate = true
continue
}
// If the invoice is already settled, we choose to // If the invoice is already settled, we choose to
// accept the payment to simplify failure recovery. // accept the payment to simplify failure recovery.
// //

@ -18,7 +18,7 @@ import (
"github.com/btcsuite/btcd/txscript" "github.com/btcsuite/btcd/txscript"
"github.com/btcsuite/btcd/wire" "github.com/btcsuite/btcd/wire"
"github.com/go-errors/errors" "github.com/go-errors/errors"
"github.com/lightningnetwork/lightning-onion" sphinx "github.com/lightningnetwork/lightning-onion"
"github.com/lightningnetwork/lnd/chainntnfs" "github.com/lightningnetwork/lnd/chainntnfs"
"github.com/lightningnetwork/lnd/channeldb" "github.com/lightningnetwork/lnd/channeldb"
"github.com/lightningnetwork/lnd/contractcourt" "github.com/lightningnetwork/lnd/contractcourt"
@ -735,6 +735,25 @@ func (i *mockInvoiceRegistry) SettleInvoice(rhash lntypes.Hash,
return nil return nil
} }
func (i *mockInvoiceRegistry) CancelInvoice(payHash lntypes.Hash) error {
i.Lock()
defer i.Unlock()
invoice, ok := i.invoices[payHash]
if !ok {
return channeldb.ErrInvoiceNotFound
}
if invoice.Terms.State == channeldb.ContractCanceled {
return nil
}
invoice.Terms.State = channeldb.ContractCanceled
i.invoices[payHash] = invoice
return nil
}
func (i *mockInvoiceRegistry) AddInvoice(invoice channeldb.Invoice) error { func (i *mockInvoiceRegistry) AddInvoice(invoice channeldb.Invoice) error {
i.Lock() i.Lock()
defer i.Unlock() defer i.Unlock()

@ -162,7 +162,11 @@ func (i *InvoiceRegistry) invoiceEventNotifier() {
// A sub-systems has just modified the invoice state, so we'll // A sub-systems has just modified the invoice state, so we'll
// dispatch notifications to all registered clients. // dispatch notifications to all registered clients.
case event := <-i.invoiceEvents: case event := <-i.invoiceEvents:
// For backwards compatibility, do not notify all
// invoice subscribers of cancel events
if event.state != channeldb.ContractCanceled {
i.dispatchToClients(event) i.dispatchToClients(event)
}
i.dispatchToSingleClients(event) i.dispatchToSingleClients(event)
case <-i.quit: case <-i.quit:
@ -256,7 +260,7 @@ func (i *InvoiceRegistry) dispatchToClients(event *invoiceEvent) {
case channeldb.ContractOpen: case channeldb.ContractOpen:
client.addIndex = invoice.AddIndex client.addIndex = invoice.AddIndex
default: default:
log.Errorf("unknown invoice state: %v", event.state) log.Errorf("unexpected invoice state: %v", event.state)
} }
} }
} }
@ -476,6 +480,34 @@ func (i *InvoiceRegistry) SettleInvoice(rHash lntypes.Hash,
return nil return nil
} }
// CancelInvoice attempts to cancel the invoice corresponding to the passed
// payment hash.
func (i *InvoiceRegistry) CancelInvoice(payHash lntypes.Hash) error {
i.Lock()
defer i.Unlock()
log.Debugf("Canceling invoice %v", payHash)
invoice, err := i.cdb.CancelInvoice(payHash)
// Implement idempotency by returning success if the invoice was already
// canceled.
if err == channeldb.ErrInvoiceAlreadyCanceled {
log.Debugf("Invoice %v already canceled", payHash)
return nil
}
if err != nil {
return err
}
log.Infof("Invoice %v canceled", payHash)
i.notifyClients(payHash, invoice, channeldb.ContractCanceled)
return nil
}
// notifyClients notifies all currently registered invoice notification clients // notifyClients notifies all currently registered invoice notification clients
// of a newly added/settled invoice. // of a newly added/settled invoice.
func (i *InvoiceRegistry) notifyClients(hash lntypes.Hash, func (i *InvoiceRegistry) notifyClients(hash lntypes.Hash,

@ -150,6 +150,122 @@ func TestSettleInvoice(t *testing.T) {
if inv.AmtPaid != amtPaid { if inv.AmtPaid != amtPaid {
t.Fatal("expected amount to be unchanged") t.Fatal("expected amount to be unchanged")
} }
// Try to cancel.
err = registry.CancelInvoice(hash)
if err != channeldb.ErrInvoiceAlreadySettled {
t.Fatal("expected cancelation of a settled invoice to fail")
}
}
// TestCancelInvoice tests cancelation of an invoice and related notifications.
func TestCancelInvoice(t *testing.T) {
cdb, cleanup, err := newDB()
if err != nil {
t.Fatal(err)
}
defer cleanup()
// Instantiate and start the invoice registry.
registry := NewRegistry(cdb, &chaincfg.MainNetParams)
err = registry.Start()
if err != nil {
t.Fatal(err)
}
defer registry.Stop()
allSubscriptions := registry.SubscribeNotifications(0, 0)
defer allSubscriptions.Cancel()
// Try to cancel the not yet existing invoice. This should fail.
err = registry.CancelInvoice(hash)
if err != channeldb.ErrInvoiceNotFound {
t.Fatalf("expected ErrInvoiceNotFound, but got %v", err)
}
// Subscribe to the not yet existing invoice.
subscription := registry.SubscribeSingleInvoice(hash)
defer subscription.Cancel()
if subscription.hash != hash {
t.Fatalf("expected subscription for provided hash")
}
// Add the invoice.
amt := lnwire.MilliSatoshi(100000)
invoice := &channeldb.Invoice{
Terms: channeldb.ContractTerm{
PaymentPreimage: preimage,
Value: amt,
},
}
_, err = registry.AddInvoice(invoice, hash)
if err != nil {
t.Fatal(err)
}
// We expect the open state to be sent to the single invoice subscriber.
select {
case update := <-subscription.Updates:
if update.Terms.State != channeldb.ContractOpen {
t.Fatalf(
"expected state ContractOpen, but got %v",
update.Terms.State,
)
}
case <-time.After(testTimeout):
t.Fatal("no update received")
}
// We expect a new invoice notification to be sent out.
select {
case newInvoice := <-allSubscriptions.NewInvoices:
if newInvoice.Terms.State != channeldb.ContractOpen {
t.Fatalf(
"expected state ContractOpen, but got %v",
newInvoice.Terms.State,
)
}
case <-time.After(testTimeout):
t.Fatal("no update received")
}
// Cancel invoice.
err = registry.CancelInvoice(hash)
if err != nil {
t.Fatal(err)
}
// We expect the canceled state to be sent to the single invoice
// subscriber.
select {
case update := <-subscription.Updates:
if update.Terms.State != channeldb.ContractCanceled {
t.Fatalf(
"expected state ContractCanceled, but got %v",
update.Terms.State,
)
}
case <-time.After(testTimeout):
t.Fatal("no update received")
}
// We expect no cancel notification to be sent to all invoice
// subscribers (backwards compatibility).
// Try to cancel again.
err = registry.CancelInvoice(hash)
if err != nil {
t.Fatal("expected cancelation of a canceled invoice to succeed")
}
// Try to settle. This should not be possible.
err = registry.SettleInvoice(hash, amt)
if err != channeldb.ErrInvoiceAlreadyCanceled {
t.Fatal("expected settlement of a canceled invoice to fail")
}
} }
func newDB() (*channeldb.DB, func(), error) { func newDB() (*channeldb.DB, func(), error) {

@ -25,6 +25,80 @@ var _ = math.Inf
// proto package needs to be updated. // proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type CancelInvoiceMsg struct {
// / Hash corresponding to the invoice to cancel.
PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CancelInvoiceMsg) Reset() { *m = CancelInvoiceMsg{} }
func (m *CancelInvoiceMsg) String() string { return proto.CompactTextString(m) }
func (*CancelInvoiceMsg) ProtoMessage() {}
func (*CancelInvoiceMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_invoices_1b708c9c030aea0e, []int{0}
}
func (m *CancelInvoiceMsg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CancelInvoiceMsg.Unmarshal(m, b)
}
func (m *CancelInvoiceMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CancelInvoiceMsg.Marshal(b, m, deterministic)
}
func (dst *CancelInvoiceMsg) XXX_Merge(src proto.Message) {
xxx_messageInfo_CancelInvoiceMsg.Merge(dst, src)
}
func (m *CancelInvoiceMsg) XXX_Size() int {
return xxx_messageInfo_CancelInvoiceMsg.Size(m)
}
func (m *CancelInvoiceMsg) XXX_DiscardUnknown() {
xxx_messageInfo_CancelInvoiceMsg.DiscardUnknown(m)
}
var xxx_messageInfo_CancelInvoiceMsg proto.InternalMessageInfo
func (m *CancelInvoiceMsg) GetPaymentHash() []byte {
if m != nil {
return m.PaymentHash
}
return nil
}
type CancelInvoiceResp struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CancelInvoiceResp) Reset() { *m = CancelInvoiceResp{} }
func (m *CancelInvoiceResp) String() string { return proto.CompactTextString(m) }
func (*CancelInvoiceResp) ProtoMessage() {}
func (*CancelInvoiceResp) Descriptor() ([]byte, []int) {
return fileDescriptor_invoices_1b708c9c030aea0e, []int{1}
}
func (m *CancelInvoiceResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CancelInvoiceResp.Unmarshal(m, b)
}
func (m *CancelInvoiceResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CancelInvoiceResp.Marshal(b, m, deterministic)
}
func (dst *CancelInvoiceResp) XXX_Merge(src proto.Message) {
xxx_messageInfo_CancelInvoiceResp.Merge(dst, src)
}
func (m *CancelInvoiceResp) XXX_Size() int {
return xxx_messageInfo_CancelInvoiceResp.Size(m)
}
func (m *CancelInvoiceResp) XXX_DiscardUnknown() {
xxx_messageInfo_CancelInvoiceResp.DiscardUnknown(m)
}
var xxx_messageInfo_CancelInvoiceResp proto.InternalMessageInfo
func init() {
proto.RegisterType((*CancelInvoiceMsg)(nil), "invoicesrpc.CancelInvoiceMsg")
proto.RegisterType((*CancelInvoiceResp)(nil), "invoicesrpc.CancelInvoiceResp")
}
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
var _ context.Context var _ context.Context
var _ grpc.ClientConn var _ grpc.ClientConn
@ -42,6 +116,11 @@ type InvoicesClient interface {
// to notify the client of state transitions of the specified invoice. // to notify the client of state transitions of the specified invoice.
// Initially the current invoice state is always sent out. // Initially the current invoice state is always sent out.
SubscribeSingleInvoice(ctx context.Context, in *lnrpc.PaymentHash, opts ...grpc.CallOption) (Invoices_SubscribeSingleInvoiceClient, error) SubscribeSingleInvoice(ctx context.Context, in *lnrpc.PaymentHash, opts ...grpc.CallOption) (Invoices_SubscribeSingleInvoiceClient, error)
// *
// CancelInvoice cancels a currently open invoice. If the invoice is already
// canceled, this call will succeed. If the invoice is already settled, it will
// fail.
CancelInvoice(ctx context.Context, in *CancelInvoiceMsg, opts ...grpc.CallOption) (*CancelInvoiceResp, error)
} }
type invoicesClient struct { type invoicesClient struct {
@ -84,6 +163,15 @@ func (x *invoicesSubscribeSingleInvoiceClient) Recv() (*lnrpc.Invoice, error) {
return m, nil return m, nil
} }
func (c *invoicesClient) CancelInvoice(ctx context.Context, in *CancelInvoiceMsg, opts ...grpc.CallOption) (*CancelInvoiceResp, error) {
out := new(CancelInvoiceResp)
err := c.cc.Invoke(ctx, "/invoicesrpc.Invoices/CancelInvoice", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// InvoicesServer is the server API for Invoices service. // InvoicesServer is the server API for Invoices service.
type InvoicesServer interface { type InvoicesServer interface {
// * // *
@ -91,6 +179,11 @@ type InvoicesServer interface {
// to notify the client of state transitions of the specified invoice. // to notify the client of state transitions of the specified invoice.
// Initially the current invoice state is always sent out. // Initially the current invoice state is always sent out.
SubscribeSingleInvoice(*lnrpc.PaymentHash, Invoices_SubscribeSingleInvoiceServer) error SubscribeSingleInvoice(*lnrpc.PaymentHash, Invoices_SubscribeSingleInvoiceServer) error
// *
// CancelInvoice cancels a currently open invoice. If the invoice is already
// canceled, this call will succeed. If the invoice is already settled, it will
// fail.
CancelInvoice(context.Context, *CancelInvoiceMsg) (*CancelInvoiceResp, error)
} }
func RegisterInvoicesServer(s *grpc.Server, srv InvoicesServer) { func RegisterInvoicesServer(s *grpc.Server, srv InvoicesServer) {
@ -118,10 +211,33 @@ func (x *invoicesSubscribeSingleInvoiceServer) Send(m *lnrpc.Invoice) error {
return x.ServerStream.SendMsg(m) return x.ServerStream.SendMsg(m)
} }
func _Invoices_CancelInvoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CancelInvoiceMsg)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(InvoicesServer).CancelInvoice(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/invoicesrpc.Invoices/CancelInvoice",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InvoicesServer).CancelInvoice(ctx, req.(*CancelInvoiceMsg))
}
return interceptor(ctx, in, info, handler)
}
var _Invoices_serviceDesc = grpc.ServiceDesc{ var _Invoices_serviceDesc = grpc.ServiceDesc{
ServiceName: "invoicesrpc.Invoices", ServiceName: "invoicesrpc.Invoices",
HandlerType: (*InvoicesServer)(nil), HandlerType: (*InvoicesServer)(nil),
Methods: []grpc.MethodDesc{}, Methods: []grpc.MethodDesc{
{
MethodName: "CancelInvoice",
Handler: _Invoices_CancelInvoice_Handler,
},
},
Streams: []grpc.StreamDesc{ Streams: []grpc.StreamDesc{
{ {
StreamName: "SubscribeSingleInvoice", StreamName: "SubscribeSingleInvoice",
@ -133,21 +249,25 @@ var _Invoices_serviceDesc = grpc.ServiceDesc{
} }
func init() { func init() {
proto.RegisterFile("invoicesrpc/invoices.proto", fileDescriptor_invoices_c6414974947f2940) proto.RegisterFile("invoicesrpc/invoices.proto", fileDescriptor_invoices_1b708c9c030aea0e)
} }
var fileDescriptor_invoices_c6414974947f2940 = []byte{ var fileDescriptor_invoices_1b708c9c030aea0e = []byte{
// 177 bytes of a gzipped FileDescriptorProto // 246 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x8e, 0xb1, 0x8e, 0xc2, 0x30, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x90, 0xbf, 0x4b, 0x43, 0x31,
0x10, 0x44, 0x75, 0xcd, 0xe9, 0x2e, 0x27, 0x5d, 0xe1, 0x82, 0xc2, 0xe2, 0x1b, 0xb2, 0x40, 0x7a, 0x10, 0xc7, 0x79, 0x8b, 0x68, 0x5a, 0x45, 0x23, 0x88, 0x04, 0x15, 0xed, 0xe4, 0x94, 0xa8, 0xc5,
0x0a, 0x2a, 0xa0, 0x42, 0x4a, 0x47, 0x67, 0x1b, 0xcb, 0x59, 0xe1, 0xec, 0x5a, 0xce, 0x06, 0xc4, 0xd5, 0x41, 0x17, 0x1d, 0x14, 0x69, 0x37, 0x17, 0xc9, 0x8b, 0x21, 0x39, 0x4c, 0xef, 0x42, 0x92,
0xdf, 0x23, 0x82, 0x91, 0xd2, 0x8d, 0x66, 0xe6, 0x49, 0xaf, 0xd2, 0x48, 0x37, 0x46, 0xe7, 0x87, 0x2a, 0xfe, 0x2b, 0xfe, 0xb5, 0xd2, 0x36, 0xe2, 0x7b, 0x42, 0xb7, 0xcb, 0x7d, 0x7f, 0xe4, 0x93,
0x9c, 0x1c, 0x7c, 0x72, 0x9d, 0x32, 0x0b, 0xab, 0xbf, 0xd9, 0xa6, 0x97, 0x81, 0x39, 0x44, 0x0f, 0x30, 0x01, 0xf8, 0x41, 0x60, 0x6c, 0x4e, 0xd1, 0xa8, 0xdf, 0x59, 0xc6, 0x44, 0x85, 0xf8, 0xa0,
0x26, 0x21, 0x18, 0x22, 0x16, 0x23, 0xc8, 0x54, 0xae, 0xfa, 0x37, 0x27, 0xf7, 0x8e, 0x9b, 0x63, 0xa3, 0x89, 0x23, 0x47, 0xe4, 0x82, 0x55, 0x3a, 0x82, 0xd2, 0x88, 0x54, 0x74, 0x01, 0xc2, 0x6a,
0xf5, 0x73, 0x28, 0x9c, 0xda, 0x56, 0x8b, 0x76, 0xb4, 0x83, 0xcb, 0x68, 0x7d, 0x8b, 0x14, 0xa2, 0x15, 0x5b, 0x29, 0x9a, 0xd5, 0x38, 0xba, 0x66, 0xbb, 0x77, 0x1a, 0x8d, 0x0d, 0x0f, 0xab, 0xf4,
0x2f, 0x93, 0x52, 0x75, 0xa4, 0x17, 0x73, 0x32, 0x8f, 0xde, 0x93, 0xec, 0xcd, 0xd0, 0xe9, 0xff, 0x63, 0x76, 0xfc, 0x8c, 0x0d, 0xa3, 0xfe, 0x9a, 0x59, 0x2c, 0xaf, 0x5e, 0x67, 0x7f, 0xd8, 0x9c,
0xd2, 0x95, 0xcf, 0xea, 0x6b, 0xd7, 0x9c, 0xd7, 0x01, 0xa5, 0x1b, 0x6d, 0xed, 0xb8, 0x87, 0x88, 0x36, 0xe7, 0xc3, 0xc9, 0xa0, 0xee, 0xee, 0x75, 0xf6, 0xa3, 0x7d, 0xb6, 0xd7, 0x8b, 0x4d, 0x6c,
0xa1, 0x13, 0x42, 0x0a, 0xe4, 0xe5, 0xce, 0xf9, 0x0a, 0x91, 0x2e, 0x30, 0x21, 0x30, 0x33, 0xb5, 0x8e, 0x57, 0xdf, 0x0d, 0xdb, 0xac, 0xe7, 0xcc, 0x6f, 0xd8, 0xc1, 0x74, 0xde, 0x66, 0x93, 0xa0,
0xdf, 0x93, 0x47, 0xf3, 0x0c, 0x00, 0x00, 0xff, 0xff, 0xcf, 0x4e, 0x97, 0xf2, 0xdb, 0x00, 0x00, 0xb5, 0x53, 0x40, 0x17, 0x6c, 0x95, 0x38, 0x97, 0x01, 0x17, 0x00, 0xcf, 0x7f, 0x7d, 0x62, 0xa7,
0x00, 0xee, 0xaa, 0xe7, 0xa2, 0xe1, 0x4f, 0x6c, 0xbb, 0x77, 0x03, 0x3f, 0x96, 0x9d, 0x07, 0xca, 0xff,
0xd0, 0xe2, 0x64, 0xbd, 0xbc, 0x80, 0xbb, 0x1d, 0xbf, 0x5c, 0x3a, 0x28, 0x7e, 0xde, 0x4a, 0x43,
0x33, 0x15, 0xc0, 0xf9, 0x82, 0x80, 0x0e, 0x6d, 0xf9, 0xa4, 0xf4, 0xae, 0x02, 0xbe, 0xa9, 0x25,
0x82, 0xea, 0xd4, 0xb4, 0x1b, 0xcb, 0x4f, 0x1a, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0xd2, 0xc3,
0x7e, 0x3a, 0x78, 0x01, 0x00, 0x00,
} }

@ -16,5 +16,17 @@ service Invoices {
Initially the current invoice state is always sent out. Initially the current invoice state is always sent out.
*/ */
rpc SubscribeSingleInvoice (lnrpc.PaymentHash) returns (stream lnrpc.Invoice); rpc SubscribeSingleInvoice (lnrpc.PaymentHash) returns (stream lnrpc.Invoice);
/**
CancelInvoice cancels a currently open invoice. If the invoice is already
canceled, this call will succeed. If the invoice is already settled, it will
fail.
*/
rpc CancelInvoice(CancelInvoiceMsg) returns (CancelInvoiceResp);
} }
message CancelInvoiceMsg {
/// Hash corresponding to the invoice to cancel.
bytes payment_hash = 1;
}
message CancelInvoiceResp {}

@ -8,10 +8,11 @@ import (
"os" "os"
"path/filepath" "path/filepath"
"github.com/lightningnetwork/lnd/lnrpc"
"github.com/lightningnetwork/lnd/lntypes"
"google.golang.org/grpc" "google.golang.org/grpc"
"gopkg.in/macaroon-bakery.v2/bakery" "gopkg.in/macaroon-bakery.v2/bakery"
"github.com/lightningnetwork/lnd/lnrpc"
"github.com/lightningnetwork/lnd/lntypes"
) )
const ( const (
@ -26,6 +27,10 @@ var (
// macaroonOps are the set of capabilities that our minted macaroon (if // macaroonOps are the set of capabilities that our minted macaroon (if
// it doesn't already exist) will have. // it doesn't already exist) will have.
macaroonOps = []bakery.Op{ macaroonOps = []bakery.Op{
{
Entity: "invoices",
Action: "write",
},
{ {
Entity: "invoices", Entity: "invoices",
Action: "read", Action: "read",
@ -38,6 +43,10 @@ var (
Entity: "invoices", Entity: "invoices",
Action: "read", Action: "read",
}}, }},
"/invoicesrpc.Invoices/CancelInvoice": {{
Entity: "invoices",
Action: "write",
}},
} }
// DefaultInvoicesMacFilename is the default name of the invoices // DefaultInvoicesMacFilename is the default name of the invoices
@ -181,3 +190,24 @@ func (s *Server) SubscribeSingleInvoice(req *lnrpc.PaymentHash,
} }
} }
} }
// CancelInvoice cancels a currently open invoice. If the invoice is already
// canceled, this call will succeed. If the invoice is already settled, it will
// fail.
func (s *Server) CancelInvoice(ctx context.Context,
in *CancelInvoiceMsg) (*CancelInvoiceResp, error) {
paymentHash, err := lntypes.NewHash(in.PaymentHash)
if err != nil {
return nil, err
}
err = s.cfg.InvoiceRegistry.CancelInvoice(*paymentHash)
if err != nil {
return nil, err
}
log.Infof("Canceled invoice %v", paymentHash)
return &CancelInvoiceResp{}, nil
}

@ -59,8 +59,11 @@ func CreateRPCInvoice(invoice *channeldb.Invoice,
state = lnrpc.Invoice_OPEN state = lnrpc.Invoice_OPEN
case channeldb.ContractSettled: case channeldb.ContractSettled:
state = lnrpc.Invoice_SETTLED state = lnrpc.Invoice_SETTLED
case channeldb.ContractCanceled:
state = lnrpc.Invoice_CANCELED
default: default:
return nil, fmt.Errorf("unknown invoice state") return nil, fmt.Errorf("unknown invoice state %v",
invoice.Terms.State)
} }
return &lnrpc.Invoice{ return &lnrpc.Invoice{

@ -49,7 +49,7 @@ func (x AddressType) String() string {
return proto.EnumName(AddressType_name, int32(x)) return proto.EnumName(AddressType_name, int32(x))
} }
func (AddressType) EnumDescriptor() ([]byte, []int) { func (AddressType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{0} return fileDescriptor_rpc_77ead11e8ea54150, []int{0}
} }
type ChannelCloseSummary_ClosureType int32 type ChannelCloseSummary_ClosureType int32
@ -84,7 +84,7 @@ func (x ChannelCloseSummary_ClosureType) String() string {
return proto.EnumName(ChannelCloseSummary_ClosureType_name, int32(x)) return proto.EnumName(ChannelCloseSummary_ClosureType_name, int32(x))
} }
func (ChannelCloseSummary_ClosureType) EnumDescriptor() ([]byte, []int) { func (ChannelCloseSummary_ClosureType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{39, 0} return fileDescriptor_rpc_77ead11e8ea54150, []int{39, 0}
} }
type ChannelEventUpdate_UpdateType int32 type ChannelEventUpdate_UpdateType int32
@ -113,7 +113,7 @@ func (x ChannelEventUpdate_UpdateType) String() string {
return proto.EnumName(ChannelEventUpdate_UpdateType_name, int32(x)) return proto.EnumName(ChannelEventUpdate_UpdateType_name, int32(x))
} }
func (ChannelEventUpdate_UpdateType) EnumDescriptor() ([]byte, []int) { func (ChannelEventUpdate_UpdateType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{60, 0} return fileDescriptor_rpc_77ead11e8ea54150, []int{60, 0}
} }
type Invoice_InvoiceState int32 type Invoice_InvoiceState int32
@ -121,22 +121,25 @@ type Invoice_InvoiceState int32
const ( const (
Invoice_OPEN Invoice_InvoiceState = 0 Invoice_OPEN Invoice_InvoiceState = 0
Invoice_SETTLED Invoice_InvoiceState = 1 Invoice_SETTLED Invoice_InvoiceState = 1
Invoice_CANCELED Invoice_InvoiceState = 2
) )
var Invoice_InvoiceState_name = map[int32]string{ var Invoice_InvoiceState_name = map[int32]string{
0: "OPEN", 0: "OPEN",
1: "SETTLED", 1: "SETTLED",
2: "CANCELED",
} }
var Invoice_InvoiceState_value = map[string]int32{ var Invoice_InvoiceState_value = map[string]int32{
"OPEN": 0, "OPEN": 0,
"SETTLED": 1, "SETTLED": 1,
"CANCELED": 2,
} }
func (x Invoice_InvoiceState) String() string { func (x Invoice_InvoiceState) String() string {
return proto.EnumName(Invoice_InvoiceState_name, int32(x)) return proto.EnumName(Invoice_InvoiceState_name, int32(x))
} }
func (Invoice_InvoiceState) EnumDescriptor() ([]byte, []int) { func (Invoice_InvoiceState) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{89, 0} return fileDescriptor_rpc_77ead11e8ea54150, []int{89, 0}
} }
type GenSeedRequest struct { type GenSeedRequest struct {
@ -157,7 +160,7 @@ func (m *GenSeedRequest) Reset() { *m = GenSeedRequest{} }
func (m *GenSeedRequest) String() string { return proto.CompactTextString(m) } func (m *GenSeedRequest) String() string { return proto.CompactTextString(m) }
func (*GenSeedRequest) ProtoMessage() {} func (*GenSeedRequest) ProtoMessage() {}
func (*GenSeedRequest) Descriptor() ([]byte, []int) { func (*GenSeedRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{0} return fileDescriptor_rpc_77ead11e8ea54150, []int{0}
} }
func (m *GenSeedRequest) XXX_Unmarshal(b []byte) error { func (m *GenSeedRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GenSeedRequest.Unmarshal(m, b) return xxx_messageInfo_GenSeedRequest.Unmarshal(m, b)
@ -212,7 +215,7 @@ func (m *GenSeedResponse) Reset() { *m = GenSeedResponse{} }
func (m *GenSeedResponse) String() string { return proto.CompactTextString(m) } func (m *GenSeedResponse) String() string { return proto.CompactTextString(m) }
func (*GenSeedResponse) ProtoMessage() {} func (*GenSeedResponse) ProtoMessage() {}
func (*GenSeedResponse) Descriptor() ([]byte, []int) { func (*GenSeedResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{1} return fileDescriptor_rpc_77ead11e8ea54150, []int{1}
} }
func (m *GenSeedResponse) XXX_Unmarshal(b []byte) error { func (m *GenSeedResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GenSeedResponse.Unmarshal(m, b) return xxx_messageInfo_GenSeedResponse.Unmarshal(m, b)
@ -277,7 +280,7 @@ func (m *InitWalletRequest) Reset() { *m = InitWalletRequest{} }
func (m *InitWalletRequest) String() string { return proto.CompactTextString(m) } func (m *InitWalletRequest) String() string { return proto.CompactTextString(m) }
func (*InitWalletRequest) ProtoMessage() {} func (*InitWalletRequest) ProtoMessage() {}
func (*InitWalletRequest) Descriptor() ([]byte, []int) { func (*InitWalletRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{2} return fileDescriptor_rpc_77ead11e8ea54150, []int{2}
} }
func (m *InitWalletRequest) XXX_Unmarshal(b []byte) error { func (m *InitWalletRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InitWalletRequest.Unmarshal(m, b) return xxx_messageInfo_InitWalletRequest.Unmarshal(m, b)
@ -335,7 +338,7 @@ func (m *InitWalletResponse) Reset() { *m = InitWalletResponse{} }
func (m *InitWalletResponse) String() string { return proto.CompactTextString(m) } func (m *InitWalletResponse) String() string { return proto.CompactTextString(m) }
func (*InitWalletResponse) ProtoMessage() {} func (*InitWalletResponse) ProtoMessage() {}
func (*InitWalletResponse) Descriptor() ([]byte, []int) { func (*InitWalletResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{3} return fileDescriptor_rpc_77ead11e8ea54150, []int{3}
} }
func (m *InitWalletResponse) XXX_Unmarshal(b []byte) error { func (m *InitWalletResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InitWalletResponse.Unmarshal(m, b) return xxx_messageInfo_InitWalletResponse.Unmarshal(m, b)
@ -377,7 +380,7 @@ func (m *UnlockWalletRequest) Reset() { *m = UnlockWalletRequest{} }
func (m *UnlockWalletRequest) String() string { return proto.CompactTextString(m) } func (m *UnlockWalletRequest) String() string { return proto.CompactTextString(m) }
func (*UnlockWalletRequest) ProtoMessage() {} func (*UnlockWalletRequest) ProtoMessage() {}
func (*UnlockWalletRequest) Descriptor() ([]byte, []int) { func (*UnlockWalletRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{4} return fileDescriptor_rpc_77ead11e8ea54150, []int{4}
} }
func (m *UnlockWalletRequest) XXX_Unmarshal(b []byte) error { func (m *UnlockWalletRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UnlockWalletRequest.Unmarshal(m, b) return xxx_messageInfo_UnlockWalletRequest.Unmarshal(m, b)
@ -421,7 +424,7 @@ func (m *UnlockWalletResponse) Reset() { *m = UnlockWalletResponse{} }
func (m *UnlockWalletResponse) String() string { return proto.CompactTextString(m) } func (m *UnlockWalletResponse) String() string { return proto.CompactTextString(m) }
func (*UnlockWalletResponse) ProtoMessage() {} func (*UnlockWalletResponse) ProtoMessage() {}
func (*UnlockWalletResponse) Descriptor() ([]byte, []int) { func (*UnlockWalletResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{5} return fileDescriptor_rpc_77ead11e8ea54150, []int{5}
} }
func (m *UnlockWalletResponse) XXX_Unmarshal(b []byte) error { func (m *UnlockWalletResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UnlockWalletResponse.Unmarshal(m, b) return xxx_messageInfo_UnlockWalletResponse.Unmarshal(m, b)
@ -459,7 +462,7 @@ func (m *ChangePasswordRequest) Reset() { *m = ChangePasswordRequest{} }
func (m *ChangePasswordRequest) String() string { return proto.CompactTextString(m) } func (m *ChangePasswordRequest) String() string { return proto.CompactTextString(m) }
func (*ChangePasswordRequest) ProtoMessage() {} func (*ChangePasswordRequest) ProtoMessage() {}
func (*ChangePasswordRequest) Descriptor() ([]byte, []int) { func (*ChangePasswordRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{6} return fileDescriptor_rpc_77ead11e8ea54150, []int{6}
} }
func (m *ChangePasswordRequest) XXX_Unmarshal(b []byte) error { func (m *ChangePasswordRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChangePasswordRequest.Unmarshal(m, b) return xxx_messageInfo_ChangePasswordRequest.Unmarshal(m, b)
@ -503,7 +506,7 @@ func (m *ChangePasswordResponse) Reset() { *m = ChangePasswordResponse{}
func (m *ChangePasswordResponse) String() string { return proto.CompactTextString(m) } func (m *ChangePasswordResponse) String() string { return proto.CompactTextString(m) }
func (*ChangePasswordResponse) ProtoMessage() {} func (*ChangePasswordResponse) ProtoMessage() {}
func (*ChangePasswordResponse) Descriptor() ([]byte, []int) { func (*ChangePasswordResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{7} return fileDescriptor_rpc_77ead11e8ea54150, []int{7}
} }
func (m *ChangePasswordResponse) XXX_Unmarshal(b []byte) error { func (m *ChangePasswordResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChangePasswordResponse.Unmarshal(m, b) return xxx_messageInfo_ChangePasswordResponse.Unmarshal(m, b)
@ -545,7 +548,7 @@ func (m *Utxo) Reset() { *m = Utxo{} }
func (m *Utxo) String() string { return proto.CompactTextString(m) } func (m *Utxo) String() string { return proto.CompactTextString(m) }
func (*Utxo) ProtoMessage() {} func (*Utxo) ProtoMessage() {}
func (*Utxo) Descriptor() ([]byte, []int) { func (*Utxo) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{8} return fileDescriptor_rpc_77ead11e8ea54150, []int{8}
} }
func (m *Utxo) XXX_Unmarshal(b []byte) error { func (m *Utxo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Utxo.Unmarshal(m, b) return xxx_messageInfo_Utxo.Unmarshal(m, b)
@ -633,7 +636,7 @@ func (m *Transaction) Reset() { *m = Transaction{} }
func (m *Transaction) String() string { return proto.CompactTextString(m) } func (m *Transaction) String() string { return proto.CompactTextString(m) }
func (*Transaction) ProtoMessage() {} func (*Transaction) ProtoMessage() {}
func (*Transaction) Descriptor() ([]byte, []int) { func (*Transaction) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{9} return fileDescriptor_rpc_77ead11e8ea54150, []int{9}
} }
func (m *Transaction) XXX_Unmarshal(b []byte) error { func (m *Transaction) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Transaction.Unmarshal(m, b) return xxx_messageInfo_Transaction.Unmarshal(m, b)
@ -719,7 +722,7 @@ func (m *GetTransactionsRequest) Reset() { *m = GetTransactionsRequest{}
func (m *GetTransactionsRequest) String() string { return proto.CompactTextString(m) } func (m *GetTransactionsRequest) String() string { return proto.CompactTextString(m) }
func (*GetTransactionsRequest) ProtoMessage() {} func (*GetTransactionsRequest) ProtoMessage() {}
func (*GetTransactionsRequest) Descriptor() ([]byte, []int) { func (*GetTransactionsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{10} return fileDescriptor_rpc_77ead11e8ea54150, []int{10}
} }
func (m *GetTransactionsRequest) XXX_Unmarshal(b []byte) error { func (m *GetTransactionsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetTransactionsRequest.Unmarshal(m, b) return xxx_messageInfo_GetTransactionsRequest.Unmarshal(m, b)
@ -751,7 +754,7 @@ func (m *TransactionDetails) Reset() { *m = TransactionDetails{} }
func (m *TransactionDetails) String() string { return proto.CompactTextString(m) } func (m *TransactionDetails) String() string { return proto.CompactTextString(m) }
func (*TransactionDetails) ProtoMessage() {} func (*TransactionDetails) ProtoMessage() {}
func (*TransactionDetails) Descriptor() ([]byte, []int) { func (*TransactionDetails) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{11} return fileDescriptor_rpc_77ead11e8ea54150, []int{11}
} }
func (m *TransactionDetails) XXX_Unmarshal(b []byte) error { func (m *TransactionDetails) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransactionDetails.Unmarshal(m, b) return xxx_messageInfo_TransactionDetails.Unmarshal(m, b)
@ -792,7 +795,7 @@ func (m *FeeLimit) Reset() { *m = FeeLimit{} }
func (m *FeeLimit) String() string { return proto.CompactTextString(m) } func (m *FeeLimit) String() string { return proto.CompactTextString(m) }
func (*FeeLimit) ProtoMessage() {} func (*FeeLimit) ProtoMessage() {}
func (*FeeLimit) Descriptor() ([]byte, []int) { func (*FeeLimit) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{12} return fileDescriptor_rpc_77ead11e8ea54150, []int{12}
} }
func (m *FeeLimit) XXX_Unmarshal(b []byte) error { func (m *FeeLimit) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FeeLimit.Unmarshal(m, b) return xxx_messageInfo_FeeLimit.Unmarshal(m, b)
@ -948,7 +951,7 @@ func (m *SendRequest) Reset() { *m = SendRequest{} }
func (m *SendRequest) String() string { return proto.CompactTextString(m) } func (m *SendRequest) String() string { return proto.CompactTextString(m) }
func (*SendRequest) ProtoMessage() {} func (*SendRequest) ProtoMessage() {}
func (*SendRequest) Descriptor() ([]byte, []int) { func (*SendRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{13} return fileDescriptor_rpc_77ead11e8ea54150, []int{13}
} }
func (m *SendRequest) XXX_Unmarshal(b []byte) error { func (m *SendRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendRequest.Unmarshal(m, b) return xxx_messageInfo_SendRequest.Unmarshal(m, b)
@ -1038,7 +1041,7 @@ func (m *SendResponse) Reset() { *m = SendResponse{} }
func (m *SendResponse) String() string { return proto.CompactTextString(m) } func (m *SendResponse) String() string { return proto.CompactTextString(m) }
func (*SendResponse) ProtoMessage() {} func (*SendResponse) ProtoMessage() {}
func (*SendResponse) Descriptor() ([]byte, []int) { func (*SendResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{14} return fileDescriptor_rpc_77ead11e8ea54150, []int{14}
} }
func (m *SendResponse) XXX_Unmarshal(b []byte) error { func (m *SendResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendResponse.Unmarshal(m, b) return xxx_messageInfo_SendResponse.Unmarshal(m, b)
@ -1108,7 +1111,7 @@ func (m *SendToRouteRequest) Reset() { *m = SendToRouteRequest{} }
func (m *SendToRouteRequest) String() string { return proto.CompactTextString(m) } func (m *SendToRouteRequest) String() string { return proto.CompactTextString(m) }
func (*SendToRouteRequest) ProtoMessage() {} func (*SendToRouteRequest) ProtoMessage() {}
func (*SendToRouteRequest) Descriptor() ([]byte, []int) { func (*SendToRouteRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{15} return fileDescriptor_rpc_77ead11e8ea54150, []int{15}
} }
func (m *SendToRouteRequest) XXX_Unmarshal(b []byte) error { func (m *SendToRouteRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendToRouteRequest.Unmarshal(m, b) return xxx_messageInfo_SendToRouteRequest.Unmarshal(m, b)
@ -1173,7 +1176,7 @@ func (m *ChannelPoint) Reset() { *m = ChannelPoint{} }
func (m *ChannelPoint) String() string { return proto.CompactTextString(m) } func (m *ChannelPoint) String() string { return proto.CompactTextString(m) }
func (*ChannelPoint) ProtoMessage() {} func (*ChannelPoint) ProtoMessage() {}
func (*ChannelPoint) Descriptor() ([]byte, []int) { func (*ChannelPoint) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{16} return fileDescriptor_rpc_77ead11e8ea54150, []int{16}
} }
func (m *ChannelPoint) XXX_Unmarshal(b []byte) error { func (m *ChannelPoint) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelPoint.Unmarshal(m, b) return xxx_messageInfo_ChannelPoint.Unmarshal(m, b)
@ -1319,7 +1322,7 @@ func (m *OutPoint) Reset() { *m = OutPoint{} }
func (m *OutPoint) String() string { return proto.CompactTextString(m) } func (m *OutPoint) String() string { return proto.CompactTextString(m) }
func (*OutPoint) ProtoMessage() {} func (*OutPoint) ProtoMessage() {}
func (*OutPoint) Descriptor() ([]byte, []int) { func (*OutPoint) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{17} return fileDescriptor_rpc_77ead11e8ea54150, []int{17}
} }
func (m *OutPoint) XXX_Unmarshal(b []byte) error { func (m *OutPoint) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OutPoint.Unmarshal(m, b) return xxx_messageInfo_OutPoint.Unmarshal(m, b)
@ -1374,7 +1377,7 @@ func (m *LightningAddress) Reset() { *m = LightningAddress{} }
func (m *LightningAddress) String() string { return proto.CompactTextString(m) } func (m *LightningAddress) String() string { return proto.CompactTextString(m) }
func (*LightningAddress) ProtoMessage() {} func (*LightningAddress) ProtoMessage() {}
func (*LightningAddress) Descriptor() ([]byte, []int) { func (*LightningAddress) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{18} return fileDescriptor_rpc_77ead11e8ea54150, []int{18}
} }
func (m *LightningAddress) XXX_Unmarshal(b []byte) error { func (m *LightningAddress) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LightningAddress.Unmarshal(m, b) return xxx_messageInfo_LightningAddress.Unmarshal(m, b)
@ -1424,7 +1427,7 @@ func (m *SendManyRequest) Reset() { *m = SendManyRequest{} }
func (m *SendManyRequest) String() string { return proto.CompactTextString(m) } func (m *SendManyRequest) String() string { return proto.CompactTextString(m) }
func (*SendManyRequest) ProtoMessage() {} func (*SendManyRequest) ProtoMessage() {}
func (*SendManyRequest) Descriptor() ([]byte, []int) { func (*SendManyRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{19} return fileDescriptor_rpc_77ead11e8ea54150, []int{19}
} }
func (m *SendManyRequest) XXX_Unmarshal(b []byte) error { func (m *SendManyRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendManyRequest.Unmarshal(m, b) return xxx_messageInfo_SendManyRequest.Unmarshal(m, b)
@ -1477,7 +1480,7 @@ func (m *SendManyResponse) Reset() { *m = SendManyResponse{} }
func (m *SendManyResponse) String() string { return proto.CompactTextString(m) } func (m *SendManyResponse) String() string { return proto.CompactTextString(m) }
func (*SendManyResponse) ProtoMessage() {} func (*SendManyResponse) ProtoMessage() {}
func (*SendManyResponse) Descriptor() ([]byte, []int) { func (*SendManyResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{20} return fileDescriptor_rpc_77ead11e8ea54150, []int{20}
} }
func (m *SendManyResponse) XXX_Unmarshal(b []byte) error { func (m *SendManyResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendManyResponse.Unmarshal(m, b) return xxx_messageInfo_SendManyResponse.Unmarshal(m, b)
@ -1527,7 +1530,7 @@ func (m *SendCoinsRequest) Reset() { *m = SendCoinsRequest{} }
func (m *SendCoinsRequest) String() string { return proto.CompactTextString(m) } func (m *SendCoinsRequest) String() string { return proto.CompactTextString(m) }
func (*SendCoinsRequest) ProtoMessage() {} func (*SendCoinsRequest) ProtoMessage() {}
func (*SendCoinsRequest) Descriptor() ([]byte, []int) { func (*SendCoinsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{21} return fileDescriptor_rpc_77ead11e8ea54150, []int{21}
} }
func (m *SendCoinsRequest) XXX_Unmarshal(b []byte) error { func (m *SendCoinsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendCoinsRequest.Unmarshal(m, b) return xxx_messageInfo_SendCoinsRequest.Unmarshal(m, b)
@ -1594,7 +1597,7 @@ func (m *SendCoinsResponse) Reset() { *m = SendCoinsResponse{} }
func (m *SendCoinsResponse) String() string { return proto.CompactTextString(m) } func (m *SendCoinsResponse) String() string { return proto.CompactTextString(m) }
func (*SendCoinsResponse) ProtoMessage() {} func (*SendCoinsResponse) ProtoMessage() {}
func (*SendCoinsResponse) Descriptor() ([]byte, []int) { func (*SendCoinsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{22} return fileDescriptor_rpc_77ead11e8ea54150, []int{22}
} }
func (m *SendCoinsResponse) XXX_Unmarshal(b []byte) error { func (m *SendCoinsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendCoinsResponse.Unmarshal(m, b) return xxx_messageInfo_SendCoinsResponse.Unmarshal(m, b)
@ -1635,7 +1638,7 @@ func (m *ListUnspentRequest) Reset() { *m = ListUnspentRequest{} }
func (m *ListUnspentRequest) String() string { return proto.CompactTextString(m) } func (m *ListUnspentRequest) String() string { return proto.CompactTextString(m) }
func (*ListUnspentRequest) ProtoMessage() {} func (*ListUnspentRequest) ProtoMessage() {}
func (*ListUnspentRequest) Descriptor() ([]byte, []int) { func (*ListUnspentRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{23} return fileDescriptor_rpc_77ead11e8ea54150, []int{23}
} }
func (m *ListUnspentRequest) XXX_Unmarshal(b []byte) error { func (m *ListUnspentRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListUnspentRequest.Unmarshal(m, b) return xxx_messageInfo_ListUnspentRequest.Unmarshal(m, b)
@ -1681,7 +1684,7 @@ func (m *ListUnspentResponse) Reset() { *m = ListUnspentResponse{} }
func (m *ListUnspentResponse) String() string { return proto.CompactTextString(m) } func (m *ListUnspentResponse) String() string { return proto.CompactTextString(m) }
func (*ListUnspentResponse) ProtoMessage() {} func (*ListUnspentResponse) ProtoMessage() {}
func (*ListUnspentResponse) Descriptor() ([]byte, []int) { func (*ListUnspentResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{24} return fileDescriptor_rpc_77ead11e8ea54150, []int{24}
} }
func (m *ListUnspentResponse) XXX_Unmarshal(b []byte) error { func (m *ListUnspentResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListUnspentResponse.Unmarshal(m, b) return xxx_messageInfo_ListUnspentResponse.Unmarshal(m, b)
@ -1720,7 +1723,7 @@ func (m *NewAddressRequest) Reset() { *m = NewAddressRequest{} }
func (m *NewAddressRequest) String() string { return proto.CompactTextString(m) } func (m *NewAddressRequest) String() string { return proto.CompactTextString(m) }
func (*NewAddressRequest) ProtoMessage() {} func (*NewAddressRequest) ProtoMessage() {}
func (*NewAddressRequest) Descriptor() ([]byte, []int) { func (*NewAddressRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{25} return fileDescriptor_rpc_77ead11e8ea54150, []int{25}
} }
func (m *NewAddressRequest) XXX_Unmarshal(b []byte) error { func (m *NewAddressRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NewAddressRequest.Unmarshal(m, b) return xxx_messageInfo_NewAddressRequest.Unmarshal(m, b)
@ -1759,7 +1762,7 @@ func (m *NewAddressResponse) Reset() { *m = NewAddressResponse{} }
func (m *NewAddressResponse) String() string { return proto.CompactTextString(m) } func (m *NewAddressResponse) String() string { return proto.CompactTextString(m) }
func (*NewAddressResponse) ProtoMessage() {} func (*NewAddressResponse) ProtoMessage() {}
func (*NewAddressResponse) Descriptor() ([]byte, []int) { func (*NewAddressResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{26} return fileDescriptor_rpc_77ead11e8ea54150, []int{26}
} }
func (m *NewAddressResponse) XXX_Unmarshal(b []byte) error { func (m *NewAddressResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NewAddressResponse.Unmarshal(m, b) return xxx_messageInfo_NewAddressResponse.Unmarshal(m, b)
@ -1798,7 +1801,7 @@ func (m *SignMessageRequest) Reset() { *m = SignMessageRequest{} }
func (m *SignMessageRequest) String() string { return proto.CompactTextString(m) } func (m *SignMessageRequest) String() string { return proto.CompactTextString(m) }
func (*SignMessageRequest) ProtoMessage() {} func (*SignMessageRequest) ProtoMessage() {}
func (*SignMessageRequest) Descriptor() ([]byte, []int) { func (*SignMessageRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{27} return fileDescriptor_rpc_77ead11e8ea54150, []int{27}
} }
func (m *SignMessageRequest) XXX_Unmarshal(b []byte) error { func (m *SignMessageRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignMessageRequest.Unmarshal(m, b) return xxx_messageInfo_SignMessageRequest.Unmarshal(m, b)
@ -1837,7 +1840,7 @@ func (m *SignMessageResponse) Reset() { *m = SignMessageResponse{} }
func (m *SignMessageResponse) String() string { return proto.CompactTextString(m) } func (m *SignMessageResponse) String() string { return proto.CompactTextString(m) }
func (*SignMessageResponse) ProtoMessage() {} func (*SignMessageResponse) ProtoMessage() {}
func (*SignMessageResponse) Descriptor() ([]byte, []int) { func (*SignMessageResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{28} return fileDescriptor_rpc_77ead11e8ea54150, []int{28}
} }
func (m *SignMessageResponse) XXX_Unmarshal(b []byte) error { func (m *SignMessageResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignMessageResponse.Unmarshal(m, b) return xxx_messageInfo_SignMessageResponse.Unmarshal(m, b)
@ -1878,7 +1881,7 @@ func (m *VerifyMessageRequest) Reset() { *m = VerifyMessageRequest{} }
func (m *VerifyMessageRequest) String() string { return proto.CompactTextString(m) } func (m *VerifyMessageRequest) String() string { return proto.CompactTextString(m) }
func (*VerifyMessageRequest) ProtoMessage() {} func (*VerifyMessageRequest) ProtoMessage() {}
func (*VerifyMessageRequest) Descriptor() ([]byte, []int) { func (*VerifyMessageRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{29} return fileDescriptor_rpc_77ead11e8ea54150, []int{29}
} }
func (m *VerifyMessageRequest) XXX_Unmarshal(b []byte) error { func (m *VerifyMessageRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VerifyMessageRequest.Unmarshal(m, b) return xxx_messageInfo_VerifyMessageRequest.Unmarshal(m, b)
@ -1926,7 +1929,7 @@ func (m *VerifyMessageResponse) Reset() { *m = VerifyMessageResponse{} }
func (m *VerifyMessageResponse) String() string { return proto.CompactTextString(m) } func (m *VerifyMessageResponse) String() string { return proto.CompactTextString(m) }
func (*VerifyMessageResponse) ProtoMessage() {} func (*VerifyMessageResponse) ProtoMessage() {}
func (*VerifyMessageResponse) Descriptor() ([]byte, []int) { func (*VerifyMessageResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{30} return fileDescriptor_rpc_77ead11e8ea54150, []int{30}
} }
func (m *VerifyMessageResponse) XXX_Unmarshal(b []byte) error { func (m *VerifyMessageResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VerifyMessageResponse.Unmarshal(m, b) return xxx_messageInfo_VerifyMessageResponse.Unmarshal(m, b)
@ -1975,7 +1978,7 @@ func (m *ConnectPeerRequest) Reset() { *m = ConnectPeerRequest{} }
func (m *ConnectPeerRequest) String() string { return proto.CompactTextString(m) } func (m *ConnectPeerRequest) String() string { return proto.CompactTextString(m) }
func (*ConnectPeerRequest) ProtoMessage() {} func (*ConnectPeerRequest) ProtoMessage() {}
func (*ConnectPeerRequest) Descriptor() ([]byte, []int) { func (*ConnectPeerRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{31} return fileDescriptor_rpc_77ead11e8ea54150, []int{31}
} }
func (m *ConnectPeerRequest) XXX_Unmarshal(b []byte) error { func (m *ConnectPeerRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ConnectPeerRequest.Unmarshal(m, b) return xxx_messageInfo_ConnectPeerRequest.Unmarshal(m, b)
@ -2019,7 +2022,7 @@ func (m *ConnectPeerResponse) Reset() { *m = ConnectPeerResponse{} }
func (m *ConnectPeerResponse) String() string { return proto.CompactTextString(m) } func (m *ConnectPeerResponse) String() string { return proto.CompactTextString(m) }
func (*ConnectPeerResponse) ProtoMessage() {} func (*ConnectPeerResponse) ProtoMessage() {}
func (*ConnectPeerResponse) Descriptor() ([]byte, []int) { func (*ConnectPeerResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{32} return fileDescriptor_rpc_77ead11e8ea54150, []int{32}
} }
func (m *ConnectPeerResponse) XXX_Unmarshal(b []byte) error { func (m *ConnectPeerResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ConnectPeerResponse.Unmarshal(m, b) return xxx_messageInfo_ConnectPeerResponse.Unmarshal(m, b)
@ -2051,7 +2054,7 @@ func (m *DisconnectPeerRequest) Reset() { *m = DisconnectPeerRequest{} }
func (m *DisconnectPeerRequest) String() string { return proto.CompactTextString(m) } func (m *DisconnectPeerRequest) String() string { return proto.CompactTextString(m) }
func (*DisconnectPeerRequest) ProtoMessage() {} func (*DisconnectPeerRequest) ProtoMessage() {}
func (*DisconnectPeerRequest) Descriptor() ([]byte, []int) { func (*DisconnectPeerRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{33} return fileDescriptor_rpc_77ead11e8ea54150, []int{33}
} }
func (m *DisconnectPeerRequest) XXX_Unmarshal(b []byte) error { func (m *DisconnectPeerRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DisconnectPeerRequest.Unmarshal(m, b) return xxx_messageInfo_DisconnectPeerRequest.Unmarshal(m, b)
@ -2088,7 +2091,7 @@ func (m *DisconnectPeerResponse) Reset() { *m = DisconnectPeerResponse{}
func (m *DisconnectPeerResponse) String() string { return proto.CompactTextString(m) } func (m *DisconnectPeerResponse) String() string { return proto.CompactTextString(m) }
func (*DisconnectPeerResponse) ProtoMessage() {} func (*DisconnectPeerResponse) ProtoMessage() {}
func (*DisconnectPeerResponse) Descriptor() ([]byte, []int) { func (*DisconnectPeerResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{34} return fileDescriptor_rpc_77ead11e8ea54150, []int{34}
} }
func (m *DisconnectPeerResponse) XXX_Unmarshal(b []byte) error { func (m *DisconnectPeerResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DisconnectPeerResponse.Unmarshal(m, b) return xxx_messageInfo_DisconnectPeerResponse.Unmarshal(m, b)
@ -2122,7 +2125,7 @@ func (m *HTLC) Reset() { *m = HTLC{} }
func (m *HTLC) String() string { return proto.CompactTextString(m) } func (m *HTLC) String() string { return proto.CompactTextString(m) }
func (*HTLC) ProtoMessage() {} func (*HTLC) ProtoMessage() {}
func (*HTLC) Descriptor() ([]byte, []int) { func (*HTLC) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{35} return fileDescriptor_rpc_77ead11e8ea54150, []int{35}
} }
func (m *HTLC) XXX_Unmarshal(b []byte) error { func (m *HTLC) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_HTLC.Unmarshal(m, b) return xxx_messageInfo_HTLC.Unmarshal(m, b)
@ -2236,7 +2239,7 @@ func (m *Channel) Reset() { *m = Channel{} }
func (m *Channel) String() string { return proto.CompactTextString(m) } func (m *Channel) String() string { return proto.CompactTextString(m) }
func (*Channel) ProtoMessage() {} func (*Channel) ProtoMessage() {}
func (*Channel) Descriptor() ([]byte, []int) { func (*Channel) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{36} return fileDescriptor_rpc_77ead11e8ea54150, []int{36}
} }
func (m *Channel) XXX_Unmarshal(b []byte) error { func (m *Channel) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Channel.Unmarshal(m, b) return xxx_messageInfo_Channel.Unmarshal(m, b)
@ -2396,7 +2399,7 @@ func (m *ListChannelsRequest) Reset() { *m = ListChannelsRequest{} }
func (m *ListChannelsRequest) String() string { return proto.CompactTextString(m) } func (m *ListChannelsRequest) String() string { return proto.CompactTextString(m) }
func (*ListChannelsRequest) ProtoMessage() {} func (*ListChannelsRequest) ProtoMessage() {}
func (*ListChannelsRequest) Descriptor() ([]byte, []int) { func (*ListChannelsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{37} return fileDescriptor_rpc_77ead11e8ea54150, []int{37}
} }
func (m *ListChannelsRequest) XXX_Unmarshal(b []byte) error { func (m *ListChannelsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListChannelsRequest.Unmarshal(m, b) return xxx_messageInfo_ListChannelsRequest.Unmarshal(m, b)
@ -2456,7 +2459,7 @@ func (m *ListChannelsResponse) Reset() { *m = ListChannelsResponse{} }
func (m *ListChannelsResponse) String() string { return proto.CompactTextString(m) } func (m *ListChannelsResponse) String() string { return proto.CompactTextString(m) }
func (*ListChannelsResponse) ProtoMessage() {} func (*ListChannelsResponse) ProtoMessage() {}
func (*ListChannelsResponse) Descriptor() ([]byte, []int) { func (*ListChannelsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{38} return fileDescriptor_rpc_77ead11e8ea54150, []int{38}
} }
func (m *ListChannelsResponse) XXX_Unmarshal(b []byte) error { func (m *ListChannelsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListChannelsResponse.Unmarshal(m, b) return xxx_messageInfo_ListChannelsResponse.Unmarshal(m, b)
@ -2513,7 +2516,7 @@ func (m *ChannelCloseSummary) Reset() { *m = ChannelCloseSummary{} }
func (m *ChannelCloseSummary) String() string { return proto.CompactTextString(m) } func (m *ChannelCloseSummary) String() string { return proto.CompactTextString(m) }
func (*ChannelCloseSummary) ProtoMessage() {} func (*ChannelCloseSummary) ProtoMessage() {}
func (*ChannelCloseSummary) Descriptor() ([]byte, []int) { func (*ChannelCloseSummary) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{39} return fileDescriptor_rpc_77ead11e8ea54150, []int{39}
} }
func (m *ChannelCloseSummary) XXX_Unmarshal(b []byte) error { func (m *ChannelCloseSummary) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelCloseSummary.Unmarshal(m, b) return xxx_messageInfo_ChannelCloseSummary.Unmarshal(m, b)
@ -2619,7 +2622,7 @@ func (m *ClosedChannelsRequest) Reset() { *m = ClosedChannelsRequest{} }
func (m *ClosedChannelsRequest) String() string { return proto.CompactTextString(m) } func (m *ClosedChannelsRequest) String() string { return proto.CompactTextString(m) }
func (*ClosedChannelsRequest) ProtoMessage() {} func (*ClosedChannelsRequest) ProtoMessage() {}
func (*ClosedChannelsRequest) Descriptor() ([]byte, []int) { func (*ClosedChannelsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{40} return fileDescriptor_rpc_77ead11e8ea54150, []int{40}
} }
func (m *ClosedChannelsRequest) XXX_Unmarshal(b []byte) error { func (m *ClosedChannelsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClosedChannelsRequest.Unmarshal(m, b) return xxx_messageInfo_ClosedChannelsRequest.Unmarshal(m, b)
@ -2692,7 +2695,7 @@ func (m *ClosedChannelsResponse) Reset() { *m = ClosedChannelsResponse{}
func (m *ClosedChannelsResponse) String() string { return proto.CompactTextString(m) } func (m *ClosedChannelsResponse) String() string { return proto.CompactTextString(m) }
func (*ClosedChannelsResponse) ProtoMessage() {} func (*ClosedChannelsResponse) ProtoMessage() {}
func (*ClosedChannelsResponse) Descriptor() ([]byte, []int) { func (*ClosedChannelsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{41} return fileDescriptor_rpc_77ead11e8ea54150, []int{41}
} }
func (m *ClosedChannelsResponse) XXX_Unmarshal(b []byte) error { func (m *ClosedChannelsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClosedChannelsResponse.Unmarshal(m, b) return xxx_messageInfo_ClosedChannelsResponse.Unmarshal(m, b)
@ -2745,7 +2748,7 @@ func (m *Peer) Reset() { *m = Peer{} }
func (m *Peer) String() string { return proto.CompactTextString(m) } func (m *Peer) String() string { return proto.CompactTextString(m) }
func (*Peer) ProtoMessage() {} func (*Peer) ProtoMessage() {}
func (*Peer) Descriptor() ([]byte, []int) { func (*Peer) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{42} return fileDescriptor_rpc_77ead11e8ea54150, []int{42}
} }
func (m *Peer) XXX_Unmarshal(b []byte) error { func (m *Peer) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Peer.Unmarshal(m, b) return xxx_messageInfo_Peer.Unmarshal(m, b)
@ -2831,7 +2834,7 @@ func (m *ListPeersRequest) Reset() { *m = ListPeersRequest{} }
func (m *ListPeersRequest) String() string { return proto.CompactTextString(m) } func (m *ListPeersRequest) String() string { return proto.CompactTextString(m) }
func (*ListPeersRequest) ProtoMessage() {} func (*ListPeersRequest) ProtoMessage() {}
func (*ListPeersRequest) Descriptor() ([]byte, []int) { func (*ListPeersRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{43} return fileDescriptor_rpc_77ead11e8ea54150, []int{43}
} }
func (m *ListPeersRequest) XXX_Unmarshal(b []byte) error { func (m *ListPeersRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListPeersRequest.Unmarshal(m, b) return xxx_messageInfo_ListPeersRequest.Unmarshal(m, b)
@ -2863,7 +2866,7 @@ func (m *ListPeersResponse) Reset() { *m = ListPeersResponse{} }
func (m *ListPeersResponse) String() string { return proto.CompactTextString(m) } func (m *ListPeersResponse) String() string { return proto.CompactTextString(m) }
func (*ListPeersResponse) ProtoMessage() {} func (*ListPeersResponse) ProtoMessage() {}
func (*ListPeersResponse) Descriptor() ([]byte, []int) { func (*ListPeersResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{44} return fileDescriptor_rpc_77ead11e8ea54150, []int{44}
} }
func (m *ListPeersResponse) XXX_Unmarshal(b []byte) error { func (m *ListPeersResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListPeersResponse.Unmarshal(m, b) return xxx_messageInfo_ListPeersResponse.Unmarshal(m, b)
@ -2900,7 +2903,7 @@ func (m *GetInfoRequest) Reset() { *m = GetInfoRequest{} }
func (m *GetInfoRequest) String() string { return proto.CompactTextString(m) } func (m *GetInfoRequest) String() string { return proto.CompactTextString(m) }
func (*GetInfoRequest) ProtoMessage() {} func (*GetInfoRequest) ProtoMessage() {}
func (*GetInfoRequest) Descriptor() ([]byte, []int) { func (*GetInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{45} return fileDescriptor_rpc_77ead11e8ea54150, []int{45}
} }
func (m *GetInfoRequest) XXX_Unmarshal(b []byte) error { func (m *GetInfoRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetInfoRequest.Unmarshal(m, b) return xxx_messageInfo_GetInfoRequest.Unmarshal(m, b)
@ -2960,7 +2963,7 @@ func (m *GetInfoResponse) Reset() { *m = GetInfoResponse{} }
func (m *GetInfoResponse) String() string { return proto.CompactTextString(m) } func (m *GetInfoResponse) String() string { return proto.CompactTextString(m) }
func (*GetInfoResponse) ProtoMessage() {} func (*GetInfoResponse) ProtoMessage() {}
func (*GetInfoResponse) Descriptor() ([]byte, []int) { func (*GetInfoResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{46} return fileDescriptor_rpc_77ead11e8ea54150, []int{46}
} }
func (m *GetInfoResponse) XXX_Unmarshal(b []byte) error { func (m *GetInfoResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetInfoResponse.Unmarshal(m, b) return xxx_messageInfo_GetInfoResponse.Unmarshal(m, b)
@ -3093,7 +3096,7 @@ func (m *Chain) Reset() { *m = Chain{} }
func (m *Chain) String() string { return proto.CompactTextString(m) } func (m *Chain) String() string { return proto.CompactTextString(m) }
func (*Chain) ProtoMessage() {} func (*Chain) ProtoMessage() {}
func (*Chain) Descriptor() ([]byte, []int) { func (*Chain) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{47} return fileDescriptor_rpc_77ead11e8ea54150, []int{47}
} }
func (m *Chain) XXX_Unmarshal(b []byte) error { func (m *Chain) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Chain.Unmarshal(m, b) return xxx_messageInfo_Chain.Unmarshal(m, b)
@ -3140,7 +3143,7 @@ func (m *ConfirmationUpdate) Reset() { *m = ConfirmationUpdate{} }
func (m *ConfirmationUpdate) String() string { return proto.CompactTextString(m) } func (m *ConfirmationUpdate) String() string { return proto.CompactTextString(m) }
func (*ConfirmationUpdate) ProtoMessage() {} func (*ConfirmationUpdate) ProtoMessage() {}
func (*ConfirmationUpdate) Descriptor() ([]byte, []int) { func (*ConfirmationUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{48} return fileDescriptor_rpc_77ead11e8ea54150, []int{48}
} }
func (m *ConfirmationUpdate) XXX_Unmarshal(b []byte) error { func (m *ConfirmationUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ConfirmationUpdate.Unmarshal(m, b) return xxx_messageInfo_ConfirmationUpdate.Unmarshal(m, b)
@ -3192,7 +3195,7 @@ func (m *ChannelOpenUpdate) Reset() { *m = ChannelOpenUpdate{} }
func (m *ChannelOpenUpdate) String() string { return proto.CompactTextString(m) } func (m *ChannelOpenUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelOpenUpdate) ProtoMessage() {} func (*ChannelOpenUpdate) ProtoMessage() {}
func (*ChannelOpenUpdate) Descriptor() ([]byte, []int) { func (*ChannelOpenUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{49} return fileDescriptor_rpc_77ead11e8ea54150, []int{49}
} }
func (m *ChannelOpenUpdate) XXX_Unmarshal(b []byte) error { func (m *ChannelOpenUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelOpenUpdate.Unmarshal(m, b) return xxx_messageInfo_ChannelOpenUpdate.Unmarshal(m, b)
@ -3231,7 +3234,7 @@ func (m *ChannelCloseUpdate) Reset() { *m = ChannelCloseUpdate{} }
func (m *ChannelCloseUpdate) String() string { return proto.CompactTextString(m) } func (m *ChannelCloseUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelCloseUpdate) ProtoMessage() {} func (*ChannelCloseUpdate) ProtoMessage() {}
func (*ChannelCloseUpdate) Descriptor() ([]byte, []int) { func (*ChannelCloseUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{50} return fileDescriptor_rpc_77ead11e8ea54150, []int{50}
} }
func (m *ChannelCloseUpdate) XXX_Unmarshal(b []byte) error { func (m *ChannelCloseUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelCloseUpdate.Unmarshal(m, b) return xxx_messageInfo_ChannelCloseUpdate.Unmarshal(m, b)
@ -3286,7 +3289,7 @@ func (m *CloseChannelRequest) Reset() { *m = CloseChannelRequest{} }
func (m *CloseChannelRequest) String() string { return proto.CompactTextString(m) } func (m *CloseChannelRequest) String() string { return proto.CompactTextString(m) }
func (*CloseChannelRequest) ProtoMessage() {} func (*CloseChannelRequest) ProtoMessage() {}
func (*CloseChannelRequest) Descriptor() ([]byte, []int) { func (*CloseChannelRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{51} return fileDescriptor_rpc_77ead11e8ea54150, []int{51}
} }
func (m *CloseChannelRequest) XXX_Unmarshal(b []byte) error { func (m *CloseChannelRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CloseChannelRequest.Unmarshal(m, b) return xxx_messageInfo_CloseChannelRequest.Unmarshal(m, b)
@ -3348,7 +3351,7 @@ func (m *CloseStatusUpdate) Reset() { *m = CloseStatusUpdate{} }
func (m *CloseStatusUpdate) String() string { return proto.CompactTextString(m) } func (m *CloseStatusUpdate) String() string { return proto.CompactTextString(m) }
func (*CloseStatusUpdate) ProtoMessage() {} func (*CloseStatusUpdate) ProtoMessage() {}
func (*CloseStatusUpdate) Descriptor() ([]byte, []int) { func (*CloseStatusUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{52} return fileDescriptor_rpc_77ead11e8ea54150, []int{52}
} }
func (m *CloseStatusUpdate) XXX_Unmarshal(b []byte) error { func (m *CloseStatusUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CloseStatusUpdate.Unmarshal(m, b) return xxx_messageInfo_CloseStatusUpdate.Unmarshal(m, b)
@ -3491,7 +3494,7 @@ func (m *PendingUpdate) Reset() { *m = PendingUpdate{} }
func (m *PendingUpdate) String() string { return proto.CompactTextString(m) } func (m *PendingUpdate) String() string { return proto.CompactTextString(m) }
func (*PendingUpdate) ProtoMessage() {} func (*PendingUpdate) ProtoMessage() {}
func (*PendingUpdate) Descriptor() ([]byte, []int) { func (*PendingUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{53} return fileDescriptor_rpc_77ead11e8ea54150, []int{53}
} }
func (m *PendingUpdate) XXX_Unmarshal(b []byte) error { func (m *PendingUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PendingUpdate.Unmarshal(m, b) return xxx_messageInfo_PendingUpdate.Unmarshal(m, b)
@ -3557,7 +3560,7 @@ func (m *OpenChannelRequest) Reset() { *m = OpenChannelRequest{} }
func (m *OpenChannelRequest) String() string { return proto.CompactTextString(m) } func (m *OpenChannelRequest) String() string { return proto.CompactTextString(m) }
func (*OpenChannelRequest) ProtoMessage() {} func (*OpenChannelRequest) ProtoMessage() {}
func (*OpenChannelRequest) Descriptor() ([]byte, []int) { func (*OpenChannelRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{54} return fileDescriptor_rpc_77ead11e8ea54150, []int{54}
} }
func (m *OpenChannelRequest) XXX_Unmarshal(b []byte) error { func (m *OpenChannelRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OpenChannelRequest.Unmarshal(m, b) return xxx_messageInfo_OpenChannelRequest.Unmarshal(m, b)
@ -3668,7 +3671,7 @@ func (m *OpenStatusUpdate) Reset() { *m = OpenStatusUpdate{} }
func (m *OpenStatusUpdate) String() string { return proto.CompactTextString(m) } func (m *OpenStatusUpdate) String() string { return proto.CompactTextString(m) }
func (*OpenStatusUpdate) ProtoMessage() {} func (*OpenStatusUpdate) ProtoMessage() {}
func (*OpenStatusUpdate) Descriptor() ([]byte, []int) { func (*OpenStatusUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{55} return fileDescriptor_rpc_77ead11e8ea54150, []int{55}
} }
func (m *OpenStatusUpdate) XXX_Unmarshal(b []byte) error { func (m *OpenStatusUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OpenStatusUpdate.Unmarshal(m, b) return xxx_messageInfo_OpenStatusUpdate.Unmarshal(m, b)
@ -3824,7 +3827,7 @@ func (m *PendingHTLC) Reset() { *m = PendingHTLC{} }
func (m *PendingHTLC) String() string { return proto.CompactTextString(m) } func (m *PendingHTLC) String() string { return proto.CompactTextString(m) }
func (*PendingHTLC) ProtoMessage() {} func (*PendingHTLC) ProtoMessage() {}
func (*PendingHTLC) Descriptor() ([]byte, []int) { func (*PendingHTLC) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{56} return fileDescriptor_rpc_77ead11e8ea54150, []int{56}
} }
func (m *PendingHTLC) XXX_Unmarshal(b []byte) error { func (m *PendingHTLC) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PendingHTLC.Unmarshal(m, b) return xxx_messageInfo_PendingHTLC.Unmarshal(m, b)
@ -3896,7 +3899,7 @@ func (m *PendingChannelsRequest) Reset() { *m = PendingChannelsRequest{}
func (m *PendingChannelsRequest) String() string { return proto.CompactTextString(m) } func (m *PendingChannelsRequest) String() string { return proto.CompactTextString(m) }
func (*PendingChannelsRequest) ProtoMessage() {} func (*PendingChannelsRequest) ProtoMessage() {}
func (*PendingChannelsRequest) Descriptor() ([]byte, []int) { func (*PendingChannelsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{57} return fileDescriptor_rpc_77ead11e8ea54150, []int{57}
} }
func (m *PendingChannelsRequest) XXX_Unmarshal(b []byte) error { func (m *PendingChannelsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PendingChannelsRequest.Unmarshal(m, b) return xxx_messageInfo_PendingChannelsRequest.Unmarshal(m, b)
@ -3936,7 +3939,7 @@ func (m *PendingChannelsResponse) Reset() { *m = PendingChannelsResponse
func (m *PendingChannelsResponse) String() string { return proto.CompactTextString(m) } func (m *PendingChannelsResponse) String() string { return proto.CompactTextString(m) }
func (*PendingChannelsResponse) ProtoMessage() {} func (*PendingChannelsResponse) ProtoMessage() {}
func (*PendingChannelsResponse) Descriptor() ([]byte, []int) { func (*PendingChannelsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{58} return fileDescriptor_rpc_77ead11e8ea54150, []int{58}
} }
func (m *PendingChannelsResponse) XXX_Unmarshal(b []byte) error { func (m *PendingChannelsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PendingChannelsResponse.Unmarshal(m, b) return xxx_messageInfo_PendingChannelsResponse.Unmarshal(m, b)
@ -4008,7 +4011,7 @@ func (m *PendingChannelsResponse_PendingChannel) Reset() {
func (m *PendingChannelsResponse_PendingChannel) String() string { return proto.CompactTextString(m) } func (m *PendingChannelsResponse_PendingChannel) String() string { return proto.CompactTextString(m) }
func (*PendingChannelsResponse_PendingChannel) ProtoMessage() {} func (*PendingChannelsResponse_PendingChannel) ProtoMessage() {}
func (*PendingChannelsResponse_PendingChannel) Descriptor() ([]byte, []int) { func (*PendingChannelsResponse_PendingChannel) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{58, 0} return fileDescriptor_rpc_77ead11e8ea54150, []int{58, 0}
} }
func (m *PendingChannelsResponse_PendingChannel) XXX_Unmarshal(b []byte) error { func (m *PendingChannelsResponse_PendingChannel) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PendingChannelsResponse_PendingChannel.Unmarshal(m, b) return xxx_messageInfo_PendingChannelsResponse_PendingChannel.Unmarshal(m, b)
@ -4095,7 +4098,7 @@ func (m *PendingChannelsResponse_PendingOpenChannel) String() string {
} }
func (*PendingChannelsResponse_PendingOpenChannel) ProtoMessage() {} func (*PendingChannelsResponse_PendingOpenChannel) ProtoMessage() {}
func (*PendingChannelsResponse_PendingOpenChannel) Descriptor() ([]byte, []int) { func (*PendingChannelsResponse_PendingOpenChannel) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{58, 1} return fileDescriptor_rpc_77ead11e8ea54150, []int{58, 1}
} }
func (m *PendingChannelsResponse_PendingOpenChannel) XXX_Unmarshal(b []byte) error { func (m *PendingChannelsResponse_PendingOpenChannel) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PendingChannelsResponse_PendingOpenChannel.Unmarshal(m, b) return xxx_messageInfo_PendingChannelsResponse_PendingOpenChannel.Unmarshal(m, b)
@ -4168,7 +4171,7 @@ func (m *PendingChannelsResponse_WaitingCloseChannel) String() string {
} }
func (*PendingChannelsResponse_WaitingCloseChannel) ProtoMessage() {} func (*PendingChannelsResponse_WaitingCloseChannel) ProtoMessage() {}
func (*PendingChannelsResponse_WaitingCloseChannel) Descriptor() ([]byte, []int) { func (*PendingChannelsResponse_WaitingCloseChannel) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{58, 2} return fileDescriptor_rpc_77ead11e8ea54150, []int{58, 2}
} }
func (m *PendingChannelsResponse_WaitingCloseChannel) XXX_Unmarshal(b []byte) error { func (m *PendingChannelsResponse_WaitingCloseChannel) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PendingChannelsResponse_WaitingCloseChannel.Unmarshal(m, b) return xxx_messageInfo_PendingChannelsResponse_WaitingCloseChannel.Unmarshal(m, b)
@ -4216,7 +4219,7 @@ func (m *PendingChannelsResponse_ClosedChannel) Reset() { *m = PendingCh
func (m *PendingChannelsResponse_ClosedChannel) String() string { return proto.CompactTextString(m) } func (m *PendingChannelsResponse_ClosedChannel) String() string { return proto.CompactTextString(m) }
func (*PendingChannelsResponse_ClosedChannel) ProtoMessage() {} func (*PendingChannelsResponse_ClosedChannel) ProtoMessage() {}
func (*PendingChannelsResponse_ClosedChannel) Descriptor() ([]byte, []int) { func (*PendingChannelsResponse_ClosedChannel) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{58, 3} return fileDescriptor_rpc_77ead11e8ea54150, []int{58, 3}
} }
func (m *PendingChannelsResponse_ClosedChannel) XXX_Unmarshal(b []byte) error { func (m *PendingChannelsResponse_ClosedChannel) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PendingChannelsResponse_ClosedChannel.Unmarshal(m, b) return xxx_messageInfo_PendingChannelsResponse_ClosedChannel.Unmarshal(m, b)
@ -4280,7 +4283,7 @@ func (m *PendingChannelsResponse_ForceClosedChannel) String() string {
} }
func (*PendingChannelsResponse_ForceClosedChannel) ProtoMessage() {} func (*PendingChannelsResponse_ForceClosedChannel) ProtoMessage() {}
func (*PendingChannelsResponse_ForceClosedChannel) Descriptor() ([]byte, []int) { func (*PendingChannelsResponse_ForceClosedChannel) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{58, 4} return fileDescriptor_rpc_77ead11e8ea54150, []int{58, 4}
} }
func (m *PendingChannelsResponse_ForceClosedChannel) XXX_Unmarshal(b []byte) error { func (m *PendingChannelsResponse_ForceClosedChannel) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PendingChannelsResponse_ForceClosedChannel.Unmarshal(m, b) return xxx_messageInfo_PendingChannelsResponse_ForceClosedChannel.Unmarshal(m, b)
@ -4359,7 +4362,7 @@ func (m *ChannelEventSubscription) Reset() { *m = ChannelEventSubscripti
func (m *ChannelEventSubscription) String() string { return proto.CompactTextString(m) } func (m *ChannelEventSubscription) String() string { return proto.CompactTextString(m) }
func (*ChannelEventSubscription) ProtoMessage() {} func (*ChannelEventSubscription) ProtoMessage() {}
func (*ChannelEventSubscription) Descriptor() ([]byte, []int) { func (*ChannelEventSubscription) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{59} return fileDescriptor_rpc_77ead11e8ea54150, []int{59}
} }
func (m *ChannelEventSubscription) XXX_Unmarshal(b []byte) error { func (m *ChannelEventSubscription) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelEventSubscription.Unmarshal(m, b) return xxx_messageInfo_ChannelEventSubscription.Unmarshal(m, b)
@ -4396,7 +4399,7 @@ func (m *ChannelEventUpdate) Reset() { *m = ChannelEventUpdate{} }
func (m *ChannelEventUpdate) String() string { return proto.CompactTextString(m) } func (m *ChannelEventUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelEventUpdate) ProtoMessage() {} func (*ChannelEventUpdate) ProtoMessage() {}
func (*ChannelEventUpdate) Descriptor() ([]byte, []int) { func (*ChannelEventUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{60} return fileDescriptor_rpc_77ead11e8ea54150, []int{60}
} }
func (m *ChannelEventUpdate) XXX_Unmarshal(b []byte) error { func (m *ChannelEventUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelEventUpdate.Unmarshal(m, b) return xxx_messageInfo_ChannelEventUpdate.Unmarshal(m, b)
@ -4608,7 +4611,7 @@ func (m *WalletBalanceRequest) Reset() { *m = WalletBalanceRequest{} }
func (m *WalletBalanceRequest) String() string { return proto.CompactTextString(m) } func (m *WalletBalanceRequest) String() string { return proto.CompactTextString(m) }
func (*WalletBalanceRequest) ProtoMessage() {} func (*WalletBalanceRequest) ProtoMessage() {}
func (*WalletBalanceRequest) Descriptor() ([]byte, []int) { func (*WalletBalanceRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{61} return fileDescriptor_rpc_77ead11e8ea54150, []int{61}
} }
func (m *WalletBalanceRequest) XXX_Unmarshal(b []byte) error { func (m *WalletBalanceRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_WalletBalanceRequest.Unmarshal(m, b) return xxx_messageInfo_WalletBalanceRequest.Unmarshal(m, b)
@ -4644,7 +4647,7 @@ func (m *WalletBalanceResponse) Reset() { *m = WalletBalanceResponse{} }
func (m *WalletBalanceResponse) String() string { return proto.CompactTextString(m) } func (m *WalletBalanceResponse) String() string { return proto.CompactTextString(m) }
func (*WalletBalanceResponse) ProtoMessage() {} func (*WalletBalanceResponse) ProtoMessage() {}
func (*WalletBalanceResponse) Descriptor() ([]byte, []int) { func (*WalletBalanceResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{62} return fileDescriptor_rpc_77ead11e8ea54150, []int{62}
} }
func (m *WalletBalanceResponse) XXX_Unmarshal(b []byte) error { func (m *WalletBalanceResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_WalletBalanceResponse.Unmarshal(m, b) return xxx_messageInfo_WalletBalanceResponse.Unmarshal(m, b)
@ -4695,7 +4698,7 @@ func (m *ChannelBalanceRequest) Reset() { *m = ChannelBalanceRequest{} }
func (m *ChannelBalanceRequest) String() string { return proto.CompactTextString(m) } func (m *ChannelBalanceRequest) String() string { return proto.CompactTextString(m) }
func (*ChannelBalanceRequest) ProtoMessage() {} func (*ChannelBalanceRequest) ProtoMessage() {}
func (*ChannelBalanceRequest) Descriptor() ([]byte, []int) { func (*ChannelBalanceRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{63} return fileDescriptor_rpc_77ead11e8ea54150, []int{63}
} }
func (m *ChannelBalanceRequest) XXX_Unmarshal(b []byte) error { func (m *ChannelBalanceRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelBalanceRequest.Unmarshal(m, b) return xxx_messageInfo_ChannelBalanceRequest.Unmarshal(m, b)
@ -4729,7 +4732,7 @@ func (m *ChannelBalanceResponse) Reset() { *m = ChannelBalanceResponse{}
func (m *ChannelBalanceResponse) String() string { return proto.CompactTextString(m) } func (m *ChannelBalanceResponse) String() string { return proto.CompactTextString(m) }
func (*ChannelBalanceResponse) ProtoMessage() {} func (*ChannelBalanceResponse) ProtoMessage() {}
func (*ChannelBalanceResponse) Descriptor() ([]byte, []int) { func (*ChannelBalanceResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{64} return fileDescriptor_rpc_77ead11e8ea54150, []int{64}
} }
func (m *ChannelBalanceResponse) XXX_Unmarshal(b []byte) error { func (m *ChannelBalanceResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelBalanceResponse.Unmarshal(m, b) return xxx_messageInfo_ChannelBalanceResponse.Unmarshal(m, b)
@ -4787,7 +4790,7 @@ func (m *QueryRoutesRequest) Reset() { *m = QueryRoutesRequest{} }
func (m *QueryRoutesRequest) String() string { return proto.CompactTextString(m) } func (m *QueryRoutesRequest) String() string { return proto.CompactTextString(m) }
func (*QueryRoutesRequest) ProtoMessage() {} func (*QueryRoutesRequest) ProtoMessage() {}
func (*QueryRoutesRequest) Descriptor() ([]byte, []int) { func (*QueryRoutesRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{65} return fileDescriptor_rpc_77ead11e8ea54150, []int{65}
} }
func (m *QueryRoutesRequest) XXX_Unmarshal(b []byte) error { func (m *QueryRoutesRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_QueryRoutesRequest.Unmarshal(m, b) return xxx_messageInfo_QueryRoutesRequest.Unmarshal(m, b)
@ -4853,7 +4856,7 @@ func (m *QueryRoutesResponse) Reset() { *m = QueryRoutesResponse{} }
func (m *QueryRoutesResponse) String() string { return proto.CompactTextString(m) } func (m *QueryRoutesResponse) String() string { return proto.CompactTextString(m) }
func (*QueryRoutesResponse) ProtoMessage() {} func (*QueryRoutesResponse) ProtoMessage() {}
func (*QueryRoutesResponse) Descriptor() ([]byte, []int) { func (*QueryRoutesResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{66} return fileDescriptor_rpc_77ead11e8ea54150, []int{66}
} }
func (m *QueryRoutesResponse) XXX_Unmarshal(b []byte) error { func (m *QueryRoutesResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_QueryRoutesResponse.Unmarshal(m, b) return xxx_messageInfo_QueryRoutesResponse.Unmarshal(m, b)
@ -4905,7 +4908,7 @@ func (m *Hop) Reset() { *m = Hop{} }
func (m *Hop) String() string { return proto.CompactTextString(m) } func (m *Hop) String() string { return proto.CompactTextString(m) }
func (*Hop) ProtoMessage() {} func (*Hop) ProtoMessage() {}
func (*Hop) Descriptor() ([]byte, []int) { func (*Hop) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{67} return fileDescriptor_rpc_77ead11e8ea54150, []int{67}
} }
func (m *Hop) XXX_Unmarshal(b []byte) error { func (m *Hop) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Hop.Unmarshal(m, b) return xxx_messageInfo_Hop.Unmarshal(m, b)
@ -5026,7 +5029,7 @@ func (m *Route) Reset() { *m = Route{} }
func (m *Route) String() string { return proto.CompactTextString(m) } func (m *Route) String() string { return proto.CompactTextString(m) }
func (*Route) ProtoMessage() {} func (*Route) ProtoMessage() {}
func (*Route) Descriptor() ([]byte, []int) { func (*Route) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{68} return fileDescriptor_rpc_77ead11e8ea54150, []int{68}
} }
func (m *Route) XXX_Unmarshal(b []byte) error { func (m *Route) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Route.Unmarshal(m, b) return xxx_messageInfo_Route.Unmarshal(m, b)
@ -5102,7 +5105,7 @@ func (m *NodeInfoRequest) Reset() { *m = NodeInfoRequest{} }
func (m *NodeInfoRequest) String() string { return proto.CompactTextString(m) } func (m *NodeInfoRequest) String() string { return proto.CompactTextString(m) }
func (*NodeInfoRequest) ProtoMessage() {} func (*NodeInfoRequest) ProtoMessage() {}
func (*NodeInfoRequest) Descriptor() ([]byte, []int) { func (*NodeInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{69} return fileDescriptor_rpc_77ead11e8ea54150, []int{69}
} }
func (m *NodeInfoRequest) XXX_Unmarshal(b []byte) error { func (m *NodeInfoRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NodeInfoRequest.Unmarshal(m, b) return xxx_messageInfo_NodeInfoRequest.Unmarshal(m, b)
@ -5147,7 +5150,7 @@ func (m *NodeInfo) Reset() { *m = NodeInfo{} }
func (m *NodeInfo) String() string { return proto.CompactTextString(m) } func (m *NodeInfo) String() string { return proto.CompactTextString(m) }
func (*NodeInfo) ProtoMessage() {} func (*NodeInfo) ProtoMessage() {}
func (*NodeInfo) Descriptor() ([]byte, []int) { func (*NodeInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{70} return fileDescriptor_rpc_77ead11e8ea54150, []int{70}
} }
func (m *NodeInfo) XXX_Unmarshal(b []byte) error { func (m *NodeInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NodeInfo.Unmarshal(m, b) return xxx_messageInfo_NodeInfo.Unmarshal(m, b)
@ -5208,7 +5211,7 @@ func (m *LightningNode) Reset() { *m = LightningNode{} }
func (m *LightningNode) String() string { return proto.CompactTextString(m) } func (m *LightningNode) String() string { return proto.CompactTextString(m) }
func (*LightningNode) ProtoMessage() {} func (*LightningNode) ProtoMessage() {}
func (*LightningNode) Descriptor() ([]byte, []int) { func (*LightningNode) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{71} return fileDescriptor_rpc_77ead11e8ea54150, []int{71}
} }
func (m *LightningNode) XXX_Unmarshal(b []byte) error { func (m *LightningNode) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LightningNode.Unmarshal(m, b) return xxx_messageInfo_LightningNode.Unmarshal(m, b)
@ -5275,7 +5278,7 @@ func (m *NodeAddress) Reset() { *m = NodeAddress{} }
func (m *NodeAddress) String() string { return proto.CompactTextString(m) } func (m *NodeAddress) String() string { return proto.CompactTextString(m) }
func (*NodeAddress) ProtoMessage() {} func (*NodeAddress) ProtoMessage() {}
func (*NodeAddress) Descriptor() ([]byte, []int) { func (*NodeAddress) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{72} return fileDescriptor_rpc_77ead11e8ea54150, []int{72}
} }
func (m *NodeAddress) XXX_Unmarshal(b []byte) error { func (m *NodeAddress) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NodeAddress.Unmarshal(m, b) return xxx_messageInfo_NodeAddress.Unmarshal(m, b)
@ -5324,7 +5327,7 @@ func (m *RoutingPolicy) Reset() { *m = RoutingPolicy{} }
func (m *RoutingPolicy) String() string { return proto.CompactTextString(m) } func (m *RoutingPolicy) String() string { return proto.CompactTextString(m) }
func (*RoutingPolicy) ProtoMessage() {} func (*RoutingPolicy) ProtoMessage() {}
func (*RoutingPolicy) Descriptor() ([]byte, []int) { func (*RoutingPolicy) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{73} return fileDescriptor_rpc_77ead11e8ea54150, []int{73}
} }
func (m *RoutingPolicy) XXX_Unmarshal(b []byte) error { func (m *RoutingPolicy) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RoutingPolicy.Unmarshal(m, b) return xxx_messageInfo_RoutingPolicy.Unmarshal(m, b)
@ -5407,7 +5410,7 @@ func (m *ChannelEdge) Reset() { *m = ChannelEdge{} }
func (m *ChannelEdge) String() string { return proto.CompactTextString(m) } func (m *ChannelEdge) String() string { return proto.CompactTextString(m) }
func (*ChannelEdge) ProtoMessage() {} func (*ChannelEdge) ProtoMessage() {}
func (*ChannelEdge) Descriptor() ([]byte, []int) { func (*ChannelEdge) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{74} return fileDescriptor_rpc_77ead11e8ea54150, []int{74}
} }
func (m *ChannelEdge) XXX_Unmarshal(b []byte) error { func (m *ChannelEdge) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelEdge.Unmarshal(m, b) return xxx_messageInfo_ChannelEdge.Unmarshal(m, b)
@ -5498,7 +5501,7 @@ func (m *ChannelGraphRequest) Reset() { *m = ChannelGraphRequest{} }
func (m *ChannelGraphRequest) String() string { return proto.CompactTextString(m) } func (m *ChannelGraphRequest) String() string { return proto.CompactTextString(m) }
func (*ChannelGraphRequest) ProtoMessage() {} func (*ChannelGraphRequest) ProtoMessage() {}
func (*ChannelGraphRequest) Descriptor() ([]byte, []int) { func (*ChannelGraphRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{75} return fileDescriptor_rpc_77ead11e8ea54150, []int{75}
} }
func (m *ChannelGraphRequest) XXX_Unmarshal(b []byte) error { func (m *ChannelGraphRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelGraphRequest.Unmarshal(m, b) return xxx_messageInfo_ChannelGraphRequest.Unmarshal(m, b)
@ -5540,7 +5543,7 @@ func (m *ChannelGraph) Reset() { *m = ChannelGraph{} }
func (m *ChannelGraph) String() string { return proto.CompactTextString(m) } func (m *ChannelGraph) String() string { return proto.CompactTextString(m) }
func (*ChannelGraph) ProtoMessage() {} func (*ChannelGraph) ProtoMessage() {}
func (*ChannelGraph) Descriptor() ([]byte, []int) { func (*ChannelGraph) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{76} return fileDescriptor_rpc_77ead11e8ea54150, []int{76}
} }
func (m *ChannelGraph) XXX_Unmarshal(b []byte) error { func (m *ChannelGraph) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelGraph.Unmarshal(m, b) return xxx_messageInfo_ChannelGraph.Unmarshal(m, b)
@ -5589,7 +5592,7 @@ func (m *ChanInfoRequest) Reset() { *m = ChanInfoRequest{} }
func (m *ChanInfoRequest) String() string { return proto.CompactTextString(m) } func (m *ChanInfoRequest) String() string { return proto.CompactTextString(m) }
func (*ChanInfoRequest) ProtoMessage() {} func (*ChanInfoRequest) ProtoMessage() {}
func (*ChanInfoRequest) Descriptor() ([]byte, []int) { func (*ChanInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{77} return fileDescriptor_rpc_77ead11e8ea54150, []int{77}
} }
func (m *ChanInfoRequest) XXX_Unmarshal(b []byte) error { func (m *ChanInfoRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChanInfoRequest.Unmarshal(m, b) return xxx_messageInfo_ChanInfoRequest.Unmarshal(m, b)
@ -5626,7 +5629,7 @@ func (m *NetworkInfoRequest) Reset() { *m = NetworkInfoRequest{} }
func (m *NetworkInfoRequest) String() string { return proto.CompactTextString(m) } func (m *NetworkInfoRequest) String() string { return proto.CompactTextString(m) }
func (*NetworkInfoRequest) ProtoMessage() {} func (*NetworkInfoRequest) ProtoMessage() {}
func (*NetworkInfoRequest) Descriptor() ([]byte, []int) { func (*NetworkInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{78} return fileDescriptor_rpc_77ead11e8ea54150, []int{78}
} }
func (m *NetworkInfoRequest) XXX_Unmarshal(b []byte) error { func (m *NetworkInfoRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NetworkInfoRequest.Unmarshal(m, b) return xxx_messageInfo_NetworkInfoRequest.Unmarshal(m, b)
@ -5665,7 +5668,7 @@ func (m *NetworkInfo) Reset() { *m = NetworkInfo{} }
func (m *NetworkInfo) String() string { return proto.CompactTextString(m) } func (m *NetworkInfo) String() string { return proto.CompactTextString(m) }
func (*NetworkInfo) ProtoMessage() {} func (*NetworkInfo) ProtoMessage() {}
func (*NetworkInfo) Descriptor() ([]byte, []int) { func (*NetworkInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{79} return fileDescriptor_rpc_77ead11e8ea54150, []int{79}
} }
func (m *NetworkInfo) XXX_Unmarshal(b []byte) error { func (m *NetworkInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NetworkInfo.Unmarshal(m, b) return xxx_messageInfo_NetworkInfo.Unmarshal(m, b)
@ -5758,7 +5761,7 @@ func (m *StopRequest) Reset() { *m = StopRequest{} }
func (m *StopRequest) String() string { return proto.CompactTextString(m) } func (m *StopRequest) String() string { return proto.CompactTextString(m) }
func (*StopRequest) ProtoMessage() {} func (*StopRequest) ProtoMessage() {}
func (*StopRequest) Descriptor() ([]byte, []int) { func (*StopRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{80} return fileDescriptor_rpc_77ead11e8ea54150, []int{80}
} }
func (m *StopRequest) XXX_Unmarshal(b []byte) error { func (m *StopRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StopRequest.Unmarshal(m, b) return xxx_messageInfo_StopRequest.Unmarshal(m, b)
@ -5788,7 +5791,7 @@ func (m *StopResponse) Reset() { *m = StopResponse{} }
func (m *StopResponse) String() string { return proto.CompactTextString(m) } func (m *StopResponse) String() string { return proto.CompactTextString(m) }
func (*StopResponse) ProtoMessage() {} func (*StopResponse) ProtoMessage() {}
func (*StopResponse) Descriptor() ([]byte, []int) { func (*StopResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{81} return fileDescriptor_rpc_77ead11e8ea54150, []int{81}
} }
func (m *StopResponse) XXX_Unmarshal(b []byte) error { func (m *StopResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StopResponse.Unmarshal(m, b) return xxx_messageInfo_StopResponse.Unmarshal(m, b)
@ -5818,7 +5821,7 @@ func (m *GraphTopologySubscription) Reset() { *m = GraphTopologySubscrip
func (m *GraphTopologySubscription) String() string { return proto.CompactTextString(m) } func (m *GraphTopologySubscription) String() string { return proto.CompactTextString(m) }
func (*GraphTopologySubscription) ProtoMessage() {} func (*GraphTopologySubscription) ProtoMessage() {}
func (*GraphTopologySubscription) Descriptor() ([]byte, []int) { func (*GraphTopologySubscription) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{82} return fileDescriptor_rpc_77ead11e8ea54150, []int{82}
} }
func (m *GraphTopologySubscription) XXX_Unmarshal(b []byte) error { func (m *GraphTopologySubscription) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GraphTopologySubscription.Unmarshal(m, b) return xxx_messageInfo_GraphTopologySubscription.Unmarshal(m, b)
@ -5851,7 +5854,7 @@ func (m *GraphTopologyUpdate) Reset() { *m = GraphTopologyUpdate{} }
func (m *GraphTopologyUpdate) String() string { return proto.CompactTextString(m) } func (m *GraphTopologyUpdate) String() string { return proto.CompactTextString(m) }
func (*GraphTopologyUpdate) ProtoMessage() {} func (*GraphTopologyUpdate) ProtoMessage() {}
func (*GraphTopologyUpdate) Descriptor() ([]byte, []int) { func (*GraphTopologyUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{83} return fileDescriptor_rpc_77ead11e8ea54150, []int{83}
} }
func (m *GraphTopologyUpdate) XXX_Unmarshal(b []byte) error { func (m *GraphTopologyUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GraphTopologyUpdate.Unmarshal(m, b) return xxx_messageInfo_GraphTopologyUpdate.Unmarshal(m, b)
@ -5906,7 +5909,7 @@ func (m *NodeUpdate) Reset() { *m = NodeUpdate{} }
func (m *NodeUpdate) String() string { return proto.CompactTextString(m) } func (m *NodeUpdate) String() string { return proto.CompactTextString(m) }
func (*NodeUpdate) ProtoMessage() {} func (*NodeUpdate) ProtoMessage() {}
func (*NodeUpdate) Descriptor() ([]byte, []int) { func (*NodeUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{84} return fileDescriptor_rpc_77ead11e8ea54150, []int{84}
} }
func (m *NodeUpdate) XXX_Unmarshal(b []byte) error { func (m *NodeUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NodeUpdate.Unmarshal(m, b) return xxx_messageInfo_NodeUpdate.Unmarshal(m, b)
@ -5974,7 +5977,7 @@ func (m *ChannelEdgeUpdate) Reset() { *m = ChannelEdgeUpdate{} }
func (m *ChannelEdgeUpdate) String() string { return proto.CompactTextString(m) } func (m *ChannelEdgeUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelEdgeUpdate) ProtoMessage() {} func (*ChannelEdgeUpdate) ProtoMessage() {}
func (*ChannelEdgeUpdate) Descriptor() ([]byte, []int) { func (*ChannelEdgeUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{85} return fileDescriptor_rpc_77ead11e8ea54150, []int{85}
} }
func (m *ChannelEdgeUpdate) XXX_Unmarshal(b []byte) error { func (m *ChannelEdgeUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelEdgeUpdate.Unmarshal(m, b) return xxx_messageInfo_ChannelEdgeUpdate.Unmarshal(m, b)
@ -6054,7 +6057,7 @@ func (m *ClosedChannelUpdate) Reset() { *m = ClosedChannelUpdate{} }
func (m *ClosedChannelUpdate) String() string { return proto.CompactTextString(m) } func (m *ClosedChannelUpdate) String() string { return proto.CompactTextString(m) }
func (*ClosedChannelUpdate) ProtoMessage() {} func (*ClosedChannelUpdate) ProtoMessage() {}
func (*ClosedChannelUpdate) Descriptor() ([]byte, []int) { func (*ClosedChannelUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{86} return fileDescriptor_rpc_77ead11e8ea54150, []int{86}
} }
func (m *ClosedChannelUpdate) XXX_Unmarshal(b []byte) error { func (m *ClosedChannelUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClosedChannelUpdate.Unmarshal(m, b) return xxx_messageInfo_ClosedChannelUpdate.Unmarshal(m, b)
@ -6124,7 +6127,7 @@ func (m *HopHint) Reset() { *m = HopHint{} }
func (m *HopHint) String() string { return proto.CompactTextString(m) } func (m *HopHint) String() string { return proto.CompactTextString(m) }
func (*HopHint) ProtoMessage() {} func (*HopHint) ProtoMessage() {}
func (*HopHint) Descriptor() ([]byte, []int) { func (*HopHint) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{87} return fileDescriptor_rpc_77ead11e8ea54150, []int{87}
} }
func (m *HopHint) XXX_Unmarshal(b []byte) error { func (m *HopHint) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_HopHint.Unmarshal(m, b) return xxx_messageInfo_HopHint.Unmarshal(m, b)
@ -6193,7 +6196,7 @@ func (m *RouteHint) Reset() { *m = RouteHint{} }
func (m *RouteHint) String() string { return proto.CompactTextString(m) } func (m *RouteHint) String() string { return proto.CompactTextString(m) }
func (*RouteHint) ProtoMessage() {} func (*RouteHint) ProtoMessage() {}
func (*RouteHint) Descriptor() ([]byte, []int) { func (*RouteHint) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{88} return fileDescriptor_rpc_77ead11e8ea54150, []int{88}
} }
func (m *RouteHint) XXX_Unmarshal(b []byte) error { func (m *RouteHint) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RouteHint.Unmarshal(m, b) return xxx_messageInfo_RouteHint.Unmarshal(m, b)
@ -6308,7 +6311,7 @@ func (m *Invoice) Reset() { *m = Invoice{} }
func (m *Invoice) String() string { return proto.CompactTextString(m) } func (m *Invoice) String() string { return proto.CompactTextString(m) }
func (*Invoice) ProtoMessage() {} func (*Invoice) ProtoMessage() {}
func (*Invoice) Descriptor() ([]byte, []int) { func (*Invoice) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{89} return fileDescriptor_rpc_77ead11e8ea54150, []int{89}
} }
func (m *Invoice) XXX_Unmarshal(b []byte) error { func (m *Invoice) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Invoice.Unmarshal(m, b) return xxx_messageInfo_Invoice.Unmarshal(m, b)
@ -6500,7 +6503,7 @@ func (m *AddInvoiceResponse) Reset() { *m = AddInvoiceResponse{} }
func (m *AddInvoiceResponse) String() string { return proto.CompactTextString(m) } func (m *AddInvoiceResponse) String() string { return proto.CompactTextString(m) }
func (*AddInvoiceResponse) ProtoMessage() {} func (*AddInvoiceResponse) ProtoMessage() {}
func (*AddInvoiceResponse) Descriptor() ([]byte, []int) { func (*AddInvoiceResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{90} return fileDescriptor_rpc_77ead11e8ea54150, []int{90}
} }
func (m *AddInvoiceResponse) XXX_Unmarshal(b []byte) error { func (m *AddInvoiceResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AddInvoiceResponse.Unmarshal(m, b) return xxx_messageInfo_AddInvoiceResponse.Unmarshal(m, b)
@ -6557,7 +6560,7 @@ func (m *PaymentHash) Reset() { *m = PaymentHash{} }
func (m *PaymentHash) String() string { return proto.CompactTextString(m) } func (m *PaymentHash) String() string { return proto.CompactTextString(m) }
func (*PaymentHash) ProtoMessage() {} func (*PaymentHash) ProtoMessage() {}
func (*PaymentHash) Descriptor() ([]byte, []int) { func (*PaymentHash) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{91} return fileDescriptor_rpc_77ead11e8ea54150, []int{91}
} }
func (m *PaymentHash) XXX_Unmarshal(b []byte) error { func (m *PaymentHash) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PaymentHash.Unmarshal(m, b) return xxx_messageInfo_PaymentHash.Unmarshal(m, b)
@ -6613,7 +6616,7 @@ func (m *ListInvoiceRequest) Reset() { *m = ListInvoiceRequest{} }
func (m *ListInvoiceRequest) String() string { return proto.CompactTextString(m) } func (m *ListInvoiceRequest) String() string { return proto.CompactTextString(m) }
func (*ListInvoiceRequest) ProtoMessage() {} func (*ListInvoiceRequest) ProtoMessage() {}
func (*ListInvoiceRequest) Descriptor() ([]byte, []int) { func (*ListInvoiceRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{92} return fileDescriptor_rpc_77ead11e8ea54150, []int{92}
} }
func (m *ListInvoiceRequest) XXX_Unmarshal(b []byte) error { func (m *ListInvoiceRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListInvoiceRequest.Unmarshal(m, b) return xxx_messageInfo_ListInvoiceRequest.Unmarshal(m, b)
@ -6683,7 +6686,7 @@ func (m *ListInvoiceResponse) Reset() { *m = ListInvoiceResponse{} }
func (m *ListInvoiceResponse) String() string { return proto.CompactTextString(m) } func (m *ListInvoiceResponse) String() string { return proto.CompactTextString(m) }
func (*ListInvoiceResponse) ProtoMessage() {} func (*ListInvoiceResponse) ProtoMessage() {}
func (*ListInvoiceResponse) Descriptor() ([]byte, []int) { func (*ListInvoiceResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{93} return fileDescriptor_rpc_77ead11e8ea54150, []int{93}
} }
func (m *ListInvoiceResponse) XXX_Unmarshal(b []byte) error { func (m *ListInvoiceResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListInvoiceResponse.Unmarshal(m, b) return xxx_messageInfo_ListInvoiceResponse.Unmarshal(m, b)
@ -6746,7 +6749,7 @@ func (m *InvoiceSubscription) Reset() { *m = InvoiceSubscription{} }
func (m *InvoiceSubscription) String() string { return proto.CompactTextString(m) } func (m *InvoiceSubscription) String() string { return proto.CompactTextString(m) }
func (*InvoiceSubscription) ProtoMessage() {} func (*InvoiceSubscription) ProtoMessage() {}
func (*InvoiceSubscription) Descriptor() ([]byte, []int) { func (*InvoiceSubscription) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{94} return fileDescriptor_rpc_77ead11e8ea54150, []int{94}
} }
func (m *InvoiceSubscription) XXX_Unmarshal(b []byte) error { func (m *InvoiceSubscription) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InvoiceSubscription.Unmarshal(m, b) return xxx_messageInfo_InvoiceSubscription.Unmarshal(m, b)
@ -6806,7 +6809,7 @@ func (m *Payment) Reset() { *m = Payment{} }
func (m *Payment) String() string { return proto.CompactTextString(m) } func (m *Payment) String() string { return proto.CompactTextString(m) }
func (*Payment) ProtoMessage() {} func (*Payment) ProtoMessage() {}
func (*Payment) Descriptor() ([]byte, []int) { func (*Payment) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{95} return fileDescriptor_rpc_77ead11e8ea54150, []int{95}
} }
func (m *Payment) XXX_Unmarshal(b []byte) error { func (m *Payment) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Payment.Unmarshal(m, b) return xxx_messageInfo_Payment.Unmarshal(m, b)
@ -6893,7 +6896,7 @@ func (m *ListPaymentsRequest) Reset() { *m = ListPaymentsRequest{} }
func (m *ListPaymentsRequest) String() string { return proto.CompactTextString(m) } func (m *ListPaymentsRequest) String() string { return proto.CompactTextString(m) }
func (*ListPaymentsRequest) ProtoMessage() {} func (*ListPaymentsRequest) ProtoMessage() {}
func (*ListPaymentsRequest) Descriptor() ([]byte, []int) { func (*ListPaymentsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{96} return fileDescriptor_rpc_77ead11e8ea54150, []int{96}
} }
func (m *ListPaymentsRequest) XXX_Unmarshal(b []byte) error { func (m *ListPaymentsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListPaymentsRequest.Unmarshal(m, b) return xxx_messageInfo_ListPaymentsRequest.Unmarshal(m, b)
@ -6925,7 +6928,7 @@ func (m *ListPaymentsResponse) Reset() { *m = ListPaymentsResponse{} }
func (m *ListPaymentsResponse) String() string { return proto.CompactTextString(m) } func (m *ListPaymentsResponse) String() string { return proto.CompactTextString(m) }
func (*ListPaymentsResponse) ProtoMessage() {} func (*ListPaymentsResponse) ProtoMessage() {}
func (*ListPaymentsResponse) Descriptor() ([]byte, []int) { func (*ListPaymentsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{97} return fileDescriptor_rpc_77ead11e8ea54150, []int{97}
} }
func (m *ListPaymentsResponse) XXX_Unmarshal(b []byte) error { func (m *ListPaymentsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListPaymentsResponse.Unmarshal(m, b) return xxx_messageInfo_ListPaymentsResponse.Unmarshal(m, b)
@ -6962,7 +6965,7 @@ func (m *DeleteAllPaymentsRequest) Reset() { *m = DeleteAllPaymentsReque
func (m *DeleteAllPaymentsRequest) String() string { return proto.CompactTextString(m) } func (m *DeleteAllPaymentsRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteAllPaymentsRequest) ProtoMessage() {} func (*DeleteAllPaymentsRequest) ProtoMessage() {}
func (*DeleteAllPaymentsRequest) Descriptor() ([]byte, []int) { func (*DeleteAllPaymentsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{98} return fileDescriptor_rpc_77ead11e8ea54150, []int{98}
} }
func (m *DeleteAllPaymentsRequest) XXX_Unmarshal(b []byte) error { func (m *DeleteAllPaymentsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteAllPaymentsRequest.Unmarshal(m, b) return xxx_messageInfo_DeleteAllPaymentsRequest.Unmarshal(m, b)
@ -6992,7 +6995,7 @@ func (m *DeleteAllPaymentsResponse) Reset() { *m = DeleteAllPaymentsResp
func (m *DeleteAllPaymentsResponse) String() string { return proto.CompactTextString(m) } func (m *DeleteAllPaymentsResponse) String() string { return proto.CompactTextString(m) }
func (*DeleteAllPaymentsResponse) ProtoMessage() {} func (*DeleteAllPaymentsResponse) ProtoMessage() {}
func (*DeleteAllPaymentsResponse) Descriptor() ([]byte, []int) { func (*DeleteAllPaymentsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{99} return fileDescriptor_rpc_77ead11e8ea54150, []int{99}
} }
func (m *DeleteAllPaymentsResponse) XXX_Unmarshal(b []byte) error { func (m *DeleteAllPaymentsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteAllPaymentsResponse.Unmarshal(m, b) return xxx_messageInfo_DeleteAllPaymentsResponse.Unmarshal(m, b)
@ -7023,7 +7026,7 @@ func (m *AbandonChannelRequest) Reset() { *m = AbandonChannelRequest{} }
func (m *AbandonChannelRequest) String() string { return proto.CompactTextString(m) } func (m *AbandonChannelRequest) String() string { return proto.CompactTextString(m) }
func (*AbandonChannelRequest) ProtoMessage() {} func (*AbandonChannelRequest) ProtoMessage() {}
func (*AbandonChannelRequest) Descriptor() ([]byte, []int) { func (*AbandonChannelRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{100} return fileDescriptor_rpc_77ead11e8ea54150, []int{100}
} }
func (m *AbandonChannelRequest) XXX_Unmarshal(b []byte) error { func (m *AbandonChannelRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AbandonChannelRequest.Unmarshal(m, b) return xxx_messageInfo_AbandonChannelRequest.Unmarshal(m, b)
@ -7060,7 +7063,7 @@ func (m *AbandonChannelResponse) Reset() { *m = AbandonChannelResponse{}
func (m *AbandonChannelResponse) String() string { return proto.CompactTextString(m) } func (m *AbandonChannelResponse) String() string { return proto.CompactTextString(m) }
func (*AbandonChannelResponse) ProtoMessage() {} func (*AbandonChannelResponse) ProtoMessage() {}
func (*AbandonChannelResponse) Descriptor() ([]byte, []int) { func (*AbandonChannelResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{101} return fileDescriptor_rpc_77ead11e8ea54150, []int{101}
} }
func (m *AbandonChannelResponse) XXX_Unmarshal(b []byte) error { func (m *AbandonChannelResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AbandonChannelResponse.Unmarshal(m, b) return xxx_messageInfo_AbandonChannelResponse.Unmarshal(m, b)
@ -7092,7 +7095,7 @@ func (m *DebugLevelRequest) Reset() { *m = DebugLevelRequest{} }
func (m *DebugLevelRequest) String() string { return proto.CompactTextString(m) } func (m *DebugLevelRequest) String() string { return proto.CompactTextString(m) }
func (*DebugLevelRequest) ProtoMessage() {} func (*DebugLevelRequest) ProtoMessage() {}
func (*DebugLevelRequest) Descriptor() ([]byte, []int) { func (*DebugLevelRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{102} return fileDescriptor_rpc_77ead11e8ea54150, []int{102}
} }
func (m *DebugLevelRequest) XXX_Unmarshal(b []byte) error { func (m *DebugLevelRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DebugLevelRequest.Unmarshal(m, b) return xxx_messageInfo_DebugLevelRequest.Unmarshal(m, b)
@ -7137,7 +7140,7 @@ func (m *DebugLevelResponse) Reset() { *m = DebugLevelResponse{} }
func (m *DebugLevelResponse) String() string { return proto.CompactTextString(m) } func (m *DebugLevelResponse) String() string { return proto.CompactTextString(m) }
func (*DebugLevelResponse) ProtoMessage() {} func (*DebugLevelResponse) ProtoMessage() {}
func (*DebugLevelResponse) Descriptor() ([]byte, []int) { func (*DebugLevelResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{103} return fileDescriptor_rpc_77ead11e8ea54150, []int{103}
} }
func (m *DebugLevelResponse) XXX_Unmarshal(b []byte) error { func (m *DebugLevelResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DebugLevelResponse.Unmarshal(m, b) return xxx_messageInfo_DebugLevelResponse.Unmarshal(m, b)
@ -7176,7 +7179,7 @@ func (m *PayReqString) Reset() { *m = PayReqString{} }
func (m *PayReqString) String() string { return proto.CompactTextString(m) } func (m *PayReqString) String() string { return proto.CompactTextString(m) }
func (*PayReqString) ProtoMessage() {} func (*PayReqString) ProtoMessage() {}
func (*PayReqString) Descriptor() ([]byte, []int) { func (*PayReqString) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{104} return fileDescriptor_rpc_77ead11e8ea54150, []int{104}
} }
func (m *PayReqString) XXX_Unmarshal(b []byte) error { func (m *PayReqString) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PayReqString.Unmarshal(m, b) return xxx_messageInfo_PayReqString.Unmarshal(m, b)
@ -7223,7 +7226,7 @@ func (m *PayReq) Reset() { *m = PayReq{} }
func (m *PayReq) String() string { return proto.CompactTextString(m) } func (m *PayReq) String() string { return proto.CompactTextString(m) }
func (*PayReq) ProtoMessage() {} func (*PayReq) ProtoMessage() {}
func (*PayReq) Descriptor() ([]byte, []int) { func (*PayReq) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{105} return fileDescriptor_rpc_77ead11e8ea54150, []int{105}
} }
func (m *PayReq) XXX_Unmarshal(b []byte) error { func (m *PayReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PayReq.Unmarshal(m, b) return xxx_messageInfo_PayReq.Unmarshal(m, b)
@ -7323,7 +7326,7 @@ func (m *FeeReportRequest) Reset() { *m = FeeReportRequest{} }
func (m *FeeReportRequest) String() string { return proto.CompactTextString(m) } func (m *FeeReportRequest) String() string { return proto.CompactTextString(m) }
func (*FeeReportRequest) ProtoMessage() {} func (*FeeReportRequest) ProtoMessage() {}
func (*FeeReportRequest) Descriptor() ([]byte, []int) { func (*FeeReportRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{106} return fileDescriptor_rpc_77ead11e8ea54150, []int{106}
} }
func (m *FeeReportRequest) XXX_Unmarshal(b []byte) error { func (m *FeeReportRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FeeReportRequest.Unmarshal(m, b) return xxx_messageInfo_FeeReportRequest.Unmarshal(m, b)
@ -7361,7 +7364,7 @@ func (m *ChannelFeeReport) Reset() { *m = ChannelFeeReport{} }
func (m *ChannelFeeReport) String() string { return proto.CompactTextString(m) } func (m *ChannelFeeReport) String() string { return proto.CompactTextString(m) }
func (*ChannelFeeReport) ProtoMessage() {} func (*ChannelFeeReport) ProtoMessage() {}
func (*ChannelFeeReport) Descriptor() ([]byte, []int) { func (*ChannelFeeReport) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{107} return fileDescriptor_rpc_77ead11e8ea54150, []int{107}
} }
func (m *ChannelFeeReport) XXX_Unmarshal(b []byte) error { func (m *ChannelFeeReport) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelFeeReport.Unmarshal(m, b) return xxx_messageInfo_ChannelFeeReport.Unmarshal(m, b)
@ -7427,7 +7430,7 @@ func (m *FeeReportResponse) Reset() { *m = FeeReportResponse{} }
func (m *FeeReportResponse) String() string { return proto.CompactTextString(m) } func (m *FeeReportResponse) String() string { return proto.CompactTextString(m) }
func (*FeeReportResponse) ProtoMessage() {} func (*FeeReportResponse) ProtoMessage() {}
func (*FeeReportResponse) Descriptor() ([]byte, []int) { func (*FeeReportResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{108} return fileDescriptor_rpc_77ead11e8ea54150, []int{108}
} }
func (m *FeeReportResponse) XXX_Unmarshal(b []byte) error { func (m *FeeReportResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FeeReportResponse.Unmarshal(m, b) return xxx_messageInfo_FeeReportResponse.Unmarshal(m, b)
@ -7495,7 +7498,7 @@ func (m *PolicyUpdateRequest) Reset() { *m = PolicyUpdateRequest{} }
func (m *PolicyUpdateRequest) String() string { return proto.CompactTextString(m) } func (m *PolicyUpdateRequest) String() string { return proto.CompactTextString(m) }
func (*PolicyUpdateRequest) ProtoMessage() {} func (*PolicyUpdateRequest) ProtoMessage() {}
func (*PolicyUpdateRequest) Descriptor() ([]byte, []int) { func (*PolicyUpdateRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{109} return fileDescriptor_rpc_77ead11e8ea54150, []int{109}
} }
func (m *PolicyUpdateRequest) XXX_Unmarshal(b []byte) error { func (m *PolicyUpdateRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PolicyUpdateRequest.Unmarshal(m, b) return xxx_messageInfo_PolicyUpdateRequest.Unmarshal(m, b)
@ -7656,7 +7659,7 @@ func (m *PolicyUpdateResponse) Reset() { *m = PolicyUpdateResponse{} }
func (m *PolicyUpdateResponse) String() string { return proto.CompactTextString(m) } func (m *PolicyUpdateResponse) String() string { return proto.CompactTextString(m) }
func (*PolicyUpdateResponse) ProtoMessage() {} func (*PolicyUpdateResponse) ProtoMessage() {}
func (*PolicyUpdateResponse) Descriptor() ([]byte, []int) { func (*PolicyUpdateResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{110} return fileDescriptor_rpc_77ead11e8ea54150, []int{110}
} }
func (m *PolicyUpdateResponse) XXX_Unmarshal(b []byte) error { func (m *PolicyUpdateResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PolicyUpdateResponse.Unmarshal(m, b) return xxx_messageInfo_PolicyUpdateResponse.Unmarshal(m, b)
@ -7694,7 +7697,7 @@ func (m *ForwardingHistoryRequest) Reset() { *m = ForwardingHistoryReque
func (m *ForwardingHistoryRequest) String() string { return proto.CompactTextString(m) } func (m *ForwardingHistoryRequest) String() string { return proto.CompactTextString(m) }
func (*ForwardingHistoryRequest) ProtoMessage() {} func (*ForwardingHistoryRequest) ProtoMessage() {}
func (*ForwardingHistoryRequest) Descriptor() ([]byte, []int) { func (*ForwardingHistoryRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{111} return fileDescriptor_rpc_77ead11e8ea54150, []int{111}
} }
func (m *ForwardingHistoryRequest) XXX_Unmarshal(b []byte) error { func (m *ForwardingHistoryRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ForwardingHistoryRequest.Unmarshal(m, b) return xxx_messageInfo_ForwardingHistoryRequest.Unmarshal(m, b)
@ -7766,7 +7769,7 @@ func (m *ForwardingEvent) Reset() { *m = ForwardingEvent{} }
func (m *ForwardingEvent) String() string { return proto.CompactTextString(m) } func (m *ForwardingEvent) String() string { return proto.CompactTextString(m) }
func (*ForwardingEvent) ProtoMessage() {} func (*ForwardingEvent) ProtoMessage() {}
func (*ForwardingEvent) Descriptor() ([]byte, []int) { func (*ForwardingEvent) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{112} return fileDescriptor_rpc_77ead11e8ea54150, []int{112}
} }
func (m *ForwardingEvent) XXX_Unmarshal(b []byte) error { func (m *ForwardingEvent) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ForwardingEvent.Unmarshal(m, b) return xxx_messageInfo_ForwardingEvent.Unmarshal(m, b)
@ -7849,7 +7852,7 @@ func (m *ForwardingHistoryResponse) Reset() { *m = ForwardingHistoryResp
func (m *ForwardingHistoryResponse) String() string { return proto.CompactTextString(m) } func (m *ForwardingHistoryResponse) String() string { return proto.CompactTextString(m) }
func (*ForwardingHistoryResponse) ProtoMessage() {} func (*ForwardingHistoryResponse) ProtoMessage() {}
func (*ForwardingHistoryResponse) Descriptor() ([]byte, []int) { func (*ForwardingHistoryResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_3a8b115cef624d58, []int{113} return fileDescriptor_rpc_77ead11e8ea54150, []int{113}
} }
func (m *ForwardingHistoryResponse) XXX_Unmarshal(b []byte) error { func (m *ForwardingHistoryResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ForwardingHistoryResponse.Unmarshal(m, b) return xxx_messageInfo_ForwardingHistoryResponse.Unmarshal(m, b)
@ -10349,444 +10352,444 @@ var _Lightning_serviceDesc = grpc.ServiceDesc{
Metadata: "rpc.proto", Metadata: "rpc.proto",
} }
func init() { proto.RegisterFile("rpc.proto", fileDescriptor_rpc_3a8b115cef624d58) } func init() { proto.RegisterFile("rpc.proto", fileDescriptor_rpc_77ead11e8ea54150) }
var fileDescriptor_rpc_3a8b115cef624d58 = []byte{ var fileDescriptor_rpc_77ead11e8ea54150 = []byte{
// 6971 bytes of a gzipped FileDescriptorProto // 6974 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x7c, 0x5d, 0x6c, 0x24, 0xd9, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x5c, 0x5f, 0x6c, 0x24, 0xc9,
0x55, 0xff, 0x54, 0x7f, 0xd8, 0xdd, 0xa7, 0xdb, 0xed, 0xf6, 0xf5, 0x57, 0x4f, 0xef, 0xec, 0xec, 0x59, 0xdf, 0x9e, 0x3f, 0xf6, 0xcc, 0x37, 0xe3, 0xf1, 0xb8, 0xfc, 0x6f, 0x76, 0x6e, 0x6f, 0x6f,
0x6c, 0x65, 0xb2, 0x33, 0x71, 0xf6, 0x3f, 0x9e, 0x9d, 0x24, 0xfb, 0xdf, 0xec, 0x92, 0x80, 0xc7, 0xaf, 0xb3, 0xdc, 0x6e, 0x9c, 0x63, 0xbd, 0xb7, 0x49, 0x8e, 0xcb, 0x1d, 0x09, 0x78, 0x6d, 0xef,
0xf6, 0x8c, 0x27, 0xf1, 0x7a, 0x9c, 0xf2, 0x4c, 0x86, 0x6c, 0x82, 0x3a, 0xe5, 0xee, 0xeb, 0x76, 0x7a, 0x13, 0x9f, 0xd7, 0x69, 0xef, 0x66, 0xc9, 0x25, 0x68, 0xd2, 0x9e, 0x29, 0x8f, 0xfb, 0xb6,
0xed, 0x54, 0x57, 0x75, 0xaa, 0xaa, 0xed, 0xe9, 0x2c, 0x2b, 0x21, 0x40, 0x20, 0x21, 0x10, 0x02, 0xa7, 0x7b, 0xd2, 0xdd, 0x63, 0xef, 0xe4, 0x38, 0x09, 0x01, 0x22, 0x12, 0x02, 0x21, 0xe0, 0x85,
0x5e, 0x08, 0x0a, 0x42, 0x0a, 0x48, 0x24, 0x8f, 0x3c, 0x24, 0x42, 0x02, 0xde, 0x10, 0x12, 0x48, 0xa0, 0x20, 0xa4, 0x80, 0x44, 0xf2, 0xc8, 0x43, 0x22, 0x24, 0xe0, 0x0d, 0x21, 0x81, 0x84, 0x10,
0x08, 0xa1, 0x3c, 0x22, 0xf1, 0x02, 0x2f, 0x81, 0x37, 0x24, 0x1e, 0x78, 0x40, 0x42, 0xf7, 0xdc, 0xca, 0x23, 0x12, 0x2f, 0xf0, 0x12, 0x78, 0x43, 0xe2, 0x11, 0x09, 0xd5, 0x57, 0x7f, 0xba, 0xaa,
0x8f, 0xba, 0xb7, 0xaa, 0x7a, 0x3c, 0x9b, 0x04, 0x9e, 0xec, 0xfb, 0xbb, 0xa7, 0xee, 0xe7, 0xf9, 0xbb, 0x67, 0xbd, 0x97, 0x04, 0x9e, 0xec, 0xfa, 0xd5, 0xd7, 0xf5, 0xf7, 0xfb, 0x57, 0x5f, 0x7d,
0xba, 0xe7, 0x9e, 0xdb, 0x50, 0x8f, 0xc6, 0xfd, 0x5b, 0xe3, 0x28, 0x4c, 0x42, 0x52, 0xf5, 0x83, 0x35, 0x50, 0x8f, 0xc6, 0xfd, 0x5b, 0xe3, 0x28, 0x4c, 0x42, 0x52, 0xf5, 0x83, 0x68, 0xdc, 0xef,
0x68, 0xdc, 0xef, 0x5e, 0x19, 0x86, 0xe1, 0xd0, 0xa7, 0x9b, 0xee, 0xd8, 0xdb, 0x74, 0x83, 0x20, 0x5e, 0x19, 0x86, 0xe1, 0xd0, 0xa7, 0x9b, 0xee, 0xd8, 0xdb, 0x74, 0x83, 0x20, 0x4c, 0xdc, 0xc4,
0x4c, 0xdc, 0xc4, 0x0b, 0x83, 0x98, 0x13, 0xd9, 0x5f, 0x87, 0xd6, 0x7d, 0x1a, 0x1c, 0x51, 0x3a, 0x0b, 0x83, 0x98, 0x13, 0xd9, 0x5f, 0x83, 0xd6, 0x7d, 0x1a, 0x1c, 0x51, 0x3a, 0x70, 0xe8, 0xd7,
0x70, 0xe8, 0x37, 0x26, 0x34, 0x4e, 0xc8, 0x27, 0x61, 0xc9, 0xa5, 0xdf, 0xa4, 0x74, 0xd0, 0x1b, 0x27, 0x34, 0x4e, 0xc8, 0x27, 0x60, 0xc9, 0xa5, 0xdf, 0xa0, 0x74, 0xd0, 0x1b, 0xbb, 0x71, 0x3c,
0xbb, 0x71, 0x3c, 0x3e, 0x8d, 0xdc, 0x98, 0x76, 0xac, 0x6b, 0xd6, 0xcd, 0xa6, 0xd3, 0xe6, 0x15, 0x3e, 0x8d, 0xdc, 0x98, 0x76, 0xac, 0x6b, 0xd6, 0xcd, 0xa6, 0xd3, 0xe6, 0x15, 0x87, 0x0a, 0x27,
0x87, 0x0a, 0x27, 0xaf, 0x42, 0x33, 0x66, 0xa4, 0x34, 0x48, 0xa2, 0x70, 0x3c, 0xed, 0x94, 0x90, 0xaf, 0x42, 0x33, 0x66, 0xa4, 0x34, 0x48, 0xa2, 0x70, 0x3c, 0xed, 0x94, 0x90, 0xae, 0xc1, 0xb0,
0xae, 0xc1, 0xb0, 0x5d, 0x0e, 0xd9, 0x3e, 0x2c, 0xaa, 0x1e, 0xe2, 0x71, 0x18, 0xc4, 0x94, 0xdc, 0x5d, 0x0e, 0xd9, 0x3e, 0x2c, 0xaa, 0x1e, 0xe2, 0x71, 0x18, 0xc4, 0x94, 0xdc, 0x86, 0x95, 0xbe,
0x86, 0x95, 0xbe, 0x37, 0x3e, 0xa5, 0x51, 0x0f, 0x3f, 0x1e, 0x05, 0x74, 0x14, 0x06, 0x5e, 0xbf, 0x37, 0x3e, 0xa5, 0x51, 0x0f, 0x3f, 0x1e, 0x05, 0x74, 0x14, 0x06, 0x5e, 0xbf, 0x63, 0x5d, 0x2b,
0x63, 0x5d, 0x2b, 0xdf, 0xac, 0x3b, 0x84, 0xd7, 0xb1, 0x2f, 0xde, 0x15, 0x35, 0xe4, 0x06, 0x2c, 0xdf, 0xac, 0x3b, 0x84, 0xd7, 0xb1, 0x2f, 0xde, 0x15, 0x35, 0xe4, 0x06, 0x2c, 0xd2, 0x80, 0xe3,
0xd2, 0x80, 0xe3, 0x74, 0x80, 0x5f, 0x89, 0xae, 0x5a, 0x29, 0xcc, 0x3e, 0xb0, 0xff, 0xda, 0x82, 0x74, 0x80, 0x5f, 0x89, 0xae, 0x5a, 0x29, 0xcc, 0x3e, 0xb0, 0xff, 0xd6, 0x82, 0xa5, 0x07, 0x81,
0xa5, 0x07, 0x81, 0x97, 0x3c, 0x71, 0x7d, 0x9f, 0x26, 0x72, 0x4e, 0x37, 0x60, 0xf1, 0x1c, 0x01, 0x97, 0x3c, 0x71, 0x7d, 0x9f, 0x26, 0x72, 0x4e, 0x37, 0x60, 0xf1, 0x1c, 0x01, 0x9c, 0xd3, 0x79,
0x9c, 0xd3, 0x79, 0x18, 0x0d, 0xc4, 0x8c, 0x5a, 0x1c, 0x3e, 0x14, 0xe8, 0xcc, 0x91, 0x95, 0x66, 0x18, 0x0d, 0xc4, 0x8c, 0x5a, 0x1c, 0x3e, 0x14, 0xe8, 0xcc, 0x91, 0x95, 0x66, 0x8e, 0xac, 0x70,
0x8e, 0xac, 0x70, 0xb9, 0xca, 0x33, 0x96, 0xeb, 0x06, 0x2c, 0x46, 0xb4, 0x1f, 0x9e, 0xd1, 0x68, 0xb9, 0xca, 0x33, 0x96, 0xeb, 0x06, 0x2c, 0x46, 0xb4, 0x1f, 0x9e, 0xd1, 0x68, 0xda, 0x3b, 0xf7,
0xda, 0x3b, 0xf7, 0x82, 0x41, 0x78, 0xde, 0xa9, 0x5c, 0xb3, 0x6e, 0x56, 0x9d, 0x96, 0x84, 0x9f, 0x82, 0x41, 0x78, 0xde, 0xa9, 0x5c, 0xb3, 0x6e, 0x56, 0x9d, 0x96, 0x84, 0x9f, 0x20, 0x6a, 0xaf,
0x20, 0x6a, 0xaf, 0x00, 0xd1, 0x67, 0xc1, 0xd7, 0xcd, 0x1e, 0xc2, 0xf2, 0xe3, 0xc0, 0x0f, 0xfb, 0x00, 0xd1, 0x67, 0xc1, 0xd7, 0xcd, 0x1e, 0xc2, 0xf2, 0xe3, 0xc0, 0x0f, 0xfb, 0x4f, 0x7f, 0xcc,
0x4f, 0x7f, 0xcc, 0xd9, 0x15, 0x74, 0x5f, 0x2a, 0xec, 0x7e, 0x0d, 0x56, 0xcc, 0x8e, 0xc4, 0x00, 0xd9, 0x15, 0x74, 0x5f, 0x2a, 0xec, 0x7e, 0x0d, 0x56, 0xcc, 0x8e, 0xc4, 0x00, 0x28, 0xac, 0x6e,
0x28, 0xac, 0x6e, 0x9f, 0xba, 0xc1, 0x90, 0xca, 0x26, 0xe5, 0x10, 0x3e, 0x01, 0xed, 0xfe, 0x24, 0x9f, 0xba, 0xc1, 0x90, 0xca, 0x26, 0xe5, 0x10, 0x3e, 0x0e, 0xed, 0xfe, 0x24, 0x8a, 0x68, 0x90,
0x8a, 0x68, 0x90, 0x1b, 0xc3, 0xa2, 0xc0, 0xd5, 0x20, 0x5e, 0x85, 0x66, 0x40, 0xcf, 0x53, 0x32, 0x1b, 0xc3, 0xa2, 0xc0, 0xd5, 0x20, 0x5e, 0x85, 0x66, 0x40, 0xcf, 0x53, 0x32, 0xc1, 0x32, 0x01,
0xc1, 0x32, 0x01, 0x3d, 0x97, 0x24, 0x76, 0x07, 0xd6, 0xb2, 0xdd, 0x88, 0x01, 0xfc, 0xc8, 0x82, 0x3d, 0x97, 0x24, 0x76, 0x07, 0xd6, 0xb2, 0xdd, 0x88, 0x01, 0xfc, 0xc8, 0x82, 0xca, 0xe3, 0xe4,
0xca, 0xe3, 0xe4, 0x59, 0x48, 0x6e, 0x41, 0x25, 0x99, 0x8e, 0x39, 0x63, 0xb6, 0xee, 0x90, 0x5b, 0x59, 0x48, 0x6e, 0x41, 0x25, 0x99, 0x8e, 0x39, 0x63, 0xb6, 0xee, 0x90, 0x5b, 0xc8, 0xeb, 0xb7,
0xc8, 0xeb, 0xb7, 0xb6, 0x06, 0x83, 0x88, 0xc6, 0xf1, 0xa3, 0xe9, 0x98, 0x3a, 0x4d, 0x97, 0x17, 0xb6, 0x06, 0x83, 0x88, 0xc6, 0xf1, 0xa3, 0xe9, 0x98, 0x3a, 0x4d, 0x97, 0x17, 0x7a, 0x8c, 0x8e,
0x7a, 0x8c, 0x8e, 0x74, 0x60, 0x5e, 0x94, 0xb1, 0xc3, 0xba, 0x23, 0x8b, 0xe4, 0x2a, 0x80, 0x3b, 0x74, 0x60, 0x5e, 0x94, 0xb1, 0xc3, 0xba, 0x23, 0x8b, 0xe4, 0x2a, 0x80, 0x3b, 0x0a, 0x27, 0x41,
0x0a, 0x27, 0x41, 0xd2, 0x8b, 0xdd, 0x04, 0x77, 0xae, 0xec, 0x68, 0x08, 0xb9, 0x0e, 0x0b, 0x71, 0xd2, 0x8b, 0xdd, 0x04, 0x77, 0xae, 0xec, 0x68, 0x08, 0xb9, 0x0e, 0x0b, 0x71, 0x3f, 0xf2, 0xc6,
0x3f, 0xf2, 0xc6, 0x49, 0x6f, 0x3c, 0x39, 0x7e, 0x4a, 0xa7, 0xb8, 0x63, 0x75, 0xc7, 0x04, 0xc9, 0x49, 0x6f, 0x3c, 0x39, 0x7e, 0x4a, 0xa7, 0xb8, 0x63, 0x75, 0xc7, 0x04, 0xc9, 0x27, 0xa0, 0x16,
0x27, 0xa1, 0x16, 0x4e, 0x92, 0x71, 0xe8, 0x05, 0x49, 0xa7, 0x7a, 0xcd, 0xba, 0xd9, 0xb8, 0xb3, 0x4e, 0x92, 0x71, 0xe8, 0x05, 0x49, 0xa7, 0x7a, 0xcd, 0xba, 0xd9, 0xb8, 0xb3, 0x28, 0xc6, 0xf4,
0x28, 0xc6, 0xf4, 0x70, 0x92, 0x1c, 0x32, 0xd8, 0x51, 0x04, 0xac, 0xc9, 0x7e, 0x18, 0x9c, 0x78, 0x70, 0x92, 0x1c, 0x32, 0xd8, 0x51, 0x04, 0xac, 0xc9, 0x7e, 0x18, 0x9c, 0x78, 0xd1, 0x88, 0xcb,
0xd1, 0x88, 0xcb, 0x62, 0x67, 0x0e, 0x7b, 0x35, 0x41, 0xfb, 0x5b, 0x25, 0x68, 0x3c, 0x8a, 0xdc, 0x62, 0x67, 0x0e, 0x7b, 0x35, 0x41, 0xfb, 0x5b, 0x25, 0x68, 0x3c, 0x8a, 0xdc, 0x20, 0x76, 0xfb,
0x20, 0x76, 0xfb, 0x0c, 0x60, 0x53, 0x48, 0x9e, 0xf5, 0x4e, 0xdd, 0xf8, 0x14, 0x67, 0x5d, 0x77, 0x0c, 0x60, 0x53, 0x48, 0x9e, 0xf5, 0x4e, 0xdd, 0xf8, 0x14, 0x67, 0x5d, 0x77, 0x64, 0x91, 0xac,
0x64, 0x91, 0xac, 0xc1, 0x1c, 0x1f, 0x30, 0xce, 0xad, 0xec, 0x88, 0x12, 0x79, 0x1d, 0x96, 0x82, 0xc1, 0x1c, 0x1f, 0x30, 0xce, 0xad, 0xec, 0x88, 0x12, 0x79, 0x1d, 0x96, 0x82, 0xc9, 0xa8, 0x67,
0xc9, 0xa8, 0x67, 0xf6, 0x55, 0xc6, 0x1d, 0xcf, 0x57, 0xb0, 0x85, 0x38, 0x66, 0x7b, 0xce, 0xbb, 0xf6, 0x55, 0xc6, 0x1d, 0xcf, 0x57, 0xb0, 0x85, 0x38, 0x66, 0x7b, 0xce, 0xbb, 0xe0, 0xb3, 0xd4,
0xe0, 0xb3, 0xd4, 0x10, 0x62, 0x43, 0x53, 0x94, 0xa8, 0x37, 0x3c, 0xe5, 0xd3, 0xac, 0x3a, 0x06, 0x10, 0x62, 0x43, 0x53, 0x94, 0xa8, 0x37, 0x3c, 0xe5, 0xd3, 0xac, 0x3a, 0x06, 0xc6, 0xda, 0x48,
0xc6, 0xda, 0x48, 0xbc, 0x11, 0xed, 0xc5, 0x89, 0x3b, 0x1a, 0x8b, 0x69, 0x69, 0x08, 0xd6, 0x87, 0xbc, 0x11, 0xed, 0xc5, 0x89, 0x3b, 0x1a, 0x8b, 0x69, 0x69, 0x08, 0xd6, 0x87, 0x89, 0xeb, 0xf7,
0x89, 0xeb, 0xf7, 0x4e, 0x28, 0x8d, 0x3b, 0xf3, 0xa2, 0x5e, 0x21, 0xe4, 0x35, 0x68, 0x0d, 0x68, 0x4e, 0x28, 0x8d, 0x3b, 0xf3, 0xa2, 0x5e, 0x21, 0xe4, 0x35, 0x68, 0x0d, 0x68, 0x9c, 0xf4, 0xc4,
0x9c, 0xf4, 0xc4, 0xe6, 0xd0, 0xb8, 0x53, 0x43, 0xc9, 0xcb, 0xa0, 0x8c, 0x43, 0xee, 0xd3, 0x44, 0xe6, 0xd0, 0xb8, 0x53, 0x43, 0xc9, 0xcb, 0xa0, 0x8c, 0x43, 0xee, 0xd3, 0x44, 0x5b, 0x9d, 0x58,
0x5b, 0x9d, 0x58, 0x70, 0xa2, 0xbd, 0x0f, 0x44, 0x83, 0x77, 0x68, 0xe2, 0x7a, 0x7e, 0x4c, 0xde, 0x70, 0xa2, 0xbd, 0x0f, 0x44, 0x83, 0x77, 0x68, 0xe2, 0x7a, 0x7e, 0x4c, 0xde, 0x84, 0x66, 0xa2,
0x84, 0x66, 0xa2, 0x11, 0xa3, 0xa6, 0x69, 0x28, 0xb6, 0xd1, 0x3e, 0x70, 0x0c, 0x3a, 0xfb, 0x3e, 0x11, 0xa3, 0xa6, 0x69, 0x28, 0xb6, 0xd1, 0x3e, 0x70, 0x0c, 0x3a, 0xfb, 0x3e, 0xd4, 0xee, 0x51,
0xd4, 0xee, 0x51, 0xba, 0xef, 0x8d, 0xbc, 0x84, 0xac, 0x41, 0xf5, 0xc4, 0x7b, 0x46, 0x39, 0x63, 0xba, 0xef, 0x8d, 0xbc, 0x84, 0xac, 0x41, 0xf5, 0xc4, 0x7b, 0x46, 0x39, 0x63, 0x97, 0xf7, 0x2e,
0x97, 0xf7, 0x2e, 0x39, 0xbc, 0x48, 0xba, 0x30, 0x3f, 0xa6, 0x51, 0x9f, 0xca, 0xe5, 0xdf, 0xbb, 0x39, 0xbc, 0x48, 0xba, 0x30, 0x3f, 0xa6, 0x51, 0x9f, 0xca, 0xe5, 0xdf, 0xbb, 0xe4, 0x48, 0xe0,
0xe4, 0x48, 0xe0, 0xee, 0x3c, 0x54, 0x7d, 0xf6, 0xb1, 0xfd, 0xdd, 0x12, 0x34, 0x8e, 0x68, 0xa0, 0xee, 0x3c, 0x54, 0x7d, 0xf6, 0xb1, 0xfd, 0xdd, 0x12, 0x34, 0x8e, 0x68, 0xa0, 0x04, 0x86, 0x40,
0x04, 0x86, 0x40, 0x85, 0x4d, 0x49, 0x08, 0x09, 0xfe, 0x4f, 0x5e, 0x81, 0x06, 0x4e, 0x33, 0x4e, 0x85, 0x4d, 0x49, 0x08, 0x09, 0xfe, 0x4f, 0x5e, 0x81, 0x06, 0x4e, 0x33, 0x4e, 0x22, 0x2f, 0x18,
0x22, 0x2f, 0x18, 0x0a, 0x3e, 0x05, 0x06, 0x1d, 0x21, 0x42, 0xda, 0x50, 0x76, 0x47, 0x92, 0x47, 0x0a, 0x3e, 0x05, 0x06, 0x1d, 0x21, 0x42, 0xda, 0x50, 0x76, 0x47, 0x92, 0x47, 0xd9, 0xbf, 0x4c,
0xd9, 0xbf, 0x4c, 0x98, 0xc6, 0xee, 0x74, 0xc4, 0xe4, 0x4e, 0xed, 0x5a, 0xd3, 0x69, 0x08, 0x6c, 0x98, 0xc6, 0xee, 0x74, 0xc4, 0xe4, 0x4e, 0xed, 0x5a, 0xd3, 0x69, 0x08, 0x6c, 0x8f, 0x6d, 0xdb,
0x8f, 0x6d, 0xdb, 0x2d, 0x58, 0xd6, 0x49, 0x64, 0xeb, 0x55, 0x6c, 0x7d, 0x49, 0xa3, 0x14, 0x9d, 0x2d, 0x58, 0xd6, 0x49, 0x64, 0xeb, 0x55, 0x6c, 0x7d, 0x49, 0xa3, 0x14, 0x9d, 0xdc, 0x80, 0x45,
0xdc, 0x80, 0x45, 0x49, 0x1f, 0xf1, 0xc1, 0xe2, 0x3e, 0xd6, 0x9d, 0x96, 0x80, 0xe5, 0x14, 0x6e, 0x49, 0x1f, 0xf1, 0xc1, 0xe2, 0x3e, 0xd6, 0x9d, 0x96, 0x80, 0xe5, 0x14, 0x6e, 0x42, 0xfb, 0xc4,
0x42, 0xfb, 0xc4, 0x0b, 0x5c, 0xbf, 0xd7, 0xf7, 0x93, 0xb3, 0xde, 0x80, 0xfa, 0x89, 0x8b, 0x3b, 0x0b, 0x5c, 0xbf, 0xd7, 0xf7, 0x93, 0xb3, 0xde, 0x80, 0xfa, 0x89, 0x8b, 0x3b, 0x5a, 0x75, 0x5a,
0x5a, 0x75, 0x5a, 0x88, 0x6f, 0xfb, 0xc9, 0xd9, 0x0e, 0x43, 0xc9, 0xeb, 0x50, 0x3f, 0xa1, 0xb4, 0x88, 0x6f, 0xfb, 0xc9, 0xd9, 0x0e, 0x43, 0xc9, 0xeb, 0x50, 0x3f, 0xa1, 0xb4, 0x87, 0x2b, 0xd1,
0x87, 0x2b, 0xd1, 0xa9, 0x19, 0xd2, 0x21, 0x57, 0xd7, 0xa9, 0x9d, 0x88, 0xff, 0xec, 0x3f, 0xb7, 0xa9, 0x19, 0xd2, 0x21, 0x57, 0xd7, 0xa9, 0x9d, 0x88, 0xff, 0xec, 0xbf, 0xb4, 0xa0, 0xc9, 0x97,
0xa0, 0xc9, 0x97, 0x4a, 0x98, 0x8b, 0xeb, 0xb0, 0x20, 0x47, 0x44, 0xa3, 0x28, 0x8c, 0x04, 0xfb, 0x4a, 0x98, 0x8b, 0xeb, 0xb0, 0x20, 0x47, 0x44, 0xa3, 0x28, 0x8c, 0x04, 0xfb, 0x9b, 0x20, 0xd9,
0x9b, 0x20, 0xd9, 0x80, 0xb6, 0x04, 0xc6, 0x11, 0xf5, 0x46, 0xee, 0x90, 0x0a, 0xdd, 0x92, 0xc3, 0x80, 0xb6, 0x04, 0xc6, 0x11, 0xf5, 0x46, 0xee, 0x90, 0x0a, 0xdd, 0x92, 0xc3, 0xc9, 0x9d, 0xb4,
0xc9, 0x9d, 0xb4, 0xc5, 0x28, 0x9c, 0x24, 0x5c, 0x61, 0x37, 0xee, 0x34, 0xc5, 0xa0, 0x1c, 0x86, 0xc5, 0x28, 0x9c, 0x24, 0x5c, 0x61, 0x37, 0xee, 0x34, 0xc5, 0xa0, 0x1c, 0x86, 0x39, 0x26, 0x09,
0x39, 0x26, 0x09, 0x63, 0xff, 0x82, 0xa5, 0x36, 0x30, 0xfb, 0xfb, 0x16, 0x10, 0x36, 0xf4, 0x47, 0x63, 0xff, 0x82, 0xa5, 0x36, 0x30, 0xfb, 0xfb, 0x16, 0x10, 0x36, 0xf4, 0x47, 0x21, 0x6f, 0x42,
0x21, 0x6f, 0x42, 0xac, 0x54, 0x76, 0x97, 0xac, 0x17, 0xde, 0xa5, 0xd2, 0xac, 0x5d, 0xba, 0x09, 0xac, 0x54, 0x76, 0x97, 0xac, 0x17, 0xde, 0xa5, 0xd2, 0xac, 0x5d, 0xba, 0x09, 0x73, 0x38, 0x2c,
0x73, 0x38, 0x2c, 0x26, 0xcf, 0xe5, 0xec, 0xd0, 0xef, 0x96, 0x3a, 0x96, 0x23, 0xea, 0x89, 0x0d, 0x26, 0xcf, 0xe5, 0xec, 0xd0, 0xef, 0x96, 0x3a, 0x96, 0x23, 0xea, 0x89, 0x0d, 0x55, 0x3e, 0xc7,
0x55, 0x3e, 0xc7, 0x4a, 0xc1, 0x1c, 0x79, 0x95, 0xfd, 0x1d, 0x0b, 0x9a, 0x4c, 0xe3, 0x06, 0xd4, 0x4a, 0xc1, 0x1c, 0x79, 0x95, 0xfd, 0x1d, 0x0b, 0x9a, 0x4c, 0xe3, 0x06, 0xd4, 0x47, 0x5d, 0x45,
0x47, 0x5d, 0x45, 0x6e, 0x03, 0x39, 0x99, 0x04, 0x03, 0x2f, 0x18, 0xf6, 0x92, 0x67, 0xde, 0xa0, 0x6e, 0x03, 0x39, 0x99, 0x04, 0x03, 0x2f, 0x18, 0xf6, 0x92, 0x67, 0xde, 0xa0, 0x77, 0x3c, 0x65,
0x77, 0x3c, 0x65, 0x5d, 0xe1, 0xb8, 0xf7, 0x2e, 0x39, 0x05, 0x75, 0xe4, 0x75, 0x68, 0x1b, 0x68, 0x5d, 0xe1, 0xb8, 0xf7, 0x2e, 0x39, 0x05, 0x75, 0xe4, 0x75, 0x68, 0x1b, 0x68, 0x9c, 0x44, 0x7c,
0x9c, 0x44, 0x7c, 0xf4, 0x7b, 0x97, 0x9c, 0x5c, 0x0d, 0x5b, 0x4c, 0xa6, 0x0d, 0x27, 0x49, 0xcf, 0xf4, 0x7b, 0x97, 0x9c, 0x5c, 0x0d, 0x5b, 0x4c, 0xa6, 0x0d, 0x27, 0x49, 0xcf, 0x0b, 0x06, 0xf4,
0x0b, 0x06, 0xf4, 0x19, 0xae, 0xff, 0x82, 0x63, 0x60, 0x77, 0x5b, 0xd0, 0xd4, 0xbf, 0xb3, 0xdf, 0x19, 0xae, 0xff, 0x82, 0x63, 0x60, 0x77, 0x5b, 0xd0, 0xd4, 0xbf, 0xb3, 0xdf, 0x87, 0x9a, 0xd4,
0x87, 0x9a, 0xd4, 0xa5, 0xa8, 0x47, 0x32, 0xe3, 0x72, 0x34, 0x84, 0x74, 0xa1, 0x66, 0x8e, 0xc2, 0xa5, 0xa8, 0x47, 0x32, 0xe3, 0x72, 0x34, 0x84, 0x74, 0xa1, 0x66, 0x8e, 0xc2, 0xa9, 0x7d, 0x94,
0xa9, 0x7d, 0x94, 0xbe, 0xed, 0xcf, 0x43, 0x7b, 0x9f, 0x29, 0xb4, 0xc0, 0x0b, 0x86, 0xc2, 0xa8, 0xbe, 0xed, 0xcf, 0x41, 0x7b, 0x9f, 0x29, 0xb4, 0xc0, 0x0b, 0x86, 0xc2, 0xa8, 0x30, 0x2d, 0x2b,
0x30, 0x2d, 0x2b, 0x2c, 0x00, 0xe7, 0x3f, 0x51, 0x62, 0xa2, 0x7c, 0x1a, 0xc6, 0x89, 0xe8, 0x07, 0x2c, 0x00, 0xe7, 0x3f, 0x51, 0x62, 0xa2, 0x7c, 0x1a, 0xc6, 0x89, 0xe8, 0x07, 0xff, 0xb7, 0xff,
0xff, 0xb7, 0xff, 0xc5, 0x82, 0x45, 0xc6, 0x08, 0xef, 0xba, 0xc1, 0x54, 0x72, 0xc1, 0x3e, 0x34, 0xcd, 0x82, 0x45, 0xc6, 0x08, 0xef, 0xba, 0xc1, 0x54, 0x72, 0xc1, 0x3e, 0x34, 0x59, 0x53, 0x8f,
0x59, 0x53, 0x8f, 0xc2, 0x2d, 0xae, 0xab, 0xb9, 0x0e, 0xba, 0x29, 0xf6, 0x23, 0x43, 0x7d, 0x4b, 0xc2, 0x2d, 0xae, 0xab, 0xb9, 0x0e, 0xba, 0x29, 0xf6, 0x23, 0x43, 0x7d, 0x4b, 0x27, 0x65, 0xae,
0x27, 0x65, 0xae, 0xd4, 0xd4, 0x31, 0xbe, 0x66, 0xca, 0x22, 0x71, 0xa3, 0x21, 0x4d, 0x50, 0x8b, 0xd4, 0xd4, 0x31, 0xbe, 0x66, 0xca, 0x22, 0x71, 0xa3, 0x21, 0x4d, 0x50, 0x8b, 0x0b, 0xad, 0x0e,
0x0b, 0xad, 0x0e, 0x1c, 0xda, 0x0e, 0x83, 0x13, 0x72, 0x0d, 0x9a, 0xb1, 0x9b, 0xf4, 0xc6, 0x34, 0x1c, 0xda, 0x0e, 0x83, 0x13, 0x72, 0x0d, 0x9a, 0xb1, 0x9b, 0xf4, 0xc6, 0x34, 0xc2, 0x35, 0x41,
0xc2, 0x35, 0x41, 0x81, 0x2f, 0x3b, 0x10, 0xbb, 0xc9, 0x21, 0x8d, 0xee, 0x4e, 0x13, 0xda, 0xfd, 0x81, 0x2f, 0x3b, 0x10, 0xbb, 0xc9, 0x21, 0x8d, 0xee, 0x4e, 0x13, 0xda, 0xfd, 0x05, 0x58, 0xca,
0x59, 0x58, 0xca, 0xf5, 0xc2, 0x74, 0x4c, 0x3a, 0x45, 0xf6, 0x2f, 0x59, 0x81, 0xea, 0x99, 0xeb, 0xf5, 0xc2, 0x74, 0x4c, 0x3a, 0x45, 0xf6, 0x2f, 0x59, 0x81, 0xea, 0x99, 0xeb, 0x4f, 0xa8, 0x30,
0x4f, 0xa8, 0x30, 0x2e, 0xbc, 0xf0, 0x76, 0xe9, 0x2d, 0xcb, 0x7e, 0x0d, 0xda, 0xe9, 0xb0, 0x85, 0x2e, 0xbc, 0xf0, 0x76, 0xe9, 0x2d, 0xcb, 0x7e, 0x0d, 0xda, 0xe9, 0xb0, 0x85, 0xb0, 0x12, 0xa8,
0xb0, 0x12, 0xa8, 0xb0, 0x95, 0x16, 0x0d, 0xe0, 0xff, 0xf6, 0xb7, 0x2d, 0x4e, 0xb8, 0x1d, 0x7a, 0xb0, 0x95, 0x16, 0x0d, 0xe0, 0xff, 0xf6, 0xb7, 0x2d, 0x4e, 0xb8, 0x1d, 0x7a, 0x4a, 0x51, 0x33,
0x4a, 0x51, 0x33, 0x42, 0xa6, 0xcf, 0x25, 0x21, 0xfb, 0x7f, 0xa6, 0x21, 0xfb, 0xc9, 0x27, 0x4b, 0x42, 0xa6, 0xcf, 0x25, 0x21, 0xfb, 0x7f, 0xa6, 0x21, 0xfb, 0xc9, 0x27, 0x4b, 0x2e, 0x43, 0x2d,
0x2e, 0x43, 0x2d, 0xa6, 0xc1, 0xa0, 0xe7, 0xfa, 0x3e, 0xea, 0xb3, 0x9a, 0x33, 0xcf, 0xca, 0x5b, 0xa6, 0xc1, 0xa0, 0xe7, 0xfa, 0x3e, 0xea, 0xb3, 0x9a, 0x33, 0xcf, 0xca, 0x5b, 0xbe, 0x6f, 0xdf,
0xbe, 0x6f, 0xdf, 0x80, 0x25, 0x6d, 0x74, 0xcf, 0x99, 0xc7, 0x01, 0x90, 0x7d, 0x2f, 0x4e, 0x1e, 0x80, 0x25, 0x6d, 0x74, 0xcf, 0x99, 0xc7, 0x01, 0x90, 0x7d, 0x2f, 0x4e, 0x1e, 0x07, 0xf1, 0x58,
0x07, 0xf1, 0x58, 0xd3, 0x83, 0x2f, 0x41, 0x7d, 0xe4, 0x05, 0x38, 0x32, 0xce, 0x8a, 0x55, 0xa7, 0xd3, 0x83, 0x2f, 0x41, 0x7d, 0xe4, 0x05, 0x38, 0x32, 0xce, 0x8a, 0x55, 0xa7, 0x36, 0xf2, 0x02,
0x36, 0xf2, 0x02, 0x36, 0xae, 0x18, 0x2b, 0xdd, 0x67, 0xa2, 0xb2, 0x24, 0x2a, 0xdd, 0x67, 0x58, 0x36, 0xae, 0x18, 0x2b, 0xdd, 0x67, 0xa2, 0xb2, 0x24, 0x2a, 0xdd, 0x67, 0x58, 0x69, 0xbf, 0x05,
0x69, 0xbf, 0x05, 0xcb, 0x46, 0x7b, 0xa2, 0xeb, 0x57, 0xa1, 0x3a, 0x49, 0x9e, 0x85, 0xd2, 0x4a, 0xcb, 0x46, 0x7b, 0xa2, 0xeb, 0x57, 0xa1, 0x3a, 0x49, 0x9e, 0x85, 0xd2, 0x4a, 0x35, 0x04, 0x87,
0x35, 0x04, 0x87, 0x30, 0xbf, 0xc7, 0xe1, 0x35, 0xf6, 0x3b, 0xb0, 0x74, 0x40, 0xcf, 0x05, 0x67, 0x30, 0xbf, 0xc7, 0xe1, 0x35, 0xf6, 0x3b, 0xb0, 0x74, 0x40, 0xcf, 0x05, 0x67, 0xca, 0x81, 0xbc,
0xca, 0x81, 0xbc, 0x76, 0xa1, 0x4f, 0x84, 0xf5, 0xf6, 0x2d, 0x20, 0xfa, 0xc7, 0xa2, 0x57, 0xcd, 0x76, 0xa1, 0x4f, 0x84, 0xf5, 0xf6, 0x2d, 0x20, 0xfa, 0xc7, 0xa2, 0x57, 0xcd, 0x43, 0xb2, 0x0c,
0x43, 0xb2, 0x0c, 0x0f, 0xc9, 0x7e, 0x0d, 0xc8, 0x91, 0x37, 0x0c, 0xde, 0xa5, 0x71, 0xec, 0x0e, 0x0f, 0xc9, 0x7e, 0x0d, 0xc8, 0x91, 0x37, 0x0c, 0xde, 0xa5, 0x71, 0xec, 0x0e, 0x95, 0x52, 0x6b,
0x95, 0x52, 0x6b, 0x43, 0x79, 0x14, 0x0f, 0x85, 0xec, 0xb1, 0x7f, 0xed, 0x4f, 0xc1, 0xb2, 0x41, 0x43, 0x79, 0x14, 0x0f, 0x85, 0xec, 0xb1, 0x7f, 0xed, 0x4f, 0xc2, 0xb2, 0x41, 0x27, 0x1a, 0xbe,
0x27, 0x1a, 0xbe, 0x02, 0xf5, 0xd8, 0x1b, 0x06, 0x6e, 0x32, 0x89, 0xa8, 0x68, 0x3a, 0x05, 0xec, 0x02, 0xf5, 0xd8, 0x1b, 0x06, 0x6e, 0x32, 0x89, 0xa8, 0x68, 0x3a, 0x05, 0xec, 0x7b, 0xb0, 0xf2,
0x7b, 0xb0, 0xf2, 0x65, 0x1a, 0x79, 0x27, 0xd3, 0x8b, 0x9a, 0x37, 0xdb, 0x29, 0x65, 0xdb, 0xd9, 0x25, 0x1a, 0x79, 0x27, 0xd3, 0x8b, 0x9a, 0x37, 0xdb, 0x29, 0x65, 0xdb, 0xd9, 0x85, 0xd5, 0x4c,
0x85, 0xd5, 0x4c, 0x3b, 0xa2, 0x7b, 0xce, 0xbe, 0x62, 0x27, 0x6b, 0x0e, 0x2f, 0x68, 0xc2, 0x5c, 0x3b, 0xa2, 0x7b, 0xce, 0xbe, 0x62, 0x27, 0x6b, 0x0e, 0x2f, 0x68, 0xc2, 0x5c, 0xd2, 0x85, 0xd9,
0xd2, 0x85, 0xd9, 0x7e, 0x0c, 0x64, 0x3b, 0x0c, 0x02, 0xda, 0x4f, 0x0e, 0x29, 0x8d, 0xd2, 0x33, 0x7e, 0x0c, 0x64, 0x3b, 0x0c, 0x02, 0xda, 0x4f, 0x0e, 0x29, 0x8d, 0xd2, 0x33, 0x51, 0xca, 0xab,
0x51, 0xca, 0xab, 0x8d, 0x3b, 0xeb, 0x62, 0x65, 0xb3, 0x1a, 0x42, 0x30, 0x31, 0x81, 0xca, 0x98, 0x8d, 0x3b, 0xeb, 0x62, 0x65, 0xb3, 0x1a, 0x42, 0x30, 0x31, 0x81, 0xca, 0x98, 0x46, 0x23, 0x6c,
0x46, 0x23, 0x6c, 0xb8, 0xe6, 0xe0, 0xff, 0xf6, 0x2a, 0x2c, 0x1b, 0xcd, 0x0a, 0x77, 0xf6, 0x0d, 0xb8, 0xe6, 0xe0, 0xff, 0xf6, 0x2a, 0x2c, 0x1b, 0xcd, 0x0a, 0x77, 0xf6, 0x0d, 0x58, 0xdd, 0xf1,
0x58, 0xdd, 0xf1, 0xe2, 0x7e, 0xbe, 0xc3, 0x0e, 0xcc, 0x8f, 0x27, 0xc7, 0xbd, 0x54, 0x12, 0x65, 0xe2, 0x7e, 0xbe, 0xc3, 0x0e, 0xcc, 0x8f, 0x27, 0xc7, 0xbd, 0x54, 0x12, 0x65, 0x91, 0x79, 0x3e,
0x91, 0x79, 0x3e, 0xd9, 0x4f, 0x44, 0x63, 0xbf, 0x66, 0x41, 0x65, 0xef, 0xd1, 0xfe, 0x36, 0x53, 0xd9, 0x4f, 0x44, 0x63, 0xbf, 0x69, 0x41, 0x65, 0xef, 0xd1, 0xfe, 0x36, 0x53, 0x7e, 0x5e, 0xd0,
0x7e, 0x5e, 0xd0, 0x0f, 0x47, 0xcc, 0x80, 0xf0, 0x49, 0xab, 0xf2, 0x4c, 0x09, 0xbb, 0x02, 0x75, 0x0f, 0x47, 0xcc, 0x80, 0xf0, 0x49, 0xab, 0xf2, 0x4c, 0x09, 0xbb, 0x02, 0x75, 0xb4, 0x3b, 0xcc,
0xb4, 0x3b, 0xcc, 0x99, 0x13, 0xc7, 0x97, 0x14, 0x60, 0x8e, 0x24, 0x7d, 0x36, 0xf6, 0x22, 0xf4, 0x99, 0x13, 0xc7, 0x97, 0x14, 0x60, 0x8e, 0x24, 0x7d, 0x36, 0xf6, 0x22, 0xf4, 0x14, 0xa5, 0xff,
0x14, 0xa5, 0xff, 0x57, 0x41, 0xbd, 0x99, 0xaf, 0xb0, 0xbf, 0x5d, 0x85, 0x79, 0x61, 0x4d, 0xb0, 0x57, 0x41, 0xbd, 0x99, 0xaf, 0xb0, 0xbf, 0x5d, 0x85, 0x79, 0x61, 0x4d, 0xb0, 0xbf, 0x7e, 0xe2,
0xbf, 0x7e, 0xe2, 0x9d, 0x51, 0x31, 0x12, 0x51, 0x62, 0x36, 0x3d, 0xa2, 0xa3, 0x30, 0xa1, 0x3d, 0x9d, 0x51, 0x31, 0x12, 0x51, 0x62, 0x36, 0x3d, 0xa2, 0xa3, 0x30, 0xa1, 0x3d, 0x63, 0x1b, 0x4c,
0x63, 0x1b, 0x4c, 0x10, 0x1d, 0x65, 0xde, 0x50, 0x8f, 0xbb, 0xd6, 0x65, 0x4e, 0x65, 0x80, 0x6c, 0x10, 0x1d, 0x65, 0xde, 0x50, 0x8f, 0xbb, 0xd6, 0x65, 0x4e, 0x65, 0x80, 0x6c, 0xb1, 0x18, 0xd0,
0xb1, 0x18, 0xd0, 0xf3, 0x06, 0x38, 0xa6, 0x8a, 0x23, 0x8b, 0x6c, 0x25, 0xfa, 0xee, 0xd8, 0xed, 0xf3, 0x06, 0x38, 0xa6, 0x8a, 0x23, 0x8b, 0x6c, 0x25, 0xfa, 0xee, 0xd8, 0xed, 0x7b, 0xc9, 0x54,
0x7b, 0xc9, 0x54, 0xa8, 0x04, 0x55, 0x66, 0x6d, 0xfb, 0x61, 0xdf, 0xf5, 0x7b, 0xc7, 0xae, 0xef, 0xa8, 0x04, 0x55, 0x66, 0x6d, 0xfb, 0x61, 0xdf, 0xf5, 0x7b, 0xc7, 0xae, 0xef, 0x06, 0x7d, 0x2a,
0x06, 0x7d, 0x2a, 0x9d, 0x70, 0x03, 0x64, 0x0e, 0xa9, 0x18, 0x92, 0x24, 0xe3, 0x4e, 0x6b, 0x06, 0x9d, 0x70, 0x03, 0x64, 0x0e, 0xa9, 0x18, 0x92, 0x24, 0xe3, 0x4e, 0x6b, 0x06, 0x65, 0x06, 0xa9,
0x65, 0x06, 0xa9, 0x1f, 0x8e, 0x46, 0x5e, 0xc2, 0xfc, 0x58, 0xf4, 0x71, 0xca, 0x8e, 0x86, 0x70, 0x1f, 0x8e, 0x46, 0x5e, 0xc2, 0xfc, 0x58, 0xf4, 0x71, 0xca, 0x8e, 0x86, 0x70, 0x97, 0x1f, 0x4b,
0x97, 0x1f, 0x4b, 0xe7, 0x7c, 0xf5, 0xea, 0xd2, 0xe5, 0xd7, 0x40, 0xd6, 0x0a, 0x73, 0x94, 0x98, 0xe7, 0x7c, 0xf5, 0xea, 0xd2, 0xe5, 0xd7, 0x40, 0xd6, 0x0a, 0x73, 0x94, 0x98, 0x1a, 0x7b, 0x7a,
0x1a, 0x7b, 0x7a, 0xde, 0x01, 0xde, 0x4a, 0x8a, 0xb0, 0x7d, 0x98, 0x04, 0x31, 0x4d, 0x12, 0x9f, 0xde, 0x01, 0xde, 0x4a, 0x8a, 0xb0, 0x7d, 0x98, 0x04, 0x31, 0x4d, 0x12, 0x9f, 0x0e, 0xd4, 0x80,
0x0e, 0xd4, 0x80, 0x1a, 0x48, 0x96, 0xaf, 0x20, 0xb7, 0x61, 0x99, 0xbb, 0xd6, 0xb1, 0x9b, 0x84, 0x1a, 0x48, 0x96, 0xaf, 0x20, 0xb7, 0x61, 0x99, 0xbb, 0xd6, 0xb1, 0x9b, 0x84, 0xf1, 0xa9, 0x17,
0xf1, 0xa9, 0x17, 0xf7, 0x62, 0xe6, 0xa4, 0x36, 0x91, 0xbe, 0xa8, 0x8a, 0xbc, 0x05, 0xeb, 0x19, 0xf7, 0x62, 0xe6, 0xa4, 0x36, 0x91, 0xbe, 0xa8, 0x8a, 0xbc, 0x05, 0xeb, 0x19, 0x38, 0xa2, 0x7d,
0x38, 0xa2, 0x7d, 0xea, 0x9d, 0xd1, 0x41, 0x67, 0x01, 0xbf, 0x9a, 0x55, 0x4d, 0xae, 0x41, 0x83, 0xea, 0x9d, 0xd1, 0x41, 0x67, 0x01, 0xbf, 0x9a, 0x55, 0x4d, 0xae, 0x41, 0x83, 0x9d, 0x28, 0x26,
0x9d, 0x28, 0x26, 0xe3, 0x81, 0xcb, 0x2c, 0x72, 0x0b, 0xf7, 0x41, 0x87, 0xc8, 0x1b, 0xb0, 0x30, 0xe3, 0x81, 0xcb, 0x2c, 0x72, 0x0b, 0xf7, 0x41, 0x87, 0xc8, 0x1b, 0xb0, 0x30, 0xa6, 0xdc, 0x9c,
0xa6, 0xdc, 0x9c, 0x9f, 0x26, 0x7e, 0x3f, 0xee, 0x2c, 0x1a, 0xda, 0x8d, 0x71, 0xae, 0x63, 0x52, 0x9f, 0x26, 0x7e, 0x3f, 0xee, 0x2c, 0x1a, 0xda, 0x8d, 0x71, 0xae, 0x63, 0x52, 0x30, 0xa6, 0xec,
0x30, 0xa6, 0xec, 0xc7, 0xe8, 0x5a, 0xba, 0xd3, 0x4e, 0x1b, 0xd9, 0x2d, 0x05, 0x50, 0x46, 0x22, 0xc7, 0xe8, 0x5a, 0xba, 0xd3, 0x4e, 0x1b, 0xd9, 0x2d, 0x05, 0x50, 0x46, 0x22, 0xef, 0xcc, 0x4d,
0xef, 0xcc, 0x4d, 0x68, 0x67, 0x89, 0x2b, 0x74, 0x51, 0x64, 0xdf, 0x79, 0x81, 0x97, 0x78, 0x6e, 0x68, 0x67, 0x89, 0x2b, 0x74, 0x51, 0x64, 0xdf, 0x79, 0x81, 0x97, 0x78, 0x6e, 0x12, 0x46, 0x1d,
0x12, 0x46, 0x1d, 0x82, 0x75, 0x29, 0x60, 0xff, 0x91, 0xc5, 0xd5, 0xae, 0x60, 0x51, 0xa5, 0x3e, 0x82, 0x75, 0x29, 0x60, 0xff, 0x89, 0xc5, 0xd5, 0xae, 0x60, 0x51, 0xa5, 0x3e, 0x5f, 0x81, 0x06,
0x5f, 0x81, 0x06, 0x67, 0xce, 0x5e, 0x18, 0xf8, 0x53, 0xc1, 0xaf, 0xc0, 0xa1, 0x87, 0x81, 0x3f, 0x67, 0xce, 0x5e, 0x18, 0xf8, 0x53, 0xc1, 0xaf, 0xc0, 0xa1, 0x87, 0x81, 0x3f, 0x25, 0x1f, 0x83,
0x25, 0x1f, 0x83, 0x05, 0x2f, 0xd0, 0x49, 0xb8, 0x84, 0x37, 0x25, 0x88, 0x44, 0xaf, 0x40, 0x63, 0x05, 0x2f, 0xd0, 0x49, 0xb8, 0x84, 0x37, 0x25, 0x88, 0x44, 0xaf, 0x40, 0x63, 0x3c, 0x39, 0xf6,
0x3c, 0x39, 0xf6, 0xbd, 0x3e, 0x27, 0x29, 0xf3, 0x56, 0x38, 0x84, 0x04, 0xcc, 0x19, 0xe4, 0xe3, 0xbd, 0x3e, 0x27, 0x29, 0xf3, 0x56, 0x38, 0x84, 0x04, 0xcc, 0x19, 0xe4, 0xe3, 0xe4, 0x14, 0x15,
0xe4, 0x14, 0x15, 0xa4, 0x68, 0x08, 0x8c, 0x91, 0xd8, 0x77, 0x61, 0xc5, 0x1c, 0xa0, 0x50, 0x65, 0xa4, 0x68, 0x08, 0x8c, 0x91, 0xd8, 0x77, 0x61, 0xc5, 0x1c, 0xa0, 0x50, 0x65, 0x1b, 0x50, 0x13,
0x1b, 0x50, 0x13, 0x9c, 0x1f, 0x77, 0x1a, 0xb8, 0x7a, 0x2d, 0xb1, 0x7a, 0x82, 0xd4, 0x51, 0xf5, 0x9c, 0x1f, 0x77, 0x1a, 0xb8, 0x7a, 0x2d, 0xb1, 0x7a, 0x82, 0xd4, 0x51, 0xf5, 0xf6, 0x0f, 0x2a,
0xf6, 0x0f, 0x2a, 0xb0, 0x2c, 0xd0, 0x6d, 0x3f, 0x8c, 0xe9, 0xd1, 0x64, 0x34, 0x72, 0xa3, 0x02, 0xb0, 0x2c, 0xd0, 0x6d, 0x3f, 0x8c, 0xe9, 0xd1, 0x64, 0x34, 0x72, 0xa3, 0x02, 0x91, 0xb2, 0x2e,
0x91, 0xb2, 0x2e, 0x10, 0xa9, 0x92, 0x29, 0x52, 0x8c, 0xd1, 0x4f, 0x5d, 0x2f, 0xe0, 0x9e, 0x2c, 0x10, 0xa9, 0x92, 0x29, 0x52, 0x8c, 0xd1, 0x4f, 0x5d, 0x2f, 0xe0, 0x9e, 0x2c, 0x97, 0x47, 0x0d,
0x97, 0x47, 0x0d, 0x21, 0x37, 0x61, 0xb1, 0xef, 0x87, 0x31, 0xf7, 0xda, 0xf4, 0xa3, 0x64, 0x16, 0x21, 0x37, 0x61, 0xb1, 0xef, 0x87, 0x31, 0xf7, 0xda, 0xf4, 0xa3, 0x64, 0x16, 0xce, 0xab, 0x80,
0xce, 0xab, 0x80, 0x6a, 0x91, 0x0a, 0xd0, 0x45, 0x78, 0x2e, 0x23, 0xc2, 0x36, 0x34, 0x59, 0xa3, 0x6a, 0x91, 0x0a, 0xd0, 0x45, 0x78, 0x2e, 0x23, 0xc2, 0x36, 0x34, 0x59, 0xa3, 0x54, 0x6a, 0xa4,
0x54, 0x6a, 0xa4, 0x79, 0xee, 0xc9, 0xe9, 0x18, 0x1b, 0x4f, 0x56, 0x60, 0xb8, 0x74, 0x2e, 0x16, 0x79, 0xee, 0xc9, 0xe9, 0x18, 0x1b, 0x4f, 0x56, 0x60, 0xb8, 0x74, 0x2e, 0x16, 0x89, 0x0b, 0x3b,
0x89, 0x0b, 0x3b, 0xa9, 0x32, 0x8d, 0xa7, 0x51, 0xd7, 0x85, 0xb8, 0xe4, 0xab, 0xc8, 0x3d, 0x00, 0xa9, 0x32, 0x8d, 0xa7, 0x51, 0xd7, 0x85, 0xb8, 0xe4, 0xab, 0xc8, 0x3d, 0x00, 0xde, 0x17, 0x9a,
0xde, 0x17, 0x9a, 0x5d, 0x40, 0xb3, 0xfb, 0x9a, 0xb9, 0x23, 0xfa, 0xda, 0xdf, 0x62, 0x85, 0x49, 0x5d, 0x40, 0xb3, 0xfb, 0x9a, 0xb9, 0x23, 0xfa, 0xda, 0xdf, 0x62, 0x85, 0x49, 0x44, 0xd1, 0x14,
0x44, 0xd1, 0x14, 0x6b, 0x5f, 0xda, 0xbf, 0x61, 0x41, 0x43, 0xab, 0x23, 0xab, 0xb0, 0xb4, 0xfd, 0x6b, 0x5f, 0xda, 0xbf, 0x65, 0x41, 0x43, 0xab, 0x23, 0xab, 0xb0, 0xb4, 0xfd, 0xf0, 0xe1, 0xe1,
0xf0, 0xe1, 0xe1, 0xae, 0xb3, 0xf5, 0xe8, 0xc1, 0x97, 0x77, 0x7b, 0xdb, 0xfb, 0x0f, 0x8f, 0x76, 0xae, 0xb3, 0xf5, 0xe8, 0xc1, 0x97, 0x76, 0x7b, 0xdb, 0xfb, 0x0f, 0x8f, 0x76, 0xdb, 0x97, 0x18,
0xdb, 0x97, 0x18, 0xbc, 0xff, 0x70, 0x7b, 0x6b, 0xbf, 0x77, 0xef, 0xa1, 0xb3, 0x2d, 0x61, 0x8b, 0xbc, 0xff, 0x70, 0x7b, 0x6b, 0xbf, 0x77, 0xef, 0xa1, 0xb3, 0x2d, 0x61, 0x8b, 0xac, 0x01, 0x71,
0xac, 0x01, 0x71, 0x76, 0xdf, 0x7d, 0xf8, 0x68, 0xd7, 0xc0, 0x4b, 0xa4, 0x0d, 0xcd, 0xbb, 0xce, 0x76, 0xdf, 0x7d, 0xf8, 0x68, 0xd7, 0xc0, 0x4b, 0xa4, 0x0d, 0xcd, 0xbb, 0xce, 0xee, 0xd6, 0xf6,
0xee, 0xd6, 0xf6, 0x9e, 0x40, 0xca, 0x64, 0x05, 0xda, 0xf7, 0x1e, 0x1f, 0xec, 0x3c, 0x38, 0xb8, 0x9e, 0x40, 0xca, 0x64, 0x05, 0xda, 0xf7, 0x1e, 0x1f, 0xec, 0x3c, 0x38, 0xb8, 0xdf, 0xdb, 0xde,
0xdf, 0xdb, 0xde, 0x3a, 0xd8, 0xde, 0xdd, 0xdf, 0xdd, 0x69, 0x57, 0xc8, 0x02, 0xd4, 0xb7, 0xee, 0x3a, 0xd8, 0xde, 0xdd, 0xdf, 0xdd, 0x69, 0x57, 0xc8, 0x02, 0xd4, 0xb7, 0xee, 0x6e, 0x1d, 0xec,
0x6e, 0x1d, 0xec, 0x3c, 0x3c, 0xd8, 0xdd, 0x69, 0x57, 0xed, 0x7f, 0xb6, 0x60, 0x15, 0x47, 0x3d, 0x3c, 0x3c, 0xd8, 0xdd, 0x69, 0x57, 0xed, 0x7f, 0xb5, 0x60, 0x15, 0x47, 0x3d, 0xc8, 0x0a, 0xc8,
0xc8, 0x0a, 0xc8, 0x35, 0x68, 0xf4, 0xc3, 0x70, 0x4c, 0x99, 0xb6, 0x57, 0x0a, 0x5d, 0x87, 0x18, 0x35, 0x68, 0xf4, 0xc3, 0x70, 0x4c, 0x99, 0xb6, 0x57, 0x0a, 0x5d, 0x87, 0x18, 0xf3, 0x73, 0xf5,
0xf3, 0x73, 0xf5, 0x79, 0x12, 0x46, 0x7d, 0x2a, 0xe4, 0x03, 0x10, 0xba, 0xc7, 0x10, 0xc6, 0xfc, 0x79, 0x12, 0x46, 0x7d, 0x2a, 0xe4, 0x03, 0x10, 0xba, 0xc7, 0x10, 0xc6, 0xfc, 0x62, 0x7b, 0x39,
0x62, 0x7b, 0x39, 0x05, 0x17, 0x8f, 0x06, 0xc7, 0x38, 0xc9, 0x1a, 0xcc, 0x1d, 0x47, 0xd4, 0xed, 0x05, 0x17, 0x8f, 0x06, 0xc7, 0x38, 0xc9, 0x1a, 0xcc, 0x1d, 0x47, 0xd4, 0xed, 0x9f, 0x0a, 0xc9,
0x9f, 0x0a, 0xc9, 0x10, 0x25, 0xf2, 0x89, 0xf4, 0x80, 0xd1, 0x67, 0xab, 0xef, 0xd3, 0x01, 0x72, 0x10, 0x25, 0xf2, 0xf1, 0xf4, 0x80, 0xd1, 0x67, 0xab, 0xef, 0xd3, 0x01, 0x72, 0x4c, 0xcd, 0x59,
0x4c, 0xcd, 0x59, 0x14, 0xf8, 0xb6, 0x80, 0x99, 0xfc, 0xbb, 0xc7, 0x6e, 0x30, 0x08, 0x03, 0x3a, 0x14, 0xf8, 0xb6, 0x80, 0x99, 0xfc, 0xbb, 0xc7, 0x6e, 0x30, 0x08, 0x03, 0x3a, 0x10, 0xce, 0x5e,
0x10, 0xce, 0x5e, 0x0a, 0xd8, 0x87, 0xb0, 0x96, 0x9d, 0x9f, 0x90, 0xaf, 0x37, 0x35, 0xf9, 0xe2, 0x0a, 0xd8, 0x87, 0xb0, 0x96, 0x9d, 0x9f, 0x90, 0xaf, 0x37, 0x35, 0xf9, 0xe2, 0xbe, 0x57, 0x77,
0xbe, 0x57, 0x77, 0xf6, 0x6e, 0x6a, 0xb2, 0xf6, 0x6f, 0x16, 0x54, 0x98, 0x29, 0x9e, 0x6d, 0xb6, 0xf6, 0x6e, 0x6a, 0xb2, 0xf6, 0x1f, 0x16, 0x54, 0x98, 0x29, 0x9e, 0x6d, 0xb6, 0x75, 0xef, 0xaa,
0x75, 0xef, 0xaa, 0x9c, 0x8b, 0x3f, 0xe1, 0x99, 0x85, 0x2b, 0x67, 0x6e, 0xc0, 0x34, 0x24, 0xad, 0x9c, 0x8b, 0x3f, 0xe1, 0x99, 0x85, 0x2b, 0x67, 0x6e, 0xc0, 0x34, 0x24, 0xad, 0x8f, 0x68, 0xff,
0x8f, 0x68, 0xff, 0x0c, 0x67, 0xac, 0xea, 0x19, 0xc2, 0x04, 0x84, 0xb9, 0xbe, 0xf8, 0xb5, 0x10, 0x0c, 0x67, 0xac, 0xea, 0x19, 0xc2, 0x04, 0x84, 0xb9, 0xbe, 0xf8, 0xb5, 0x10, 0x10, 0x59, 0x96,
0x10, 0x59, 0x96, 0x75, 0xf8, 0xe5, 0x7c, 0x5a, 0x87, 0xdf, 0x75, 0x60, 0xde, 0x0b, 0x8e, 0xc3, 0x75, 0xf8, 0xe5, 0x7c, 0x5a, 0x87, 0xdf, 0x75, 0x60, 0xde, 0x0b, 0x8e, 0xc3, 0x49, 0x30, 0x40,
0x49, 0x30, 0x40, 0x81, 0xa8, 0x39, 0xb2, 0xc8, 0x96, 0x6f, 0x8c, 0x82, 0xea, 0x8d, 0x24, 0xfb, 0x81, 0xa8, 0x39, 0xb2, 0xc8, 0x96, 0x6f, 0x8c, 0x82, 0xea, 0x8d, 0x24, 0xfb, 0xa7, 0x80, 0x4d,
0xa7, 0x80, 0x4d, 0xd8, 0xd1, 0x28, 0x46, 0xd7, 0x43, 0x05, 0x5d, 0xde, 0x84, 0x25, 0x0d, 0x4b, 0xd8, 0xd1, 0x28, 0x46, 0xd7, 0x43, 0x05, 0x5d, 0xde, 0x84, 0x25, 0x0d, 0x4b, 0xdd, 0xd8, 0x31,
0xdd, 0xd8, 0x31, 0x03, 0x32, 0x6e, 0x2c, 0xfa, 0x2c, 0xbc, 0xc6, 0x6e, 0x43, 0xeb, 0x3e, 0x4d, 0x03, 0x32, 0x6e, 0x2c, 0xfa, 0x2c, 0xbc, 0xc6, 0x6e, 0x43, 0xeb, 0x3e, 0x4d, 0x1e, 0x04, 0x27,
0x1e, 0x04, 0x27, 0xa1, 0x6c, 0xe9, 0x4f, 0x2b, 0xb0, 0xa8, 0x20, 0xd1, 0xd0, 0x4d, 0x58, 0xf4, 0xa1, 0x6c, 0xe9, 0xcf, 0x2b, 0xb0, 0xa8, 0x20, 0xd1, 0xd0, 0x4d, 0x58, 0xf4, 0x06, 0x34, 0x48,
0x06, 0x34, 0x48, 0xbc, 0x64, 0xda, 0x33, 0x4e, 0x60, 0x59, 0x98, 0xf9, 0x7a, 0xae, 0xef, 0xb9, 0xbc, 0x64, 0xda, 0x33, 0x4e, 0x60, 0x59, 0x98, 0xf9, 0x7a, 0xae, 0xef, 0xb9, 0x32, 0xc6, 0xc7,
0x32, 0xc6, 0xc7, 0x0b, 0xe4, 0x0e, 0xac, 0x30, 0x43, 0x24, 0x6d, 0x8b, 0xda, 0x62, 0x7e, 0xf0, 0x0b, 0xe4, 0x0e, 0xac, 0x30, 0x43, 0x24, 0x6d, 0x8b, 0xda, 0x62, 0x7e, 0xf0, 0x2b, 0xac, 0x63,
0x2b, 0xac, 0x63, 0xca, 0x80, 0xe1, 0x42, 0xdb, 0xab, 0x4f, 0xb8, 0xcf, 0x53, 0x54, 0xc5, 0x56, 0xca, 0x80, 0xe1, 0x42, 0xdb, 0xab, 0x4f, 0xb8, 0xcf, 0x53, 0x54, 0xc5, 0x56, 0x8d, 0xb7, 0xc4,
0x8d, 0xb7, 0xc4, 0xa6, 0x5c, 0xe5, 0xc6, 0x4a, 0x01, 0xb9, 0xe0, 0xd9, 0x1c, 0x57, 0x55, 0xd9, 0xa6, 0x5c, 0xe5, 0xc6, 0x4a, 0x01, 0xb9, 0xe0, 0xd9, 0x1c, 0x57, 0x55, 0xd9, 0xe0, 0x99, 0x16,
0xe0, 0x99, 0x16, 0x80, 0xab, 0xe5, 0x02, 0x70, 0x4c, 0x95, 0x4d, 0x83, 0x3e, 0x1d, 0xf4, 0x92, 0x80, 0xab, 0xe5, 0x02, 0x70, 0x4c, 0x95, 0x4d, 0x83, 0x3e, 0x1d, 0xf4, 0x92, 0xb0, 0x87, 0x2a,
0xb0, 0x87, 0x2a, 0x17, 0x77, 0xa7, 0xe6, 0x64, 0x61, 0x72, 0x05, 0xe6, 0x13, 0x1a, 0x27, 0x01, 0x17, 0x77, 0xa7, 0xe6, 0x64, 0x61, 0x72, 0x05, 0xe6, 0x13, 0x1a, 0x27, 0x01, 0x4d, 0x50, 0x2b,
0x4d, 0x50, 0x2b, 0xd5, 0x30, 0x20, 0x20, 0x21, 0xe6, 0xa0, 0x4e, 0x22, 0x2f, 0xee, 0x34, 0x31, 0xd5, 0x30, 0x20, 0x20, 0x21, 0xe6, 0xa0, 0x4e, 0x22, 0x2f, 0xee, 0x34, 0x31, 0xb4, 0x86, 0xff,
0xb4, 0x86, 0xff, 0x93, 0x4f, 0xc3, 0xea, 0x31, 0x8d, 0x93, 0xde, 0x29, 0x75, 0x07, 0x34, 0xc2, 0x93, 0x4f, 0xc1, 0xea, 0x31, 0x8d, 0x93, 0xde, 0x29, 0x75, 0x07, 0x34, 0xc2, 0x9d, 0xe6, 0x31,
0x9d, 0xe6, 0x31, 0x3c, 0x6e, 0xf7, 0x8b, 0x2b, 0x19, 0x0f, 0x9d, 0xd1, 0x28, 0xf6, 0xc2, 0x00, 0x3c, 0x6e, 0xf7, 0x8b, 0x2b, 0x19, 0x0f, 0x9d, 0xd1, 0x28, 0xf6, 0xc2, 0x00, 0x2d, 0x7e, 0xdd,
0x2d, 0x7e, 0xdd, 0x91, 0x45, 0xd6, 0x1e, 0x9b, 0xbc, 0xb2, 0x97, 0x6a, 0x05, 0x17, 0x71, 0xe2, 0x91, 0x45, 0xd6, 0x1e, 0x9b, 0xbc, 0xb2, 0x97, 0x6a, 0x05, 0x17, 0x71, 0xe2, 0xc5, 0x95, 0xe4,
0xc5, 0x95, 0xe4, 0x3a, 0xcc, 0xe1, 0x04, 0xe2, 0x4e, 0xdb, 0x88, 0x6a, 0x6c, 0x33, 0xd0, 0x11, 0x3a, 0xcc, 0xe1, 0x04, 0xe2, 0x4e, 0xdb, 0x88, 0x6a, 0x6c, 0x33, 0xd0, 0x11, 0x75, 0x9f, 0xaf,
0x75, 0x5f, 0xa8, 0xd4, 0x1a, 0xed, 0xa6, 0xfd, 0xff, 0xa1, 0x8a, 0x30, 0xdb, 0x74, 0xbe, 0x18, 0xd4, 0x1a, 0xed, 0xa6, 0xfd, 0x73, 0x50, 0x45, 0x98, 0x6d, 0x3a, 0x5f, 0x0c, 0xce, 0x14, 0xbc,
0x9c, 0x29, 0x78, 0x81, 0x0d, 0x2d, 0xa0, 0xc9, 0x79, 0x18, 0x3d, 0x95, 0x01, 0x5f, 0x51, 0xb4, 0xc0, 0x86, 0x16, 0xd0, 0xe4, 0x3c, 0x8c, 0x9e, 0xca, 0x80, 0xaf, 0x28, 0xda, 0xdf, 0x40, 0x17,
0xbf, 0x89, 0x2e, 0xbe, 0x0a, 0x7c, 0x3e, 0x46, 0xff, 0x84, 0x1d, 0xd4, 0xf8, 0x52, 0xc7, 0xa7, 0x5f, 0x05, 0x3e, 0x1f, 0xa3, 0x7f, 0xc2, 0x0e, 0x6a, 0x7c, 0xa9, 0xe3, 0x53, 0x57, 0x9c, 0x3a,
0xae, 0x38, 0x75, 0xd4, 0x10, 0x38, 0x3a, 0x75, 0x99, 0xda, 0x32, 0x76, 0x8f, 0x1f, 0xe4, 0x1a, 0x6a, 0x08, 0x1c, 0x9d, 0xba, 0x4c, 0x6d, 0x19, 0xbb, 0xc7, 0x0f, 0x72, 0x0d, 0xc4, 0xf6, 0xf8,
0x88, 0xed, 0xf1, 0xcd, 0xbb, 0x0e, 0x2d, 0x19, 0x52, 0x8d, 0x7b, 0x3e, 0x3d, 0x49, 0x64, 0x5c, 0xe6, 0x5d, 0x87, 0x96, 0x0c, 0xa9, 0xc6, 0x3d, 0x9f, 0x9e, 0x24, 0x32, 0xae, 0x10, 0x4c, 0x46,
0x21, 0x98, 0x8c, 0xf0, 0xb4, 0xb7, 0x4f, 0x4f, 0x12, 0xfb, 0x00, 0x96, 0x84, 0x2a, 0x79, 0x38, 0x78, 0xda, 0xdb, 0xa7, 0x27, 0x89, 0x7d, 0x00, 0x4b, 0x42, 0x95, 0x3c, 0x1c, 0x53, 0xd9, 0xf5,
0xa6, 0xb2, 0xeb, 0xcf, 0x16, 0x99, 0xe4, 0xc6, 0x9d, 0x65, 0x53, 0xf7, 0xf0, 0x20, 0xb2, 0x49, 0x67, 0x8a, 0x4c, 0x72, 0xe3, 0xce, 0xb2, 0xa9, 0x7b, 0x78, 0x10, 0xd9, 0xa4, 0xb4, 0x1d, 0x20,
0x69, 0x3b, 0x40, 0x74, 0xd5, 0x24, 0x1a, 0x14, 0x76, 0x51, 0x46, 0x4e, 0xc4, 0x74, 0x0c, 0x8c, 0xba, 0x6a, 0x12, 0x0d, 0x0a, 0xbb, 0x28, 0x23, 0x27, 0x62, 0x3a, 0x06, 0xc6, 0xd6, 0x27, 0x9e,
0xad, 0x4f, 0x3c, 0xe9, 0xf7, 0x65, 0x40, 0x9c, 0x1d, 0x87, 0x79, 0xd1, 0xfe, 0xae, 0x05, 0xcb, 0xf4, 0xfb, 0x32, 0x20, 0xce, 0x8e, 0xc3, 0xbc, 0x68, 0x7f, 0xd7, 0x82, 0x65, 0x6c, 0x4d, 0x3a,
0xd8, 0x9a, 0x74, 0x2a, 0x84, 0xfa, 0x7f, 0xeb, 0x23, 0x0c, 0xb3, 0xd9, 0xd7, 0xa3, 0x49, 0x2b, 0x15, 0x42, 0xfd, 0xbf, 0xf5, 0x11, 0x86, 0xd9, 0xec, 0xeb, 0xd1, 0xa4, 0x15, 0xa8, 0xea, 0x06,
0x50, 0xd5, 0x0d, 0x02, 0x2f, 0x7c, 0xf4, 0x43, 0x7d, 0x25, 0x7b, 0xa8, 0xb7, 0x7f, 0xdf, 0x82, 0x81, 0x17, 0x3e, 0xfa, 0xa1, 0xbe, 0x92, 0x3d, 0xd4, 0xdb, 0x7f, 0x68, 0xc1, 0x12, 0xd7, 0xc9,
0x25, 0xae, 0x93, 0x13, 0x37, 0x99, 0xc4, 0x62, 0xfa, 0x3f, 0x03, 0x0b, 0xdc, 0xb8, 0x0a, 0xa9, 0x89, 0x9b, 0x4c, 0x62, 0x31, 0xfd, 0x9f, 0x87, 0x05, 0x6e, 0x5c, 0x85, 0x54, 0x8b, 0x81, 0xae,
0x16, 0x03, 0x5d, 0x51, 0x0a, 0x08, 0x51, 0x4e, 0xbc, 0x77, 0xc9, 0x31, 0x89, 0xc9, 0x3b, 0xe8, 0x28, 0x05, 0x84, 0x28, 0x27, 0xde, 0xbb, 0xe4, 0x98, 0xc4, 0xe4, 0x1d, 0x74, 0x70, 0x82, 0x1e,
0xe0, 0x04, 0x3d, 0x44, 0x45, 0x60, 0xf0, 0x72, 0x81, 0x19, 0x50, 0xdf, 0x6b, 0xe4, 0x77, 0x6b, 0xa2, 0x22, 0x30, 0x78, 0xb9, 0xc0, 0x0c, 0xa8, 0xef, 0x35, 0xf2, 0xbb, 0x35, 0x98, 0xe3, 0xfe,
0x30, 0xc7, 0xfd, 0x5d, 0xfb, 0x3e, 0x2c, 0x18, 0x1d, 0x19, 0x01, 0x85, 0x26, 0x0f, 0x28, 0xe4, 0xae, 0x7d, 0x1f, 0x16, 0x8c, 0x8e, 0x8c, 0x80, 0x42, 0x93, 0x07, 0x14, 0x72, 0xa1, 0xa8, 0x52,
0x42, 0x51, 0xa5, 0x82, 0x50, 0xd4, 0x9f, 0x95, 0x81, 0x30, 0x66, 0xc9, 0xec, 0x06, 0x73, 0xb8, 0x41, 0x28, 0xea, 0x2f, 0xca, 0x40, 0x18, 0xb3, 0x64, 0x76, 0x83, 0x39, 0xdc, 0xe1, 0xc0, 0x38,
0xc3, 0x81, 0x71, 0x7c, 0x6a, 0x3a, 0x3a, 0x44, 0x6e, 0x01, 0xd1, 0x8a, 0x32, 0xa2, 0xc8, 0xad, 0x3e, 0x35, 0x1d, 0x1d, 0x22, 0xb7, 0x80, 0x68, 0x45, 0x19, 0x51, 0xe4, 0xd6, 0xa7, 0xa0, 0x86,
0x4f, 0x41, 0x0d, 0x53, 0x93, 0xc2, 0x78, 0x0b, 0x33, 0x2b, 0x0e, 0x8a, 0x7c, 0xd9, 0x0b, 0xeb, 0xa9, 0x49, 0x61, 0xbc, 0x85, 0x99, 0x15, 0x07, 0x45, 0xbe, 0xec, 0x85, 0x75, 0xcc, 0xc0, 0x8c,
0x98, 0x81, 0x19, 0x4f, 0xe2, 0x53, 0xbc, 0x3a, 0x11, 0x07, 0x2c, 0x59, 0xce, 0xee, 0xef, 0xdc, 0x27, 0xf1, 0x29, 0x5e, 0x9d, 0x88, 0x03, 0x96, 0x2c, 0x67, 0xf7, 0x77, 0xee, 0xc2, 0xfd, 0x9d,
0x85, 0xfb, 0x3b, 0x9f, 0x0b, 0xda, 0x68, 0x2e, 0x7e, 0xcd, 0x74, 0xf1, 0xaf, 0xc3, 0xc2, 0x88, 0xcf, 0x05, 0x6d, 0x34, 0x17, 0xbf, 0x66, 0xba, 0xf8, 0xd7, 0x61, 0x61, 0xc4, 0x5c, 0xce, 0xc4,
0xb9, 0x9c, 0x89, 0xdf, 0xef, 0x8d, 0x58, 0xef, 0xe2, 0x3c, 0x65, 0x80, 0x64, 0x03, 0xda, 0xc2, 0xef, 0xf7, 0x46, 0xac, 0x77, 0x71, 0x9e, 0x32, 0x40, 0xb2, 0x01, 0x6d, 0xe1, 0x6e, 0xa4, 0xe7,
0xdd, 0x48, 0xcf, 0x11, 0x80, 0x6b, 0x9c, 0xc3, 0x99, 0xfe, 0x4e, 0xc3, 0x38, 0x0d, 0x1c, 0x6c, 0x08, 0xc0, 0x35, 0xce, 0xe1, 0x4c, 0x7f, 0xa7, 0x61, 0x9c, 0x06, 0x0e, 0x36, 0x05, 0xd8, 0xc9,
0x0a, 0xb0, 0x93, 0x57, 0xcc, 0x38, 0xa4, 0x37, 0x09, 0xc4, 0xad, 0x09, 0x1d, 0xe0, 0x49, 0xaa, 0x2b, 0x66, 0x1c, 0xd2, 0x9b, 0x04, 0xe2, 0xd6, 0x84, 0x0e, 0xf0, 0x24, 0x55, 0x73, 0xf2, 0x15,
0xe6, 0xe4, 0x2b, 0xec, 0xdf, 0xb5, 0xa0, 0xcd, 0xf6, 0xcc, 0x60, 0xcb, 0xb7, 0x01, 0xa5, 0xe2, 0xf6, 0xef, 0x5b, 0xd0, 0x66, 0x7b, 0x66, 0xb0, 0xe5, 0xdb, 0x80, 0x52, 0xf1, 0x82, 0x5c, 0x69,
0x05, 0xb9, 0xd2, 0xa0, 0x25, 0x6f, 0x41, 0x1d, 0xcb, 0xe1, 0x98, 0x06, 0x82, 0x27, 0x3b, 0x26, 0xd0, 0x92, 0xb7, 0xa0, 0x8e, 0xe5, 0x70, 0x4c, 0x03, 0xc1, 0x93, 0x1d, 0x93, 0x27, 0x53, 0x7d,
0x4f, 0xa6, 0xfa, 0x64, 0xef, 0x92, 0x93, 0x12, 0x6b, 0x1c, 0xf9, 0x0f, 0x16, 0x34, 0x44, 0x2f, 0xb2, 0x77, 0xc9, 0x49, 0x89, 0x35, 0x8e, 0xfc, 0x27, 0x0b, 0x1a, 0xa2, 0x97, 0x1f, 0x3b, 0x4c,
0x3f, 0x76, 0x98, 0xa0, 0xab, 0x5d, 0x73, 0x71, 0x4e, 0x4a, 0x6f, 0xb5, 0x6e, 0xc2, 0xe2, 0xc8, 0xd0, 0xd5, 0xae, 0xb9, 0x38, 0x27, 0xa5, 0xb7, 0x5a, 0x37, 0x61, 0x71, 0xe4, 0x26, 0x93, 0x88,
0x4d, 0x26, 0x11, 0xb3, 0xc7, 0x46, 0x88, 0x20, 0x0b, 0x33, 0xe3, 0x8a, 0xaa, 0x33, 0xee, 0x25, 0xd9, 0x63, 0x23, 0x44, 0x90, 0x85, 0x99, 0x71, 0x45, 0xd5, 0x19, 0xf7, 0x12, 0xcf, 0xef, 0xc9,
0x9e, 0xdf, 0x93, 0xb5, 0xe2, 0x42, 0xa9, 0xa8, 0x8a, 0x69, 0x90, 0x38, 0x71, 0x87, 0x54, 0xd8, 0x5a, 0x71, 0xa1, 0x54, 0x54, 0xc5, 0x34, 0x48, 0x9c, 0xb8, 0x43, 0x2a, 0xec, 0x26, 0x2f, 0xd8,
0x4d, 0x5e, 0xb0, 0x3b, 0xb0, 0x26, 0x26, 0x94, 0x71, 0x55, 0xed, 0xbf, 0x6a, 0xc2, 0x7a, 0xae, 0x1d, 0x58, 0x13, 0x13, 0xca, 0xb8, 0xaa, 0xf6, 0xdf, 0x34, 0x61, 0x3d, 0x57, 0xa5, 0x6e, 0x9f,
0x4a, 0xdd, 0x3e, 0x8b, 0xb3, 0xaf, 0xef, 0x8d, 0x8e, 0x43, 0xe5, 0xe7, 0x5b, 0xfa, 0xb1, 0xd8, 0xc5, 0xd9, 0xd7, 0xf7, 0x46, 0xc7, 0xa1, 0xf2, 0xf3, 0x2d, 0xfd, 0x58, 0x6c, 0x54, 0x91, 0x21,
0xa8, 0x22, 0x43, 0x58, 0x95, 0x0e, 0x02, 0x5b, 0xd3, 0xd4, 0x98, 0x95, 0xd0, 0x4a, 0xbd, 0x61, 0xac, 0x4a, 0x07, 0x81, 0xad, 0x69, 0x6a, 0xcc, 0x4a, 0x68, 0xa5, 0xde, 0x30, 0xb7, 0x30, 0xdb,
0x6e, 0x61, 0xb6, 0x43, 0x89, 0xeb, 0x42, 0x5c, 0xdc, 0x1e, 0x39, 0x85, 0x8e, 0xf2, 0x44, 0x84, 0xa1, 0xc4, 0x75, 0x21, 0x2e, 0x6e, 0x8f, 0x9c, 0x42, 0x47, 0x79, 0x22, 0x42, 0x59, 0x6b, 0xde,
0xb2, 0xd6, 0xbc, 0x15, 0xd6, 0xd7, 0xeb, 0x17, 0xf4, 0x65, 0x78, 0xb6, 0xce, 0xcc, 0xd6, 0xc8, 0x0a, 0xeb, 0xeb, 0xf5, 0x0b, 0xfa, 0x32, 0x3c, 0x5b, 0x67, 0x66, 0x6b, 0x64, 0x0a, 0x57, 0x65,
0x14, 0xae, 0xca, 0x3a, 0xd4, 0xc6, 0xf9, 0xfe, 0x2a, 0x2f, 0x34, 0x37, 0xf4, 0xd9, 0xcd, 0x4e, 0x1d, 0x6a, 0xe3, 0x7c, 0x7f, 0x95, 0x17, 0x9a, 0x1b, 0xfa, 0xec, 0x66, 0xa7, 0x17, 0x34, 0x4c,
0x2f, 0x68, 0x98, 0xbc, 0x0f, 0x6b, 0xe7, 0xae, 0x97, 0xc8, 0x61, 0x69, 0xbe, 0x41, 0x15, 0xbb, 0xde, 0x87, 0xb5, 0x73, 0xd7, 0x4b, 0xe4, 0xb0, 0x34, 0xdf, 0xa0, 0x8a, 0x5d, 0xde, 0xb9, 0xa0,
0xbc, 0x73, 0x41, 0x97, 0x4f, 0xf8, 0xc7, 0x86, 0x89, 0x9a, 0xd1, 0x62, 0xf7, 0xef, 0x2c, 0x68, 0xcb, 0x27, 0xfc, 0x63, 0xc3, 0x44, 0xcd, 0x68, 0xb1, 0xfb, 0x0f, 0x16, 0xb4, 0xcc, 0x76, 0x18,
0x99, 0xed, 0x30, 0x36, 0x15, 0xb2, 0x2f, 0x75, 0xa0, 0xf4, 0x26, 0x33, 0x70, 0xfe, 0xa8, 0x5c, 0x9b, 0x0a, 0xd9, 0x97, 0x3a, 0x50, 0x7a, 0x93, 0x19, 0x38, 0x7f, 0x54, 0x2e, 0x15, 0x1d, 0x95,
0x2a, 0x3a, 0x2a, 0xeb, 0x07, 0xd4, 0xf2, 0x45, 0x31, 0xa6, 0xca, 0x8b, 0xc5, 0x98, 0xaa, 0x45, 0xf5, 0x03, 0x6a, 0xf9, 0xa2, 0x18, 0x53, 0xe5, 0xc5, 0x62, 0x4c, 0xd5, 0xa2, 0x18, 0x53, 0xf7,
0x31, 0xa6, 0xee, 0x7f, 0x5a, 0x40, 0xf2, 0xbc, 0x44, 0xee, 0xf3, 0xb3, 0x7a, 0x40, 0x7d, 0xa1, 0xbf, 0x2d, 0x20, 0x79, 0x5e, 0x22, 0xf7, 0xf9, 0x59, 0x3d, 0xa0, 0xbe, 0x50, 0x29, 0x3f, 0xfb,
0x52, 0xfe, 0xdf, 0x8b, 0xf1, 0xa3, 0x5c, 0x3b, 0xf9, 0x35, 0x13, 0x0c, 0xfd, 0x46, 0x58, 0x77, 0x62, 0xfc, 0x28, 0xd7, 0x4e, 0x7e, 0xcd, 0x04, 0x43, 0xbf, 0x11, 0xd6, 0x9d, 0x9d, 0x05, 0xa7,
0x76, 0x16, 0x9c, 0xa2, 0xaa, 0x4c, 0xd4, 0xab, 0x72, 0x71, 0xd4, 0xab, 0x7a, 0x71, 0xd4, 0x6b, 0xa8, 0x2a, 0x13, 0xf5, 0xaa, 0x5c, 0x1c, 0xf5, 0xaa, 0x5e, 0x1c, 0xf5, 0x9a, 0xcb, 0x46, 0xbd,
0x2e, 0x1b, 0xf5, 0xea, 0xfe, 0xaa, 0x05, 0xcb, 0x05, 0x9b, 0xfe, 0xd3, 0x9b, 0x38, 0xdb, 0x26, 0xba, 0xbf, 0x61, 0xc1, 0x72, 0xc1, 0xa6, 0xff, 0xf4, 0x26, 0xce, 0xb6, 0xc9, 0xd0, 0x05, 0x25,
0x43, 0x17, 0x94, 0xc4, 0x36, 0xe9, 0x60, 0xf7, 0x17, 0x61, 0xc1, 0x60, 0xf4, 0x9f, 0x5e, 0xff, 0xb1, 0x4d, 0x3a, 0xd8, 0xfd, 0x15, 0x58, 0x30, 0x18, 0xfd, 0xa7, 0xd7, 0x7f, 0xd6, 0x5f, 0xe3,
0x59, 0x7f, 0x8d, 0xf3, 0x99, 0x81, 0x75, 0xff, 0xbd, 0x04, 0x24, 0x2f, 0x6c, 0xff, 0xa7, 0x63, 0x7c, 0x66, 0x60, 0xdd, 0xff, 0x2c, 0x01, 0xc9, 0x0b, 0xdb, 0xff, 0xeb, 0x18, 0xf2, 0xeb, 0x54,
0xc8, 0xaf, 0x53, 0xb9, 0x60, 0x9d, 0xfe, 0x57, 0xed, 0xc0, 0xeb, 0xb0, 0x24, 0x52, 0x55, 0xb4, 0x2e, 0x58, 0xa7, 0xff, 0x53, 0x3b, 0xf0, 0x3a, 0x2c, 0x89, 0x54, 0x15, 0x2d, 0x42, 0xc3, 0x39,
0x08, 0x0d, 0xe7, 0x98, 0x7c, 0x05, 0xf3, 0x58, 0xcd, 0x90, 0x63, 0xcd, 0xb8, 0xf6, 0xd7, 0x8c, 0x26, 0x5f, 0xc1, 0x3c, 0x56, 0x33, 0xe4, 0x58, 0x33, 0xae, 0xfd, 0x35, 0x63, 0x98, 0x89, 0x3c,
0x61, 0x26, 0xf2, 0x68, 0x77, 0xa1, 0x23, 0x56, 0x68, 0xf7, 0x8c, 0x06, 0xc9, 0xd1, 0xe4, 0x98, 0xda, 0x5d, 0xe8, 0x88, 0x15, 0xda, 0x3d, 0xa3, 0x41, 0x72, 0x34, 0x39, 0xe6, 0xe9, 0x1e, 0x5e,
0xa7, 0x7b, 0x78, 0x61, 0x60, 0x7f, 0xbf, 0xac, 0x9c, 0x6e, 0xac, 0x14, 0xe6, 0xfd, 0xd3, 0xd0, 0x18, 0xd8, 0xdf, 0x2f, 0x2b, 0xa7, 0x1b, 0x2b, 0x85, 0x79, 0xff, 0x14, 0x34, 0x75, 0x65, 0x2e,
0xd4, 0x95, 0xb9, 0xd8, 0x8e, 0x4c, 0x80, 0x8e, 0x19, 0x76, 0x9d, 0x8a, 0xec, 0x40, 0x0b, 0x55, 0xb6, 0x23, 0x13, 0xa0, 0x63, 0x86, 0x5d, 0xa7, 0x22, 0x3b, 0xd0, 0x42, 0x95, 0x35, 0x50, 0xdf,
0xd6, 0x40, 0x7d, 0x57, 0xc2, 0xef, 0x9e, 0x13, 0x78, 0xd8, 0xbb, 0xe4, 0x64, 0xbe, 0x21, 0x9f, 0x95, 0xf0, 0xbb, 0xe7, 0x04, 0x1e, 0xf6, 0x2e, 0x39, 0x99, 0x6f, 0xc8, 0x67, 0xa1, 0x65, 0x1e,
0x83, 0x96, 0x79, 0x94, 0x12, 0x3e, 0x42, 0x91, 0x6f, 0xce, 0x3e, 0x37, 0x89, 0xc9, 0x16, 0xb4, 0xa5, 0x84, 0x8f, 0x50, 0xe4, 0x9b, 0xb3, 0xcf, 0x4d, 0x62, 0xb2, 0x05, 0xed, 0xec, 0x59, 0x4c,
0xb3, 0x67, 0x31, 0x71, 0x5b, 0x3c, 0xa3, 0x81, 0x1c, 0x39, 0x79, 0x4b, 0xdc, 0x3d, 0x55, 0x31, 0xdc, 0x16, 0xcf, 0x68, 0x20, 0x47, 0x4e, 0xde, 0x12, 0x77, 0x4f, 0x55, 0x0c, 0x82, 0x5d, 0x37,
0x08, 0x76, 0xdd, 0xfc, 0x4c, 0x5b, 0xa6, 0x5b, 0xfc, 0x8f, 0x76, 0x1b, 0xf5, 0x35, 0x80, 0x14, 0x3f, 0xd3, 0x96, 0xe9, 0x16, 0xff, 0xa3, 0xdd, 0x46, 0x7d, 0x15, 0x20, 0xc5, 0x48, 0x1b, 0x9a,
0x23, 0x6d, 0x68, 0x3e, 0x3c, 0xdc, 0x3d, 0xe8, 0x6d, 0xef, 0x6d, 0x1d, 0x1c, 0xec, 0xee, 0xb7, 0x0f, 0x0f, 0x77, 0x0f, 0x7a, 0xdb, 0x7b, 0x5b, 0x07, 0x07, 0xbb, 0xfb, 0xed, 0x4b, 0x84, 0x40,
0x2f, 0x11, 0x02, 0x2d, 0x8c, 0x5f, 0xed, 0x28, 0xcc, 0x62, 0xd8, 0xd6, 0x36, 0x8f, 0x8d, 0x09, 0x0b, 0xe3, 0x57, 0x3b, 0x0a, 0xb3, 0x18, 0xb6, 0xb5, 0xcd, 0x63, 0x63, 0x02, 0x2b, 0x91, 0x15,
0xac, 0x44, 0x56, 0xa0, 0xfd, 0xe0, 0x20, 0x83, 0x96, 0xef, 0xd6, 0x95, 0x7c, 0xd8, 0x6b, 0xb0, 0x68, 0x3f, 0x38, 0xc8, 0xa0, 0xe5, 0xbb, 0x75, 0x25, 0x1f, 0xf6, 0x1a, 0xac, 0xf0, 0x74, 0xa6,
0xc2, 0xd3, 0x99, 0xee, 0x72, 0xf6, 0x90, 0xbe, 0xc2, 0x1f, 0x5a, 0xb0, 0x9a, 0xa9, 0x48, 0x13, 0xbb, 0x9c, 0x3d, 0xa4, 0xaf, 0xf0, 0xc7, 0x16, 0xac, 0x66, 0x2a, 0xd2, 0xc4, 0x03, 0xee, 0x0e,
0x0f, 0xb8, 0x3b, 0x60, 0xfa, 0x08, 0x26, 0xc8, 0x78, 0x52, 0x79, 0x7e, 0x19, 0x0d, 0x92, 0xaf, 0x98, 0x3e, 0x82, 0x09, 0x32, 0x9e, 0x54, 0x9e, 0x5f, 0x46, 0x83, 0xe4, 0x2b, 0x18, 0xcf, 0x6b,
0x60, 0x3c, 0xaf, 0x79, 0x8a, 0x19, 0x49, 0x2a, 0xaa, 0xb2, 0xd7, 0x79, 0xd2, 0x55, 0x40, 0xfd, 0x9e, 0x62, 0x46, 0x92, 0x8a, 0xaa, 0xec, 0x75, 0x9e, 0x74, 0x15, 0x50, 0x3f, 0x33, 0xf0, 0x13,
0xcc, 0xc0, 0x4f, 0x78, 0x9a, 0x94, 0x5e, 0x91, 0xde, 0xe5, 0x99, 0x43, 0x96, 0x45, 0xe6, 0xe4, 0x9e, 0x26, 0xa5, 0x57, 0xa4, 0x77, 0x79, 0xe6, 0x90, 0x65, 0x91, 0x39, 0xf9, 0x86, 0xeb, 0x61,
0x1b, 0xae, 0x87, 0x39, 0xde, 0xc2, 0x3a, 0xfb, 0x07, 0x16, 0x90, 0x2f, 0x4d, 0x68, 0x34, 0xc5, 0x8e, 0xb7, 0xb0, 0xce, 0xfe, 0x81, 0x05, 0xe4, 0x8b, 0x13, 0x1a, 0x4d, 0x31, 0x67, 0x40, 0x85,
0x9c, 0x01, 0x15, 0x0e, 0x5c, 0xcf, 0x06, 0xbb, 0xe6, 0xc6, 0x93, 0xe3, 0x2f, 0xd2, 0xa9, 0x4c, 0x03, 0xd7, 0xb3, 0xc1, 0xae, 0xb9, 0xf1, 0xe4, 0xf8, 0x0b, 0x74, 0x2a, 0xd3, 0x54, 0x4a, 0x69,
0x53, 0x29, 0xa5, 0x69, 0x2a, 0x2f, 0x03, 0xb0, 0xc3, 0xb1, 0xca, 0x58, 0x40, 0xe7, 0x3a, 0x98, 0x9a, 0xca, 0xcb, 0x00, 0xec, 0x70, 0xac, 0x32, 0x16, 0xd0, 0xb9, 0x0e, 0x26, 0x23, 0xde, 0x60,
0x8c, 0x78, 0x83, 0x85, 0x99, 0x24, 0x95, 0x8b, 0x33, 0x49, 0xaa, 0x17, 0x65, 0x92, 0xbc, 0x03, 0x61, 0x26, 0x49, 0xe5, 0xe2, 0x4c, 0x92, 0xea, 0x45, 0x99, 0x24, 0xef, 0xc0, 0xb2, 0x31, 0x6e,
0xcb, 0xc6, 0xb8, 0xd5, 0xb6, 0xca, 0xdc, 0x09, 0x2b, 0x9f, 0x3b, 0x21, 0xf3, 0x26, 0xec, 0x5f, 0xb5, 0xad, 0x32, 0x77, 0xc2, 0xca, 0xe7, 0x4e, 0xc8, 0xbc, 0x09, 0xfb, 0x9b, 0x25, 0x28, 0xef,
0x2f, 0x41, 0x79, 0x2f, 0x1c, 0xeb, 0xa1, 0x70, 0xcb, 0x0c, 0x85, 0x0b, 0xff, 0xa0, 0xa7, 0xcc, 0x85, 0x63, 0x3d, 0x14, 0x6e, 0x99, 0xa1, 0x70, 0xe1, 0x1f, 0xf4, 0x94, 0xf9, 0x17, 0x66, 0xc3,
0xbf, 0x30, 0x1b, 0x06, 0x48, 0x36, 0xa0, 0xe5, 0x8e, 0x92, 0x5e, 0x12, 0x32, 0x7f, 0xe8, 0xdc, 0x00, 0xc9, 0x06, 0xb4, 0xdc, 0x51, 0xd2, 0x4b, 0x42, 0xe6, 0x0f, 0x9d, 0xbb, 0xd1, 0x80, 0xef,
0x8d, 0x06, 0x7c, 0xaf, 0x31, 0x24, 0x93, 0xa9, 0x21, 0x2b, 0x50, 0x56, 0x86, 0x14, 0x09, 0x58, 0x35, 0x86, 0x64, 0x32, 0x35, 0x64, 0x05, 0xca, 0xca, 0x90, 0x22, 0x01, 0x2b, 0x32, 0x67, 0x1c,
0x91, 0x39, 0xe3, 0x78, 0xc9, 0x36, 0x15, 0x61, 0x25, 0x51, 0x62, 0xac, 0x64, 0x7e, 0xcf, 0x4f, 0x2f, 0xd9, 0xa6, 0x22, 0xac, 0x24, 0x4a, 0x8c, 0x95, 0xcc, 0xef, 0xf9, 0x49, 0x88, 0xab, 0xc3,
0x42, 0x5c, 0x1d, 0x16, 0x55, 0x31, 0x5f, 0x85, 0x2d, 0x1f, 0x92, 0x89, 0x78, 0xa0, 0x2c, 0xeb, 0xa2, 0x2a, 0xe6, 0xab, 0xb0, 0xe5, 0x43, 0x32, 0x11, 0x0f, 0x94, 0x65, 0x3d, 0x76, 0x59, 0x33,
0xb1, 0xcb, 0x9a, 0x79, 0xe5, 0xf8, 0x23, 0x0b, 0xaa, 0xb8, 0x36, 0x4c, 0xb5, 0x73, 0xde, 0x57, 0xaf, 0x1c, 0x7f, 0x64, 0x41, 0x15, 0xd7, 0x86, 0xa9, 0x76, 0xce, 0xfb, 0x2a, 0x1a, 0x8e, 0x6b,
0xd1, 0x70, 0x5c, 0x93, 0x05, 0x27, 0x0b, 0x13, 0xdb, 0x48, 0xf4, 0x2a, 0xa9, 0x09, 0xe9, 0xc9, 0xb2, 0xe0, 0x64, 0x61, 0x62, 0x1b, 0x89, 0x5e, 0x25, 0x35, 0x21, 0x3d, 0xd9, 0xeb, 0x1a, 0xd4,
0x5e, 0xd7, 0xa0, 0xce, 0x4b, 0x2a, 0xa9, 0x09, 0x49, 0x52, 0x90, 0x5c, 0x85, 0xca, 0x69, 0x38, 0x79, 0x49, 0x25, 0x35, 0x21, 0x49, 0x0a, 0x92, 0xab, 0x50, 0x39, 0x0d, 0xc7, 0xd2, 0x17, 0x05,
0x96, 0xbe, 0x28, 0xc8, 0xab, 0xa2, 0x70, 0xec, 0x20, 0x9e, 0x8e, 0x87, 0xb5, 0xc7, 0xa7, 0xc5, 0x79, 0x55, 0x14, 0x8e, 0x1d, 0xc4, 0xd3, 0xf1, 0xb0, 0xf6, 0xf8, 0xb4, 0xb8, 0x87, 0x91, 0x85,
0x3d, 0x8c, 0x2c, 0xcc, 0x7c, 0x2c, 0xd5, 0xac, 0xbe, 0x4c, 0x19, 0xd4, 0xde, 0x80, 0xc5, 0x83, 0x99, 0x8f, 0xa5, 0x9a, 0xd5, 0x97, 0x29, 0x83, 0xda, 0x1b, 0xb0, 0x78, 0x10, 0x0e, 0xa8, 0x16,
0x70, 0x40, 0xb5, 0x90, 0xe4, 0x4c, 0x3e, 0xb7, 0x7f, 0xc9, 0x82, 0x9a, 0x24, 0x26, 0x37, 0xa1, 0x92, 0x9c, 0xc9, 0xe7, 0xf6, 0xaf, 0x5a, 0x50, 0x93, 0xc4, 0xe4, 0x26, 0x54, 0x98, 0xe3, 0x98,
0xc2, 0x1c, 0xc7, 0xcc, 0xa9, 0x4e, 0x5d, 0x11, 0x33, 0x3a, 0x07, 0x29, 0x98, 0xa5, 0xc5, 0x48, 0x39, 0xd5, 0xa9, 0x2b, 0x62, 0x46, 0xe7, 0x20, 0x05, 0xb3, 0xb4, 0x18, 0x29, 0x4a, 0x0f, 0x11,
0x51, 0x7a, 0x88, 0x90, 0x71, 0xa2, 0xd4, 0x47, 0x56, 0xc3, 0xcd, 0xb8, 0x96, 0x19, 0xd4, 0xfe, 0x32, 0x4e, 0x94, 0xfa, 0xc8, 0x6a, 0xb8, 0x19, 0xd7, 0x32, 0x83, 0xda, 0xdf, 0xb3, 0x60, 0xc1,
0x9e, 0x05, 0x0b, 0x46, 0x1f, 0xe4, 0x1a, 0x34, 0x7c, 0x37, 0x4e, 0xc4, 0xb5, 0x9b, 0xd8, 0x1e, 0xe8, 0x83, 0x5c, 0x83, 0x86, 0xef, 0xc6, 0x89, 0xb8, 0x76, 0x13, 0xdb, 0xa3, 0x43, 0xfa, 0x46,
0x1d, 0xd2, 0x37, 0xba, 0x64, 0x06, 0xa9, 0x55, 0xf8, 0xb4, 0xac, 0x87, 0x4f, 0x6f, 0x43, 0x3d, 0x97, 0xcc, 0x20, 0xb5, 0x0a, 0x9f, 0x96, 0xf5, 0xf0, 0xe9, 0x6d, 0xa8, 0xa7, 0xe9, 0x78, 0x15,
0x4d, 0xc7, 0xab, 0x18, 0x16, 0x94, 0xf5, 0x28, 0x2f, 0xbf, 0x53, 0x22, 0x8c, 0xc8, 0x85, 0x7e, 0xc3, 0x82, 0xb2, 0x1e, 0xe5, 0xe5, 0x77, 0x4a, 0x84, 0x11, 0xb9, 0xd0, 0x0f, 0x23, 0x71, 0xa3,
0x18, 0x89, 0x1b, 0x1d, 0x5e, 0xb0, 0xdf, 0x81, 0x86, 0x46, 0xaf, 0x07, 0xe8, 0x2c, 0x23, 0x40, 0xc3, 0x0b, 0xf6, 0x3b, 0xd0, 0xd0, 0xe8, 0xf5, 0x00, 0x9d, 0x65, 0x04, 0xe8, 0x54, 0x66, 0x48,
0xa7, 0x32, 0x43, 0x4a, 0x69, 0x66, 0x88, 0xfd, 0xb7, 0x16, 0x2c, 0x30, 0x1e, 0xf4, 0x82, 0xe1, 0x29, 0xcd, 0x0c, 0xb1, 0xff, 0xde, 0x82, 0x05, 0xc6, 0x83, 0x5e, 0x30, 0x3c, 0x0c, 0x7d, 0xaf,
0x61, 0xe8, 0x7b, 0xfd, 0x29, 0xee, 0xbd, 0x64, 0x37, 0xa1, 0x33, 0x24, 0x2f, 0x9a, 0x30, 0xe3, 0x3f, 0xc5, 0xbd, 0x97, 0xec, 0x26, 0x74, 0x86, 0xe4, 0x45, 0x13, 0x66, 0x5c, 0x2f, 0xc3, 0x02,
0x7a, 0x19, 0x16, 0x10, 0x22, 0xaa, 0xca, 0x4c, 0x86, 0x99, 0x04, 0x1c, 0xbb, 0xb1, 0x10, 0x0b, 0x42, 0x44, 0x55, 0x99, 0xc9, 0x30, 0x93, 0x80, 0x63, 0x37, 0x16, 0x62, 0x21, 0x5c, 0x1a, 0x03,
0xe1, 0xd2, 0x18, 0x20, 0x93, 0x34, 0x06, 0x44, 0x6e, 0x42, 0x7b, 0x23, 0xcf, 0xf7, 0x3d, 0x4e, 0x64, 0x92, 0xc6, 0x80, 0xc8, 0x4d, 0x68, 0x6f, 0xe4, 0xf9, 0xbe, 0xc7, 0x69, 0xb9, 0xc3, 0x5b,
0xcb, 0x1d, 0xde, 0xa2, 0x2a, 0xd6, 0xe7, 0xc0, 0x8b, 0xdd, 0xe3, 0xf4, 0x96, 0x42, 0x95, 0xed, 0x54, 0xc5, 0xfa, 0x1c, 0x78, 0xb1, 0x7b, 0x9c, 0xde, 0x52, 0xa8, 0xb2, 0xfd, 0x57, 0x25, 0x68,
0xbf, 0x28, 0x41, 0x43, 0x5a, 0xc6, 0xc1, 0x90, 0x8a, 0x2b, 0x35, 0x3c, 0x52, 0x28, 0x25, 0xa3, 0x48, 0xcb, 0x38, 0x18, 0x52, 0x71, 0xa5, 0x86, 0x47, 0x0a, 0xa5, 0x64, 0x34, 0x44, 0xd6, 0x1b,
0x21, 0xb2, 0xde, 0x38, 0x84, 0x68, 0x48, 0x76, 0xcb, 0xcb, 0xf9, 0x2d, 0xbf, 0x02, 0x75, 0xc6, 0x87, 0x10, 0x0d, 0xc9, 0x6e, 0x79, 0x39, 0xbf, 0xe5, 0x57, 0xa0, 0xce, 0x58, 0xef, 0x0d, 0x3c,
0x7a, 0x6f, 0xe0, 0x69, 0x87, 0x5f, 0xc7, 0xa5, 0x80, 0xac, 0xbd, 0x83, 0xb5, 0xd5, 0xb4, 0x16, 0xed, 0xf0, 0xeb, 0xb8, 0x14, 0x90, 0xb5, 0x77, 0xb0, 0xb6, 0x9a, 0xd6, 0x22, 0xf0, 0xdc, 0x0b,
0x81, 0xe7, 0x5e, 0xc0, 0xbd, 0x05, 0x4d, 0xd1, 0x0c, 0xee, 0x09, 0xea, 0x94, 0x94, 0xf9, 0x8d, 0xb8, 0xb7, 0xa0, 0x29, 0x9a, 0xc1, 0x3d, 0x41, 0x9d, 0x92, 0x32, 0xbf, 0xb1, 0x5f, 0x8e, 0x41,
0xfd, 0x72, 0x0c, 0x4a, 0xf9, 0xe5, 0x1d, 0xf9, 0x65, 0xed, 0xa2, 0x2f, 0x25, 0xa5, 0x7d, 0x5f, 0x29, 0xbf, 0xbc, 0x23, 0xbf, 0xac, 0x5d, 0xf4, 0xa5, 0xa4, 0xb4, 0xef, 0xab, 0x7b, 0xcd, 0xfb,
0xdd, 0x6b, 0xde, 0x8f, 0xdc, 0xf1, 0xa9, 0x94, 0xd2, 0xdb, 0xb0, 0xec, 0x05, 0x7d, 0x7f, 0x32, 0x91, 0x3b, 0x3e, 0x95, 0x52, 0x7a, 0x1b, 0x96, 0xbd, 0xa0, 0xef, 0x4f, 0x06, 0xb4, 0x37, 0x09,
0xa0, 0xbd, 0x49, 0xe0, 0x06, 0x41, 0x38, 0x09, 0xfa, 0x54, 0x26, 0x7d, 0x14, 0x55, 0xd9, 0x03, 0xdc, 0x20, 0x08, 0x27, 0x41, 0x9f, 0xca, 0xa4, 0x8f, 0xa2, 0x2a, 0x7b, 0xa0, 0x72, 0xde, 0xb0,
0x95, 0xf3, 0x86, 0x0d, 0x91, 0x0d, 0xa8, 0xb2, 0x8e, 0xa4, 0x55, 0x28, 0x16, 0x61, 0x4e, 0x42, 0x21, 0xb2, 0x01, 0x55, 0xd6, 0x91, 0xb4, 0x0a, 0xc5, 0x22, 0xcc, 0x49, 0xc8, 0x4d, 0xa8, 0xd2,
0x6e, 0x42, 0x95, 0x0e, 0x86, 0x54, 0x46, 0x00, 0x48, 0xc6, 0xdf, 0x19, 0x0c, 0xa9, 0xc3, 0x09, 0xc1, 0x90, 0xca, 0x08, 0x00, 0xc9, 0xf8, 0x3b, 0x83, 0x21, 0x75, 0x38, 0x01, 0x53, 0x28, 0x0c,
0x98, 0x42, 0x61, 0x68, 0x46, 0xa1, 0x98, 0x16, 0x65, 0x8e, 0x15, 0x1f, 0x0c, 0xec, 0x15, 0x20, 0xcd, 0x28, 0x14, 0xd3, 0xa2, 0xcc, 0xb1, 0xe2, 0x83, 0x81, 0xbd, 0x02, 0xe4, 0x80, 0xcb, 0x80,
0x07, 0x5c, 0x06, 0xf4, 0x2b, 0x91, 0x5f, 0x29, 0x43, 0x43, 0x83, 0x99, 0x6e, 0x18, 0xb2, 0x01, 0x7e, 0x25, 0xf2, 0xeb, 0x65, 0x68, 0x68, 0x30, 0xd3, 0x0d, 0x43, 0x36, 0xe0, 0xde, 0xc0, 0x73,
0xf7, 0x06, 0x9e, 0x3b, 0xa2, 0x09, 0x8d, 0x04, 0xdf, 0x67, 0x50, 0x46, 0xe7, 0x9e, 0x0d, 0x7b, 0x47, 0x34, 0xa1, 0x91, 0xe0, 0xfb, 0x0c, 0xca, 0xe8, 0xdc, 0xb3, 0x61, 0x2f, 0x9c, 0x24, 0xbd,
0xe1, 0x24, 0xe9, 0x0d, 0xe8, 0x30, 0xa2, 0xdc, 0xc8, 0x33, 0xa3, 0x63, 0xa0, 0x8c, 0x6e, 0xe4, 0x01, 0x1d, 0x46, 0x94, 0x1b, 0x79, 0x66, 0x74, 0x0c, 0x94, 0xd1, 0x8d, 0xdc, 0x67, 0x3a, 0x1d,
0x3e, 0xd3, 0xe9, 0x38, 0x07, 0x65, 0x50, 0x79, 0xc1, 0xc1, 0xd7, 0xa8, 0x92, 0x5e, 0x70, 0xf0, 0xe7, 0xa0, 0x0c, 0x2a, 0x2f, 0x38, 0xf8, 0x1a, 0x55, 0xd2, 0x0b, 0x0e, 0xbe, 0x22, 0x59, 0xad,
0x15, 0xc9, 0x6a, 0xb5, 0x6a, 0x81, 0x56, 0x7b, 0x13, 0xd6, 0xb8, 0xfe, 0x12, 0x92, 0xde, 0xcb, 0x56, 0x2d, 0xd0, 0x6a, 0x6f, 0xc2, 0x1a, 0xd7, 0x5f, 0x42, 0xd2, 0x7b, 0x19, 0xc6, 0x9a, 0x51,
0x30, 0xd6, 0x8c, 0x5a, 0xb2, 0x01, 0x6d, 0x36, 0x66, 0x29, 0x12, 0xb1, 0xf7, 0x4d, 0x1e, 0x2c, 0x4b, 0x36, 0xa0, 0xcd, 0xc6, 0x2c, 0x45, 0x22, 0xf6, 0xbe, 0xc1, 0x83, 0x85, 0x96, 0x93, 0xc3,
0xb4, 0x9c, 0x1c, 0xce, 0x68, 0x31, 0x6a, 0xa7, 0xd3, 0xf2, 0x0b, 0xdf, 0x1c, 0x8e, 0xb4, 0xee, 0x19, 0x2d, 0x46, 0xed, 0x74, 0x5a, 0x7e, 0xe1, 0x9b, 0xc3, 0x91, 0xd6, 0x7d, 0x66, 0xd2, 0xd6,
0x33, 0x93, 0xb6, 0x2e, 0x68, 0x33, 0xb8, 0xbd, 0x00, 0x8d, 0xa3, 0x24, 0x1c, 0xcb, 0x4d, 0x69, 0x05, 0x6d, 0x06, 0xb7, 0x17, 0xa0, 0x71, 0x94, 0x84, 0x63, 0xb9, 0x29, 0x2d, 0x68, 0xf2, 0xa2,
0x41, 0x93, 0x17, 0x45, 0xf2, 0xcd, 0x4b, 0x70, 0x19, 0xb9, 0xe8, 0x51, 0x38, 0x0e, 0xfd, 0x70, 0x48, 0xbe, 0x79, 0x09, 0x2e, 0x23, 0x17, 0x3d, 0x0a, 0xc7, 0xa1, 0x1f, 0x0e, 0xa7, 0xc6, 0x89,
0x38, 0x35, 0x4e, 0x0c, 0x7f, 0x6f, 0xc1, 0xb2, 0x51, 0x9b, 0x1e, 0x19, 0x30, 0xd8, 0x20, 0xb3, 0xe1, 0x1f, 0x2d, 0x58, 0x36, 0x6a, 0xd3, 0x23, 0x03, 0x06, 0x1b, 0x64, 0xd6, 0x04, 0x67, 0xbc,
0x26, 0x38, 0xe3, 0x2d, 0x69, 0xca, 0x95, 0x13, 0xf2, 0xb8, 0xee, 0x63, 0x91, 0x48, 0xb1, 0x05, 0x25, 0x4d, 0xb9, 0x72, 0x42, 0x1e, 0xd7, 0x7d, 0x2c, 0x12, 0x29, 0xb6, 0x60, 0x51, 0x8e, 0x4c,
0x8b, 0x72, 0x64, 0xf2, 0x43, 0xce, 0x85, 0x9d, 0x3c, 0x17, 0x8a, 0xef, 0x5b, 0xe2, 0x03, 0xd9, 0x7e, 0xc8, 0xb9, 0xb0, 0x93, 0xe7, 0x42, 0xf1, 0x7d, 0x4b, 0x7c, 0x20, 0x9b, 0xf8, 0xac, 0xb8,
0xc4, 0xe7, 0xc4, 0xc5, 0x39, 0x3f, 0x41, 0xc8, 0xd8, 0x92, 0x3a, 0x73, 0xe8, 0x27, 0x4c, 0x39, 0x38, 0xe7, 0x27, 0x08, 0x19, 0x5b, 0x52, 0x67, 0x0e, 0xfd, 0x84, 0x29, 0x47, 0xd0, 0x57, 0x60,
0x82, 0xbe, 0x02, 0x63, 0xfb, 0x37, 0x2d, 0x80, 0x74, 0x74, 0x78, 0xdd, 0xaa, 0x0c, 0x04, 0x7f, 0x6c, 0xff, 0xb6, 0x05, 0x90, 0x8e, 0x0e, 0xaf, 0x5b, 0x95, 0x81, 0xe0, 0x6f, 0x38, 0x34, 0x63,
0xc3, 0xa1, 0x19, 0x83, 0x57, 0xa1, 0xa9, 0xae, 0xe9, 0x52, 0x9b, 0xd3, 0x90, 0x18, 0x73, 0x18, 0xf0, 0x2a, 0x34, 0xd5, 0x35, 0x5d, 0x6a, 0x73, 0x1a, 0x12, 0x63, 0x0e, 0xe3, 0x0d, 0x58, 0x1c,
0x6f, 0xc0, 0xe2, 0xd0, 0x0f, 0x8f, 0xd1, 0x60, 0x63, 0x36, 0x57, 0x2c, 0x52, 0x90, 0x5a, 0x1c, 0xfa, 0xe1, 0x31, 0x1a, 0x6c, 0xcc, 0xe6, 0x8a, 0x45, 0x0a, 0x52, 0x8b, 0xc3, 0xf7, 0x04, 0x9a,
0xbe, 0x27, 0xd0, 0xd4, 0x40, 0x55, 0x34, 0x03, 0x65, 0xff, 0x56, 0x49, 0xdd, 0xaa, 0xa4, 0x73, 0x1a, 0xa8, 0x8a, 0x66, 0xa0, 0xec, 0xdf, 0x29, 0xa9, 0x5b, 0x95, 0x74, 0xce, 0x33, 0xa5, 0x8c,
0x9e, 0x29, 0x65, 0xe4, 0x4e, 0x4e, 0x9d, 0xce, 0xb8, 0xc4, 0xc0, 0x28, 0xea, 0xe1, 0x85, 0x41, 0xdc, 0xc9, 0xa9, 0xd3, 0x19, 0x97, 0x18, 0x18, 0x45, 0x3d, 0xbc, 0x30, 0xc8, 0xf3, 0x0e, 0xb4,
0x9e, 0x77, 0xa0, 0x15, 0x71, 0x7d, 0x25, 0x95, 0x59, 0xe5, 0x39, 0xca, 0x6c, 0x21, 0x32, 0xac, 0x22, 0xae, 0xaf, 0xa4, 0x32, 0xab, 0x3c, 0x47, 0x99, 0x2d, 0x44, 0x86, 0x15, 0xfb, 0x38, 0xb4,
0xd8, 0x27, 0xa0, 0xed, 0x0e, 0xce, 0x68, 0x94, 0x78, 0x78, 0xcc, 0x46, 0x17, 0x82, 0xab, 0xe0, 0xdd, 0xc1, 0x19, 0x8d, 0x12, 0x0f, 0x8f, 0xd9, 0xe8, 0x42, 0x70, 0x15, 0xbc, 0xa8, 0xe1, 0x68,
0x45, 0x0d, 0x47, 0xcb, 0x7e, 0x03, 0x16, 0x45, 0xda, 0x97, 0xa2, 0x14, 0x89, 0xd9, 0x29, 0xcc, 0xd9, 0x6f, 0xc0, 0xa2, 0x48, 0xfb, 0x52, 0x94, 0x22, 0x31, 0x3b, 0x85, 0x19, 0xa1, 0xfd, 0xa7,
0x08, 0xed, 0x3f, 0x96, 0x17, 0x38, 0xe6, 0x1e, 0xce, 0x5e, 0x11, 0x7d, 0x76, 0xa5, 0xcc, 0xec, 0xf2, 0x02, 0xc7, 0xdc, 0xc3, 0xd9, 0x2b, 0xa2, 0xcf, 0xae, 0x94, 0x99, 0xdd, 0xc7, 0xc4, 0x65,
0x3e, 0x26, 0x2e, 0x53, 0x06, 0xf2, 0x2c, 0x5f, 0xd6, 0x92, 0x2c, 0x06, 0xe2, 0xf2, 0xcb, 0x5c, 0xca, 0x40, 0x9e, 0xe5, 0xcb, 0x5a, 0x92, 0xc5, 0x40, 0x5c, 0x7e, 0x99, 0x4b, 0x5a, 0x79, 0x91,
0xd2, 0xca, 0x8b, 0x2c, 0xa9, 0xfd, 0x43, 0x0b, 0xe6, 0xf7, 0xc2, 0xf1, 0x9e, 0x48, 0x37, 0x41, 0x25, 0xb5, 0x7f, 0x68, 0xc1, 0xfc, 0x5e, 0x38, 0xde, 0x13, 0xe9, 0x26, 0x28, 0x08, 0x2a, 0xdf,
0x41, 0x50, 0xf9, 0x96, 0xb2, 0xf8, 0x9c, 0x44, 0x94, 0x42, 0xcb, 0xbd, 0x90, 0xb5, 0xdc, 0x3f, 0x52, 0x16, 0x9f, 0x93, 0x88, 0x52, 0x68, 0xb9, 0x17, 0xb2, 0x96, 0xfb, 0x17, 0xe1, 0x25, 0x8c,
0x07, 0x2f, 0x61, 0x24, 0x29, 0x0a, 0xc7, 0x61, 0xc4, 0x84, 0xd1, 0xf5, 0xb9, 0x99, 0x0e, 0x83, 0x24, 0x45, 0xe1, 0x38, 0x8c, 0x98, 0x30, 0xba, 0x3e, 0x37, 0xd3, 0x61, 0x90, 0x9c, 0x4a, 0x35,
0xe4, 0x54, 0xaa, 0xb1, 0xe7, 0x91, 0xe0, 0xf1, 0x8e, 0x1d, 0x4b, 0xb8, 0xd3, 0x2d, 0x3c, 0x0d, 0xf6, 0x3c, 0x12, 0x3c, 0xde, 0xb1, 0x63, 0x09, 0x77, 0xba, 0x85, 0xa7, 0xc1, 0xb5, 0x5b, 0xbe,
0xae, 0xdd, 0xf2, 0x15, 0xf6, 0x67, 0xa1, 0x8e, 0xae, 0x32, 0x4e, 0xeb, 0x75, 0xa8, 0x9f, 0x86, 0xc2, 0xfe, 0x0c, 0xd4, 0xd1, 0x55, 0xc6, 0x69, 0xbd, 0x0e, 0xf5, 0xd3, 0x70, 0xdc, 0x3b, 0xf5,
0xe3, 0xde, 0xa9, 0x17, 0x24, 0x52, 0xb8, 0x5b, 0xa9, 0x0f, 0xbb, 0x87, 0x0b, 0xa2, 0x08, 0xec, 0x82, 0x44, 0x0a, 0x77, 0x2b, 0xf5, 0x61, 0xf7, 0x70, 0x41, 0x14, 0x81, 0xfd, 0xcd, 0x39, 0x98,
0xff, 0xaa, 0xc2, 0xfc, 0x83, 0xe0, 0x2c, 0xf4, 0xfa, 0x78, 0x59, 0x34, 0xa2, 0xa3, 0x50, 0x66, 0x7f, 0x10, 0x9c, 0x85, 0x5e, 0x1f, 0x2f, 0x8b, 0x46, 0x74, 0x14, 0xca, 0xec, 0x53, 0xf6, 0x3f,
0x9f, 0xb2, 0xff, 0xc9, 0x15, 0x98, 0xc7, 0x74, 0xab, 0x31, 0x67, 0xda, 0x26, 0xbf, 0xd4, 0x15, 0xb9, 0x02, 0xf3, 0x98, 0x6e, 0x35, 0xe6, 0x4c, 0xdb, 0xe4, 0x97, 0xba, 0x02, 0x62, 0x4e, 0x42,
0x10, 0x73, 0x12, 0xa2, 0x34, 0xf1, 0x9d, 0x8b, 0x8f, 0x86, 0xb0, 0x43, 0x44, 0xa4, 0x27, 0xae, 0x94, 0x26, 0xbe, 0x73, 0xf1, 0xd1, 0x10, 0x76, 0x88, 0x88, 0xf4, 0xc4, 0x75, 0x51, 0x4a, 0xb3,
0x8b, 0x52, 0x9a, 0xdd, 0x5b, 0xd5, 0xb2, 0x7b, 0x59, 0x5f, 0x22, 0x3d, 0x86, 0xe7, 0x4f, 0xf0, 0x7b, 0xab, 0x5a, 0x76, 0x2f, 0xeb, 0x4b, 0xa4, 0xc7, 0xf0, 0xfc, 0x09, 0xde, 0x97, 0x80, 0xf0,
0xbe, 0x04, 0x84, 0x07, 0x9f, 0x88, 0xf2, 0x48, 0x20, 0xba, 0x1c, 0xf3, 0xe2, 0xe0, 0xa3, 0x83, 0xe0, 0x13, 0x51, 0x1e, 0x09, 0x44, 0x97, 0x63, 0x5e, 0x1c, 0x7c, 0x74, 0x90, 0xb9, 0x25, 0xfc,
0xcc, 0x2d, 0xe1, 0x1f, 0x70, 0x1a, 0xae, 0x84, 0x75, 0x88, 0xb9, 0x70, 0xd9, 0xa7, 0x06, 0x75, 0x03, 0x4e, 0xc3, 0x95, 0xb0, 0x0e, 0x31, 0x17, 0x2e, 0xfb, 0xd4, 0xa0, 0xce, 0x79, 0x3f, 0x03,
0xce, 0xfb, 0x19, 0x98, 0x69, 0xea, 0x01, 0x55, 0x0a, 0x95, 0xcf, 0x03, 0x78, 0x72, 0x7f, 0x16, 0x33, 0x4d, 0x3d, 0xa0, 0x4a, 0xa1, 0xf2, 0x79, 0x00, 0x4f, 0xee, 0xcf, 0xe2, 0xda, 0x71, 0x89,
0xd7, 0x8e, 0x4b, 0x3c, 0x33, 0x4e, 0x1e, 0x97, 0x18, 0xc3, 0xb8, 0xbe, 0x7f, 0xec, 0xf6, 0x9f, 0x67, 0xc6, 0xc9, 0xe3, 0x12, 0x63, 0x18, 0xd7, 0xf7, 0x8f, 0xdd, 0xfe, 0x53, 0x7c, 0x49, 0x82,
0xe2, 0x4b, 0x12, 0xbc, 0xbe, 0xa9, 0x3b, 0x26, 0x88, 0x49, 0x2e, 0xe9, 0xae, 0xe2, 0xf5, 0x77, 0xd7, 0x37, 0x75, 0xc7, 0x04, 0x31, 0xc9, 0x25, 0xdd, 0x55, 0xbc, 0xfe, 0xae, 0x38, 0x3a, 0x44,
0xc5, 0xd1, 0x21, 0x72, 0x07, 0x1a, 0x78, 0x44, 0x14, 0xfb, 0xda, 0xc2, 0x7d, 0x6d, 0xeb, 0x67, 0xee, 0x40, 0x03, 0x8f, 0x88, 0x62, 0x5f, 0x5b, 0xb8, 0xaf, 0x6d, 0xfd, 0x0c, 0x89, 0x3b, 0xab,
0x48, 0xdc, 0x59, 0x9d, 0x48, 0xbf, 0xc8, 0x5a, 0xcc, 0xe5, 0xaa, 0xb9, 0x83, 0x81, 0xb8, 0xff, 0x13, 0xe9, 0x17, 0x59, 0x8b, 0xb9, 0x5c, 0x35, 0x77, 0x30, 0x10, 0xf7, 0x7f, 0x6d, 0xec, 0x2d,
0x6b, 0x63, 0x6f, 0x29, 0xc0, 0xac, 0xaa, 0x58, 0x30, 0x4e, 0xb0, 0x84, 0x04, 0x06, 0x46, 0xae, 0x05, 0x98, 0x55, 0x15, 0x0b, 0xc6, 0x09, 0x96, 0x90, 0xc0, 0xc0, 0xc8, 0x55, 0xa8, 0xb1, 0xe3,
0x42, 0x8d, 0x1d, 0x5f, 0xc6, 0xae, 0x37, 0xc0, 0x64, 0x37, 0x7e, 0x8a, 0x52, 0x18, 0x6b, 0x43, 0xcb, 0xd8, 0xf5, 0x06, 0x98, 0xec, 0xc6, 0x4f, 0x51, 0x0a, 0x63, 0x6d, 0xc8, 0xff, 0xf1, 0x9e,
0xfe, 0x8f, 0xf7, 0x74, 0xcb, 0xb8, 0x2a, 0x06, 0xc6, 0xd6, 0x46, 0x95, 0x51, 0x98, 0x56, 0xf8, 0x6e, 0x19, 0x57, 0xc5, 0xc0, 0xd8, 0xda, 0xa8, 0x32, 0x0a, 0xd3, 0x0a, 0xdf, 0x51, 0x03, 0x24,
0x8e, 0x1a, 0x20, 0x79, 0x03, 0x6f, 0x61, 0x12, 0xda, 0x59, 0xc5, 0x28, 0xcf, 0x4b, 0x62, 0xce, 0x6f, 0xe0, 0x2d, 0x4c, 0x42, 0x3b, 0xab, 0x18, 0xe5, 0x79, 0x49, 0xcc, 0x59, 0x30, 0xad, 0xfc,
0x82, 0x69, 0xe5, 0xdf, 0x23, 0x46, 0xe2, 0x70, 0x4a, 0xfb, 0xe3, 0xd0, 0xd4, 0x61, 0x52, 0x83, 0x7b, 0xc4, 0x48, 0x1c, 0x4e, 0x69, 0x7f, 0x12, 0x9a, 0x3a, 0x4c, 0x6a, 0x50, 0x79, 0x78, 0xb8,
0xca, 0xc3, 0xc3, 0xdd, 0x83, 0xf6, 0x25, 0xd2, 0x80, 0xf9, 0xa3, 0xdd, 0x47, 0x8f, 0xf6, 0x77, 0x7b, 0xd0, 0xbe, 0x44, 0x1a, 0x30, 0x7f, 0xb4, 0xfb, 0xe8, 0xd1, 0xfe, 0xee, 0x4e, 0xdb, 0x22,
0x77, 0xda, 0x96, 0x9d, 0x00, 0xd9, 0x1a, 0x0c, 0x04, 0xa5, 0x3a, 0xa8, 0xa7, 0x3c, 0x6b, 0x19, 0x4d, 0xa8, 0xa9, 0x8c, 0xa4, 0x92, 0x9d, 0x00, 0xd9, 0x1a, 0x0c, 0xc4, 0x77, 0xea, 0xd8, 0x9e,
0x3c, 0x5b, 0xc0, 0x37, 0xa5, 0x62, 0xbe, 0x79, 0xee, 0xea, 0xda, 0xbb, 0xd0, 0x38, 0xd4, 0xde, 0x72, 0xb0, 0x65, 0x70, 0x70, 0x01, 0x17, 0x95, 0x8a, 0xb9, 0xe8, 0xb9, 0x6b, 0x6d, 0xef, 0x42,
0x60, 0xa0, 0x08, 0xc9, 0xd7, 0x17, 0x42, 0xf4, 0x34, 0x44, 0x1b, 0x4e, 0x49, 0x1f, 0x8e, 0xfd, 0xe3, 0x50, 0x7b, 0x91, 0x81, 0x02, 0x25, 0xdf, 0x62, 0x08, 0x41, 0xd4, 0x10, 0x6d, 0x38, 0x25,
0x27, 0x16, 0xcf, 0x0b, 0x57, 0xc3, 0xe7, 0x7d, 0xdb, 0xd0, 0x54, 0xe1, 0x94, 0x34, 0xa1, 0xd0, 0x7d, 0x38, 0xf6, 0x9f, 0x59, 0x3c, 0x4b, 0x5c, 0x0d, 0x9f, 0xf7, 0x6d, 0x43, 0x53, 0x05, 0x57,
0xc0, 0x18, 0x0d, 0x0e, 0xa5, 0x17, 0x9e, 0x9c, 0xc4, 0x54, 0xa6, 0xff, 0x18, 0x18, 0xe3, 0x7d, 0xd2, 0xf4, 0x42, 0x03, 0x63, 0x34, 0x38, 0x94, 0x5e, 0x78, 0x72, 0x12, 0x53, 0x99, 0x0c, 0x64,
0xe6, 0x45, 0x31, 0x8f, 0xc4, 0xe3, 0x3d, 0xc4, 0x22, 0x0d, 0x28, 0x87, 0x33, 0x4d, 0x1e, 0xd1, 0x60, 0x4c, 0x12, 0x98, 0x4f, 0xc5, 0xfc, 0x13, 0x8f, 0xf7, 0x10, 0x8b, 0xa4, 0xa0, 0x1c, 0xce,
0x33, 0x1a, 0xc5, 0x2a, 0xf1, 0x49, 0x95, 0x55, 0xde, 0x63, 0x76, 0x95, 0x37, 0xa0, 0xa6, 0xda, 0xf4, 0x7a, 0x44, 0xcf, 0x68, 0x14, 0xab, 0x34, 0x28, 0x55, 0x56, 0x59, 0x90, 0xd9, 0x55, 0xde,
0x35, 0x95, 0x94, 0xa4, 0x54, 0xf5, 0x4c, 0x19, 0xe2, 0xb9, 0xc2, 0x18, 0x34, 0x57, 0xcc, 0xf9, 0x80, 0x9a, 0x6a, 0xd7, 0x54, 0x59, 0x92, 0x52, 0xd5, 0x33, 0xd5, 0x88, 0xa7, 0x0c, 0x63, 0xd0,
0x0a, 0x72, 0x0b, 0xc8, 0x89, 0x17, 0x65, 0xc9, 0xcb, 0x48, 0x5e, 0x50, 0x63, 0x3f, 0x81, 0x65, 0x5c, 0x4d, 0xe7, 0x2b, 0xc8, 0x2d, 0x20, 0x27, 0x5e, 0x94, 0x25, 0x2f, 0x23, 0x79, 0x41, 0x8d,
0xc9, 0x2c, 0x9a, 0xfb, 0x64, 0x6e, 0xa2, 0x75, 0x91, 0x88, 0x94, 0xf2, 0x22, 0x62, 0xff, 0xb7, 0xfd, 0x04, 0x96, 0x25, 0xeb, 0x68, 0xce, 0x94, 0xb9, 0x89, 0xd6, 0x45, 0x02, 0x53, 0xca, 0x0b,
0x05, 0xf3, 0x62, 0xa7, 0x73, 0xef, 0x78, 0xf8, 0x3e, 0x1b, 0x18, 0xe9, 0x18, 0x4f, 0x1e, 0x50, 0x8c, 0xfd, 0x3f, 0x16, 0xcc, 0x8b, 0x9d, 0xce, 0xbd, 0xea, 0xe1, 0xfb, 0x6c, 0x60, 0xa4, 0x63,
0x9e, 0x84, 0x62, 0xcc, 0xa9, 0xbe, 0x72, 0x91, 0xea, 0x23, 0x50, 0x19, 0xbb, 0xc9, 0x29, 0x9e, 0x3c, 0x80, 0x40, 0xe9, 0x12, 0x6a, 0x32, 0xa7, 0x08, 0xcb, 0x45, 0x8a, 0x90, 0x40, 0x65, 0xec,
0x96, 0xeb, 0x0e, 0xfe, 0x4f, 0xda, 0x3c, 0xb6, 0xc3, 0xd5, 0x2c, 0xc6, 0x75, 0x8a, 0x5e, 0x2c, 0x26, 0xa7, 0x78, 0x76, 0xae, 0x3b, 0xf8, 0x3f, 0x69, 0xf3, 0x48, 0x0f, 0x57, 0xba, 0x18, 0xe5,
0x71, 0x8b, 0x9e, 0x7f, 0xb1, 0x74, 0x05, 0xea, 0x38, 0x80, 0x5e, 0x1a, 0xba, 0x49, 0x01, 0xc6, 0x29, 0x7a, 0xbf, 0xc4, 0xed, 0x7b, 0xfe, 0xfd, 0xd2, 0x15, 0xa8, 0xe3, 0x00, 0x7a, 0x69, 0x20,
0xb9, 0xbc, 0x80, 0xb2, 0x2b, 0xb2, 0x8f, 0x53, 0xc4, 0x5e, 0xe5, 0x3b, 0x2f, 0x96, 0x40, 0xdd, 0x27, 0x05, 0x18, 0xe7, 0xf2, 0x02, 0x4a, 0xb2, 0xc8, 0x45, 0x4e, 0x11, 0x7b, 0x95, 0xef, 0xbc,
0x92, 0x8a, 0x3c, 0xd3, 0x14, 0x4e, 0x39, 0x42, 0x0c, 0x20, 0xcb, 0x11, 0x82, 0xd4, 0x51, 0xf5, 0x58, 0x02, 0x75, 0x67, 0x2a, 0xb2, 0x4e, 0x53, 0x38, 0xe5, 0x08, 0x31, 0x80, 0x2c, 0x47, 0x08,
0x76, 0x17, 0x3a, 0x3b, 0xd4, 0xa7, 0x09, 0xdd, 0xf2, 0xfd, 0x6c, 0xfb, 0x2f, 0xc1, 0xe5, 0x82, 0x52, 0x47, 0xd5, 0xdb, 0x5d, 0xe8, 0xec, 0x50, 0x9f, 0x26, 0x74, 0xcb, 0xf7, 0xb3, 0xed, 0xbf,
0x3a, 0xe1, 0x31, 0x7f, 0x09, 0x56, 0xb7, 0x78, 0x4e, 0xde, 0x4f, 0x2b, 0xcf, 0xc4, 0xee, 0xc0, 0x04, 0x97, 0x0b, 0xea, 0x84, 0xff, 0xfc, 0x45, 0x58, 0xdd, 0xe2, 0x19, 0x7a, 0x3f, 0xad, 0xac,
0x5a, 0xb6, 0x49, 0xd1, 0xd9, 0x3d, 0x58, 0xda, 0xa1, 0xc7, 0x93, 0xe1, 0x3e, 0x3d, 0x4b, 0x3b, 0x13, 0xbb, 0x03, 0x6b, 0xd9, 0x26, 0x45, 0x67, 0xf7, 0x60, 0x69, 0x87, 0x1e, 0x4f, 0x86, 0xfb,
0x22, 0x50, 0x89, 0x4f, 0xc3, 0x73, 0x21, 0x98, 0xf8, 0x3f, 0x79, 0x19, 0xc0, 0x67, 0x34, 0xbd, 0xf4, 0x2c, 0xed, 0x88, 0x40, 0x25, 0x3e, 0x0d, 0xcf, 0x85, 0x60, 0xe2, 0xff, 0xe4, 0x65, 0x00,
0x78, 0x4c, 0xfb, 0xf2, 0x95, 0x01, 0x22, 0x47, 0x63, 0xda, 0xb7, 0xdf, 0x04, 0xa2, 0xb7, 0x23, 0x9f, 0xd1, 0xf4, 0xe2, 0x31, 0xed, 0xcb, 0x37, 0x07, 0x88, 0x1c, 0x8d, 0x69, 0xdf, 0x7e, 0x13,
0xd6, 0x8b, 0x59, 0xba, 0xc9, 0x71, 0x2f, 0x9e, 0xc6, 0x09, 0x1d, 0xc9, 0xe7, 0x13, 0x3a, 0x64, 0x88, 0xde, 0x8e, 0x58, 0x2f, 0x66, 0xf7, 0x26, 0xc7, 0xbd, 0x78, 0x1a, 0x27, 0x74, 0x24, 0x1f,
0xdf, 0x80, 0xe6, 0xa1, 0x3b, 0x75, 0xe8, 0x37, 0xc4, 0xf3, 0xad, 0x75, 0x98, 0x1f, 0xbb, 0x53, 0x53, 0xe8, 0x90, 0x7d, 0x03, 0x9a, 0x87, 0xee, 0xd4, 0xa1, 0x5f, 0x17, 0x8f, 0xb9, 0xd6, 0x61,
0xa6, 0xa6, 0x54, 0x4c, 0x09, 0xab, 0xed, 0xff, 0x28, 0xc1, 0x1c, 0xa7, 0x64, 0xad, 0x0e, 0x68, 0x7e, 0xec, 0x4e, 0x99, 0x9a, 0x52, 0x11, 0x26, 0xac, 0xb6, 0xff, 0xab, 0x04, 0x73, 0x9c, 0x92,
0x9c, 0x78, 0x01, 0x32, 0x96, 0x6c, 0x55, 0x83, 0x72, 0xac, 0x5c, 0x2a, 0x60, 0x65, 0x71, 0x2e, 0xb5, 0x3a, 0xa0, 0x71, 0xe2, 0x05, 0xc8, 0x58, 0xb2, 0x55, 0x0d, 0xca, 0xb1, 0x72, 0xa9, 0x80,
0x93, 0x19, 0xdb, 0x82, 0x5f, 0x0d, 0x8c, 0x31, 0x57, 0x9a, 0xf0, 0xc5, 0x83, 0x1a, 0x29, 0x90, 0x95, 0xc5, 0x29, 0x4d, 0xe6, 0x6f, 0x0b, 0x7e, 0x35, 0x30, 0xc6, 0x5c, 0x69, 0xfa, 0x17, 0x0f,
0x09, 0x3f, 0xa6, 0xf6, 0x94, 0x8f, 0x4f, 0x4a, 0xa9, 0xe0, 0x5c, 0x1d, 0x2a, 0xb4, 0xda, 0xf3, 0x71, 0xa4, 0x40, 0x26, 0x18, 0x99, 0x5a, 0x57, 0x3e, 0x3e, 0x29, 0xa5, 0x82, 0x73, 0x75, 0xa8,
0x9c, 0xc1, 0x73, 0x56, 0x3b, 0x67, 0x9d, 0x6b, 0x2f, 0x60, 0x9d, 0xf9, 0x61, 0xed, 0x79, 0xd6, 0xd0, 0x86, 0xcf, 0x73, 0x06, 0xcf, 0xd9, 0xf0, 0x9c, 0xad, 0xae, 0xbd, 0x80, 0xad, 0xe6, 0x47,
0x19, 0x5e, 0xc0, 0x3a, 0xdb, 0x04, 0xda, 0xf7, 0x28, 0x75, 0x28, 0xf3, 0xff, 0x24, 0xef, 0x7e, 0xb7, 0xe7, 0xd9, 0x6a, 0x78, 0x01, 0x5b, 0x6d, 0x13, 0x68, 0xdf, 0xa3, 0xd4, 0xa1, 0xcc, 0x1b,
0xcb, 0x82, 0xb6, 0xe0, 0x22, 0x55, 0x47, 0x5e, 0x35, 0xfc, 0xdc, 0xc2, 0xcc, 0xe9, 0xeb, 0xb0, 0x94, 0xbc, 0xfb, 0x2d, 0x0b, 0xda, 0x82, 0x8b, 0x54, 0x1d, 0x79, 0xd5, 0xf0, 0x7a, 0x0b, 0xf3,
0x80, 0xde, 0xa7, 0x8a, 0xb3, 0x8a, 0xa0, 0xb0, 0x01, 0xb2, 0x79, 0xc8, 0x0b, 0xce, 0x91, 0xe7, 0xa8, 0xaf, 0xc3, 0x02, 0xfa, 0xa2, 0x2a, 0xea, 0x2a, 0x42, 0xc4, 0x06, 0xc8, 0xe6, 0x21, 0xaf,
0x8b, 0x4d, 0xd1, 0x21, 0x19, 0xaa, 0x8d, 0x5c, 0x91, 0xf8, 0x64, 0x39, 0xaa, 0x6c, 0xff, 0xa5, 0x3b, 0x47, 0x9e, 0x2f, 0x36, 0x45, 0x87, 0x64, 0xe0, 0x36, 0x72, 0x45, 0x1a, 0x94, 0xe5, 0xa8,
0x05, 0x4b, 0xda, 0x80, 0x05, 0x17, 0xbe, 0x03, 0x52, 0x1a, 0x78, 0xd0, 0x95, 0x4b, 0xee, 0xba, 0xb2, 0xfd, 0xd7, 0x16, 0x2c, 0x69, 0x03, 0x16, 0x5c, 0xf8, 0x0e, 0x48, 0x69, 0xe0, 0x21, 0x58,
0x29, 0x36, 0xe9, 0x67, 0x06, 0x31, 0x6e, 0xa6, 0x3b, 0xc5, 0x01, 0xc6, 0x93, 0x91, 0x50, 0xa2, 0x2e, 0xb9, 0xeb, 0xa6, 0xd8, 0xa4, 0x9f, 0x19, 0xc4, 0xb8, 0x99, 0xee, 0x14, 0x07, 0x18, 0x4f,
0x3a, 0xc4, 0x18, 0xe9, 0x9c, 0xd2, 0xa7, 0x8a, 0x84, 0xab, 0x71, 0x03, 0xc3, 0xac, 0x1c, 0xe6, 0x46, 0x42, 0x89, 0xea, 0x10, 0x63, 0xa4, 0x73, 0x4a, 0x9f, 0x2a, 0x12, 0xae, 0xc6, 0x0d, 0x0c,
0x35, 0x2b, 0x22, 0x6e, 0xcf, 0x4c, 0xd0, 0xfe, 0x27, 0x0b, 0x96, 0xf9, 0xf1, 0x47, 0x1c, 0x2e, 0x73, 0x74, 0x98, 0x0f, 0xad, 0x88, 0xb8, 0x3d, 0x33, 0x41, 0xfb, 0x5f, 0x2c, 0x58, 0xe6, 0x87,
0xd5, 0xa3, 0x97, 0x39, 0x7e, 0xde, 0xe3, 0x12, 0xb9, 0x77, 0xc9, 0x11, 0x65, 0xf2, 0x99, 0x17, 0x21, 0x71, 0xd4, 0x54, 0x4f, 0x60, 0xe6, 0xf8, 0xe9, 0x8f, 0x4b, 0xe4, 0xde, 0x25, 0x47, 0x94,
0x3c, 0xb2, 0xa9, 0x6c, 0xac, 0x19, 0x7b, 0x51, 0x2e, 0xda, 0x8b, 0xe7, 0xac, 0x74, 0x51, 0x90, 0xc9, 0xa7, 0x5f, 0xf0, 0x00, 0xa7, 0x72, 0xb3, 0x66, 0xec, 0x45, 0xb9, 0x68, 0x2f, 0x9e, 0xb3,
0xb1, 0x5a, 0x18, 0x64, 0xbc, 0x3b, 0x0f, 0xd5, 0xb8, 0x1f, 0x8e, 0xa9, 0xbd, 0x06, 0x2b, 0xe6, 0xd2, 0x45, 0x21, 0xc7, 0x6a, 0x61, 0xc8, 0xf1, 0xee, 0x3c, 0x54, 0xe3, 0x7e, 0x38, 0xa6, 0xf6,
0xe4, 0x84, 0x0a, 0xfa, 0x8e, 0x05, 0x9d, 0x7b, 0x3c, 0x18, 0xef, 0x05, 0xc3, 0x3d, 0x2f, 0x4e, 0x1a, 0xac, 0x98, 0x93, 0x13, 0x2a, 0xe8, 0x3b, 0x16, 0x74, 0xee, 0xf1, 0xd0, 0xbc, 0x17, 0x0c,
0xc2, 0x48, 0xbd, 0x0d, 0xbc, 0x0a, 0x10, 0x27, 0x6e, 0x94, 0xf0, 0x9c, 0x5b, 0x11, 0x02, 0x4c, 0xf7, 0xbc, 0x38, 0x09, 0x23, 0xf5, 0x52, 0xf0, 0x2a, 0x40, 0x9c, 0xb8, 0x51, 0xc2, 0x33, 0x70,
0x11, 0x36, 0x46, 0x1a, 0x0c, 0x78, 0x2d, 0xdf, 0x1b, 0x55, 0xce, 0xf9, 0x10, 0xe2, 0x80, 0x66, 0x45, 0x40, 0x30, 0x45, 0xd8, 0x18, 0x69, 0x30, 0xe0, 0xb5, 0x7c, 0x6f, 0x54, 0x39, 0xe7, 0x43,
0x58, 0xe2, 0xd7, 0x78, 0x76, 0x22, 0xf3, 0x15, 0xe8, 0x19, 0xea, 0x75, 0x7e, 0xf2, 0xc9, 0xa0, 0x88, 0xe3, 0x9a, 0x61, 0x89, 0x5f, 0xe3, 0xb9, 0x8a, 0xcc, 0x57, 0xa0, 0x67, 0xa8, 0xd7, 0xf9,
0xf6, 0x3f, 0x5a, 0xb0, 0x98, 0x0e, 0x12, 0xef, 0xed, 0x4c, 0xed, 0x20, 0xcc, 0x6f, 0xaa, 0x1d, 0x39, 0x28, 0x83, 0xda, 0xff, 0x6c, 0xc1, 0x62, 0x3a, 0x48, 0xbc, 0xc5, 0x33, 0xb5, 0x83, 0x30,
0x64, 0x70, 0xd2, 0x63, 0xf6, 0x58, 0x8c, 0x4d, 0x43, 0x50, 0x62, 0x45, 0x29, 0x9c, 0x48, 0x07, 0xbf, 0xa9, 0x76, 0x90, 0xa1, 0x4a, 0x8f, 0xd9, 0x63, 0x31, 0x36, 0x0d, 0x41, 0x89, 0x15, 0xa5,
0x47, 0x87, 0x78, 0xae, 0x11, 0xf3, 0x04, 0x84, 0x57, 0x23, 0x4a, 0x98, 0x32, 0x3d, 0x4a, 0xf0, 0x70, 0x22, 0x1d, 0x1c, 0x1d, 0xe2, 0x99, 0x47, 0xcc, 0x13, 0x10, 0x5e, 0x8d, 0x28, 0x61, 0x02,
0xab, 0x39, 0x7e, 0xf4, 0x13, 0x45, 0x69, 0x4a, 0xe7, 0x11, 0x45, 0x53, 0xaa, 0x5f, 0x6c, 0xd4, 0xf5, 0x28, 0xc1, 0xaf, 0xe6, 0xf8, 0x41, 0x50, 0x14, 0xa5, 0x29, 0x9d, 0x47, 0x14, 0x4d, 0xa9,
0xf8, 0xfa, 0xc8, 0xb2, 0xfd, 0xdb, 0x16, 0x5c, 0x2e, 0x58, 0x78, 0x21, 0x35, 0x3b, 0xb0, 0x74, 0x7e, 0xcd, 0x51, 0xe3, 0xeb, 0x23, 0xcb, 0xf6, 0xef, 0x5a, 0x70, 0xb9, 0x60, 0xe1, 0x85, 0xd4,
0xa2, 0x2a, 0xe5, 0xe2, 0x70, 0xd1, 0x59, 0x93, 0x37, 0x4b, 0xe6, 0x82, 0x38, 0xf9, 0x0f, 0x94, 0xec, 0xc0, 0xd2, 0x89, 0xaa, 0x94, 0x8b, 0xc3, 0x45, 0x67, 0x4d, 0xde, 0x33, 0x99, 0x0b, 0xe2,
0x5f, 0xc4, 0x97, 0xdb, 0xc8, 0xe6, 0xcb, 0x57, 0x6c, 0x7c, 0x1e, 0x1a, 0xda, 0xab, 0x3c, 0xb2, 0xe4, 0x3f, 0x50, 0x7e, 0x11, 0x5f, 0x6e, 0x23, 0xb7, 0x2f, 0x5f, 0xb1, 0xf1, 0x39, 0x68, 0x68,
0x0e, 0xcb, 0x4f, 0x1e, 0x3c, 0x3a, 0xd8, 0x3d, 0x3a, 0xea, 0x1d, 0x3e, 0xbe, 0xfb, 0xc5, 0xdd, 0x6f, 0xf4, 0xc8, 0x3a, 0x2c, 0x3f, 0x79, 0xf0, 0xe8, 0x60, 0xf7, 0xe8, 0xa8, 0x77, 0xf8, 0xf8,
0xaf, 0xf4, 0xf6, 0xb6, 0x8e, 0xf6, 0xda, 0x97, 0xc8, 0x1a, 0x90, 0x83, 0xdd, 0xa3, 0x47, 0xbb, 0xee, 0x17, 0x76, 0xbf, 0xdc, 0xdb, 0xdb, 0x3a, 0xda, 0x6b, 0x5f, 0x22, 0x6b, 0x40, 0x0e, 0x76,
0x3b, 0x06, 0x6e, 0xdd, 0xf9, 0x9d, 0x32, 0xb4, 0xf8, 0x8d, 0x25, 0xff, 0x95, 0x06, 0x1a, 0x91, 0x8f, 0x1e, 0xed, 0xee, 0x18, 0xb8, 0x75, 0xe7, 0xf7, 0xca, 0xd0, 0xe2, 0xf7, 0x97, 0xfc, 0x37,
0x77, 0x61, 0x5e, 0xfc, 0xca, 0x06, 0x59, 0x15, 0xc3, 0x36, 0x7f, 0xd7, 0xa3, 0xbb, 0x96, 0x85, 0x1b, 0x68, 0x44, 0xde, 0x85, 0x79, 0xf1, 0x9b, 0x1b, 0x64, 0x55, 0x0c, 0xdb, 0xfc, 0x95, 0x8f,
0x05, 0x5f, 0x2e, 0xff, 0xf2, 0x0f, 0xff, 0xf5, 0xf7, 0x4a, 0x0b, 0xa4, 0xb1, 0x79, 0xf6, 0xc6, 0xee, 0x5a, 0x16, 0x16, 0x7c, 0xb9, 0xfc, 0x6b, 0x3f, 0xfc, 0xf7, 0x3f, 0x28, 0x2d, 0x90, 0xc6,
0xe6, 0x90, 0x06, 0x31, 0x6b, 0xe3, 0x6b, 0x00, 0xe9, 0xef, 0x4f, 0x90, 0x8e, 0xf2, 0x07, 0x33, 0xe6, 0xd9, 0x1b, 0x9b, 0x43, 0x1a, 0xc4, 0xac, 0x8d, 0xaf, 0x02, 0xa4, 0xbf, 0x46, 0x41, 0x3a,
0x3f, 0xac, 0xd1, 0xbd, 0x5c, 0x50, 0x23, 0xda, 0xbd, 0x8c, 0xed, 0x2e, 0xdb, 0x2d, 0xd6, 0xae, 0xca, 0x1f, 0xcc, 0xfc, 0xcc, 0x46, 0xf7, 0x72, 0x41, 0x8d, 0x68, 0xf7, 0x32, 0xb6, 0xbb, 0x6c,
0x17, 0x78, 0x09, 0xff, 0x31, 0x8a, 0xb7, 0xad, 0x0d, 0x32, 0x80, 0xa6, 0xfe, 0xf3, 0x12, 0x44, 0xb7, 0x58, 0xbb, 0x5e, 0xe0, 0x25, 0xfc, 0xa7, 0x29, 0xde, 0xb6, 0x36, 0xc8, 0x00, 0x9a, 0xfa,
0x06, 0x9e, 0x0a, 0x7e, 0xdc, 0xa2, 0xfb, 0x52, 0x61, 0x9d, 0x8c, 0xba, 0x61, 0x1f, 0xab, 0x76, 0x8f, 0x4d, 0x10, 0x19, 0x86, 0x2a, 0xf8, 0xa9, 0x8b, 0xee, 0x4b, 0x85, 0x75, 0x32, 0x06, 0x87,
0x9b, 0xf5, 0x31, 0x41, 0x8a, 0xb4, 0x17, 0x1f, 0x5a, 0xe6, 0xaf, 0x48, 0x90, 0x2b, 0x9a, 0xca, 0x7d, 0xac, 0xda, 0x6d, 0xd6, 0xc7, 0x04, 0x29, 0xd2, 0x5e, 0x7c, 0x68, 0x99, 0xbf, 0x29, 0x41,
0xc8, 0xfd, 0x86, 0x45, 0xf7, 0xe5, 0x19, 0xb5, 0xa2, 0xaf, 0x97, 0xb1, 0xaf, 0x75, 0x9b, 0xb0, 0xae, 0x68, 0x2a, 0x23, 0xf7, 0x8b, 0x16, 0xdd, 0x97, 0x67, 0xd4, 0x8a, 0xbe, 0x5e, 0xc6, 0xbe,
0xbe, 0xfa, 0x48, 0x23, 0x7f, 0xc3, 0xe2, 0x6d, 0x6b, 0xe3, 0xce, 0xdf, 0x5c, 0x83, 0xba, 0x0a, 0xd6, 0x6d, 0xc2, 0xfa, 0xea, 0x23, 0x8d, 0xfc, 0x45, 0x8b, 0xb7, 0xad, 0x8d, 0x3b, 0x7f, 0x77,
0x15, 0x93, 0xf7, 0x61, 0xc1, 0xb8, 0x52, 0x26, 0x72, 0x1a, 0x45, 0x37, 0xd0, 0xdd, 0x2b, 0xc5, 0x0d, 0xea, 0x2a, 0x70, 0x4c, 0xde, 0x87, 0x05, 0xe3, 0x82, 0x99, 0xc8, 0x69, 0x14, 0xdd, 0x47,
0x95, 0xa2, 0xe3, 0xab, 0xd8, 0x71, 0x87, 0xac, 0xb1, 0x8e, 0xc5, 0x9d, 0xec, 0x26, 0x26, 0x47, 0x77, 0xaf, 0x14, 0x57, 0x8a, 0x8e, 0xaf, 0x62, 0xc7, 0x1d, 0xb2, 0xc6, 0x3a, 0x16, 0x37, 0xb4,
0xf0, 0x4c, 0xe7, 0xa7, 0x7c, 0x9e, 0xe9, 0x35, 0xb0, 0x31, 0xcf, 0xdc, 0xb5, 0xb1, 0x31, 0xcf, 0x9b, 0x98, 0x2a, 0xc1, 0xf3, 0x9e, 0x9f, 0xf2, 0x79, 0xa6, 0x97, 0xc2, 0xc6, 0x3c, 0x73, 0x97,
0xfc, 0xdd, 0xb1, 0x7d, 0x05, 0xbb, 0x5b, 0x23, 0x2b, 0x7a, 0x77, 0x2a, 0x84, 0x4b, 0x31, 0x3d, 0xc8, 0xc6, 0x3c, 0xf3, 0x37, 0xc9, 0xf6, 0x15, 0xec, 0x6e, 0x8d, 0xac, 0xe8, 0xdd, 0xa9, 0x80,
0x5f, 0xff, 0xe1, 0x05, 0xf2, 0xb2, 0x62, 0xac, 0xa2, 0x1f, 0x64, 0x50, 0x2c, 0x92, 0xff, 0x55, 0x2e, 0xc5, 0x64, 0x7d, 0xfd, 0x67, 0x18, 0xc8, 0xcb, 0x8a, 0xb1, 0x8a, 0x7e, 0x9e, 0x41, 0xb1,
0x06, 0xbb, 0x83, 0x5d, 0x11, 0x82, 0xdb, 0xa7, 0xff, 0xee, 0x02, 0xf9, 0x2a, 0xd4, 0xd5, 0x93, 0x48, 0xfe, 0x37, 0x1a, 0xec, 0x0e, 0x76, 0x45, 0x08, 0x6e, 0x9f, 0xfe, 0x2b, 0x0c, 0xe4, 0x2b,
0x5c, 0xb2, 0xae, 0x3d, 0x91, 0xd6, 0x9f, 0x10, 0x77, 0x3b, 0xf9, 0x8a, 0x22, 0xc6, 0xd0, 0x5b, 0x50, 0x57, 0x0f, 0x74, 0xc9, 0xba, 0xf6, 0x60, 0x5a, 0x7f, 0x50, 0xdc, 0xed, 0xe4, 0x2b, 0x8a,
0x66, 0x8c, 0xf1, 0x04, 0x1a, 0xda, 0xb3, 0x5b, 0x72, 0x59, 0x05, 0xfa, 0xb3, 0x4f, 0x7b, 0xbb, 0x18, 0x43, 0x6f, 0x99, 0x31, 0xc6, 0x13, 0x68, 0x68, 0x8f, 0x70, 0xc9, 0x65, 0x15, 0xf6, 0xcf,
0xdd, 0xa2, 0x2a, 0xd1, 0xc5, 0x12, 0x76, 0xd1, 0x20, 0x75, 0xe4, 0xbd, 0xe4, 0x59, 0x18, 0x93, 0x3e, 0xf4, 0xed, 0x76, 0x8b, 0xaa, 0x44, 0x17, 0x4b, 0xd8, 0x45, 0x83, 0xd4, 0x91, 0xf7, 0x92,
0x7d, 0x58, 0x15, 0x07, 0x97, 0x63, 0xfa, 0x51, 0x96, 0xa8, 0xe0, 0x77, 0x28, 0x6e, 0x5b, 0xe4, 0x67, 0x61, 0x4c, 0xf6, 0x61, 0x55, 0x1c, 0x5c, 0x8e, 0xe9, 0x47, 0x59, 0xa2, 0x82, 0x5f, 0xa5,
0x1d, 0xa8, 0xc9, 0xd7, 0xd5, 0x64, 0xad, 0xf8, 0x95, 0x78, 0x77, 0x3d, 0x87, 0x0b, 0xb5, 0xf6, 0xb8, 0x6d, 0x91, 0x77, 0xa0, 0x26, 0xdf, 0x5a, 0x93, 0xb5, 0xe2, 0x37, 0xe3, 0xdd, 0xf5, 0x1c,
0x15, 0x80, 0xf4, 0x8d, 0xaf, 0x12, 0xe0, 0xdc, 0x9b, 0x61, 0xb5, 0x3b, 0xf9, 0x07, 0xc1, 0xf6, 0x2e, 0xd4, 0xda, 0x97, 0x01, 0xd2, 0x17, 0xbf, 0x4a, 0x80, 0x73, 0x2f, 0x88, 0xd5, 0xee, 0xe4,
0x1a, 0x4e, 0xb0, 0x4d, 0x50, 0x80, 0x03, 0x7a, 0x2e, 0x1f, 0xac, 0x7c, 0x1d, 0x1a, 0xda, 0x33, 0x9f, 0x07, 0xdb, 0x6b, 0x38, 0xc1, 0x36, 0x41, 0x01, 0x0e, 0xe8, 0xb9, 0x7c, 0xbe, 0xf2, 0x35,
0x5f, 0xb5, 0x7c, 0xf9, 0x27, 0xc2, 0x6a, 0xf9, 0x0a, 0x5e, 0x05, 0xdb, 0x5d, 0x6c, 0x7d, 0xc5, 0x68, 0x68, 0x8f, 0x7e, 0xd5, 0xf2, 0xe5, 0x1f, 0x0c, 0xab, 0xe5, 0x2b, 0x78, 0x23, 0x6c, 0x77,
0x5e, 0x64, 0xad, 0xc7, 0xde, 0x30, 0x18, 0x71, 0x02, 0xb6, 0x41, 0xa7, 0xb0, 0x60, 0xbc, 0xe5, 0xb1, 0xf5, 0x15, 0x7b, 0x91, 0xb5, 0x1e, 0x7b, 0xc3, 0x60, 0xc4, 0x09, 0xd8, 0x06, 0x9d, 0xc2,
0x55, 0xd2, 0x53, 0xf4, 0x52, 0x58, 0x49, 0x4f, 0xe1, 0xf3, 0x5f, 0xc9, 0xce, 0xf6, 0x12, 0xeb, 0x82, 0xf1, 0xb2, 0x57, 0x49, 0x4f, 0xd1, 0xbb, 0x61, 0x25, 0x3d, 0x85, 0x8f, 0x81, 0x25, 0x3b,
0xe7, 0x0c, 0x49, 0xb4, 0x9e, 0xde, 0x83, 0x86, 0xf6, 0x2e, 0x57, 0xcd, 0x25, 0xff, 0x04, 0x58, 0xdb, 0x4b, 0xac, 0x9f, 0x33, 0x24, 0xd1, 0x7a, 0x7a, 0x0f, 0x1a, 0xda, 0x2b, 0x5d, 0x35, 0x97,
0xcd, 0xa5, 0xe8, 0x19, 0xef, 0x0a, 0xf6, 0xd1, 0xb2, 0x91, 0x15, 0xf0, 0xbd, 0x07, 0x6b, 0xfb, 0xfc, 0x83, 0x60, 0x35, 0x97, 0xa2, 0x47, 0xbd, 0x2b, 0xd8, 0x47, 0xcb, 0x46, 0x56, 0xc0, 0xd7,
0x7d, 0x68, 0x99, 0x2f, 0x75, 0x95, 0x5c, 0x16, 0xbe, 0xf9, 0x55, 0x72, 0x39, 0xe3, 0x79, 0xaf, 0x1f, 0xac, 0xed, 0xf7, 0xa1, 0x65, 0xbe, 0xdb, 0x55, 0x72, 0x59, 0xf8, 0x02, 0x58, 0xc9, 0xe5,
0x60, 0xe9, 0x8d, 0x65, 0xd5, 0xc9, 0xe6, 0x07, 0xe2, 0xe2, 0xf6, 0x43, 0xf2, 0x25, 0xa6, 0x7c, 0x8c, 0xc7, 0xbe, 0x82, 0xa5, 0x37, 0x96, 0x55, 0x27, 0x9b, 0x1f, 0x88, 0x6b, 0xdc, 0x0f, 0xc9,
0xc4, 0x03, 0x1c, 0xb2, 0xae, 0x71, 0xad, 0xfe, 0x4c, 0x47, 0xc9, 0x4b, 0xee, 0xad, 0x8e, 0xc9, 0x17, 0x99, 0xf2, 0x11, 0xcf, 0x71, 0xc8, 0xba, 0xc6, 0xb5, 0xfa, 0xa3, 0x1d, 0x25, 0x2f, 0xb9,
0xcc, 0xfc, 0xc5, 0x0a, 0x5a, 0x14, 0x7c, 0x88, 0xa3, 0x59, 0x14, 0xfd, 0xad, 0x8e, 0x66, 0x51, 0x97, 0x3b, 0x26, 0x33, 0xf3, 0xf7, 0x2b, 0x68, 0x51, 0xf0, 0x59, 0x8e, 0x66, 0x51, 0xf4, 0x97,
0x8c, 0xf7, 0x3a, 0x59, 0x8b, 0x92, 0x78, 0xac, 0x8d, 0x00, 0x16, 0x33, 0x29, 0x69, 0x4a, 0x2a, 0x3b, 0x9a, 0x45, 0x31, 0x5e, 0xef, 0x64, 0x2d, 0x4a, 0xe2, 0xb1, 0x36, 0x02, 0x58, 0xcc, 0x24,
0x8a, 0x73, 0x78, 0xbb, 0x57, 0x9f, 0x9f, 0xc9, 0x66, 0x2a, 0x2a, 0xa9, 0xa0, 0x36, 0x65, 0xc6, 0xa8, 0x29, 0xa9, 0x28, 0xce, 0xe8, 0xed, 0x5e, 0x7d, 0x7e, 0x5e, 0x9b, 0xa9, 0xa8, 0xa4, 0x82,
0xf4, 0x2f, 0x40, 0x53, 0x7f, 0x43, 0x49, 0x74, 0x51, 0xce, 0xf6, 0xf4, 0x52, 0x61, 0x9d, 0xb9, 0xda, 0x94, 0xf9, 0xd3, 0xbf, 0x0c, 0x4d, 0xfd, 0x45, 0x25, 0xd1, 0x45, 0x39, 0xdb, 0xd3, 0x4b,
0xb9, 0xa4, 0xa9, 0x77, 0x43, 0xbe, 0x0c, 0x6b, 0x4a, 0xd4, 0xf5, 0x2c, 0xa7, 0x98, 0xbc, 0x52, 0x85, 0x75, 0xe6, 0xe6, 0x92, 0xa6, 0xde, 0x0d, 0xf9, 0x12, 0xac, 0x29, 0x51, 0xd7, 0x73, 0x9e,
0x90, 0xfb, 0xa4, 0x87, 0x33, 0xba, 0x97, 0x67, 0x26, 0x47, 0xdd, 0xb6, 0x18, 0xd3, 0x98, 0x8f, 0x62, 0xf2, 0x4a, 0x41, 0x26, 0x94, 0x1e, 0xce, 0xe8, 0x5e, 0x9e, 0x99, 0x2a, 0x75, 0xdb, 0x62,
0xd3, 0x52, 0x65, 0x5e, 0xf4, 0x26, 0x2f, 0x55, 0xe6, 0x85, 0x2f, 0xda, 0x24, 0xd3, 0x90, 0x65, 0x4c, 0x63, 0x3e, 0x55, 0x4b, 0x95, 0x79, 0xd1, 0x0b, 0xbd, 0x54, 0x99, 0x17, 0xbe, 0x6f, 0x93,
0x63, 0x8d, 0x78, 0xec, 0x9e, 0xbc, 0x07, 0x8b, 0x5a, 0x1e, 0xe9, 0xd1, 0x34, 0xe8, 0x2b, 0x01, 0x4c, 0x43, 0x96, 0x8d, 0x35, 0xe2, 0x91, 0x7c, 0xf2, 0x1e, 0x2c, 0x6a, 0x59, 0xa5, 0x47, 0xd3,
0xc8, 0x3f, 0x38, 0xe8, 0x16, 0xf9, 0xdb, 0xf6, 0x3a, 0xb6, 0xbf, 0x64, 0x1b, 0x8b, 0xc3, 0x98, 0xa0, 0xaf, 0x04, 0x20, 0xff, 0xfc, 0xa0, 0x5b, 0xe4, 0x6f, 0xdb, 0xeb, 0xd8, 0xfe, 0x92, 0x6d,
0x7f, 0x1b, 0x1a, 0x7a, 0x8e, 0xea, 0x73, 0xda, 0x5d, 0xd7, 0xaa, 0xf4, 0x7c, 0xf9, 0xdb, 0x16, 0x2c, 0x0e, 0x63, 0xfe, 0x6d, 0x68, 0xe8, 0x19, 0xab, 0xcf, 0x69, 0x77, 0x5d, 0xab, 0xd2, 0xb3,
0xf9, 0x03, 0x0b, 0x9a, 0x46, 0xc6, 0xa7, 0x71, 0x43, 0x95, 0x69, 0xa7, 0xa3, 0xd7, 0xe9, 0x0d, 0xe7, 0x6f, 0x5b, 0xe4, 0x8f, 0x2c, 0x68, 0x1a, 0xf9, 0x9f, 0xc6, 0x7d, 0x55, 0xa6, 0x9d, 0x8e,
0xd9, 0x0e, 0x0e, 0x72, 0x7f, 0xe3, 0x0b, 0xc6, 0x22, 0x7c, 0x60, 0x9c, 0xdb, 0x6e, 0x65, 0x7f, 0x5e, 0xa7, 0x37, 0x64, 0x3b, 0x38, 0xc8, 0xfd, 0x8d, 0xcf, 0x1b, 0x8b, 0xf0, 0x81, 0x71, 0x6e,
0xa2, 0xe4, 0xc3, 0x2c, 0x81, 0xfe, 0x28, 0xe3, 0xc3, 0xdb, 0x16, 0xf9, 0x9e, 0x05, 0x2d, 0x33, 0xbb, 0x95, 0xfd, 0xc1, 0x92, 0x0f, 0xb3, 0x04, 0xfa, 0x13, 0x8d, 0x0f, 0x6f, 0x5b, 0xe4, 0x7b,
0xda, 0xa0, 0xb6, 0xaa, 0x30, 0xae, 0xa1, 0xb6, 0x6a, 0x46, 0x88, 0xe2, 0x3d, 0x1c, 0xe5, 0xa3, 0x16, 0xb4, 0xcc, 0x68, 0x83, 0xda, 0xaa, 0xc2, 0xb8, 0x86, 0xda, 0xaa, 0x19, 0x21, 0x8a, 0xf7,
0x0d, 0xc7, 0x18, 0xa5, 0x78, 0xb6, 0xf8, 0x93, 0x8d, 0x96, 0xbc, 0xcd, 0x7f, 0x7c, 0x48, 0x86, 0x70, 0x94, 0x8f, 0x36, 0x1c, 0x63, 0x94, 0xe2, 0x11, 0xe3, 0x4f, 0x36, 0x5a, 0xf2, 0x36, 0xff,
0xc0, 0x88, 0x66, 0x35, 0xb2, 0xdb, 0xab, 0xff, 0xf2, 0xce, 0x4d, 0xeb, 0xb6, 0x45, 0xbe, 0xce, 0x29, 0x22, 0x19, 0x02, 0x23, 0x9a, 0xd5, 0xc8, 0x6e, 0xaf, 0xfe, 0x3b, 0x3c, 0x37, 0xad, 0xdb,
0x7f, 0xc9, 0x44, 0x7c, 0x8b, 0x5c, 0xf2, 0xa2, 0xdf, 0xdb, 0xd7, 0x71, 0x4e, 0x57, 0xed, 0xcb, 0x16, 0xf9, 0x1a, 0xff, 0x5d, 0x13, 0xf1, 0x2d, 0x72, 0xc9, 0x8b, 0x7e, 0x6f, 0x5f, 0xc7, 0x39,
0xc6, 0x9c, 0xb2, 0xf6, 0x78, 0x8b, 0x8f, 0x4e, 0xfc, 0x68, 0x4e, 0x6a, 0x50, 0x72, 0x3f, 0xa4, 0x5d, 0xb5, 0x2f, 0x1b, 0x73, 0xca, 0xda, 0xe3, 0x2d, 0x3e, 0x3a, 0xf1, 0x13, 0x3a, 0xa9, 0x41,
0x33, 0x7b, 0x90, 0x23, 0x3e, 0x48, 0x41, 0x6e, 0xb0, 0xf2, 0x0b, 0x36, 0x63, 0x6f, 0xe0, 0x58, 0xc9, 0xfd, 0xac, 0xce, 0xec, 0x41, 0x8e, 0xf8, 0x20, 0x05, 0xb9, 0xc1, 0xca, 0x2f, 0xd8, 0x8c,
0xaf, 0xdb, 0xaf, 0xcc, 0x1c, 0xeb, 0x26, 0xc6, 0x0c, 0xd8, 0x88, 0x0f, 0x01, 0xd2, 0x70, 0x35, 0xbd, 0x81, 0x63, 0xbd, 0x6e, 0xbf, 0x32, 0x73, 0xac, 0x9b, 0x18, 0x33, 0x60, 0x23, 0x3e, 0x04,
0xc9, 0x84, 0x4b, 0x95, 0x80, 0xe7, 0x23, 0xda, 0xa6, 0xbc, 0xc8, 0xa8, 0x2a, 0x6b, 0xf1, 0xab, 0x48, 0xc3, 0xd5, 0x24, 0x13, 0x2e, 0x55, 0x02, 0x9e, 0x8f, 0x68, 0x9b, 0xf2, 0x22, 0xa3, 0xaa,
0x5c, 0x5d, 0x3d, 0x90, 0x81, 0x56, 0xdd, 0x29, 0x31, 0xe3, 0xca, 0x86, 0x53, 0x92, 0x6d, 0xdf, 0xac, 0xc5, 0xaf, 0x70, 0x75, 0xf5, 0x40, 0x06, 0x5a, 0x75, 0xa7, 0xc4, 0x8c, 0x2b, 0x1b, 0x4e,
0x50, 0x56, 0x2a, 0x6a, 0xfb, 0x18, 0x16, 0xf6, 0xc3, 0xf0, 0xe9, 0x64, 0xac, 0xae, 0x97, 0xcc, 0x49, 0xb6, 0x7d, 0x43, 0x59, 0xa9, 0xa8, 0xed, 0x63, 0x58, 0xd8, 0x0f, 0xc3, 0xa7, 0x93, 0xb1,
0x70, 0xde, 0x9e, 0x1b, 0x9f, 0x76, 0x33, 0xb3, 0xb0, 0xaf, 0x61, 0x53, 0x5d, 0xd2, 0xd1, 0x9a, 0xba, 0x6c, 0x32, 0xc3, 0x79, 0x7b, 0x6e, 0x7c, 0xda, 0xcd, 0xcc, 0xc2, 0xbe, 0x86, 0x4d, 0x75,
0xda, 0xfc, 0x20, 0x0d, 0x87, 0x7f, 0x48, 0x5c, 0x58, 0x52, 0x3a, 0x50, 0x0d, 0xbc, 0x6b, 0x36, 0x49, 0x47, 0x6b, 0x6a, 0xf3, 0x83, 0x34, 0x1c, 0xfe, 0x21, 0x71, 0x61, 0x49, 0xe9, 0x40, 0x35,
0x63, 0x68, 0xbe, 0x6c, 0x17, 0x86, 0x67, 0x2b, 0x47, 0xbb, 0x19, 0xcb, 0x36, 0x6f, 0x5b, 0xe4, 0xf0, 0xae, 0xd9, 0x8c, 0xa1, 0xf9, 0xb2, 0x5d, 0x18, 0x9e, 0xad, 0x1c, 0xed, 0x66, 0x2c, 0xdb,
0x10, 0x9a, 0x3b, 0xb4, 0x1f, 0x0e, 0xa8, 0x88, 0x89, 0x2d, 0xa7, 0x03, 0x57, 0xc1, 0xb4, 0xee, 0xbc, 0x6d, 0x91, 0x43, 0x68, 0xee, 0xd0, 0x7e, 0x38, 0xa0, 0x22, 0x26, 0xb6, 0x9c, 0x0e, 0x5c,
0x82, 0x01, 0x9a, 0x76, 0x61, 0xec, 0x4e, 0x23, 0xfa, 0x8d, 0xcd, 0x0f, 0x44, 0xb4, 0xed, 0x43, 0x05, 0xd3, 0xba, 0x0b, 0x06, 0x68, 0xda, 0x85, 0xb1, 0x3b, 0x8d, 0xe8, 0xd7, 0x37, 0x3f, 0x10,
0x69, 0x17, 0x64, 0x38, 0xd2, 0xb0, 0x0b, 0x99, 0xf8, 0xa5, 0x61, 0x17, 0x72, 0xf1, 0x4b, 0x63, 0xd1, 0xb6, 0x0f, 0xa5, 0x5d, 0x90, 0xe1, 0x48, 0xc3, 0x2e, 0x64, 0xe2, 0x97, 0x86, 0x5d, 0xc8,
0xa9, 0x65, 0x38, 0x94, 0xf8, 0xb0, 0x94, 0x0b, 0x79, 0x2a, 0x93, 0x30, 0x2b, 0x50, 0xda, 0xbd, 0xc5, 0x2f, 0x8d, 0xa5, 0x96, 0xe1, 0x50, 0xe2, 0xc3, 0x52, 0x2e, 0xe4, 0xa9, 0x4c, 0xc2, 0xac,
0x36, 0x9b, 0xc0, 0xec, 0x6d, 0xc3, 0xec, 0xed, 0x08, 0x16, 0x76, 0x28, 0x5f, 0x2c, 0x9e, 0xc3, 0x40, 0x69, 0xf7, 0xda, 0x6c, 0x02, 0xb3, 0xb7, 0x0d, 0xb3, 0xb7, 0x23, 0x58, 0xd8, 0xa1, 0x7c,
0x92, 0x49, 0x1b, 0xd6, 0x33, 0x64, 0xb2, 0x0a, 0x1c, 0xeb, 0x4c, 0xc3, 0x8f, 0x09, 0x24, 0xe4, 0xb1, 0x78, 0x46, 0x4b, 0x26, 0x89, 0x58, 0xcf, 0x97, 0xc9, 0x2a, 0x70, 0xac, 0x33, 0x0d, 0x3f,
0xab, 0xd0, 0xb8, 0x4f, 0x13, 0x99, 0xb4, 0xa2, 0x5c, 0xcf, 0x4c, 0x16, 0x4b, 0xb7, 0x20, 0xe7, 0xa6, 0x93, 0x90, 0xaf, 0x40, 0xe3, 0x3e, 0x4d, 0x64, 0x0a, 0x8b, 0x72, 0x3d, 0x33, 0x39, 0x2d,
0xc5, 0xe4, 0x19, 0x6c, 0x6d, 0x93, 0x0e, 0x86, 0x94, 0x2b, 0xa7, 0x9e, 0x37, 0xf8, 0x90, 0xfc, 0xdd, 0x82, 0x0c, 0x18, 0x93, 0x67, 0xb0, 0xb5, 0x4d, 0x3a, 0x18, 0x52, 0xae, 0x9c, 0x7a, 0xde,
0x3c, 0x36, 0xae, 0xb2, 0xe6, 0xd6, 0xb4, 0x5c, 0x07, 0xbd, 0xf1, 0xc5, 0x0c, 0x5e, 0xd4, 0x72, 0xe0, 0x43, 0xf2, 0x4b, 0xd8, 0xb8, 0xca, 0xa1, 0x5b, 0xd3, 0x32, 0x1f, 0xf4, 0xc6, 0x17, 0x33,
0x10, 0x0e, 0xa8, 0xe6, 0x02, 0x05, 0xd0, 0xd0, 0x92, 0x3d, 0x95, 0x00, 0xe5, 0x13, 0x57, 0x95, 0x78, 0x51, 0xcb, 0x41, 0x38, 0xa0, 0x9a, 0x0b, 0x14, 0x40, 0x43, 0x4b, 0xfd, 0x54, 0x02, 0x94,
0x00, 0x15, 0xe4, 0x86, 0xda, 0x37, 0xb1, 0x1f, 0x9b, 0x5c, 0x4b, 0xfb, 0xe1, 0xf9, 0xa0, 0x69, 0x4f, 0x63, 0x55, 0x02, 0x54, 0x90, 0x29, 0x6a, 0xdf, 0xc4, 0x7e, 0x6c, 0x72, 0x2d, 0xed, 0x87,
0x4f, 0x9b, 0x1f, 0xb8, 0xa3, 0xe4, 0x43, 0xf2, 0x04, 0xdf, 0x2e, 0xeb, 0x89, 0x39, 0xa9, 0x2f, 0x67, 0x87, 0xa6, 0x3d, 0x6d, 0x7e, 0xe0, 0x8e, 0x92, 0x0f, 0xc9, 0x13, 0x7c, 0xc9, 0xac, 0xa7,
0x9d, 0xcd, 0xe1, 0x51, 0x8b, 0xa5, 0x55, 0x99, 0xfe, 0x35, 0xef, 0x0a, 0x3d, 0xa5, 0xcf, 0x00, 0xe9, 0xa4, 0xbe, 0x74, 0x36, 0xa3, 0x47, 0x2d, 0x96, 0x56, 0x65, 0xfa, 0xd7, 0xbc, 0x2b, 0xf4,
0x1c, 0x25, 0xe1, 0x78, 0xc7, 0xa5, 0xa3, 0x30, 0x48, 0x75, 0x6d, 0x9a, 0x7c, 0x92, 0xea, 0x2f, 0x94, 0x3e, 0x0d, 0x70, 0x94, 0x84, 0xe3, 0x1d, 0x97, 0x8e, 0xc2, 0x20, 0xd5, 0xb5, 0x69, 0x2a,
0x2d, 0x03, 0x85, 0x3c, 0xd1, 0x0e, 0x1f, 0x46, 0x5e, 0x93, 0x64, 0xae, 0x99, 0xf9, 0x29, 0x6a, 0x4a, 0xaa, 0xbf, 0xb4, 0x7c, 0x14, 0xf2, 0x44, 0x3b, 0x7c, 0x18, 0x59, 0x4e, 0x92, 0xb9, 0x66,
0x41, 0x0a, 0x72, 0x54, 0x6e, 0x5b, 0x64, 0x0b, 0x20, 0x8d, 0x79, 0xab, 0xa3, 0x44, 0x2e, 0x9c, 0x66, 0xab, 0xa8, 0x05, 0x29, 0xc8, 0x58, 0xb9, 0x6d, 0x91, 0x2d, 0x80, 0x34, 0xe6, 0xad, 0x8e,
0xae, 0xd4, 0x5e, 0x41, 0x80, 0xfc, 0x10, 0xea, 0x69, 0x10, 0x75, 0x3d, 0x4d, 0xd8, 0x35, 0x42, 0x12, 0xb9, 0x70, 0xba, 0x52, 0x7b, 0x05, 0x01, 0xf2, 0x43, 0xa8, 0xa7, 0x41, 0xd4, 0xf5, 0x34,
0xae, 0xca, 0x82, 0xe7, 0x42, 0x9b, 0x76, 0x1b, 0x97, 0x0a, 0x48, 0x8d, 0x2d, 0x15, 0xc6, 0x2b, 0x7d, 0xd7, 0x08, 0xb9, 0x2a, 0x0b, 0x9e, 0x0b, 0x6d, 0xda, 0x6d, 0x5c, 0x2a, 0x20, 0x35, 0xb6,
0x3d, 0x58, 0xe6, 0x03, 0x54, 0xee, 0x08, 0xa6, 0x53, 0xc8, 0x99, 0x14, 0x84, 0x17, 0x95, 0x34, 0x54, 0x18, 0xaf, 0xf4, 0x60, 0x99, 0x0f, 0x50, 0xb9, 0x23, 0x98, 0x5c, 0x21, 0x67, 0x52, 0x10,
0x17, 0x46, 0xe7, 0x8c, 0x68, 0x05, 0xe3, 0x56, 0x9e, 0xca, 0xc1, 0x54, 0xf3, 0x08, 0x96, 0x72, 0x5e, 0x54, 0xd2, 0x5c, 0x18, 0x9d, 0x33, 0xa2, 0x15, 0x8c, 0x5b, 0x79, 0x62, 0x07, 0x53, 0xcd,
0xe1, 0x23, 0x25, 0xd2, 0xb3, 0x22, 0x7a, 0x4a, 0xa4, 0x67, 0x46, 0x9e, 0xec, 0x55, 0xec, 0x72, 0x23, 0x58, 0xca, 0x85, 0x8f, 0x94, 0x48, 0xcf, 0x8a, 0xe8, 0x29, 0x91, 0x9e, 0x19, 0x79, 0xb2,
0xd1, 0x06, 0x3c, 0x01, 0x9d, 0x7b, 0x49, 0xff, 0xf4, 0x6d, 0x6b, 0xe3, 0xee, 0x8d, 0xf7, 0x3e, 0x57, 0xb1, 0xcb, 0x45, 0x1b, 0xf0, 0x04, 0x74, 0xee, 0x25, 0xfd, 0xd3, 0xb7, 0xad, 0x8d, 0xbb,
0x3e, 0xf4, 0x92, 0xd3, 0xc9, 0xf1, 0xad, 0x7e, 0x38, 0xda, 0xf4, 0x65, 0x48, 0x41, 0x24, 0x45, 0x37, 0xde, 0xfb, 0x99, 0xa1, 0x97, 0x9c, 0x4e, 0x8e, 0x6f, 0xf5, 0xc3, 0xd1, 0xa6, 0x2f, 0x43,
0x6d, 0xfa, 0xc1, 0x60, 0x13, 0x5b, 0x3e, 0x9e, 0xc3, 0x5f, 0x70, 0xfd, 0xd4, 0xff, 0x04, 0x00, 0x0a, 0x22, 0x45, 0x6a, 0xd3, 0x0f, 0x06, 0x9b, 0xd8, 0xf2, 0xf1, 0x1c, 0xfe, 0x9e, 0xeb, 0x27,
0x00, 0xff, 0xff, 0x9b, 0xe6, 0x7a, 0xde, 0xf3, 0x55, 0x00, 0x00, 0xff, 0x37, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x06, 0x09, 0xb9, 0x01, 0x56, 0x00, 0x00,
} }

@ -1850,6 +1850,7 @@ message Invoice {
enum InvoiceState { enum InvoiceState {
OPEN = 0; OPEN = 0;
SETTLED = 1; SETTLED = 1;
CANCELED = 2;
} }
/** /**

@ -1141,7 +1141,8 @@
"type": "string", "type": "string",
"enum": [ "enum": [
"OPEN", "OPEN",
"SETTLED" "SETTLED",
"CANCELED"
], ],
"default": "OPEN" "default": "OPEN"
}, },