| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628 | // Code generated by protoc-gen-gogo. DO NOT EDIT.// source: pb.protopackage pbimport (	fmt "fmt"	proto "github.com/gogo/protobuf/proto"	math "math")// Reference imports to suppress errors if they are not otherwise used.var _ = proto.Marshalvar _ = fmt.Errorfvar _ = 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.GoGoProtoPackageIsVersion2 // please upgrade the proto packagetype Metadata struct {	// this format is versioned	Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`	// git hash of the revision from which Hercules is built	Hash string `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`	// repository's name	Repository string `protobuf:"bytes,3,opt,name=repository,proto3" json:"repository,omitempty"`	// UNIX timestamp of the first analysed commit	BeginUnixTime int64 `protobuf:"varint,4,opt,name=begin_unix_time,json=beginUnixTime,proto3" json:"begin_unix_time,omitempty"`	// UNIX timestamp of the last analysed commit	EndUnixTime int64 `protobuf:"varint,5,opt,name=end_unix_time,json=endUnixTime,proto3" json:"end_unix_time,omitempty"`	// number of processed commits	Commits int32 `protobuf:"varint,6,opt,name=commits,proto3" json:"commits,omitempty"`	// duration of the analysis in milliseconds	RunTime int64 `protobuf:"varint,7,opt,name=run_time,json=runTime,proto3" json:"run_time,omitempty"`	// time taken by each pipeline item in seconds	RunTimePerItem       map[string]float64 `protobuf:"bytes,8,rep,name=run_time_per_item,json=runTimePerItem,proto3" json:"run_time_per_item,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"`	XXX_NoUnkeyedLiteral struct{}           `json:"-"`	XXX_unrecognized     []byte             `json:"-"`	XXX_sizecache        int32              `json:"-"`}func (m *Metadata) Reset()         { *m = Metadata{} }func (m *Metadata) String() string { return proto.CompactTextString(m) }func (*Metadata) ProtoMessage()    {}func (*Metadata) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{0}}func (m *Metadata) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_Metadata.Unmarshal(m, b)}func (m *Metadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_Metadata.Marshal(b, m, deterministic)}func (m *Metadata) XXX_Merge(src proto.Message) {	xxx_messageInfo_Metadata.Merge(m, src)}func (m *Metadata) XXX_Size() int {	return xxx_messageInfo_Metadata.Size(m)}func (m *Metadata) XXX_DiscardUnknown() {	xxx_messageInfo_Metadata.DiscardUnknown(m)}var xxx_messageInfo_Metadata proto.InternalMessageInfofunc (m *Metadata) GetVersion() int32 {	if m != nil {		return m.Version	}	return 0}func (m *Metadata) GetHash() string {	if m != nil {		return m.Hash	}	return ""}func (m *Metadata) GetRepository() string {	if m != nil {		return m.Repository	}	return ""}func (m *Metadata) GetBeginUnixTime() int64 {	if m != nil {		return m.BeginUnixTime	}	return 0}func (m *Metadata) GetEndUnixTime() int64 {	if m != nil {		return m.EndUnixTime	}	return 0}func (m *Metadata) GetCommits() int32 {	if m != nil {		return m.Commits	}	return 0}func (m *Metadata) GetRunTime() int64 {	if m != nil {		return m.RunTime	}	return 0}func (m *Metadata) GetRunTimePerItem() map[string]float64 {	if m != nil {		return m.RunTimePerItem	}	return nil}type BurndownSparseMatrixRow struct {	// the first `len(column)` elements are stored,	// the rest `number_of_columns - len(column)` values are zeros	Columns              []uint32 `protobuf:"varint,1,rep,packed,name=columns,proto3" json:"columns,omitempty"`	XXX_NoUnkeyedLiteral struct{} `json:"-"`	XXX_unrecognized     []byte   `json:"-"`	XXX_sizecache        int32    `json:"-"`}func (m *BurndownSparseMatrixRow) Reset()         { *m = BurndownSparseMatrixRow{} }func (m *BurndownSparseMatrixRow) String() string { return proto.CompactTextString(m) }func (*BurndownSparseMatrixRow) ProtoMessage()    {}func (*BurndownSparseMatrixRow) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{1}}func (m *BurndownSparseMatrixRow) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_BurndownSparseMatrixRow.Unmarshal(m, b)}func (m *BurndownSparseMatrixRow) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_BurndownSparseMatrixRow.Marshal(b, m, deterministic)}func (m *BurndownSparseMatrixRow) XXX_Merge(src proto.Message) {	xxx_messageInfo_BurndownSparseMatrixRow.Merge(m, src)}func (m *BurndownSparseMatrixRow) XXX_Size() int {	return xxx_messageInfo_BurndownSparseMatrixRow.Size(m)}func (m *BurndownSparseMatrixRow) XXX_DiscardUnknown() {	xxx_messageInfo_BurndownSparseMatrixRow.DiscardUnknown(m)}var xxx_messageInfo_BurndownSparseMatrixRow proto.InternalMessageInfofunc (m *BurndownSparseMatrixRow) GetColumns() []uint32 {	if m != nil {		return m.Columns	}	return nil}type BurndownSparseMatrix struct {	Name            string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`	NumberOfRows    int32  `protobuf:"varint,2,opt,name=number_of_rows,json=numberOfRows,proto3" json:"number_of_rows,omitempty"`	NumberOfColumns int32  `protobuf:"varint,3,opt,name=number_of_columns,json=numberOfColumns,proto3" json:"number_of_columns,omitempty"`	// `len(row)` matches `number_of_rows`	Rows                 []*BurndownSparseMatrixRow `protobuf:"bytes,4,rep,name=rows,proto3" json:"rows,omitempty"`	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`	XXX_unrecognized     []byte                     `json:"-"`	XXX_sizecache        int32                      `json:"-"`}func (m *BurndownSparseMatrix) Reset()         { *m = BurndownSparseMatrix{} }func (m *BurndownSparseMatrix) String() string { return proto.CompactTextString(m) }func (*BurndownSparseMatrix) ProtoMessage()    {}func (*BurndownSparseMatrix) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{2}}func (m *BurndownSparseMatrix) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_BurndownSparseMatrix.Unmarshal(m, b)}func (m *BurndownSparseMatrix) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_BurndownSparseMatrix.Marshal(b, m, deterministic)}func (m *BurndownSparseMatrix) XXX_Merge(src proto.Message) {	xxx_messageInfo_BurndownSparseMatrix.Merge(m, src)}func (m *BurndownSparseMatrix) XXX_Size() int {	return xxx_messageInfo_BurndownSparseMatrix.Size(m)}func (m *BurndownSparseMatrix) XXX_DiscardUnknown() {	xxx_messageInfo_BurndownSparseMatrix.DiscardUnknown(m)}var xxx_messageInfo_BurndownSparseMatrix proto.InternalMessageInfofunc (m *BurndownSparseMatrix) GetName() string {	if m != nil {		return m.Name	}	return ""}func (m *BurndownSparseMatrix) GetNumberOfRows() int32 {	if m != nil {		return m.NumberOfRows	}	return 0}func (m *BurndownSparseMatrix) GetNumberOfColumns() int32 {	if m != nil {		return m.NumberOfColumns	}	return 0}func (m *BurndownSparseMatrix) GetRows() []*BurndownSparseMatrixRow {	if m != nil {		return m.Rows	}	return nil}type FilesOwnership struct {	// The sum always equals to the total number of lines in the file.	Value                map[int32]int32 `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty" protobuf_key:"varint,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 *FilesOwnership) Reset()         { *m = FilesOwnership{} }func (m *FilesOwnership) String() string { return proto.CompactTextString(m) }func (*FilesOwnership) ProtoMessage()    {}func (*FilesOwnership) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{3}}func (m *FilesOwnership) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_FilesOwnership.Unmarshal(m, b)}func (m *FilesOwnership) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_FilesOwnership.Marshal(b, m, deterministic)}func (m *FilesOwnership) XXX_Merge(src proto.Message) {	xxx_messageInfo_FilesOwnership.Merge(m, src)}func (m *FilesOwnership) XXX_Size() int {	return xxx_messageInfo_FilesOwnership.Size(m)}func (m *FilesOwnership) XXX_DiscardUnknown() {	xxx_messageInfo_FilesOwnership.DiscardUnknown(m)}var xxx_messageInfo_FilesOwnership proto.InternalMessageInfofunc (m *FilesOwnership) GetValue() map[int32]int32 {	if m != nil {		return m.Value	}	return nil}type BurndownAnalysisResults struct {	// how many ticks are in each band [burndown_project, burndown_file, burndown_developer]	Granularity int32 `protobuf:"varint,1,opt,name=granularity,proto3" json:"granularity,omitempty"`	// how frequently we measure the state of each band [burndown_project, burndown_file, burndown_developer]	Sampling int32 `protobuf:"varint,2,opt,name=sampling,proto3" json:"sampling,omitempty"`	// always exists	Project *BurndownSparseMatrix `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"`	// this is included if `--burndown-files` was specified	Files []*BurndownSparseMatrix `protobuf:"bytes,4,rep,name=files,proto3" json:"files,omitempty"`	// these two are included if `--burndown-people` was specified	People []*BurndownSparseMatrix `protobuf:"bytes,5,rep,name=people,proto3" json:"people,omitempty"`	// rows and cols order correspond to `burndown_developer`	PeopleInteraction *CompressedSparseRowMatrix `protobuf:"bytes,6,opt,name=people_interaction,json=peopleInteraction,proto3" json:"people_interaction,omitempty"`	// How many lines belong to relevant developers for each file. The order is the same as in `files`.	FilesOwnership []*FilesOwnership `protobuf:"bytes,7,rep,name=files_ownership,json=filesOwnership,proto3" json:"files_ownership,omitempty"`	// how long each tick is, as an int64 nanosecond count (Go's time.Duration)	TickSize             int64    `protobuf:"varint,8,opt,name=tick_size,json=tickSize,proto3" json:"tick_size,omitempty"`	XXX_NoUnkeyedLiteral struct{} `json:"-"`	XXX_unrecognized     []byte   `json:"-"`	XXX_sizecache        int32    `json:"-"`}func (m *BurndownAnalysisResults) Reset()         { *m = BurndownAnalysisResults{} }func (m *BurndownAnalysisResults) String() string { return proto.CompactTextString(m) }func (*BurndownAnalysisResults) ProtoMessage()    {}func (*BurndownAnalysisResults) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{4}}func (m *BurndownAnalysisResults) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_BurndownAnalysisResults.Unmarshal(m, b)}func (m *BurndownAnalysisResults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_BurndownAnalysisResults.Marshal(b, m, deterministic)}func (m *BurndownAnalysisResults) XXX_Merge(src proto.Message) {	xxx_messageInfo_BurndownAnalysisResults.Merge(m, src)}func (m *BurndownAnalysisResults) XXX_Size() int {	return xxx_messageInfo_BurndownAnalysisResults.Size(m)}func (m *BurndownAnalysisResults) XXX_DiscardUnknown() {	xxx_messageInfo_BurndownAnalysisResults.DiscardUnknown(m)}var xxx_messageInfo_BurndownAnalysisResults proto.InternalMessageInfofunc (m *BurndownAnalysisResults) GetGranularity() int32 {	if m != nil {		return m.Granularity	}	return 0}func (m *BurndownAnalysisResults) GetSampling() int32 {	if m != nil {		return m.Sampling	}	return 0}func (m *BurndownAnalysisResults) GetProject() *BurndownSparseMatrix {	if m != nil {		return m.Project	}	return nil}func (m *BurndownAnalysisResults) GetFiles() []*BurndownSparseMatrix {	if m != nil {		return m.Files	}	return nil}func (m *BurndownAnalysisResults) GetPeople() []*BurndownSparseMatrix {	if m != nil {		return m.People	}	return nil}func (m *BurndownAnalysisResults) GetPeopleInteraction() *CompressedSparseRowMatrix {	if m != nil {		return m.PeopleInteraction	}	return nil}func (m *BurndownAnalysisResults) GetFilesOwnership() []*FilesOwnership {	if m != nil {		return m.FilesOwnership	}	return nil}func (m *BurndownAnalysisResults) GetTickSize() int64 {	if m != nil {		return m.TickSize	}	return 0}type CompressedSparseRowMatrix struct {	NumberOfRows    int32 `protobuf:"varint,1,opt,name=number_of_rows,json=numberOfRows,proto3" json:"number_of_rows,omitempty"`	NumberOfColumns int32 `protobuf:"varint,2,opt,name=number_of_columns,json=numberOfColumns,proto3" json:"number_of_columns,omitempty"`	// https://en.wikipedia.org/wiki/Sparse_matrix#Compressed_sparse_row_.28CSR.2C_CRS_or_Yale_format.29	Data                 []int64  `protobuf:"varint,3,rep,packed,name=data,proto3" json:"data,omitempty"`	Indices              []int32  `protobuf:"varint,4,rep,packed,name=indices,proto3" json:"indices,omitempty"`	Indptr               []int64  `protobuf:"varint,5,rep,packed,name=indptr,proto3" json:"indptr,omitempty"`	XXX_NoUnkeyedLiteral struct{} `json:"-"`	XXX_unrecognized     []byte   `json:"-"`	XXX_sizecache        int32    `json:"-"`}func (m *CompressedSparseRowMatrix) Reset()         { *m = CompressedSparseRowMatrix{} }func (m *CompressedSparseRowMatrix) String() string { return proto.CompactTextString(m) }func (*CompressedSparseRowMatrix) ProtoMessage()    {}func (*CompressedSparseRowMatrix) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{5}}func (m *CompressedSparseRowMatrix) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_CompressedSparseRowMatrix.Unmarshal(m, b)}func (m *CompressedSparseRowMatrix) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_CompressedSparseRowMatrix.Marshal(b, m, deterministic)}func (m *CompressedSparseRowMatrix) XXX_Merge(src proto.Message) {	xxx_messageInfo_CompressedSparseRowMatrix.Merge(m, src)}func (m *CompressedSparseRowMatrix) XXX_Size() int {	return xxx_messageInfo_CompressedSparseRowMatrix.Size(m)}func (m *CompressedSparseRowMatrix) XXX_DiscardUnknown() {	xxx_messageInfo_CompressedSparseRowMatrix.DiscardUnknown(m)}var xxx_messageInfo_CompressedSparseRowMatrix proto.InternalMessageInfofunc (m *CompressedSparseRowMatrix) GetNumberOfRows() int32 {	if m != nil {		return m.NumberOfRows	}	return 0}func (m *CompressedSparseRowMatrix) GetNumberOfColumns() int32 {	if m != nil {		return m.NumberOfColumns	}	return 0}func (m *CompressedSparseRowMatrix) GetData() []int64 {	if m != nil {		return m.Data	}	return nil}func (m *CompressedSparseRowMatrix) GetIndices() []int32 {	if m != nil {		return m.Indices	}	return nil}func (m *CompressedSparseRowMatrix) GetIndptr() []int64 {	if m != nil {		return m.Indptr	}	return nil}type Couples struct {	// name of each `matrix`'s row and column	Index []string `protobuf:"bytes,1,rep,name=index,proto3" json:"index,omitempty"`	// is always square	Matrix               *CompressedSparseRowMatrix `protobuf:"bytes,2,opt,name=matrix,proto3" json:"matrix,omitempty"`	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`	XXX_unrecognized     []byte                     `json:"-"`	XXX_sizecache        int32                      `json:"-"`}func (m *Couples) Reset()         { *m = Couples{} }func (m *Couples) String() string { return proto.CompactTextString(m) }func (*Couples) ProtoMessage()    {}func (*Couples) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{6}}func (m *Couples) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_Couples.Unmarshal(m, b)}func (m *Couples) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_Couples.Marshal(b, m, deterministic)}func (m *Couples) XXX_Merge(src proto.Message) {	xxx_messageInfo_Couples.Merge(m, src)}func (m *Couples) XXX_Size() int {	return xxx_messageInfo_Couples.Size(m)}func (m *Couples) XXX_DiscardUnknown() {	xxx_messageInfo_Couples.DiscardUnknown(m)}var xxx_messageInfo_Couples proto.InternalMessageInfofunc (m *Couples) GetIndex() []string {	if m != nil {		return m.Index	}	return nil}func (m *Couples) GetMatrix() *CompressedSparseRowMatrix {	if m != nil {		return m.Matrix	}	return nil}type TouchedFiles struct {	Files                []int32  `protobuf:"varint,1,rep,packed,name=files,proto3" json:"files,omitempty"`	XXX_NoUnkeyedLiteral struct{} `json:"-"`	XXX_unrecognized     []byte   `json:"-"`	XXX_sizecache        int32    `json:"-"`}func (m *TouchedFiles) Reset()         { *m = TouchedFiles{} }func (m *TouchedFiles) String() string { return proto.CompactTextString(m) }func (*TouchedFiles) ProtoMessage()    {}func (*TouchedFiles) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{7}}func (m *TouchedFiles) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_TouchedFiles.Unmarshal(m, b)}func (m *TouchedFiles) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_TouchedFiles.Marshal(b, m, deterministic)}func (m *TouchedFiles) XXX_Merge(src proto.Message) {	xxx_messageInfo_TouchedFiles.Merge(m, src)}func (m *TouchedFiles) XXX_Size() int {	return xxx_messageInfo_TouchedFiles.Size(m)}func (m *TouchedFiles) XXX_DiscardUnknown() {	xxx_messageInfo_TouchedFiles.DiscardUnknown(m)}var xxx_messageInfo_TouchedFiles proto.InternalMessageInfofunc (m *TouchedFiles) GetFiles() []int32 {	if m != nil {		return m.Files	}	return nil}type CouplesAnalysisResults struct {	FileCouples   *Couples `protobuf:"bytes,6,opt,name=file_couples,json=fileCouples,proto3" json:"file_couples,omitempty"`	PeopleCouples *Couples `protobuf:"bytes,7,opt,name=people_couples,json=peopleCouples,proto3" json:"people_couples,omitempty"`	// order corresponds to `people_couples::index`	PeopleFiles []*TouchedFiles `protobuf:"bytes,8,rep,name=people_files,json=peopleFiles,proto3" json:"people_files,omitempty"`	// order corresponds to `file_couples::index`	FilesLines           []int32  `protobuf:"varint,9,rep,packed,name=files_lines,json=filesLines,proto3" json:"files_lines,omitempty"`	XXX_NoUnkeyedLiteral struct{} `json:"-"`	XXX_unrecognized     []byte   `json:"-"`	XXX_sizecache        int32    `json:"-"`}func (m *CouplesAnalysisResults) Reset()         { *m = CouplesAnalysisResults{} }func (m *CouplesAnalysisResults) String() string { return proto.CompactTextString(m) }func (*CouplesAnalysisResults) ProtoMessage()    {}func (*CouplesAnalysisResults) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{8}}func (m *CouplesAnalysisResults) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_CouplesAnalysisResults.Unmarshal(m, b)}func (m *CouplesAnalysisResults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_CouplesAnalysisResults.Marshal(b, m, deterministic)}func (m *CouplesAnalysisResults) XXX_Merge(src proto.Message) {	xxx_messageInfo_CouplesAnalysisResults.Merge(m, src)}func (m *CouplesAnalysisResults) XXX_Size() int {	return xxx_messageInfo_CouplesAnalysisResults.Size(m)}func (m *CouplesAnalysisResults) XXX_DiscardUnknown() {	xxx_messageInfo_CouplesAnalysisResults.DiscardUnknown(m)}var xxx_messageInfo_CouplesAnalysisResults proto.InternalMessageInfofunc (m *CouplesAnalysisResults) GetFileCouples() *Couples {	if m != nil {		return m.FileCouples	}	return nil}func (m *CouplesAnalysisResults) GetPeopleCouples() *Couples {	if m != nil {		return m.PeopleCouples	}	return nil}func (m *CouplesAnalysisResults) GetPeopleFiles() []*TouchedFiles {	if m != nil {		return m.PeopleFiles	}	return nil}func (m *CouplesAnalysisResults) GetFilesLines() []int32 {	if m != nil {		return m.FilesLines	}	return nil}type UASTChange struct {	FileName             string   `protobuf:"bytes,1,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`	SrcBefore            string   `protobuf:"bytes,2,opt,name=src_before,json=srcBefore,proto3" json:"src_before,omitempty"`	SrcAfter             string   `protobuf:"bytes,3,opt,name=src_after,json=srcAfter,proto3" json:"src_after,omitempty"`	UastBefore           string   `protobuf:"bytes,4,opt,name=uast_before,json=uastBefore,proto3" json:"uast_before,omitempty"`	UastAfter            string   `protobuf:"bytes,5,opt,name=uast_after,json=uastAfter,proto3" json:"uast_after,omitempty"`	XXX_NoUnkeyedLiteral struct{} `json:"-"`	XXX_unrecognized     []byte   `json:"-"`	XXX_sizecache        int32    `json:"-"`}func (m *UASTChange) Reset()         { *m = UASTChange{} }func (m *UASTChange) String() string { return proto.CompactTextString(m) }func (*UASTChange) ProtoMessage()    {}func (*UASTChange) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{9}}func (m *UASTChange) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_UASTChange.Unmarshal(m, b)}func (m *UASTChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_UASTChange.Marshal(b, m, deterministic)}func (m *UASTChange) XXX_Merge(src proto.Message) {	xxx_messageInfo_UASTChange.Merge(m, src)}func (m *UASTChange) XXX_Size() int {	return xxx_messageInfo_UASTChange.Size(m)}func (m *UASTChange) XXX_DiscardUnknown() {	xxx_messageInfo_UASTChange.DiscardUnknown(m)}var xxx_messageInfo_UASTChange proto.InternalMessageInfofunc (m *UASTChange) GetFileName() string {	if m != nil {		return m.FileName	}	return ""}func (m *UASTChange) GetSrcBefore() string {	if m != nil {		return m.SrcBefore	}	return ""}func (m *UASTChange) GetSrcAfter() string {	if m != nil {		return m.SrcAfter	}	return ""}func (m *UASTChange) GetUastBefore() string {	if m != nil {		return m.UastBefore	}	return ""}func (m *UASTChange) GetUastAfter() string {	if m != nil {		return m.UastAfter	}	return ""}type UASTChangesSaverResults struct {	Changes              []*UASTChange `protobuf:"bytes,1,rep,name=changes,proto3" json:"changes,omitempty"`	XXX_NoUnkeyedLiteral struct{}      `json:"-"`	XXX_unrecognized     []byte        `json:"-"`	XXX_sizecache        int32         `json:"-"`}func (m *UASTChangesSaverResults) Reset()         { *m = UASTChangesSaverResults{} }func (m *UASTChangesSaverResults) String() string { return proto.CompactTextString(m) }func (*UASTChangesSaverResults) ProtoMessage()    {}func (*UASTChangesSaverResults) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{10}}func (m *UASTChangesSaverResults) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_UASTChangesSaverResults.Unmarshal(m, b)}func (m *UASTChangesSaverResults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_UASTChangesSaverResults.Marshal(b, m, deterministic)}func (m *UASTChangesSaverResults) XXX_Merge(src proto.Message) {	xxx_messageInfo_UASTChangesSaverResults.Merge(m, src)}func (m *UASTChangesSaverResults) XXX_Size() int {	return xxx_messageInfo_UASTChangesSaverResults.Size(m)}func (m *UASTChangesSaverResults) XXX_DiscardUnknown() {	xxx_messageInfo_UASTChangesSaverResults.DiscardUnknown(m)}var xxx_messageInfo_UASTChangesSaverResults proto.InternalMessageInfofunc (m *UASTChangesSaverResults) GetChanges() []*UASTChange {	if m != nil {		return m.Changes	}	return nil}type ShotnessRecord struct {	Type                 string          `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`	Name                 string          `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`	File                 string          `protobuf:"bytes,3,opt,name=file,proto3" json:"file,omitempty"`	Counters             map[int32]int32 `protobuf:"bytes,4,rep,name=counters,proto3" json:"counters,omitempty" protobuf_key:"varint,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 *ShotnessRecord) Reset()         { *m = ShotnessRecord{} }func (m *ShotnessRecord) String() string { return proto.CompactTextString(m) }func (*ShotnessRecord) ProtoMessage()    {}func (*ShotnessRecord) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{11}}func (m *ShotnessRecord) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_ShotnessRecord.Unmarshal(m, b)}func (m *ShotnessRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_ShotnessRecord.Marshal(b, m, deterministic)}func (m *ShotnessRecord) XXX_Merge(src proto.Message) {	xxx_messageInfo_ShotnessRecord.Merge(m, src)}func (m *ShotnessRecord) XXX_Size() int {	return xxx_messageInfo_ShotnessRecord.Size(m)}func (m *ShotnessRecord) XXX_DiscardUnknown() {	xxx_messageInfo_ShotnessRecord.DiscardUnknown(m)}var xxx_messageInfo_ShotnessRecord proto.InternalMessageInfofunc (m *ShotnessRecord) GetType() string {	if m != nil {		return m.Type	}	return ""}func (m *ShotnessRecord) GetName() string {	if m != nil {		return m.Name	}	return ""}func (m *ShotnessRecord) GetFile() string {	if m != nil {		return m.File	}	return ""}func (m *ShotnessRecord) GetCounters() map[int32]int32 {	if m != nil {		return m.Counters	}	return nil}type ShotnessAnalysisResults struct {	Records              []*ShotnessRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`	XXX_NoUnkeyedLiteral struct{}          `json:"-"`	XXX_unrecognized     []byte            `json:"-"`	XXX_sizecache        int32             `json:"-"`}func (m *ShotnessAnalysisResults) Reset()         { *m = ShotnessAnalysisResults{} }func (m *ShotnessAnalysisResults) String() string { return proto.CompactTextString(m) }func (*ShotnessAnalysisResults) ProtoMessage()    {}func (*ShotnessAnalysisResults) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{12}}func (m *ShotnessAnalysisResults) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_ShotnessAnalysisResults.Unmarshal(m, b)}func (m *ShotnessAnalysisResults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_ShotnessAnalysisResults.Marshal(b, m, deterministic)}func (m *ShotnessAnalysisResults) XXX_Merge(src proto.Message) {	xxx_messageInfo_ShotnessAnalysisResults.Merge(m, src)}func (m *ShotnessAnalysisResults) XXX_Size() int {	return xxx_messageInfo_ShotnessAnalysisResults.Size(m)}func (m *ShotnessAnalysisResults) XXX_DiscardUnknown() {	xxx_messageInfo_ShotnessAnalysisResults.DiscardUnknown(m)}var xxx_messageInfo_ShotnessAnalysisResults proto.InternalMessageInfofunc (m *ShotnessAnalysisResults) GetRecords() []*ShotnessRecord {	if m != nil {		return m.Records	}	return nil}type FileHistory struct {	Commits              []string             `protobuf:"bytes,1,rep,name=commits,proto3" json:"commits,omitempty"`	ChangesByDeveloper   map[int32]*LineStats `protobuf:"bytes,2,rep,name=changes_by_developer,json=changesByDeveloper,proto3" json:"changes_by_developer,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`	XXX_NoUnkeyedLiteral struct{}             `json:"-"`	XXX_unrecognized     []byte               `json:"-"`	XXX_sizecache        int32                `json:"-"`}func (m *FileHistory) Reset()         { *m = FileHistory{} }func (m *FileHistory) String() string { return proto.CompactTextString(m) }func (*FileHistory) ProtoMessage()    {}func (*FileHistory) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{13}}func (m *FileHistory) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_FileHistory.Unmarshal(m, b)}func (m *FileHistory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_FileHistory.Marshal(b, m, deterministic)}func (m *FileHistory) XXX_Merge(src proto.Message) {	xxx_messageInfo_FileHistory.Merge(m, src)}func (m *FileHistory) XXX_Size() int {	return xxx_messageInfo_FileHistory.Size(m)}func (m *FileHistory) XXX_DiscardUnknown() {	xxx_messageInfo_FileHistory.DiscardUnknown(m)}var xxx_messageInfo_FileHistory proto.InternalMessageInfofunc (m *FileHistory) GetCommits() []string {	if m != nil {		return m.Commits	}	return nil}func (m *FileHistory) GetChangesByDeveloper() map[int32]*LineStats {	if m != nil {		return m.ChangesByDeveloper	}	return nil}type FileHistoryResultMessage struct {	Files                map[string]*FileHistory `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`	XXX_NoUnkeyedLiteral struct{}                `json:"-"`	XXX_unrecognized     []byte                  `json:"-"`	XXX_sizecache        int32                   `json:"-"`}func (m *FileHistoryResultMessage) Reset()         { *m = FileHistoryResultMessage{} }func (m *FileHistoryResultMessage) String() string { return proto.CompactTextString(m) }func (*FileHistoryResultMessage) ProtoMessage()    {}func (*FileHistoryResultMessage) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{14}}func (m *FileHistoryResultMessage) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_FileHistoryResultMessage.Unmarshal(m, b)}func (m *FileHistoryResultMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_FileHistoryResultMessage.Marshal(b, m, deterministic)}func (m *FileHistoryResultMessage) XXX_Merge(src proto.Message) {	xxx_messageInfo_FileHistoryResultMessage.Merge(m, src)}func (m *FileHistoryResultMessage) XXX_Size() int {	return xxx_messageInfo_FileHistoryResultMessage.Size(m)}func (m *FileHistoryResultMessage) XXX_DiscardUnknown() {	xxx_messageInfo_FileHistoryResultMessage.DiscardUnknown(m)}var xxx_messageInfo_FileHistoryResultMessage proto.InternalMessageInfofunc (m *FileHistoryResultMessage) GetFiles() map[string]*FileHistory {	if m != nil {		return m.Files	}	return nil}type LineStats struct {	Added                int32    `protobuf:"varint,1,opt,name=added,proto3" json:"added,omitempty"`	Removed              int32    `protobuf:"varint,2,opt,name=removed,proto3" json:"removed,omitempty"`	Changed              int32    `protobuf:"varint,3,opt,name=changed,proto3" json:"changed,omitempty"`	XXX_NoUnkeyedLiteral struct{} `json:"-"`	XXX_unrecognized     []byte   `json:"-"`	XXX_sizecache        int32    `json:"-"`}func (m *LineStats) Reset()         { *m = LineStats{} }func (m *LineStats) String() string { return proto.CompactTextString(m) }func (*LineStats) ProtoMessage()    {}func (*LineStats) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{15}}func (m *LineStats) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_LineStats.Unmarshal(m, b)}func (m *LineStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_LineStats.Marshal(b, m, deterministic)}func (m *LineStats) XXX_Merge(src proto.Message) {	xxx_messageInfo_LineStats.Merge(m, src)}func (m *LineStats) XXX_Size() int {	return xxx_messageInfo_LineStats.Size(m)}func (m *LineStats) XXX_DiscardUnknown() {	xxx_messageInfo_LineStats.DiscardUnknown(m)}var xxx_messageInfo_LineStats proto.InternalMessageInfofunc (m *LineStats) GetAdded() int32 {	if m != nil {		return m.Added	}	return 0}func (m *LineStats) GetRemoved() int32 {	if m != nil {		return m.Removed	}	return 0}func (m *LineStats) GetChanged() int32 {	if m != nil {		return m.Changed	}	return 0}type DevTick struct {	Commits              int32                 `protobuf:"varint,1,opt,name=commits,proto3" json:"commits,omitempty"`	Stats                *LineStats            `protobuf:"bytes,2,opt,name=stats,proto3" json:"stats,omitempty"`	Languages            map[string]*LineStats `protobuf:"bytes,3,rep,name=languages,proto3" json:"languages,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`	XXX_NoUnkeyedLiteral struct{}              `json:"-"`	XXX_unrecognized     []byte                `json:"-"`	XXX_sizecache        int32                 `json:"-"`}func (m *DevTick) Reset()         { *m = DevTick{} }func (m *DevTick) String() string { return proto.CompactTextString(m) }func (*DevTick) ProtoMessage()    {}func (*DevTick) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{16}}func (m *DevTick) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_DevTick.Unmarshal(m, b)}func (m *DevTick) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_DevTick.Marshal(b, m, deterministic)}func (m *DevTick) XXX_Merge(src proto.Message) {	xxx_messageInfo_DevTick.Merge(m, src)}func (m *DevTick) XXX_Size() int {	return xxx_messageInfo_DevTick.Size(m)}func (m *DevTick) XXX_DiscardUnknown() {	xxx_messageInfo_DevTick.DiscardUnknown(m)}var xxx_messageInfo_DevTick proto.InternalMessageInfofunc (m *DevTick) GetCommits() int32 {	if m != nil {		return m.Commits	}	return 0}func (m *DevTick) GetStats() *LineStats {	if m != nil {		return m.Stats	}	return nil}func (m *DevTick) GetLanguages() map[string]*LineStats {	if m != nil {		return m.Languages	}	return nil}type TickDevs struct {	Devs                 map[int32]*DevTick `protobuf:"bytes,1,rep,name=devs,proto3" json:"devs,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`	XXX_NoUnkeyedLiteral struct{}           `json:"-"`	XXX_unrecognized     []byte             `json:"-"`	XXX_sizecache        int32              `json:"-"`}func (m *TickDevs) Reset()         { *m = TickDevs{} }func (m *TickDevs) String() string { return proto.CompactTextString(m) }func (*TickDevs) ProtoMessage()    {}func (*TickDevs) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{17}}func (m *TickDevs) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_TickDevs.Unmarshal(m, b)}func (m *TickDevs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_TickDevs.Marshal(b, m, deterministic)}func (m *TickDevs) XXX_Merge(src proto.Message) {	xxx_messageInfo_TickDevs.Merge(m, src)}func (m *TickDevs) XXX_Size() int {	return xxx_messageInfo_TickDevs.Size(m)}func (m *TickDevs) XXX_DiscardUnknown() {	xxx_messageInfo_TickDevs.DiscardUnknown(m)}var xxx_messageInfo_TickDevs proto.InternalMessageInfofunc (m *TickDevs) GetDevs() map[int32]*DevTick {	if m != nil {		return m.Devs	}	return nil}type DevsAnalysisResults struct {	Ticks                map[int32]*TickDevs `protobuf:"bytes,1,rep,name=ticks,proto3" json:"ticks,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`	DevIndex             []string            `protobuf:"bytes,2,rep,name=dev_index,json=devIndex,proto3" json:"dev_index,omitempty"`	XXX_NoUnkeyedLiteral struct{}            `json:"-"`	XXX_unrecognized     []byte              `json:"-"`	XXX_sizecache        int32               `json:"-"`}func (m *DevsAnalysisResults) Reset()         { *m = DevsAnalysisResults{} }func (m *DevsAnalysisResults) String() string { return proto.CompactTextString(m) }func (*DevsAnalysisResults) ProtoMessage()    {}func (*DevsAnalysisResults) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{18}}func (m *DevsAnalysisResults) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_DevsAnalysisResults.Unmarshal(m, b)}func (m *DevsAnalysisResults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_DevsAnalysisResults.Marshal(b, m, deterministic)}func (m *DevsAnalysisResults) XXX_Merge(src proto.Message) {	xxx_messageInfo_DevsAnalysisResults.Merge(m, src)}func (m *DevsAnalysisResults) XXX_Size() int {	return xxx_messageInfo_DevsAnalysisResults.Size(m)}func (m *DevsAnalysisResults) XXX_DiscardUnknown() {	xxx_messageInfo_DevsAnalysisResults.DiscardUnknown(m)}var xxx_messageInfo_DevsAnalysisResults proto.InternalMessageInfofunc (m *DevsAnalysisResults) GetTicks() map[int32]*TickDevs {	if m != nil {		return m.Ticks	}	return nil}func (m *DevsAnalysisResults) GetDevIndex() []string {	if m != nil {		return m.DevIndex	}	return nil}type Sentiment struct {	Value                float32  `protobuf:"fixed32,1,opt,name=value,proto3" json:"value,omitempty"`	Comments             []string `protobuf:"bytes,2,rep,name=comments,proto3" json:"comments,omitempty"`	Commits              []string `protobuf:"bytes,3,rep,name=commits,proto3" json:"commits,omitempty"`	XXX_NoUnkeyedLiteral struct{} `json:"-"`	XXX_unrecognized     []byte   `json:"-"`	XXX_sizecache        int32    `json:"-"`}func (m *Sentiment) Reset()         { *m = Sentiment{} }func (m *Sentiment) String() string { return proto.CompactTextString(m) }func (*Sentiment) ProtoMessage()    {}func (*Sentiment) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{19}}func (m *Sentiment) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_Sentiment.Unmarshal(m, b)}func (m *Sentiment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_Sentiment.Marshal(b, m, deterministic)}func (m *Sentiment) XXX_Merge(src proto.Message) {	xxx_messageInfo_Sentiment.Merge(m, src)}func (m *Sentiment) XXX_Size() int {	return xxx_messageInfo_Sentiment.Size(m)}func (m *Sentiment) XXX_DiscardUnknown() {	xxx_messageInfo_Sentiment.DiscardUnknown(m)}var xxx_messageInfo_Sentiment proto.InternalMessageInfofunc (m *Sentiment) GetValue() float32 {	if m != nil {		return m.Value	}	return 0}func (m *Sentiment) GetComments() []string {	if m != nil {		return m.Comments	}	return nil}func (m *Sentiment) GetCommits() []string {	if m != nil {		return m.Commits	}	return nil}type CommentSentimentResults struct {	SentimentByTick      map[int32]*Sentiment `protobuf:"bytes,1,rep,name=sentiment_by_tick,json=sentimentByTick,proto3" json:"sentiment_by_tick,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`	XXX_NoUnkeyedLiteral struct{}             `json:"-"`	XXX_unrecognized     []byte               `json:"-"`	XXX_sizecache        int32                `json:"-"`}func (m *CommentSentimentResults) Reset()         { *m = CommentSentimentResults{} }func (m *CommentSentimentResults) String() string { return proto.CompactTextString(m) }func (*CommentSentimentResults) ProtoMessage()    {}func (*CommentSentimentResults) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{20}}func (m *CommentSentimentResults) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_CommentSentimentResults.Unmarshal(m, b)}func (m *CommentSentimentResults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_CommentSentimentResults.Marshal(b, m, deterministic)}func (m *CommentSentimentResults) XXX_Merge(src proto.Message) {	xxx_messageInfo_CommentSentimentResults.Merge(m, src)}func (m *CommentSentimentResults) XXX_Size() int {	return xxx_messageInfo_CommentSentimentResults.Size(m)}func (m *CommentSentimentResults) XXX_DiscardUnknown() {	xxx_messageInfo_CommentSentimentResults.DiscardUnknown(m)}var xxx_messageInfo_CommentSentimentResults proto.InternalMessageInfofunc (m *CommentSentimentResults) GetSentimentByTick() map[int32]*Sentiment {	if m != nil {		return m.SentimentByTick	}	return nil}type CommitFile struct {	Name                 string     `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`	Language             string     `protobuf:"bytes,3,opt,name=language,proto3" json:"language,omitempty"`	Stats                *LineStats `protobuf:"bytes,4,opt,name=stats,proto3" json:"stats,omitempty"`	XXX_NoUnkeyedLiteral struct{}   `json:"-"`	XXX_unrecognized     []byte     `json:"-"`	XXX_sizecache        int32      `json:"-"`}func (m *CommitFile) Reset()         { *m = CommitFile{} }func (m *CommitFile) String() string { return proto.CompactTextString(m) }func (*CommitFile) ProtoMessage()    {}func (*CommitFile) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{21}}func (m *CommitFile) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_CommitFile.Unmarshal(m, b)}func (m *CommitFile) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_CommitFile.Marshal(b, m, deterministic)}func (m *CommitFile) XXX_Merge(src proto.Message) {	xxx_messageInfo_CommitFile.Merge(m, src)}func (m *CommitFile) XXX_Size() int {	return xxx_messageInfo_CommitFile.Size(m)}func (m *CommitFile) XXX_DiscardUnknown() {	xxx_messageInfo_CommitFile.DiscardUnknown(m)}var xxx_messageInfo_CommitFile proto.InternalMessageInfofunc (m *CommitFile) GetName() string {	if m != nil {		return m.Name	}	return ""}func (m *CommitFile) GetLanguage() string {	if m != nil {		return m.Language	}	return ""}func (m *CommitFile) GetStats() *LineStats {	if m != nil {		return m.Stats	}	return nil}type Commit struct {	Hash                 string        `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`	WhenUnixTime         int64         `protobuf:"varint,2,opt,name=when_unix_time,json=whenUnixTime,proto3" json:"when_unix_time,omitempty"`	Author               int32         `protobuf:"varint,3,opt,name=author,proto3" json:"author,omitempty"`	Files                []*CommitFile `protobuf:"bytes,4,rep,name=files,proto3" json:"files,omitempty"`	XXX_NoUnkeyedLiteral struct{}      `json:"-"`	XXX_unrecognized     []byte        `json:"-"`	XXX_sizecache        int32         `json:"-"`}func (m *Commit) Reset()         { *m = Commit{} }func (m *Commit) String() string { return proto.CompactTextString(m) }func (*Commit) ProtoMessage()    {}func (*Commit) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{22}}func (m *Commit) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_Commit.Unmarshal(m, b)}func (m *Commit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_Commit.Marshal(b, m, deterministic)}func (m *Commit) XXX_Merge(src proto.Message) {	xxx_messageInfo_Commit.Merge(m, src)}func (m *Commit) XXX_Size() int {	return xxx_messageInfo_Commit.Size(m)}func (m *Commit) XXX_DiscardUnknown() {	xxx_messageInfo_Commit.DiscardUnknown(m)}var xxx_messageInfo_Commit proto.InternalMessageInfofunc (m *Commit) GetHash() string {	if m != nil {		return m.Hash	}	return ""}func (m *Commit) GetWhenUnixTime() int64 {	if m != nil {		return m.WhenUnixTime	}	return 0}func (m *Commit) GetAuthor() int32 {	if m != nil {		return m.Author	}	return 0}func (m *Commit) GetFiles() []*CommitFile {	if m != nil {		return m.Files	}	return nil}type CommitsAnalysisResults struct {	Commits              []*Commit `protobuf:"bytes,1,rep,name=commits,proto3" json:"commits,omitempty"`	AuthorIndex          []string  `protobuf:"bytes,2,rep,name=author_index,json=authorIndex,proto3" json:"author_index,omitempty"`	XXX_NoUnkeyedLiteral struct{}  `json:"-"`	XXX_unrecognized     []byte    `json:"-"`	XXX_sizecache        int32     `json:"-"`}func (m *CommitsAnalysisResults) Reset()         { *m = CommitsAnalysisResults{} }func (m *CommitsAnalysisResults) String() string { return proto.CompactTextString(m) }func (*CommitsAnalysisResults) ProtoMessage()    {}func (*CommitsAnalysisResults) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{23}}func (m *CommitsAnalysisResults) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_CommitsAnalysisResults.Unmarshal(m, b)}func (m *CommitsAnalysisResults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_CommitsAnalysisResults.Marshal(b, m, deterministic)}func (m *CommitsAnalysisResults) XXX_Merge(src proto.Message) {	xxx_messageInfo_CommitsAnalysisResults.Merge(m, src)}func (m *CommitsAnalysisResults) XXX_Size() int {	return xxx_messageInfo_CommitsAnalysisResults.Size(m)}func (m *CommitsAnalysisResults) XXX_DiscardUnknown() {	xxx_messageInfo_CommitsAnalysisResults.DiscardUnknown(m)}var xxx_messageInfo_CommitsAnalysisResults proto.InternalMessageInfofunc (m *CommitsAnalysisResults) GetCommits() []*Commit {	if m != nil {		return m.Commits	}	return nil}func (m *CommitsAnalysisResults) GetAuthorIndex() []string {	if m != nil {		return m.AuthorIndex	}	return nil}type Typo struct {	Wrong                string   `protobuf:"bytes,1,opt,name=wrong,proto3" json:"wrong,omitempty"`	Correct              string   `protobuf:"bytes,2,opt,name=correct,proto3" json:"correct,omitempty"`	Commit               string   `protobuf:"bytes,3,opt,name=commit,proto3" json:"commit,omitempty"`	File                 string   `protobuf:"bytes,4,opt,name=file,proto3" json:"file,omitempty"`	Line                 int32    `protobuf:"varint,5,opt,name=line,proto3" json:"line,omitempty"`	XXX_NoUnkeyedLiteral struct{} `json:"-"`	XXX_unrecognized     []byte   `json:"-"`	XXX_sizecache        int32    `json:"-"`}func (m *Typo) Reset()         { *m = Typo{} }func (m *Typo) String() string { return proto.CompactTextString(m) }func (*Typo) ProtoMessage()    {}func (*Typo) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{24}}func (m *Typo) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_Typo.Unmarshal(m, b)}func (m *Typo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_Typo.Marshal(b, m, deterministic)}func (m *Typo) XXX_Merge(src proto.Message) {	xxx_messageInfo_Typo.Merge(m, src)}func (m *Typo) XXX_Size() int {	return xxx_messageInfo_Typo.Size(m)}func (m *Typo) XXX_DiscardUnknown() {	xxx_messageInfo_Typo.DiscardUnknown(m)}var xxx_messageInfo_Typo proto.InternalMessageInfofunc (m *Typo) GetWrong() string {	if m != nil {		return m.Wrong	}	return ""}func (m *Typo) GetCorrect() string {	if m != nil {		return m.Correct	}	return ""}func (m *Typo) GetCommit() string {	if m != nil {		return m.Commit	}	return ""}func (m *Typo) GetFile() string {	if m != nil {		return m.File	}	return ""}func (m *Typo) GetLine() int32 {	if m != nil {		return m.Line	}	return 0}type TyposDataset struct {	Typos                []*Typo  `protobuf:"bytes,1,rep,name=typos,proto3" json:"typos,omitempty"`	XXX_NoUnkeyedLiteral struct{} `json:"-"`	XXX_unrecognized     []byte   `json:"-"`	XXX_sizecache        int32    `json:"-"`}func (m *TyposDataset) Reset()         { *m = TyposDataset{} }func (m *TyposDataset) String() string { return proto.CompactTextString(m) }func (*TyposDataset) ProtoMessage()    {}func (*TyposDataset) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{25}}func (m *TyposDataset) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_TyposDataset.Unmarshal(m, b)}func (m *TyposDataset) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_TyposDataset.Marshal(b, m, deterministic)}func (m *TyposDataset) XXX_Merge(src proto.Message) {	xxx_messageInfo_TyposDataset.Merge(m, src)}func (m *TyposDataset) XXX_Size() int {	return xxx_messageInfo_TyposDataset.Size(m)}func (m *TyposDataset) XXX_DiscardUnknown() {	xxx_messageInfo_TyposDataset.DiscardUnknown(m)}var xxx_messageInfo_TyposDataset proto.InternalMessageInfofunc (m *TyposDataset) GetTypos() []*Typo {	if m != nil {		return m.Typos	}	return nil}type AnalysisResults struct {	Header *Metadata `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`	// the mapped values are dynamic messages which require the second parsing pass.	Contents             map[string][]byte `protobuf:"bytes,2,rep,name=contents,proto3" json:"contents,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`	XXX_NoUnkeyedLiteral struct{}          `json:"-"`	XXX_unrecognized     []byte            `json:"-"`	XXX_sizecache        int32             `json:"-"`}func (m *AnalysisResults) Reset()         { *m = AnalysisResults{} }func (m *AnalysisResults) String() string { return proto.CompactTextString(m) }func (*AnalysisResults) ProtoMessage()    {}func (*AnalysisResults) Descriptor() ([]byte, []int) {	return fileDescriptor_f80abaa17e25ccc8, []int{26}}func (m *AnalysisResults) XXX_Unmarshal(b []byte) error {	return xxx_messageInfo_AnalysisResults.Unmarshal(m, b)}func (m *AnalysisResults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {	return xxx_messageInfo_AnalysisResults.Marshal(b, m, deterministic)}func (m *AnalysisResults) XXX_Merge(src proto.Message) {	xxx_messageInfo_AnalysisResults.Merge(m, src)}func (m *AnalysisResults) XXX_Size() int {	return xxx_messageInfo_AnalysisResults.Size(m)}func (m *AnalysisResults) XXX_DiscardUnknown() {	xxx_messageInfo_AnalysisResults.DiscardUnknown(m)}var xxx_messageInfo_AnalysisResults proto.InternalMessageInfofunc (m *AnalysisResults) GetHeader() *Metadata {	if m != nil {		return m.Header	}	return nil}func (m *AnalysisResults) GetContents() map[string][]byte {	if m != nil {		return m.Contents	}	return nil}func init() {	proto.RegisterType((*Metadata)(nil), "Metadata")	proto.RegisterMapType((map[string]float64)(nil), "Metadata.RunTimePerItemEntry")	proto.RegisterType((*BurndownSparseMatrixRow)(nil), "BurndownSparseMatrixRow")	proto.RegisterType((*BurndownSparseMatrix)(nil), "BurndownSparseMatrix")	proto.RegisterType((*FilesOwnership)(nil), "FilesOwnership")	proto.RegisterMapType((map[int32]int32)(nil), "FilesOwnership.ValueEntry")	proto.RegisterType((*BurndownAnalysisResults)(nil), "BurndownAnalysisResults")	proto.RegisterType((*CompressedSparseRowMatrix)(nil), "CompressedSparseRowMatrix")	proto.RegisterType((*Couples)(nil), "Couples")	proto.RegisterType((*TouchedFiles)(nil), "TouchedFiles")	proto.RegisterType((*CouplesAnalysisResults)(nil), "CouplesAnalysisResults")	proto.RegisterType((*UASTChange)(nil), "UASTChange")	proto.RegisterType((*UASTChangesSaverResults)(nil), "UASTChangesSaverResults")	proto.RegisterType((*ShotnessRecord)(nil), "ShotnessRecord")	proto.RegisterMapType((map[int32]int32)(nil), "ShotnessRecord.CountersEntry")	proto.RegisterType((*ShotnessAnalysisResults)(nil), "ShotnessAnalysisResults")	proto.RegisterType((*FileHistory)(nil), "FileHistory")	proto.RegisterMapType((map[int32]*LineStats)(nil), "FileHistory.ChangesByDeveloperEntry")	proto.RegisterType((*FileHistoryResultMessage)(nil), "FileHistoryResultMessage")	proto.RegisterMapType((map[string]*FileHistory)(nil), "FileHistoryResultMessage.FilesEntry")	proto.RegisterType((*LineStats)(nil), "LineStats")	proto.RegisterType((*DevTick)(nil), "DevTick")	proto.RegisterMapType((map[string]*LineStats)(nil), "DevTick.LanguagesEntry")	proto.RegisterType((*TickDevs)(nil), "TickDevs")	proto.RegisterMapType((map[int32]*DevTick)(nil), "TickDevs.DevsEntry")	proto.RegisterType((*DevsAnalysisResults)(nil), "DevsAnalysisResults")	proto.RegisterMapType((map[int32]*TickDevs)(nil), "DevsAnalysisResults.TicksEntry")	proto.RegisterType((*Sentiment)(nil), "Sentiment")	proto.RegisterType((*CommentSentimentResults)(nil), "CommentSentimentResults")	proto.RegisterMapType((map[int32]*Sentiment)(nil), "CommentSentimentResults.SentimentByTickEntry")	proto.RegisterType((*CommitFile)(nil), "CommitFile")	proto.RegisterType((*Commit)(nil), "Commit")	proto.RegisterType((*CommitsAnalysisResults)(nil), "CommitsAnalysisResults")	proto.RegisterType((*Typo)(nil), "Typo")	proto.RegisterType((*TyposDataset)(nil), "TyposDataset")	proto.RegisterType((*AnalysisResults)(nil), "AnalysisResults")	proto.RegisterMapType((map[string][]byte)(nil), "AnalysisResults.ContentsEntry")}func init() { proto.RegisterFile("pb.proto", fileDescriptor_f80abaa17e25ccc8) }var fileDescriptor_f80abaa17e25ccc8 = []byte{	// 1589 bytes of a gzipped FileDescriptorProto	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x57, 0x5f, 0x6f, 0xdb, 0x54,	0x14, 0x97, 0xf3, 0xd7, 0x39, 0x49, 0x53, 0x7a, 0x57, 0x56, 0x2f, 0x53, 0xb7, 0xcc, 0x2a, 0x50,	0x18, 0xf3, 0xa6, 0x4e, 0x93, 0xc6, 0x78, 0xa1, 0x4d, 0x99, 0x56, 0x69, 0x7f, 0xc0, 0xe9, 0x86,	0x78, 0x59, 0xe4, 0xda, 0xb7, 0x8d, 0x59, 0x72, 0x6d, 0xdd, 0x6b, 0x27, 0xcd, 0x04, 0xaf, 0x7c,	0x0c, 0xde, 0x78, 0x41, 0x82, 0x17, 0xbe, 0x02, 0x42, 0xe2, 0x95, 0x0f, 0xc1, 0xe7, 0x40, 0xf7,	0x9f, 0x63, 0x67, 0xee, 0x18, 0x6f, 0x3e, 0xe7, 0xfc, 0xce, 0xbd, 0xe7, 0xff, 0xb9, 0x06, 0x33,	0x3e, 0x71, 0x62, 0x1a, 0x25, 0x91, 0xfd, 0x4f, 0x05, 0xcc, 0x27, 0x38, 0xf1, 0x02, 0x2f, 0xf1,	0x90, 0x05, 0xcd, 0x19, 0xa6, 0x2c, 0x8c, 0x88, 0x65, 0xf4, 0x8d, 0xdd, 0xba, 0xab, 0x49, 0x84,	0xa0, 0x36, 0xf6, 0xd8, 0xd8, 0xaa, 0xf4, 0x8d, 0xdd, 0x96, 0x2b, 0xbe, 0xd1, 0x35, 0x00, 0x8a,	0xe3, 0x88, 0x85, 0x49, 0x44, 0x17, 0x56, 0x55, 0x48, 0x72, 0x1c, 0xf4, 0x21, 0xac, 0x9f, 0xe0,	0xb3, 0x90, 0x8c, 0x52, 0x12, 0x9e, 0x8f, 0x92, 0x70, 0x8a, 0xad, 0x5a, 0xdf, 0xd8, 0xad, 0xba,	0x6b, 0x82, 0xfd, 0x9c, 0x84, 0xe7, 0xc7, 0xe1, 0x14, 0x23, 0x1b, 0xd6, 0x30, 0x09, 0x72, 0xa8,	0xba, 0x40, 0xb5, 0x31, 0x09, 0x32, 0x8c, 0x05, 0x4d, 0x3f, 0x9a, 0x4e, 0xc3, 0x84, 0x59, 0x0d,	0x69, 0x99, 0x22, 0xd1, 0x15, 0x30, 0x69, 0x4a, 0xa4, 0x62, 0x53, 0x28, 0x36, 0x69, 0x4a, 0x84,	0xd2, 0x23, 0xd8, 0xd0, 0xa2, 0x51, 0x8c, 0xe9, 0x28, 0x4c, 0xf0, 0xd4, 0x32, 0xfb, 0xd5, 0xdd,	0xf6, 0xde, 0xb6, 0xa3, 0x9d, 0x76, 0x5c, 0x89, 0xfe, 0x0a, 0xd3, 0xa3, 0x04, 0x4f, 0xbf, 0x24,	0x09, 0x5d, 0xb8, 0x5d, 0x5a, 0x60, 0xf6, 0xf6, 0xe1, 0x52, 0x09, 0x0c, 0xbd, 0x07, 0xd5, 0x57,	0x78, 0x21, 0x62, 0xd5, 0x72, 0xf9, 0x27, 0xda, 0x84, 0xfa, 0xcc, 0x9b, 0xa4, 0x58, 0x04, 0xca,	0x70, 0x25, 0xf1, 0xa0, 0x72, 0xdf, 0xb0, 0xef, 0xc2, 0xd6, 0x41, 0x4a, 0x49, 0x10, 0xcd, 0xc9,	0x30, 0xf6, 0x28, 0xc3, 0x4f, 0xbc, 0x84, 0x86, 0xe7, 0x6e, 0x34, 0x97, 0xce, 0x4d, 0xd2, 0x29,	0x61, 0x96, 0xd1, 0xaf, 0xee, 0xae, 0xb9, 0x9a, 0xb4, 0x7f, 0x31, 0x60, 0xb3, 0x4c, 0x8b, 0xe7,	0x83, 0x78, 0x53, 0xac, 0xae, 0x16, 0xdf, 0x68, 0x07, 0xba, 0x24, 0x9d, 0x9e, 0x60, 0x3a, 0x8a,	0x4e, 0x47, 0x34, 0x9a, 0x33, 0x61, 0x44, 0xdd, 0xed, 0x48, 0xee, 0xb3, 0x53, 0x37, 0x9a, 0x33,	0xf4, 0x09, 0x6c, 0x2c, 0x51, 0xfa, 0xda, 0xaa, 0x00, 0xae, 0x6b, 0xe0, 0x40, 0xb2, 0xd1, 0xa7,	0x50, 0x13, 0xe7, 0xd4, 0x44, 0xcc, 0x2c, 0xe7, 0x02, 0x07, 0x5c, 0x81, 0xb2, 0xbf, 0x87, 0xee,	0xc3, 0x70, 0x82, 0xd9, 0xb3, 0x39, 0xc1, 0x94, 0x8d, 0xc3, 0x18, 0xdd, 0xd1, 0xd1, 0x30, 0xc4,	0x01, 0x3d, 0xa7, 0x28, 0x77, 0x5e, 0x70, 0xa1, 0x8c, 0xb8, 0x04, 0xf6, 0xee, 0x03, 0x2c, 0x99,	0xf9, 0xf8, 0xd6, 0x4b, 0xe2, 0x5b, 0xcf, 0xc7, 0xf7, 0xc7, 0xea, 0x32, 0xc0, 0xfb, 0xc4, 0x9b,	0x2c, 0x58, 0xc8, 0x5c, 0xcc, 0xd2, 0x49, 0xc2, 0x50, 0x1f, 0xda, 0x67, 0xd4, 0x23, 0xe9, 0xc4,	0xa3, 0x61, 0xa2, 0xcf, 0xcb, 0xb3, 0x50, 0x0f, 0x4c, 0xe6, 0x4d, 0xe3, 0x49, 0x48, 0xce, 0xd4,	0xd1, 0x19, 0x8d, 0x6e, 0x43, 0x33, 0xa6, 0xd1, 0x77, 0xd8, 0x4f, 0x44, 0x9c, 0xda, 0x7b, 0xef,	0x97, 0x07, 0x42, 0xa3, 0xd0, 0x4d, 0xa8, 0x9f, 0x72, 0x47, 0x55, 0xdc, 0x2e, 0x80, 0x4b, 0x0c,	0xba, 0x05, 0x8d, 0x18, 0x47, 0xf1, 0x84, 0x97, 0xfd, 0x5b, 0xd0, 0x0a, 0x84, 0x8e, 0x00, 0xc9,	0xaf, 0x51, 0x48, 0x12, 0x4c, 0x3d, 0x3f, 0xe1, 0xdd, 0xda, 0x10, 0x76, 0xf5, 0x9c, 0x41, 0x34,	0x8d, 0x29, 0x66, 0x0c, 0x07, 0x52, 0xd9, 0x8d, 0xe6, 0x4a, 0x7f, 0x43, 0x6a, 0x1d, 0x2d, 0x95,	0xd0, 0x7d, 0x58, 0x17, 0x26, 0x8c, 0x22, 0x9d, 0x10, 0xab, 0x29, 0x4c, 0x58, 0x5f, 0xc9, 0x93,	0xdb, 0x3d, 0x2d, 0xe6, 0xf5, 0x2a, 0xb4, 0x92, 0xd0, 0x7f, 0x35, 0x62, 0xe1, 0x6b, 0x6c, 0x99,	0xa2, 0xe9, 0x4c, 0xce, 0x18, 0x86, 0xaf, 0xb1, 0xfd, 0xbb, 0x01, 0x57, 0x2e, 0xb4, 0xa3, 0xa4,	0x48, 0x8d, 0x77, 0x2d, 0xd2, 0x4a, 0x79, 0x91, 0x22, 0xa8, 0xf1, 0x3e, 0xb6, 0xaa, 0xfd, 0xea,	0x6e, 0xd5, 0xad, 0xe9, 0x41, 0x16, 0x92, 0x20, 0xf4, 0x55, 0x0e, 0xea, 0xae, 0x26, 0xd1, 0x65,	0x68, 0x84, 0x24, 0x88, 0x13, 0x2a, 0xc2, 0x5d, 0x75, 0x15, 0x65, 0x0f, 0xa1, 0x39, 0x88, 0xd2,	0x98, 0x67, 0x64, 0x13, 0xea, 0x21, 0x09, 0xf0, 0xb9, 0xa8, 0xda, 0x96, 0x2b, 0x09, 0xb4, 0x07,	0x8d, 0xa9, 0x70, 0x41, 0xd8, 0xf1, 0xf6, 0x60, 0x2b, 0xa4, 0xbd, 0x03, 0x9d, 0xe3, 0x28, 0xf5,	0xc7, 0x38, 0x10, 0x01, 0xe5, 0x27, 0xcb, 0xc2, 0x30, 0x84, 0x51, 0x92, 0xb0, 0xff, 0x32, 0xe0,	0xb2, 0xba, 0x7b, 0xb5, 0x70, 0x6f, 0x42, 0x87, 0x63, 0x46, 0xbe, 0x14, 0xab, 0x3c, 0x9b, 0x8e,	0x82, 0xbb, 0x6d, 0x2e, 0xd5, 0x76, 0xdf, 0x86, 0xae, 0x2a, 0x0d, 0x0d, 0x6f, 0xae, 0xc0, 0xd7,	0xa4, 0x5c, 0x2b, 0xdc, 0x81, 0x8e, 0x52, 0x90, 0x56, 0xc9, 0xd1, 0xb8, 0xe6, 0xe4, 0x6d, 0x76,	0xdb, 0x12, 0x22, 0x1d, 0xb8, 0x0e, 0x6d, 0x59, 0x32, 0x93, 0x90, 0x60, 0x66, 0xb5, 0x84, 0x1b,	0x20, 0x58, 0x8f, 0x39, 0xc7, 0xfe, 0xd9, 0x00, 0x78, 0xbe, 0x3f, 0x3c, 0x1e, 0x8c, 0x3d, 0x72,	0x86, 0x79, 0xa1, 0x08, 0xfb, 0x73, 0xb3, 0xca, 0xe4, 0x8c, 0xa7, 0x7c, 0x5e, 0x6d, 0x03, 0x30,	0xea, 0x8f, 0x4e, 0xf0, 0x69, 0x44, 0xb1, 0xda, 0x2c, 0x2d, 0x46, 0xfd, 0x03, 0xc1, 0xe0, 0xba,	0x5c, 0xec, 0x9d, 0x26, 0x98, 0xaa, 0xed, 0x62, 0x32, 0xea, 0xef, 0x73, 0x9a, 0x1b, 0x92, 0x7a,	0x2c, 0xd1, 0xca, 0x35, 0xb9, 0x7c, 0x38, 0x4b, 0x69, 0x6f, 0x83, 0xa0, 0x94, 0x7a, 0x5d, 0x1e,	0xce, 0x39, 0x42, 0xdf, 0xfe, 0x02, 0xb6, 0x96, 0x66, 0xb2, 0xa1, 0x37, 0xc3, 0x54, 0xc7, 0xfc,	0x03, 0x68, 0xfa, 0x92, 0xad, 0xc6, 0x56, 0xdb, 0x59, 0x42, 0x5d, 0x2d, 0xb3, 0xff, 0x30, 0xa0,	0x3b, 0x1c, 0x47, 0x09, 0xc1, 0x8c, 0xb9, 0xd8, 0x8f, 0x68, 0xc0, 0x2b, 0x31, 0x59, 0xc4, 0xd9,	0x50, 0xe6, 0xdf, 0xd9, 0xa0, 0xae, 0xe4, 0x06, 0x35, 0x82, 0x1a, 0x0f, 0x82, 0x72, 0x4a, 0x7c,	0xa3, 0xcf, 0xc0, 0xf4, 0xa3, 0x94, 0x77, 0xa7, 0x1e, 0x1b, 0xdb, 0x4e, 0xf1, 0x78, 0x9e, 0x45,	0x21, 0x97, 0x03, 0x33, 0x83, 0xf7, 0x3e, 0x87, 0xb5, 0x82, 0xe8, 0x7f, 0x8d, 0xcd, 0x43, 0xd8,	0xd2, 0xd7, 0xac, 0x16, 0xdf, 0xc7, 0xd0, 0xa4, 0xe2, 0x66, 0x1d, 0x88, 0xf5, 0x15, 0x8b, 0x5c,	0x2d, 0xb7, 0xff, 0x36, 0xa0, 0xcd, 0x2b, 0xe4, 0x51, 0xc8, 0xc4, 0xea, 0xcf, 0xad, 0x6b, 0xd9,	0x44, 0xd9, 0xba, 0x7e, 0x01, 0x9b, 0x2a, 0x82, 0xa3, 0x93, 0xc5, 0x28, 0xc0, 0x33, 0x3c, 0x89,	0x62, 0x4c, 0xad, 0x8a, 0xb8, 0x61, 0xc7, 0xc9, 0x9d, 0xe2, 0xa8, 0xec, 0x1c, 0x2c, 0x0e, 0x35,	0x4c, 0xba, 0x8e, 0xfc, 0x37, 0x04, 0xbd, 0xaf, 0x61, 0xeb, 0x02, 0x78, 0x49, 0x38, 0xfa, 0xf9,	0x70, 0xb4, 0xf7, 0xc0, 0xe1, 0xc5, 0x3b, 0x4c, 0xbc, 0x84, 0xe5, 0x43, 0xf3, 0x93, 0x01, 0x56,	0xce, 0x1c, 0x19, 0x96, 0x27, 0x98, 0x31, 0xef, 0x0c, 0xa3, 0x07, 0xf9, 0x56, 0x5e, 0x31, 0xbc,	0x80, 0x94, 0xb3, 0x54, 0x2d, 0x39, 0xa1, 0xd2, 0x7b, 0x08, 0xb0, 0x64, 0x96, 0x3c, 0x22, 0xec,	0xa2, 0x79, 0x9d, 0xc2, 0xd9, 0x39, 0x03, 0x9f, 0x43, 0x2b, 0x33, 0x9c, 0xa7, 0xd8, 0x0b, 0x02,	0x1c, 0x28, 0x3f, 0x25, 0xc1, 0x13, 0x41, 0xf1, 0x34, 0x9a, 0xe1, 0x40, 0xa5, 0x5e, 0x93, 0x22,	0x45, 0x22, 0x60, 0x81, 0xda, 0xfe, 0x9a, 0xb4, 0xff, 0x34, 0xa0, 0x79, 0x88, 0x67, 0xc7, 0xa1,	0xff, 0xaa, 0x98, 0xc8, 0xc2, 0xbb, 0xab, 0x0f, 0x75, 0xc6, 0x2f, 0x2e, 0x8b, 0xa1, 0x10, 0xa0,	0x7b, 0xd0, 0x9a, 0x78, 0xe4, 0x2c, 0xf5, 0x78, 0x2b, 0x55, 0x45, 0x98, 0xb6, 0x1c, 0x75, 0xb0,	0xf3, 0x58, 0x4b, 0x64, 0x64, 0x96, 0xc8, 0xde, 0x23, 0xe8, 0x16, 0x85, 0x25, 0x11, 0x7a, 0xb7,	0x04, 0xce, 0xc0, 0xe4, 0x77, 0x1d, 0xe2, 0x19, 0x43, 0x1f, 0x41, 0x2d, 0xc0, 0x33, 0x9d, 0xae,	0x4b, 0x8e, 0x16, 0x70, 0x83, 0x94, 0x0d, 0x02, 0xd0, 0xdb, 0x87, 0x56, 0xc6, 0x2a, 0x29, 0x9d,	0x6b, 0xc5, 0x9b, 0x4d, 0xed, 0x50, 0xfe, 0xde, 0xdf, 0x0c, 0xb8, 0xc4, 0xcf, 0x58, 0x6d, 0xa8,	0x7b, 0x50, 0xe7, 0x5b, 0x52, 0x1b, 0x71, 0xdd, 0x29, 0x01, 0x09, 0xc3, 0x74, 0xb9, 0x08, 0x34,	0x1f, 0x84, 0x01, 0x9e, 0x8d, 0xe4, 0x4e, 0xaa, 0x88, 0x76, 0x32, 0x03, 0x3c, 0x3b, 0xe2, 0x74,	0x6f, 0x00, 0xb0, 0xd4, 0x28, 0xb1, 0xf7, 0x7a, 0xd1, 0xde, 0x56, 0xe6, 0x78, 0xde, 0xe0, 0x6f,	0xa0, 0x35, 0xc4, 0x84, 0xbf, 0x93, 0x49, 0xb2, 0x9c, 0x15, 0xfc, 0x94, 0x8a, 0x82, 0xf1, 0x07,	0x12, 0xcf, 0x3c, 0x26, 0x22, 0xe3, 0xc2, 0x06, 0x4d, 0xe7, 0x8b, 0xa4, 0x5a, 0xe8, 0x76, 0x3e,	0x24, 0xb7, 0x06, 0x12, 0x96, 0x5d, 0xa0, 0xa3, 0xf1, 0x2d, 0x6c, 0x30, 0xcd, 0xe3, 0xb3, 0x80,	0x3b, 0xab, 0x22, 0x73, 0xcb, 0xb9, 0x40, 0xc9, 0xc9, 0x18, 0x07, 0x0b, 0xee, 0x88, 0x8c, 0xd3,	0x3a, 0x2b, 0x72, 0x7b, 0x4f, 0x61, 0xb3, 0x0c, 0xf8, 0x2e, 0x93, 0x60, 0x79, 0x63, 0x2e, 0x3e,	0x2f, 0x01, 0x06, 0xc2, 0x23, 0xde, 0x88, 0xa5, 0x6f, 0xef, 0x1e, 0x98, 0xba, 0x82, 0xf5, 0xae,	0xd2, 0xf4, 0xb2, 0x53, 0x6a, 0x17, 0x74, 0x8a, 0xfd, 0x03, 0x34, 0xe4, 0xf9, 0xd9, 0x7f, 0x96,	0x91, 0xfb, 0xcf, 0xda, 0x81, 0xee, 0x7c, 0x8c, 0xf3, 0xbf, 0x51, 0x15, 0xf1, 0xe4, 0xea, 0x70,	0x6e, 0xf6, 0x87, 0x74, 0x19, 0x1a, 0x5e, 0x9a, 0x8c, 0x23, 0xaa, 0xda, 0x59, 0x51, 0xe8, 0x46,	0xf1, 0x31, 0xda, 0x76, 0x96, 0x9e, 0xe8, 0x07, 0xc8, 0x4b, 0xfe, 0xfe, 0x10, 0x09, 0x5b, 0xad,	0xd8, 0x1b, 0xc5, 0x39, 0xde, 0xde, 0x6b, 0x2a, 0xf5, 0xe5, 0x1c, 0xb8, 0x01, 0x1d, 0x79, 0x53,	0xa1, 0x40, 0xdb, 0x92, 0x27, 0x6a, 0xd4, 0x9e, 0x41, 0xed, 0x78, 0x11, 0x47, 0xbc, 0xb2, 0xe6,	0x34, 0x22, 0x67, 0xca, 0x3b, 0x49, 0xc8, 0xea, 0xa1, 0x94, 0x3f, 0xaf, 0xe5, 0x92, 0xd4, 0x24,	0x77, 0x49, 0xde, 0xa2, 0x42, 0xaa, 0xa8, 0x6c, 0x7f, 0xd6, 0x72, 0xfb, 0x13, 0x41, 0x8d, 0xbf,	0x49, 0xc4, 0xa6, 0xaf, 0xbb, 0xe2, 0xdb, 0xbe, 0x09, 0x1d, 0x7e, 0x2f, 0x3b, 0xf4, 0x12, 0x8f,	0xe1, 0x04, 0x5d, 0x85, 0x7a, 0xc2, 0x69, 0xe5, 0x4b, 0xdd, 0xe1, 0x52, 0x57, 0xf2, 0xec, 0x5f,	0x0d, 0x58, 0x7f, 0xd3, 0xfd, 0xc6, 0x18, 0x7b, 0x01, 0xa6, 0xc2, 0x62, 0xde, 0x3d, 0xfa, 0xaf,	0xd1, 0x55, 0x02, 0xf4, 0x80, 0xf7, 0x05, 0x49, 0xb2, 0xbe, 0x68, 0xef, 0x5d, 0x73, 0x56, 0x5b,	0x7a, 0xa0, 0x00, 0xd9, 0xe2, 0x96, 0xa4, 0x5c, 0xdc, 0x39, 0xd1, 0x7f, 0xfd, 0x4f, 0x76, 0x72,	0x35, 0x79, 0xd2, 0x10, 0xff, 0xef, 0x77, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x01, 0xd1, 0x41,	0xe8, 0xcb, 0x0f, 0x00, 0x00,}
 |