// Code generated by protoc-gen-go. DO NOT EDIT.
// source: rpc.proto

package rpc

import (
	context "context"
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	empty "github.com/golang/protobuf/ptypes/empty"
	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

type ScanMirrorRequest_Method int32

const (
	ScanMirrorRequest_ALL   ScanMirrorRequest_Method = 0
	ScanMirrorRequest_FTP   ScanMirrorRequest_Method = 1
	ScanMirrorRequest_RSYNC ScanMirrorRequest_Method = 2
)

var ScanMirrorRequest_Method_name = map[int32]string{
	0: "ALL",
	1: "FTP",
	2: "RSYNC",
}

var ScanMirrorRequest_Method_value = map[string]int32{
	"ALL":   0,
	"FTP":   1,
	"RSYNC": 2,
}

func (x ScanMirrorRequest_Method) String() string {
	return proto.EnumName(ScanMirrorRequest_Method_name, int32(x))
}

func (ScanMirrorRequest_Method) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{12, 0}
}

type VersionReply struct {
	Version              string   `protobuf:"bytes,1,opt,name=Version,proto3" json:"Version,omitempty"`
	Build                string   `protobuf:"bytes,2,opt,name=Build,proto3" json:"Build,omitempty"`
	GoVersion            string   `protobuf:"bytes,3,opt,name=GoVersion,proto3" json:"GoVersion,omitempty"`
	OS                   string   `protobuf:"bytes,4,opt,name=OS,proto3" json:"OS,omitempty"`
	Arch                 string   `protobuf:"bytes,5,opt,name=Arch,proto3" json:"Arch,omitempty"`
	GoMaxProcs           int32    `protobuf:"varint,6,opt,name=GoMaxProcs,proto3" json:"GoMaxProcs,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *VersionReply) Reset()         { *m = VersionReply{} }
func (m *VersionReply) String() string { return proto.CompactTextString(m) }
func (*VersionReply) ProtoMessage()    {}
func (*VersionReply) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{0}
}

func (m *VersionReply) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_VersionReply.Unmarshal(m, b)
}
func (m *VersionReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_VersionReply.Marshal(b, m, deterministic)
}
func (m *VersionReply) XXX_Merge(src proto.Message) {
	xxx_messageInfo_VersionReply.Merge(m, src)
}
func (m *VersionReply) XXX_Size() int {
	return xxx_messageInfo_VersionReply.Size(m)
}
func (m *VersionReply) XXX_DiscardUnknown() {
	xxx_messageInfo_VersionReply.DiscardUnknown(m)
}

var xxx_messageInfo_VersionReply proto.InternalMessageInfo

func (m *VersionReply) GetVersion() string {
	if m != nil {
		return m.Version
	}
	return ""
}

func (m *VersionReply) GetBuild() string {
	if m != nil {
		return m.Build
	}
	return ""
}

func (m *VersionReply) GetGoVersion() string {
	if m != nil {
		return m.GoVersion
	}
	return ""
}

func (m *VersionReply) GetOS() string {
	if m != nil {
		return m.OS
	}
	return ""
}

func (m *VersionReply) GetArch() string {
	if m != nil {
		return m.Arch
	}
	return ""
}

func (m *VersionReply) GetGoMaxProcs() int32 {
	if m != nil {
		return m.GoMaxProcs
	}
	return 0
}

type MatchRequest struct {
	Pattern              string   `protobuf:"bytes,1,opt,name=Pattern,proto3" json:"Pattern,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *MatchRequest) Reset()         { *m = MatchRequest{} }
func (m *MatchRequest) String() string { return proto.CompactTextString(m) }
func (*MatchRequest) ProtoMessage()    {}
func (*MatchRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{1}
}

func (m *MatchRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MatchRequest.Unmarshal(m, b)
}
func (m *MatchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MatchRequest.Marshal(b, m, deterministic)
}
func (m *MatchRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MatchRequest.Merge(m, src)
}
func (m *MatchRequest) XXX_Size() int {
	return xxx_messageInfo_MatchRequest.Size(m)
}
func (m *MatchRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_MatchRequest.DiscardUnknown(m)
}

var xxx_messageInfo_MatchRequest proto.InternalMessageInfo

func (m *MatchRequest) GetPattern() string {
	if m != nil {
		return m.Pattern
	}
	return ""
}

type Mirror struct {
	ID                   int32                `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Name                 string               `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"`
	HttpURL              string               `protobuf:"bytes,3,opt,name=HttpURL,proto3" json:"HttpURL,omitempty"`
	RsyncURL             string               `protobuf:"bytes,4,opt,name=RsyncURL,proto3" json:"RsyncURL,omitempty"`
	FtpURL               string               `protobuf:"bytes,5,opt,name=FtpURL,proto3" json:"FtpURL,omitempty"`
	SponsorName          string               `protobuf:"bytes,6,opt,name=SponsorName,proto3" json:"SponsorName,omitempty"`
	SponsorURL           string               `protobuf:"bytes,7,opt,name=SponsorURL,proto3" json:"SponsorURL,omitempty"`
	SponsorLogoURL       string               `protobuf:"bytes,8,opt,name=SponsorLogoURL,proto3" json:"SponsorLogoURL,omitempty"`
	AdminName            string               `protobuf:"bytes,9,opt,name=AdminName,proto3" json:"AdminName,omitempty"`
	AdminEmail           string               `protobuf:"bytes,10,opt,name=AdminEmail,proto3" json:"AdminEmail,omitempty"`
	CustomData           string               `protobuf:"bytes,11,opt,name=CustomData,proto3" json:"CustomData,omitempty"`
	ContinentOnly        bool                 `protobuf:"varint,12,opt,name=ContinentOnly,proto3" json:"ContinentOnly,omitempty"`
	CountryOnly          bool                 `protobuf:"varint,13,opt,name=CountryOnly,proto3" json:"CountryOnly,omitempty"`
	ASOnly               bool                 `protobuf:"varint,14,opt,name=ASOnly,proto3" json:"ASOnly,omitempty"`
	Score                int32                `protobuf:"varint,15,opt,name=Score,proto3" json:"Score,omitempty"`
	Latitude             float32              `protobuf:"fixed32,16,opt,name=Latitude,proto3" json:"Latitude,omitempty"`
	Longitude            float32              `protobuf:"fixed32,17,opt,name=Longitude,proto3" json:"Longitude,omitempty"`
	ContinentCode        string               `protobuf:"bytes,18,opt,name=ContinentCode,proto3" json:"ContinentCode,omitempty"`
	CountryCodes         string               `protobuf:"bytes,19,opt,name=CountryCodes,proto3" json:"CountryCodes,omitempty"`
	ExcludedCountryCodes string               `protobuf:"bytes,20,opt,name=ExcludedCountryCodes,proto3" json:"ExcludedCountryCodes,omitempty"`
	Asnum                uint32               `protobuf:"varint,21,opt,name=Asnum,proto3" json:"Asnum,omitempty"`
	Comment              string               `protobuf:"bytes,22,opt,name=Comment,proto3" json:"Comment,omitempty"`
	Enabled              bool                 `protobuf:"varint,23,opt,name=Enabled,proto3" json:"Enabled,omitempty"`
	HttpUp               bool                 `protobuf:"varint,24,opt,name=HttpUp,proto3" json:"HttpUp,omitempty"`
	HttpDownReason       string               `protobuf:"bytes,25,opt,name=HttpDownReason,proto3" json:"HttpDownReason,omitempty"`
	StateSince           *timestamp.Timestamp `protobuf:"bytes,26,opt,name=StateSince,proto3" json:"StateSince,omitempty"`
	AllowRedirects       int32                `protobuf:"varint,27,opt,name=AllowRedirects,proto3" json:"AllowRedirects,omitempty"`
	LastSync             *timestamp.Timestamp `protobuf:"bytes,28,opt,name=LastSync,proto3" json:"LastSync,omitempty"`
	LastSuccessfulSync   *timestamp.Timestamp `protobuf:"bytes,29,opt,name=LastSuccessfulSync,proto3" json:"LastSuccessfulSync,omitempty"`
	LastModTime          *timestamp.Timestamp `protobuf:"bytes,30,opt,name=LastModTime,proto3" json:"LastModTime,omitempty"`
	HttpsUp              bool                 `protobuf:"varint,31,opt,name=HttpsUp,proto3" json:"HttpsUp,omitempty"`
	HttpsDownReason      string               `protobuf:"bytes,32,opt,name=HttpsDownReason,proto3" json:"HttpsDownReason,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *Mirror) Reset()         { *m = Mirror{} }
func (m *Mirror) String() string { return proto.CompactTextString(m) }
func (*Mirror) ProtoMessage()    {}
func (*Mirror) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{2}
}

func (m *Mirror) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Mirror.Unmarshal(m, b)
}
func (m *Mirror) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Mirror.Marshal(b, m, deterministic)
}
func (m *Mirror) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Mirror.Merge(m, src)
}
func (m *Mirror) XXX_Size() int {
	return xxx_messageInfo_Mirror.Size(m)
}
func (m *Mirror) XXX_DiscardUnknown() {
	xxx_messageInfo_Mirror.DiscardUnknown(m)
}

var xxx_messageInfo_Mirror proto.InternalMessageInfo

func (m *Mirror) GetID() int32 {
	if m != nil {
		return m.ID
	}
	return 0
}

func (m *Mirror) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *Mirror) GetHttpURL() string {
	if m != nil {
		return m.HttpURL
	}
	return ""
}

func (m *Mirror) GetRsyncURL() string {
	if m != nil {
		return m.RsyncURL
	}
	return ""
}

func (m *Mirror) GetFtpURL() string {
	if m != nil {
		return m.FtpURL
	}
	return ""
}

func (m *Mirror) GetSponsorName() string {
	if m != nil {
		return m.SponsorName
	}
	return ""
}

func (m *Mirror) GetSponsorURL() string {
	if m != nil {
		return m.SponsorURL
	}
	return ""
}

func (m *Mirror) GetSponsorLogoURL() string {
	if m != nil {
		return m.SponsorLogoURL
	}
	return ""
}

func (m *Mirror) GetAdminName() string {
	if m != nil {
		return m.AdminName
	}
	return ""
}

func (m *Mirror) GetAdminEmail() string {
	if m != nil {
		return m.AdminEmail
	}
	return ""
}

func (m *Mirror) GetCustomData() string {
	if m != nil {
		return m.CustomData
	}
	return ""
}

func (m *Mirror) GetContinentOnly() bool {
	if m != nil {
		return m.ContinentOnly
	}
	return false
}

func (m *Mirror) GetCountryOnly() bool {
	if m != nil {
		return m.CountryOnly
	}
	return false
}

func (m *Mirror) GetASOnly() bool {
	if m != nil {
		return m.ASOnly
	}
	return false
}

func (m *Mirror) GetScore() int32 {
	if m != nil {
		return m.Score
	}
	return 0
}

func (m *Mirror) GetLatitude() float32 {
	if m != nil {
		return m.Latitude
	}
	return 0
}

func (m *Mirror) GetLongitude() float32 {
	if m != nil {
		return m.Longitude
	}
	return 0
}

func (m *Mirror) GetContinentCode() string {
	if m != nil {
		return m.ContinentCode
	}
	return ""
}

func (m *Mirror) GetCountryCodes() string {
	if m != nil {
		return m.CountryCodes
	}
	return ""
}

func (m *Mirror) GetExcludedCountryCodes() string {
	if m != nil {
		return m.ExcludedCountryCodes
	}
	return ""
}

func (m *Mirror) GetAsnum() uint32 {
	if m != nil {
		return m.Asnum
	}
	return 0
}

func (m *Mirror) GetComment() string {
	if m != nil {
		return m.Comment
	}
	return ""
}

func (m *Mirror) GetEnabled() bool {
	if m != nil {
		return m.Enabled
	}
	return false
}

func (m *Mirror) GetHttpUp() bool {
	if m != nil {
		return m.HttpUp
	}
	return false
}

func (m *Mirror) GetHttpDownReason() string {
	if m != nil {
		return m.HttpDownReason
	}
	return ""
}

func (m *Mirror) GetStateSince() *timestamp.Timestamp {
	if m != nil {
		return m.StateSince
	}
	return nil
}

func (m *Mirror) GetAllowRedirects() int32 {
	if m != nil {
		return m.AllowRedirects
	}
	return 0
}

func (m *Mirror) GetLastSync() *timestamp.Timestamp {
	if m != nil {
		return m.LastSync
	}
	return nil
}

func (m *Mirror) GetLastSuccessfulSync() *timestamp.Timestamp {
	if m != nil {
		return m.LastSuccessfulSync
	}
	return nil
}

func (m *Mirror) GetLastModTime() *timestamp.Timestamp {
	if m != nil {
		return m.LastModTime
	}
	return nil
}

func (m *Mirror) GetHttpsUp() bool {
	if m != nil {
		return m.HttpsUp
	}
	return false
}

func (m *Mirror) GetHttpsDownReason() string {
	if m != nil {
		return m.HttpsDownReason
	}
	return ""
}

type MirrorListReply struct {
	Mirrors              []*Mirror `protobuf:"bytes,1,rep,name=Mirrors,proto3" json:"Mirrors,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func (m *MirrorListReply) Reset()         { *m = MirrorListReply{} }
func (m *MirrorListReply) String() string { return proto.CompactTextString(m) }
func (*MirrorListReply) ProtoMessage()    {}
func (*MirrorListReply) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{3}
}

func (m *MirrorListReply) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MirrorListReply.Unmarshal(m, b)
}
func (m *MirrorListReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MirrorListReply.Marshal(b, m, deterministic)
}
func (m *MirrorListReply) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MirrorListReply.Merge(m, src)
}
func (m *MirrorListReply) XXX_Size() int {
	return xxx_messageInfo_MirrorListReply.Size(m)
}
func (m *MirrorListReply) XXX_DiscardUnknown() {
	xxx_messageInfo_MirrorListReply.DiscardUnknown(m)
}

var xxx_messageInfo_MirrorListReply proto.InternalMessageInfo

func (m *MirrorListReply) GetMirrors() []*Mirror {
	if m != nil {
		return m.Mirrors
	}
	return nil
}

type MirrorID struct {
	ID                   int32    `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Name                 string   `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *MirrorID) Reset()         { *m = MirrorID{} }
func (m *MirrorID) String() string { return proto.CompactTextString(m) }
func (*MirrorID) ProtoMessage()    {}
func (*MirrorID) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{4}
}

func (m *MirrorID) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MirrorID.Unmarshal(m, b)
}
func (m *MirrorID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MirrorID.Marshal(b, m, deterministic)
}
func (m *MirrorID) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MirrorID.Merge(m, src)
}
func (m *MirrorID) XXX_Size() int {
	return xxx_messageInfo_MirrorID.Size(m)
}
func (m *MirrorID) XXX_DiscardUnknown() {
	xxx_messageInfo_MirrorID.DiscardUnknown(m)
}

var xxx_messageInfo_MirrorID proto.InternalMessageInfo

func (m *MirrorID) GetID() int32 {
	if m != nil {
		return m.ID
	}
	return 0
}

func (m *MirrorID) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

type MatchReply struct {
	Mirrors              []*MirrorID `protobuf:"bytes,1,rep,name=Mirrors,proto3" json:"Mirrors,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *MatchReply) Reset()         { *m = MatchReply{} }
func (m *MatchReply) String() string { return proto.CompactTextString(m) }
func (*MatchReply) ProtoMessage()    {}
func (*MatchReply) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{5}
}

func (m *MatchReply) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MatchReply.Unmarshal(m, b)
}
func (m *MatchReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MatchReply.Marshal(b, m, deterministic)
}
func (m *MatchReply) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MatchReply.Merge(m, src)
}
func (m *MatchReply) XXX_Size() int {
	return xxx_messageInfo_MatchReply.Size(m)
}
func (m *MatchReply) XXX_DiscardUnknown() {
	xxx_messageInfo_MatchReply.DiscardUnknown(m)
}

var xxx_messageInfo_MatchReply proto.InternalMessageInfo

func (m *MatchReply) GetMirrors() []*MirrorID {
	if m != nil {
		return m.Mirrors
	}
	return nil
}

type ChangeStatusRequest struct {
	ID                   int32    `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Enabled              bool     `protobuf:"varint,2,opt,name=Enabled,proto3" json:"Enabled,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ChangeStatusRequest) Reset()         { *m = ChangeStatusRequest{} }
func (m *ChangeStatusRequest) String() string { return proto.CompactTextString(m) }
func (*ChangeStatusRequest) ProtoMessage()    {}
func (*ChangeStatusRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{6}
}

func (m *ChangeStatusRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ChangeStatusRequest.Unmarshal(m, b)
}
func (m *ChangeStatusRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ChangeStatusRequest.Marshal(b, m, deterministic)
}
func (m *ChangeStatusRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ChangeStatusRequest.Merge(m, src)
}
func (m *ChangeStatusRequest) XXX_Size() int {
	return xxx_messageInfo_ChangeStatusRequest.Size(m)
}
func (m *ChangeStatusRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ChangeStatusRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ChangeStatusRequest proto.InternalMessageInfo

func (m *ChangeStatusRequest) GetID() int32 {
	if m != nil {
		return m.ID
	}
	return 0
}

func (m *ChangeStatusRequest) GetEnabled() bool {
	if m != nil {
		return m.Enabled
	}
	return false
}

type MirrorIDRequest struct {
	ID                   int32    `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *MirrorIDRequest) Reset()         { *m = MirrorIDRequest{} }
func (m *MirrorIDRequest) String() string { return proto.CompactTextString(m) }
func (*MirrorIDRequest) ProtoMessage()    {}
func (*MirrorIDRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{7}
}

func (m *MirrorIDRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MirrorIDRequest.Unmarshal(m, b)
}
func (m *MirrorIDRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MirrorIDRequest.Marshal(b, m, deterministic)
}
func (m *MirrorIDRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MirrorIDRequest.Merge(m, src)
}
func (m *MirrorIDRequest) XXX_Size() int {
	return xxx_messageInfo_MirrorIDRequest.Size(m)
}
func (m *MirrorIDRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_MirrorIDRequest.DiscardUnknown(m)
}

var xxx_messageInfo_MirrorIDRequest proto.InternalMessageInfo

func (m *MirrorIDRequest) GetID() int32 {
	if m != nil {
		return m.ID
	}
	return 0
}

type AddMirrorReply struct {
	Latitude             float32  `protobuf:"fixed32,1,opt,name=Latitude,proto3" json:"Latitude,omitempty"`
	Longitude            float32  `protobuf:"fixed32,2,opt,name=Longitude,proto3" json:"Longitude,omitempty"`
	Country              string   `protobuf:"bytes,3,opt,name=Country,proto3" json:"Country,omitempty"`
	Continent            string   `protobuf:"bytes,4,opt,name=Continent,proto3" json:"Continent,omitempty"`
	ASN                  string   `protobuf:"bytes,5,opt,name=ASN,proto3" json:"ASN,omitempty"`
	Warnings             []string `protobuf:"bytes,6,rep,name=Warnings,proto3" json:"Warnings,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AddMirrorReply) Reset()         { *m = AddMirrorReply{} }
func (m *AddMirrorReply) String() string { return proto.CompactTextString(m) }
func (*AddMirrorReply) ProtoMessage()    {}
func (*AddMirrorReply) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{8}
}

func (m *AddMirrorReply) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AddMirrorReply.Unmarshal(m, b)
}
func (m *AddMirrorReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AddMirrorReply.Marshal(b, m, deterministic)
}
func (m *AddMirrorReply) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AddMirrorReply.Merge(m, src)
}
func (m *AddMirrorReply) XXX_Size() int {
	return xxx_messageInfo_AddMirrorReply.Size(m)
}
func (m *AddMirrorReply) XXX_DiscardUnknown() {
	xxx_messageInfo_AddMirrorReply.DiscardUnknown(m)
}

var xxx_messageInfo_AddMirrorReply proto.InternalMessageInfo

func (m *AddMirrorReply) GetLatitude() float32 {
	if m != nil {
		return m.Latitude
	}
	return 0
}

func (m *AddMirrorReply) GetLongitude() float32 {
	if m != nil {
		return m.Longitude
	}
	return 0
}

func (m *AddMirrorReply) GetCountry() string {
	if m != nil {
		return m.Country
	}
	return ""
}

func (m *AddMirrorReply) GetContinent() string {
	if m != nil {
		return m.Continent
	}
	return ""
}

func (m *AddMirrorReply) GetASN() string {
	if m != nil {
		return m.ASN
	}
	return ""
}

func (m *AddMirrorReply) GetWarnings() []string {
	if m != nil {
		return m.Warnings
	}
	return nil
}

type UpdateMirrorReply struct {
	Diff                 string   `protobuf:"bytes,1,opt,name=Diff,proto3" json:"Diff,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UpdateMirrorReply) Reset()         { *m = UpdateMirrorReply{} }
func (m *UpdateMirrorReply) String() string { return proto.CompactTextString(m) }
func (*UpdateMirrorReply) ProtoMessage()    {}
func (*UpdateMirrorReply) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{9}
}

func (m *UpdateMirrorReply) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UpdateMirrorReply.Unmarshal(m, b)
}
func (m *UpdateMirrorReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UpdateMirrorReply.Marshal(b, m, deterministic)
}
func (m *UpdateMirrorReply) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpdateMirrorReply.Merge(m, src)
}
func (m *UpdateMirrorReply) XXX_Size() int {
	return xxx_messageInfo_UpdateMirrorReply.Size(m)
}
func (m *UpdateMirrorReply) XXX_DiscardUnknown() {
	xxx_messageInfo_UpdateMirrorReply.DiscardUnknown(m)
}

var xxx_messageInfo_UpdateMirrorReply proto.InternalMessageInfo

func (m *UpdateMirrorReply) GetDiff() string {
	if m != nil {
		return m.Diff
	}
	return ""
}

type GeoUpdateMirrorReply struct {
	Mirror               *Mirror  `protobuf:"bytes,1,opt,name=Mirror,proto3" json:"Mirror,omitempty"`
	Diff                 string   `protobuf:"bytes,2,opt,name=Diff,proto3" json:"Diff,omitempty"`
	Warnings             []string `protobuf:"bytes,3,rep,name=Warnings,proto3" json:"Warnings,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GeoUpdateMirrorReply) Reset()         { *m = GeoUpdateMirrorReply{} }
func (m *GeoUpdateMirrorReply) String() string { return proto.CompactTextString(m) }
func (*GeoUpdateMirrorReply) ProtoMessage()    {}
func (*GeoUpdateMirrorReply) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{10}
}

func (m *GeoUpdateMirrorReply) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GeoUpdateMirrorReply.Unmarshal(m, b)
}
func (m *GeoUpdateMirrorReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GeoUpdateMirrorReply.Marshal(b, m, deterministic)
}
func (m *GeoUpdateMirrorReply) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GeoUpdateMirrorReply.Merge(m, src)
}
func (m *GeoUpdateMirrorReply) XXX_Size() int {
	return xxx_messageInfo_GeoUpdateMirrorReply.Size(m)
}
func (m *GeoUpdateMirrorReply) XXX_DiscardUnknown() {
	xxx_messageInfo_GeoUpdateMirrorReply.DiscardUnknown(m)
}

var xxx_messageInfo_GeoUpdateMirrorReply proto.InternalMessageInfo

func (m *GeoUpdateMirrorReply) GetMirror() *Mirror {
	if m != nil {
		return m.Mirror
	}
	return nil
}

func (m *GeoUpdateMirrorReply) GetDiff() string {
	if m != nil {
		return m.Diff
	}
	return ""
}

func (m *GeoUpdateMirrorReply) GetWarnings() []string {
	if m != nil {
		return m.Warnings
	}
	return nil
}

type RefreshRepositoryRequest struct {
	Rehash               bool     `protobuf:"varint,1,opt,name=Rehash,proto3" json:"Rehash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RefreshRepositoryRequest) Reset()         { *m = RefreshRepositoryRequest{} }
func (m *RefreshRepositoryRequest) String() string { return proto.CompactTextString(m) }
func (*RefreshRepositoryRequest) ProtoMessage()    {}
func (*RefreshRepositoryRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{11}
}

func (m *RefreshRepositoryRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RefreshRepositoryRequest.Unmarshal(m, b)
}
func (m *RefreshRepositoryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RefreshRepositoryRequest.Marshal(b, m, deterministic)
}
func (m *RefreshRepositoryRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RefreshRepositoryRequest.Merge(m, src)
}
func (m *RefreshRepositoryRequest) XXX_Size() int {
	return xxx_messageInfo_RefreshRepositoryRequest.Size(m)
}
func (m *RefreshRepositoryRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_RefreshRepositoryRequest.DiscardUnknown(m)
}

var xxx_messageInfo_RefreshRepositoryRequest proto.InternalMessageInfo

func (m *RefreshRepositoryRequest) GetRehash() bool {
	if m != nil {
		return m.Rehash
	}
	return false
}

type ScanMirrorRequest struct {
	ID                   int32                    `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	AutoEnable           bool                     `protobuf:"varint,2,opt,name=AutoEnable,proto3" json:"AutoEnable,omitempty"`
	Protocol             ScanMirrorRequest_Method `protobuf:"varint,3,opt,name=Protocol,proto3,enum=ScanMirrorRequest_Method" json:"Protocol,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *ScanMirrorRequest) Reset()         { *m = ScanMirrorRequest{} }
func (m *ScanMirrorRequest) String() string { return proto.CompactTextString(m) }
func (*ScanMirrorRequest) ProtoMessage()    {}
func (*ScanMirrorRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{12}
}

func (m *ScanMirrorRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ScanMirrorRequest.Unmarshal(m, b)
}
func (m *ScanMirrorRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ScanMirrorRequest.Marshal(b, m, deterministic)
}
func (m *ScanMirrorRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ScanMirrorRequest.Merge(m, src)
}
func (m *ScanMirrorRequest) XXX_Size() int {
	return xxx_messageInfo_ScanMirrorRequest.Size(m)
}
func (m *ScanMirrorRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ScanMirrorRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ScanMirrorRequest proto.InternalMessageInfo

func (m *ScanMirrorRequest) GetID() int32 {
	if m != nil {
		return m.ID
	}
	return 0
}

func (m *ScanMirrorRequest) GetAutoEnable() bool {
	if m != nil {
		return m.AutoEnable
	}
	return false
}

func (m *ScanMirrorRequest) GetProtocol() ScanMirrorRequest_Method {
	if m != nil {
		return m.Protocol
	}
	return ScanMirrorRequest_ALL
}

type ScanMirrorReply struct {
	Enabled              bool     `protobuf:"varint,1,opt,name=Enabled,proto3" json:"Enabled,omitempty"`
	FilesIndexed         int64    `protobuf:"varint,2,opt,name=FilesIndexed,proto3" json:"FilesIndexed,omitempty"`
	KnownIndexed         int64    `protobuf:"varint,3,opt,name=KnownIndexed,proto3" json:"KnownIndexed,omitempty"`
	Removed              int64    `protobuf:"varint,4,opt,name=Removed,proto3" json:"Removed,omitempty"`
	TZOffsetMs           int64    `protobuf:"varint,5,opt,name=TZOffsetMs,proto3" json:"TZOffsetMs,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ScanMirrorReply) Reset()         { *m = ScanMirrorReply{} }
func (m *ScanMirrorReply) String() string { return proto.CompactTextString(m) }
func (*ScanMirrorReply) ProtoMessage()    {}
func (*ScanMirrorReply) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{13}
}

func (m *ScanMirrorReply) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ScanMirrorReply.Unmarshal(m, b)
}
func (m *ScanMirrorReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ScanMirrorReply.Marshal(b, m, deterministic)
}
func (m *ScanMirrorReply) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ScanMirrorReply.Merge(m, src)
}
func (m *ScanMirrorReply) XXX_Size() int {
	return xxx_messageInfo_ScanMirrorReply.Size(m)
}
func (m *ScanMirrorReply) XXX_DiscardUnknown() {
	xxx_messageInfo_ScanMirrorReply.DiscardUnknown(m)
}

var xxx_messageInfo_ScanMirrorReply proto.InternalMessageInfo

func (m *ScanMirrorReply) GetEnabled() bool {
	if m != nil {
		return m.Enabled
	}
	return false
}

func (m *ScanMirrorReply) GetFilesIndexed() int64 {
	if m != nil {
		return m.FilesIndexed
	}
	return 0
}

func (m *ScanMirrorReply) GetKnownIndexed() int64 {
	if m != nil {
		return m.KnownIndexed
	}
	return 0
}

func (m *ScanMirrorReply) GetRemoved() int64 {
	if m != nil {
		return m.Removed
	}
	return 0
}

func (m *ScanMirrorReply) GetTZOffsetMs() int64 {
	if m != nil {
		return m.TZOffsetMs
	}
	return 0
}

type StatsFileRequest struct {
	Pattern              string               `protobuf:"bytes,1,opt,name=Pattern,proto3" json:"Pattern,omitempty"`
	DateStart            *timestamp.Timestamp `protobuf:"bytes,2,opt,name=DateStart,proto3" json:"DateStart,omitempty"`
	DateEnd              *timestamp.Timestamp `protobuf:"bytes,3,opt,name=DateEnd,proto3" json:"DateEnd,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *StatsFileRequest) Reset()         { *m = StatsFileRequest{} }
func (m *StatsFileRequest) String() string { return proto.CompactTextString(m) }
func (*StatsFileRequest) ProtoMessage()    {}
func (*StatsFileRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{14}
}

func (m *StatsFileRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StatsFileRequest.Unmarshal(m, b)
}
func (m *StatsFileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StatsFileRequest.Marshal(b, m, deterministic)
}
func (m *StatsFileRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StatsFileRequest.Merge(m, src)
}
func (m *StatsFileRequest) XXX_Size() int {
	return xxx_messageInfo_StatsFileRequest.Size(m)
}
func (m *StatsFileRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_StatsFileRequest.DiscardUnknown(m)
}

var xxx_messageInfo_StatsFileRequest proto.InternalMessageInfo

func (m *StatsFileRequest) GetPattern() string {
	if m != nil {
		return m.Pattern
	}
	return ""
}

func (m *StatsFileRequest) GetDateStart() *timestamp.Timestamp {
	if m != nil {
		return m.DateStart
	}
	return nil
}

func (m *StatsFileRequest) GetDateEnd() *timestamp.Timestamp {
	if m != nil {
		return m.DateEnd
	}
	return nil
}

type StatsFileReply struct {
	Files                map[string]int64 `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (m *StatsFileReply) Reset()         { *m = StatsFileReply{} }
func (m *StatsFileReply) String() string { return proto.CompactTextString(m) }
func (*StatsFileReply) ProtoMessage()    {}
func (*StatsFileReply) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{15}
}

func (m *StatsFileReply) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StatsFileReply.Unmarshal(m, b)
}
func (m *StatsFileReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StatsFileReply.Marshal(b, m, deterministic)
}
func (m *StatsFileReply) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StatsFileReply.Merge(m, src)
}
func (m *StatsFileReply) XXX_Size() int {
	return xxx_messageInfo_StatsFileReply.Size(m)
}
func (m *StatsFileReply) XXX_DiscardUnknown() {
	xxx_messageInfo_StatsFileReply.DiscardUnknown(m)
}

var xxx_messageInfo_StatsFileReply proto.InternalMessageInfo

func (m *StatsFileReply) GetFiles() map[string]int64 {
	if m != nil {
		return m.Files
	}
	return nil
}

type StatsMirrorRequest struct {
	ID                   int32                `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	DateStart            *timestamp.Timestamp `protobuf:"bytes,2,opt,name=DateStart,proto3" json:"DateStart,omitempty"`
	DateEnd              *timestamp.Timestamp `protobuf:"bytes,3,opt,name=DateEnd,proto3" json:"DateEnd,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *StatsMirrorRequest) Reset()         { *m = StatsMirrorRequest{} }
func (m *StatsMirrorRequest) String() string { return proto.CompactTextString(m) }
func (*StatsMirrorRequest) ProtoMessage()    {}
func (*StatsMirrorRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{16}
}

func (m *StatsMirrorRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StatsMirrorRequest.Unmarshal(m, b)
}
func (m *StatsMirrorRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StatsMirrorRequest.Marshal(b, m, deterministic)
}
func (m *StatsMirrorRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StatsMirrorRequest.Merge(m, src)
}
func (m *StatsMirrorRequest) XXX_Size() int {
	return xxx_messageInfo_StatsMirrorRequest.Size(m)
}
func (m *StatsMirrorRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_StatsMirrorRequest.DiscardUnknown(m)
}

var xxx_messageInfo_StatsMirrorRequest proto.InternalMessageInfo

func (m *StatsMirrorRequest) GetID() int32 {
	if m != nil {
		return m.ID
	}
	return 0
}

func (m *StatsMirrorRequest) GetDateStart() *timestamp.Timestamp {
	if m != nil {
		return m.DateStart
	}
	return nil
}

func (m *StatsMirrorRequest) GetDateEnd() *timestamp.Timestamp {
	if m != nil {
		return m.DateEnd
	}
	return nil
}

type StatsMirrorReply struct {
	Mirror               *Mirror  `protobuf:"bytes,1,opt,name=Mirror,proto3" json:"Mirror,omitempty"`
	Requests             int64    `protobuf:"varint,2,opt,name=Requests,proto3" json:"Requests,omitempty"`
	Bytes                int64    `protobuf:"varint,3,opt,name=Bytes,proto3" json:"Bytes,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *StatsMirrorReply) Reset()         { *m = StatsMirrorReply{} }
func (m *StatsMirrorReply) String() string { return proto.CompactTextString(m) }
func (*StatsMirrorReply) ProtoMessage()    {}
func (*StatsMirrorReply) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{17}
}

func (m *StatsMirrorReply) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StatsMirrorReply.Unmarshal(m, b)
}
func (m *StatsMirrorReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StatsMirrorReply.Marshal(b, m, deterministic)
}
func (m *StatsMirrorReply) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StatsMirrorReply.Merge(m, src)
}
func (m *StatsMirrorReply) XXX_Size() int {
	return xxx_messageInfo_StatsMirrorReply.Size(m)
}
func (m *StatsMirrorReply) XXX_DiscardUnknown() {
	xxx_messageInfo_StatsMirrorReply.DiscardUnknown(m)
}

var xxx_messageInfo_StatsMirrorReply proto.InternalMessageInfo

func (m *StatsMirrorReply) GetMirror() *Mirror {
	if m != nil {
		return m.Mirror
	}
	return nil
}

func (m *StatsMirrorReply) GetRequests() int64 {
	if m != nil {
		return m.Requests
	}
	return 0
}

func (m *StatsMirrorReply) GetBytes() int64 {
	if m != nil {
		return m.Bytes
	}
	return 0
}

type GetMirrorLogsRequest struct {
	ID                   int32    `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	MaxResults           int32    `protobuf:"varint,2,opt,name=MaxResults,proto3" json:"MaxResults,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetMirrorLogsRequest) Reset()         { *m = GetMirrorLogsRequest{} }
func (m *GetMirrorLogsRequest) String() string { return proto.CompactTextString(m) }
func (*GetMirrorLogsRequest) ProtoMessage()    {}
func (*GetMirrorLogsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{18}
}

func (m *GetMirrorLogsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetMirrorLogsRequest.Unmarshal(m, b)
}
func (m *GetMirrorLogsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetMirrorLogsRequest.Marshal(b, m, deterministic)
}
func (m *GetMirrorLogsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetMirrorLogsRequest.Merge(m, src)
}
func (m *GetMirrorLogsRequest) XXX_Size() int {
	return xxx_messageInfo_GetMirrorLogsRequest.Size(m)
}
func (m *GetMirrorLogsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetMirrorLogsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetMirrorLogsRequest proto.InternalMessageInfo

func (m *GetMirrorLogsRequest) GetID() int32 {
	if m != nil {
		return m.ID
	}
	return 0
}

func (m *GetMirrorLogsRequest) GetMaxResults() int32 {
	if m != nil {
		return m.MaxResults
	}
	return 0
}

type GetMirrorLogsReply struct {
	Line                 []string `protobuf:"bytes,1,rep,name=line,proto3" json:"line,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetMirrorLogsReply) Reset()         { *m = GetMirrorLogsReply{} }
func (m *GetMirrorLogsReply) String() string { return proto.CompactTextString(m) }
func (*GetMirrorLogsReply) ProtoMessage()    {}
func (*GetMirrorLogsReply) Descriptor() ([]byte, []int) {
	return fileDescriptor_77a6da22d6a3feb1, []int{19}
}

func (m *GetMirrorLogsReply) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetMirrorLogsReply.Unmarshal(m, b)
}
func (m *GetMirrorLogsReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetMirrorLogsReply.Marshal(b, m, deterministic)
}
func (m *GetMirrorLogsReply) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetMirrorLogsReply.Merge(m, src)
}
func (m *GetMirrorLogsReply) XXX_Size() int {
	return xxx_messageInfo_GetMirrorLogsReply.Size(m)
}
func (m *GetMirrorLogsReply) XXX_DiscardUnknown() {
	xxx_messageInfo_GetMirrorLogsReply.DiscardUnknown(m)
}

var xxx_messageInfo_GetMirrorLogsReply proto.InternalMessageInfo

func (m *GetMirrorLogsReply) GetLine() []string {
	if m != nil {
		return m.Line
	}
	return nil
}

func init() {
	proto.RegisterEnum("ScanMirrorRequest_Method", ScanMirrorRequest_Method_name, ScanMirrorRequest_Method_value)
	proto.RegisterType((*VersionReply)(nil), "VersionReply")
	proto.RegisterType((*MatchRequest)(nil), "MatchRequest")
	proto.RegisterType((*Mirror)(nil), "Mirror")
	proto.RegisterType((*MirrorListReply)(nil), "MirrorListReply")
	proto.RegisterType((*MirrorID)(nil), "MirrorID")
	proto.RegisterType((*MatchReply)(nil), "MatchReply")
	proto.RegisterType((*ChangeStatusRequest)(nil), "ChangeStatusRequest")
	proto.RegisterType((*MirrorIDRequest)(nil), "MirrorIDRequest")
	proto.RegisterType((*AddMirrorReply)(nil), "AddMirrorReply")
	proto.RegisterType((*UpdateMirrorReply)(nil), "UpdateMirrorReply")
	proto.RegisterType((*GeoUpdateMirrorReply)(nil), "GeoUpdateMirrorReply")
	proto.RegisterType((*RefreshRepositoryRequest)(nil), "RefreshRepositoryRequest")
	proto.RegisterType((*ScanMirrorRequest)(nil), "ScanMirrorRequest")
	proto.RegisterType((*ScanMirrorReply)(nil), "ScanMirrorReply")
	proto.RegisterType((*StatsFileRequest)(nil), "StatsFileRequest")
	proto.RegisterType((*StatsFileReply)(nil), "StatsFileReply")
	proto.RegisterMapType((map[string]int64)(nil), "StatsFileReply.FilesEntry")
	proto.RegisterType((*StatsMirrorRequest)(nil), "StatsMirrorRequest")
	proto.RegisterType((*StatsMirrorReply)(nil), "StatsMirrorReply")
	proto.RegisterType((*GetMirrorLogsRequest)(nil), "GetMirrorLogsRequest")
	proto.RegisterType((*GetMirrorLogsReply)(nil), "GetMirrorLogsReply")
}

func init() {
	proto.RegisterFile("rpc.proto", fileDescriptor_77a6da22d6a3feb1)
}

var fileDescriptor_77a6da22d6a3feb1 = []byte{
	// 1472 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xdd, 0x72, 0x1b, 0xc5,
	0x12, 0xd6, 0x4a, 0xb6, 0x65, 0xb5, 0x64, 0x5b, 0x1e, 0x3b, 0x3e, 0x1b, 0x25, 0x27, 0x51, 0xe6,
	0xfc, 0x44, 0xa7, 0x4e, 0x9d, 0xcd, 0x89, 0x49, 0xc0, 0x15, 0x02, 0x94, 0x90, 0x6c, 0xc7, 0x20,
	0xc7, 0xae, 0x55, 0x0c, 0x05, 0x77, 0x1b, 0xed, 0x48, 0xde, 0x62, 0xb5, 0x23, 0x76, 0x46, 0x89,
	0x55, 0xc5, 0x63, 0x70, 0xc9, 0x05, 0x3c, 0x00, 0x55, 0x5c, 0xf2, 0x40, 0x3c, 0x08, 0xd5, 0x33,
	0xb3, 0xd2, 0x6a, 0xe5, 0x1f, 0xc8, 0x05, 0x77, 0xf3, 0x7d, 0xdd, 0x33, 0xdd, 0xd3, 0xd3, 0x3f,
	0xbb, 0x50, 0x8a, 0x47, 0x3d, 0x67, 0x14, 0x73, 0xc9, 0x6b, 0x77, 0x06, 0x9c, 0x0f, 0x42, 0xf6,
	0x48, 0xa1, 0xd7, 0xe3, 0xfe, 0x23, 0x36, 0x1c, 0xc9, 0x89, 0x11, 0xde, 0xcf, 0x0a, 0x65, 0x30,
	0x64, 0x42, 0x7a, 0xc3, 0x91, 0x56, 0xa0, 0x3f, 0x5a, 0x50, 0xf9, 0x82, 0xc5, 0x22, 0xe0, 0x91,
	0xcb, 0x46, 0xe1, 0x84, 0xd8, 0x50, 0x34, 0xd8, 0xb6, 0xea, 0x56, 0xa3, 0xe4, 0x26, 0x90, 0x6c,
	0xc3, 0xf2, 0xa7, 0xe3, 0x20, 0xf4, 0xed, 0xbc, 0xe2, 0x35, 0x20, 0x77, 0xa1, 0x74, 0xc8, 0x93,
	0x1d, 0x05, 0x25, 0x99, 0x11, 0x64, 0x1d, 0xf2, 0x27, 0x5d, 0x7b, 0x49, 0xd1, 0xf9, 0x93, 0x2e,
	0x21, 0xb0, 0xd4, 0x8c, 0x7b, 0xe7, 0xf6, 0xb2, 0x62, 0xd4, 0x9a, 0xdc, 0x03, 0x38, 0xe4, 0xc7,
	0xde, 0xc5, 0x69, 0xcc, 0x7b, 0xc2, 0x5e, 0xa9, 0x5b, 0x8d, 0x65, 0x37, 0xc5, 0xd0, 0x06, 0x54,
	0x8e, 0x3d, 0xd9, 0x3b, 0x77, 0xd9, 0xb7, 0x63, 0x26, 0x24, 0x7a, 0x78, 0xea, 0x49, 0xc9, 0xe2,
	0xa9, 0x87, 0x06, 0xd2, 0xdf, 0x56, 0x61, 0xe5, 0x38, 0x88, 0x63, 0x1e, 0xa3, 0xe1, 0xa3, 0xb6,
	0x92, 0x2f, 0xbb, 0xf9, 0xa3, 0x36, 0x1a, 0x7e, 0xe9, 0x0d, 0x99, 0xf1, 0x5d, 0xad, 0xf1, 0xa0,
	0x17, 0x52, 0x8e, 0xce, 0xdc, 0x8e, 0x71, 0x3c, 0x81, 0xa4, 0x06, 0xab, 0xae, 0x98, 0x44, 0x3d,
	0x14, 0x69, 0xe7, 0xa7, 0x98, 0xec, 0xc0, 0xca, 0x81, 0xde, 0xa4, 0x2f, 0x61, 0x10, 0xa9, 0x43,
	0xb9, 0x3b, 0xe2, 0x91, 0xe0, 0xb1, 0x32, 0xb4, 0xa2, 0x84, 0x69, 0x0a, 0x2f, 0x6a, 0x20, 0xee,
	0x2e, 0x2a, 0x85, 0x14, 0x43, 0xfe, 0x0d, 0xeb, 0x06, 0x75, 0xf8, 0x80, 0xa3, 0xce, 0xaa, 0xd2,
	0xc9, 0xb0, 0x18, 0xf2, 0xa6, 0x3f, 0x0c, 0x22, 0x65, 0xa7, 0xa4, 0x43, 0x3e, 0x25, 0xd0, 0x8a,
	0x02, 0xfb, 0x43, 0x2f, 0x08, 0x6d, 0xd0, 0x56, 0x66, 0x0c, 0xca, 0x5b, 0x63, 0x21, 0xf9, 0xb0,
	0xed, 0x49, 0xcf, 0x2e, 0x6b, 0xf9, 0x8c, 0x21, 0xff, 0x84, 0xb5, 0x16, 0x8f, 0x64, 0x10, 0xb1,
	0x48, 0x9e, 0x44, 0xe1, 0xc4, 0xae, 0xd4, 0xad, 0xc6, 0xaa, 0x3b, 0x4f, 0xe2, 0x6d, 0x5b, 0x7c,
	0x1c, 0xc9, 0x78, 0xa2, 0x74, 0xd6, 0x94, 0x4e, 0x9a, 0xc2, 0x38, 0x35, 0xbb, 0x4a, 0xb8, 0xae,
	0x84, 0x06, 0x61, 0x1a, 0x75, 0x7b, 0x3c, 0x66, 0xf6, 0x86, 0x7a, 0x1c, 0x0d, 0x30, 0xe2, 0x1d,
	0x4f, 0x06, 0x72, 0xec, 0x33, 0xbb, 0x5a, 0xb7, 0x1a, 0x79, 0x77, 0x8a, 0xf1, 0xbe, 0x1d, 0x1e,
	0x0d, 0xb4, 0x70, 0x53, 0x09, 0x67, 0xc4, 0x9c, 0xbf, 0x2d, 0xee, 0x33, 0x9b, 0xa8, 0x2b, 0xcd,
	0x93, 0x84, 0x42, 0xc5, 0x38, 0x87, 0x50, 0xd8, 0x5b, 0x4a, 0x69, 0x8e, 0x23, 0xbb, 0xb0, 0xbd,
	0x7f, 0xd1, 0x0b, 0xc7, 0x3e, 0xf3, 0xe7, 0x74, 0xb7, 0x95, 0xee, 0xa5, 0x32, 0xbc, 0x4d, 0x53,
	0x44, 0xe3, 0xa1, 0x7d, 0xab, 0x6e, 0x35, 0xd6, 0x5c, 0x0d, 0x30, 0xb3, 0x5a, 0x7c, 0x38, 0x64,
	0x91, 0xb4, 0x77, 0x74, 0x66, 0x19, 0x88, 0x92, 0xfd, 0xc8, 0x7b, 0x1d, 0x32, 0xdf, 0xfe, 0x9b,
	0x0a, 0x4b, 0x02, 0x31, 0x5e, 0x2a, 0xfd, 0x46, 0xb6, 0xad, 0xe3, 0xa5, 0x11, 0x66, 0x05, 0xae,
	0xda, 0xfc, 0x6d, 0xe4, 0x32, 0x4f, 0xf0, 0xc8, 0xbe, 0xad, 0xb3, 0x62, 0x9e, 0x25, 0xcf, 0x00,
	0xba, 0xd2, 0x93, 0xac, 0x1b, 0x44, 0x3d, 0x66, 0xd7, 0xea, 0x56, 0xa3, 0xbc, 0x5b, 0x73, 0x74,
	0xfd, 0x3b, 0x49, 0xfd, 0x3b, 0xaf, 0x92, 0xfa, 0x77, 0x53, 0xda, 0x68, 0xa3, 0x19, 0x86, 0xfc,
	0xad, 0xcb, 0xfc, 0x20, 0x66, 0x3d, 0x29, 0xec, 0x3b, 0xea, 0x71, 0x32, 0x2c, 0x79, 0x1f, 0x5f,
	0x49, 0xc8, 0xee, 0x24, 0xea, 0xd9, 0x77, 0x6f, 0xb4, 0x30, 0xd5, 0x25, 0x9f, 0x01, 0x51, 0xeb,
	0x71, 0xaf, 0xc7, 0x84, 0xe8, 0x8f, 0x43, 0x75, 0xc2, 0xdf, 0x6f, 0x3c, 0xe1, 0x92, 0x5d, 0xe4,
	0x39, 0x94, 0x91, 0x3d, 0xe6, 0x3e, 0xea, 0xd9, 0xf7, 0x6e, 0x3c, 0x24, 0xad, 0x9e, 0xd4, 0xbc,
	0x38, 0x1b, 0xd9, 0xf7, 0x75, 0xfc, 0x0d, 0x24, 0x0d, 0xd8, 0x50, 0xcb, 0x54, 0xa0, 0xeb, 0x2a,
	0xd0, 0x59, 0x9a, 0x3e, 0x81, 0x0d, 0xdd, 0x65, 0x3a, 0x81, 0x90, 0xba, 0x6b, 0x3e, 0x80, 0xa2,
	0xa6, 0x84, 0x6d, 0xd5, 0x0b, 0x8d, 0xf2, 0x6e, 0xd1, 0xd1, 0xd8, 0x4d, 0x78, 0xea, 0xc0, 0xaa,
	0x5e, 0x1e, 0xb5, 0xff, 0x48, 0x77, 0xa2, 0x8f, 0x01, 0x4c, 0xdb, 0x43, 0x03, 0xff, 0xc8, 0x1a,
	0x28, 0x39, 0xc9, 0x69, 0x33, 0x13, 0x9f, 0xc0, 0x56, 0xeb, 0xdc, 0x8b, 0x06, 0x0c, 0x9f, 0x76,
	0x2c, 0x92, 0x86, 0x99, 0xb5, 0x96, 0xca, 0xc1, 0xfc, 0x5c, 0x0e, 0xd2, 0x07, 0xc9, 0xcd, 0x8e,
	0xda, 0x57, 0x6c, 0xa6, 0xbf, 0x58, 0xb0, 0xde, 0xf4, 0x7d, 0x73, 0x3b, 0xe5, 0x5b, 0xba, 0x76,
	0xad, 0xeb, 0x6a, 0x37, 0x9f, 0xad, 0x5d, 0x55, 0x27, 0xaa, 0x9a, 0x92, 0x0e, 0x6c, 0x20, 0xee,
	0x9b, 0x16, 0xb0, 0x69, 0xc1, 0x33, 0x82, 0x54, 0xa1, 0xd0, 0xec, 0xbe, 0x34, 0x0d, 0x18, 0x97,
	0xe8, 0xc3, 0x97, 0x5e, 0x1c, 0x05, 0xd1, 0x00, 0x47, 0x48, 0x01, 0x3b, 0x76, 0x82, 0xe9, 0x43,
	0xd8, 0x3c, 0x1b, 0xf9, 0x9e, 0x64, 0x69, 0xa7, 0x09, 0x2c, 0xb5, 0x83, 0x7e, 0xdf, 0x8c, 0x10,
	0xb5, 0xa6, 0x03, 0xd8, 0x3e, 0x64, 0x7c, 0x51, 0xf7, 0x7e, 0x32, 0x56, 0x94, 0x76, 0xea, 0x71,
	0x93, 0x69, 0x93, 0x1c, 0x96, 0x9f, 0x1d, 0x36, 0xe7, 0x51, 0x21, 0xe3, 0xd1, 0x2e, 0xd8, 0x2e,
	0xeb, 0xc7, 0x4c, 0xe0, 0xeb, 0x72, 0x11, 0x48, 0x1e, 0x4f, 0x92, 0x80, 0xef, 0xc0, 0x8a, 0xcb,
	0xce, 0x3d, 0x71, 0xae, 0x8c, 0xad, 0xba, 0x06, 0xd1, 0x9f, 0x2c, 0xd8, 0xec, 0xf6, 0xbc, 0x28,
	0x71, 0xec, 0xf2, 0xb7, 0xc5, 0xee, 0x3f, 0x96, 0x5c, 0x3f, 0xa8, 0x79, 0xde, 0x14, 0x43, 0x9e,
	0xc2, 0xea, 0x29, 0x96, 0x48, 0x8f, 0x87, 0x2a, 0xe4, 0xeb, 0xbb, 0xb7, 0x9d, 0x85, 0x53, 0x9d,
	0x63, 0x26, 0xcf, 0xb9, 0xef, 0x4e, 0x55, 0xe9, 0xbf, 0x60, 0x45, 0x73, 0xa4, 0x08, 0x85, 0x66,
	0xa7, 0x53, 0xcd, 0xe1, 0xe2, 0xe0, 0xd5, 0x69, 0xd5, 0x22, 0x25, 0x58, 0x76, 0xbb, 0x5f, 0xbd,
	0x6c, 0x55, 0xf3, 0xf4, 0x67, 0x0b, 0x36, 0xd2, 0xa7, 0x99, 0x0f, 0x8a, 0x24, 0xdb, 0xac, 0xf9,
	0x8e, 0x47, 0xa1, 0x72, 0x10, 0x84, 0x4c, 0x1c, 0x45, 0x3e, 0xbb, 0x30, 0xc9, 0x58, 0x70, 0xe7,
	0x38, 0xd4, 0xf9, 0x3c, 0xe2, 0x6f, 0xa3, 0x44, 0xa7, 0xa0, 0x75, 0xd2, 0x1c, 0x5a, 0x70, 0xd9,
	0x90, 0xbf, 0x61, 0xbe, 0xca, 0x94, 0x82, 0x9b, 0x40, 0x8c, 0xc6, 0xab, 0xaf, 0x4f, 0xfa, 0x7d,
	0xc1, 0xe4, 0xb1, 0x50, 0xe9, 0x52, 0x70, 0x53, 0x0c, 0xfd, 0xc1, 0x82, 0x2a, 0xd6, 0x8a, 0x40,
	0x9b, 0x37, 0x7e, 0x5f, 0x90, 0x3d, 0x28, 0xb5, 0xb1, 0x67, 0x4a, 0x2f, 0x96, 0xca, 0xdb, 0xeb,
	0x1b, 0xcf, 0x4c, 0x99, 0x3c, 0x81, 0x22, 0x82, 0xfd, 0x48, 0xdf, 0xe0, 0xfa, 0x7d, 0x89, 0x2a,
	0xfd, 0x0e, 0xd6, 0x53, 0xde, 0x61, 0x30, 0xff, 0x0f, 0xcb, 0x7d, 0x0c, 0x8f, 0x69, 0x02, 0x35,
	0x67, 0x5e, 0xee, 0xa8, 0xd8, 0xed, 0x63, 0x05, 0xb9, 0x5a, 0xb1, 0xb6, 0x07, 0x30, 0x23, 0xb1,
	0x70, 0xbe, 0x61, 0x13, 0x73, 0x2f, 0x5c, 0xe2, 0x00, 0x7b, 0xe3, 0x85, 0x63, 0x66, 0xa2, 0xaf,
	0xc1, 0xb3, 0xfc, 0x9e, 0x45, 0xbf, 0xb7, 0x80, 0xa8, 0xe3, 0xaf, 0xcf, 0xb8, 0xbf, 0x3a, 0x28,
	0xcc, 0x3c, 0xd9, 0x9f, 0x2a, 0x50, 0xfc, 0xa0, 0xd3, 0xfe, 0x0b, 0x73, 0xd1, 0x29, 0x56, 0xdf,
	0xb5, 0x13, 0xc9, 0x84, 0xc9, 0x2d, 0x0d, 0xe8, 0x01, 0xf6, 0x02, 0x69, 0xfa, 0x3c, 0x1f, 0x88,
	0x6b, 0x0a, 0xee, 0xd8, 0xbb, 0x70, 0x99, 0x18, 0x87, 0xe6, 0xec, 0x65, 0x37, 0xc5, 0xd0, 0x06,
	0x90, 0xcc, 0x39, 0xa6, 0xfb, 0x84, 0x41, 0xc4, 0xd4, 0x33, 0x96, 0x5c, 0xb5, 0xde, 0xfd, 0xb5,
	0x08, 0x85, 0x56, 0xe7, 0x88, 0x3c, 0x05, 0x38, 0x64, 0x32, 0xf9, 0x82, 0xde, 0x59, 0x88, 0xc9,
	0x3e, 0x7e, 0xdf, 0xd7, 0xd6, 0x9c, 0xf4, 0x67, 0x3b, 0xcd, 0x91, 0x0f, 0xa1, 0x78, 0x36, 0x1a,
	0xc4, 0x9e, 0xcf, 0xae, 0xdc, 0x73, 0x05, 0x4f, 0x73, 0xe4, 0x19, 0x36, 0x9d, 0x90, 0x7b, 0xfe,
	0x3b, 0xec, 0xfd, 0x18, 0x2a, 0xe9, 0xa9, 0x43, 0xb6, 0x9d, 0x4b, 0x86, 0xd0, 0x35, 0xfb, 0x77,
	0x61, 0x09, 0x07, 0xe9, 0x95, 0x96, 0xab, 0x4e, 0x66, 0xda, 0xd2, 0x1c, 0xf9, 0x0f, 0x80, 0x19,
	0x54, 0x51, 0x9f, 0x93, 0xaa, 0x93, 0x99, 0x5a, 0xb5, 0x24, 0x01, 0x68, 0x8e, 0x3c, 0xc4, 0xaf,
	0x65, 0x33, 0xaf, 0x48, 0xc2, 0xd7, 0x36, 0x9c, 0xf9, 0x21, 0x46, 0x73, 0xe4, 0x7f, 0x50, 0x49,
	0xb7, 0xfe, 0x99, 0x2e, 0x71, 0x16, 0x46, 0x82, 0x0a, 0x59, 0x45, 0xb7, 0x19, 0xa3, 0xbe, 0xe8,
	0xc4, 0xd5, 0x57, 0x7e, 0x0e, 0x1b, 0x99, 0x41, 0x73, 0xc9, 0xf6, 0x5b, 0xce, 0x65, 0xc3, 0x88,
	0xe6, 0xc8, 0x0b, 0xd8, 0x5c, 0x98, 0x1e, 0xe4, 0xb6, 0x73, 0xd5, 0x44, 0xb9, 0xc6, 0x8f, 0x27,
	0x00, 0xb3, 0x76, 0x4d, 0xc8, 0xe2, 0x24, 0xa8, 0x55, 0x9d, 0x4c, 0x3f, 0xa7, 0x39, 0xf2, 0x18,
	0x4a, 0xd3, 0xb6, 0x43, 0x36, 0x9d, 0x6c, 0x03, 0xad, 0x6d, 0x64, 0xba, 0x12, 0xcd, 0x91, 0x0f,
	0xa0, 0x9c, 0x2a, 0x5a, 0xb2, 0xe5, 0x2c, 0x36, 0x96, 0xda, 0xa6, 0x93, 0xad, 0x6b, 0x9a, 0x23,
	0x7b, 0xb0, 0x74, 0x1a, 0x44, 0x83, 0x77, 0x48, 0xcb, 0x8f, 0x60, 0x6d, 0xae, 0xf0, 0x08, 0xc6,
	0x73, 0xb1, 0xa0, 0x6b, 0x5b, 0xce, 0x62, 0x7d, 0xd2, 0x1c, 0xf9, 0x2f, 0x94, 0xd5, 0xe7, 0x97,
	0xf1, 0x78, 0xcd, 0x49, 0xff, 0x83, 0xd6, 0xca, 0xce, 0xec, 0xdb, 0x8c, 0xe6, 0x5e, 0xaf, 0x28,
	0xeb, 0xef, 0xfd, 0x1e, 0x00, 0x00, 0xff, 0xff, 0x8e, 0xac, 0x3b, 0x6f, 0x97, 0x0f, 0x00, 0x00,
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6

// CLIClient is the client API for CLI service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type CLIClient interface {
	GetVersion(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*VersionReply, error)
	Upgrade(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error)
	Reload(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error)
	ChangeStatus(ctx context.Context, in *ChangeStatusRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	List(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*MirrorListReply, error)
	MirrorInfo(ctx context.Context, in *MirrorIDRequest, opts ...grpc.CallOption) (*Mirror, error)
	AddMirror(ctx context.Context, in *Mirror, opts ...grpc.CallOption) (*AddMirrorReply, error)
	UpdateMirror(ctx context.Context, in *Mirror, opts ...grpc.CallOption) (*UpdateMirrorReply, error)
	RemoveMirror(ctx context.Context, in *MirrorIDRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	GeoUpdateMirror(ctx context.Context, in *MirrorIDRequest, opts ...grpc.CallOption) (*GeoUpdateMirrorReply, error)
	RefreshRepository(ctx context.Context, in *RefreshRepositoryRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	ScanMirror(ctx context.Context, in *ScanMirrorRequest, opts ...grpc.CallOption) (*ScanMirrorReply, error)
	StatsFile(ctx context.Context, in *StatsFileRequest, opts ...grpc.CallOption) (*StatsFileReply, error)
	StatsMirror(ctx context.Context, in *StatsMirrorRequest, opts ...grpc.CallOption) (*StatsMirrorReply, error)
	Ping(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error)
	GetMirrorLogs(ctx context.Context, in *GetMirrorLogsRequest, opts ...grpc.CallOption) (*GetMirrorLogsReply, error)
	// Tools
	MatchMirror(ctx context.Context, in *MatchRequest, opts ...grpc.CallOption) (*MatchReply, error)
}

type cLIClient struct {
	cc grpc.ClientConnInterface
}

func NewCLIClient(cc grpc.ClientConnInterface) CLIClient {
	return &cLIClient{cc}
}

func (c *cLIClient) GetVersion(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*VersionReply, error) {
	out := new(VersionReply)
	err := c.cc.Invoke(ctx, "/CLI/GetVersion", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cLIClient) Upgrade(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/CLI/Upgrade", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cLIClient) Reload(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/CLI/Reload", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cLIClient) ChangeStatus(ctx context.Context, in *ChangeStatusRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/CLI/ChangeStatus", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cLIClient) List(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*MirrorListReply, error) {
	out := new(MirrorListReply)
	err := c.cc.Invoke(ctx, "/CLI/List", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cLIClient) MirrorInfo(ctx context.Context, in *MirrorIDRequest, opts ...grpc.CallOption) (*Mirror, error) {
	out := new(Mirror)
	err := c.cc.Invoke(ctx, "/CLI/MirrorInfo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cLIClient) AddMirror(ctx context.Context, in *Mirror, opts ...grpc.CallOption) (*AddMirrorReply, error) {
	out := new(AddMirrorReply)
	err := c.cc.Invoke(ctx, "/CLI/AddMirror", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cLIClient) UpdateMirror(ctx context.Context, in *Mirror, opts ...grpc.CallOption) (*UpdateMirrorReply, error) {
	out := new(UpdateMirrorReply)
	err := c.cc.Invoke(ctx, "/CLI/UpdateMirror", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cLIClient) RemoveMirror(ctx context.Context, in *MirrorIDRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/CLI/RemoveMirror", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cLIClient) GeoUpdateMirror(ctx context.Context, in *MirrorIDRequest, opts ...grpc.CallOption) (*GeoUpdateMirrorReply, error) {
	out := new(GeoUpdateMirrorReply)
	err := c.cc.Invoke(ctx, "/CLI/GeoUpdateMirror", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cLIClient) RefreshRepository(ctx context.Context, in *RefreshRepositoryRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/CLI/RefreshRepository", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cLIClient) ScanMirror(ctx context.Context, in *ScanMirrorRequest, opts ...grpc.CallOption) (*ScanMirrorReply, error) {
	out := new(ScanMirrorReply)
	err := c.cc.Invoke(ctx, "/CLI/ScanMirror", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cLIClient) StatsFile(ctx context.Context, in *StatsFileRequest, opts ...grpc.CallOption) (*StatsFileReply, error) {
	out := new(StatsFileReply)
	err := c.cc.Invoke(ctx, "/CLI/StatsFile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cLIClient) StatsMirror(ctx context.Context, in *StatsMirrorRequest, opts ...grpc.CallOption) (*StatsMirrorReply, error) {
	out := new(StatsMirrorReply)
	err := c.cc.Invoke(ctx, "/CLI/StatsMirror", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cLIClient) Ping(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/CLI/Ping", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cLIClient) GetMirrorLogs(ctx context.Context, in *GetMirrorLogsRequest, opts ...grpc.CallOption) (*GetMirrorLogsReply, error) {
	out := new(GetMirrorLogsReply)
	err := c.cc.Invoke(ctx, "/CLI/GetMirrorLogs", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cLIClient) MatchMirror(ctx context.Context, in *MatchRequest, opts ...grpc.CallOption) (*MatchReply, error) {
	out := new(MatchReply)
	err := c.cc.Invoke(ctx, "/CLI/MatchMirror", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// CLIServer is the server API for CLI service.
type CLIServer interface {
	GetVersion(context.Context, *empty.Empty) (*VersionReply, error)
	Upgrade(context.Context, *empty.Empty) (*empty.Empty, error)
	Reload(context.Context, *empty.Empty) (*empty.Empty, error)
	ChangeStatus(context.Context, *ChangeStatusRequest) (*empty.Empty, error)
	List(context.Context, *empty.Empty) (*MirrorListReply, error)
	MirrorInfo(context.Context, *MirrorIDRequest) (*Mirror, error)
	AddMirror(context.Context, *Mirror) (*AddMirrorReply, error)
	UpdateMirror(context.Context, *Mirror) (*UpdateMirrorReply, error)
	RemoveMirror(context.Context, *MirrorIDRequest) (*empty.Empty, error)
	GeoUpdateMirror(context.Context, *MirrorIDRequest) (*GeoUpdateMirrorReply, error)
	RefreshRepository(context.Context, *RefreshRepositoryRequest) (*empty.Empty, error)
	ScanMirror(context.Context, *ScanMirrorRequest) (*ScanMirrorReply, error)
	StatsFile(context.Context, *StatsFileRequest) (*StatsFileReply, error)
	StatsMirror(context.Context, *StatsMirrorRequest) (*StatsMirrorReply, error)
	Ping(context.Context, *empty.Empty) (*empty.Empty, error)
	GetMirrorLogs(context.Context, *GetMirrorLogsRequest) (*GetMirrorLogsReply, error)
	// Tools
	MatchMirror(context.Context, *MatchRequest) (*MatchReply, error)
}

// UnimplementedCLIServer can be embedded to have forward compatible implementations.
type UnimplementedCLIServer struct {
}

func (*UnimplementedCLIServer) GetVersion(ctx context.Context, req *empty.Empty) (*VersionReply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetVersion not implemented")
}
func (*UnimplementedCLIServer) Upgrade(ctx context.Context, req *empty.Empty) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Upgrade not implemented")
}
func (*UnimplementedCLIServer) Reload(ctx context.Context, req *empty.Empty) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Reload not implemented")
}
func (*UnimplementedCLIServer) ChangeStatus(ctx context.Context, req *ChangeStatusRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ChangeStatus not implemented")
}
func (*UnimplementedCLIServer) List(ctx context.Context, req *empty.Empty) (*MirrorListReply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method List not implemented")
}
func (*UnimplementedCLIServer) MirrorInfo(ctx context.Context, req *MirrorIDRequest) (*Mirror, error) {
	return nil, status.Errorf(codes.Unimplemented, "method MirrorInfo not implemented")
}
func (*UnimplementedCLIServer) AddMirror(ctx context.Context, req *Mirror) (*AddMirrorReply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddMirror not implemented")
}
func (*UnimplementedCLIServer) UpdateMirror(ctx context.Context, req *Mirror) (*UpdateMirrorReply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateMirror not implemented")
}
func (*UnimplementedCLIServer) RemoveMirror(ctx context.Context, req *MirrorIDRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RemoveMirror not implemented")
}
func (*UnimplementedCLIServer) GeoUpdateMirror(ctx context.Context, req *MirrorIDRequest) (*GeoUpdateMirrorReply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GeoUpdateMirror not implemented")
}
func (*UnimplementedCLIServer) RefreshRepository(ctx context.Context, req *RefreshRepositoryRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RefreshRepository not implemented")
}
func (*UnimplementedCLIServer) ScanMirror(ctx context.Context, req *ScanMirrorRequest) (*ScanMirrorReply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ScanMirror not implemented")
}
func (*UnimplementedCLIServer) StatsFile(ctx context.Context, req *StatsFileRequest) (*StatsFileReply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method StatsFile not implemented")
}
func (*UnimplementedCLIServer) StatsMirror(ctx context.Context, req *StatsMirrorRequest) (*StatsMirrorReply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method StatsMirror not implemented")
}
func (*UnimplementedCLIServer) Ping(ctx context.Context, req *empty.Empty) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Ping not implemented")
}
func (*UnimplementedCLIServer) GetMirrorLogs(ctx context.Context, req *GetMirrorLogsRequest) (*GetMirrorLogsReply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetMirrorLogs not implemented")
}
func (*UnimplementedCLIServer) MatchMirror(ctx context.Context, req *MatchRequest) (*MatchReply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method MatchMirror not implemented")
}

func RegisterCLIServer(s *grpc.Server, srv CLIServer) {
	s.RegisterService(&_CLI_serviceDesc, srv)
}

func _CLI_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CLIServer).GetVersion(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/CLI/GetVersion",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CLIServer).GetVersion(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _CLI_Upgrade_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CLIServer).Upgrade(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/CLI/Upgrade",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CLIServer).Upgrade(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _CLI_Reload_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CLIServer).Reload(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/CLI/Reload",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CLIServer).Reload(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _CLI_ChangeStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ChangeStatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CLIServer).ChangeStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/CLI/ChangeStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CLIServer).ChangeStatus(ctx, req.(*ChangeStatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CLI_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CLIServer).List(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/CLI/List",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CLIServer).List(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _CLI_MirrorInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MirrorIDRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CLIServer).MirrorInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/CLI/MirrorInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CLIServer).MirrorInfo(ctx, req.(*MirrorIDRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CLI_AddMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Mirror)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CLIServer).AddMirror(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/CLI/AddMirror",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CLIServer).AddMirror(ctx, req.(*Mirror))
	}
	return interceptor(ctx, in, info, handler)
}

func _CLI_UpdateMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Mirror)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CLIServer).UpdateMirror(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/CLI/UpdateMirror",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CLIServer).UpdateMirror(ctx, req.(*Mirror))
	}
	return interceptor(ctx, in, info, handler)
}

func _CLI_RemoveMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MirrorIDRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CLIServer).RemoveMirror(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/CLI/RemoveMirror",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CLIServer).RemoveMirror(ctx, req.(*MirrorIDRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CLI_GeoUpdateMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MirrorIDRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CLIServer).GeoUpdateMirror(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/CLI/GeoUpdateMirror",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CLIServer).GeoUpdateMirror(ctx, req.(*MirrorIDRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CLI_RefreshRepository_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RefreshRepositoryRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CLIServer).RefreshRepository(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/CLI/RefreshRepository",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CLIServer).RefreshRepository(ctx, req.(*RefreshRepositoryRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CLI_ScanMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ScanMirrorRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CLIServer).ScanMirror(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/CLI/ScanMirror",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CLIServer).ScanMirror(ctx, req.(*ScanMirrorRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CLI_StatsFile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StatsFileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CLIServer).StatsFile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/CLI/StatsFile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CLIServer).StatsFile(ctx, req.(*StatsFileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CLI_StatsMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StatsMirrorRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CLIServer).StatsMirror(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/CLI/StatsMirror",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CLIServer).StatsMirror(ctx, req.(*StatsMirrorRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CLI_Ping_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CLIServer).Ping(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/CLI/Ping",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CLIServer).Ping(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _CLI_GetMirrorLogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetMirrorLogsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CLIServer).GetMirrorLogs(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/CLI/GetMirrorLogs",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CLIServer).GetMirrorLogs(ctx, req.(*GetMirrorLogsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CLI_MatchMirror_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MatchRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CLIServer).MatchMirror(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/CLI/MatchMirror",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CLIServer).MatchMirror(ctx, req.(*MatchRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _CLI_serviceDesc = grpc.ServiceDesc{
	ServiceName: "CLI",
	HandlerType: (*CLIServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetVersion",
			Handler:    _CLI_GetVersion_Handler,
		},
		{
			MethodName: "Upgrade",
			Handler:    _CLI_Upgrade_Handler,
		},
		{
			MethodName: "Reload",
			Handler:    _CLI_Reload_Handler,
		},
		{
			MethodName: "ChangeStatus",
			Handler:    _CLI_ChangeStatus_Handler,
		},
		{
			MethodName: "List",
			Handler:    _CLI_List_Handler,
		},
		{
			MethodName: "MirrorInfo",
			Handler:    _CLI_MirrorInfo_Handler,
		},
		{
			MethodName: "AddMirror",
			Handler:    _CLI_AddMirror_Handler,
		},
		{
			MethodName: "UpdateMirror",
			Handler:    _CLI_UpdateMirror_Handler,
		},
		{
			MethodName: "RemoveMirror",
			Handler:    _CLI_RemoveMirror_Handler,
		},
		{
			MethodName: "GeoUpdateMirror",
			Handler:    _CLI_GeoUpdateMirror_Handler,
		},
		{
			MethodName: "RefreshRepository",
			Handler:    _CLI_RefreshRepository_Handler,
		},
		{
			MethodName: "ScanMirror",
			Handler:    _CLI_ScanMirror_Handler,
		},
		{
			MethodName: "StatsFile",
			Handler:    _CLI_StatsFile_Handler,
		},
		{
			MethodName: "StatsMirror",
			Handler:    _CLI_StatsMirror_Handler,
		},
		{
			MethodName: "Ping",
			Handler:    _CLI_Ping_Handler,
		},
		{
			MethodName: "GetMirrorLogs",
			Handler:    _CLI_GetMirrorLogs_Handler,
		},
		{
			MethodName: "MatchMirror",
			Handler:    _CLI_MatchMirror_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "rpc.proto",
}
