lnrpc: recompile protos

This commit is contained in:
Olaoluwa Osuntokun 2016-12-26 23:45:01 -06:00
parent d299be9785
commit f9f840feb6
No known key found for this signature in database
GPG Key ID: 9CC5B105D03521A2
3 changed files with 1518 additions and 251 deletions

@ -48,9 +48,21 @@ It has these top-level messages:
WalletBalanceResponse WalletBalanceResponse
ChannelBalanceRequest ChannelBalanceRequest
ChannelBalanceResponse ChannelBalanceResponse
RoutingTableLink RouteRequest
ShowRoutingTableRequest Hop
ShowRoutingTableResponse Route
NodeInfoRequest
NodeInfo
LightningNode
RoutingPolicy
ChannelEdge
ChannelGraphRequest
ChannelGraph
ChanInfoRequest
NetworkInfoRequest
NetworkInfo
SetAliasRequest
SetAliasResponse
Invoice Invoice
AddInvoiceResponse AddInvoiceResponse
PaymentHash PaymentHash
@ -539,14 +551,15 @@ func (m *HTLC) GetRevocationDelay() uint32 {
type ActiveChannel struct { type ActiveChannel struct {
RemotePubkey string `protobuf:"bytes,1,opt,name=remote_pubkey" json:"remote_pubkey,omitempty"` RemotePubkey string `protobuf:"bytes,1,opt,name=remote_pubkey" json:"remote_pubkey,omitempty"`
ChannelPoint string `protobuf:"bytes,2,opt,name=channel_point" json:"channel_point,omitempty"` ChannelPoint string `protobuf:"bytes,2,opt,name=channel_point" json:"channel_point,omitempty"`
Capacity int64 `protobuf:"varint,3,opt,name=capacity" json:"capacity,omitempty"` ChanId uint64 `protobuf:"varint,3,opt,name=chan_id" json:"chan_id,omitempty"`
LocalBalance int64 `protobuf:"varint,4,opt,name=local_balance" json:"local_balance,omitempty"` Capacity int64 `protobuf:"varint,4,opt,name=capacity" json:"capacity,omitempty"`
RemoteBalance int64 `protobuf:"varint,5,opt,name=remote_balance" json:"remote_balance,omitempty"` LocalBalance int64 `protobuf:"varint,5,opt,name=local_balance" json:"local_balance,omitempty"`
UnsettledBalance int64 `protobuf:"varint,6,opt,name=unsettled_balance" json:"unsettled_balance,omitempty"` RemoteBalance int64 `protobuf:"varint,6,opt,name=remote_balance" json:"remote_balance,omitempty"`
TotalSatoshisSent int64 `protobuf:"varint,7,opt,name=total_satoshis_sent" json:"total_satoshis_sent,omitempty"` UnsettledBalance int64 `protobuf:"varint,7,opt,name=unsettled_balance" json:"unsettled_balance,omitempty"`
TotalSatoshisReceived int64 `protobuf:"varint,8,opt,name=total_satoshis_received" json:"total_satoshis_received,omitempty"` TotalSatoshisSent int64 `protobuf:"varint,8,opt,name=total_satoshis_sent" json:"total_satoshis_sent,omitempty"`
NumUpdates uint64 `protobuf:"varint,9,opt,name=num_updates" json:"num_updates,omitempty"` TotalSatoshisReceived int64 `protobuf:"varint,9,opt,name=total_satoshis_received" json:"total_satoshis_received,omitempty"`
PendingHtlcs []*HTLC `protobuf:"bytes,10,rep,name=pending_htlcs" json:"pending_htlcs,omitempty"` NumUpdates uint64 `protobuf:"varint,10,opt,name=num_updates" json:"num_updates,omitempty"`
PendingHtlcs []*HTLC `protobuf:"bytes,11,rep,name=pending_htlcs" json:"pending_htlcs,omitempty"`
} }
func (m *ActiveChannel) Reset() { *m = ActiveChannel{} } func (m *ActiveChannel) Reset() { *m = ActiveChannel{} }
@ -568,6 +581,13 @@ func (m *ActiveChannel) GetChannelPoint() string {
return "" return ""
} }
func (m *ActiveChannel) GetChanId() uint64 {
if m != nil {
return m.ChanId
}
return 0
}
func (m *ActiveChannel) GetCapacity() int64 { func (m *ActiveChannel) GetCapacity() int64 {
if m != nil { if m != nil {
return m.Capacity return m.Capacity
@ -754,12 +774,14 @@ func (*GetInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []
type GetInfoResponse struct { type GetInfoResponse struct {
IdentityPubkey string `protobuf:"bytes,1,opt,name=identity_pubkey" json:"identity_pubkey,omitempty"` IdentityPubkey string `protobuf:"bytes,1,opt,name=identity_pubkey" json:"identity_pubkey,omitempty"`
NumPendingChannels uint32 `protobuf:"varint,2,opt,name=num_pending_channels" json:"num_pending_channels,omitempty"` Alias string `protobuf:"bytes,2,opt,name=alias" json:"alias,omitempty"`
NumActiveChannels uint32 `protobuf:"varint,3,opt,name=num_active_channels" json:"num_active_channels,omitempty"` NumPendingChannels uint32 `protobuf:"varint,3,opt,name=num_pending_channels" json:"num_pending_channels,omitempty"`
NumPeers uint32 `protobuf:"varint,4,opt,name=num_peers" json:"num_peers,omitempty"` NumActiveChannels uint32 `protobuf:"varint,4,opt,name=num_active_channels" json:"num_active_channels,omitempty"`
BlockHeight uint32 `protobuf:"varint,5,opt,name=block_height" json:"block_height,omitempty"` NumPeers uint32 `protobuf:"varint,5,opt,name=num_peers" json:"num_peers,omitempty"`
SyncedToChain bool `protobuf:"varint,6,opt,name=synced_to_chain" json:"synced_to_chain,omitempty"` BlockHeight uint32 `protobuf:"varint,6,opt,name=block_height" json:"block_height,omitempty"`
Testnet bool `protobuf:"varint,7,opt,name=testnet" json:"testnet,omitempty"` BlockHash string `protobuf:"bytes,8,opt,name=block_hash" json:"block_hash,omitempty"`
SyncedToChain bool `protobuf:"varint,9,opt,name=synced_to_chain" json:"synced_to_chain,omitempty"`
Testnet bool `protobuf:"varint,10,opt,name=testnet" json:"testnet,omitempty"`
} }
func (m *GetInfoResponse) Reset() { *m = GetInfoResponse{} } func (m *GetInfoResponse) Reset() { *m = GetInfoResponse{} }
@ -774,6 +796,13 @@ func (m *GetInfoResponse) GetIdentityPubkey() string {
return "" return ""
} }
func (m *GetInfoResponse) GetAlias() string {
if m != nil {
return m.Alias
}
return ""
}
func (m *GetInfoResponse) GetNumPendingChannels() uint32 { func (m *GetInfoResponse) GetNumPendingChannels() uint32 {
if m != nil { if m != nil {
return m.NumPendingChannels return m.NumPendingChannels
@ -802,6 +831,13 @@ func (m *GetInfoResponse) GetBlockHeight() uint32 {
return 0 return 0
} }
func (m *GetInfoResponse) GetBlockHash() string {
if m != nil {
return m.BlockHash
}
return ""
}
func (m *GetInfoResponse) GetSyncedToChain() bool { func (m *GetInfoResponse) GetSyncedToChain() bool {
if m != nil { if m != nil {
return m.SyncedToChain return m.SyncedToChain
@ -1466,78 +1502,470 @@ func (m *ChannelBalanceResponse) GetBalance() int64 {
return 0 return 0
} }
type RoutingTableLink struct { type RouteRequest struct {
Id1 string `protobuf:"bytes,1,opt,name=id1" json:"id1,omitempty"` PubKey string `protobuf:"bytes,1,opt,name=pub_key" json:"pub_key,omitempty"`
Id2 string `protobuf:"bytes,2,opt,name=id2" json:"id2,omitempty"` Amt int64 `protobuf:"varint,2,opt,name=amt" json:"amt,omitempty"`
Outpoint string `protobuf:"bytes,3,opt,name=outpoint" json:"outpoint,omitempty"`
Capacity int64 `protobuf:"varint,4,opt,name=capacity" json:"capacity,omitempty"`
Weight float64 `protobuf:"fixed64,5,opt,name=weight" json:"weight,omitempty"`
} }
func (m *RoutingTableLink) Reset() { *m = RoutingTableLink{} } func (m *RouteRequest) Reset() { *m = RouteRequest{} }
func (m *RoutingTableLink) String() string { return proto.CompactTextString(m) } func (m *RouteRequest) String() string { return proto.CompactTextString(m) }
func (*RoutingTableLink) ProtoMessage() {} func (*RouteRequest) ProtoMessage() {}
func (*RoutingTableLink) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} } func (*RouteRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} }
func (m *RoutingTableLink) GetId1() string { func (m *RouteRequest) GetPubKey() string {
if m != nil { if m != nil {
return m.Id1 return m.PubKey
} }
return "" return ""
} }
func (m *RoutingTableLink) GetId2() string { func (m *RouteRequest) GetAmt() int64 {
if m != nil { if m != nil {
return m.Id2 return m.Amt
}
return 0
}
type Hop struct {
ChanId uint64 `protobuf:"varint,1,opt,name=chan_id" json:"chan_id,omitempty"`
ChanCapacity int64 `protobuf:"varint,2,opt,name=chan_capacity" json:"chan_capacity,omitempty"`
AmtToForward int64 `protobuf:"varint,3,opt,name=amt_to_forward" json:"amt_to_forward,omitempty"`
Fee int64 `protobuf:"varint,4,opt,name=fee" json:"fee,omitempty"`
}
func (m *Hop) Reset() { *m = Hop{} }
func (m *Hop) String() string { return proto.CompactTextString(m) }
func (*Hop) ProtoMessage() {}
func (*Hop) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} }
func (m *Hop) GetChanId() uint64 {
if m != nil {
return m.ChanId
}
return 0
}
func (m *Hop) GetChanCapacity() int64 {
if m != nil {
return m.ChanCapacity
}
return 0
}
func (m *Hop) GetAmtToForward() int64 {
if m != nil {
return m.AmtToForward
}
return 0
}
func (m *Hop) GetFee() int64 {
if m != nil {
return m.Fee
}
return 0
}
type Route struct {
TotalTimeLock uint32 `protobuf:"varint,1,opt,name=total_time_lock" json:"total_time_lock,omitempty"`
TotalFees int64 `protobuf:"varint,2,opt,name=total_fees" json:"total_fees,omitempty"`
TotalAmt int64 `protobuf:"varint,3,opt,name=total_amt" json:"total_amt,omitempty"`
Hops []*Hop `protobuf:"bytes,4,rep,name=hops" json:"hops,omitempty"`
}
func (m *Route) Reset() { *m = Route{} }
func (m *Route) String() string { return proto.CompactTextString(m) }
func (*Route) ProtoMessage() {}
func (*Route) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} }
func (m *Route) GetTotalTimeLock() uint32 {
if m != nil {
return m.TotalTimeLock
}
return 0
}
func (m *Route) GetTotalFees() int64 {
if m != nil {
return m.TotalFees
}
return 0
}
func (m *Route) GetTotalAmt() int64 {
if m != nil {
return m.TotalAmt
}
return 0
}
func (m *Route) GetHops() []*Hop {
if m != nil {
return m.Hops
}
return nil
}
type NodeInfoRequest struct {
PubKey string `protobuf:"bytes,1,opt,name=pub_key" json:"pub_key,omitempty"`
}
func (m *NodeInfoRequest) Reset() { *m = NodeInfoRequest{} }
func (m *NodeInfoRequest) String() string { return proto.CompactTextString(m) }
func (*NodeInfoRequest) ProtoMessage() {}
func (*NodeInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} }
func (m *NodeInfoRequest) GetPubKey() string {
if m != nil {
return m.PubKey
} }
return "" return ""
} }
func (m *RoutingTableLink) GetOutpoint() string { type NodeInfo struct {
Node *LightningNode `protobuf:"bytes,1,opt,name=node" json:"node,omitempty"`
NumChannels uint32 `protobuf:"varint,2,opt,name=num_channels" json:"num_channels,omitempty"`
TotalCapacity int64 `protobuf:"varint,3,opt,name=total_capacity" json:"total_capacity,omitempty"`
}
func (m *NodeInfo) Reset() { *m = NodeInfo{} }
func (m *NodeInfo) String() string { return proto.CompactTextString(m) }
func (*NodeInfo) ProtoMessage() {}
func (*NodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{43} }
func (m *NodeInfo) GetNode() *LightningNode {
if m != nil { if m != nil {
return m.Outpoint return m.Node
}
return nil
}
func (m *NodeInfo) GetNumChannels() uint32 {
if m != nil {
return m.NumChannels
}
return 0
}
func (m *NodeInfo) GetTotalCapacity() int64 {
if m != nil {
return m.TotalCapacity
}
return 0
}
type LightningNode struct {
LastUpdate uint32 `protobuf:"varint,1,opt,name=last_update" json:"last_update,omitempty"`
PubKey string `protobuf:"bytes,2,opt,name=pub_key" json:"pub_key,omitempty"`
Address string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
Alias string `protobuf:"bytes,4,opt,name=alias" json:"alias,omitempty"`
}
func (m *LightningNode) Reset() { *m = LightningNode{} }
func (m *LightningNode) String() string { return proto.CompactTextString(m) }
func (*LightningNode) ProtoMessage() {}
func (*LightningNode) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} }
func (m *LightningNode) GetLastUpdate() uint32 {
if m != nil {
return m.LastUpdate
}
return 0
}
func (m *LightningNode) GetPubKey() string {
if m != nil {
return m.PubKey
} }
return "" return ""
} }
func (m *RoutingTableLink) GetCapacity() int64 { func (m *LightningNode) GetAddress() string {
if m != nil {
return m.Address
}
return ""
}
func (m *LightningNode) GetAlias() string {
if m != nil {
return m.Alias
}
return ""
}
type RoutingPolicy struct {
TimeLockDelta uint32 `protobuf:"varint,1,opt,name=time_lock_delta" json:"time_lock_delta,omitempty"`
MinHtlc int64 `protobuf:"varint,2,opt,name=min_htlc" json:"min_htlc,omitempty"`
FeeBaseMsat int64 `protobuf:"varint,3,opt,name=fee_base_msat" json:"fee_base_msat,omitempty"`
FeeRateMilliMsat int64 `protobuf:"varint,4,opt,name=fee_rate_milli_msat" json:"fee_rate_milli_msat,omitempty"`
}
func (m *RoutingPolicy) Reset() { *m = RoutingPolicy{} }
func (m *RoutingPolicy) String() string { return proto.CompactTextString(m) }
func (*RoutingPolicy) ProtoMessage() {}
func (*RoutingPolicy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{45} }
func (m *RoutingPolicy) GetTimeLockDelta() uint32 {
if m != nil {
return m.TimeLockDelta
}
return 0
}
func (m *RoutingPolicy) GetMinHtlc() int64 {
if m != nil {
return m.MinHtlc
}
return 0
}
func (m *RoutingPolicy) GetFeeBaseMsat() int64 {
if m != nil {
return m.FeeBaseMsat
}
return 0
}
func (m *RoutingPolicy) GetFeeRateMilliMsat() int64 {
if m != nil {
return m.FeeRateMilliMsat
}
return 0
}
type ChannelEdge struct {
ChannelId uint64 `protobuf:"varint,1,opt,name=channel_id" json:"channel_id,omitempty"`
ChanPoint string `protobuf:"bytes,2,opt,name=chan_point" json:"chan_point,omitempty"`
LastUpdate uint32 `protobuf:"varint,3,opt,name=last_update" json:"last_update,omitempty"`
Node1Pub string `protobuf:"bytes,4,opt,name=node1_pub" json:"node1_pub,omitempty"`
Node2Pub string `protobuf:"bytes,5,opt,name=node2_pub" json:"node2_pub,omitempty"`
Capacity int64 `protobuf:"varint,6,opt,name=capacity" json:"capacity,omitempty"`
Node1Policy *RoutingPolicy `protobuf:"bytes,7,opt,name=node1_policy" json:"node1_policy,omitempty"`
Node2Policy *RoutingPolicy `protobuf:"bytes,8,opt,name=node2_policy" json:"node2_policy,omitempty"`
}
func (m *ChannelEdge) Reset() { *m = ChannelEdge{} }
func (m *ChannelEdge) String() string { return proto.CompactTextString(m) }
func (*ChannelEdge) ProtoMessage() {}
func (*ChannelEdge) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{46} }
func (m *ChannelEdge) GetChannelId() uint64 {
if m != nil {
return m.ChannelId
}
return 0
}
func (m *ChannelEdge) GetChanPoint() string {
if m != nil {
return m.ChanPoint
}
return ""
}
func (m *ChannelEdge) GetLastUpdate() uint32 {
if m != nil {
return m.LastUpdate
}
return 0
}
func (m *ChannelEdge) GetNode1Pub() string {
if m != nil {
return m.Node1Pub
}
return ""
}
func (m *ChannelEdge) GetNode2Pub() string {
if m != nil {
return m.Node2Pub
}
return ""
}
func (m *ChannelEdge) GetCapacity() int64 {
if m != nil { if m != nil {
return m.Capacity return m.Capacity
} }
return 0 return 0
} }
func (m *RoutingTableLink) GetWeight() float64 { func (m *ChannelEdge) GetNode1Policy() *RoutingPolicy {
if m != nil { if m != nil {
return m.Weight return m.Node1Policy
}
return nil
}
func (m *ChannelEdge) GetNode2Policy() *RoutingPolicy {
if m != nil {
return m.Node2Policy
}
return nil
}
type ChannelGraphRequest struct {
}
func (m *ChannelGraphRequest) Reset() { *m = ChannelGraphRequest{} }
func (m *ChannelGraphRequest) String() string { return proto.CompactTextString(m) }
func (*ChannelGraphRequest) ProtoMessage() {}
func (*ChannelGraphRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{47} }
type ChannelGraph struct {
Nodes []*LightningNode `protobuf:"bytes,1,rep,name=nodes" json:"nodes,omitempty"`
Edges []*ChannelEdge `protobuf:"bytes,2,rep,name=edges" json:"edges,omitempty"`
}
func (m *ChannelGraph) Reset() { *m = ChannelGraph{} }
func (m *ChannelGraph) String() string { return proto.CompactTextString(m) }
func (*ChannelGraph) ProtoMessage() {}
func (*ChannelGraph) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{48} }
func (m *ChannelGraph) GetNodes() []*LightningNode {
if m != nil {
return m.Nodes
}
return nil
}
func (m *ChannelGraph) GetEdges() []*ChannelEdge {
if m != nil {
return m.Edges
}
return nil
}
type ChanInfoRequest struct {
ChanId uint64 `protobuf:"varint,1,opt,name=chan_id" json:"chan_id,omitempty"`
}
func (m *ChanInfoRequest) Reset() { *m = ChanInfoRequest{} }
func (m *ChanInfoRequest) String() string { return proto.CompactTextString(m) }
func (*ChanInfoRequest) ProtoMessage() {}
func (*ChanInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{49} }
func (m *ChanInfoRequest) GetChanId() uint64 {
if m != nil {
return m.ChanId
} }
return 0 return 0
} }
type ShowRoutingTableRequest struct { type NetworkInfoRequest struct {
} }
func (m *ShowRoutingTableRequest) Reset() { *m = ShowRoutingTableRequest{} } func (m *NetworkInfoRequest) Reset() { *m = NetworkInfoRequest{} }
func (m *ShowRoutingTableRequest) String() string { return proto.CompactTextString(m) } func (m *NetworkInfoRequest) String() string { return proto.CompactTextString(m) }
func (*ShowRoutingTableRequest) ProtoMessage() {} func (*NetworkInfoRequest) ProtoMessage() {}
func (*ShowRoutingTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} } func (*NetworkInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{50} }
type ShowRoutingTableResponse struct { type NetworkInfo struct {
Channels []*RoutingTableLink `protobuf:"bytes,1,rep,name=channels" json:"channels,omitempty"` GraphDiameter uint32 `protobuf:"varint,1,opt,name=graph_diameter" json:"graph_diameter,omitempty"`
AvgOutDegree float64 `protobuf:"fixed64,2,opt,name=avg_out_degree" json:"avg_out_degree,omitempty"`
MaxOutDegree uint32 `protobuf:"varint,3,opt,name=max_out_degree" json:"max_out_degree,omitempty"`
NumNodes uint32 `protobuf:"varint,4,opt,name=num_nodes" json:"num_nodes,omitempty"`
NumChannels uint32 `protobuf:"varint,5,opt,name=num_channels" json:"num_channels,omitempty"`
TotalNetworkCapacity int64 `protobuf:"varint,6,opt,name=total_network_capacity" json:"total_network_capacity,omitempty"`
AvgChannelSize float64 `protobuf:"fixed64,7,opt,name=avg_channel_size" json:"avg_channel_size,omitempty"`
MinChannelSize int64 `protobuf:"varint,8,opt,name=min_channel_size" json:"min_channel_size,omitempty"`
MaxChannelSize int64 `protobuf:"varint,9,opt,name=max_channel_size" json:"max_channel_size,omitempty"`
} }
func (m *ShowRoutingTableResponse) Reset() { *m = ShowRoutingTableResponse{} } func (m *NetworkInfo) Reset() { *m = NetworkInfo{} }
func (m *ShowRoutingTableResponse) String() string { return proto.CompactTextString(m) } func (m *NetworkInfo) String() string { return proto.CompactTextString(m) }
func (*ShowRoutingTableResponse) ProtoMessage() {} func (*NetworkInfo) ProtoMessage() {}
func (*ShowRoutingTableResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} } func (*NetworkInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{51} }
func (m *ShowRoutingTableResponse) GetChannels() []*RoutingTableLink { func (m *NetworkInfo) GetGraphDiameter() uint32 {
if m != nil { if m != nil {
return m.Channels return m.GraphDiameter
} }
return nil return 0
} }
func (m *NetworkInfo) GetAvgOutDegree() float64 {
if m != nil {
return m.AvgOutDegree
}
return 0
}
func (m *NetworkInfo) GetMaxOutDegree() uint32 {
if m != nil {
return m.MaxOutDegree
}
return 0
}
func (m *NetworkInfo) GetNumNodes() uint32 {
if m != nil {
return m.NumNodes
}
return 0
}
func (m *NetworkInfo) GetNumChannels() uint32 {
if m != nil {
return m.NumChannels
}
return 0
}
func (m *NetworkInfo) GetTotalNetworkCapacity() int64 {
if m != nil {
return m.TotalNetworkCapacity
}
return 0
}
func (m *NetworkInfo) GetAvgChannelSize() float64 {
if m != nil {
return m.AvgChannelSize
}
return 0
}
func (m *NetworkInfo) GetMinChannelSize() int64 {
if m != nil {
return m.MinChannelSize
}
return 0
}
func (m *NetworkInfo) GetMaxChannelSize() int64 {
if m != nil {
return m.MaxChannelSize
}
return 0
}
type SetAliasRequest struct {
NewAlias string `protobuf:"bytes,1,opt,name=new_alias" json:"new_alias,omitempty"`
}
func (m *SetAliasRequest) Reset() { *m = SetAliasRequest{} }
func (m *SetAliasRequest) String() string { return proto.CompactTextString(m) }
func (*SetAliasRequest) ProtoMessage() {}
func (*SetAliasRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{52} }
func (m *SetAliasRequest) GetNewAlias() string {
if m != nil {
return m.NewAlias
}
return ""
}
type SetAliasResponse struct {
}
func (m *SetAliasResponse) Reset() { *m = SetAliasResponse{} }
func (m *SetAliasResponse) String() string { return proto.CompactTextString(m) }
func (*SetAliasResponse) ProtoMessage() {}
func (*SetAliasResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{53} }
type Invoice struct { type Invoice struct {
Memo string `protobuf:"bytes,1,opt,name=memo" json:"memo,omitempty"` Memo string `protobuf:"bytes,1,opt,name=memo" json:"memo,omitempty"`
Receipt []byte `protobuf:"bytes,2,opt,name=receipt,proto3" json:"receipt,omitempty"` Receipt []byte `protobuf:"bytes,2,opt,name=receipt,proto3" json:"receipt,omitempty"`
@ -1552,7 +1980,7 @@ type Invoice struct {
func (m *Invoice) Reset() { *m = Invoice{} } 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) { return fileDescriptor0, []int{42} } func (*Invoice) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{54} }
func (m *Invoice) GetMemo() string { func (m *Invoice) GetMemo() string {
if m != nil { if m != nil {
@ -1617,7 +2045,7 @@ type AddInvoiceResponse struct {
func (m *AddInvoiceResponse) Reset() { *m = AddInvoiceResponse{} } 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) { return fileDescriptor0, []int{43} } func (*AddInvoiceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{55} }
func (m *AddInvoiceResponse) GetRHash() []byte { func (m *AddInvoiceResponse) GetRHash() []byte {
if m != nil { if m != nil {
@ -1634,7 +2062,7 @@ type PaymentHash struct {
func (m *PaymentHash) Reset() { *m = PaymentHash{} } 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) { return fileDescriptor0, []int{44} } func (*PaymentHash) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{56} }
func (m *PaymentHash) GetRHashStr() string { func (m *PaymentHash) GetRHashStr() string {
if m != nil { if m != nil {
@ -1657,7 +2085,7 @@ type ListInvoiceRequest struct {
func (m *ListInvoiceRequest) Reset() { *m = ListInvoiceRequest{} } 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) { return fileDescriptor0, []int{45} } func (*ListInvoiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{57} }
func (m *ListInvoiceRequest) GetPendingOnly() bool { func (m *ListInvoiceRequest) GetPendingOnly() bool {
if m != nil { if m != nil {
@ -1673,7 +2101,7 @@ type ListInvoiceResponse struct {
func (m *ListInvoiceResponse) Reset() { *m = ListInvoiceResponse{} } 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) { return fileDescriptor0, []int{46} } func (*ListInvoiceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{58} }
func (m *ListInvoiceResponse) GetInvoices() []*Invoice { func (m *ListInvoiceResponse) GetInvoices() []*Invoice {
if m != nil { if m != nil {
@ -1688,7 +2116,7 @@ type InvoiceSubscription struct {
func (m *InvoiceSubscription) Reset() { *m = InvoiceSubscription{} } 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) { return fileDescriptor0, []int{47} } func (*InvoiceSubscription) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{59} }
type Payment struct { type Payment struct {
RHash string `protobuf:"bytes,1,opt,name=r_hash" json:"r_hash,omitempty"` RHash string `protobuf:"bytes,1,opt,name=r_hash" json:"r_hash,omitempty"`
@ -1701,7 +2129,7 @@ type Payment struct {
func (m *Payment) Reset() { *m = Payment{} } 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) { return fileDescriptor0, []int{48} } func (*Payment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{60} }
func (m *Payment) GetRHash() string { func (m *Payment) GetRHash() string {
if m != nil { if m != nil {
@ -1744,7 +2172,7 @@ type ListPaymentsRequest struct {
func (m *ListPaymentsRequest) Reset() { *m = ListPaymentsRequest{} } 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) { return fileDescriptor0, []int{49} } func (*ListPaymentsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{61} }
type ListPaymentsResponse struct { type ListPaymentsResponse struct {
Payments []*Payment `protobuf:"bytes,1,rep,name=payments" json:"payments,omitempty"` Payments []*Payment `protobuf:"bytes,1,rep,name=payments" json:"payments,omitempty"`
@ -1753,7 +2181,7 @@ type ListPaymentsResponse struct {
func (m *ListPaymentsResponse) Reset() { *m = ListPaymentsResponse{} } 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) { return fileDescriptor0, []int{50} } func (*ListPaymentsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{62} }
func (m *ListPaymentsResponse) GetPayments() []*Payment { func (m *ListPaymentsResponse) GetPayments() []*Payment {
if m != nil { if m != nil {
@ -1768,7 +2196,7 @@ type DeleteAllPaymentsRequest struct {
func (m *DeleteAllPaymentsRequest) Reset() { *m = DeleteAllPaymentsRequest{} } func (m *DeleteAllPaymentsRequest) Reset() { *m = DeleteAllPaymentsRequest{} }
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) { return fileDescriptor0, []int{51} } func (*DeleteAllPaymentsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{63} }
type DeleteAllPaymentsResponse struct { type DeleteAllPaymentsResponse struct {
} }
@ -1776,7 +2204,7 @@ type DeleteAllPaymentsResponse struct {
func (m *DeleteAllPaymentsResponse) Reset() { *m = DeleteAllPaymentsResponse{} } func (m *DeleteAllPaymentsResponse) Reset() { *m = DeleteAllPaymentsResponse{} }
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) { return fileDescriptor0, []int{52} } func (*DeleteAllPaymentsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{64} }
func init() { func init() {
proto.RegisterType((*Transaction)(nil), "lnrpc.Transaction") proto.RegisterType((*Transaction)(nil), "lnrpc.Transaction")
@ -1819,9 +2247,21 @@ func init() {
proto.RegisterType((*WalletBalanceResponse)(nil), "lnrpc.WalletBalanceResponse") proto.RegisterType((*WalletBalanceResponse)(nil), "lnrpc.WalletBalanceResponse")
proto.RegisterType((*ChannelBalanceRequest)(nil), "lnrpc.ChannelBalanceRequest") proto.RegisterType((*ChannelBalanceRequest)(nil), "lnrpc.ChannelBalanceRequest")
proto.RegisterType((*ChannelBalanceResponse)(nil), "lnrpc.ChannelBalanceResponse") proto.RegisterType((*ChannelBalanceResponse)(nil), "lnrpc.ChannelBalanceResponse")
proto.RegisterType((*RoutingTableLink)(nil), "lnrpc.RoutingTableLink") proto.RegisterType((*RouteRequest)(nil), "lnrpc.RouteRequest")
proto.RegisterType((*ShowRoutingTableRequest)(nil), "lnrpc.ShowRoutingTableRequest") proto.RegisterType((*Hop)(nil), "lnrpc.Hop")
proto.RegisterType((*ShowRoutingTableResponse)(nil), "lnrpc.ShowRoutingTableResponse") proto.RegisterType((*Route)(nil), "lnrpc.Route")
proto.RegisterType((*NodeInfoRequest)(nil), "lnrpc.NodeInfoRequest")
proto.RegisterType((*NodeInfo)(nil), "lnrpc.NodeInfo")
proto.RegisterType((*LightningNode)(nil), "lnrpc.LightningNode")
proto.RegisterType((*RoutingPolicy)(nil), "lnrpc.RoutingPolicy")
proto.RegisterType((*ChannelEdge)(nil), "lnrpc.ChannelEdge")
proto.RegisterType((*ChannelGraphRequest)(nil), "lnrpc.ChannelGraphRequest")
proto.RegisterType((*ChannelGraph)(nil), "lnrpc.ChannelGraph")
proto.RegisterType((*ChanInfoRequest)(nil), "lnrpc.ChanInfoRequest")
proto.RegisterType((*NetworkInfoRequest)(nil), "lnrpc.NetworkInfoRequest")
proto.RegisterType((*NetworkInfo)(nil), "lnrpc.NetworkInfo")
proto.RegisterType((*SetAliasRequest)(nil), "lnrpc.SetAliasRequest")
proto.RegisterType((*SetAliasResponse)(nil), "lnrpc.SetAliasResponse")
proto.RegisterType((*Invoice)(nil), "lnrpc.Invoice") proto.RegisterType((*Invoice)(nil), "lnrpc.Invoice")
proto.RegisterType((*AddInvoiceResponse)(nil), "lnrpc.AddInvoiceResponse") proto.RegisterType((*AddInvoiceResponse)(nil), "lnrpc.AddInvoiceResponse")
proto.RegisterType((*PaymentHash)(nil), "lnrpc.PaymentHash") proto.RegisterType((*PaymentHash)(nil), "lnrpc.PaymentHash")
@ -1871,9 +2311,14 @@ type LightningClient interface {
ListInvoices(ctx context.Context, in *ListInvoiceRequest, opts ...grpc.CallOption) (*ListInvoiceResponse, error) ListInvoices(ctx context.Context, in *ListInvoiceRequest, opts ...grpc.CallOption) (*ListInvoiceResponse, error)
LookupInvoice(ctx context.Context, in *PaymentHash, opts ...grpc.CallOption) (*Invoice, error) LookupInvoice(ctx context.Context, in *PaymentHash, opts ...grpc.CallOption) (*Invoice, error)
SubscribeInvoices(ctx context.Context, in *InvoiceSubscription, opts ...grpc.CallOption) (Lightning_SubscribeInvoicesClient, error) SubscribeInvoices(ctx context.Context, in *InvoiceSubscription, opts ...grpc.CallOption) (Lightning_SubscribeInvoicesClient, error)
ShowRoutingTable(ctx context.Context, in *ShowRoutingTableRequest, opts ...grpc.CallOption) (*ShowRoutingTableResponse, error)
ListPayments(ctx context.Context, in *ListPaymentsRequest, opts ...grpc.CallOption) (*ListPaymentsResponse, error) ListPayments(ctx context.Context, in *ListPaymentsRequest, opts ...grpc.CallOption) (*ListPaymentsResponse, error)
DeleteAllPayments(ctx context.Context, in *DeleteAllPaymentsRequest, opts ...grpc.CallOption) (*DeleteAllPaymentsResponse, error) DeleteAllPayments(ctx context.Context, in *DeleteAllPaymentsRequest, opts ...grpc.CallOption) (*DeleteAllPaymentsResponse, error)
DescribeGraph(ctx context.Context, in *ChannelGraphRequest, opts ...grpc.CallOption) (*ChannelGraph, error)
GetChanInfo(ctx context.Context, in *ChanInfoRequest, opts ...grpc.CallOption) (*ChannelEdge, error)
GetNodeInfo(ctx context.Context, in *NodeInfoRequest, opts ...grpc.CallOption) (*NodeInfo, error)
QueryRoute(ctx context.Context, in *RouteRequest, opts ...grpc.CallOption) (*Route, error)
GetNetworkInfo(ctx context.Context, in *NetworkInfoRequest, opts ...grpc.CallOption) (*NetworkInfo, error)
SetAlias(ctx context.Context, in *SetAliasRequest, opts ...grpc.CallOption) (*SetAliasResponse, error)
} }
type lightningClient struct { type lightningClient struct {
@ -2196,15 +2641,6 @@ func (x *lightningSubscribeInvoicesClient) Recv() (*Invoice, error) {
return m, nil return m, nil
} }
func (c *lightningClient) ShowRoutingTable(ctx context.Context, in *ShowRoutingTableRequest, opts ...grpc.CallOption) (*ShowRoutingTableResponse, error) {
out := new(ShowRoutingTableResponse)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/ShowRoutingTable", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) ListPayments(ctx context.Context, in *ListPaymentsRequest, opts ...grpc.CallOption) (*ListPaymentsResponse, error) { func (c *lightningClient) ListPayments(ctx context.Context, in *ListPaymentsRequest, opts ...grpc.CallOption) (*ListPaymentsResponse, error) {
out := new(ListPaymentsResponse) out := new(ListPaymentsResponse)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/ListPayments", in, out, c.cc, opts...) err := grpc.Invoke(ctx, "/lnrpc.Lightning/ListPayments", in, out, c.cc, opts...)
@ -2223,6 +2659,60 @@ func (c *lightningClient) DeleteAllPayments(ctx context.Context, in *DeleteAllPa
return out, nil return out, nil
} }
func (c *lightningClient) DescribeGraph(ctx context.Context, in *ChannelGraphRequest, opts ...grpc.CallOption) (*ChannelGraph, error) {
out := new(ChannelGraph)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/DescribeGraph", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) GetChanInfo(ctx context.Context, in *ChanInfoRequest, opts ...grpc.CallOption) (*ChannelEdge, error) {
out := new(ChannelEdge)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/GetChanInfo", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) GetNodeInfo(ctx context.Context, in *NodeInfoRequest, opts ...grpc.CallOption) (*NodeInfo, error) {
out := new(NodeInfo)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/GetNodeInfo", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) QueryRoute(ctx context.Context, in *RouteRequest, opts ...grpc.CallOption) (*Route, error) {
out := new(Route)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/QueryRoute", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) GetNetworkInfo(ctx context.Context, in *NetworkInfoRequest, opts ...grpc.CallOption) (*NetworkInfo, error) {
out := new(NetworkInfo)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/GetNetworkInfo", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) SetAlias(ctx context.Context, in *SetAliasRequest, opts ...grpc.CallOption) (*SetAliasResponse, error) {
out := new(SetAliasResponse)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/SetAlias", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for Lightning service // Server API for Lightning service
type LightningServer interface { type LightningServer interface {
@ -2249,9 +2739,14 @@ type LightningServer interface {
ListInvoices(context.Context, *ListInvoiceRequest) (*ListInvoiceResponse, error) ListInvoices(context.Context, *ListInvoiceRequest) (*ListInvoiceResponse, error)
LookupInvoice(context.Context, *PaymentHash) (*Invoice, error) LookupInvoice(context.Context, *PaymentHash) (*Invoice, error)
SubscribeInvoices(*InvoiceSubscription, Lightning_SubscribeInvoicesServer) error SubscribeInvoices(*InvoiceSubscription, Lightning_SubscribeInvoicesServer) error
ShowRoutingTable(context.Context, *ShowRoutingTableRequest) (*ShowRoutingTableResponse, error)
ListPayments(context.Context, *ListPaymentsRequest) (*ListPaymentsResponse, error) ListPayments(context.Context, *ListPaymentsRequest) (*ListPaymentsResponse, error)
DeleteAllPayments(context.Context, *DeleteAllPaymentsRequest) (*DeleteAllPaymentsResponse, error) DeleteAllPayments(context.Context, *DeleteAllPaymentsRequest) (*DeleteAllPaymentsResponse, error)
DescribeGraph(context.Context, *ChannelGraphRequest) (*ChannelGraph, error)
GetChanInfo(context.Context, *ChanInfoRequest) (*ChannelEdge, error)
GetNodeInfo(context.Context, *NodeInfoRequest) (*NodeInfo, error)
QueryRoute(context.Context, *RouteRequest) (*Route, error)
GetNetworkInfo(context.Context, *NetworkInfoRequest) (*NetworkInfo, error)
SetAlias(context.Context, *SetAliasRequest) (*SetAliasResponse, error)
} }
func RegisterLightningServer(s *grpc.Server, srv LightningServer) { func RegisterLightningServer(s *grpc.Server, srv LightningServer) {
@ -2674,24 +3169,6 @@ func (x *lightningSubscribeInvoicesServer) Send(m *Invoice) error {
return x.ServerStream.SendMsg(m) return x.ServerStream.SendMsg(m)
} }
func _Lightning_ShowRoutingTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ShowRoutingTableRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).ShowRoutingTable(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/ShowRoutingTable",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).ShowRoutingTable(ctx, req.(*ShowRoutingTableRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_ListPayments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { func _Lightning_ListPayments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListPaymentsRequest) in := new(ListPaymentsRequest)
if err := dec(in); err != nil { if err := dec(in); err != nil {
@ -2728,6 +3205,114 @@ func _Lightning_DeleteAllPayments_Handler(srv interface{}, ctx context.Context,
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
func _Lightning_DescribeGraph_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ChannelGraphRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).DescribeGraph(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/DescribeGraph",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).DescribeGraph(ctx, req.(*ChannelGraphRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_GetChanInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ChanInfoRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).GetChanInfo(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/GetChanInfo",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).GetChanInfo(ctx, req.(*ChanInfoRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_GetNodeInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(NodeInfoRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).GetNodeInfo(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/GetNodeInfo",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).GetNodeInfo(ctx, req.(*NodeInfoRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_QueryRoute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RouteRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).QueryRoute(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/QueryRoute",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).QueryRoute(ctx, req.(*RouteRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_GetNetworkInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(NetworkInfoRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).GetNetworkInfo(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/GetNetworkInfo",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).GetNetworkInfo(ctx, req.(*NetworkInfoRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_SetAlias_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SetAliasRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).SetAlias(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/SetAlias",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).SetAlias(ctx, req.(*SetAliasRequest))
}
return interceptor(ctx, in, info, handler)
}
var _Lightning_serviceDesc = grpc.ServiceDesc{ var _Lightning_serviceDesc = grpc.ServiceDesc{
ServiceName: "lnrpc.Lightning", ServiceName: "lnrpc.Lightning",
HandlerType: (*LightningServer)(nil), HandlerType: (*LightningServer)(nil),
@ -2800,10 +3385,6 @@ var _Lightning_serviceDesc = grpc.ServiceDesc{
MethodName: "LookupInvoice", MethodName: "LookupInvoice",
Handler: _Lightning_LookupInvoice_Handler, Handler: _Lightning_LookupInvoice_Handler,
}, },
{
MethodName: "ShowRoutingTable",
Handler: _Lightning_ShowRoutingTable_Handler,
},
{ {
MethodName: "ListPayments", MethodName: "ListPayments",
Handler: _Lightning_ListPayments_Handler, Handler: _Lightning_ListPayments_Handler,
@ -2812,6 +3393,30 @@ var _Lightning_serviceDesc = grpc.ServiceDesc{
MethodName: "DeleteAllPayments", MethodName: "DeleteAllPayments",
Handler: _Lightning_DeleteAllPayments_Handler, Handler: _Lightning_DeleteAllPayments_Handler,
}, },
{
MethodName: "DescribeGraph",
Handler: _Lightning_DescribeGraph_Handler,
},
{
MethodName: "GetChanInfo",
Handler: _Lightning_GetChanInfo_Handler,
},
{
MethodName: "GetNodeInfo",
Handler: _Lightning_GetNodeInfo_Handler,
},
{
MethodName: "QueryRoute",
Handler: _Lightning_QueryRoute_Handler,
},
{
MethodName: "GetNetworkInfo",
Handler: _Lightning_GetNetworkInfo_Handler,
},
{
MethodName: "SetAlias",
Handler: _Lightning_SetAlias_Handler,
},
}, },
Streams: []grpc.StreamDesc{ Streams: []grpc.StreamDesc{
{ {
@ -2847,158 +3452,192 @@ var _Lightning_serviceDesc = grpc.ServiceDesc{
func init() { proto.RegisterFile("rpc.proto", fileDescriptor0) } func init() { proto.RegisterFile("rpc.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{ var fileDescriptor0 = []byte{
// 2445 bytes of a gzipped FileDescriptorProto // 2985 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x59, 0xcb, 0x6f, 0xdc, 0xc6, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x39, 0x4d, 0x6f, 0x1b, 0xc7,
0x19, 0x37, 0xb5, 0x92, 0x76, 0xf7, 0xdb, 0xf7, 0xec, 0x53, 0x94, 0x1f, 0x0a, 0xeb, 0x04, 0x8a, 0xd9, 0x5e, 0x51, 0x34, 0xa9, 0x87, 0xdf, 0x23, 0x89, 0xa2, 0x28, 0x3b, 0x91, 0x37, 0x4e, 0x5e,
0xe0, 0x48, 0xb2, 0x72, 0x68, 0xe0, 0xa0, 0x29, 0x64, 0x59, 0xb5, 0x8c, 0x2a, 0xb2, 0x9a, 0x95, 0xbd, 0x82, 0x63, 0xda, 0xca, 0xa1, 0x41, 0x82, 0xa6, 0x50, 0x64, 0xd5, 0x32, 0xaa, 0xc8, 0x4a,
0x63, 0xd4, 0x45, 0xb1, 0xa1, 0xb8, 0xa3, 0x15, 0x63, 0x2e, 0xc9, 0x72, 0x66, 0x25, 0x6f, 0x0d, 0x24, 0xc7, 0x6d, 0xd2, 0x62, 0xbb, 0xda, 0x1d, 0x51, 0x1b, 0x2f, 0x77, 0xb7, 0xbb, 0x43, 0xc9,
0x5f, 0x5a, 0xa0, 0xe7, 0x02, 0x05, 0x8a, 0x02, 0x05, 0x7a, 0xeb, 0xad, 0x28, 0x7a, 0xec, 0x5f, 0xac, 0xa1, 0x4b, 0x0b, 0xf4, 0x0f, 0x14, 0x28, 0x02, 0x14, 0x28, 0xd0, 0x7b, 0x51, 0xf4, 0x57,
0xd0, 0x4b, 0x8f, 0xfd, 0x17, 0xfa, 0x87, 0x14, 0xf3, 0x22, 0x87, 0x5c, 0xca, 0x68, 0x0e, 0xb9, 0xf4, 0xd2, 0xde, 0x7a, 0x6b, 0xaf, 0x3d, 0xf6, 0x47, 0x14, 0xf3, 0xcc, 0xcc, 0x72, 0x66, 0x49,
0x69, 0xbf, 0x99, 0xf9, 0xde, 0x8f, 0xdf, 0x47, 0x41, 0x39, 0x0a, 0x9d, 0xed, 0x30, 0x0a, 0x68, 0x07, 0x0d, 0x8a, 0xde, 0xc8, 0x67, 0x66, 0x9e, 0xef, 0xef, 0x85, 0xa5, 0x34, 0xf1, 0xee, 0x27,
0x80, 0x56, 0x3c, 0x3f, 0x0a, 0x1d, 0xf3, 0xf6, 0x24, 0x08, 0x26, 0x1e, 0xde, 0xb1, 0x43, 0x77, 0x69, 0xcc, 0x62, 0x52, 0x0e, 0xa3, 0x34, 0xf1, 0xfa, 0xb7, 0x86, 0x71, 0x3c, 0x0c, 0xe9, 0xc0,
0xc7, 0xf6, 0xfd, 0x80, 0xda, 0xd4, 0x0d, 0x7c, 0x22, 0x2e, 0x59, 0x7f, 0x36, 0xa0, 0x72, 0x16, 0x4d, 0x82, 0x81, 0x1b, 0x45, 0x31, 0x73, 0x59, 0x10, 0x47, 0x99, 0xb8, 0x64, 0xff, 0xd6, 0x82,
0xd9, 0x3e, 0xb1, 0x1d, 0x46, 0x46, 0x0d, 0x28, 0xd2, 0x37, 0xa3, 0x4b, 0x9b, 0x5c, 0x0e, 0x8c, 0xda, 0x69, 0xea, 0x46, 0x99, 0xeb, 0x71, 0x30, 0x69, 0x41, 0x85, 0xbd, 0x74, 0x2e, 0xdc, 0xec,
0x0d, 0x63, 0xb3, 0x8c, 0xea, 0xb0, 0x6a, 0x4f, 0x83, 0x99, 0x4f, 0x07, 0x4b, 0x1b, 0xc6, 0xa6, 0xa2, 0x67, 0x6d, 0x5a, 0x5b, 0x4b, 0xa4, 0x09, 0x37, 0xdd, 0x51, 0x3c, 0x8e, 0x58, 0x6f, 0x61,
0x81, 0xd6, 0xa0, 0xe5, 0xcf, 0xa6, 0x23, 0x27, 0xf0, 0x2f, 0xdc, 0x68, 0x2a, 0x78, 0x0d, 0x0a, 0xd3, 0xda, 0xb2, 0xc8, 0x3a, 0x74, 0xa2, 0xf1, 0xc8, 0xf1, 0xe2, 0xe8, 0x3c, 0x48, 0x47, 0x02,
0x1b, 0xc6, 0xe6, 0x0a, 0x42, 0x00, 0xe7, 0x5e, 0xe0, 0xbc, 0x16, 0xcf, 0x97, 0xf9, 0xf3, 0x0e, 0x57, 0xaf, 0xb4, 0x69, 0x6d, 0x95, 0x09, 0x01, 0x38, 0x0b, 0x63, 0xef, 0x85, 0x78, 0xbe, 0x88,
0x54, 0x25, 0x0d, 0xbb, 0x93, 0x4b, 0x3a, 0x58, 0x51, 0x37, 0xa9, 0x3b, 0xc5, 0x23, 0x42, 0xed, 0xcf, 0x57, 0xa0, 0x2e, 0x61, 0x34, 0x18, 0x5e, 0xb0, 0x5e, 0x59, 0xdd, 0x64, 0xc1, 0x88, 0x3a,
0x69, 0x38, 0x58, 0xdd, 0x30, 0x36, 0x0b, 0x9c, 0x16, 0x50, 0xdb, 0x1b, 0x5d, 0x60, 0x4c, 0x06, 0x19, 0x73, 0x47, 0x49, 0xef, 0xe6, 0xa6, 0xb5, 0x55, 0x42, 0x58, 0xcc, 0xdc, 0xd0, 0x39, 0xa7,
0x45, 0x46, 0xb3, 0x06, 0xd0, 0x7b, 0x8a, 0xa9, 0xa6, 0x1f, 0xf9, 0x0a, 0xff, 0x6a, 0x86, 0x09, 0x34, 0xeb, 0x55, 0x38, 0xcc, 0xee, 0x41, 0xf7, 0x31, 0x65, 0x1a, 0x7f, 0xd9, 0x67, 0xf4, 0x67,
0xb5, 0xbe, 0x00, 0xa4, 0x91, 0x9f, 0x60, 0x6a, 0xbb, 0x1e, 0x41, 0x9b, 0x50, 0xa5, 0xda, 0xe5, 0x63, 0x9a, 0x31, 0xfb, 0x23, 0x20, 0x1a, 0xf8, 0x11, 0x65, 0x6e, 0x10, 0x66, 0x64, 0x0b, 0xea,
0x81, 0xb1, 0x51, 0xd8, 0xac, 0xec, 0xa1, 0x6d, 0xee, 0x89, 0x6d, 0xed, 0x81, 0xf5, 0x5b, 0x03, 0x4c, 0xbb, 0xdc, 0xb3, 0x36, 0x4b, 0x5b, 0xb5, 0x1d, 0x72, 0x1f, 0x35, 0x71, 0x5f, 0x7b, 0x60,
0x2a, 0x43, 0xec, 0x8f, 0x25, 0x3f, 0x54, 0x85, 0xe5, 0x31, 0x26, 0x94, 0x1b, 0x5d, 0x45, 0x6d, 0xff, 0xd2, 0x82, 0xda, 0x09, 0x8d, 0x7c, 0x89, 0x8f, 0xd4, 0x61, 0xd1, 0xa7, 0x19, 0x43, 0xa1,
0xa8, 0xb0, 0x5f, 0x23, 0x42, 0x23, 0xd7, 0x9f, 0x70, 0xcb, 0xcb, 0xa8, 0x02, 0x05, 0x7b, 0x4a, 0xeb, 0x64, 0x19, 0x6a, 0xfc, 0x9f, 0x93, 0xb1, 0x34, 0x88, 0x86, 0x28, 0xf9, 0x12, 0xa9, 0x41,
0xb9, 0xad, 0x05, 0x66, 0x57, 0x68, 0xcf, 0xa7, 0xd8, 0xa7, 0x89, 0xb5, 0x55, 0xb4, 0x0e, 0x6d, 0xc9, 0x1d, 0x31, 0x94, 0xb5, 0xc4, 0xe5, 0x4a, 0xdc, 0xc9, 0x88, 0x46, 0x6c, 0x2a, 0x6d, 0x9d,
0x9d, 0xaa, 0xde, 0xaf, 0xf0, 0xf7, 0x2d, 0x28, 0x5f, 0xd8, 0x8c, 0x29, 0xf6, 0xc7, 0xdc, 0xe6, 0x6c, 0xc0, 0xb2, 0x0e, 0x55, 0xef, 0xcb, 0xf8, 0xbe, 0x03, 0x4b, 0xe7, 0x2e, 0x47, 0x4a, 0x23,
0x92, 0x55, 0x87, 0xaa, 0x50, 0x82, 0x84, 0x81, 0x4f, 0xb0, 0x75, 0x06, 0xd5, 0x83, 0x4b, 0xdb, 0x1f, 0x65, 0xae, 0xda, 0x4d, 0xa8, 0x0b, 0x26, 0xb2, 0x24, 0x8e, 0x32, 0x6a, 0x9f, 0x42, 0x7d,
0xf7, 0xb1, 0x77, 0x1a, 0xb8, 0x3e, 0x65, 0x52, 0x2e, 0x66, 0xfe, 0xd8, 0xf5, 0x27, 0x23, 0xfa, 0xef, 0xc2, 0x8d, 0x22, 0x1a, 0x1e, 0xc7, 0x41, 0xc4, 0x38, 0x95, 0xf3, 0x71, 0xe4, 0x07, 0xd1,
0xc6, 0x1d, 0x4b, 0xed, 0x06, 0xd0, 0xd4, 0xa9, 0x4c, 0x8a, 0x54, 0xb1, 0x03, 0xd5, 0x60, 0x46, 0xd0, 0x61, 0x2f, 0x03, 0x5f, 0x72, 0xd7, 0x83, 0xb6, 0x0e, 0xe5, 0x54, 0x24, 0x8b, 0x2b, 0x50,
0xc3, 0x19, 0x1d, 0xb9, 0xfe, 0x18, 0xbf, 0xe1, 0xba, 0xd6, 0xac, 0x5d, 0x68, 0x1e, 0x33, 0xe7, 0x8f, 0xc7, 0x2c, 0x19, 0x33, 0x27, 0x88, 0x7c, 0xfa, 0x12, 0x79, 0x6d, 0xd8, 0x0f, 0xa0, 0x7d,
0xfb, 0xae, 0x3f, 0xd9, 0x1f, 0x8f, 0x23, 0x4c, 0x08, 0x0b, 0x6b, 0x38, 0x3b, 0x7f, 0x8d, 0xe7, 0xc8, 0x95, 0x1f, 0x05, 0xd1, 0x70, 0xd7, 0xf7, 0x53, 0x9a, 0x65, 0xdc, 0xac, 0xc9, 0xf8, 0xec,
0x32, 0xcc, 0x55, 0x58, 0xbe, 0x0c, 0x88, 0x08, 0x72, 0xd9, 0xfa, 0x9d, 0x01, 0x0d, 0xa6, 0xd8, 0x05, 0x9d, 0x48, 0x33, 0xd7, 0x61, 0xf1, 0x22, 0xce, 0x84, 0x91, 0x97, 0xec, 0x5f, 0x59, 0xd0,
0x97, 0xb6, 0x3f, 0x57, 0x1e, 0xfa, 0x02, 0xaa, 0xec, 0xf1, 0x59, 0xb0, 0x2f, 0xd2, 0x41, 0xf8, 0xe2, 0x8c, 0x7d, 0xe2, 0x46, 0x13, 0xa5, 0xa1, 0x8f, 0xa0, 0xce, 0x1f, 0x9f, 0xc6, 0xbb, 0xc2,
0x76, 0x53, 0xfa, 0x36, 0x73, 0x7b, 0x5b, 0xbf, 0x7a, 0xe8, 0xd3, 0x68, 0x6e, 0x7e, 0x0a, 0xad, 0x1d, 0x84, 0x6e, 0xb7, 0xa4, 0x6e, 0x0b, 0xb7, 0xef, 0xeb, 0x57, 0xf7, 0x23, 0x96, 0x4e, 0xfa,
0x05, 0x22, 0xf3, 0x69, 0xa2, 0x43, 0x0d, 0x56, 0xae, 0x6c, 0x6f, 0x86, 0xb9, 0x12, 0x85, 0x47, 0xef, 0x41, 0x67, 0x06, 0xc8, 0x75, 0x3a, 0xe5, 0xa1, 0x01, 0xe5, 0x4b, 0x37, 0x1c, 0x53, 0x64,
0x4b, 0x9f, 0x19, 0xd6, 0x06, 0x34, 0x13, 0xce, 0xc2, 0x49, 0x4c, 0xd5, 0xd8, 0x19, 0x65, 0x66, 0xa2, 0xf4, 0xc1, 0xc2, 0xfb, 0x96, 0xbd, 0x09, 0xed, 0x29, 0x66, 0xa1, 0x24, 0xce, 0x6a, 0xae,
0x1c, 0xbb, 0x71, 0x10, 0xb8, 0x71, 0x72, 0xb0, 0x1b, 0xf6, 0x78, 0x1c, 0xe5, 0x66, 0x70, 0xc1, 0x8c, 0x25, 0x2e, 0x1c, 0xbf, 0xb1, 0x17, 0x07, 0xb9, 0x73, 0xf0, 0x1b, 0xae, 0xef, 0xa7, 0x73,
0xfa, 0x00, 0x5a, 0xda, 0x8b, 0x5c, 0xa6, 0x7f, 0x32, 0xa0, 0x75, 0x82, 0xaf, 0xa5, 0xb3, 0x14, 0x3d, 0xb8, 0x64, 0xdf, 0x81, 0x8e, 0xf6, 0x62, 0x2e, 0xd2, 0xaf, 0x2d, 0xe8, 0x1c, 0xd1, 0x2b,
0xdb, 0x3d, 0x58, 0xa6, 0xf3, 0x10, 0xf3, 0x3b, 0xf5, 0xbd, 0xfb, 0xd2, 0xf2, 0x85, 0x7b, 0xdb, 0xa9, 0x2c, 0x85, 0x76, 0x07, 0x16, 0xd9, 0x24, 0xa1, 0x78, 0xa7, 0xb9, 0x73, 0x57, 0x4a, 0x3e,
0xf2, 0xe7, 0xd9, 0x3c, 0xc4, 0xd6, 0x73, 0xa8, 0x68, 0x3f, 0x51, 0x1f, 0xda, 0x2f, 0x9f, 0x9d, 0x73, 0xef, 0xbe, 0xfc, 0x7b, 0x3a, 0x49, 0xa8, 0xfd, 0x14, 0x6a, 0xda, 0x5f, 0xb2, 0x06, 0xcb,
0x9d, 0x1c, 0x0e, 0x87, 0xa3, 0xd3, 0x17, 0x8f, 0x7f, 0x7a, 0xf8, 0xf3, 0xd1, 0xd1, 0xfe, 0xf0, 0xcf, 0x9f, 0x9c, 0x1e, 0xed, 0x9f, 0x9c, 0x38, 0xc7, 0xcf, 0x3e, 0xfe, 0xc1, 0xfe, 0x8f, 0x9c,
0xa8, 0x79, 0x0b, 0xf5, 0x00, 0x9d, 0x1c, 0x0e, 0xcf, 0x0e, 0x9f, 0xa4, 0xe8, 0x06, 0x6a, 0x40, 0x83, 0xdd, 0x93, 0x83, 0xf6, 0x0d, 0xd2, 0x05, 0x72, 0xb4, 0x7f, 0x72, 0xba, 0xff, 0xc8, 0x80,
0x45, 0x27, 0x2c, 0x59, 0x26, 0x0c, 0x4e, 0xf0, 0xf5, 0x4b, 0x97, 0xfa, 0x98, 0x90, 0xb4, 0x60, 0x5b, 0xa4, 0x05, 0x35, 0x1d, 0xb0, 0x60, 0xf7, 0xa1, 0x77, 0x44, 0xaf, 0x9e, 0x07, 0x2c, 0xa2,
0xeb, 0x43, 0x40, 0xba, 0x36, 0xd2, 0xb4, 0x06, 0x14, 0x6d, 0x41, 0x92, 0xd6, 0x7d, 0x0e, 0xe8, 0x59, 0x66, 0x12, 0xb6, 0xdf, 0x06, 0xa2, 0x73, 0x23, 0x45, 0x6b, 0x41, 0xc5, 0x15, 0x20, 0x29,
0x20, 0xf0, 0x7d, 0xec, 0xd0, 0x53, 0x8c, 0x23, 0x65, 0xdd, 0x87, 0x9a, 0xd3, 0x2a, 0x7b, 0x7d, 0xdd, 0x87, 0x40, 0xf6, 0xe2, 0x28, 0xa2, 0x1e, 0x3b, 0xa6, 0x34, 0x55, 0xd2, 0xbd, 0xad, 0x29,
0x69, 0x5d, 0x36, 0x71, 0xac, 0x8f, 0xa0, 0x9d, 0x7a, 0x9c, 0x08, 0x09, 0x31, 0x8e, 0x46, 0xd2, 0xad, 0xb6, 0xb3, 0x26, 0xa5, 0x2b, 0x3a, 0x8e, 0xfd, 0x0e, 0x2c, 0x1b, 0x8f, 0xa7, 0x44, 0x12,
0x85, 0x2b, 0x56, 0x08, 0xcb, 0x47, 0x67, 0xc7, 0x07, 0xa8, 0x09, 0x25, 0xd7, 0x77, 0x82, 0x29, 0x4a, 0x53, 0x47, 0xaa, 0xb0, 0x6c, 0x27, 0xb0, 0x78, 0x70, 0x7a, 0xb8, 0x47, 0xda, 0x50, 0x0d,
0xab, 0x03, 0x76, 0x52, 0xca, 0xc6, 0x83, 0xd5, 0x05, 0x2f, 0x16, 0xd6, 0x26, 0x78, 0xc6, 0x56, 0x22, 0x2f, 0x1e, 0xf1, 0x38, 0xe0, 0x27, 0xd5, 0xa2, 0x3d, 0x78, 0x5c, 0x60, 0xb0, 0xf0, 0x34,
0x59, 0x93, 0xc1, 0x6f, 0x42, 0x37, 0xe2, 0xed, 0x45, 0xb5, 0x0e, 0x56, 0x62, 0x35, 0x96, 0xfc, 0x81, 0x1e, 0x5b, 0xe7, 0x49, 0x86, 0xbe, 0x4c, 0x82, 0x14, 0xd3, 0x8b, 0x4a, 0x1d, 0x3c, 0xc4,
0x11, 0xbe, 0x0a, 0x1c, 0x71, 0x34, 0xc6, 0x9e, 0x3d, 0xe7, 0xf5, 0x55, 0xb3, 0x7e, 0xbf, 0x04, 0x1a, 0xdc, 0xf9, 0x53, 0x7a, 0x19, 0x7b, 0xe2, 0xc8, 0xa7, 0xa1, 0x3b, 0xc1, 0xf8, 0x6a, 0xd8,
0xb5, 0x7d, 0x87, 0xba, 0x57, 0x58, 0xd6, 0x10, 0xea, 0x42, 0x2d, 0xc2, 0xd3, 0x80, 0xe2, 0x51, 0xbf, 0x5f, 0x80, 0xc6, 0xae, 0xc7, 0x82, 0x4b, 0x2a, 0x63, 0x88, 0xac, 0x42, 0x23, 0xa5, 0xa3,
0x2a, 0xd7, 0xbb, 0x50, 0x73, 0xc4, 0x8d, 0x51, 0xc8, 0xca, 0x4c, 0x16, 0x4f, 0x13, 0x4a, 0x8e, 0x98, 0x51, 0xc7, 0xf0, 0xf5, 0x55, 0x68, 0x78, 0xe2, 0x86, 0x93, 0xf0, 0x30, 0x93, 0xc1, 0xd3,
0x1d, 0xda, 0x8e, 0x4b, 0xe7, 0xb2, 0xc8, 0xbb, 0x50, 0xf3, 0x02, 0xc7, 0xf6, 0x46, 0xe7, 0xb6, 0x82, 0x0a, 0x07, 0x73, 0x11, 0x38, 0x17, 0x8b, 0x9c, 0x75, 0xcf, 0x4d, 0x5c, 0x2f, 0x60, 0x13,
0x67, 0xfb, 0x0e, 0xe6, 0x2a, 0x14, 0x50, 0x0f, 0xea, 0x92, 0xad, 0xa2, 0xaf, 0x70, 0xfa, 0x1a, 0x24, 0x5e, 0xe2, 0x2f, 0xc3, 0xd8, 0x73, 0x43, 0xe7, 0xcc, 0x0d, 0xdd, 0xc8, 0xa3, 0x48, 0xb9,
0xb4, 0x66, 0x3e, 0xc1, 0x94, 0x7a, 0x78, 0x1c, 0x1f, 0x89, 0xe6, 0xb6, 0x0e, 0x6d, 0xd1, 0xdc, 0x44, 0xba, 0xd0, 0x94, 0x74, 0x14, 0x5c, 0xa4, 0xb4, 0x75, 0xe8, 0x8c, 0xa3, 0x8c, 0x32, 0x16,
0x88, 0x4d, 0x03, 0x72, 0xe9, 0x12, 0xd6, 0x05, 0xa8, 0xe8, 0x72, 0xe8, 0x1e, 0xf4, 0x33, 0x87, 0x52, 0x3f, 0x3f, 0xc2, 0xcc, 0xc6, 0x33, 0x85, 0xc8, 0x76, 0x99, 0xcb, 0xe2, 0xec, 0x22, 0xc8,
0x11, 0x76, 0xb0, 0x7b, 0x85, 0xc7, 0x83, 0x12, 0xbf, 0xd0, 0x86, 0x0a, 0xeb, 0xb9, 0xb3, 0x70, 0x78, 0x5a, 0x60, 0xbd, 0x2a, 0x1e, 0xbe, 0x09, 0x6b, 0x85, 0xc3, 0x94, 0x7a, 0x34, 0xb8, 0xa4,
0x6c, 0x53, 0x4c, 0x06, 0xe5, 0x0d, 0x63, 0x73, 0x19, 0x59, 0x50, 0x0b, 0xb1, 0xe8, 0x02, 0x97, 0x7e, 0x6f, 0x09, 0x2f, 0x2c, 0x43, 0x8d, 0x27, 0xe1, 0x71, 0xe2, 0xbb, 0x8c, 0x66, 0x3d, 0x40,
0xd4, 0x73, 0xc8, 0x00, 0x78, 0x41, 0x56, 0x64, 0xe0, 0x98, 0xf3, 0xad, 0x2e, 0xb4, 0x8f, 0x5d, 0x76, 0x6d, 0x68, 0x24, 0x54, 0xa4, 0x85, 0x0b, 0x16, 0x7a, 0x59, 0xaf, 0x86, 0x11, 0x5a, 0x93,
0x42, 0xa5, 0x3f, 0xb4, 0xe6, 0xd9, 0x49, 0x93, 0x65, 0x10, 0x3f, 0x82, 0x92, 0x74, 0x0c, 0x19, 0x96, 0xe4, 0xd6, 0xb0, 0x57, 0x61, 0xf9, 0x30, 0xc8, 0x98, 0x54, 0x90, 0x96, 0x4d, 0x57, 0x4c,
0x54, 0x38, 0xb7, 0x8e, 0xe4, 0x96, 0xf2, 0xab, 0xf5, 0x47, 0x03, 0x96, 0x59, 0xf4, 0x79, 0xd4, 0xb0, 0xb4, 0xea, 0x3b, 0x50, 0x95, 0x9a, 0x52, 0xd8, 0x56, 0x24, 0x36, 0x43, 0xd1, 0xf6, 0x6f,
0x67, 0xe7, 0xa3, 0xc4, 0xb5, 0x5a, 0x1a, 0x2c, 0xf1, 0x4e, 0xaf, 0x25, 0x5f, 0x81, 0xdf, 0x60, 0x2c, 0x58, 0xe4, 0xee, 0x80, 0x6e, 0x30, 0x3e, 0x73, 0xa6, 0xba, 0xd6, 0xfc, 0x62, 0x01, 0x53,
0x43, 0x62, 0x4e, 0xb1, 0x74, 0xc0, 0x32, 0x37, 0x25, 0xa6, 0x45, 0xd8, 0xb9, 0xe2, 0xce, 0x5c, 0xbf, 0xe6, 0x8d, 0x25, 0xbc, 0xc1, 0xab, 0xc6, 0x84, 0x51, 0xa9, 0x80, 0x45, 0x14, 0x25, 0x87,
0x66, 0xd1, 0x20, 0x36, 0x15, 0xb7, 0x84, 0x0f, 0x25, 0x85, 0xdf, 0x11, 0x8e, 0x6b, 0x40, 0xd1, 0xa5, 0xd4, 0xbb, 0x44, 0x25, 0xa3, 0x35, 0x32, 0x97, 0x89, 0x5b, 0x42, 0xbd, 0x12, 0x82, 0x77,
0xf5, 0xcf, 0x83, 0x99, 0x2f, 0x1c, 0x55, 0xb2, 0x10, 0xeb, 0x74, 0x84, 0x67, 0x66, 0x6c, 0xec, 0x84, 0x56, 0x5b, 0x50, 0x09, 0xa2, 0xb3, 0x78, 0x1c, 0xf9, 0xa8, 0xc9, 0xaa, 0x4d, 0x78, 0xea,
0x0e, 0xb4, 0x34, 0x9a, 0xb4, 0xd4, 0x84, 0x15, 0xa6, 0xa7, 0x9a, 0x10, 0xca, 0x69, 0xec, 0x92, 0xcb, 0xd0, 0x55, 0x73, 0x61, 0x07, 0xd0, 0xd1, 0x60, 0x52, 0xd2, 0x3e, 0x94, 0x39, 0x9f, 0xaa,
0xd5, 0x84, 0xfa, 0x53, 0x4c, 0x9f, 0xf9, 0x17, 0x81, 0x62, 0xf1, 0x4f, 0x03, 0x1a, 0x31, 0x49, 0x64, 0x28, 0xa5, 0xf1, 0x4b, 0x76, 0x1b, 0x9a, 0x8f, 0x29, 0x7b, 0x12, 0x9d, 0xc7, 0x0a, 0xc5,
0x72, 0xe8, 0x43, 0xc3, 0x1d, 0x63, 0x9f, 0xba, 0x74, 0x9e, 0xce, 0xae, 0xdb, 0xd0, 0x61, 0xc1, 0x3f, 0x2c, 0x68, 0xe5, 0x20, 0x89, 0x61, 0x0d, 0x5a, 0x81, 0x4f, 0x23, 0x16, 0xb0, 0x89, 0xe9,
0x52, 0xb1, 0x89, 0x1d, 0xba, 0xc4, 0xd3, 0x77, 0x1d, 0xda, 0xec, 0xd4, 0xe6, 0xfe, 0x4c, 0x0e, 0x6e, 0x0d, 0x28, 0xbb, 0x61, 0xe0, 0x66, 0xd2, 0xcd, 0x6e, 0xc1, 0x0a, 0xb7, 0x9d, 0x32, 0x55,
0x79, 0xa3, 0x66, 0x95, 0x20, 0x9e, 0x32, 0xcd, 0x44, 0xba, 0xe7, 0xcd, 0xcf, 0x1a, 0x13, 0x4e, 0xae, 0x5f, 0xcc, 0xd5, 0xdc, 0x2f, 0xf8, 0xa9, 0x8b, 0xea, 0x9d, 0x1e, 0x0a, 0xdf, 0xef, 0xc0,
0xe6, 0xbe, 0x83, 0xc7, 0x23, 0x1a, 0x30, 0x26, 0xae, 0x2f, 0x06, 0x0a, 0x1f, 0xdf, 0x98, 0x50, 0x92, 0x78, 0xca, 0x19, 0x45, 0xa7, 0x9f, 0xa9, 0xaf, 0x37, 0x11, 0x6a, 0x56, 0xe2, 0x2a, 0xd2,
0x1f, 0x8b, 0xdc, 0x2a, 0x59, 0x2f, 0x78, 0xad, 0xc7, 0xa3, 0xfa, 0x05, 0x4f, 0x21, 0x26, 0x48, 0x5d, 0x83, 0x56, 0x36, 0x89, 0x3c, 0xea, 0x3b, 0x2c, 0xe6, 0x88, 0x83, 0x08, 0x9d, 0xa9, 0x8a,
0x70, 0x25, 0x97, 0xb6, 0x1c, 0x2a, 0x59, 0x41, 0x22, 0x7c, 0x3d, 0xa8, 0xab, 0x69, 0x4f, 0x46, 0x25, 0x9f, 0x66, 0x2c, 0xa2, 0x0c, 0x1d, 0xa9, 0x6a, 0x3f, 0xc3, 0xfc, 0x90, 0x97, 0xf7, 0x67,
0x1e, 0xbe, 0xa0, 0x72, 0xa4, 0xfc, 0x18, 0x5a, 0x32, 0x19, 0x9e, 0x87, 0x58, 0x71, 0xdd, 0xca, 0xe8, 0x65, 0x9c, 0xb8, 0xc0, 0x99, 0x5d, 0xb8, 0xb2, 0x10, 0x15, 0x89, 0x0b, 0x0b, 0x77, 0xa1,
0xd6, 0x95, 0x68, 0x25, 0x6d, 0xe9, 0x5c, 0x7d, 0xb2, 0xf1, 0x1e, 0x24, 0x7e, 0x1f, 0x78, 0x01, 0xa9, 0x3a, 0x84, 0xcc, 0x09, 0xe9, 0x39, 0x93, 0x65, 0xe8, 0x7b, 0xd0, 0x91, 0xfe, 0xf2, 0x34,
0xc1, 0x92, 0x43, 0x07, 0xaa, 0x8e, 0x17, 0x90, 0xcc, 0xbc, 0x6b, 0x40, 0x91, 0xcc, 0x1c, 0x87, 0xa1, 0x0a, 0xeb, 0x76, 0x31, 0x16, 0x45, 0xfa, 0x59, 0x96, 0xfa, 0xd7, 0xab, 0x21, 0xe6, 0x2d,
0xe5, 0xd0, 0x12, 0x37, 0x6a, 0x0c, 0x6d, 0xfe, 0x4a, 0x72, 0x50, 0x1d, 0xec, 0x3b, 0xc8, 0x8f, 0xf1, 0x7f, 0x2f, 0x8c, 0x33, 0x2a, 0x31, 0xac, 0x40, 0xdd, 0x0b, 0xe3, 0xac, 0x50, 0x23, 0x5b,
0x11, 0x88, 0xe7, 0x4e, 0x5d, 0xd5, 0x88, 0x6a, 0xb0, 0x72, 0x11, 0x44, 0x0e, 0xe6, 0x36, 0x96, 0x50, 0xc9, 0xc6, 0x9e, 0xc7, 0xdd, 0x6c, 0x01, 0x85, 0xf2, 0x61, 0x19, 0x5f, 0x49, 0x0c, 0x2a,
0xac, 0x7f, 0x18, 0xd0, 0xe2, 0x62, 0x86, 0xd4, 0xa6, 0x33, 0x22, 0x55, 0xfc, 0x04, 0x6a, 0x4c, 0xeb, 0x7d, 0x0b, 0xfa, 0x79, 0xd7, 0x12, 0x06, 0xa3, 0x40, 0x25, 0xaf, 0x06, 0x94, 0xcf, 0xe3,
0x45, 0xac, 0x02, 0x2c, 0x85, 0x74, 0xe2, 0x0c, 0xe2, 0x54, 0x71, 0xf9, 0xe8, 0x16, 0x7a, 0x08, 0xd4, 0xa3, 0x28, 0x63, 0xd5, 0xfe, 0x93, 0x05, 0x1d, 0x24, 0x73, 0xc2, 0x5c, 0x36, 0xce, 0x24,
0x55, 0x1d, 0x2a, 0x71, 0x49, 0x95, 0xbd, 0x35, 0xa5, 0xd2, 0x42, 0x68, 0x8e, 0x6e, 0xa1, 0x1d, 0x8b, 0xef, 0x42, 0x83, 0xb3, 0x48, 0x95, 0xd1, 0x25, 0x91, 0x95, 0xdc, 0xc9, 0x10, 0x2a, 0x2e,
0x00, 0x66, 0xc6, 0x88, 0x8b, 0xe1, 0xba, 0x68, 0x0f, 0x16, 0x7c, 0x76, 0x74, 0xeb, 0x71, 0x09, 0x1f, 0xdc, 0x20, 0x0f, 0xa1, 0xae, 0xb7, 0x57, 0x48, 0xa9, 0xb6, 0xb3, 0xae, 0x58, 0x9a, 0x31,
0x56, 0x45, 0x6b, 0xb0, 0xee, 0x40, 0x2d, 0xa5, 0x40, 0x6a, 0xac, 0x55, 0xad, 0x7f, 0x19, 0x80, 0xcd, 0xc1, 0x0d, 0x32, 0x00, 0xc0, 0xdc, 0x85, 0x64, 0x90, 0x17, 0xed, 0xc1, 0x8c, 0xce, 0x0e,
0x58, 0xbc, 0x32, 0x7e, 0xeb, 0x41, 0x9d, 0xda, 0xd1, 0x04, 0xd3, 0x51, 0xaa, 0x85, 0xf3, 0xb6, 0x6e, 0x7c, 0x5c, 0x85, 0x9b, 0x22, 0x7b, 0xd8, 0xb7, 0xa1, 0x61, 0x30, 0x60, 0x94, 0xc2, 0xba,
0x13, 0x8c, 0xe3, 0xe6, 0xb9, 0xc4, 0x83, 0x61, 0x02, 0xd2, 0x88, 0x0a, 0xe1, 0x14, 0x54, 0xea, 0xfd, 0x67, 0x0b, 0x08, 0xb7, 0x57, 0x41, 0x6f, 0x5d, 0x68, 0x32, 0x37, 0x1d, 0x52, 0xe6, 0x18,
0x8b, 0x7e, 0xa9, 0xe0, 0x89, 0xec, 0xf3, 0xa2, 0x6d, 0xde, 0x81, 0xae, 0x6c, 0x9b, 0x99, 0x63, 0x69, 0x1f, 0x33, 0x53, 0xec, 0xe7, 0x09, 0x77, 0x01, 0x8d, 0xd1, 0x07, 0xa2, 0x01, 0x55, 0x57,
0xd1, 0x3d, 0xfb, 0xd0, 0x70, 0x82, 0xe9, 0xd4, 0x25, 0x84, 0x35, 0x76, 0xe2, 0xfe, 0x5a, 0xf5, 0x54, 0x52, 0xe1, 0x20, 0x52, 0xaa, 0x6a, 0x69, 0x64, 0x6d, 0x10, 0x09, 0xf7, 0x36, 0xac, 0xca,
0x4e, 0x59, 0x15, 0x3c, 0x07, 0x79, 0x56, 0xd7, 0xac, 0xbf, 0x19, 0xd0, 0x64, 0x86, 0xa4, 0x22, 0xcc, 0x5a, 0x38, 0x16, 0x89, 0x77, 0x0d, 0x5a, 0x5e, 0x3c, 0x1a, 0x05, 0x59, 0xc6, 0x8b, 0x41,
0xf3, 0x00, 0xaa, 0xdc, 0x6f, 0xdf, 0x5b, 0x60, 0x3e, 0x81, 0x32, 0x17, 0x10, 0x84, 0xd8, 0x97, 0x16, 0xfc, 0x5c, 0x65, 0x5e, 0x19, 0x29, 0xe8, 0x83, 0x98, 0x1b, 0x1a, 0xf6, 0x1f, 0x2c, 0x68,
0x71, 0x19, 0xa4, 0xe3, 0x92, 0x14, 0x43, 0x2a, 0x2c, 0x3f, 0x82, 0xae, 0x14, 0x9f, 0xf1, 0xfc, 0x73, 0x41, 0x0c, 0xcb, 0xdc, 0x83, 0x3a, 0xea, 0xed, 0x7f, 0x66, 0x98, 0x77, 0x61, 0x09, 0x09,
0x7d, 0x58, 0x25, 0xdc, 0x04, 0x89, 0x29, 0x3a, 0x69, 0x76, 0xc2, 0x3c, 0xeb, 0xef, 0x4b, 0xd0, 0xc4, 0x09, 0x8d, 0xa4, 0x5d, 0x7a, 0xa6, 0x5d, 0xa6, 0xc1, 0x60, 0x98, 0xe5, 0xbb, 0xb0, 0x2a,
0xcb, 0xbe, 0x97, 0x5d, 0xe8, 0x27, 0xd0, 0x5c, 0x68, 0x34, 0xa2, 0xa5, 0x3d, 0x48, 0xdb, 0x9d, 0xc9, 0x17, 0x34, 0x7f, 0x17, 0x6e, 0x66, 0x28, 0x82, 0xec, 0x43, 0x56, 0x4c, 0x74, 0x42, 0x3c,
0x79, 0x98, 0x21, 0x9b, 0xff, 0x36, 0xa0, 0x9e, 0x26, 0x2d, 0x4c, 0x74, 0x56, 0x9c, 0x71, 0xc7, 0xfb, 0x8f, 0x0b, 0xd0, 0x2d, 0xbe, 0x97, 0x89, 0xea, 0xfb, 0xd0, 0x9e, 0x49, 0x3e, 0x22, 0xeb,
0x53, 0xf9, 0x90, 0x33, 0x4c, 0x0b, 0x0b, 0xc3, 0x74, 0x39, 0x7f, 0x98, 0xae, 0xdc, 0x30, 0x4c, 0xdd, 0x33, 0xe5, 0x2e, 0x3c, 0x2c, 0x80, 0xfb, 0x7f, 0xb1, 0xa0, 0x69, 0x82, 0x66, 0xba, 0x00,
0x57, 0x15, 0xc0, 0x4e, 0xb5, 0x82, 0x22, 0x67, 0x9b, 0x38, 0xac, 0xf4, 0x1e, 0x87, 0x3d, 0x80, 0x1e, 0x9c, 0x79, 0x52, 0x54, 0xfe, 0x30, 0xa7, 0x00, 0x0b, 0x57, 0xf8, 0xaf, 0xeb, 0x6d, 0x31,
0xce, 0x4b, 0xdb, 0xf3, 0x30, 0x7d, 0x2c, 0x58, 0x2a, 0x77, 0x77, 0xa0, 0x7a, 0x2d, 0x80, 0xd3, 0x15, 0x54, 0x10, 0xed, 0x54, 0x61, 0xd5, 0x6f, 0x50, 0xd8, 0x3d, 0x58, 0x79, 0xee, 0x86, 0x21,
0x28, 0xf0, 0x3d, 0xd1, 0xb0, 0x4b, 0xd6, 0x26, 0x74, 0x33, 0xb7, 0x13, 0x4c, 0xa3, 0x74, 0x62, 0x65, 0x1f, 0x0b, 0x94, 0x4a, 0xdd, 0x2b, 0x50, 0xbf, 0x12, 0xcd, 0x96, 0x13, 0x47, 0xa1, 0xc8,
0x37, 0x0d, 0xab, 0x0f, 0x5d, 0x29, 0x28, 0xcd, 0xd8, 0xfa, 0x18, 0x7a, 0xd9, 0x83, 0x7c, 0x1e, 0xe9, 0x55, 0x7b, 0x0b, 0x56, 0x0b, 0xb7, 0xa7, 0x7d, 0x90, 0xe2, 0x89, 0xdf, 0xb4, 0xec, 0x35,
0x05, 0xeb, 0x1b, 0x68, 0x7e, 0x15, 0xcc, 0xa8, 0xeb, 0x4f, 0xce, 0xec, 0x73, 0x0f, 0x1f, 0xbb, 0x58, 0x95, 0x84, 0x4c, 0xc4, 0xf6, 0xff, 0x43, 0xb7, 0x78, 0x30, 0x1f, 0x47, 0xc9, 0xbe, 0x07,
0xfe, 0x6b, 0x86, 0x82, 0xdd, 0xf1, 0x43, 0x39, 0x3f, 0xf8, 0x8f, 0xbd, 0x04, 0x93, 0x30, 0x40, 0xf5, 0xcf, 0xe2, 0x31, 0xcb, 0x79, 0x9a, 0xa9, 0xb2, 0x72, 0x34, 0x11, 0xfd, 0xed, 0x67, 0x50,
0xff, 0x5e, 0xc7, 0xd6, 0x61, 0xf5, 0x3a, 0x19, 0x0e, 0x86, 0xb5, 0x06, 0xfd, 0xe1, 0x65, 0x70, 0x3a, 0x88, 0x13, 0xbd, 0x9d, 0xb1, 0xb0, 0x80, 0x4a, 0xad, 0x3b, 0xb9, 0x8e, 0x17, 0x94, 0x32,
0xad, 0x4b, 0x51, 0x7a, 0x1e, 0xc2, 0x60, 0xf1, 0x48, 0x6a, 0xfa, 0xb1, 0x36, 0xfc, 0x45, 0x0a, 0xdd, 0x11, 0xe3, 0x45, 0xe1, 0x3c, 0x4e, 0xaf, 0xdc, 0xd4, 0x97, 0x13, 0x4e, 0x0d, 0x4a, 0xe7,
0x29, 0x0c, 0x98, 0xd5, 0x97, 0xc1, 0xe3, 0xe2, 0x33, 0xff, 0x2a, 0x70, 0x1d, 0xde, 0x61, 0xa6, 0x94, 0x0a, 0x43, 0xd8, 0x2e, 0x94, 0x91, 0x03, 0x1e, 0x71, 0xa2, 0x35, 0x11, 0x99, 0x90, 0xb7,
0x78, 0x1a, 0x24, 0xf3, 0x9f, 0x63, 0x97, 0x90, 0xca, 0x76, 0x81, 0x00, 0xa2, 0x51, 0x18, 0x61, 0x6c, 0x96, 0x2a, 0x39, 0xda, 0xf8, 0x96, 0x77, 0x76, 0x02, 0x36, 0x9d, 0x9b, 0x7a, 0x7c, 0xce,
0x77, 0x6a, 0x4f, 0xb0, 0x44, 0x77, 0x75, 0x58, 0x8d, 0xf4, 0xad, 0x29, 0xc6, 0xfd, 0x2b, 0x6a, 0x48, 0x78, 0x41, 0xe3, 0x0e, 0x07, 0xaa, 0x37, 0x89, 0x13, 0xdb, 0x86, 0xd6, 0x51, 0xec, 0x53,
0xaa, 0x4b, 0x10, 0x25, 0x87, 0x1a, 0x4b, 0xb1, 0x08, 0x4b, 0xc0, 0x67, 0x53, 0x2c, 0xa7, 0x7f, 0xad, 0xcc, 0xce, 0xc8, 0x69, 0xff, 0x18, 0xaa, 0xea, 0x0e, 0xb1, 0x61, 0x91, 0x27, 0x95, 0x42,
0x1b, 0x2a, 0xe2, 0x9e, 0x20, 0x72, 0xa8, 0x64, 0xdd, 0x07, 0xb4, 0x3f, 0x1e, 0x4b, 0xe5, 0x62, 0xc8, 0xe6, 0xfd, 0x2a, 0xbf, 0xc7, 0x8d, 0x87, 0x69, 0x40, 0xb9, 0xf9, 0x02, 0xb2, 0xca, 0x73,
0xdb, 0x12, 0x89, 0xa2, 0x11, 0x3e, 0x84, 0xca, 0xa9, 0xd8, 0xd3, 0x8e, 0x6c, 0x72, 0x29, 0x94, 0x17, 0xb2, 0x95, 0x6b, 0x02, 0x79, 0xb3, 0x9f, 0x41, 0xc3, 0x7c, 0xbe, 0x0c, 0xb5, 0x90, 0x4f,
0x54, 0x0b, 0x5b, 0xb2, 0x35, 0xc8, 0x27, 0xdc, 0x10, 0x6b, 0x0b, 0x10, 0x83, 0x11, 0x31, 0xe7, 0x6c, 0x22, 0x24, 0xa5, 0xa0, 0x1a, 0x53, 0x79, 0xdf, 0x68, 0x76, 0x34, 0x79, 0xc1, 0xc7, 0x11,
0x38, 0xa3, 0x54, 0xfd, 0x69, 0x19, 0xf5, 0x43, 0x01, 0xbb, 0xb2, 0x5a, 0x6c, 0x30, 0x28, 0xcc, 0xd8, 0x8e, 0xa0, 0xc1, 0x75, 0x17, 0x44, 0xc3, 0xe3, 0x38, 0x0c, 0xbc, 0x09, 0xea, 0x50, 0x69,
0x49, 0xca, 0xc3, 0x75, 0xe9, 0x61, 0x79, 0x93, 0xe1, 0x35, 0xf9, 0xe7, 0x70, 0x76, 0x4e, 0x9c, 0x8f, 0x77, 0xb0, 0xcc, 0x95, 0xa8, 0xdb, 0x50, 0x1d, 0x05, 0x11, 0x76, 0x6f, 0x52, 0x83, 0xab,
0xc8, 0x0d, 0xf9, 0xb2, 0xfa, 0x0a, 0x8a, 0x52, 0xdd, 0x8c, 0x25, 0xd9, 0x9d, 0x69, 0xd1, 0x55, 0xd0, 0x38, 0xa7, 0xdc, 0xcd, 0x33, 0xea, 0x8c, 0x32, 0x57, 0x69, 0x71, 0x03, 0x96, 0x39, 0x38,
0x02, 0xc8, 0x56, 0x61, 0x39, 0xb4, 0x29, 0xf3, 0x77, 0x41, 0x64, 0xd8, 0x05, 0x96, 0xde, 0x56, 0x75, 0x19, 0x75, 0x46, 0x41, 0x18, 0x06, 0xe2, 0x50, 0xd8, 0xea, 0xef, 0x16, 0xd4, 0xa4, 0x67,
0x10, 0x51, 0xf2, 0x8f, 0x51, 0xd3, 0x67, 0x02, 0x22, 0x26, 0xe4, 0xc4, 0x06, 0xb9, 0xe1, 0x66, 0xed, 0xfb, 0x43, 0xca, 0x2d, 0xa3, 0xa2, 0x2d, 0xf7, 0x05, 0x09, 0x33, 0xfa, 0xdf, 0x82, 0xb4,
0x6d, 0x90, 0x57, 0xd9, 0x82, 0xf2, 0x04, 0x7b, 0x98, 0xe2, 0x7d, 0xcf, 0xcb, 0x72, 0x5d, 0x87, 0xa5, 0xbc, 0xe5, 0x88, 0x7d, 0xfa, 0x90, 0xe7, 0x6e, 0x39, 0xd2, 0x4b, 0xd0, 0x0e, 0x82, 0xca,
0xb5, 0x9c, 0x33, 0xc1, 0x7a, 0x6b, 0x0f, 0x6a, 0xa9, 0x32, 0x46, 0x45, 0x28, 0xec, 0x1f, 0x1f, 0x33, 0x91, 0x2b, 0x42, 0x71, 0x1b, 0xea, 0xf2, 0x1d, 0xca, 0x8c, 0xa1, 0x38, 0xb5, 0x92, 0xa9,
0x37, 0x6f, 0xa1, 0x0a, 0x14, 0x9f, 0x9f, 0x1e, 0x9e, 0x3c, 0x3b, 0x79, 0xda, 0x34, 0xd8, 0x8f, 0x0f, 0x79, 0x77, 0x47, 0xdd, 0xad, 0xbe, 0xfe, 0x2e, 0x6f, 0x60, 0xa5, 0x6c, 0x8f, 0x53, 0x37,
0x83, 0xe3, 0xe7, 0x43, 0xf6, 0x63, 0x69, 0xef, 0xaf, 0x08, 0xca, 0xf1, 0x8a, 0x82, 0xbe, 0x85, 0xb9, 0x50, 0xc1, 0xf4, 0x79, 0x3e, 0x38, 0x23, 0x98, 0xbc, 0x05, 0x65, 0x8e, 0x52, 0x25, 0xb6,
0x5a, 0xaa, 0x92, 0xd1, 0xba, 0xd4, 0x2d, 0xaf, 0x1b, 0x98, 0xb7, 0xf3, 0x0f, 0xe5, 0x2a, 0x7e, 0xf9, 0xde, 0x71, 0x07, 0xca, 0xd4, 0x1f, 0xa2, 0xb7, 0xea, 0x6b, 0x02, 0x4d, 0x77, 0xdc, 0x29,
0xf7, 0x37, 0xff, 0xf9, 0xef, 0x1f, 0x96, 0x06, 0xa8, 0xb7, 0x73, 0xf5, 0x70, 0x47, 0x96, 0xf0, 0xf9, 0xdf, 0x82, 0x53, 0x1a, 0x71, 0x65, 0xaf, 0xf0, 0xa9, 0x8b, 0x5d, 0xc5, 0xe9, 0x0b, 0xbd,
0x0e, 0x47, 0x48, 0x1c, 0x6f, 0xa1, 0xd7, 0x50, 0x4f, 0x97, 0x3c, 0xba, 0x9d, 0xee, 0x45, 0x19, 0x45, 0xfc, 0x97, 0x05, 0x35, 0x0d, 0xcc, 0x9d, 0x6e, 0xc8, 0x59, 0x73, 0xfc, 0xc0, 0x1d, 0x51,
0x69, 0x77, 0x6e, 0x38, 0x95, 0xe2, 0x6e, 0x73, 0x71, 0x3d, 0xd4, 0xd1, 0xc5, 0xa9, 0x7a, 0x44, 0x46, 0x53, 0x69, 0x73, 0x1e, 0x7e, 0x97, 0x43, 0x27, 0x1e, 0x33, 0xc7, 0xa7, 0xc3, 0x94, 0x52,
0x98, 0xe3, 0x4f, 0xfd, 0x3b, 0x08, 0x52, 0xfc, 0xf2, 0xbf, 0x8f, 0x98, 0x6b, 0x8b, 0xdf, 0x3c, 0xb9, 0x67, 0xe9, 0x42, 0x73, 0xe4, 0xbe, 0xd4, 0xe1, 0x25, 0xbd, 0x07, 0x14, 0xd2, 0x2d, 0xaa,
0xe4, 0x47, 0x12, 0x6b, 0xc0, 0x45, 0x21, 0xd4, 0x64, 0xa2, 0xf4, 0xcf, 0x25, 0xe8, 0x17, 0x50, 0x1e, 0xd0, 0xf0, 0x72, 0xd1, 0x19, 0xbe, 0x01, 0x5d, 0xe1, 0xe5, 0x91, 0xe0, 0xc2, 0x29, 0x58,
0x8e, 0x37, 0x63, 0xd4, 0xd7, 0x36, 0x7b, 0x7d, 0xbb, 0x36, 0x07, 0x8b, 0x07, 0xd2, 0x88, 0x75, 0xa8, 0x07, 0x6d, 0x4e, 0x58, 0xb9, 0x06, 0x16, 0xcf, 0x0a, 0x92, 0xee, 0x41, 0x9b, 0xbb, 0xa1,
0xce, 0xb9, 0x6b, 0x2d, 0x70, 0x7e, 0x64, 0x6c, 0xa1, 0x63, 0xe8, 0xca, 0xa4, 0x3e, 0xc7, 0xdf, 0x71, 0x52, 0x55, 0x6f, 0x38, 0x53, 0xc6, 0x09, 0x4e, 0x24, 0xf6, 0x5d, 0x68, 0x9d, 0x50, 0xb6,
0xc5, 0x92, 0x9c, 0xaf, 0x37, 0xbb, 0x06, 0xfa, 0x1c, 0x4a, 0xea, 0xc3, 0x00, 0xea, 0xe5, 0x7f, 0xcb, 0xdd, 0x5e, 0x29, 0x8a, 0x73, 0x4a, 0xaf, 0x1c, 0x11, 0x0a, 0x22, 0x7e, 0x09, 0x1f, 0xd6,
0x83, 0x30, 0xfb, 0x0b, 0x74, 0x99, 0xc4, 0xfb, 0x00, 0xc9, 0x9e, 0x8c, 0x06, 0x37, 0x2d, 0xf2, 0xd5, 0x2d, 0xb9, 0xf3, 0xf8, 0xda, 0x82, 0xca, 0x93, 0xe8, 0x32, 0x0e, 0x3c, 0x6c, 0x3d, 0x46,
0xb1, 0x13, 0x73, 0x96, 0xea, 0x09, 0xff, 0x40, 0x90, 0x5e, 0xc3, 0xd1, 0xbd, 0xe4, 0x7e, 0xee, 0x74, 0x14, 0x4f, 0x67, 0x07, 0x9c, 0x7b, 0x12, 0x26, 0xfb, 0x08, 0x02, 0x90, 0x3a, 0x49, 0x4a,
0x82, 0xfe, 0x1e, 0x86, 0x56, 0x8f, 0xfb, 0xae, 0x89, 0xea, 0xcc, 0x77, 0x3e, 0xbe, 0x96, 0x5b, 0x83, 0x91, 0x3b, 0xa4, 0x72, 0x54, 0x6c, 0xc2, 0xcd, 0x54, 0x5f, 0xc1, 0xe4, 0x4b, 0x84, 0xb2,
0x13, 0x7a, 0x05, 0x15, 0x6d, 0xdf, 0x46, 0x1a, 0x40, 0xc9, 0x2c, 0xf0, 0xa6, 0x99, 0x77, 0x24, 0x9a, 0x08, 0xe4, 0x00, 0x26, 0x56, 0x2e, 0x98, 0x05, 0x53, 0x2a, 0xa7, 0x47, 0xee, 0xe7, 0x15,
0xb9, 0x77, 0x38, 0xf7, 0xba, 0x55, 0x66, 0xdc, 0xf9, 0x7e, 0xc1, 0x42, 0xf2, 0x33, 0x56, 0x3c, 0x35, 0x51, 0x89, 0x7b, 0x02, 0x58, 0x95, 0x42, 0x91, 0x5d, 0xdf, 0x97, 0xcc, 0xe5, 0xe9, 0x79,
0x72, 0x35, 0x42, 0xc9, 0xc6, 0x9f, 0x5e, 0xa0, 0xe2, 0x78, 0x2f, 0x6c, 0x51, 0x56, 0x8b, 0x73, 0x4a, 0x51, 0x74, 0x48, 0x0f, 0xa1, 0x76, 0x2c, 0x96, 0x3e, 0x07, 0x6e, 0x76, 0x21, 0x98, 0x54,
0xad, 0xa0, 0x84, 0x2b, 0xfa, 0x12, 0x8a, 0x72, 0x53, 0x42, 0xdd, 0x24, 0xae, 0xda, 0x32, 0x65, 0xdb, 0x9f, 0xe9, 0x0a, 0x42, 0x3e, 0x41, 0x41, 0xec, 0x6d, 0x20, 0x7c, 0x04, 0xc9, 0x31, 0xe7,
0xf6, 0xb2, 0x64, 0xc9, 0xac, 0xcd, 0x99, 0xd5, 0x50, 0x85, 0x31, 0x9b, 0x60, 0xea, 0x32, 0x1e, 0xa5, 0x46, 0x15, 0x66, 0xad, 0xd4, 0x7c, 0x47, 0x8c, 0x6c, 0x45, 0x2e, 0x36, 0xf9, 0x5c, 0x8d,
0x1e, 0x34, 0xd2, 0xb0, 0x84, 0xc4, 0x65, 0x96, 0x8b, 0xa8, 0xe2, 0x32, 0xcb, 0x87, 0x3d, 0xe9, 0x20, 0xe5, 0xe4, 0x4d, 0xe9, 0xbf, 0xf2, 0x26, 0x0f, 0x15, 0xf9, 0xf3, 0x64, 0x7c, 0x96, 0x79,
0x32, 0x53, 0xe5, 0xb5, 0x23, 0x5b, 0x38, 0xfa, 0x25, 0x54, 0xf5, 0xbd, 0x18, 0x99, 0x9a, 0xe5, 0x69, 0x90, 0xe0, 0xe6, 0xeb, 0x0b, 0xa8, 0x48, 0x76, 0x0b, 0x92, 0x14, 0x17, 0x30, 0xb3, 0xaa,
0x99, 0x1d, 0xda, 0x5c, 0xcf, 0x3d, 0x4b, 0xbb, 0x1b, 0x55, 0x75, 0x31, 0xe8, 0x15, 0x34, 0x34, 0x12, 0xc9, 0xa7, 0x0e, 0x8b, 0x89, 0xcb, 0x2e, 0x30, 0x85, 0x2f, 0xa9, 0x32, 0x81, 0xda, 0x56,
0xf4, 0x3d, 0x9c, 0xfb, 0x4e, 0x1c, 0xce, 0x45, 0x54, 0x6e, 0xe6, 0xae, 0x4d, 0x7d, 0xce, 0xb8, 0xe3, 0xa5, 0xc4, 0x9f, 0x4f, 0x5c, 0xef, 0x8b, 0xf1, 0x72, 0x0a, 0x9e, 0xca, 0x20, 0xd7, 0x65,
0x65, 0xa5, 0x18, 0xb3, 0x50, 0x1e, 0x40, 0x45, 0xe3, 0xf1, 0x3e, 0xbe, 0x7d, 0xed, 0x48, 0xc7, 0x45, 0x19, 0xe4, 0x55, 0xbb, 0x0f, 0xbd, 0x47, 0x34, 0xa4, 0x8c, 0xee, 0x86, 0x61, 0x11, 0xeb,
0xcf, 0xbb, 0x06, 0xfa, 0x8b, 0x01, 0x55, 0x7d, 0xb1, 0x8a, 0x1d, 0x90, 0xb3, 0x6d, 0xc5, 0x69, 0x06, 0xac, 0xcf, 0x39, 0x13, 0xa8, 0xb7, 0x77, 0xa0, 0x61, 0xd4, 0x77, 0x52, 0x81, 0xd2, 0xee,
0xb1, 0xb0, 0x22, 0x59, 0x5f, 0x73, 0x25, 0x4f, 0xb7, 0x4e, 0x52, 0x4e, 0x7e, 0x9b, 0x82, 0x89, 0xe1, 0x61, 0xfb, 0x06, 0xa9, 0x41, 0xe5, 0xe9, 0xf1, 0xfe, 0xd1, 0x93, 0xa3, 0xc7, 0x6d, 0x8b,
0xdb, 0xfa, 0x17, 0xcc, 0x77, 0xd9, 0x43, 0xfd, 0x23, 0xe6, 0xbb, 0x9d, 0xb7, 0x7c, 0x2b, 0x7b, 0xff, 0xd9, 0x3b, 0x7c, 0x7a, 0xc2, 0xff, 0x2c, 0xec, 0xfc, 0x75, 0x15, 0x96, 0xf2, 0x0c, 0x41,
0xb7, 0x6b, 0xa0, 0x47, 0xe2, 0xa3, 0xad, 0x1a, 0x86, 0x48, 0x2b, 0xf0, 0xac, 0xdb, 0xf4, 0xef, 0xbe, 0x82, 0x86, 0x51, 0xe2, 0xc9, 0x86, 0xe4, 0x6d, 0x5e, 0x9b, 0xd0, 0xbf, 0x35, 0xff, 0x50,
0xaa, 0x9b, 0xc6, 0xae, 0x81, 0xbe, 0x11, 0x9f, 0x34, 0xe5, 0x5b, 0xee, 0xfd, 0xff, 0xf7, 0xbd, 0xfa, 0xf8, 0x1b, 0xbf, 0xf8, 0xdb, 0x3f, 0x7f, 0xbd, 0xd0, 0x23, 0xdd, 0xc1, 0xe5, 0xc3, 0x81,
0x75, 0x9f, 0x5b, 0x74, 0xd7, 0x5a, 0x4b, 0x59, 0x94, 0xed, 0x70, 0xa7, 0x00, 0x09, 0xf6, 0x40, 0xac, 0xed, 0x03, 0x1c, 0x9d, 0x70, 0x10, 0x23, 0x2f, 0xa0, 0x69, 0xf6, 0x02, 0xe4, 0x96, 0x99,
0x99, 0xd9, 0x1e, 0xd7, 0xfe, 0x22, 0x3c, 0x49, 0x47, 0x55, 0x41, 0x04, 0xc6, 0xf1, 0x5b, 0x91, 0x8c, 0x0a, 0xd4, 0x6e, 0xbf, 0xe6, 0x54, 0x92, 0xbb, 0x85, 0xe4, 0xba, 0x64, 0x45, 0x27, 0xa7,
0x90, 0xf2, 0x3e, 0x89, 0xc3, 0xba, 0x88, 0x44, 0x4c, 0x33, 0xef, 0x48, 0xf2, 0xff, 0x01, 0xe7, 0xd2, 0x03, 0xa1, 0x38, 0xbb, 0xea, 0x4b, 0x55, 0xa2, 0xf0, 0xcd, 0x5f, 0xb6, 0xf6, 0xd7, 0x67,
0x7f, 0x07, 0xad, 0xeb, 0xfc, 0x77, 0xde, 0xea, 0xc8, 0xe5, 0x1d, 0xfa, 0x1a, 0x6a, 0xc7, 0x41, 0x17, 0xa8, 0x72, 0xe3, 0x6a, 0xf7, 0x90, 0x14, 0x21, 0x6d, 0x4e, 0x4a, 0xdf, 0xbd, 0x92, 0x2f,
0xf0, 0x7a, 0x16, 0x2a, 0x03, 0x50, 0x7a, 0xb0, 0x33, 0xa4, 0x64, 0x66, 0x01, 0xcb, 0x07, 0x9c, 0x61, 0x29, 0x5f, 0xb3, 0x91, 0x35, 0x6d, 0x4d, 0xa8, 0xaf, 0xea, 0xfa, 0xbd, 0xd9, 0x03, 0x29,
0xf3, 0x3a, 0x5a, 0x4b, 0x73, 0x4e, 0xd0, 0xd4, 0x3b, 0x64, 0x43, 0x2b, 0xee, 0xfb, 0xb1, 0x21, 0xc4, 0x06, 0x62, 0x5e, 0xb5, 0x67, 0x30, 0x7f, 0x60, 0x6d, 0x93, 0x43, 0x58, 0x95, 0x4e, 0x7d,
0x66, 0x9a, 0x8f, 0x8e, 0x76, 0x16, 0x64, 0xa4, 0x26, 0x71, 0x2c, 0x83, 0x28, 0x9e, 0xbb, 0x06, 0x46, 0xbf, 0x8d, 0x24, 0x73, 0x56, 0xc1, 0x0f, 0x2c, 0xf2, 0x21, 0x54, 0xd5, 0x96, 0x91, 0x74,
0x1a, 0x42, 0x33, 0x0b, 0x6b, 0xd1, 0x5d, 0x15, 0xc7, 0x7c, 0x28, 0x6c, 0xde, 0xbb, 0xf1, 0x5c, 0xe7, 0x2f, 0x34, 0xfb, 0x6b, 0x33, 0x70, 0xe9, 0xc4, 0xbb, 0x00, 0xd3, 0xa5, 0x1b, 0xe9, 0xbd,
0x76, 0x78, 0xd9, 0x0c, 0x14, 0x4c, 0x49, 0x35, 0x83, 0x0c, 0xae, 0x49, 0x35, 0x83, 0x2c, 0xae, 0x6e, 0x2b, 0x98, 0x2b, 0x71, 0xce, 0x86, 0x6e, 0x88, 0xdb, 0x46, 0x73, 0xa7, 0x47, 0xde, 0x9c,
0x49, 0x37, 0x03, 0x05, 0x9e, 0x90, 0x07, 0xad, 0x05, 0x28, 0x14, 0x0f, 0x90, 0x9b, 0x00, 0x94, 0xde, 0x9f, 0xbb, 0xed, 0xfb, 0x06, 0x84, 0x76, 0x17, 0x75, 0xd7, 0x26, 0x4d, 0xae, 0xbb, 0x88,
0xb9, 0x71, 0xf3, 0x85, 0xb4, 0xb4, 0xad, 0x94, 0xb4, 0xf3, 0x55, 0xfe, 0xdf, 0x9e, 0x4f, 0xff, 0x5e, 0xc9, 0xfe, 0x84, 0x7c, 0x01, 0x35, 0x6d, 0x79, 0x47, 0xb4, 0xc9, 0xa5, 0xb0, 0x0d, 0xec,
0x17, 0x00, 0x00, 0xff, 0xff, 0x6e, 0x2f, 0x7f, 0x12, 0x1f, 0x1a, 0x00, 0x00, 0xf7, 0xe7, 0x1d, 0x49, 0xec, 0x2b, 0x88, 0xbd, 0x69, 0x2f, 0x71, 0xec, 0xb8, 0x8c, 0xe0, 0x26,
0xf9, 0x94, 0x07, 0x8f, 0x5c, 0xab, 0x90, 0xe9, 0xfa, 0xd0, 0x5c, 0xbe, 0xe4, 0xf6, 0x9e, 0xd9,
0xc0, 0xd8, 0x1d, 0xc4, 0x5a, 0x23, 0x53, 0xac, 0xe4, 0x13, 0xa8, 0xc8, 0x2d, 0x0b, 0x59, 0x9d,
0xda, 0x55, 0xab, 0xb2, 0xfd, 0x6e, 0x11, 0x2c, 0x91, 0x2d, 0x23, 0xb2, 0x06, 0xa9, 0x71, 0x64,
0x43, 0xca, 0x02, 0x8e, 0x23, 0x84, 0x96, 0x39, 0xaf, 0x64, 0x79, 0x98, 0xcd, 0x1d, 0xb5, 0xf2,
0x30, 0x9b, 0x3f, 0x0f, 0x99, 0x61, 0xa6, 0xc2, 0x6b, 0x20, 0x53, 0x38, 0xf9, 0x09, 0xd4, 0xf5,
0x9d, 0x1a, 0xe9, 0x6b, 0x92, 0x17, 0xf6, 0x6f, 0xfd, 0x8d, 0xb9, 0x67, 0xa6, 0xba, 0x49, 0x5d,
0x27, 0x43, 0xbe, 0x80, 0x96, 0x36, 0x96, 0x9f, 0x4c, 0x22, 0x2f, 0x37, 0xe7, 0xec, 0xb8, 0xde,
0x9f, 0xbb, 0x4f, 0x59, 0x43, 0xc4, 0x1d, 0xdb, 0x40, 0xcc, 0x4d, 0xb9, 0x07, 0x35, 0x0d, 0xc7,
0x37, 0xe1, 0x5d, 0xd3, 0x8e, 0xf4, 0xc1, 0xfa, 0x81, 0x45, 0x7e, 0x67, 0x41, 0x5d, 0xdf, 0xb8,
0xe4, 0x0a, 0x98, 0xb3, 0x86, 0xc9, 0xdd, 0x62, 0x66, 0x77, 0x62, 0x7f, 0x8e, 0x4c, 0x1e, 0x6f,
0x1f, 0x19, 0x4a, 0x7e, 0x65, 0xcc, 0x8f, 0xf7, 0xf5, 0xcf, 0x21, 0xd7, 0xc5, 0x43, 0xfd, 0x8b,
0xc8, 0xf5, 0xe0, 0x15, 0xae, 0x6b, 0xae, 0x1f, 0x58, 0xe4, 0x03, 0xf1, 0x05, 0x48, 0x15, 0x43,
0xa2, 0x05, 0x78, 0x51, 0x6d, 0xfa, 0x47, 0x9a, 0x2d, 0xeb, 0x81, 0x45, 0x7e, 0x2a, 0xbe, 0x8f,
0xc8, 0xb7, 0xa8, 0xfd, 0xff, 0xf4, 0xbd, 0x7d, 0x17, 0x25, 0x7a, 0xc3, 0x5e, 0x37, 0x24, 0x2a,
0x66, 0xb8, 0x63, 0x80, 0x69, 0xef, 0x41, 0x0a, 0xb5, 0x3d, 0x8f, 0xfd, 0xd9, 0xf6, 0xc4, 0xb4,
0xaa, 0x6a, 0x11, 0x38, 0xc6, 0xaf, 0x84, 0x43, 0xca, 0xfb, 0x59, 0x6e, 0xd6, 0xd9, 0x4e, 0xa4,
0xdf, 0x9f, 0x77, 0x24, 0xf1, 0xbf, 0x85, 0xf8, 0x6f, 0x93, 0x0d, 0x1d, 0xff, 0xe0, 0x95, 0xde,
0xb9, 0x5c, 0x93, 0xcf, 0xa1, 0x71, 0x18, 0xc7, 0x2f, 0xc6, 0x89, 0x12, 0x80, 0x98, 0x85, 0x9d,
0x77, 0x4a, 0xfd, 0x62, 0xc3, 0x72, 0x07, 0x31, 0x6f, 0x90, 0x75, 0x13, 0xf3, 0xb4, 0x9b, 0xba,
0x26, 0x2e, 0x74, 0xf2, 0xbc, 0x9f, 0x0b, 0xd2, 0x37, 0xf1, 0xe8, 0xdd, 0xce, 0x0c, 0x0d, 0xa3,
0x12, 0xe7, 0x34, 0x32, 0x85, 0xf3, 0x81, 0xa5, 0xe2, 0x56, 0x75, 0x14, 0x46, 0xdc, 0x16, 0x5a,
0x10, 0x23, 0x6e, 0x8b, 0x2d, 0x88, 0x19, 0xb7, 0xaa, 0xcf, 0x21, 0x21, 0x74, 0x66, 0xba, 0x96,
0x3c, 0xd7, 0xbf, 0xae, 0xd7, 0xe9, 0x6f, 0xbe, 0xfe, 0x82, 0x49, 0x6d, 0xdb, 0xa4, 0x76, 0x02,
0x8d, 0x47, 0x54, 0x88, 0x26, 0x06, 0xa3, 0xbe, 0x99, 0x08, 0xf4, 0x21, 0xaa, 0x98, 0x24, 0xf0,
0xcc, 0x4c, 0xcb, 0x38, 0xc1, 0x90, 0x2f, 0xa1, 0xf6, 0x98, 0x32, 0x35, 0x17, 0xe5, 0x15, 0xb3,
0x30, 0x28, 0xf5, 0xe7, 0xcd, 0x53, 0x9b, 0x88, 0xad, 0x4f, 0x7a, 0x39, 0xb6, 0x01, 0x1f, 0xc1,
0x44, 0xc8, 0x3a, 0x81, 0x7f, 0x4d, 0x7e, 0x88, 0xc8, 0xf3, 0x29, 0x5f, 0x21, 0x2f, 0xac, 0x06,
0xfa, 0xad, 0x02, 0x7c, 0x1e, 0x66, 0x3e, 0x23, 0x0d, 0x5e, 0xc9, 0x61, 0x9d, 0x63, 0x86, 0x4f,
0xc7, 0x34, 0x9d, 0x88, 0x45, 0xc6, 0xb2, 0x36, 0x5e, 0xe6, 0x7e, 0x5f, 0xd7, 0x81, 0xf6, 0xff,
0x21, 0xca, 0x3b, 0xe4, 0xcd, 0x29, 0xca, 0x94, 0x1f, 0x4c, 0x71, 0x0e, 0x5e, 0xb9, 0x23, 0x76,
0x4d, 0x9e, 0xe3, 0x07, 0x02, 0x7d, 0xda, 0x9b, 0xd6, 0xe6, 0xe2, 0x60, 0x98, 0xab, 0x45, 0x3b,
0x32, 0xeb, 0xb5, 0xa0, 0x84, 0x15, 0x0b, 0x1b, 0x13, 0x31, 0x2f, 0x69, 0x8d, 0x89, 0x31, 0x66,
0x69, 0x8d, 0x89, 0x39, 0x58, 0x9d, 0xdd, 0xc4, 0x2f, 0xfc, 0xef, 0xfd, 0x3b, 0x00, 0x00, 0xff,
0xff, 0x8a, 0x0a, 0xc3, 0xc5, 0x13, 0x20, 0x00, 0x00,
} }

@ -342,6 +342,116 @@ func request_Lightning_DeleteAllPayments_0(ctx context.Context, marshaler runtim
} }
func request_Lightning_DescribeGraph_0(ctx context.Context, marshaler runtime.Marshaler, client LightningClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq ChannelGraphRequest
var metadata runtime.ServerMetadata
msg, err := client.DescribeGraph(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func request_Lightning_GetChanInfo_0(ctx context.Context, marshaler runtime.Marshaler, client LightningClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq ChanInfoRequest
var metadata runtime.ServerMetadata
var (
val string
ok bool
err error
_ = err
)
val, ok = pathParams["chan_id"]
if !ok {
return nil, metadata, grpc.Errorf(codes.InvalidArgument, "missing parameter %s", "chan_id")
}
protoReq.ChanId, err = runtime.Uint64(val)
if err != nil {
return nil, metadata, err
}
msg, err := client.GetChanInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func request_Lightning_GetNodeInfo_0(ctx context.Context, marshaler runtime.Marshaler, client LightningClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq NodeInfoRequest
var metadata runtime.ServerMetadata
var (
val string
ok bool
err error
_ = err
)
val, ok = pathParams["pub_key"]
if !ok {
return nil, metadata, grpc.Errorf(codes.InvalidArgument, "missing parameter %s", "pub_key")
}
protoReq.PubKey, err = runtime.String(val)
if err != nil {
return nil, metadata, err
}
msg, err := client.GetNodeInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func request_Lightning_QueryRoute_0(ctx context.Context, marshaler runtime.Marshaler, client LightningClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq RouteRequest
var metadata runtime.ServerMetadata
var (
val string
ok bool
err error
_ = err
)
val, ok = pathParams["pub_key"]
if !ok {
return nil, metadata, grpc.Errorf(codes.InvalidArgument, "missing parameter %s", "pub_key")
}
protoReq.PubKey, err = runtime.String(val)
if err != nil {
return nil, metadata, err
}
val, ok = pathParams["amt"]
if !ok {
return nil, metadata, grpc.Errorf(codes.InvalidArgument, "missing parameter %s", "amt")
}
protoReq.Amt, err = runtime.Int64(val)
if err != nil {
return nil, metadata, err
}
msg, err := client.QueryRoute(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func request_Lightning_GetNetworkInfo_0(ctx context.Context, marshaler runtime.Marshaler, client LightningClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq NetworkInfoRequest
var metadata runtime.ServerMetadata
msg, err := client.GetNetworkInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
// RegisterLightningHandlerFromEndpoint is same as RegisterLightningHandler but // RegisterLightningHandlerFromEndpoint is same as RegisterLightningHandler but
// automatically dials to "endpoint" and closes the connection when "ctx" gets done. // automatically dials to "endpoint" and closes the connection when "ctx" gets done.
func RegisterLightningHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { func RegisterLightningHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
@ -904,6 +1014,146 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_DescribeGraph_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx)
defer cancel()
if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) {
select {
case <-done:
case <-closed:
cancel()
}
}(ctx.Done(), cn.CloseNotify())
}
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
rctx, err := runtime.AnnotateContext(ctx, req)
if err != nil {
runtime.HTTPError(ctx, outboundMarshaler, w, req, err)
}
resp, md, err := request_Lightning_DescribeGraph_0(rctx, inboundMarshaler, client, req, pathParams)
ctx = runtime.NewServerMetadataContext(ctx, md)
if err != nil {
runtime.HTTPError(ctx, outboundMarshaler, w, req, err)
return
}
forward_Lightning_DescribeGraph_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("GET", pattern_Lightning_GetChanInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx)
defer cancel()
if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) {
select {
case <-done:
case <-closed:
cancel()
}
}(ctx.Done(), cn.CloseNotify())
}
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
rctx, err := runtime.AnnotateContext(ctx, req)
if err != nil {
runtime.HTTPError(ctx, outboundMarshaler, w, req, err)
}
resp, md, err := request_Lightning_GetChanInfo_0(rctx, inboundMarshaler, client, req, pathParams)
ctx = runtime.NewServerMetadataContext(ctx, md)
if err != nil {
runtime.HTTPError(ctx, outboundMarshaler, w, req, err)
return
}
forward_Lightning_GetChanInfo_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("GET", pattern_Lightning_GetNodeInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx)
defer cancel()
if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) {
select {
case <-done:
case <-closed:
cancel()
}
}(ctx.Done(), cn.CloseNotify())
}
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
rctx, err := runtime.AnnotateContext(ctx, req)
if err != nil {
runtime.HTTPError(ctx, outboundMarshaler, w, req, err)
}
resp, md, err := request_Lightning_GetNodeInfo_0(rctx, inboundMarshaler, client, req, pathParams)
ctx = runtime.NewServerMetadataContext(ctx, md)
if err != nil {
runtime.HTTPError(ctx, outboundMarshaler, w, req, err)
return
}
forward_Lightning_GetNodeInfo_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("GET", pattern_Lightning_QueryRoute_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx)
defer cancel()
if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) {
select {
case <-done:
case <-closed:
cancel()
}
}(ctx.Done(), cn.CloseNotify())
}
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
rctx, err := runtime.AnnotateContext(ctx, req)
if err != nil {
runtime.HTTPError(ctx, outboundMarshaler, w, req, err)
}
resp, md, err := request_Lightning_QueryRoute_0(rctx, inboundMarshaler, client, req, pathParams)
ctx = runtime.NewServerMetadataContext(ctx, md)
if err != nil {
runtime.HTTPError(ctx, outboundMarshaler, w, req, err)
return
}
forward_Lightning_QueryRoute_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("GET", pattern_Lightning_GetNetworkInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx)
defer cancel()
if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) {
select {
case <-done:
case <-closed:
cancel()
}
}(ctx.Done(), cn.CloseNotify())
}
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
rctx, err := runtime.AnnotateContext(ctx, req)
if err != nil {
runtime.HTTPError(ctx, outboundMarshaler, w, req, err)
}
resp, md, err := request_Lightning_GetNetworkInfo_0(rctx, inboundMarshaler, client, req, pathParams)
ctx = runtime.NewServerMetadataContext(ctx, md)
if err != nil {
runtime.HTTPError(ctx, outboundMarshaler, w, req, err)
return
}
forward_Lightning_GetNetworkInfo_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
return nil return nil
} }
@ -945,6 +1195,16 @@ var (
pattern_Lightning_ListPayments_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "payments"}, "")) pattern_Lightning_ListPayments_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "payments"}, ""))
pattern_Lightning_DeleteAllPayments_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "payments"}, "")) pattern_Lightning_DeleteAllPayments_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "payments"}, ""))
pattern_Lightning_DescribeGraph_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "graph"}, ""))
pattern_Lightning_GetChanInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"v1", "graph", "edge", "chan_id"}, ""))
pattern_Lightning_GetNodeInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"v1", "graph", "node", "pub_key"}, ""))
pattern_Lightning_QueryRoute_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"v1", "graph", "route", "pub_key", "amt"}, ""))
pattern_Lightning_GetNetworkInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "graph", "info"}, ""))
) )
var ( var (
@ -985,4 +1245,14 @@ var (
forward_Lightning_ListPayments_0 = runtime.ForwardResponseMessage forward_Lightning_ListPayments_0 = runtime.ForwardResponseMessage
forward_Lightning_DeleteAllPayments_0 = runtime.ForwardResponseMessage forward_Lightning_DeleteAllPayments_0 = runtime.ForwardResponseMessage
forward_Lightning_DescribeGraph_0 = runtime.ForwardResponseMessage
forward_Lightning_GetChanInfo_0 = runtime.ForwardResponseMessage
forward_Lightning_GetNodeInfo_0 = runtime.ForwardResponseMessage
forward_Lightning_QueryRoute_0 = runtime.ForwardResponseMessage
forward_Lightning_GetNetworkInfo_0 = runtime.ForwardResponseMessage
) )

@ -185,6 +185,120 @@
] ]
} }
}, },
"/v1/graph": {
"get": {
"operationId": "DescribeGraph",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/lnrpcChannelGraph"
}
}
},
"tags": [
"Lightning"
]
}
},
"/v1/graph/edge/{chan_id}": {
"get": {
"operationId": "GetChanInfo",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/lnrpcChannelEdge"
}
}
},
"parameters": [
{
"name": "chan_id",
"in": "path",
"required": true,
"type": "string",
"format": "uint64"
}
],
"tags": [
"Lightning"
]
}
},
"/v1/graph/info": {
"get": {
"operationId": "GetNetworkInfo",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/lnrpcNetworkInfo"
}
}
},
"tags": [
"Lightning"
]
}
},
"/v1/graph/node/{pub_key}": {
"get": {
"operationId": "GetNodeInfo",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/lnrpcNodeInfo"
}
}
},
"parameters": [
{
"name": "pub_key",
"in": "path",
"required": true,
"type": "string",
"format": "string"
}
],
"tags": [
"Lightning"
]
}
},
"/v1/graph/route/{pub_key}/{amt}": {
"get": {
"operationId": "QueryRoute",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/lnrpcRoute"
}
}
},
"parameters": [
{
"name": "pub_key",
"in": "path",
"required": true,
"type": "string",
"format": "string"
},
{
"name": "amt",
"in": "path",
"required": true,
"type": "string",
"format": "int64"
}
],
"tags": [
"Lightning"
]
}
},
"/v1/invoices": { "/v1/invoices": {
"post": { "post": {
"operationId": "AddInvoice", "operationId": "AddInvoice",
@ -448,6 +562,10 @@
"type": "string", "type": "string",
"format": "int64" "format": "int64"
}, },
"chan_id": {
"type": "string",
"format": "uint64"
},
"channel_point": { "channel_point": {
"type": "string", "type": "string",
"format": "string" "format": "string"
@ -497,6 +615,15 @@
} }
} }
}, },
"lnrpcChanInfoRequest": {
"type": "object",
"properties": {
"chan_id": {
"type": "string",
"format": "uint64"
}
}
},
"lnrpcChannelBalanceRequest": { "lnrpcChannelBalanceRequest": {
"type": "object" "type": "object"
}, },
@ -522,6 +649,61 @@
} }
} }
}, },
"lnrpcChannelEdge": {
"type": "object",
"properties": {
"capacity": {
"type": "string",
"format": "int64"
},
"chan_point": {
"type": "string",
"format": "string"
},
"channel_id": {
"type": "string",
"format": "uint64"
},
"last_update": {
"type": "integer",
"format": "int64"
},
"node1_policy": {
"$ref": "#/definitions/lnrpcRoutingPolicy"
},
"node1_pub": {
"type": "string",
"format": "string"
},
"node2_policy": {
"$ref": "#/definitions/lnrpcRoutingPolicy"
},
"node2_pub": {
"type": "string",
"format": "string"
}
}
},
"lnrpcChannelGraph": {
"type": "object",
"properties": {
"edges": {
"type": "array",
"items": {
"$ref": "#/definitions/lnrpcChannelEdge"
}
},
"nodes": {
"type": "array",
"items": {
"$ref": "#/definitions/lnrpcLightningNode"
}
}
}
},
"lnrpcChannelGraphRequest": {
"type": "object"
},
"lnrpcChannelPoint": { "lnrpcChannelPoint": {
"type": "object", "type": "object",
"properties": { "properties": {
@ -624,6 +806,14 @@
"lnrpcGetInfoResponse": { "lnrpcGetInfoResponse": {
"type": "object", "type": "object",
"properties": { "properties": {
"alias": {
"type": "string",
"format": "string"
},
"block_hash": {
"type": "string",
"format": "string"
},
"block_height": { "block_height": {
"type": "integer", "type": "integer",
"format": "int64" "format": "int64"
@ -682,6 +872,27 @@
} }
} }
}, },
"lnrpcHop": {
"type": "object",
"properties": {
"amt_to_forward": {
"type": "string",
"format": "int64"
},
"chan_capacity": {
"type": "string",
"format": "int64"
},
"chan_id": {
"type": "string",
"format": "uint64"
},
"fee": {
"type": "string",
"format": "int64"
}
}
},
"lnrpcInvoice": { "lnrpcInvoice": {
"type": "object", "type": "object",
"properties": { "properties": {
@ -735,6 +946,27 @@
} }
} }
}, },
"lnrpcLightningNode": {
"type": "object",
"properties": {
"address": {
"type": "string",
"format": "string"
},
"alias": {
"type": "string",
"format": "string"
},
"last_update": {
"type": "integer",
"format": "int64"
},
"pub_key": {
"type": "string",
"format": "string"
}
}
},
"lnrpcListChannelsRequest": { "lnrpcListChannelsRequest": {
"type": "object" "type": "object"
}, },
@ -797,6 +1029,50 @@
} }
} }
}, },
"lnrpcNetworkInfo": {
"type": "object",
"properties": {
"avg_channel_size": {
"type": "number",
"format": "double"
},
"avg_out_degree": {
"type": "number",
"format": "double"
},
"graph_diameter": {
"type": "integer",
"format": "int64"
},
"max_channel_size": {
"type": "string",
"format": "int64"
},
"max_out_degree": {
"type": "integer",
"format": "int64"
},
"min_channel_size": {
"type": "string",
"format": "int64"
},
"num_channels": {
"type": "integer",
"format": "int64"
},
"num_nodes": {
"type": "integer",
"format": "int64"
},
"total_network_capacity": {
"type": "string",
"format": "int64"
}
}
},
"lnrpcNetworkInfoRequest": {
"type": "object"
},
"lnrpcNewAddressResponse": { "lnrpcNewAddressResponse": {
"type": "object", "type": "object",
"properties": { "properties": {
@ -809,6 +1085,31 @@
"lnrpcNewWitnessAddressRequest": { "lnrpcNewWitnessAddressRequest": {
"type": "object" "type": "object"
}, },
"lnrpcNodeInfo": {
"type": "object",
"properties": {
"node": {
"$ref": "#/definitions/lnrpcLightningNode"
},
"num_channels": {
"type": "integer",
"format": "int64"
},
"total_capacity": {
"type": "string",
"format": "int64"
}
}
},
"lnrpcNodeInfoRequest": {
"type": "object",
"properties": {
"pub_key": {
"type": "string",
"format": "string"
}
}
},
"lnrpcOpenChannelRequest": { "lnrpcOpenChannelRequest": {
"type": "object", "type": "object",
"properties": { "properties": {
@ -948,6 +1249,63 @@
} }
} }
}, },
"lnrpcRoute": {
"type": "object",
"properties": {
"hops": {
"type": "array",
"items": {
"$ref": "#/definitions/lnrpcHop"
}
},
"total_amt": {
"type": "string",
"format": "int64"
},
"total_fees": {
"type": "string",
"format": "int64"
},
"total_time_lock": {
"type": "integer",
"format": "int64"
}
}
},
"lnrpcRouteRequest": {
"type": "object",
"properties": {
"amt": {
"type": "string",
"format": "int64"
},
"pub_key": {
"type": "string",
"format": "string"
}
}
},
"lnrpcRoutingPolicy": {
"type": "object",
"properties": {
"fee_base_msat": {
"type": "string",
"format": "int64"
},
"fee_rate_milli_msat": {
"type": "string",
"format": "int64"
},
"min_htlc": {
"type": "string",
"format": "int64"
},
"time_lock_delta": {
"type": "integer",
"format": "int64"
}
}
},
"lnrpcSendCoinsRequest": { "lnrpcSendCoinsRequest": {
"type": "object", "type": "object",
"properties": { "properties": {