pb.pb.go 40 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067
  1. // Code generated by protoc-gen-gogo. DO NOT EDIT.
  2. // source: pb.proto
  3. /*
  4. Package pb is a generated protocol buffer package.
  5. It is generated from these files:
  6. pb.proto
  7. It has these top-level messages:
  8. Metadata
  9. BurndownSparseMatrixRow
  10. BurndownSparseMatrix
  11. FilesOwnership
  12. BurndownAnalysisResults
  13. CompressedSparseRowMatrix
  14. Couples
  15. TouchedFiles
  16. CouplesAnalysisResults
  17. UASTChange
  18. UASTChangesSaverResults
  19. ShotnessRecord
  20. ShotnessAnalysisResults
  21. FileHistory
  22. FileHistoryResultMessage
  23. LineStats
  24. DevTick
  25. TickDevs
  26. DevsAnalysisResults
  27. Sentiment
  28. CommentSentimentResults
  29. CommitFile
  30. Commit
  31. CommitsAnalysisResults
  32. Typo
  33. TyposDataset
  34. AnalysisResults
  35. */
  36. package pb
  37. import proto "github.com/gogo/protobuf/proto"
  38. import fmt "fmt"
  39. import math "math"
  40. // Reference imports to suppress errors if they are not otherwise used.
  41. var _ = proto.Marshal
  42. var _ = fmt.Errorf
  43. var _ = math.Inf
  44. // This is a compile-time assertion to ensure that this generated file
  45. // is compatible with the proto package it is being compiled against.
  46. // A compilation error at this line likely means your copy of the
  47. // proto package needs to be updated.
  48. const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
  49. type Metadata struct {
  50. // this format is versioned
  51. Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
  52. // git hash of the revision from which Hercules is built
  53. Hash string `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
  54. // repository's name
  55. Repository string `protobuf:"bytes,3,opt,name=repository,proto3" json:"repository,omitempty"`
  56. // UNIX timestamp of the first analysed commit
  57. BeginUnixTime int64 `protobuf:"varint,4,opt,name=begin_unix_time,json=beginUnixTime,proto3" json:"begin_unix_time,omitempty"`
  58. // UNIX timestamp of the last analysed commit
  59. EndUnixTime int64 `protobuf:"varint,5,opt,name=end_unix_time,json=endUnixTime,proto3" json:"end_unix_time,omitempty"`
  60. // number of processed commits
  61. Commits int32 `protobuf:"varint,6,opt,name=commits,proto3" json:"commits,omitempty"`
  62. // duration of the analysis in milliseconds
  63. RunTime int64 `protobuf:"varint,7,opt,name=run_time,json=runTime,proto3" json:"run_time,omitempty"`
  64. // time taken by each pipeline item in seconds
  65. RunTimePerItem map[string]float64 `protobuf:"bytes,8,rep,name=run_time_per_item,json=runTimePerItem" json:"run_time_per_item,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"`
  66. }
  67. func (m *Metadata) Reset() { *m = Metadata{} }
  68. func (m *Metadata) String() string { return proto.CompactTextString(m) }
  69. func (*Metadata) ProtoMessage() {}
  70. func (*Metadata) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{0} }
  71. func (m *Metadata) GetVersion() int32 {
  72. if m != nil {
  73. return m.Version
  74. }
  75. return 0
  76. }
  77. func (m *Metadata) GetHash() string {
  78. if m != nil {
  79. return m.Hash
  80. }
  81. return ""
  82. }
  83. func (m *Metadata) GetRepository() string {
  84. if m != nil {
  85. return m.Repository
  86. }
  87. return ""
  88. }
  89. func (m *Metadata) GetBeginUnixTime() int64 {
  90. if m != nil {
  91. return m.BeginUnixTime
  92. }
  93. return 0
  94. }
  95. func (m *Metadata) GetEndUnixTime() int64 {
  96. if m != nil {
  97. return m.EndUnixTime
  98. }
  99. return 0
  100. }
  101. func (m *Metadata) GetCommits() int32 {
  102. if m != nil {
  103. return m.Commits
  104. }
  105. return 0
  106. }
  107. func (m *Metadata) GetRunTime() int64 {
  108. if m != nil {
  109. return m.RunTime
  110. }
  111. return 0
  112. }
  113. func (m *Metadata) GetRunTimePerItem() map[string]float64 {
  114. if m != nil {
  115. return m.RunTimePerItem
  116. }
  117. return nil
  118. }
  119. type BurndownSparseMatrixRow struct {
  120. // the first `len(column)` elements are stored,
  121. // the rest `number_of_columns - len(column)` values are zeros
  122. Columns []uint32 `protobuf:"varint,1,rep,packed,name=columns" json:"columns,omitempty"`
  123. }
  124. func (m *BurndownSparseMatrixRow) Reset() { *m = BurndownSparseMatrixRow{} }
  125. func (m *BurndownSparseMatrixRow) String() string { return proto.CompactTextString(m) }
  126. func (*BurndownSparseMatrixRow) ProtoMessage() {}
  127. func (*BurndownSparseMatrixRow) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{1} }
  128. func (m *BurndownSparseMatrixRow) GetColumns() []uint32 {
  129. if m != nil {
  130. return m.Columns
  131. }
  132. return nil
  133. }
  134. type BurndownSparseMatrix struct {
  135. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  136. NumberOfRows int32 `protobuf:"varint,2,opt,name=number_of_rows,json=numberOfRows,proto3" json:"number_of_rows,omitempty"`
  137. NumberOfColumns int32 `protobuf:"varint,3,opt,name=number_of_columns,json=numberOfColumns,proto3" json:"number_of_columns,omitempty"`
  138. // `len(row)` matches `number_of_rows`
  139. Rows []*BurndownSparseMatrixRow `protobuf:"bytes,4,rep,name=rows" json:"rows,omitempty"`
  140. }
  141. func (m *BurndownSparseMatrix) Reset() { *m = BurndownSparseMatrix{} }
  142. func (m *BurndownSparseMatrix) String() string { return proto.CompactTextString(m) }
  143. func (*BurndownSparseMatrix) ProtoMessage() {}
  144. func (*BurndownSparseMatrix) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{2} }
  145. func (m *BurndownSparseMatrix) GetName() string {
  146. if m != nil {
  147. return m.Name
  148. }
  149. return ""
  150. }
  151. func (m *BurndownSparseMatrix) GetNumberOfRows() int32 {
  152. if m != nil {
  153. return m.NumberOfRows
  154. }
  155. return 0
  156. }
  157. func (m *BurndownSparseMatrix) GetNumberOfColumns() int32 {
  158. if m != nil {
  159. return m.NumberOfColumns
  160. }
  161. return 0
  162. }
  163. func (m *BurndownSparseMatrix) GetRows() []*BurndownSparseMatrixRow {
  164. if m != nil {
  165. return m.Rows
  166. }
  167. return nil
  168. }
  169. type FilesOwnership struct {
  170. // The sum always equals to the total number of lines in the file.
  171. Value map[int32]int32 `protobuf:"bytes,1,rep,name=value" json:"value,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
  172. }
  173. func (m *FilesOwnership) Reset() { *m = FilesOwnership{} }
  174. func (m *FilesOwnership) String() string { return proto.CompactTextString(m) }
  175. func (*FilesOwnership) ProtoMessage() {}
  176. func (*FilesOwnership) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{3} }
  177. func (m *FilesOwnership) GetValue() map[int32]int32 {
  178. if m != nil {
  179. return m.Value
  180. }
  181. return nil
  182. }
  183. type BurndownAnalysisResults struct {
  184. // how many ticks are in each band [burndown_project, burndown_file, burndown_developer]
  185. Granularity int32 `protobuf:"varint,1,opt,name=granularity,proto3" json:"granularity,omitempty"`
  186. // how frequently we measure the state of each band [burndown_project, burndown_file, burndown_developer]
  187. Sampling int32 `protobuf:"varint,2,opt,name=sampling,proto3" json:"sampling,omitempty"`
  188. // always exists
  189. Project *BurndownSparseMatrix `protobuf:"bytes,3,opt,name=project" json:"project,omitempty"`
  190. // this is included if `--burndown-files` was specified
  191. Files []*BurndownSparseMatrix `protobuf:"bytes,4,rep,name=files" json:"files,omitempty"`
  192. // these two are included if `--burndown-people` was specified
  193. People []*BurndownSparseMatrix `protobuf:"bytes,5,rep,name=people" json:"people,omitempty"`
  194. // rows and cols order correspond to `burndown_developer`
  195. PeopleInteraction *CompressedSparseRowMatrix `protobuf:"bytes,6,opt,name=people_interaction,json=peopleInteraction" json:"people_interaction,omitempty"`
  196. // How many lines belong to relevant developers for each file. The order is the same as in `files`.
  197. FilesOwnership []*FilesOwnership `protobuf:"bytes,7,rep,name=files_ownership,json=filesOwnership" json:"files_ownership,omitempty"`
  198. // how long each tick is, as an int64 nanosecond count (Go's time.Duration)
  199. TickSize int64 `protobuf:"varint,8,opt,name=tick_size,json=tickSize,proto3" json:"tick_size,omitempty"`
  200. }
  201. func (m *BurndownAnalysisResults) Reset() { *m = BurndownAnalysisResults{} }
  202. func (m *BurndownAnalysisResults) String() string { return proto.CompactTextString(m) }
  203. func (*BurndownAnalysisResults) ProtoMessage() {}
  204. func (*BurndownAnalysisResults) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{4} }
  205. func (m *BurndownAnalysisResults) GetGranularity() int32 {
  206. if m != nil {
  207. return m.Granularity
  208. }
  209. return 0
  210. }
  211. func (m *BurndownAnalysisResults) GetSampling() int32 {
  212. if m != nil {
  213. return m.Sampling
  214. }
  215. return 0
  216. }
  217. func (m *BurndownAnalysisResults) GetProject() *BurndownSparseMatrix {
  218. if m != nil {
  219. return m.Project
  220. }
  221. return nil
  222. }
  223. func (m *BurndownAnalysisResults) GetFiles() []*BurndownSparseMatrix {
  224. if m != nil {
  225. return m.Files
  226. }
  227. return nil
  228. }
  229. func (m *BurndownAnalysisResults) GetPeople() []*BurndownSparseMatrix {
  230. if m != nil {
  231. return m.People
  232. }
  233. return nil
  234. }
  235. func (m *BurndownAnalysisResults) GetPeopleInteraction() *CompressedSparseRowMatrix {
  236. if m != nil {
  237. return m.PeopleInteraction
  238. }
  239. return nil
  240. }
  241. func (m *BurndownAnalysisResults) GetFilesOwnership() []*FilesOwnership {
  242. if m != nil {
  243. return m.FilesOwnership
  244. }
  245. return nil
  246. }
  247. func (m *BurndownAnalysisResults) GetTickSize() int64 {
  248. if m != nil {
  249. return m.TickSize
  250. }
  251. return 0
  252. }
  253. type CompressedSparseRowMatrix struct {
  254. NumberOfRows int32 `protobuf:"varint,1,opt,name=number_of_rows,json=numberOfRows,proto3" json:"number_of_rows,omitempty"`
  255. NumberOfColumns int32 `protobuf:"varint,2,opt,name=number_of_columns,json=numberOfColumns,proto3" json:"number_of_columns,omitempty"`
  256. // https://en.wikipedia.org/wiki/Sparse_matrix#Compressed_sparse_row_.28CSR.2C_CRS_or_Yale_format.29
  257. Data []int64 `protobuf:"varint,3,rep,packed,name=data" json:"data,omitempty"`
  258. Indices []int32 `protobuf:"varint,4,rep,packed,name=indices" json:"indices,omitempty"`
  259. Indptr []int64 `protobuf:"varint,5,rep,packed,name=indptr" json:"indptr,omitempty"`
  260. }
  261. func (m *CompressedSparseRowMatrix) Reset() { *m = CompressedSparseRowMatrix{} }
  262. func (m *CompressedSparseRowMatrix) String() string { return proto.CompactTextString(m) }
  263. func (*CompressedSparseRowMatrix) ProtoMessage() {}
  264. func (*CompressedSparseRowMatrix) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{5} }
  265. func (m *CompressedSparseRowMatrix) GetNumberOfRows() int32 {
  266. if m != nil {
  267. return m.NumberOfRows
  268. }
  269. return 0
  270. }
  271. func (m *CompressedSparseRowMatrix) GetNumberOfColumns() int32 {
  272. if m != nil {
  273. return m.NumberOfColumns
  274. }
  275. return 0
  276. }
  277. func (m *CompressedSparseRowMatrix) GetData() []int64 {
  278. if m != nil {
  279. return m.Data
  280. }
  281. return nil
  282. }
  283. func (m *CompressedSparseRowMatrix) GetIndices() []int32 {
  284. if m != nil {
  285. return m.Indices
  286. }
  287. return nil
  288. }
  289. func (m *CompressedSparseRowMatrix) GetIndptr() []int64 {
  290. if m != nil {
  291. return m.Indptr
  292. }
  293. return nil
  294. }
  295. type Couples struct {
  296. // name of each `matrix`'s row and column
  297. Index []string `protobuf:"bytes,1,rep,name=index" json:"index,omitempty"`
  298. // is always square
  299. Matrix *CompressedSparseRowMatrix `protobuf:"bytes,2,opt,name=matrix" json:"matrix,omitempty"`
  300. }
  301. func (m *Couples) Reset() { *m = Couples{} }
  302. func (m *Couples) String() string { return proto.CompactTextString(m) }
  303. func (*Couples) ProtoMessage() {}
  304. func (*Couples) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{6} }
  305. func (m *Couples) GetIndex() []string {
  306. if m != nil {
  307. return m.Index
  308. }
  309. return nil
  310. }
  311. func (m *Couples) GetMatrix() *CompressedSparseRowMatrix {
  312. if m != nil {
  313. return m.Matrix
  314. }
  315. return nil
  316. }
  317. type TouchedFiles struct {
  318. Files []int32 `protobuf:"varint,1,rep,packed,name=files" json:"files,omitempty"`
  319. }
  320. func (m *TouchedFiles) Reset() { *m = TouchedFiles{} }
  321. func (m *TouchedFiles) String() string { return proto.CompactTextString(m) }
  322. func (*TouchedFiles) ProtoMessage() {}
  323. func (*TouchedFiles) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{7} }
  324. func (m *TouchedFiles) GetFiles() []int32 {
  325. if m != nil {
  326. return m.Files
  327. }
  328. return nil
  329. }
  330. type CouplesAnalysisResults struct {
  331. FileCouples *Couples `protobuf:"bytes,6,opt,name=file_couples,json=fileCouples" json:"file_couples,omitempty"`
  332. PeopleCouples *Couples `protobuf:"bytes,7,opt,name=people_couples,json=peopleCouples" json:"people_couples,omitempty"`
  333. // order corresponds to `people_couples::index`
  334. PeopleFiles []*TouchedFiles `protobuf:"bytes,8,rep,name=people_files,json=peopleFiles" json:"people_files,omitempty"`
  335. // order corresponds to `file_couples::index`
  336. FilesLines []int32 `protobuf:"varint,9,rep,packed,name=files_lines,json=filesLines" json:"files_lines,omitempty"`
  337. }
  338. func (m *CouplesAnalysisResults) Reset() { *m = CouplesAnalysisResults{} }
  339. func (m *CouplesAnalysisResults) String() string { return proto.CompactTextString(m) }
  340. func (*CouplesAnalysisResults) ProtoMessage() {}
  341. func (*CouplesAnalysisResults) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{8} }
  342. func (m *CouplesAnalysisResults) GetFileCouples() *Couples {
  343. if m != nil {
  344. return m.FileCouples
  345. }
  346. return nil
  347. }
  348. func (m *CouplesAnalysisResults) GetPeopleCouples() *Couples {
  349. if m != nil {
  350. return m.PeopleCouples
  351. }
  352. return nil
  353. }
  354. func (m *CouplesAnalysisResults) GetPeopleFiles() []*TouchedFiles {
  355. if m != nil {
  356. return m.PeopleFiles
  357. }
  358. return nil
  359. }
  360. func (m *CouplesAnalysisResults) GetFilesLines() []int32 {
  361. if m != nil {
  362. return m.FilesLines
  363. }
  364. return nil
  365. }
  366. type UASTChange struct {
  367. FileName string `protobuf:"bytes,1,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
  368. SrcBefore string `protobuf:"bytes,2,opt,name=src_before,json=srcBefore,proto3" json:"src_before,omitempty"`
  369. SrcAfter string `protobuf:"bytes,3,opt,name=src_after,json=srcAfter,proto3" json:"src_after,omitempty"`
  370. UastBefore string `protobuf:"bytes,4,opt,name=uast_before,json=uastBefore,proto3" json:"uast_before,omitempty"`
  371. UastAfter string `protobuf:"bytes,5,opt,name=uast_after,json=uastAfter,proto3" json:"uast_after,omitempty"`
  372. }
  373. func (m *UASTChange) Reset() { *m = UASTChange{} }
  374. func (m *UASTChange) String() string { return proto.CompactTextString(m) }
  375. func (*UASTChange) ProtoMessage() {}
  376. func (*UASTChange) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{9} }
  377. func (m *UASTChange) GetFileName() string {
  378. if m != nil {
  379. return m.FileName
  380. }
  381. return ""
  382. }
  383. func (m *UASTChange) GetSrcBefore() string {
  384. if m != nil {
  385. return m.SrcBefore
  386. }
  387. return ""
  388. }
  389. func (m *UASTChange) GetSrcAfter() string {
  390. if m != nil {
  391. return m.SrcAfter
  392. }
  393. return ""
  394. }
  395. func (m *UASTChange) GetUastBefore() string {
  396. if m != nil {
  397. return m.UastBefore
  398. }
  399. return ""
  400. }
  401. func (m *UASTChange) GetUastAfter() string {
  402. if m != nil {
  403. return m.UastAfter
  404. }
  405. return ""
  406. }
  407. type UASTChangesSaverResults struct {
  408. Changes []*UASTChange `protobuf:"bytes,1,rep,name=changes" json:"changes,omitempty"`
  409. }
  410. func (m *UASTChangesSaverResults) Reset() { *m = UASTChangesSaverResults{} }
  411. func (m *UASTChangesSaverResults) String() string { return proto.CompactTextString(m) }
  412. func (*UASTChangesSaverResults) ProtoMessage() {}
  413. func (*UASTChangesSaverResults) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{10} }
  414. func (m *UASTChangesSaverResults) GetChanges() []*UASTChange {
  415. if m != nil {
  416. return m.Changes
  417. }
  418. return nil
  419. }
  420. type ShotnessRecord struct {
  421. Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
  422. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
  423. File string `protobuf:"bytes,3,opt,name=file,proto3" json:"file,omitempty"`
  424. Counters map[int32]int32 `protobuf:"bytes,4,rep,name=counters" json:"counters,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
  425. }
  426. func (m *ShotnessRecord) Reset() { *m = ShotnessRecord{} }
  427. func (m *ShotnessRecord) String() string { return proto.CompactTextString(m) }
  428. func (*ShotnessRecord) ProtoMessage() {}
  429. func (*ShotnessRecord) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{11} }
  430. func (m *ShotnessRecord) GetType() string {
  431. if m != nil {
  432. return m.Type
  433. }
  434. return ""
  435. }
  436. func (m *ShotnessRecord) GetName() string {
  437. if m != nil {
  438. return m.Name
  439. }
  440. return ""
  441. }
  442. func (m *ShotnessRecord) GetFile() string {
  443. if m != nil {
  444. return m.File
  445. }
  446. return ""
  447. }
  448. func (m *ShotnessRecord) GetCounters() map[int32]int32 {
  449. if m != nil {
  450. return m.Counters
  451. }
  452. return nil
  453. }
  454. type ShotnessAnalysisResults struct {
  455. Records []*ShotnessRecord `protobuf:"bytes,1,rep,name=records" json:"records,omitempty"`
  456. }
  457. func (m *ShotnessAnalysisResults) Reset() { *m = ShotnessAnalysisResults{} }
  458. func (m *ShotnessAnalysisResults) String() string { return proto.CompactTextString(m) }
  459. func (*ShotnessAnalysisResults) ProtoMessage() {}
  460. func (*ShotnessAnalysisResults) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{12} }
  461. func (m *ShotnessAnalysisResults) GetRecords() []*ShotnessRecord {
  462. if m != nil {
  463. return m.Records
  464. }
  465. return nil
  466. }
  467. type FileHistory struct {
  468. Commits []string `protobuf:"bytes,1,rep,name=commits" json:"commits,omitempty"`
  469. ChangesByDeveloper map[int32]*LineStats `protobuf:"bytes,2,rep,name=changes_by_developer,json=changesByDeveloper" json:"changes_by_developer,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"`
  470. }
  471. func (m *FileHistory) Reset() { *m = FileHistory{} }
  472. func (m *FileHistory) String() string { return proto.CompactTextString(m) }
  473. func (*FileHistory) ProtoMessage() {}
  474. func (*FileHistory) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{13} }
  475. func (m *FileHistory) GetCommits() []string {
  476. if m != nil {
  477. return m.Commits
  478. }
  479. return nil
  480. }
  481. func (m *FileHistory) GetChangesByDeveloper() map[int32]*LineStats {
  482. if m != nil {
  483. return m.ChangesByDeveloper
  484. }
  485. return nil
  486. }
  487. type FileHistoryResultMessage struct {
  488. Files map[string]*FileHistory `protobuf:"bytes,1,rep,name=files" json:"files,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"`
  489. }
  490. func (m *FileHistoryResultMessage) Reset() { *m = FileHistoryResultMessage{} }
  491. func (m *FileHistoryResultMessage) String() string { return proto.CompactTextString(m) }
  492. func (*FileHistoryResultMessage) ProtoMessage() {}
  493. func (*FileHistoryResultMessage) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{14} }
  494. func (m *FileHistoryResultMessage) GetFiles() map[string]*FileHistory {
  495. if m != nil {
  496. return m.Files
  497. }
  498. return nil
  499. }
  500. type LineStats struct {
  501. Added int32 `protobuf:"varint,1,opt,name=added,proto3" json:"added,omitempty"`
  502. Removed int32 `protobuf:"varint,2,opt,name=removed,proto3" json:"removed,omitempty"`
  503. Changed int32 `protobuf:"varint,3,opt,name=changed,proto3" json:"changed,omitempty"`
  504. }
  505. func (m *LineStats) Reset() { *m = LineStats{} }
  506. func (m *LineStats) String() string { return proto.CompactTextString(m) }
  507. func (*LineStats) ProtoMessage() {}
  508. func (*LineStats) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{15} }
  509. func (m *LineStats) GetAdded() int32 {
  510. if m != nil {
  511. return m.Added
  512. }
  513. return 0
  514. }
  515. func (m *LineStats) GetRemoved() int32 {
  516. if m != nil {
  517. return m.Removed
  518. }
  519. return 0
  520. }
  521. func (m *LineStats) GetChanged() int32 {
  522. if m != nil {
  523. return m.Changed
  524. }
  525. return 0
  526. }
  527. type DevTick struct {
  528. Commits int32 `protobuf:"varint,1,opt,name=commits,proto3" json:"commits,omitempty"`
  529. Stats *LineStats `protobuf:"bytes,2,opt,name=stats" json:"stats,omitempty"`
  530. Languages map[string]*LineStats `protobuf:"bytes,3,rep,name=languages" json:"languages,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"`
  531. }
  532. func (m *DevTick) Reset() { *m = DevTick{} }
  533. func (m *DevTick) String() string { return proto.CompactTextString(m) }
  534. func (*DevTick) ProtoMessage() {}
  535. func (*DevTick) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{16} }
  536. func (m *DevTick) GetCommits() int32 {
  537. if m != nil {
  538. return m.Commits
  539. }
  540. return 0
  541. }
  542. func (m *DevTick) GetStats() *LineStats {
  543. if m != nil {
  544. return m.Stats
  545. }
  546. return nil
  547. }
  548. func (m *DevTick) GetLanguages() map[string]*LineStats {
  549. if m != nil {
  550. return m.Languages
  551. }
  552. return nil
  553. }
  554. type TickDevs struct {
  555. Devs map[int32]*DevTick `protobuf:"bytes,1,rep,name=devs" json:"devs,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"`
  556. }
  557. func (m *TickDevs) Reset() { *m = TickDevs{} }
  558. func (m *TickDevs) String() string { return proto.CompactTextString(m) }
  559. func (*TickDevs) ProtoMessage() {}
  560. func (*TickDevs) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{17} }
  561. func (m *TickDevs) GetDevs() map[int32]*DevTick {
  562. if m != nil {
  563. return m.Devs
  564. }
  565. return nil
  566. }
  567. type DevsAnalysisResults struct {
  568. Ticks map[int32]*TickDevs `protobuf:"bytes,1,rep,name=ticks" json:"ticks,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"`
  569. // developer identities, the indexes correspond to TickDevs' keys.
  570. DevIndex []string `protobuf:"bytes,2,rep,name=dev_index,json=devIndex" json:"dev_index,omitempty"`
  571. // how long each tick is, as an int64 nanosecond count (Go's time.Duration)
  572. TickSize int64 `protobuf:"varint,8,opt,name=tick_size,json=tickSize,proto3" json:"tick_size,omitempty"`
  573. }
  574. func (m *DevsAnalysisResults) Reset() { *m = DevsAnalysisResults{} }
  575. func (m *DevsAnalysisResults) String() string { return proto.CompactTextString(m) }
  576. func (*DevsAnalysisResults) ProtoMessage() {}
  577. func (*DevsAnalysisResults) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{18} }
  578. func (m *DevsAnalysisResults) GetTicks() map[int32]*TickDevs {
  579. if m != nil {
  580. return m.Ticks
  581. }
  582. return nil
  583. }
  584. func (m *DevsAnalysisResults) GetDevIndex() []string {
  585. if m != nil {
  586. return m.DevIndex
  587. }
  588. return nil
  589. }
  590. func (m *DevsAnalysisResults) GetTickSize() int64 {
  591. if m != nil {
  592. return m.TickSize
  593. }
  594. return 0
  595. }
  596. type Sentiment struct {
  597. Value float32 `protobuf:"fixed32,1,opt,name=value,proto3" json:"value,omitempty"`
  598. Comments []string `protobuf:"bytes,2,rep,name=comments" json:"comments,omitempty"`
  599. Commits []string `protobuf:"bytes,3,rep,name=commits" json:"commits,omitempty"`
  600. }
  601. func (m *Sentiment) Reset() { *m = Sentiment{} }
  602. func (m *Sentiment) String() string { return proto.CompactTextString(m) }
  603. func (*Sentiment) ProtoMessage() {}
  604. func (*Sentiment) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{19} }
  605. func (m *Sentiment) GetValue() float32 {
  606. if m != nil {
  607. return m.Value
  608. }
  609. return 0
  610. }
  611. func (m *Sentiment) GetComments() []string {
  612. if m != nil {
  613. return m.Comments
  614. }
  615. return nil
  616. }
  617. func (m *Sentiment) GetCommits() []string {
  618. if m != nil {
  619. return m.Commits
  620. }
  621. return nil
  622. }
  623. type CommentSentimentResults struct {
  624. SentimentByTick map[int32]*Sentiment `protobuf:"bytes,1,rep,name=sentiment_by_tick,json=sentimentByTick" json:"sentiment_by_tick,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"`
  625. }
  626. func (m *CommentSentimentResults) Reset() { *m = CommentSentimentResults{} }
  627. func (m *CommentSentimentResults) String() string { return proto.CompactTextString(m) }
  628. func (*CommentSentimentResults) ProtoMessage() {}
  629. func (*CommentSentimentResults) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{20} }
  630. func (m *CommentSentimentResults) GetSentimentByTick() map[int32]*Sentiment {
  631. if m != nil {
  632. return m.SentimentByTick
  633. }
  634. return nil
  635. }
  636. type CommitFile struct {
  637. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  638. Language string `protobuf:"bytes,3,opt,name=language,proto3" json:"language,omitempty"`
  639. Stats *LineStats `protobuf:"bytes,4,opt,name=stats" json:"stats,omitempty"`
  640. }
  641. func (m *CommitFile) Reset() { *m = CommitFile{} }
  642. func (m *CommitFile) String() string { return proto.CompactTextString(m) }
  643. func (*CommitFile) ProtoMessage() {}
  644. func (*CommitFile) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{21} }
  645. func (m *CommitFile) GetName() string {
  646. if m != nil {
  647. return m.Name
  648. }
  649. return ""
  650. }
  651. func (m *CommitFile) GetLanguage() string {
  652. if m != nil {
  653. return m.Language
  654. }
  655. return ""
  656. }
  657. func (m *CommitFile) GetStats() *LineStats {
  658. if m != nil {
  659. return m.Stats
  660. }
  661. return nil
  662. }
  663. type Commit struct {
  664. Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
  665. WhenUnixTime int64 `protobuf:"varint,2,opt,name=when_unix_time,json=whenUnixTime,proto3" json:"when_unix_time,omitempty"`
  666. Author int32 `protobuf:"varint,3,opt,name=author,proto3" json:"author,omitempty"`
  667. Files []*CommitFile `protobuf:"bytes,4,rep,name=files" json:"files,omitempty"`
  668. }
  669. func (m *Commit) Reset() { *m = Commit{} }
  670. func (m *Commit) String() string { return proto.CompactTextString(m) }
  671. func (*Commit) ProtoMessage() {}
  672. func (*Commit) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{22} }
  673. func (m *Commit) GetHash() string {
  674. if m != nil {
  675. return m.Hash
  676. }
  677. return ""
  678. }
  679. func (m *Commit) GetWhenUnixTime() int64 {
  680. if m != nil {
  681. return m.WhenUnixTime
  682. }
  683. return 0
  684. }
  685. func (m *Commit) GetAuthor() int32 {
  686. if m != nil {
  687. return m.Author
  688. }
  689. return 0
  690. }
  691. func (m *Commit) GetFiles() []*CommitFile {
  692. if m != nil {
  693. return m.Files
  694. }
  695. return nil
  696. }
  697. type CommitsAnalysisResults struct {
  698. Commits []*Commit `protobuf:"bytes,1,rep,name=commits" json:"commits,omitempty"`
  699. AuthorIndex []string `protobuf:"bytes,2,rep,name=author_index,json=authorIndex" json:"author_index,omitempty"`
  700. }
  701. func (m *CommitsAnalysisResults) Reset() { *m = CommitsAnalysisResults{} }
  702. func (m *CommitsAnalysisResults) String() string { return proto.CompactTextString(m) }
  703. func (*CommitsAnalysisResults) ProtoMessage() {}
  704. func (*CommitsAnalysisResults) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{23} }
  705. func (m *CommitsAnalysisResults) GetCommits() []*Commit {
  706. if m != nil {
  707. return m.Commits
  708. }
  709. return nil
  710. }
  711. func (m *CommitsAnalysisResults) GetAuthorIndex() []string {
  712. if m != nil {
  713. return m.AuthorIndex
  714. }
  715. return nil
  716. }
  717. type Typo struct {
  718. Wrong string `protobuf:"bytes,1,opt,name=wrong,proto3" json:"wrong,omitempty"`
  719. Correct string `protobuf:"bytes,2,opt,name=correct,proto3" json:"correct,omitempty"`
  720. Commit string `protobuf:"bytes,3,opt,name=commit,proto3" json:"commit,omitempty"`
  721. File string `protobuf:"bytes,4,opt,name=file,proto3" json:"file,omitempty"`
  722. Line int32 `protobuf:"varint,5,opt,name=line,proto3" json:"line,omitempty"`
  723. }
  724. func (m *Typo) Reset() { *m = Typo{} }
  725. func (m *Typo) String() string { return proto.CompactTextString(m) }
  726. func (*Typo) ProtoMessage() {}
  727. func (*Typo) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{24} }
  728. func (m *Typo) GetWrong() string {
  729. if m != nil {
  730. return m.Wrong
  731. }
  732. return ""
  733. }
  734. func (m *Typo) GetCorrect() string {
  735. if m != nil {
  736. return m.Correct
  737. }
  738. return ""
  739. }
  740. func (m *Typo) GetCommit() string {
  741. if m != nil {
  742. return m.Commit
  743. }
  744. return ""
  745. }
  746. func (m *Typo) GetFile() string {
  747. if m != nil {
  748. return m.File
  749. }
  750. return ""
  751. }
  752. func (m *Typo) GetLine() int32 {
  753. if m != nil {
  754. return m.Line
  755. }
  756. return 0
  757. }
  758. type TyposDataset struct {
  759. Typos []*Typo `protobuf:"bytes,1,rep,name=typos" json:"typos,omitempty"`
  760. }
  761. func (m *TyposDataset) Reset() { *m = TyposDataset{} }
  762. func (m *TyposDataset) String() string { return proto.CompactTextString(m) }
  763. func (*TyposDataset) ProtoMessage() {}
  764. func (*TyposDataset) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{25} }
  765. func (m *TyposDataset) GetTypos() []*Typo {
  766. if m != nil {
  767. return m.Typos
  768. }
  769. return nil
  770. }
  771. type AnalysisResults struct {
  772. Header *Metadata `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
  773. // the mapped values are dynamic messages which require the second parsing pass.
  774. Contents map[string][]byte `protobuf:"bytes,2,rep,name=contents" json:"contents,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  775. }
  776. func (m *AnalysisResults) Reset() { *m = AnalysisResults{} }
  777. func (m *AnalysisResults) String() string { return proto.CompactTextString(m) }
  778. func (*AnalysisResults) ProtoMessage() {}
  779. func (*AnalysisResults) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{26} }
  780. func (m *AnalysisResults) GetHeader() *Metadata {
  781. if m != nil {
  782. return m.Header
  783. }
  784. return nil
  785. }
  786. func (m *AnalysisResults) GetContents() map[string][]byte {
  787. if m != nil {
  788. return m.Contents
  789. }
  790. return nil
  791. }
  792. func init() {
  793. proto.RegisterType((*Metadata)(nil), "Metadata")
  794. proto.RegisterType((*BurndownSparseMatrixRow)(nil), "BurndownSparseMatrixRow")
  795. proto.RegisterType((*BurndownSparseMatrix)(nil), "BurndownSparseMatrix")
  796. proto.RegisterType((*FilesOwnership)(nil), "FilesOwnership")
  797. proto.RegisterType((*BurndownAnalysisResults)(nil), "BurndownAnalysisResults")
  798. proto.RegisterType((*CompressedSparseRowMatrix)(nil), "CompressedSparseRowMatrix")
  799. proto.RegisterType((*Couples)(nil), "Couples")
  800. proto.RegisterType((*TouchedFiles)(nil), "TouchedFiles")
  801. proto.RegisterType((*CouplesAnalysisResults)(nil), "CouplesAnalysisResults")
  802. proto.RegisterType((*UASTChange)(nil), "UASTChange")
  803. proto.RegisterType((*UASTChangesSaverResults)(nil), "UASTChangesSaverResults")
  804. proto.RegisterType((*ShotnessRecord)(nil), "ShotnessRecord")
  805. proto.RegisterType((*ShotnessAnalysisResults)(nil), "ShotnessAnalysisResults")
  806. proto.RegisterType((*FileHistory)(nil), "FileHistory")
  807. proto.RegisterType((*FileHistoryResultMessage)(nil), "FileHistoryResultMessage")
  808. proto.RegisterType((*LineStats)(nil), "LineStats")
  809. proto.RegisterType((*DevTick)(nil), "DevTick")
  810. proto.RegisterType((*TickDevs)(nil), "TickDevs")
  811. proto.RegisterType((*DevsAnalysisResults)(nil), "DevsAnalysisResults")
  812. proto.RegisterType((*Sentiment)(nil), "Sentiment")
  813. proto.RegisterType((*CommentSentimentResults)(nil), "CommentSentimentResults")
  814. proto.RegisterType((*CommitFile)(nil), "CommitFile")
  815. proto.RegisterType((*Commit)(nil), "Commit")
  816. proto.RegisterType((*CommitsAnalysisResults)(nil), "CommitsAnalysisResults")
  817. proto.RegisterType((*Typo)(nil), "Typo")
  818. proto.RegisterType((*TyposDataset)(nil), "TyposDataset")
  819. proto.RegisterType((*AnalysisResults)(nil), "AnalysisResults")
  820. }
  821. func init() { proto.RegisterFile("pb.proto", fileDescriptorPb) }
  822. var fileDescriptorPb = []byte{
  823. // 1596 bytes of a gzipped FileDescriptorProto
  824. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x57, 0xcd, 0x6e, 0xdb, 0x46,
  825. 0x10, 0x06, 0xf5, 0x4b, 0x8d, 0x64, 0xb9, 0xde, 0xb8, 0x31, 0xa3, 0xc0, 0x89, 0x42, 0xb8, 0xad,
  826. 0xdb, 0x34, 0x4c, 0xe0, 0x20, 0x40, 0x9a, 0x5e, 0x6a, 0xcb, 0x0d, 0x62, 0x20, 0x3f, 0x2d, 0xe5,
  827. 0xa4, 0xe8, 0x25, 0x02, 0x4d, 0xae, 0x2d, 0x36, 0xd2, 0x92, 0xd8, 0x25, 0x25, 0x2b, 0x68, 0xaf,
  828. 0x7d, 0x8c, 0xde, 0x7a, 0x29, 0xd0, 0x53, 0x5f, 0xa1, 0x28, 0x50, 0xf4, 0xd6, 0x87, 0xe8, 0x73,
  829. 0x14, 0xfb, 0x47, 0x91, 0x0a, 0x9d, 0xa6, 0x37, 0xce, 0xcc, 0x37, 0xbb, 0x33, 0xdf, 0xce, 0xce,
  830. 0x2c, 0xc1, 0x8c, 0x4f, 0x9c, 0x98, 0x46, 0x49, 0x64, 0xff, 0x53, 0x01, 0xf3, 0x09, 0x4e, 0xbc,
  831. 0xc0, 0x4b, 0x3c, 0x64, 0x41, 0x73, 0x86, 0x29, 0x0b, 0x23, 0x62, 0x19, 0x7d, 0x63, 0xb7, 0xee,
  832. 0x6a, 0x11, 0x21, 0xa8, 0x8d, 0x3d, 0x36, 0xb6, 0x2a, 0x7d, 0x63, 0xb7, 0xe5, 0x8a, 0x6f, 0x74,
  833. 0x0d, 0x80, 0xe2, 0x38, 0x62, 0x61, 0x12, 0xd1, 0x85, 0x55, 0x15, 0x96, 0x9c, 0x06, 0x7d, 0x08,
  834. 0xeb, 0x27, 0xf8, 0x2c, 0x24, 0xa3, 0x94, 0x84, 0xe7, 0xa3, 0x24, 0x9c, 0x62, 0xab, 0xd6, 0x37,
  835. 0x76, 0xab, 0xee, 0x9a, 0x50, 0x3f, 0x27, 0xe1, 0xf9, 0x71, 0x38, 0xc5, 0xc8, 0x86, 0x35, 0x4c,
  836. 0x82, 0x1c, 0xaa, 0x2e, 0x50, 0x6d, 0x4c, 0x82, 0x0c, 0x63, 0x41, 0xd3, 0x8f, 0xa6, 0xd3, 0x30,
  837. 0x61, 0x56, 0x43, 0x46, 0xa6, 0x44, 0x74, 0x05, 0x4c, 0x9a, 0x12, 0xe9, 0xd8, 0x14, 0x8e, 0x4d,
  838. 0x9a, 0x12, 0xe1, 0xf4, 0x08, 0x36, 0xb4, 0x69, 0x14, 0x63, 0x3a, 0x0a, 0x13, 0x3c, 0xb5, 0xcc,
  839. 0x7e, 0x75, 0xb7, 0xbd, 0xb7, 0xed, 0xe8, 0xa4, 0x1d, 0x57, 0xa2, 0xbf, 0xc2, 0xf4, 0x28, 0xc1,
  840. 0xd3, 0x2f, 0x49, 0x42, 0x17, 0x6e, 0x97, 0x16, 0x94, 0xbd, 0x7d, 0xb8, 0x54, 0x02, 0x43, 0xef,
  841. 0x41, 0xf5, 0x15, 0x5e, 0x08, 0xae, 0x5a, 0x2e, 0xff, 0x44, 0x9b, 0x50, 0x9f, 0x79, 0x93, 0x14,
  842. 0x0b, 0xa2, 0x0c, 0x57, 0x0a, 0x0f, 0x2a, 0xf7, 0x0d, 0xfb, 0x2e, 0x6c, 0x1d, 0xa4, 0x94, 0x04,
  843. 0xd1, 0x9c, 0x0c, 0x63, 0x8f, 0x32, 0xfc, 0xc4, 0x4b, 0x68, 0x78, 0xee, 0x46, 0x73, 0x99, 0xdc,
  844. 0x24, 0x9d, 0x12, 0x66, 0x19, 0xfd, 0xea, 0xee, 0x9a, 0xab, 0x45, 0xfb, 0x17, 0x03, 0x36, 0xcb,
  845. 0xbc, 0xf8, 0x79, 0x10, 0x6f, 0x8a, 0xd5, 0xd6, 0xe2, 0x1b, 0xed, 0x40, 0x97, 0xa4, 0xd3, 0x13,
  846. 0x4c, 0x47, 0xd1, 0xe9, 0x88, 0x46, 0x73, 0x26, 0x82, 0xa8, 0xbb, 0x1d, 0xa9, 0x7d, 0x76, 0xea,
  847. 0x46, 0x73, 0x86, 0x3e, 0x81, 0x8d, 0x25, 0x4a, 0x6f, 0x5b, 0x15, 0xc0, 0x75, 0x0d, 0x1c, 0x48,
  848. 0x35, 0xfa, 0x14, 0x6a, 0x62, 0x9d, 0x9a, 0xe0, 0xcc, 0x72, 0x2e, 0x48, 0xc0, 0x15, 0x28, 0xfb,
  849. 0x7b, 0xe8, 0x3e, 0x0c, 0x27, 0x98, 0x3d, 0x9b, 0x13, 0x4c, 0xd9, 0x38, 0x8c, 0xd1, 0x1d, 0xcd,
  850. 0x86, 0x21, 0x16, 0xe8, 0x39, 0x45, 0xbb, 0xf3, 0x82, 0x1b, 0x25, 0xe3, 0x12, 0xd8, 0xbb, 0x0f,
  851. 0xb0, 0x54, 0xe6, 0xf9, 0xad, 0x97, 0xf0, 0x5b, 0xcf, 0xf3, 0xfb, 0x63, 0x75, 0x49, 0xf0, 0x3e,
  852. 0xf1, 0x26, 0x0b, 0x16, 0x32, 0x17, 0xb3, 0x74, 0x92, 0x30, 0xd4, 0x87, 0xf6, 0x19, 0xf5, 0x48,
  853. 0x3a, 0xf1, 0x68, 0x98, 0xe8, 0xf5, 0xf2, 0x2a, 0xd4, 0x03, 0x93, 0x79, 0xd3, 0x78, 0x12, 0x92,
  854. 0x33, 0xb5, 0x74, 0x26, 0xa3, 0xdb, 0xd0, 0x8c, 0x69, 0xf4, 0x1d, 0xf6, 0x13, 0xc1, 0x53, 0x7b,
  855. 0xef, 0xfd, 0x72, 0x22, 0x34, 0x0a, 0xdd, 0x84, 0xfa, 0x29, 0x4f, 0x54, 0xf1, 0x76, 0x01, 0x5c,
  856. 0x62, 0xd0, 0x2d, 0x68, 0xc4, 0x38, 0x8a, 0x27, 0xbc, 0xec, 0xdf, 0x82, 0x56, 0x20, 0x74, 0x04,
  857. 0x48, 0x7e, 0x8d, 0x42, 0x92, 0x60, 0xea, 0xf9, 0x09, 0xbf, 0xad, 0x0d, 0x11, 0x57, 0xcf, 0x19,
  858. 0x44, 0xd3, 0x98, 0x62, 0xc6, 0x70, 0x20, 0x9d, 0xdd, 0x68, 0xae, 0xfc, 0x37, 0xa4, 0xd7, 0xd1,
  859. 0xd2, 0x09, 0xdd, 0x87, 0x75, 0x11, 0xc2, 0x28, 0xd2, 0x07, 0x62, 0x35, 0x45, 0x08, 0xeb, 0x2b,
  860. 0xe7, 0xe4, 0x76, 0x4f, 0x8b, 0xe7, 0x7a, 0x15, 0x5a, 0x49, 0xe8, 0xbf, 0x1a, 0xb1, 0xf0, 0x35,
  861. 0xb6, 0x4c, 0x71, 0xe9, 0x4c, 0xae, 0x18, 0x86, 0xaf, 0xb1, 0xfd, 0x9b, 0x01, 0x57, 0x2e, 0x8c,
  862. 0xa3, 0xa4, 0x48, 0x8d, 0x77, 0x2d, 0xd2, 0x4a, 0x79, 0x91, 0x22, 0xa8, 0xf1, 0x7b, 0x6c, 0x55,
  863. 0xfb, 0xd5, 0xdd, 0xaa, 0x5b, 0xd3, 0x8d, 0x2c, 0x24, 0x41, 0xe8, 0xab, 0x33, 0xa8, 0xbb, 0x5a,
  864. 0x44, 0x97, 0xa1, 0x11, 0x92, 0x20, 0x4e, 0xa8, 0xa0, 0xbb, 0xea, 0x2a, 0xc9, 0x1e, 0x42, 0x73,
  865. 0x10, 0xa5, 0x31, 0x3f, 0x91, 0x4d, 0xa8, 0x87, 0x24, 0xc0, 0xe7, 0xa2, 0x6a, 0x5b, 0xae, 0x14,
  866. 0xd0, 0x1e, 0x34, 0xa6, 0x22, 0x05, 0x11, 0xc7, 0xdb, 0xc9, 0x56, 0x48, 0x7b, 0x07, 0x3a, 0xc7,
  867. 0x51, 0xea, 0x8f, 0x71, 0x20, 0x08, 0xe5, 0x2b, 0xcb, 0xc2, 0x30, 0x44, 0x50, 0x52, 0xb0, 0xff,
  868. 0x34, 0xe0, 0xb2, 0xda, 0x7b, 0xb5, 0x70, 0x6f, 0x42, 0x87, 0x63, 0x46, 0xbe, 0x34, 0xab, 0x73,
  869. 0x36, 0x1d, 0x05, 0x77, 0xdb, 0xdc, 0xaa, 0xe3, 0xbe, 0x0d, 0x5d, 0x55, 0x1a, 0x1a, 0xde, 0x5c,
  870. 0x81, 0xaf, 0x49, 0xbb, 0x76, 0xb8, 0x03, 0x1d, 0xe5, 0x20, 0xa3, 0x92, 0xad, 0x71, 0xcd, 0xc9,
  871. 0xc7, 0xec, 0xb6, 0x25, 0x44, 0x26, 0x70, 0x1d, 0xda, 0xb2, 0x64, 0x26, 0x21, 0xc1, 0xcc, 0x6a,
  872. 0x89, 0x34, 0x40, 0xa8, 0x1e, 0x73, 0x8d, 0xfd, 0xb3, 0x01, 0xf0, 0x7c, 0x7f, 0x78, 0x3c, 0x18,
  873. 0x7b, 0xe4, 0x0c, 0xf3, 0x42, 0x11, 0xf1, 0xe7, 0x7a, 0x95, 0xc9, 0x15, 0x4f, 0x79, 0xbf, 0xda,
  874. 0x06, 0x60, 0xd4, 0x1f, 0x9d, 0xe0, 0xd3, 0x88, 0x62, 0x35, 0x59, 0x5a, 0x8c, 0xfa, 0x07, 0x42,
  875. 0xc1, 0x7d, 0xb9, 0xd9, 0x3b, 0x4d, 0x30, 0x55, 0xd3, 0xc5, 0x64, 0xd4, 0xdf, 0xe7, 0x32, 0x0f,
  876. 0x24, 0xf5, 0x58, 0xa2, 0x9d, 0x6b, 0x72, 0xf8, 0x70, 0x95, 0xf2, 0xde, 0x06, 0x21, 0x29, 0xf7,
  877. 0xba, 0x5c, 0x9c, 0x6b, 0x84, 0xbf, 0xfd, 0x05, 0x6c, 0x2d, 0xc3, 0x64, 0x43, 0x6f, 0x86, 0xa9,
  878. 0xe6, 0xfc, 0x03, 0x68, 0xfa, 0x52, 0xad, 0xda, 0x56, 0xdb, 0x59, 0x42, 0x5d, 0x6d, 0xb3, 0x7f,
  879. 0x37, 0xa0, 0x3b, 0x1c, 0x47, 0x09, 0xc1, 0x8c, 0xb9, 0xd8, 0x8f, 0x68, 0xc0, 0x2b, 0x31, 0x59,
  880. 0xc4, 0x59, 0x53, 0xe6, 0xdf, 0x59, 0xa3, 0xae, 0xe4, 0x1a, 0x35, 0x82, 0x1a, 0x27, 0x41, 0x25,
  881. 0x25, 0xbe, 0xd1, 0x67, 0x60, 0xfa, 0x51, 0xca, 0x6f, 0xa7, 0x6e, 0x1b, 0xdb, 0x4e, 0x71, 0x79,
  882. 0x7e, 0x8a, 0xc2, 0x2e, 0x1b, 0x66, 0x06, 0xef, 0x7d, 0x0e, 0x6b, 0x05, 0xd3, 0xff, 0x6a, 0x9b,
  883. 0x87, 0xb0, 0xa5, 0xb7, 0x59, 0x2d, 0xbe, 0x8f, 0xa1, 0x49, 0xc5, 0xce, 0x9a, 0x88, 0xf5, 0x95,
  884. 0x88, 0x5c, 0x6d, 0xb7, 0xff, 0x36, 0xa0, 0xcd, 0x2b, 0xe4, 0x51, 0xc8, 0xc4, 0xe8, 0xcf, 0x8d,
  885. 0x6b, 0x79, 0x89, 0xb2, 0x71, 0xfd, 0x02, 0x36, 0x15, 0x83, 0xa3, 0x93, 0xc5, 0x28, 0xc0, 0x33,
  886. 0x3c, 0x89, 0x62, 0x4c, 0xad, 0x8a, 0xd8, 0x61, 0xc7, 0xc9, 0xad, 0xe2, 0xa8, 0xd3, 0x39, 0x58,
  887. 0x1c, 0x6a, 0x98, 0x4c, 0x1d, 0xf9, 0x6f, 0x18, 0x7a, 0x5f, 0xc3, 0xd6, 0x05, 0xf0, 0x12, 0x3a,
  888. 0xfa, 0x79, 0x3a, 0xda, 0x7b, 0xe0, 0xf0, 0xe2, 0x1d, 0x26, 0x5e, 0xc2, 0xf2, 0xd4, 0xfc, 0x64,
  889. 0x80, 0x95, 0x0b, 0x47, 0xd2, 0xf2, 0x04, 0x33, 0xe6, 0x9d, 0x61, 0xf4, 0x20, 0x7f, 0x95, 0x57,
  890. 0x02, 0x2f, 0x20, 0x65, 0x2f, 0x55, 0x43, 0x4e, 0xb8, 0xf4, 0x1e, 0x02, 0x2c, 0x95, 0x25, 0x8f,
  891. 0x08, 0xbb, 0x18, 0x5e, 0xa7, 0xb0, 0x76, 0x2e, 0xc0, 0xe7, 0xd0, 0xca, 0x02, 0xe7, 0x47, 0xec,
  892. 0x05, 0x01, 0x0e, 0x54, 0x9e, 0x52, 0xe0, 0x07, 0x41, 0xf1, 0x34, 0x9a, 0xe1, 0x40, 0x1d, 0xbd,
  893. 0x16, 0xc5, 0x11, 0x09, 0xc2, 0x02, 0x35, 0xfd, 0xb5, 0x68, 0xff, 0x61, 0x40, 0xf3, 0x10, 0xcf,
  894. 0x8e, 0x43, 0xff, 0x55, 0xf1, 0x20, 0x0b, 0xef, 0xae, 0x3e, 0xd4, 0x19, 0xdf, 0xb8, 0x8c, 0x43,
  895. 0x61, 0x40, 0xf7, 0xa0, 0x35, 0xf1, 0xc8, 0x59, 0xea, 0xf1, 0xab, 0x54, 0x15, 0x34, 0x6d, 0x39,
  896. 0x6a, 0x61, 0xe7, 0xb1, 0xb6, 0x48, 0x66, 0x96, 0xc8, 0xde, 0x23, 0xe8, 0x16, 0x8d, 0x25, 0x0c,
  897. 0xbd, 0xdb, 0x01, 0xce, 0xc0, 0xe4, 0x7b, 0x1d, 0xe2, 0x19, 0x43, 0x1f, 0x41, 0x2d, 0xc0, 0x33,
  898. 0x7d, 0x5c, 0x97, 0x1c, 0x6d, 0xe0, 0x01, 0xa9, 0x18, 0x04, 0xa0, 0xb7, 0x0f, 0xad, 0x4c, 0x55,
  899. 0x52, 0x3a, 0xd7, 0x8a, 0x3b, 0x9b, 0x3a, 0xa1, 0xfc, 0xbe, 0x7f, 0x19, 0x70, 0x89, 0xaf, 0xb1,
  900. 0x7a, 0xa1, 0xee, 0x41, 0x9d, 0x4f, 0x49, 0x1d, 0xc4, 0x75, 0xa7, 0x04, 0x24, 0x02, 0xd3, 0xe5,
  901. 0x22, 0xd0, 0xbc, 0x11, 0x06, 0x78, 0x36, 0x92, 0x33, 0xa9, 0x22, 0xae, 0x93, 0x19, 0xe0, 0xd9,
  902. 0x91, 0x18, 0x4b, 0x6f, 0x1b, 0xc5, 0xbd, 0x01, 0xc0, 0x72, 0xb9, 0x92, 0x64, 0xae, 0x17, 0x93,
  903. 0x69, 0x65, 0xac, 0xe4, 0xb3, 0xf9, 0x06, 0x5a, 0x43, 0x4c, 0xf8, 0x23, 0x9a, 0x24, 0xcb, 0x46,
  904. 0xc2, 0x57, 0xa9, 0x28, 0x18, 0x7f, 0x3d, 0xf1, 0xb2, 0xc0, 0x44, 0x94, 0x83, 0x08, 0x50, 0xcb,
  905. 0xf9, 0x0a, 0xaa, 0x16, 0x5a, 0x01, 0xef, 0xa0, 0x5b, 0x03, 0x09, 0xcb, 0x36, 0xd0, 0x54, 0x7d,
  906. 0x0b, 0x1b, 0x4c, 0xeb, 0x78, 0xa3, 0xe0, 0x29, 0x29, 0xda, 0x6e, 0x39, 0x17, 0x38, 0x39, 0x99,
  907. 0xe2, 0x60, 0xc1, 0x13, 0x91, 0x24, 0xae, 0xb3, 0xa2, 0xb6, 0xf7, 0x14, 0x36, 0xcb, 0x80, 0xef,
  908. 0xd2, 0x26, 0x96, 0x3b, 0xe6, 0xf8, 0x79, 0x09, 0x30, 0x10, 0x19, 0xf1, 0x5b, 0x5a, 0xfa, 0x30,
  909. 0xef, 0x81, 0xa9, 0xcb, 0x5b, 0x0f, 0x32, 0x2d, 0x2f, 0xaf, 0x51, 0xed, 0x82, 0x6b, 0x64, 0xff,
  910. 0x00, 0x0d, 0xb9, 0x7e, 0xf6, 0x13, 0x66, 0xe4, 0x7e, 0xc2, 0x76, 0xa0, 0x3b, 0x1f, 0xe3, 0xfc,
  911. 0x3f, 0x56, 0x45, 0x14, 0x41, 0x87, 0x6b, 0xb3, 0xdf, 0xa7, 0xcb, 0xd0, 0xf0, 0xd2, 0x64, 0x1c,
  912. 0x51, 0x75, 0xd7, 0x95, 0x84, 0x6e, 0x14, 0x5f, 0xaa, 0x6d, 0x67, 0x99, 0x89, 0x7e, 0x9d, 0xbc,
  913. 0xe4, 0x8f, 0x13, 0x71, 0x60, 0xab, 0xe5, 0x7c, 0xa3, 0xd8, 0xe4, 0xdb, 0x7b, 0x4d, 0xe5, 0xbe,
  914. 0x6c, 0x12, 0x37, 0xa0, 0x23, 0x77, 0x2a, 0x54, 0x6f, 0x5b, 0xea, 0x44, 0x01, 0xdb, 0x33, 0xa8,
  915. 0x1d, 0x2f, 0xe2, 0x88, 0x57, 0xd6, 0x9c, 0x46, 0xe4, 0x4c, 0x65, 0x27, 0x05, 0x59, 0x3d, 0x94,
  916. 0xf2, 0xb7, 0xb7, 0x9c, 0xa0, 0x5a, 0xe4, 0x29, 0xc9, 0x5d, 0x14, 0xa5, 0x4a, 0xca, 0x86, 0x6b,
  917. 0x2d, 0x37, 0x5c, 0x11, 0xd4, 0xf8, 0x83, 0x45, 0x3c, 0x03, 0xea, 0xae, 0xf8, 0xb6, 0x6f, 0x42,
  918. 0x87, 0xef, 0xcb, 0x0e, 0xbd, 0xc4, 0x63, 0x38, 0x41, 0x57, 0xa1, 0x9e, 0x70, 0x59, 0xe5, 0x52,
  919. 0x77, 0xb8, 0xd5, 0x95, 0x3a, 0xfb, 0x57, 0x03, 0xd6, 0xdf, 0x4c, 0xbf, 0x31, 0xc6, 0x5e, 0x80,
  920. 0xa9, 0x88, 0x98, 0xdf, 0x1e, 0xfd, 0x4b, 0xe9, 0x2a, 0x03, 0x7a, 0xc0, 0xef, 0x05, 0x49, 0xb2,
  921. 0x7b, 0xd1, 0xde, 0xbb, 0xe6, 0xac, 0xde, 0xf7, 0x81, 0x02, 0x64, 0x53, 0x5d, 0x8a, 0x72, 0xaa,
  922. 0xe7, 0x4c, 0xff, 0xf5, 0xb3, 0xd9, 0xc9, 0xd5, 0xe4, 0x49, 0x43, 0xfc, 0xdc, 0xdf, 0xfd, 0x37,
  923. 0x00, 0x00, 0xff, 0xff, 0x7b, 0x21, 0x7f, 0x0b, 0xe8, 0x0f, 0x00, 0x00,
  924. }