// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.34.2
// 	protoc        v3.21.12
// source: server.proto

// We can't change this to swapserverrpc, it would be a breaking change because
// the package name is also contained in the HTTP URIs and old clients would
// call the wrong endpoints. Luckily with the go_package option we can have
// different golang and RPC package names to fix protobuf namespace conflicts.

package swapserverrpc

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// *
// This enum defines the protocol versions that clients may adhere to. Note that
// this is not a flagged enum. If a particular protocol version adds a feature,
// then in general all the preceding features are also supported. Exception to this
// is when features get deprecated.
type ProtocolVersion int32

const (
	// / No protocol version reported at all.
	ProtocolVersion_LEGACY ProtocolVersion = 0
	// / Client may attempt to send the loop out payment in multiple parts.
	ProtocolVersion_MULTI_LOOP_OUT ProtocolVersion = 1
	// *
	// Loop will use native segwit (P2WSH) htlcs by default, while externally
	// published htlcs may use native (P2WSH) or nested (NP2WSH) segwit as well.
	ProtocolVersion_NATIVE_SEGWIT_LOOP_IN ProtocolVersion = 2
	// Once the on chain loop out htlc is confirmed, the client can push the swap
	// preimage to the server to speed up claim of their off chain htlc (acquiring
	// incoming liquidity more quickly than if the server waited for the on chain
	// claim tx).
	ProtocolVersion_PREIMAGE_PUSH_LOOP_OUT ProtocolVersion = 3
	// The client will propose a cltv expiry height for loop out.
	ProtocolVersion_USER_EXPIRY_LOOP_OUT ProtocolVersion = 4
	// The client will use the new v2 HTLC scripts.
	ProtocolVersion_HTLC_V2 ProtocolVersion = 5
	// The client creates a probe invoice so that the server can perform a
	// multi-path probe.
	ProtocolVersion_MULTI_LOOP_IN ProtocolVersion = 6
	// The client supports loop out swap cancelation.
	ProtocolVersion_LOOP_OUT_CANCEL ProtocolVersion = 7
	// The client is able to ask the server to probe to test inbound liquidity
	// and provide more accurate loop-in fees.
	ProtocolVersion_PROBE ProtocolVersion = 8
	// The client may ask the server to use a custom routing helper plugin in
	// order to enhance off-chain payments corresponding to a swap.
	ProtocolVersion_ROUTING_PLUGIN ProtocolVersion = 9
	// The client will use the new v3 (taproot) HTLC scripts.
	ProtocolVersion_HTLC_V3 ProtocolVersion = 10
	// Enables MuSig2 signature scheme for swaps.
	ProtocolVersion_MUSIG2 ProtocolVersion = 11
)

// Enum value maps for ProtocolVersion.
var (
	ProtocolVersion_name = map[int32]string{
		0:  "LEGACY",
		1:  "MULTI_LOOP_OUT",
		2:  "NATIVE_SEGWIT_LOOP_IN",
		3:  "PREIMAGE_PUSH_LOOP_OUT",
		4:  "USER_EXPIRY_LOOP_OUT",
		5:  "HTLC_V2",
		6:  "MULTI_LOOP_IN",
		7:  "LOOP_OUT_CANCEL",
		8:  "PROBE",
		9:  "ROUTING_PLUGIN",
		10: "HTLC_V3",
		11: "MUSIG2",
	}
	ProtocolVersion_value = map[string]int32{
		"LEGACY":                 0,
		"MULTI_LOOP_OUT":         1,
		"NATIVE_SEGWIT_LOOP_IN":  2,
		"PREIMAGE_PUSH_LOOP_OUT": 3,
		"USER_EXPIRY_LOOP_OUT":   4,
		"HTLC_V2":                5,
		"MULTI_LOOP_IN":          6,
		"LOOP_OUT_CANCEL":        7,
		"PROBE":                  8,
		"ROUTING_PLUGIN":         9,
		"HTLC_V3":                10,
		"MUSIG2":                 11,
	}
)

func (x ProtocolVersion) Enum() *ProtocolVersion {
	p := new(ProtocolVersion)
	*p = x
	return p
}

func (x ProtocolVersion) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ProtocolVersion) Descriptor() protoreflect.EnumDescriptor {
	return file_server_proto_enumTypes[0].Descriptor()
}

func (ProtocolVersion) Type() protoreflect.EnumType {
	return &file_server_proto_enumTypes[0]
}

func (x ProtocolVersion) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ProtocolVersion.Descriptor instead.
func (ProtocolVersion) EnumDescriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{0}
}

// ServerSwapState is an enum which represents all the states a swap may have
// from the server's perspective.
type ServerSwapState int32

const (
	// The server has created the swap.
	ServerSwapState_SERVER_INITIATED ServerSwapState = 0
	// The server has published the loop out on chain htlc.
	ServerSwapState_SERVER_HTLC_PUBLISHED ServerSwapState = 1
	// The swap completed successfully.
	ServerSwapState_SERVER_SUCCESS ServerSwapState = 2
	// The swap failed for a reason that is unknown to the server, this is only
	// set for older swaps.
	ServerSwapState_SERVER_FAILED_UNKNOWN ServerSwapState = 3
	// No htlc was confirmed in time for the loop in swap to complete.
	ServerSwapState_SERVER_FAILED_NO_HTLC ServerSwapState = 4
	// A loop in htlc confirmed on chain, but it did not have the correct value.
	ServerSwapState_SERVER_FAILED_INVALID_HTLC_AMOUNT ServerSwapState = 5
	// We did not succeed in completing the loop in off chain payment before the
	// timeout.
	ServerSwapState_SERVER_FAILED_OFF_CHAIN_TIMEOUT ServerSwapState = 6
	// The on chain timeout was claimed.
	ServerSwapState_SERVER_FAILED_TIMEOUT ServerSwapState = 7
	// The server could not publish the loop out on chain htlc before the deadline
	// provided.
	ServerSwapState_SERVER_FAILED_SWAP_DEADLINE ServerSwapState = 8
	// The server could not publish the loop out on chain htlc.
	ServerSwapState_SERVER_FAILED_HTLC_PUBLICATION ServerSwapState = 9
	// The server has published the loop out on chain timeout tx.
	ServerSwapState_SERVER_TIMEOUT_PUBLISHED ServerSwapState = 10
	// The swap has failed for unknown reasons, it will not be completed.
	ServerSwapState_SERVER_UNEXPECTED_FAILURE ServerSwapState = 11
	// The swap htlc has confirmed on chain.
	ServerSwapState_SERVER_HTLC_CONFIRMED ServerSwapState = 12
	// The client canceled the swap because they could not route the prepay.
	ServerSwapState_SERVER_CLIENT_PREPAY_CANCEL ServerSwapState = 13
	// The client canceled the swap because they could not route the swap
	// payment.
	ServerSwapState_SERVER_CLIENT_INVOICE_CANCEL ServerSwapState = 14
	// A loop in swap was rejected because it contained multiple outputs for a
	// single swap.
	ServerSwapState_SERVER_FAILED_MULTIPLE_SWAP_SCRIPTS ServerSwapState = 15
	// The swap failed during creation.
	ServerSwapState_SERVER_FAILED_INITIALIZATION ServerSwapState = 16
)

// Enum value maps for ServerSwapState.
var (
	ServerSwapState_name = map[int32]string{
		0:  "SERVER_INITIATED",
		1:  "SERVER_HTLC_PUBLISHED",
		2:  "SERVER_SUCCESS",
		3:  "SERVER_FAILED_UNKNOWN",
		4:  "SERVER_FAILED_NO_HTLC",
		5:  "SERVER_FAILED_INVALID_HTLC_AMOUNT",
		6:  "SERVER_FAILED_OFF_CHAIN_TIMEOUT",
		7:  "SERVER_FAILED_TIMEOUT",
		8:  "SERVER_FAILED_SWAP_DEADLINE",
		9:  "SERVER_FAILED_HTLC_PUBLICATION",
		10: "SERVER_TIMEOUT_PUBLISHED",
		11: "SERVER_UNEXPECTED_FAILURE",
		12: "SERVER_HTLC_CONFIRMED",
		13: "SERVER_CLIENT_PREPAY_CANCEL",
		14: "SERVER_CLIENT_INVOICE_CANCEL",
		15: "SERVER_FAILED_MULTIPLE_SWAP_SCRIPTS",
		16: "SERVER_FAILED_INITIALIZATION",
	}
	ServerSwapState_value = map[string]int32{
		"SERVER_INITIATED":                    0,
		"SERVER_HTLC_PUBLISHED":               1,
		"SERVER_SUCCESS":                      2,
		"SERVER_FAILED_UNKNOWN":               3,
		"SERVER_FAILED_NO_HTLC":               4,
		"SERVER_FAILED_INVALID_HTLC_AMOUNT":   5,
		"SERVER_FAILED_OFF_CHAIN_TIMEOUT":     6,
		"SERVER_FAILED_TIMEOUT":               7,
		"SERVER_FAILED_SWAP_DEADLINE":         8,
		"SERVER_FAILED_HTLC_PUBLICATION":      9,
		"SERVER_TIMEOUT_PUBLISHED":            10,
		"SERVER_UNEXPECTED_FAILURE":           11,
		"SERVER_HTLC_CONFIRMED":               12,
		"SERVER_CLIENT_PREPAY_CANCEL":         13,
		"SERVER_CLIENT_INVOICE_CANCEL":        14,
		"SERVER_FAILED_MULTIPLE_SWAP_SCRIPTS": 15,
		"SERVER_FAILED_INITIALIZATION":        16,
	}
)

func (x ServerSwapState) Enum() *ServerSwapState {
	p := new(ServerSwapState)
	*p = x
	return p
}

func (x ServerSwapState) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ServerSwapState) Descriptor() protoreflect.EnumDescriptor {
	return file_server_proto_enumTypes[1].Descriptor()
}

func (ServerSwapState) Type() protoreflect.EnumType {
	return &file_server_proto_enumTypes[1]
}

func (x ServerSwapState) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ServerSwapState.Descriptor instead.
func (ServerSwapState) EnumDescriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{1}
}

type RoutePaymentType int32

const (
	// No reason, used to distinguish from the default value.
	RoutePaymentType_ROUTE_UNKNOWN RoutePaymentType = 0
	// Prepay route indicates that the swap was canceled because the client
	// could not find a route to the server for the prepay.
	RoutePaymentType_PREPAY_ROUTE RoutePaymentType = 1
	// Invoice route indicates that the swap was canceled because the client
	// could not find a route to the server for the swap invoice.
	RoutePaymentType_INVOICE_ROUTE RoutePaymentType = 2
)

// Enum value maps for RoutePaymentType.
var (
	RoutePaymentType_name = map[int32]string{
		0: "ROUTE_UNKNOWN",
		1: "PREPAY_ROUTE",
		2: "INVOICE_ROUTE",
	}
	RoutePaymentType_value = map[string]int32{
		"ROUTE_UNKNOWN": 0,
		"PREPAY_ROUTE":  1,
		"INVOICE_ROUTE": 2,
	}
)

func (x RoutePaymentType) Enum() *RoutePaymentType {
	p := new(RoutePaymentType)
	*p = x
	return p
}

func (x RoutePaymentType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RoutePaymentType) Descriptor() protoreflect.EnumDescriptor {
	return file_server_proto_enumTypes[2].Descriptor()
}

func (RoutePaymentType) Type() protoreflect.EnumType {
	return &file_server_proto_enumTypes[2]
}

func (x RoutePaymentType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RoutePaymentType.Descriptor instead.
func (RoutePaymentType) EnumDescriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{2}
}

// PaymentFailureReason describes the reason that a payment failed. These
// values are copied directly from lnd.
type PaymentFailureReason int32

const (
	// Payment isn't failed (yet).
	PaymentFailureReason_LND_FAILURE_REASON_NONE PaymentFailureReason = 0
	// There are more routes to try, but the payment timeout was exceeded.
	PaymentFailureReason_LND_FAILURE_REASON_TIMEOUT PaymentFailureReason = 1
	// All possible routes were tried and failed permanently. Or were no
	// routes to the destination at all.
	PaymentFailureReason_LND_FAILURE_REASON_NO_ROUTE PaymentFailureReason = 2
	// A non-recoverable error has occured.
	PaymentFailureReason_LND_FAILURE_REASON_ERROR PaymentFailureReason = 3
	// Payment details incorrect (unknown hash, invalid amt or
	// invalid final cltv delta)
	PaymentFailureReason_LND_FAILURE_REASON_INCORRECT_PAYMENT_DETAILS PaymentFailureReason = 4
	// Insufficient local balance.
	PaymentFailureReason_LND_FAILURE_REASON_INSUFFICIENT_BALANCE PaymentFailureReason = 5
)

// Enum value maps for PaymentFailureReason.
var (
	PaymentFailureReason_name = map[int32]string{
		0: "LND_FAILURE_REASON_NONE",
		1: "LND_FAILURE_REASON_TIMEOUT",
		2: "LND_FAILURE_REASON_NO_ROUTE",
		3: "LND_FAILURE_REASON_ERROR",
		4: "LND_FAILURE_REASON_INCORRECT_PAYMENT_DETAILS",
		5: "LND_FAILURE_REASON_INSUFFICIENT_BALANCE",
	}
	PaymentFailureReason_value = map[string]int32{
		"LND_FAILURE_REASON_NONE":                      0,
		"LND_FAILURE_REASON_TIMEOUT":                   1,
		"LND_FAILURE_REASON_NO_ROUTE":                  2,
		"LND_FAILURE_REASON_ERROR":                     3,
		"LND_FAILURE_REASON_INCORRECT_PAYMENT_DETAILS": 4,
		"LND_FAILURE_REASON_INSUFFICIENT_BALANCE":      5,
	}
)

func (x PaymentFailureReason) Enum() *PaymentFailureReason {
	p := new(PaymentFailureReason)
	*p = x
	return p
}

func (x PaymentFailureReason) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PaymentFailureReason) Descriptor() protoreflect.EnumDescriptor {
	return file_server_proto_enumTypes[3].Descriptor()
}

func (PaymentFailureReason) Type() protoreflect.EnumType {
	return &file_server_proto_enumTypes[3]
}

func (x PaymentFailureReason) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PaymentFailureReason.Descriptor instead.
func (PaymentFailureReason) EnumDescriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{3}
}

type RoutingPlugin int32

const (
	// Client won't use any plugins to help with payment routing.
	RoutingPlugin_NONE RoutingPlugin = 0
	// Client will try more expensive routes for off-chain payments.
	RoutingPlugin_LOW_HIGH RoutingPlugin = 1
)

// Enum value maps for RoutingPlugin.
var (
	RoutingPlugin_name = map[int32]string{
		0: "NONE",
		1: "LOW_HIGH",
	}
	RoutingPlugin_value = map[string]int32{
		"NONE":     0,
		"LOW_HIGH": 1,
	}
)

func (x RoutingPlugin) Enum() *RoutingPlugin {
	p := new(RoutingPlugin)
	*p = x
	return p
}

func (x RoutingPlugin) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RoutingPlugin) Descriptor() protoreflect.EnumDescriptor {
	return file_server_proto_enumTypes[4].Descriptor()
}

func (RoutingPlugin) Type() protoreflect.EnumType {
	return &file_server_proto_enumTypes[4]
}

func (x RoutingPlugin) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RoutingPlugin.Descriptor instead.
func (RoutingPlugin) EnumDescriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{4}
}

type SubscribeNotificationsRequest_ListenerVersion int32

const (
	SubscribeNotificationsRequest_LEGACY SubscribeNotificationsRequest_ListenerVersion = 0
	SubscribeNotificationsRequest_V1     SubscribeNotificationsRequest_ListenerVersion = 1
)

// Enum value maps for SubscribeNotificationsRequest_ListenerVersion.
var (
	SubscribeNotificationsRequest_ListenerVersion_name = map[int32]string{
		0: "LEGACY",
		1: "V1",
	}
	SubscribeNotificationsRequest_ListenerVersion_value = map[string]int32{
		"LEGACY": 0,
		"V1":     1,
	}
)

func (x SubscribeNotificationsRequest_ListenerVersion) Enum() *SubscribeNotificationsRequest_ListenerVersion {
	p := new(SubscribeNotificationsRequest_ListenerVersion)
	*p = x
	return p
}

func (x SubscribeNotificationsRequest_ListenerVersion) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SubscribeNotificationsRequest_ListenerVersion) Descriptor() protoreflect.EnumDescriptor {
	return file_server_proto_enumTypes[5].Descriptor()
}

func (SubscribeNotificationsRequest_ListenerVersion) Type() protoreflect.EnumType {
	return &file_server_proto_enumTypes[5]
}

func (x SubscribeNotificationsRequest_ListenerVersion) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SubscribeNotificationsRequest_ListenerVersion.Descriptor instead.
func (SubscribeNotificationsRequest_ListenerVersion) EnumDescriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{34, 0}
}

type ServerLoopOutRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ReceiverKey []byte `protobuf:"bytes,1,opt,name=receiver_key,json=receiverKey,proto3" json:"receiver_key,omitempty"`
	SwapHash    []byte `protobuf:"bytes,2,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
	Amt         uint64 `protobuf:"varint,3,opt,name=amt,proto3" json:"amt,omitempty"`
	// / The unix time in seconds we want the on-chain swap to be published by.
	SwapPublicationDeadline int64 `protobuf:"varint,4,opt,name=swap_publication_deadline,json=swapPublicationDeadline,proto3" json:"swap_publication_deadline,omitempty"`
	// / The protocol version that the client adheres to.
	ProtocolVersion ProtocolVersion `protobuf:"varint,5,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
	// The requested absolute block height of the on-chain htlc. This is
	// subjected to min and max constraints as reported in the LoopOutTerms
	// response.
	Expiry int32 `protobuf:"varint,6,opt,name=expiry,proto3" json:"expiry,omitempty"`
	// The user agent string that identifies the software running on the user's
	// side. This can be changed in the user's client software but it _SHOULD_
	// conform to the following pattern:
	//
	//	Agent-Name/semver-version(/additional-info)
	//
	// Examples:
	//
	//	loopd/v0.10.0-beta/commit=3b635821
	//	litd/v0.2.0-alpha/commit=326d754
	UserAgent string `protobuf:"bytes,7,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
}

func (x *ServerLoopOutRequest) Reset() {
	*x = ServerLoopOutRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerLoopOutRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerLoopOutRequest) ProtoMessage() {}

func (x *ServerLoopOutRequest) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerLoopOutRequest.ProtoReflect.Descriptor instead.
func (*ServerLoopOutRequest) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{0}
}

func (x *ServerLoopOutRequest) GetReceiverKey() []byte {
	if x != nil {
		return x.ReceiverKey
	}
	return nil
}

func (x *ServerLoopOutRequest) GetSwapHash() []byte {
	if x != nil {
		return x.SwapHash
	}
	return nil
}

func (x *ServerLoopOutRequest) GetAmt() uint64 {
	if x != nil {
		return x.Amt
	}
	return 0
}

func (x *ServerLoopOutRequest) GetSwapPublicationDeadline() int64 {
	if x != nil {
		return x.SwapPublicationDeadline
	}
	return 0
}

func (x *ServerLoopOutRequest) GetProtocolVersion() ProtocolVersion {
	if x != nil {
		return x.ProtocolVersion
	}
	return ProtocolVersion_LEGACY
}

func (x *ServerLoopOutRequest) GetExpiry() int32 {
	if x != nil {
		return x.Expiry
	}
	return 0
}

func (x *ServerLoopOutRequest) GetUserAgent() string {
	if x != nil {
		return x.UserAgent
	}
	return ""
}

type ServerLoopOutResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	SwapInvoice   string `protobuf:"bytes,1,opt,name=swap_invoice,json=swapInvoice,proto3" json:"swap_invoice,omitempty"`
	PrepayInvoice string `protobuf:"bytes,2,opt,name=prepay_invoice,json=prepayInvoice,proto3" json:"prepay_invoice,omitempty"`
	SenderKey     []byte `protobuf:"bytes,3,opt,name=sender_key,json=senderKey,proto3" json:"sender_key,omitempty"`
	// The height at which the on-chain htlc will expire. Deprecated because the
	// field is already specified in the request.
	//
	// Deprecated: Marked as deprecated in server.proto.
	Expiry int32 `protobuf:"varint,4,opt,name=expiry,proto3" json:"expiry,omitempty"`
	// A human-readable message from the loop server.
	ServerMessage string `protobuf:"bytes,5,opt,name=server_message,json=serverMessage,proto3" json:"server_message,omitempty"`
}

func (x *ServerLoopOutResponse) Reset() {
	*x = ServerLoopOutResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerLoopOutResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerLoopOutResponse) ProtoMessage() {}

func (x *ServerLoopOutResponse) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerLoopOutResponse.ProtoReflect.Descriptor instead.
func (*ServerLoopOutResponse) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{1}
}

func (x *ServerLoopOutResponse) GetSwapInvoice() string {
	if x != nil {
		return x.SwapInvoice
	}
	return ""
}

func (x *ServerLoopOutResponse) GetPrepayInvoice() string {
	if x != nil {
		return x.PrepayInvoice
	}
	return ""
}

func (x *ServerLoopOutResponse) GetSenderKey() []byte {
	if x != nil {
		return x.SenderKey
	}
	return nil
}

// Deprecated: Marked as deprecated in server.proto.
func (x *ServerLoopOutResponse) GetExpiry() int32 {
	if x != nil {
		return x.Expiry
	}
	return 0
}

func (x *ServerLoopOutResponse) GetServerMessage() string {
	if x != nil {
		return x.ServerMessage
	}
	return ""
}

type ServerLoopOutQuoteRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// / The swap amount. If zero, a quote for a maximum amt swap will be given.
	Amt uint64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"`
	// / The unix time in seconds we want the on-chain swap to be published by.
	SwapPublicationDeadline int64 `protobuf:"varint,2,opt,name=swap_publication_deadline,json=swapPublicationDeadline,proto3" json:"swap_publication_deadline,omitempty"`
	// / The protocol version that the client adheres to.
	ProtocolVersion ProtocolVersion `protobuf:"varint,3,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
	// The requested absolute block height of the on-chain htlc. This is
	// subjected to min and max constraints as reported in the LoopOutTerms
	// response.
	Expiry int32 `protobuf:"varint,4,opt,name=expiry,proto3" json:"expiry,omitempty"`
	// The user agent string that identifies the software running on the user's
	// side. This can be changed in the user's client software but it _SHOULD_
	// conform to the following pattern:
	//
	//	Agent-Name/semver-version(/additional-info)
	//
	// Examples:
	//
	//	loopd/v0.10.0-beta/commit=3b635821
	//	litd/v0.2.0-alpha/commit=326d754
	UserAgent string `protobuf:"bytes,5,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
}

func (x *ServerLoopOutQuoteRequest) Reset() {
	*x = ServerLoopOutQuoteRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerLoopOutQuoteRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerLoopOutQuoteRequest) ProtoMessage() {}

func (x *ServerLoopOutQuoteRequest) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerLoopOutQuoteRequest.ProtoReflect.Descriptor instead.
func (*ServerLoopOutQuoteRequest) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{2}
}

func (x *ServerLoopOutQuoteRequest) GetAmt() uint64 {
	if x != nil {
		return x.Amt
	}
	return 0
}

func (x *ServerLoopOutQuoteRequest) GetSwapPublicationDeadline() int64 {
	if x != nil {
		return x.SwapPublicationDeadline
	}
	return 0
}

func (x *ServerLoopOutQuoteRequest) GetProtocolVersion() ProtocolVersion {
	if x != nil {
		return x.ProtocolVersion
	}
	return ProtocolVersion_LEGACY
}

func (x *ServerLoopOutQuoteRequest) GetExpiry() int32 {
	if x != nil {
		return x.Expiry
	}
	return 0
}

func (x *ServerLoopOutQuoteRequest) GetUserAgent() string {
	if x != nil {
		return x.UserAgent
	}
	return ""
}

type ServerLoopOutQuote struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	SwapPaymentDest string `protobuf:"bytes,1,opt,name=swap_payment_dest,json=swapPaymentDest,proto3" json:"swap_payment_dest,omitempty"`
	// / The total estimated swap fee given the quote amt.
	SwapFee int64 `protobuf:"varint,2,opt,name=swap_fee,json=swapFee,proto3" json:"swap_fee,omitempty"`
	// / Deprecated, total swap fee given quote amt is calculated in swap_fee.
	//
	// Deprecated: Marked as deprecated in server.proto.
	SwapFeeRate int64  `protobuf:"varint,3,opt,name=swap_fee_rate,json=swapFeeRate,proto3" json:"swap_fee_rate,omitempty"`
	PrepayAmt   uint64 `protobuf:"varint,4,opt,name=prepay_amt,json=prepayAmt,proto3" json:"prepay_amt,omitempty"`
	// Deprecated: Marked as deprecated in server.proto.
	MinSwapAmount uint64 `protobuf:"varint,5,opt,name=min_swap_amount,json=minSwapAmount,proto3" json:"min_swap_amount,omitempty"`
	// Deprecated: Marked as deprecated in server.proto.
	MaxSwapAmount uint64 `protobuf:"varint,6,opt,name=max_swap_amount,json=maxSwapAmount,proto3" json:"max_swap_amount,omitempty"`
	// The server-proposed cltv delta of the on-chain htlc. Deprecated because
	// the field is already specified in the request.
	//
	// Deprecated: Marked as deprecated in server.proto.
	CltvDelta int32 `protobuf:"varint,7,opt,name=cltv_delta,json=cltvDelta,proto3" json:"cltv_delta,omitempty"`
}

func (x *ServerLoopOutQuote) Reset() {
	*x = ServerLoopOutQuote{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerLoopOutQuote) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerLoopOutQuote) ProtoMessage() {}

func (x *ServerLoopOutQuote) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerLoopOutQuote.ProtoReflect.Descriptor instead.
func (*ServerLoopOutQuote) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{3}
}

func (x *ServerLoopOutQuote) GetSwapPaymentDest() string {
	if x != nil {
		return x.SwapPaymentDest
	}
	return ""
}

func (x *ServerLoopOutQuote) GetSwapFee() int64 {
	if x != nil {
		return x.SwapFee
	}
	return 0
}

// Deprecated: Marked as deprecated in server.proto.
func (x *ServerLoopOutQuote) GetSwapFeeRate() int64 {
	if x != nil {
		return x.SwapFeeRate
	}
	return 0
}

func (x *ServerLoopOutQuote) GetPrepayAmt() uint64 {
	if x != nil {
		return x.PrepayAmt
	}
	return 0
}

// Deprecated: Marked as deprecated in server.proto.
func (x *ServerLoopOutQuote) GetMinSwapAmount() uint64 {
	if x != nil {
		return x.MinSwapAmount
	}
	return 0
}

// Deprecated: Marked as deprecated in server.proto.
func (x *ServerLoopOutQuote) GetMaxSwapAmount() uint64 {
	if x != nil {
		return x.MaxSwapAmount
	}
	return 0
}

// Deprecated: Marked as deprecated in server.proto.
func (x *ServerLoopOutQuote) GetCltvDelta() int32 {
	if x != nil {
		return x.CltvDelta
	}
	return 0
}

type ServerLoopOutTermsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// / The protocol version that the client adheres to.
	ProtocolVersion ProtocolVersion `protobuf:"varint,1,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
	// The user agent string that identifies the software running on the user's
	// side. This can be changed in the user's client software but it _SHOULD_
	// conform to the following pattern:
	//
	//	Agent-Name/semver-version(/additional-info)
	//
	// Examples:
	//
	//	loopd/v0.10.0-beta/commit=3b635821
	//	litd/v0.2.0-alpha/commit=326d754
	UserAgent string `protobuf:"bytes,2,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
}

func (x *ServerLoopOutTermsRequest) Reset() {
	*x = ServerLoopOutTermsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerLoopOutTermsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerLoopOutTermsRequest) ProtoMessage() {}

func (x *ServerLoopOutTermsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerLoopOutTermsRequest.ProtoReflect.Descriptor instead.
func (*ServerLoopOutTermsRequest) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{4}
}

func (x *ServerLoopOutTermsRequest) GetProtocolVersion() ProtocolVersion {
	if x != nil {
		return x.ProtocolVersion
	}
	return ProtocolVersion_LEGACY
}

func (x *ServerLoopOutTermsRequest) GetUserAgent() string {
	if x != nil {
		return x.UserAgent
	}
	return ""
}

type ServerLoopOutTerms struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	MinSwapAmount uint64 `protobuf:"varint,1,opt,name=min_swap_amount,json=minSwapAmount,proto3" json:"min_swap_amount,omitempty"`
	MaxSwapAmount uint64 `protobuf:"varint,2,opt,name=max_swap_amount,json=maxSwapAmount,proto3" json:"max_swap_amount,omitempty"`
	// The minimally accepted cltv delta of the on-chain htlc.
	MinCltvDelta int32 `protobuf:"varint,3,opt,name=min_cltv_delta,json=minCltvDelta,proto3" json:"min_cltv_delta,omitempty"`
	// The maximally accepted cltv delta of the on-chain htlc.
	MaxCltvDelta int32 `protobuf:"varint,4,opt,name=max_cltv_delta,json=maxCltvDelta,proto3" json:"max_cltv_delta,omitempty"`
}

func (x *ServerLoopOutTerms) Reset() {
	*x = ServerLoopOutTerms{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerLoopOutTerms) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerLoopOutTerms) ProtoMessage() {}

func (x *ServerLoopOutTerms) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerLoopOutTerms.ProtoReflect.Descriptor instead.
func (*ServerLoopOutTerms) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{5}
}

func (x *ServerLoopOutTerms) GetMinSwapAmount() uint64 {
	if x != nil {
		return x.MinSwapAmount
	}
	return 0
}

func (x *ServerLoopOutTerms) GetMaxSwapAmount() uint64 {
	if x != nil {
		return x.MaxSwapAmount
	}
	return 0
}

func (x *ServerLoopOutTerms) GetMinCltvDelta() int32 {
	if x != nil {
		return x.MinCltvDelta
	}
	return 0
}

func (x *ServerLoopOutTerms) GetMaxCltvDelta() int32 {
	if x != nil {
		return x.MaxCltvDelta
	}
	return 0
}

type ServerLoopInRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	SenderKey            []byte `protobuf:"bytes,1,opt,name=sender_key,json=senderKey,proto3" json:"sender_key,omitempty"`
	SenderInternalPubkey []byte `protobuf:"bytes,9,opt,name=sender_internal_pubkey,json=senderInternalPubkey,proto3" json:"sender_internal_pubkey,omitempty"`
	SwapHash             []byte `protobuf:"bytes,2,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
	Amt                  uint64 `protobuf:"varint,3,opt,name=amt,proto3" json:"amt,omitempty"`
	SwapInvoice          string `protobuf:"bytes,4,opt,name=swap_invoice,json=swapInvoice,proto3" json:"swap_invoice,omitempty"`
	LastHop              []byte `protobuf:"bytes,5,opt,name=last_hop,json=lastHop,proto3" json:"last_hop,omitempty"`
	// / The protocol version that the client adheres to.
	ProtocolVersion ProtocolVersion `protobuf:"varint,6,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
	// An invoice that can be used for the purpose of probing.
	ProbeInvoice string `protobuf:"bytes,7,opt,name=probe_invoice,json=probeInvoice,proto3" json:"probe_invoice,omitempty"`
	// The user agent string that identifies the software running on the user's
	// side. This can be changed in the user's client software but it _SHOULD_
	// conform to the following pattern:
	//
	//	Agent-Name/semver-version(/additional-info)
	//
	// Examples:
	//
	//	loopd/v0.10.0-beta/commit=3b635821
	//	litd/v0.2.0-alpha/commit=326d754
	UserAgent string `protobuf:"bytes,8,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
}

func (x *ServerLoopInRequest) Reset() {
	*x = ServerLoopInRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerLoopInRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerLoopInRequest) ProtoMessage() {}

func (x *ServerLoopInRequest) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerLoopInRequest.ProtoReflect.Descriptor instead.
func (*ServerLoopInRequest) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{6}
}

func (x *ServerLoopInRequest) GetSenderKey() []byte {
	if x != nil {
		return x.SenderKey
	}
	return nil
}

func (x *ServerLoopInRequest) GetSenderInternalPubkey() []byte {
	if x != nil {
		return x.SenderInternalPubkey
	}
	return nil
}

func (x *ServerLoopInRequest) GetSwapHash() []byte {
	if x != nil {
		return x.SwapHash
	}
	return nil
}

func (x *ServerLoopInRequest) GetAmt() uint64 {
	if x != nil {
		return x.Amt
	}
	return 0
}

func (x *ServerLoopInRequest) GetSwapInvoice() string {
	if x != nil {
		return x.SwapInvoice
	}
	return ""
}

func (x *ServerLoopInRequest) GetLastHop() []byte {
	if x != nil {
		return x.LastHop
	}
	return nil
}

func (x *ServerLoopInRequest) GetProtocolVersion() ProtocolVersion {
	if x != nil {
		return x.ProtocolVersion
	}
	return ProtocolVersion_LEGACY
}

func (x *ServerLoopInRequest) GetProbeInvoice() string {
	if x != nil {
		return x.ProbeInvoice
	}
	return ""
}

func (x *ServerLoopInRequest) GetUserAgent() string {
	if x != nil {
		return x.UserAgent
	}
	return ""
}

type ServerLoopInResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ReceiverKey            []byte `protobuf:"bytes,1,opt,name=receiver_key,json=receiverKey,proto3" json:"receiver_key,omitempty"`
	ReceiverInternalPubkey []byte `protobuf:"bytes,9,opt,name=receiver_internal_pubkey,json=receiverInternalPubkey,proto3" json:"receiver_internal_pubkey,omitempty"`
	Expiry                 int32  `protobuf:"varint,2,opt,name=expiry,proto3" json:"expiry,omitempty"`
	// A human-readable message from the loop server.
	ServerMessage string `protobuf:"bytes,3,opt,name=server_message,json=serverMessage,proto3" json:"server_message,omitempty"`
}

func (x *ServerLoopInResponse) Reset() {
	*x = ServerLoopInResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerLoopInResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerLoopInResponse) ProtoMessage() {}

func (x *ServerLoopInResponse) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerLoopInResponse.ProtoReflect.Descriptor instead.
func (*ServerLoopInResponse) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{7}
}

func (x *ServerLoopInResponse) GetReceiverKey() []byte {
	if x != nil {
		return x.ReceiverKey
	}
	return nil
}

func (x *ServerLoopInResponse) GetReceiverInternalPubkey() []byte {
	if x != nil {
		return x.ReceiverInternalPubkey
	}
	return nil
}

func (x *ServerLoopInResponse) GetExpiry() int32 {
	if x != nil {
		return x.Expiry
	}
	return 0
}

func (x *ServerLoopInResponse) GetServerMessage() string {
	if x != nil {
		return x.ServerMessage
	}
	return ""
}

type ServerLoopInQuoteRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// / The swap amount. If zero, a quote for a maximum amt swap will be given.
	Amt uint64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"`
	// The destination pubkey.
	Pubkey []byte `protobuf:"bytes,3,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	// Optional last hop to use.
	LastHop []byte `protobuf:"bytes,4,opt,name=last_hop,json=lastHop,proto3" json:"last_hop,omitempty"`
	// Optional route hints to reach the destination through private channels.
	RouteHints []*RouteHint `protobuf:"bytes,5,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"`
	// / The protocol version that the client adheres to.
	ProtocolVersion ProtocolVersion `protobuf:"varint,2,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
	// The user agent string that identifies the software running on the user's
	// side. This can be changed in the user's client software but it _SHOULD_
	// conform to the following pattern:
	//
	//	Agent-Name/semver-version(/additional-info)
	//
	// Examples:
	//
	//	loopd/v0.10.0-beta/commit=3b635821
	//	litd/v0.2.0-alpha/commit=326d754
	UserAgent string `protobuf:"bytes,6,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
	// The number of static address deposits the client wants to quote for.
	// If the number of deposits exceeds one the server will apply a per-input
	// service fee. This is to cover for the increased on-chain fee the server
	// has to pay when the sweeping transaction is broadcast.
	NumStaticAddressDeposits uint32 `protobuf:"varint,7,opt,name=num_static_address_deposits,json=numStaticAddressDeposits,proto3" json:"num_static_address_deposits,omitempty"`
	// If set, request the server to use fast publication behavior. Note that
	// this falg is only available for static address loop ins.
	Fast bool `protobuf:"varint,8,opt,name=fast,proto3" json:"fast,omitempty"`
}

func (x *ServerLoopInQuoteRequest) Reset() {
	*x = ServerLoopInQuoteRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerLoopInQuoteRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerLoopInQuoteRequest) ProtoMessage() {}

func (x *ServerLoopInQuoteRequest) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerLoopInQuoteRequest.ProtoReflect.Descriptor instead.
func (*ServerLoopInQuoteRequest) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{8}
}

func (x *ServerLoopInQuoteRequest) GetAmt() uint64 {
	if x != nil {
		return x.Amt
	}
	return 0
}

func (x *ServerLoopInQuoteRequest) GetPubkey() []byte {
	if x != nil {
		return x.Pubkey
	}
	return nil
}

func (x *ServerLoopInQuoteRequest) GetLastHop() []byte {
	if x != nil {
		return x.LastHop
	}
	return nil
}

func (x *ServerLoopInQuoteRequest) GetRouteHints() []*RouteHint {
	if x != nil {
		return x.RouteHints
	}
	return nil
}

func (x *ServerLoopInQuoteRequest) GetProtocolVersion() ProtocolVersion {
	if x != nil {
		return x.ProtocolVersion
	}
	return ProtocolVersion_LEGACY
}

func (x *ServerLoopInQuoteRequest) GetUserAgent() string {
	if x != nil {
		return x.UserAgent
	}
	return ""
}

func (x *ServerLoopInQuoteRequest) GetNumStaticAddressDeposits() uint32 {
	if x != nil {
		return x.NumStaticAddressDeposits
	}
	return 0
}

func (x *ServerLoopInQuoteRequest) GetFast() bool {
	if x != nil {
		return x.Fast
	}
	return false
}

type ServerLoopInQuoteResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	SwapFee int64 `protobuf:"varint,1,opt,name=swap_fee,json=swapFee,proto3" json:"swap_fee,omitempty"`
	// Deprecated: Marked as deprecated in server.proto.
	SwapFeeRate int64 `protobuf:"varint,2,opt,name=swap_fee_rate,json=swapFeeRate,proto3" json:"swap_fee_rate,omitempty"`
	// Deprecated: Marked as deprecated in server.proto.
	MinSwapAmount uint64 `protobuf:"varint,4,opt,name=min_swap_amount,json=minSwapAmount,proto3" json:"min_swap_amount,omitempty"`
	// Deprecated: Marked as deprecated in server.proto.
	MaxSwapAmount uint64 `protobuf:"varint,5,opt,name=max_swap_amount,json=maxSwapAmount,proto3" json:"max_swap_amount,omitempty"`
	CltvDelta     int32  `protobuf:"varint,6,opt,name=cltv_delta,json=cltvDelta,proto3" json:"cltv_delta,omitempty"`
}

func (x *ServerLoopInQuoteResponse) Reset() {
	*x = ServerLoopInQuoteResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerLoopInQuoteResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerLoopInQuoteResponse) ProtoMessage() {}

func (x *ServerLoopInQuoteResponse) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerLoopInQuoteResponse.ProtoReflect.Descriptor instead.
func (*ServerLoopInQuoteResponse) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{9}
}

func (x *ServerLoopInQuoteResponse) GetSwapFee() int64 {
	if x != nil {
		return x.SwapFee
	}
	return 0
}

// Deprecated: Marked as deprecated in server.proto.
func (x *ServerLoopInQuoteResponse) GetSwapFeeRate() int64 {
	if x != nil {
		return x.SwapFeeRate
	}
	return 0
}

// Deprecated: Marked as deprecated in server.proto.
func (x *ServerLoopInQuoteResponse) GetMinSwapAmount() uint64 {
	if x != nil {
		return x.MinSwapAmount
	}
	return 0
}

// Deprecated: Marked as deprecated in server.proto.
func (x *ServerLoopInQuoteResponse) GetMaxSwapAmount() uint64 {
	if x != nil {
		return x.MaxSwapAmount
	}
	return 0
}

func (x *ServerLoopInQuoteResponse) GetCltvDelta() int32 {
	if x != nil {
		return x.CltvDelta
	}
	return 0
}

type ServerLoopInTermsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// / The protocol version that the client adheres to.
	ProtocolVersion ProtocolVersion `protobuf:"varint,1,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
	// The user agent string that identifies the software running on the user's
	// side. This can be changed in the user's client software but it _SHOULD_
	// conform to the following pattern:
	//
	//	Agent-Name/semver-version(/additional-info)
	//
	// Examples:
	//
	//	loopd/v0.10.0-beta/commit=3b635821
	//	litd/v0.2.0-alpha/commit=326d754
	UserAgent string `protobuf:"bytes,2,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
}

func (x *ServerLoopInTermsRequest) Reset() {
	*x = ServerLoopInTermsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerLoopInTermsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerLoopInTermsRequest) ProtoMessage() {}

func (x *ServerLoopInTermsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerLoopInTermsRequest.ProtoReflect.Descriptor instead.
func (*ServerLoopInTermsRequest) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{10}
}

func (x *ServerLoopInTermsRequest) GetProtocolVersion() ProtocolVersion {
	if x != nil {
		return x.ProtocolVersion
	}
	return ProtocolVersion_LEGACY
}

func (x *ServerLoopInTermsRequest) GetUserAgent() string {
	if x != nil {
		return x.UserAgent
	}
	return ""
}

type ServerLoopInTerms struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	MinSwapAmount uint64 `protobuf:"varint,1,opt,name=min_swap_amount,json=minSwapAmount,proto3" json:"min_swap_amount,omitempty"`
	MaxSwapAmount uint64 `protobuf:"varint,2,opt,name=max_swap_amount,json=maxSwapAmount,proto3" json:"max_swap_amount,omitempty"`
}

func (x *ServerLoopInTerms) Reset() {
	*x = ServerLoopInTerms{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerLoopInTerms) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerLoopInTerms) ProtoMessage() {}

func (x *ServerLoopInTerms) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerLoopInTerms.ProtoReflect.Descriptor instead.
func (*ServerLoopInTerms) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{11}
}

func (x *ServerLoopInTerms) GetMinSwapAmount() uint64 {
	if x != nil {
		return x.MinSwapAmount
	}
	return 0
}

func (x *ServerLoopInTerms) GetMaxSwapAmount() uint64 {
	if x != nil {
		return x.MaxSwapAmount
	}
	return 0
}

// ServerLoopOutPushPreimageRequest pushes a preimage to the server. Note that
// this call returns with no error after the server acknowledges the preimage
// and does not block until the invoice is settled.
type ServerLoopOutPushPreimageRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The protocol version that the client adheres to.
	ProtocolVersion ProtocolVersion `protobuf:"varint,1,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
	// Preimage is the preimage of the loop out swap that we wish to push to the
	// server to speed up off-chain claim once the on-chain htlc has confirmed.
	Preimage []byte `protobuf:"bytes,2,opt,name=preimage,proto3" json:"preimage,omitempty"`
}

func (x *ServerLoopOutPushPreimageRequest) Reset() {
	*x = ServerLoopOutPushPreimageRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerLoopOutPushPreimageRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerLoopOutPushPreimageRequest) ProtoMessage() {}

func (x *ServerLoopOutPushPreimageRequest) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerLoopOutPushPreimageRequest.ProtoReflect.Descriptor instead.
func (*ServerLoopOutPushPreimageRequest) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{12}
}

func (x *ServerLoopOutPushPreimageRequest) GetProtocolVersion() ProtocolVersion {
	if x != nil {
		return x.ProtocolVersion
	}
	return ProtocolVersion_LEGACY
}

func (x *ServerLoopOutPushPreimageRequest) GetPreimage() []byte {
	if x != nil {
		return x.Preimage
	}
	return nil
}

type ServerLoopOutPushPreimageResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *ServerLoopOutPushPreimageResponse) Reset() {
	*x = ServerLoopOutPushPreimageResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerLoopOutPushPreimageResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerLoopOutPushPreimageResponse) ProtoMessage() {}

func (x *ServerLoopOutPushPreimageResponse) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerLoopOutPushPreimageResponse.ProtoReflect.Descriptor instead.
func (*ServerLoopOutPushPreimageResponse) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{13}
}

type SubscribeUpdatesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The protocol version that the client adheres to.
	ProtocolVersion ProtocolVersion `protobuf:"varint,1,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
	// Swap hash is the hash of the swap to subscribe to updates for.
	SwapHash []byte `protobuf:"bytes,2,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
}

func (x *SubscribeUpdatesRequest) Reset() {
	*x = SubscribeUpdatesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SubscribeUpdatesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SubscribeUpdatesRequest) ProtoMessage() {}

func (x *SubscribeUpdatesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SubscribeUpdatesRequest.ProtoReflect.Descriptor instead.
func (*SubscribeUpdatesRequest) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{14}
}

func (x *SubscribeUpdatesRequest) GetProtocolVersion() ProtocolVersion {
	if x != nil {
		return x.ProtocolVersion
	}
	return ProtocolVersion_LEGACY
}

func (x *SubscribeUpdatesRequest) GetSwapHash() []byte {
	if x != nil {
		return x.SwapHash
	}
	return nil
}

type SubscribeLoopOutUpdatesResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The unix timestamp in nanoseconds when the swap was updated.
	TimestampNs int64 `protobuf:"varint,1,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"`
	// The swap's current state.
	State ServerSwapState `protobuf:"varint,2,opt,name=state,proto3,enum=looprpc.ServerSwapState" json:"state,omitempty"`
}

func (x *SubscribeLoopOutUpdatesResponse) Reset() {
	*x = SubscribeLoopOutUpdatesResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SubscribeLoopOutUpdatesResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SubscribeLoopOutUpdatesResponse) ProtoMessage() {}

func (x *SubscribeLoopOutUpdatesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SubscribeLoopOutUpdatesResponse.ProtoReflect.Descriptor instead.
func (*SubscribeLoopOutUpdatesResponse) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{15}
}

func (x *SubscribeLoopOutUpdatesResponse) GetTimestampNs() int64 {
	if x != nil {
		return x.TimestampNs
	}
	return 0
}

func (x *SubscribeLoopOutUpdatesResponse) GetState() ServerSwapState {
	if x != nil {
		return x.State
	}
	return ServerSwapState_SERVER_INITIATED
}

type SubscribeLoopInUpdatesResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The unix timestamp in nanoseconds when the swap was updated.
	TimestampNs int64 `protobuf:"varint,1,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"`
	// The swap's current state.
	State ServerSwapState `protobuf:"varint,2,opt,name=state,proto3,enum=looprpc.ServerSwapState" json:"state,omitempty"`
}

func (x *SubscribeLoopInUpdatesResponse) Reset() {
	*x = SubscribeLoopInUpdatesResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SubscribeLoopInUpdatesResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SubscribeLoopInUpdatesResponse) ProtoMessage() {}

func (x *SubscribeLoopInUpdatesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SubscribeLoopInUpdatesResponse.ProtoReflect.Descriptor instead.
func (*SubscribeLoopInUpdatesResponse) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{16}
}

func (x *SubscribeLoopInUpdatesResponse) GetTimestampNs() int64 {
	if x != nil {
		return x.TimestampNs
	}
	return 0
}

func (x *SubscribeLoopInUpdatesResponse) GetState() ServerSwapState {
	if x != nil {
		return x.State
	}
	return ServerSwapState_SERVER_INITIATED
}

type RouteCancel struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The type of the payment that failed.
	RouteType RoutePaymentType `protobuf:"varint,1,opt,name=route_type,json=routeType,proto3,enum=looprpc.RoutePaymentType" json:"route_type,omitempty"`
	// The htlcs that the client tried to pay the server with, if any.
	Attempts []*HtlcAttempt `protobuf:"bytes,2,rep,name=attempts,proto3" json:"attempts,omitempty"`
	// The reason that the payment failed.
	Failure PaymentFailureReason `protobuf:"varint,3,opt,name=failure,proto3,enum=looprpc.PaymentFailureReason" json:"failure,omitempty"`
}

func (x *RouteCancel) Reset() {
	*x = RouteCancel{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RouteCancel) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RouteCancel) ProtoMessage() {}

func (x *RouteCancel) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[17]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RouteCancel.ProtoReflect.Descriptor instead.
func (*RouteCancel) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{17}
}

func (x *RouteCancel) GetRouteType() RoutePaymentType {
	if x != nil {
		return x.RouteType
	}
	return RoutePaymentType_ROUTE_UNKNOWN
}

func (x *RouteCancel) GetAttempts() []*HtlcAttempt {
	if x != nil {
		return x.Attempts
	}
	return nil
}

func (x *RouteCancel) GetFailure() PaymentFailureReason {
	if x != nil {
		return x.Failure
	}
	return PaymentFailureReason_LND_FAILURE_REASON_NONE
}

type HtlcAttempt struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The number of hops from the htlc's failure hop that it needed to take
	// to reach the server's node.
	RemainingHops uint32 `protobuf:"varint,1,opt,name=remaining_hops,json=remainingHops,proto3" json:"remaining_hops,omitempty"`
}

func (x *HtlcAttempt) Reset() {
	*x = HtlcAttempt{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *HtlcAttempt) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HtlcAttempt) ProtoMessage() {}

func (x *HtlcAttempt) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[18]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use HtlcAttempt.ProtoReflect.Descriptor instead.
func (*HtlcAttempt) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{18}
}

func (x *HtlcAttempt) GetRemainingHops() uint32 {
	if x != nil {
		return x.RemainingHops
	}
	return 0
}

type CancelLoopOutSwapRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The protocol version that the client adheres to.
	ProtocolVersion ProtocolVersion `protobuf:"varint,1,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
	// The swap hash.
	SwapHash []byte `protobuf:"bytes,2,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
	// The payment address for the swap invoice, used to ensure that only the
	// swap owner can cancel the payment.
	PaymentAddress []byte `protobuf:"bytes,3,opt,name=payment_address,json=paymentAddress,proto3" json:"payment_address,omitempty"`
	// Additional information about the swap cancelation.
	//
	// Types that are assignable to CancelInfo:
	//
	//	*CancelLoopOutSwapRequest_RouteCancel
	CancelInfo isCancelLoopOutSwapRequest_CancelInfo `protobuf_oneof:"cancel_info"`
}

func (x *CancelLoopOutSwapRequest) Reset() {
	*x = CancelLoopOutSwapRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CancelLoopOutSwapRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CancelLoopOutSwapRequest) ProtoMessage() {}

func (x *CancelLoopOutSwapRequest) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[19]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CancelLoopOutSwapRequest.ProtoReflect.Descriptor instead.
func (*CancelLoopOutSwapRequest) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{19}
}

func (x *CancelLoopOutSwapRequest) GetProtocolVersion() ProtocolVersion {
	if x != nil {
		return x.ProtocolVersion
	}
	return ProtocolVersion_LEGACY
}

func (x *CancelLoopOutSwapRequest) GetSwapHash() []byte {
	if x != nil {
		return x.SwapHash
	}
	return nil
}

func (x *CancelLoopOutSwapRequest) GetPaymentAddress() []byte {
	if x != nil {
		return x.PaymentAddress
	}
	return nil
}

func (m *CancelLoopOutSwapRequest) GetCancelInfo() isCancelLoopOutSwapRequest_CancelInfo {
	if m != nil {
		return m.CancelInfo
	}
	return nil
}

func (x *CancelLoopOutSwapRequest) GetRouteCancel() *RouteCancel {
	if x, ok := x.GetCancelInfo().(*CancelLoopOutSwapRequest_RouteCancel); ok {
		return x.RouteCancel
	}
	return nil
}

type isCancelLoopOutSwapRequest_CancelInfo interface {
	isCancelLoopOutSwapRequest_CancelInfo()
}

type CancelLoopOutSwapRequest_RouteCancel struct {
	RouteCancel *RouteCancel `protobuf:"bytes,5,opt,name=route_cancel,json=routeCancel,proto3,oneof"`
}

func (*CancelLoopOutSwapRequest_RouteCancel) isCancelLoopOutSwapRequest_CancelInfo() {}

type CancelLoopOutSwapResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *CancelLoopOutSwapResponse) Reset() {
	*x = CancelLoopOutSwapResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CancelLoopOutSwapResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CancelLoopOutSwapResponse) ProtoMessage() {}

func (x *CancelLoopOutSwapResponse) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[20]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CancelLoopOutSwapResponse.ProtoReflect.Descriptor instead.
func (*CancelLoopOutSwapResponse) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{20}
}

type ServerProbeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The protocol version that the client adheres to.
	ProtocolVersion ProtocolVersion `protobuf:"varint,1,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
	// The probe amount.
	Amt uint64 `protobuf:"varint,2,opt,name=amt,proto3" json:"amt,omitempty"`
	// The target node for the probe.
	Target []byte `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
	// Optional last hop to use when probing the client.
	LastHop []byte `protobuf:"bytes,4,opt,name=last_hop,json=lastHop,proto3" json:"last_hop,omitempty"`
	// Optional route hints to reach the destination through private channels.
	RouteHints []*RouteHint `protobuf:"bytes,5,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"`
}

func (x *ServerProbeRequest) Reset() {
	*x = ServerProbeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerProbeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerProbeRequest) ProtoMessage() {}

func (x *ServerProbeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[21]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerProbeRequest.ProtoReflect.Descriptor instead.
func (*ServerProbeRequest) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{21}
}

func (x *ServerProbeRequest) GetProtocolVersion() ProtocolVersion {
	if x != nil {
		return x.ProtocolVersion
	}
	return ProtocolVersion_LEGACY
}

func (x *ServerProbeRequest) GetAmt() uint64 {
	if x != nil {
		return x.Amt
	}
	return 0
}

func (x *ServerProbeRequest) GetTarget() []byte {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *ServerProbeRequest) GetLastHop() []byte {
	if x != nil {
		return x.LastHop
	}
	return nil
}

func (x *ServerProbeRequest) GetRouteHints() []*RouteHint {
	if x != nil {
		return x.RouteHints
	}
	return nil
}

type ServerProbeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *ServerProbeResponse) Reset() {
	*x = ServerProbeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerProbeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerProbeResponse) ProtoMessage() {}

func (x *ServerProbeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[22]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerProbeResponse.ProtoReflect.Descriptor instead.
func (*ServerProbeResponse) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{22}
}

type RecommendRoutingPluginReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ProtocolVersion ProtocolVersion `protobuf:"varint,1,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
	// The hash of the swap requesting a routing plugin.
	SwapHash []byte `protobuf:"bytes,2,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
	// The payment address for the swap invoice, used to ensure that only the
	// swap owner can request routing plugin recommendation.
	PaymentAddress []byte `protobuf:"bytes,3,opt,name=payment_address,json=paymentAddress,proto3" json:"payment_address,omitempty"`
}

func (x *RecommendRoutingPluginReq) Reset() {
	*x = RecommendRoutingPluginReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RecommendRoutingPluginReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RecommendRoutingPluginReq) ProtoMessage() {}

func (x *RecommendRoutingPluginReq) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[23]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RecommendRoutingPluginReq.ProtoReflect.Descriptor instead.
func (*RecommendRoutingPluginReq) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{23}
}

func (x *RecommendRoutingPluginReq) GetProtocolVersion() ProtocolVersion {
	if x != nil {
		return x.ProtocolVersion
	}
	return ProtocolVersion_LEGACY
}

func (x *RecommendRoutingPluginReq) GetSwapHash() []byte {
	if x != nil {
		return x.SwapHash
	}
	return nil
}

func (x *RecommendRoutingPluginReq) GetPaymentAddress() []byte {
	if x != nil {
		return x.PaymentAddress
	}
	return nil
}

type RecommendRoutingPluginRes struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The routing plugin to use for off-chain payments.
	Plugin RoutingPlugin `protobuf:"varint,1,opt,name=plugin,proto3,enum=looprpc.RoutingPlugin" json:"plugin,omitempty"`
}

func (x *RecommendRoutingPluginRes) Reset() {
	*x = RecommendRoutingPluginRes{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RecommendRoutingPluginRes) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RecommendRoutingPluginRes) ProtoMessage() {}

func (x *RecommendRoutingPluginRes) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[24]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RecommendRoutingPluginRes.ProtoReflect.Descriptor instead.
func (*RecommendRoutingPluginRes) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{24}
}

func (x *RecommendRoutingPluginRes) GetPlugin() RoutingPlugin {
	if x != nil {
		return x.Plugin
	}
	return RoutingPlugin_NONE
}

type ReportRoutingResultReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ProtocolVersion ProtocolVersion `protobuf:"varint,1,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
	// The swap hash.
	SwapHash []byte `protobuf:"bytes,2,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
	// The payment address for the swap invoice, used to ensure that only the
	// swap owner can report routing result.
	PaymentAddress []byte `protobuf:"bytes,3,opt,name=payment_address,json=paymentAddress,proto3" json:"payment_address,omitempty"`
	// The routing plugin that was used.
	Plugin RoutingPlugin `protobuf:"varint,4,opt,name=plugin,proto3,enum=looprpc.RoutingPlugin" json:"plugin,omitempty"`
	// Whether this payment succeeded.
	Success bool `protobuf:"varint,5,opt,name=success,proto3" json:"success,omitempty"`
	// The number of payment attempts using the plugin.
	Attempts int32 `protobuf:"varint,6,opt,name=attempts,proto3" json:"attempts,omitempty"`
	// Total time used in milliseconds.
	TotalTime int64 `protobuf:"varint,7,opt,name=total_time,json=totalTime,proto3" json:"total_time,omitempty"`
}

func (x *ReportRoutingResultReq) Reset() {
	*x = ReportRoutingResultReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReportRoutingResultReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportRoutingResultReq) ProtoMessage() {}

func (x *ReportRoutingResultReq) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[25]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportRoutingResultReq.ProtoReflect.Descriptor instead.
func (*ReportRoutingResultReq) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{25}
}

func (x *ReportRoutingResultReq) GetProtocolVersion() ProtocolVersion {
	if x != nil {
		return x.ProtocolVersion
	}
	return ProtocolVersion_LEGACY
}

func (x *ReportRoutingResultReq) GetSwapHash() []byte {
	if x != nil {
		return x.SwapHash
	}
	return nil
}

func (x *ReportRoutingResultReq) GetPaymentAddress() []byte {
	if x != nil {
		return x.PaymentAddress
	}
	return nil
}

func (x *ReportRoutingResultReq) GetPlugin() RoutingPlugin {
	if x != nil {
		return x.Plugin
	}
	return RoutingPlugin_NONE
}

func (x *ReportRoutingResultReq) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

func (x *ReportRoutingResultReq) GetAttempts() int32 {
	if x != nil {
		return x.Attempts
	}
	return 0
}

func (x *ReportRoutingResultReq) GetTotalTime() int64 {
	if x != nil {
		return x.TotalTime
	}
	return 0
}

type ReportRoutingResultRes struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *ReportRoutingResultRes) Reset() {
	*x = ReportRoutingResultRes{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReportRoutingResultRes) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportRoutingResultRes) ProtoMessage() {}

func (x *ReportRoutingResultRes) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[26]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportRoutingResultRes.ProtoReflect.Descriptor instead.
func (*ReportRoutingResultRes) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{26}
}

type MuSig2SignSweepReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ProtocolVersion ProtocolVersion `protobuf:"varint,1,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
	// The swap hash.
	SwapHash []byte `protobuf:"bytes,2,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
	// The payment address for the swap invoice, used to ensure that only the
	// swap owner can obtain the partial signature.
	PaymentAddress []byte `protobuf:"bytes,3,opt,name=payment_address,json=paymentAddress,proto3" json:"payment_address,omitempty"`
	// The local public nonce.
	Nonce []byte `protobuf:"bytes,4,opt,name=nonce,proto3" json:"nonce,omitempty"`
	// The psbt of the sweep txn.
	SweepTxPsbt []byte `protobuf:"bytes,6,opt,name=sweep_tx_psbt,json=sweepTxPsbt,proto3" json:"sweep_tx_psbt,omitempty"`
	// The prevout information of the sweep txn.
	PrevoutInfo []*PrevoutInfo `protobuf:"bytes,7,rep,name=prevout_info,json=prevoutInfo,proto3" json:"prevout_info,omitempty"`
}

func (x *MuSig2SignSweepReq) Reset() {
	*x = MuSig2SignSweepReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MuSig2SignSweepReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MuSig2SignSweepReq) ProtoMessage() {}

func (x *MuSig2SignSweepReq) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[27]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MuSig2SignSweepReq.ProtoReflect.Descriptor instead.
func (*MuSig2SignSweepReq) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{27}
}

func (x *MuSig2SignSweepReq) GetProtocolVersion() ProtocolVersion {
	if x != nil {
		return x.ProtocolVersion
	}
	return ProtocolVersion_LEGACY
}

func (x *MuSig2SignSweepReq) GetSwapHash() []byte {
	if x != nil {
		return x.SwapHash
	}
	return nil
}

func (x *MuSig2SignSweepReq) GetPaymentAddress() []byte {
	if x != nil {
		return x.PaymentAddress
	}
	return nil
}

func (x *MuSig2SignSweepReq) GetNonce() []byte {
	if x != nil {
		return x.Nonce
	}
	return nil
}

func (x *MuSig2SignSweepReq) GetSweepTxPsbt() []byte {
	if x != nil {
		return x.SweepTxPsbt
	}
	return nil
}

func (x *MuSig2SignSweepReq) GetPrevoutInfo() []*PrevoutInfo {
	if x != nil {
		return x.PrevoutInfo
	}
	return nil
}

type PrevoutInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The value of the txout.
	Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
	// The pk_script of the txout.
	PkScript []byte `protobuf:"bytes,2,opt,name=pk_script,json=pkScript,proto3" json:"pk_script,omitempty"`
	// The txid of the txout.
	TxidBytes []byte `protobuf:"bytes,3,opt,name=txid_bytes,json=txidBytes,proto3" json:"txid_bytes,omitempty"`
	// The index of the txout.
	OutputIndex uint32 `protobuf:"varint,4,opt,name=output_index,json=outputIndex,proto3" json:"output_index,omitempty"`
}

func (x *PrevoutInfo) Reset() {
	*x = PrevoutInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PrevoutInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PrevoutInfo) ProtoMessage() {}

func (x *PrevoutInfo) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[28]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PrevoutInfo.ProtoReflect.Descriptor instead.
func (*PrevoutInfo) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{28}
}

func (x *PrevoutInfo) GetValue() uint64 {
	if x != nil {
		return x.Value
	}
	return 0
}

func (x *PrevoutInfo) GetPkScript() []byte {
	if x != nil {
		return x.PkScript
	}
	return nil
}

func (x *PrevoutInfo) GetTxidBytes() []byte {
	if x != nil {
		return x.TxidBytes
	}
	return nil
}

func (x *PrevoutInfo) GetOutputIndex() uint32 {
	if x != nil {
		return x.OutputIndex
	}
	return 0
}

type MuSig2SignSweepRes struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The server side public nonce.
	Nonce []byte `protobuf:"bytes,1,opt,name=nonce,proto3" json:"nonce,omitempty"`
	// The partial signature of the server for the requested sighash.
	PartialSignature []byte `protobuf:"bytes,2,opt,name=partial_signature,json=partialSignature,proto3" json:"partial_signature,omitempty"`
}

func (x *MuSig2SignSweepRes) Reset() {
	*x = MuSig2SignSweepRes{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MuSig2SignSweepRes) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MuSig2SignSweepRes) ProtoMessage() {}

func (x *MuSig2SignSweepRes) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[29]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MuSig2SignSweepRes.ProtoReflect.Descriptor instead.
func (*MuSig2SignSweepRes) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{29}
}

func (x *MuSig2SignSweepRes) GetNonce() []byte {
	if x != nil {
		return x.Nonce
	}
	return nil
}

func (x *MuSig2SignSweepRes) GetPartialSignature() []byte {
	if x != nil {
		return x.PartialSignature
	}
	return nil
}

type ServerPushKeyReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The protocol version that the client adheres to.
	ProtocolVersion ProtocolVersion `protobuf:"varint,1,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
	// The swap hash.
	SwapHash []byte `protobuf:"bytes,2,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
	// The client’s private key used in the HTLC’s aggregated internal key.
	InternalPrivkey []byte `protobuf:"bytes,3,opt,name=internal_privkey,json=internalPrivkey,proto3" json:"internal_privkey,omitempty"`
}

func (x *ServerPushKeyReq) Reset() {
	*x = ServerPushKeyReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[30]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerPushKeyReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerPushKeyReq) ProtoMessage() {}

func (x *ServerPushKeyReq) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[30]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerPushKeyReq.ProtoReflect.Descriptor instead.
func (*ServerPushKeyReq) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{30}
}

func (x *ServerPushKeyReq) GetProtocolVersion() ProtocolVersion {
	if x != nil {
		return x.ProtocolVersion
	}
	return ProtocolVersion_LEGACY
}

func (x *ServerPushKeyReq) GetSwapHash() []byte {
	if x != nil {
		return x.SwapHash
	}
	return nil
}

func (x *ServerPushKeyReq) GetInternalPrivkey() []byte {
	if x != nil {
		return x.InternalPrivkey
	}
	return nil
}

type ServerPushKeyRes struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *ServerPushKeyRes) Reset() {
	*x = ServerPushKeyRes{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerPushKeyRes) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerPushKeyRes) ProtoMessage() {}

func (x *ServerPushKeyRes) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[31]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerPushKeyRes.ProtoReflect.Descriptor instead.
func (*ServerPushKeyRes) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{31}
}

// FetchL402Request is an empty request sent from the client to the server to
// fetch the lnd L402.
type FetchL402Request struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *FetchL402Request) Reset() {
	*x = FetchL402Request{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FetchL402Request) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FetchL402Request) ProtoMessage() {}

func (x *FetchL402Request) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[32]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FetchL402Request.ProtoReflect.Descriptor instead.
func (*FetchL402Request) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{32}
}

// FetchL402Response is an empty response sent from the server to the client to
// confirm the lnd L402.
type FetchL402Response struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *FetchL402Response) Reset() {
	*x = FetchL402Response{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FetchL402Response) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FetchL402Response) ProtoMessage() {}

func (x *FetchL402Response) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[33]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FetchL402Response.ProtoReflect.Descriptor instead.
func (*FetchL402Response) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{33}
}

// SubscribeNotificationsRequest is a request to subscribe to notifications.
type SubscribeNotificationsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Version SubscribeNotificationsRequest_ListenerVersion `protobuf:"varint,1,opt,name=version,proto3,enum=looprpc.SubscribeNotificationsRequest_ListenerVersion" json:"version,omitempty"`
}

func (x *SubscribeNotificationsRequest) Reset() {
	*x = SubscribeNotificationsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[34]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SubscribeNotificationsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SubscribeNotificationsRequest) ProtoMessage() {}

func (x *SubscribeNotificationsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[34]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SubscribeNotificationsRequest.ProtoReflect.Descriptor instead.
func (*SubscribeNotificationsRequest) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{34}
}

func (x *SubscribeNotificationsRequest) GetVersion() SubscribeNotificationsRequest_ListenerVersion {
	if x != nil {
		return x.Version
	}
	return SubscribeNotificationsRequest_LEGACY
}

// SubscribeNotificationsResponse is a response to a
// SubscribeNotificationsRequest.
type SubscribeNotificationsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Notification:
	//
	//	*SubscribeNotificationsResponse_ReservationNotification
	//	*SubscribeNotificationsResponse_StaticLoopInSweep
	//	*SubscribeNotificationsResponse_UnfinishedSwap
	Notification isSubscribeNotificationsResponse_Notification `protobuf_oneof:"notification"`
}

func (x *SubscribeNotificationsResponse) Reset() {
	*x = SubscribeNotificationsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[35]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SubscribeNotificationsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SubscribeNotificationsResponse) ProtoMessage() {}

func (x *SubscribeNotificationsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[35]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SubscribeNotificationsResponse.ProtoReflect.Descriptor instead.
func (*SubscribeNotificationsResponse) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{35}
}

func (m *SubscribeNotificationsResponse) GetNotification() isSubscribeNotificationsResponse_Notification {
	if m != nil {
		return m.Notification
	}
	return nil
}

func (x *SubscribeNotificationsResponse) GetReservationNotification() *ServerReservationNotification {
	if x, ok := x.GetNotification().(*SubscribeNotificationsResponse_ReservationNotification); ok {
		return x.ReservationNotification
	}
	return nil
}

func (x *SubscribeNotificationsResponse) GetStaticLoopInSweep() *ServerStaticLoopInSweepNotification {
	if x, ok := x.GetNotification().(*SubscribeNotificationsResponse_StaticLoopInSweep); ok {
		return x.StaticLoopInSweep
	}
	return nil
}

func (x *SubscribeNotificationsResponse) GetUnfinishedSwap() *ServerUnfinishedSwapNotification {
	if x, ok := x.GetNotification().(*SubscribeNotificationsResponse_UnfinishedSwap); ok {
		return x.UnfinishedSwap
	}
	return nil
}

type isSubscribeNotificationsResponse_Notification interface {
	isSubscribeNotificationsResponse_Notification()
}

type SubscribeNotificationsResponse_ReservationNotification struct {
	ReservationNotification *ServerReservationNotification `protobuf:"bytes,1,opt,name=reservation_notification,json=reservationNotification,proto3,oneof"`
}

type SubscribeNotificationsResponse_StaticLoopInSweep struct {
	StaticLoopInSweep *ServerStaticLoopInSweepNotification `protobuf:"bytes,2,opt,name=static_loop_in_sweep,json=staticLoopInSweep,proto3,oneof"`
}

type SubscribeNotificationsResponse_UnfinishedSwap struct {
	UnfinishedSwap *ServerUnfinishedSwapNotification `protobuf:"bytes,3,opt,name=unfinished_swap,json=unfinishedSwap,proto3,oneof"`
}

func (*SubscribeNotificationsResponse_ReservationNotification) isSubscribeNotificationsResponse_Notification() {
}

func (*SubscribeNotificationsResponse_StaticLoopInSweep) isSubscribeNotificationsResponse_Notification() {
}

func (*SubscribeNotificationsResponse_UnfinishedSwap) isSubscribeNotificationsResponse_Notification() {
}

// ServerStaticLoopInSweepNotification is a request from the server to the
// client to cosign a transaction that contains deposits from a finished static
// loop ins.
type ServerStaticLoopInSweepNotification struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The psbt of the sweep transaction.
	SweepTxPsbt []byte `protobuf:"bytes,1,opt,name=sweep_tx_psbt,json=sweepTxPsbt,proto3" json:"sweep_tx_psbt,omitempty"`
	// The swap hash the deposits are associated with.
	SwapHash []byte `protobuf:"bytes,2,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
	// The map of deposit txid:idx to the nonce used by the server.
	DepositToNonces map[string][]byte `protobuf:"bytes,3,rep,name=deposit_to_nonces,json=depositToNonces,proto3" json:"deposit_to_nonces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// The prevout information of the sweep txn.
	PrevoutInfo []*PrevoutInfo `protobuf:"bytes,4,rep,name=prevout_info,json=prevoutInfo,proto3" json:"prevout_info,omitempty"`
}

func (x *ServerStaticLoopInSweepNotification) Reset() {
	*x = ServerStaticLoopInSweepNotification{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[36]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerStaticLoopInSweepNotification) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerStaticLoopInSweepNotification) ProtoMessage() {}

func (x *ServerStaticLoopInSweepNotification) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[36]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerStaticLoopInSweepNotification.ProtoReflect.Descriptor instead.
func (*ServerStaticLoopInSweepNotification) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{36}
}

func (x *ServerStaticLoopInSweepNotification) GetSweepTxPsbt() []byte {
	if x != nil {
		return x.SweepTxPsbt
	}
	return nil
}

func (x *ServerStaticLoopInSweepNotification) GetSwapHash() []byte {
	if x != nil {
		return x.SwapHash
	}
	return nil
}

func (x *ServerStaticLoopInSweepNotification) GetDepositToNonces() map[string][]byte {
	if x != nil {
		return x.DepositToNonces
	}
	return nil
}

func (x *ServerStaticLoopInSweepNotification) GetPrevoutInfo() []*PrevoutInfo {
	if x != nil {
		return x.PrevoutInfo
	}
	return nil
}

// ServerUnfinishedSwapNotification notifies the client about an unfinished
// swap that needs attention. This is useful in client data loss scenarios to
// help the client recover the swap.
type ServerUnfinishedSwapNotification struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The swap hash of the unfinished swap.
	SwapHash []byte `protobuf:"bytes,1,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
	// Whether the swap is a loop in or loop out.
	IsLoopIn bool `protobuf:"varint,2,opt,name=is_loop_in,json=isLoopIn,proto3" json:"is_loop_in,omitempty"`
}

func (x *ServerUnfinishedSwapNotification) Reset() {
	*x = ServerUnfinishedSwapNotification{}
	if protoimpl.UnsafeEnabled {
		mi := &file_server_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ServerUnfinishedSwapNotification) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerUnfinishedSwapNotification) ProtoMessage() {}

func (x *ServerUnfinishedSwapNotification) ProtoReflect() protoreflect.Message {
	mi := &file_server_proto_msgTypes[37]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerUnfinishedSwapNotification.ProtoReflect.Descriptor instead.
func (*ServerUnfinishedSwapNotification) Descriptor() ([]byte, []int) {
	return file_server_proto_rawDescGZIP(), []int{37}
}

func (x *ServerUnfinishedSwapNotification) GetSwapHash() []byte {
	if x != nil {
		return x.SwapHash
	}
	return nil
}

func (x *ServerUnfinishedSwapNotification) GetIsLoopIn() bool {
	if x != nil {
		return x.IsLoopIn
	}
	return false
}

var File_server_proto protoreflect.FileDescriptor

var file_server_proto_rawDesc = []byte{
	0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07,
	0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x1a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa0, 0x02, 0x0a, 0x14, 0x53, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x6b, 0x65,
	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65,
	0x72, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x68, 0x61, 0x73,
	0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x77, 0x61, 0x70, 0x48, 0x61, 0x73,
	0x68, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03,
	0x61, 0x6d, 0x74, 0x12, 0x3a, 0x0a, 0x19, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6c,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x73, 0x77, 0x61, 0x70, 0x50, 0x75, 0x62, 0x6c,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12,
	0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70,
	0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a,
	0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0xc3, 0x01, 0x0a, 0x15,
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x69, 0x6e,
	0x76, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x77, 0x61,
	0x70, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x70,
	0x61, 0x79, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0d, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12,
	0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x1a,
	0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x02,
	0x18, 0x01, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65,
	0x72, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x22, 0xe5, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70,
	0x4f, 0x75, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x10, 0x0a, 0x03, 0x61, 0x6d, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x61, 0x6d,
	0x74, 0x12, 0x3a, 0x0a, 0x19, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x73, 0x77, 0x61, 0x70, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x43, 0x0a,
	0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70,
	0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69,
	0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73,
	0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x9d, 0x02, 0x0a, 0x12, 0x53, 0x65,
	0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x65,
	0x12, 0x2a, 0x0a, 0x11, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74,
	0x5f, 0x64, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x77, 0x61,
	0x70, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08,
	0x73, 0x77, 0x61, 0x70, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
	0x73, 0x77, 0x61, 0x70, 0x46, 0x65, 0x65, 0x12, 0x26, 0x0a, 0x0d, 0x73, 0x77, 0x61, 0x70, 0x5f,
	0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02,
	0x18, 0x01, 0x52, 0x0b, 0x73, 0x77, 0x61, 0x70, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12,
	0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x5f, 0x61, 0x6d, 0x74, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x41, 0x6d, 0x74, 0x12, 0x2a,
	0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e,
	0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x6d, 0x69, 0x6e,
	0x53, 0x77, 0x61, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x0f, 0x6d, 0x61,
	0x78, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x53, 0x77, 0x61, 0x70,
	0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0a, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x64,
	0x65, 0x6c, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09,
	0x63, 0x6c, 0x74, 0x76, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x22, 0x7f, 0x0a, 0x19, 0x53, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f,
	0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x75,
	0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0xb0, 0x01, 0x0a, 0x12, 0x53,
	0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x54, 0x65, 0x72, 0x6d,
	0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, 0x6d,
	0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x53,
	0x77, 0x61, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78,
	0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x53, 0x77, 0x61, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e,
	0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x64, 0x65,
	0x6c, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x43, 0x6c,
	0x74, 0x76, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x63,
	0x6c, 0x74, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x0c, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x74, 0x76, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x22, 0xe0, 0x02,
	0x0a, 0x13, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f,
	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65,
	0x72, 0x4b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69,
	0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x14, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65,
	0x72, 0x6e, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x77,
	0x61, 0x70, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73,
	0x77, 0x61, 0x70, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6d, 0x74, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x61, 0x6d, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x77, 0x61,
	0x70, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0b, 0x73, 0x77, 0x61, 0x70, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08,
	0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07,
	0x6c, 0x61, 0x73, 0x74, 0x48, 0x6f, 0x70, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74,
	0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d,
	0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63,
	0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18,
	0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74,
	0x22, 0xb2, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49,
	0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63,
	0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
	0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x18,
	0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61,
	0x6c, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16,
	0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
	0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x25,
	0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xcb, 0x02, 0x0a, 0x18, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6d, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x03, 0x61, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x19, 0x0a, 0x08,
	0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07,
	0x6c, 0x61, 0x73, 0x74, 0x48, 0x6f, 0x70, 0x12, 0x33, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65,
	0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c,
	0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74,
	0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x10,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63,
	0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74,
	0x12, 0x3d, 0x0a, 0x1b, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x6e, 0x75, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63,
	0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12,
	0x12, 0x0a, 0x04, 0x66, 0x61, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66,
	0x61, 0x73, 0x74, 0x22, 0xd5, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f,
	0x6f, 0x70, 0x49, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x77, 0x61, 0x70, 0x46, 0x65, 0x65, 0x12, 0x26, 0x0a, 0x0d,
	0x73, 0x77, 0x61, 0x70, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x73, 0x77, 0x61, 0x70, 0x46, 0x65, 0x65,
	0x52, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x77, 0x61, 0x70,
	0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18,
	0x01, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x53, 0x77, 0x61, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
	0x12, 0x2a, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, 0x6d, 0x6f,
	0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x6d,
	0x61, 0x78, 0x53, 0x77, 0x61, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
	0x63, 0x6c, 0x74, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x09, 0x63, 0x6c, 0x74, 0x76, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x22, 0x7e, 0x0a, 0x18, 0x53,
	0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x73,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74,
	0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a,
	0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x63, 0x0a, 0x11, 0x53,
	0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x73,
	0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, 0x6d, 0x6f,
	0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x53, 0x77,
	0x61, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f,
	0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x53, 0x77, 0x61, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
	0x22, 0x83, 0x01, 0x0a, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f,
	0x75, 0x74, 0x50, 0x75, 0x73, 0x68, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
	0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72,
	0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x70, 0x72,
	0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x23, 0x0a, 0x21, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x50, 0x75, 0x73, 0x68, 0x50, 0x72, 0x65, 0x69, 0x6d,
	0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7b, 0x0a, 0x17, 0x53,
	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f,
	0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73,
	0x77, 0x61, 0x70, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08,
	0x73, 0x77, 0x61, 0x70, 0x48, 0x61, 0x73, 0x68, 0x22, 0x74, 0x0a, 0x1f, 0x53, 0x75, 0x62, 0x73,
	0x63, 0x72, 0x69, 0x62, 0x65, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x55, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74,
	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x73, 0x12, 0x2e,
	0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e,
	0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x77,
	0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x73,
	0x0a, 0x1e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4c, 0x6f, 0x6f, 0x70, 0x49,
	0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x73,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x4e, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x53, 0x77, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74,
	0x61, 0x74, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, 0x6e,
	0x63, 0x65, 0x6c, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70,
	0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79,
	0x70, 0x65, 0x52, 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a,
	0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x14, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x74, 0x6c, 0x63, 0x41, 0x74,
	0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12,
	0x37, 0x0a, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x1d, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65,
	0x6e, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52,
	0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x22, 0x34, 0x0a, 0x0b, 0x48, 0x74, 0x6c, 0x63,
	0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x61, 0x69,
	0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x6f, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x0d, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x70, 0x73, 0x22, 0xef,
	0x01, 0x0a, 0x18, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74,
	0x53, 0x77, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x10, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e,
	0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
	0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x12, 0x1b, 0x0a, 0x09, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x77, 0x61, 0x70, 0x48, 0x61, 0x73, 0x68, 0x12, 0x27, 0x0a,
	0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x39, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f,
	0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c,
	0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, 0x6e, 0x63,
	0x65, 0x6c, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, 0x6e, 0x63, 0x65,
	0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
	0x22, 0x1b, 0x0a, 0x19, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75,
	0x74, 0x53, 0x77, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd3, 0x01,
	0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18,
	0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
	0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6d, 0x74,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x61, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74,
	0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x6f, 0x70, 0x12, 0x33,
	0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f,
	0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69,
	0x6e, 0x74, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f,
	0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x19, 0x52,
	0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50,
	0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f,
	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a,
	0x09, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x08, 0x73, 0x77, 0x61, 0x70, 0x48, 0x61, 0x73, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61,
	0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72,
	0x65, 0x73, 0x73, 0x22, 0x4b, 0x0a, 0x19, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64,
	0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73,
	0x12, 0x2e, 0x0a, 0x06, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x16, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69,
	0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x06, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e,
	0x22, 0xa8, 0x02, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69,
	0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x12, 0x43, 0x0a, 0x10, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e,
	0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
	0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x12, 0x1b, 0x0a, 0x09, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x77, 0x61, 0x70, 0x48, 0x61, 0x73, 0x68, 0x12, 0x27, 0x0a,
	0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63,
	0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x06,
	0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,
	0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x12, 0x1a, 0x0a, 0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x52,
	0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x52, 0x65, 0x73, 0x22, 0x98, 0x02, 0x0a, 0x12, 0x4d, 0x75, 0x53, 0x69, 0x67, 0x32,
	0x53, 0x69, 0x67, 0x6e, 0x53, 0x77, 0x65, 0x65, 0x70, 0x52, 0x65, 0x71, 0x12, 0x43, 0x0a, 0x10,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63,
	0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x77, 0x61, 0x70, 0x48, 0x61, 0x73, 0x68, 0x12, 0x27,
	0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
	0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74,
	0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x22, 0x0a,
	0x0d, 0x73, 0x77, 0x65, 0x65, 0x70, 0x5f, 0x74, 0x78, 0x5f, 0x70, 0x73, 0x62, 0x74, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x77, 0x65, 0x65, 0x70, 0x54, 0x78, 0x50, 0x73, 0x62,
	0x74, 0x12, 0x37, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x76, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x66,
	0x6f, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70,
	0x63, 0x2e, 0x50, 0x72, 0x65, 0x76, 0x6f, 0x75, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x70,
	0x72, 0x65, 0x76, 0x6f, 0x75, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06,
	0x22, 0x82, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x65, 0x76, 0x6f, 0x75, 0x74, 0x49, 0x6e, 0x66, 0x6f,
	0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6b, 0x5f, 0x73, 0x63, 0x72,
	0x69, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x70, 0x6b, 0x53, 0x63, 0x72,
	0x69, 0x70, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x78, 0x69, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65,
	0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x74, 0x78, 0x69, 0x64, 0x42, 0x79, 0x74,
	0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x64,
	0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
	0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x57, 0x0a, 0x12, 0x4d, 0x75, 0x53, 0x69, 0x67, 0x32, 0x53,
	0x69, 0x67, 0x6e, 0x53, 0x77, 0x65, 0x65, 0x70, 0x52, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e,
	0x6f, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63,
	0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x67,
	0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x70, 0x61,
	0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x9f,
	0x01, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x4b, 0x65, 0x79,
	0x52, 0x65, 0x71, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f,
	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e,
	0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
	0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x77, 0x61, 0x70,
	0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x77, 0x61,
	0x70, 0x48, 0x61, 0x73, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61,
	0x6c, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52,
	0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x76, 0x6b, 0x65, 0x79,
	0x22, 0x12, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x4b, 0x65,
	0x79, 0x52, 0x65, 0x73, 0x22, 0x12, 0x0a, 0x10, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4c, 0x34, 0x30,
	0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x46, 0x65, 0x74, 0x63,
	0x68, 0x4c, 0x34, 0x30, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x98, 0x01,
	0x0a, 0x1d, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x50, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x36, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63,
	0x72, 0x69, 0x62, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65,
	0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x22, 0x25, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x56, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x10, 0x00,
	0x12, 0x06, 0x0a, 0x02, 0x56, 0x31, 0x10, 0x01, 0x22, 0xcc, 0x02, 0x0a, 0x1e, 0x53, 0x75, 0x62,
	0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x18, 0x72,
	0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
	0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65,
	0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x17, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x5f, 0x0a, 0x14, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x5f,
	0x69, 0x6e, 0x5f, 0x73, 0x77, 0x65, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c,
	0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53,
	0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x53, 0x77, 0x65, 0x65, 0x70,
	0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11,
	0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x53, 0x77, 0x65, 0x65,
	0x70, 0x12, 0x54, 0x0a, 0x0f, 0x75, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f,
	0x73, 0x77, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6c, 0x6f, 0x6f,
	0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x6e, 0x66, 0x69, 0x6e,
	0x69, 0x73, 0x68, 0x65, 0x64, 0x53, 0x77, 0x61, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x75, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x73,
	0x68, 0x65, 0x64, 0x53, 0x77, 0x61, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd2, 0x02, 0x0a, 0x23, 0x53, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x53, 0x77,
	0x65, 0x65, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
	0x22, 0x0a, 0x0d, 0x73, 0x77, 0x65, 0x65, 0x70, 0x5f, 0x74, 0x78, 0x5f, 0x70, 0x73, 0x62, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x77, 0x65, 0x65, 0x70, 0x54, 0x78, 0x50,
	0x73, 0x62, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x68, 0x61, 0x73, 0x68,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x77, 0x61, 0x70, 0x48, 0x61, 0x73, 0x68,
	0x12, 0x6d, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x6e,
	0x6f, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x6c, 0x6f,
	0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74,
	0x69, 0x63, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x53, 0x77, 0x65, 0x65, 0x70, 0x4e, 0x6f, 0x74,
	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69,
	0x74, 0x54, 0x6f, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f,
	0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x6f, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x12,
	0x37, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x76, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
	0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e,
	0x50, 0x72, 0x65, 0x76, 0x6f, 0x75, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x70, 0x72, 0x65,
	0x76, 0x6f, 0x75, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x42, 0x0a, 0x14, 0x44, 0x65, 0x70, 0x6f,
	0x73, 0x69, 0x74, 0x54, 0x6f, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
	0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5d, 0x0a, 0x20,
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64,
	0x53, 0x77, 0x61, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x1b, 0x0a, 0x09, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x77, 0x61, 0x70, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1c, 0x0a,
	0x0a, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x2a, 0xef, 0x01, 0x0a, 0x0f,
	0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
	0x0a, 0x0a, 0x06, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4d,
	0x55, 0x4c, 0x54, 0x49, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x12,
	0x19, 0x0a, 0x15, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x53, 0x45, 0x47, 0x57, 0x49, 0x54,
	0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52,
	0x45, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4c, 0x4f, 0x4f, 0x50,
	0x5f, 0x4f, 0x55, 0x54, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x45,
	0x58, 0x50, 0x49, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x04,
	0x12, 0x0b, 0x0a, 0x07, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x56, 0x32, 0x10, 0x05, 0x12, 0x11, 0x0a,
	0x0d, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x10, 0x06,
	0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x43, 0x41, 0x4e,
	0x43, 0x45, 0x4c, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x52, 0x4f, 0x42, 0x45, 0x10, 0x08,
	0x12, 0x12, 0x0a, 0x0e, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4c, 0x55, 0x47,
	0x49, 0x4e, 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x56, 0x33, 0x10,
	0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x55, 0x53, 0x49, 0x47, 0x32, 0x10, 0x0b, 0x2a, 0x9e, 0x04,
	0x0a, 0x0f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x77, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74,
	0x65, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x49, 0x54,
	0x49, 0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45,
	0x52, 0x5f, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44,
	0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x43,
	0x43, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52,
	0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10,
	0x03, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c,
	0x45, 0x44, 0x5f, 0x4e, 0x4f, 0x5f, 0x48, 0x54, 0x4c, 0x43, 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21,
	0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e,
	0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x41, 0x4d, 0x4f, 0x55, 0x4e,
	0x54, 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41,
	0x49, 0x4c, 0x45, 0x44, 0x5f, 0x4f, 0x46, 0x46, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x54,
	0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56,
	0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55,
	0x54, 0x10, 0x07, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41,
	0x49, 0x4c, 0x45, 0x44, 0x5f, 0x53, 0x57, 0x41, 0x50, 0x5f, 0x44, 0x45, 0x41, 0x44, 0x4c, 0x49,
	0x4e, 0x45, 0x10, 0x08, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46,
	0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49,
	0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x09, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x45, 0x52, 0x56,
	0x45, 0x52, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49,
	0x53, 0x48, 0x45, 0x44, 0x10, 0x0a, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52,
	0x5f, 0x55, 0x4e, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c,
	0x55, 0x52, 0x45, 0x10, 0x0b, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f,
	0x48, 0x54, 0x4c, 0x43, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x0c,
	0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e,
	0x54, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x59, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10,
	0x0d, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x49, 0x45,
	0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45,
	0x4c, 0x10, 0x0e, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41,
	0x49, 0x4c, 0x45, 0x44, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x5f, 0x53, 0x57,
	0x41, 0x50, 0x5f, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x53, 0x10, 0x0f, 0x12, 0x20, 0x0a, 0x1c,
	0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e,
	0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x10, 0x2a, 0x4a,
	0x0a, 0x10, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e,
	0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x45, 0x50, 0x41, 0x59, 0x5f,
	0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x4e, 0x56, 0x4f, 0x49,
	0x43, 0x45, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x02, 0x2a, 0xf1, 0x01, 0x0a, 0x14, 0x50,
	0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61,
	0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55,
	0x52, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00,
	0x12, 0x1e, 0x0a, 0x1a, 0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f,
	0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x01,
	0x12, 0x1f, 0x0a, 0x1b, 0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f,
	0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10,
	0x02, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45,
	0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12,
	0x30, 0x0a, 0x2c, 0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52,
	0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f,
	0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x53, 0x10,
	0x04, 0x12, 0x2b, 0x0a, 0x27, 0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45,
	0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x53, 0x55, 0x46, 0x46, 0x49, 0x43,
	0x49, 0x45, 0x4e, 0x54, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x05, 0x2a, 0x27,
	0x0a, 0x0d, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12,
	0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x4f, 0x57,
	0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x01, 0x32, 0xc9, 0x0b, 0x0a, 0x0a, 0x53, 0x77, 0x61, 0x70,
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0c, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75,
	0x74, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x22, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63,
	0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x54, 0x65,
	0x72, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x6f, 0x6f,
	0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f,
	0x75, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x4e, 0x65, 0x77, 0x4c, 0x6f,
	0x6f, 0x70, 0x4f, 0x75, 0x74, 0x53, 0x77, 0x61, 0x70, 0x12, 0x1d, 0x2e, 0x6c, 0x6f, 0x6f, 0x70,
	0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75,
	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72,
	0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x13, 0x4c, 0x6f, 0x6f, 0x70,
	0x4f, 0x75, 0x74, 0x50, 0x75, 0x73, 0x68, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12,
	0x29, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x50, 0x75, 0x73, 0x68, 0x50, 0x72, 0x65, 0x69, 0x6d,
	0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6c, 0x6f, 0x6f,
	0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f,
	0x75, 0x74, 0x50, 0x75, 0x73, 0x68, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75,
	0x74, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63,
	0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x51, 0x75,
	0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x6f, 0x6f,
	0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f,
	0x75, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x4c, 0x6f, 0x6f, 0x70, 0x49,
	0x6e, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x21, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63,
	0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x54, 0x65, 0x72,
	0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x6f, 0x6f, 0x70,
	0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e,
	0x54, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x4c, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x4c, 0x6f, 0x6f, 0x70,
	0x49, 0x6e, 0x53, 0x77, 0x61, 0x70, 0x12, 0x1c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63,
	0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53,
	0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0b, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x51, 0x75, 0x6f,
	0x74, 0x65, 0x12, 0x21, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e,
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x51, 0x75, 0x6f, 0x74,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x17, 0x53, 0x75, 0x62,
	0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53,
	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63,
	0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75,
	0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x30, 0x01, 0x12, 0x65, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4c,
	0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x6c,
	0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27,
	0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
	0x62, 0x65, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x5a, 0x0a, 0x11, 0x43, 0x61, 0x6e,
	0x63, 0x65, 0x6c, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x53, 0x77, 0x61, 0x70, 0x12, 0x21,
	0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4c,
	0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x53, 0x77, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x22, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6e, 0x63,
	0x65, 0x6c, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x53, 0x77, 0x61, 0x70, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x05, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x1b,
	0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50,
	0x72, 0x6f, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x6f,
	0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x62,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x16, 0x52, 0x65, 0x63,
	0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75,
	0x67, 0x69, 0x6e, 0x12, 0x22, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65,
	0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c,
	0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70,
	0x63, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69,
	0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x57, 0x0a, 0x13, 0x52,
	0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x12, 0x1f, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70,
	0x6f, 0x72, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65,
	0x70, 0x6f, 0x72, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x52, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x0f, 0x4d, 0x75, 0x53, 0x69, 0x67, 0x32, 0x53, 0x69,
	0x67, 0x6e, 0x53, 0x77, 0x65, 0x65, 0x70, 0x12, 0x1b, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70,
	0x63, 0x2e, 0x4d, 0x75, 0x53, 0x69, 0x67, 0x32, 0x53, 0x69, 0x67, 0x6e, 0x53, 0x77, 0x65, 0x65,
	0x70, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4d,
	0x75, 0x53, 0x69, 0x67, 0x32, 0x53, 0x69, 0x67, 0x6e, 0x53, 0x77, 0x65, 0x65, 0x70, 0x52, 0x65,
	0x73, 0x12, 0x3f, 0x0a, 0x07, 0x50, 0x75, 0x73, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x19, 0x2e, 0x6c,
	0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x75, 0x73,
	0x68, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70,
	0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x4b, 0x65, 0x79, 0x52,
	0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4c, 0x34, 0x30, 0x32, 0x12,
	0x19, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4c,
	0x34, 0x30, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x6f, 0x6f,
	0x70, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4c, 0x34, 0x30, 0x32, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72,
	0x69, 0x62, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x12, 0x26, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63,
	0x72, 0x69, 0x62, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72,
	0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4e, 0x6f, 0x74, 0x69,
	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x30, 0x01, 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
	0x6d, 0x2f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x6c, 0x61, 0x62, 0x73, 0x2f,
	0x6c, 0x6f, 0x6f, 0x70, 0x2f, 0x73, 0x77, 0x61, 0x70, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x72,
	0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_server_proto_rawDescOnce sync.Once
	file_server_proto_rawDescData = file_server_proto_rawDesc
)

func file_server_proto_rawDescGZIP() []byte {
	file_server_proto_rawDescOnce.Do(func() {
		file_server_proto_rawDescData = protoimpl.X.CompressGZIP(file_server_proto_rawDescData)
	})
	return file_server_proto_rawDescData
}

var file_server_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
var file_server_proto_msgTypes = make([]protoimpl.MessageInfo, 39)
var file_server_proto_goTypes = []any{
	(ProtocolVersion)(0),                               // 0: looprpc.ProtocolVersion
	(ServerSwapState)(0),                               // 1: looprpc.ServerSwapState
	(RoutePaymentType)(0),                              // 2: looprpc.RoutePaymentType
	(PaymentFailureReason)(0),                          // 3: looprpc.PaymentFailureReason
	(RoutingPlugin)(0),                                 // 4: looprpc.RoutingPlugin
	(SubscribeNotificationsRequest_ListenerVersion)(0), // 5: looprpc.SubscribeNotificationsRequest.ListenerVersion
	(*ServerLoopOutRequest)(nil),                       // 6: looprpc.ServerLoopOutRequest
	(*ServerLoopOutResponse)(nil),                      // 7: looprpc.ServerLoopOutResponse
	(*ServerLoopOutQuoteRequest)(nil),                  // 8: looprpc.ServerLoopOutQuoteRequest
	(*ServerLoopOutQuote)(nil),                         // 9: looprpc.ServerLoopOutQuote
	(*ServerLoopOutTermsRequest)(nil),                  // 10: looprpc.ServerLoopOutTermsRequest
	(*ServerLoopOutTerms)(nil),                         // 11: looprpc.ServerLoopOutTerms
	(*ServerLoopInRequest)(nil),                        // 12: looprpc.ServerLoopInRequest
	(*ServerLoopInResponse)(nil),                       // 13: looprpc.ServerLoopInResponse
	(*ServerLoopInQuoteRequest)(nil),                   // 14: looprpc.ServerLoopInQuoteRequest
	(*ServerLoopInQuoteResponse)(nil),                  // 15: looprpc.ServerLoopInQuoteResponse
	(*ServerLoopInTermsRequest)(nil),                   // 16: looprpc.ServerLoopInTermsRequest
	(*ServerLoopInTerms)(nil),                          // 17: looprpc.ServerLoopInTerms
	(*ServerLoopOutPushPreimageRequest)(nil),           // 18: looprpc.ServerLoopOutPushPreimageRequest
	(*ServerLoopOutPushPreimageResponse)(nil),          // 19: looprpc.ServerLoopOutPushPreimageResponse
	(*SubscribeUpdatesRequest)(nil),                    // 20: looprpc.SubscribeUpdatesRequest
	(*SubscribeLoopOutUpdatesResponse)(nil),            // 21: looprpc.SubscribeLoopOutUpdatesResponse
	(*SubscribeLoopInUpdatesResponse)(nil),             // 22: looprpc.SubscribeLoopInUpdatesResponse
	(*RouteCancel)(nil),                                // 23: looprpc.RouteCancel
	(*HtlcAttempt)(nil),                                // 24: looprpc.HtlcAttempt
	(*CancelLoopOutSwapRequest)(nil),                   // 25: looprpc.CancelLoopOutSwapRequest
	(*CancelLoopOutSwapResponse)(nil),                  // 26: looprpc.CancelLoopOutSwapResponse
	(*ServerProbeRequest)(nil),                         // 27: looprpc.ServerProbeRequest
	(*ServerProbeResponse)(nil),                        // 28: looprpc.ServerProbeResponse
	(*RecommendRoutingPluginReq)(nil),                  // 29: looprpc.RecommendRoutingPluginReq
	(*RecommendRoutingPluginRes)(nil),                  // 30: looprpc.RecommendRoutingPluginRes
	(*ReportRoutingResultReq)(nil),                     // 31: looprpc.ReportRoutingResultReq
	(*ReportRoutingResultRes)(nil),                     // 32: looprpc.ReportRoutingResultRes
	(*MuSig2SignSweepReq)(nil),                         // 33: looprpc.MuSig2SignSweepReq
	(*PrevoutInfo)(nil),                                // 34: looprpc.PrevoutInfo
	(*MuSig2SignSweepRes)(nil),                         // 35: looprpc.MuSig2SignSweepRes
	(*ServerPushKeyReq)(nil),                           // 36: looprpc.ServerPushKeyReq
	(*ServerPushKeyRes)(nil),                           // 37: looprpc.ServerPushKeyRes
	(*FetchL402Request)(nil),                           // 38: looprpc.FetchL402Request
	(*FetchL402Response)(nil),                          // 39: looprpc.FetchL402Response
	(*SubscribeNotificationsRequest)(nil),              // 40: looprpc.SubscribeNotificationsRequest
	(*SubscribeNotificationsResponse)(nil),             // 41: looprpc.SubscribeNotificationsResponse
	(*ServerStaticLoopInSweepNotification)(nil),        // 42: looprpc.ServerStaticLoopInSweepNotification
	(*ServerUnfinishedSwapNotification)(nil),           // 43: looprpc.ServerUnfinishedSwapNotification
	nil,                                                // 44: looprpc.ServerStaticLoopInSweepNotification.DepositToNoncesEntry
	(*RouteHint)(nil),                                  // 45: looprpc.RouteHint
	(*ServerReservationNotification)(nil),              // 46: looprpc.ServerReservationNotification
}
var file_server_proto_depIdxs = []int32{
	0,  // 0: looprpc.ServerLoopOutRequest.protocol_version:type_name -> looprpc.ProtocolVersion
	0,  // 1: looprpc.ServerLoopOutQuoteRequest.protocol_version:type_name -> looprpc.ProtocolVersion
	0,  // 2: looprpc.ServerLoopOutTermsRequest.protocol_version:type_name -> looprpc.ProtocolVersion
	0,  // 3: looprpc.ServerLoopInRequest.protocol_version:type_name -> looprpc.ProtocolVersion
	45, // 4: looprpc.ServerLoopInQuoteRequest.route_hints:type_name -> looprpc.RouteHint
	0,  // 5: looprpc.ServerLoopInQuoteRequest.protocol_version:type_name -> looprpc.ProtocolVersion
	0,  // 6: looprpc.ServerLoopInTermsRequest.protocol_version:type_name -> looprpc.ProtocolVersion
	0,  // 7: looprpc.ServerLoopOutPushPreimageRequest.protocol_version:type_name -> looprpc.ProtocolVersion
	0,  // 8: looprpc.SubscribeUpdatesRequest.protocol_version:type_name -> looprpc.ProtocolVersion
	1,  // 9: looprpc.SubscribeLoopOutUpdatesResponse.state:type_name -> looprpc.ServerSwapState
	1,  // 10: looprpc.SubscribeLoopInUpdatesResponse.state:type_name -> looprpc.ServerSwapState
	2,  // 11: looprpc.RouteCancel.route_type:type_name -> looprpc.RoutePaymentType
	24, // 12: looprpc.RouteCancel.attempts:type_name -> looprpc.HtlcAttempt
	3,  // 13: looprpc.RouteCancel.failure:type_name -> looprpc.PaymentFailureReason
	0,  // 14: looprpc.CancelLoopOutSwapRequest.protocol_version:type_name -> looprpc.ProtocolVersion
	23, // 15: looprpc.CancelLoopOutSwapRequest.route_cancel:type_name -> looprpc.RouteCancel
	0,  // 16: looprpc.ServerProbeRequest.protocol_version:type_name -> looprpc.ProtocolVersion
	45, // 17: looprpc.ServerProbeRequest.route_hints:type_name -> looprpc.RouteHint
	0,  // 18: looprpc.RecommendRoutingPluginReq.protocol_version:type_name -> looprpc.ProtocolVersion
	4,  // 19: looprpc.RecommendRoutingPluginRes.plugin:type_name -> looprpc.RoutingPlugin
	0,  // 20: looprpc.ReportRoutingResultReq.protocol_version:type_name -> looprpc.ProtocolVersion
	4,  // 21: looprpc.ReportRoutingResultReq.plugin:type_name -> looprpc.RoutingPlugin
	0,  // 22: looprpc.MuSig2SignSweepReq.protocol_version:type_name -> looprpc.ProtocolVersion
	34, // 23: looprpc.MuSig2SignSweepReq.prevout_info:type_name -> looprpc.PrevoutInfo
	0,  // 24: looprpc.ServerPushKeyReq.protocol_version:type_name -> looprpc.ProtocolVersion
	5,  // 25: looprpc.SubscribeNotificationsRequest.version:type_name -> looprpc.SubscribeNotificationsRequest.ListenerVersion
	46, // 26: looprpc.SubscribeNotificationsResponse.reservation_notification:type_name -> looprpc.ServerReservationNotification
	42, // 27: looprpc.SubscribeNotificationsResponse.static_loop_in_sweep:type_name -> looprpc.ServerStaticLoopInSweepNotification
	43, // 28: looprpc.SubscribeNotificationsResponse.unfinished_swap:type_name -> looprpc.ServerUnfinishedSwapNotification
	44, // 29: looprpc.ServerStaticLoopInSweepNotification.deposit_to_nonces:type_name -> looprpc.ServerStaticLoopInSweepNotification.DepositToNoncesEntry
	34, // 30: looprpc.ServerStaticLoopInSweepNotification.prevout_info:type_name -> looprpc.PrevoutInfo
	10, // 31: looprpc.SwapServer.LoopOutTerms:input_type -> looprpc.ServerLoopOutTermsRequest
	6,  // 32: looprpc.SwapServer.NewLoopOutSwap:input_type -> looprpc.ServerLoopOutRequest
	18, // 33: looprpc.SwapServer.LoopOutPushPreimage:input_type -> looprpc.ServerLoopOutPushPreimageRequest
	8,  // 34: looprpc.SwapServer.LoopOutQuote:input_type -> looprpc.ServerLoopOutQuoteRequest
	16, // 35: looprpc.SwapServer.LoopInTerms:input_type -> looprpc.ServerLoopInTermsRequest
	12, // 36: looprpc.SwapServer.NewLoopInSwap:input_type -> looprpc.ServerLoopInRequest
	14, // 37: looprpc.SwapServer.LoopInQuote:input_type -> looprpc.ServerLoopInQuoteRequest
	20, // 38: looprpc.SwapServer.SubscribeLoopOutUpdates:input_type -> looprpc.SubscribeUpdatesRequest
	20, // 39: looprpc.SwapServer.SubscribeLoopInUpdates:input_type -> looprpc.SubscribeUpdatesRequest
	25, // 40: looprpc.SwapServer.CancelLoopOutSwap:input_type -> looprpc.CancelLoopOutSwapRequest
	27, // 41: looprpc.SwapServer.Probe:input_type -> looprpc.ServerProbeRequest
	29, // 42: looprpc.SwapServer.RecommendRoutingPlugin:input_type -> looprpc.RecommendRoutingPluginReq
	31, // 43: looprpc.SwapServer.ReportRoutingResult:input_type -> looprpc.ReportRoutingResultReq
	33, // 44: looprpc.SwapServer.MuSig2SignSweep:input_type -> looprpc.MuSig2SignSweepReq
	36, // 45: looprpc.SwapServer.PushKey:input_type -> looprpc.ServerPushKeyReq
	38, // 46: looprpc.SwapServer.FetchL402:input_type -> looprpc.FetchL402Request
	40, // 47: looprpc.SwapServer.SubscribeNotifications:input_type -> looprpc.SubscribeNotificationsRequest
	11, // 48: looprpc.SwapServer.LoopOutTerms:output_type -> looprpc.ServerLoopOutTerms
	7,  // 49: looprpc.SwapServer.NewLoopOutSwap:output_type -> looprpc.ServerLoopOutResponse
	19, // 50: looprpc.SwapServer.LoopOutPushPreimage:output_type -> looprpc.ServerLoopOutPushPreimageResponse
	9,  // 51: looprpc.SwapServer.LoopOutQuote:output_type -> looprpc.ServerLoopOutQuote
	17, // 52: looprpc.SwapServer.LoopInTerms:output_type -> looprpc.ServerLoopInTerms
	13, // 53: looprpc.SwapServer.NewLoopInSwap:output_type -> looprpc.ServerLoopInResponse
	15, // 54: looprpc.SwapServer.LoopInQuote:output_type -> looprpc.ServerLoopInQuoteResponse
	21, // 55: looprpc.SwapServer.SubscribeLoopOutUpdates:output_type -> looprpc.SubscribeLoopOutUpdatesResponse
	22, // 56: looprpc.SwapServer.SubscribeLoopInUpdates:output_type -> looprpc.SubscribeLoopInUpdatesResponse
	26, // 57: looprpc.SwapServer.CancelLoopOutSwap:output_type -> looprpc.CancelLoopOutSwapResponse
	28, // 58: looprpc.SwapServer.Probe:output_type -> looprpc.ServerProbeResponse
	30, // 59: looprpc.SwapServer.RecommendRoutingPlugin:output_type -> looprpc.RecommendRoutingPluginRes
	32, // 60: looprpc.SwapServer.ReportRoutingResult:output_type -> looprpc.ReportRoutingResultRes
	35, // 61: looprpc.SwapServer.MuSig2SignSweep:output_type -> looprpc.MuSig2SignSweepRes
	37, // 62: looprpc.SwapServer.PushKey:output_type -> looprpc.ServerPushKeyRes
	39, // 63: looprpc.SwapServer.FetchL402:output_type -> looprpc.FetchL402Response
	41, // 64: looprpc.SwapServer.SubscribeNotifications:output_type -> looprpc.SubscribeNotificationsResponse
	48, // [48:65] is the sub-list for method output_type
	31, // [31:48] is the sub-list for method input_type
	31, // [31:31] is the sub-list for extension type_name
	31, // [31:31] is the sub-list for extension extendee
	0,  // [0:31] is the sub-list for field type_name
}

func init() { file_server_proto_init() }
func file_server_proto_init() {
	if File_server_proto != nil {
		return
	}
	file_common_proto_init()
	file_reservation_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_server_proto_msgTypes[0].Exporter = func(v any, i int) any {
			switch v := v.(*ServerLoopOutRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[1].Exporter = func(v any, i int) any {
			switch v := v.(*ServerLoopOutResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[2].Exporter = func(v any, i int) any {
			switch v := v.(*ServerLoopOutQuoteRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[3].Exporter = func(v any, i int) any {
			switch v := v.(*ServerLoopOutQuote); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[4].Exporter = func(v any, i int) any {
			switch v := v.(*ServerLoopOutTermsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[5].Exporter = func(v any, i int) any {
			switch v := v.(*ServerLoopOutTerms); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[6].Exporter = func(v any, i int) any {
			switch v := v.(*ServerLoopInRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[7].Exporter = func(v any, i int) any {
			switch v := v.(*ServerLoopInResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[8].Exporter = func(v any, i int) any {
			switch v := v.(*ServerLoopInQuoteRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[9].Exporter = func(v any, i int) any {
			switch v := v.(*ServerLoopInQuoteResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[10].Exporter = func(v any, i int) any {
			switch v := v.(*ServerLoopInTermsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[11].Exporter = func(v any, i int) any {
			switch v := v.(*ServerLoopInTerms); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[12].Exporter = func(v any, i int) any {
			switch v := v.(*ServerLoopOutPushPreimageRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[13].Exporter = func(v any, i int) any {
			switch v := v.(*ServerLoopOutPushPreimageResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[14].Exporter = func(v any, i int) any {
			switch v := v.(*SubscribeUpdatesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[15].Exporter = func(v any, i int) any {
			switch v := v.(*SubscribeLoopOutUpdatesResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[16].Exporter = func(v any, i int) any {
			switch v := v.(*SubscribeLoopInUpdatesResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[17].Exporter = func(v any, i int) any {
			switch v := v.(*RouteCancel); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[18].Exporter = func(v any, i int) any {
			switch v := v.(*HtlcAttempt); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[19].Exporter = func(v any, i int) any {
			switch v := v.(*CancelLoopOutSwapRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[20].Exporter = func(v any, i int) any {
			switch v := v.(*CancelLoopOutSwapResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[21].Exporter = func(v any, i int) any {
			switch v := v.(*ServerProbeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[22].Exporter = func(v any, i int) any {
			switch v := v.(*ServerProbeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[23].Exporter = func(v any, i int) any {
			switch v := v.(*RecommendRoutingPluginReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[24].Exporter = func(v any, i int) any {
			switch v := v.(*RecommendRoutingPluginRes); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[25].Exporter = func(v any, i int) any {
			switch v := v.(*ReportRoutingResultReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[26].Exporter = func(v any, i int) any {
			switch v := v.(*ReportRoutingResultRes); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[27].Exporter = func(v any, i int) any {
			switch v := v.(*MuSig2SignSweepReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[28].Exporter = func(v any, i int) any {
			switch v := v.(*PrevoutInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[29].Exporter = func(v any, i int) any {
			switch v := v.(*MuSig2SignSweepRes); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[30].Exporter = func(v any, i int) any {
			switch v := v.(*ServerPushKeyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[31].Exporter = func(v any, i int) any {
			switch v := v.(*ServerPushKeyRes); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[32].Exporter = func(v any, i int) any {
			switch v := v.(*FetchL402Request); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[33].Exporter = func(v any, i int) any {
			switch v := v.(*FetchL402Response); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[34].Exporter = func(v any, i int) any {
			switch v := v.(*SubscribeNotificationsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[35].Exporter = func(v any, i int) any {
			switch v := v.(*SubscribeNotificationsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[36].Exporter = func(v any, i int) any {
			switch v := v.(*ServerStaticLoopInSweepNotification); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_server_proto_msgTypes[37].Exporter = func(v any, i int) any {
			switch v := v.(*ServerUnfinishedSwapNotification); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_server_proto_msgTypes[19].OneofWrappers = []any{
		(*CancelLoopOutSwapRequest_RouteCancel)(nil),
	}
	file_server_proto_msgTypes[35].OneofWrappers = []any{
		(*SubscribeNotificationsResponse_ReservationNotification)(nil),
		(*SubscribeNotificationsResponse_StaticLoopInSweep)(nil),
		(*SubscribeNotificationsResponse_UnfinishedSwap)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_server_proto_rawDesc,
			NumEnums:      6,
			NumMessages:   39,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_server_proto_goTypes,
		DependencyIndexes: file_server_proto_depIdxs,
		EnumInfos:         file_server_proto_enumTypes,
		MessageInfos:      file_server_proto_msgTypes,
	}.Build()
	File_server_proto = out.File
	file_server_proto_rawDesc = nil
	file_server_proto_goTypes = nil
	file_server_proto_depIdxs = nil
}
