pb.pb.go 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514
  1. // Code generated by protoc-gen-gogo. DO NOT EDIT.
  2. // source: pb/pb.proto
  3. /*
  4. Package pb is a generated protocol buffer package.
  5. It is generated from these files:
  6. pb/pb.proto
  7. It has these top-level messages:
  8. Metadata
  9. BurndownSparseMatrixRow
  10. BurndownSparseMatrix
  11. BurndownAnalysisResults
  12. CompressedSparseRowMatrix
  13. Couples
  14. TouchedFiles
  15. DeveloperTouchedFiles
  16. CouplesResults
  17. UASTChange
  18. UASTChangesSaverResults
  19. AnalysisResults
  20. */
  21. package pb
  22. import proto "github.com/gogo/protobuf/proto"
  23. import fmt "fmt"
  24. import math "math"
  25. // Reference imports to suppress errors if they are not otherwise used.
  26. var _ = proto.Marshal
  27. var _ = fmt.Errorf
  28. var _ = math.Inf
  29. // This is a compile-time assertion to ensure that this generated file
  30. // is compatible with the proto package it is being compiled against.
  31. // A compilation error at this line likely means your copy of the
  32. // proto package needs to be updated.
  33. const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
  34. type Metadata struct {
  35. // this format is versioned
  36. Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
  37. // complete command line used to write this message
  38. Cmdline string `protobuf:"bytes,2,opt,name=cmdline,proto3" json:"cmdline,omitempty"`
  39. // repository's name
  40. Repository string `protobuf:"bytes,3,opt,name=repository,proto3" json:"repository,omitempty"`
  41. // timestamp of the first analysed commit
  42. BeginUnixTime int64 `protobuf:"varint,4,opt,name=begin_unix_time,json=beginUnixTime,proto3" json:"begin_unix_time,omitempty"`
  43. // timestamp of the last analysed commit
  44. EndUnixTime int64 `protobuf:"varint,5,opt,name=end_unix_time,json=endUnixTime,proto3" json:"end_unix_time,omitempty"`
  45. }
  46. func (m *Metadata) Reset() { *m = Metadata{} }
  47. func (m *Metadata) String() string { return proto.CompactTextString(m) }
  48. func (*Metadata) ProtoMessage() {}
  49. func (*Metadata) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{0} }
  50. func (m *Metadata) GetVersion() int32 {
  51. if m != nil {
  52. return m.Version
  53. }
  54. return 0
  55. }
  56. func (m *Metadata) GetCmdline() string {
  57. if m != nil {
  58. return m.Cmdline
  59. }
  60. return ""
  61. }
  62. func (m *Metadata) GetRepository() string {
  63. if m != nil {
  64. return m.Repository
  65. }
  66. return ""
  67. }
  68. func (m *Metadata) GetBeginUnixTime() int64 {
  69. if m != nil {
  70. return m.BeginUnixTime
  71. }
  72. return 0
  73. }
  74. func (m *Metadata) GetEndUnixTime() int64 {
  75. if m != nil {
  76. return m.EndUnixTime
  77. }
  78. return 0
  79. }
  80. type BurndownSparseMatrixRow struct {
  81. // the first `len(column)` elements are stored,
  82. // the rest `number_of_columns - len(column)` values are zeros
  83. Columns []uint32 `protobuf:"varint,1,rep,packed,name=columns" json:"columns,omitempty"`
  84. }
  85. func (m *BurndownSparseMatrixRow) Reset() { *m = BurndownSparseMatrixRow{} }
  86. func (m *BurndownSparseMatrixRow) String() string { return proto.CompactTextString(m) }
  87. func (*BurndownSparseMatrixRow) ProtoMessage() {}
  88. func (*BurndownSparseMatrixRow) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{1} }
  89. func (m *BurndownSparseMatrixRow) GetColumns() []uint32 {
  90. if m != nil {
  91. return m.Columns
  92. }
  93. return nil
  94. }
  95. type BurndownSparseMatrix struct {
  96. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  97. NumberOfRows int32 `protobuf:"varint,2,opt,name=number_of_rows,json=numberOfRows,proto3" json:"number_of_rows,omitempty"`
  98. NumberOfColumns int32 `protobuf:"varint,3,opt,name=number_of_columns,json=numberOfColumns,proto3" json:"number_of_columns,omitempty"`
  99. // `len(row)` matches `number_of_rows`
  100. Rows []*BurndownSparseMatrixRow `protobuf:"bytes,4,rep,name=rows" json:"rows,omitempty"`
  101. }
  102. func (m *BurndownSparseMatrix) Reset() { *m = BurndownSparseMatrix{} }
  103. func (m *BurndownSparseMatrix) String() string { return proto.CompactTextString(m) }
  104. func (*BurndownSparseMatrix) ProtoMessage() {}
  105. func (*BurndownSparseMatrix) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{2} }
  106. func (m *BurndownSparseMatrix) GetName() string {
  107. if m != nil {
  108. return m.Name
  109. }
  110. return ""
  111. }
  112. func (m *BurndownSparseMatrix) GetNumberOfRows() int32 {
  113. if m != nil {
  114. return m.NumberOfRows
  115. }
  116. return 0
  117. }
  118. func (m *BurndownSparseMatrix) GetNumberOfColumns() int32 {
  119. if m != nil {
  120. return m.NumberOfColumns
  121. }
  122. return 0
  123. }
  124. func (m *BurndownSparseMatrix) GetRows() []*BurndownSparseMatrixRow {
  125. if m != nil {
  126. return m.Rows
  127. }
  128. return nil
  129. }
  130. type BurndownAnalysisResults struct {
  131. // how many days are in each band [burndown_project, burndown_file, burndown_developer]
  132. Granularity int32 `protobuf:"varint,1,opt,name=granularity,proto3" json:"granularity,omitempty"`
  133. // how frequently we measure the state of each band [burndown_project, burndown_file, burndown_developer]
  134. Sampling int32 `protobuf:"varint,2,opt,name=sampling,proto3" json:"sampling,omitempty"`
  135. // always exists
  136. Project *BurndownSparseMatrix `protobuf:"bytes,3,opt,name=project" json:"project,omitempty"`
  137. // this is included if `-burndown-files` was specified
  138. Files []*BurndownSparseMatrix `protobuf:"bytes,4,rep,name=files" json:"files,omitempty"`
  139. // these two are included if `-burndown-people` was specified
  140. People []*BurndownSparseMatrix `protobuf:"bytes,5,rep,name=people" json:"people,omitempty"`
  141. // rows and cols order correspond to `burndown_developer`
  142. PeopleInteraction *CompressedSparseRowMatrix `protobuf:"bytes,6,opt,name=people_interaction,json=peopleInteraction" json:"people_interaction,omitempty"`
  143. }
  144. func (m *BurndownAnalysisResults) Reset() { *m = BurndownAnalysisResults{} }
  145. func (m *BurndownAnalysisResults) String() string { return proto.CompactTextString(m) }
  146. func (*BurndownAnalysisResults) ProtoMessage() {}
  147. func (*BurndownAnalysisResults) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{3} }
  148. func (m *BurndownAnalysisResults) GetGranularity() int32 {
  149. if m != nil {
  150. return m.Granularity
  151. }
  152. return 0
  153. }
  154. func (m *BurndownAnalysisResults) GetSampling() int32 {
  155. if m != nil {
  156. return m.Sampling
  157. }
  158. return 0
  159. }
  160. func (m *BurndownAnalysisResults) GetProject() *BurndownSparseMatrix {
  161. if m != nil {
  162. return m.Project
  163. }
  164. return nil
  165. }
  166. func (m *BurndownAnalysisResults) GetFiles() []*BurndownSparseMatrix {
  167. if m != nil {
  168. return m.Files
  169. }
  170. return nil
  171. }
  172. func (m *BurndownAnalysisResults) GetPeople() []*BurndownSparseMatrix {
  173. if m != nil {
  174. return m.People
  175. }
  176. return nil
  177. }
  178. func (m *BurndownAnalysisResults) GetPeopleInteraction() *CompressedSparseRowMatrix {
  179. if m != nil {
  180. return m.PeopleInteraction
  181. }
  182. return nil
  183. }
  184. type CompressedSparseRowMatrix struct {
  185. NumberOfRows int32 `protobuf:"varint,1,opt,name=number_of_rows,json=numberOfRows,proto3" json:"number_of_rows,omitempty"`
  186. NumberOfColumns int32 `protobuf:"varint,2,opt,name=number_of_columns,json=numberOfColumns,proto3" json:"number_of_columns,omitempty"`
  187. // https://en.wikipedia.org/wiki/Sparse_matrix#Compressed_sparse_row_.28CSR.2C_CRS_or_Yale_format.29
  188. Data []int64 `protobuf:"varint,3,rep,packed,name=data" json:"data,omitempty"`
  189. Indices []int32 `protobuf:"varint,4,rep,packed,name=indices" json:"indices,omitempty"`
  190. Indptr []int64 `protobuf:"varint,5,rep,packed,name=indptr" json:"indptr,omitempty"`
  191. }
  192. func (m *CompressedSparseRowMatrix) Reset() { *m = CompressedSparseRowMatrix{} }
  193. func (m *CompressedSparseRowMatrix) String() string { return proto.CompactTextString(m) }
  194. func (*CompressedSparseRowMatrix) ProtoMessage() {}
  195. func (*CompressedSparseRowMatrix) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{4} }
  196. func (m *CompressedSparseRowMatrix) GetNumberOfRows() int32 {
  197. if m != nil {
  198. return m.NumberOfRows
  199. }
  200. return 0
  201. }
  202. func (m *CompressedSparseRowMatrix) GetNumberOfColumns() int32 {
  203. if m != nil {
  204. return m.NumberOfColumns
  205. }
  206. return 0
  207. }
  208. func (m *CompressedSparseRowMatrix) GetData() []int64 {
  209. if m != nil {
  210. return m.Data
  211. }
  212. return nil
  213. }
  214. func (m *CompressedSparseRowMatrix) GetIndices() []int32 {
  215. if m != nil {
  216. return m.Indices
  217. }
  218. return nil
  219. }
  220. func (m *CompressedSparseRowMatrix) GetIndptr() []int64 {
  221. if m != nil {
  222. return m.Indptr
  223. }
  224. return nil
  225. }
  226. type Couples struct {
  227. // name of each `matrix`'s row and column
  228. Index []string `protobuf:"bytes,1,rep,name=index" json:"index,omitempty"`
  229. // is always square
  230. Matrix *CompressedSparseRowMatrix `protobuf:"bytes,2,opt,name=matrix" json:"matrix,omitempty"`
  231. }
  232. func (m *Couples) Reset() { *m = Couples{} }
  233. func (m *Couples) String() string { return proto.CompactTextString(m) }
  234. func (*Couples) ProtoMessage() {}
  235. func (*Couples) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{5} }
  236. func (m *Couples) GetIndex() []string {
  237. if m != nil {
  238. return m.Index
  239. }
  240. return nil
  241. }
  242. func (m *Couples) GetMatrix() *CompressedSparseRowMatrix {
  243. if m != nil {
  244. return m.Matrix
  245. }
  246. return nil
  247. }
  248. type TouchedFiles struct {
  249. Files []int32 `protobuf:"varint,1,rep,packed,name=files" json:"files,omitempty"`
  250. }
  251. func (m *TouchedFiles) Reset() { *m = TouchedFiles{} }
  252. func (m *TouchedFiles) String() string { return proto.CompactTextString(m) }
  253. func (*TouchedFiles) ProtoMessage() {}
  254. func (*TouchedFiles) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{6} }
  255. func (m *TouchedFiles) GetFiles() []int32 {
  256. if m != nil {
  257. return m.Files
  258. }
  259. return nil
  260. }
  261. type DeveloperTouchedFiles struct {
  262. // order corresponds to `developer_couples::index`
  263. Developers []*TouchedFiles `protobuf:"bytes,1,rep,name=developers" json:"developers,omitempty"`
  264. }
  265. func (m *DeveloperTouchedFiles) Reset() { *m = DeveloperTouchedFiles{} }
  266. func (m *DeveloperTouchedFiles) String() string { return proto.CompactTextString(m) }
  267. func (*DeveloperTouchedFiles) ProtoMessage() {}
  268. func (*DeveloperTouchedFiles) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{7} }
  269. func (m *DeveloperTouchedFiles) GetDevelopers() []*TouchedFiles {
  270. if m != nil {
  271. return m.Developers
  272. }
  273. return nil
  274. }
  275. type CouplesResults struct {
  276. FileCouples *Couples `protobuf:"bytes,6,opt,name=file_couples,json=fileCouples" json:"file_couples,omitempty"`
  277. DeveloperCouples *Couples `protobuf:"bytes,7,opt,name=developer_couples,json=developerCouples" json:"developer_couples,omitempty"`
  278. TouchedFiles *DeveloperTouchedFiles `protobuf:"bytes,8,opt,name=touched_files,json=touchedFiles" json:"touched_files,omitempty"`
  279. }
  280. func (m *CouplesResults) Reset() { *m = CouplesResults{} }
  281. func (m *CouplesResults) String() string { return proto.CompactTextString(m) }
  282. func (*CouplesResults) ProtoMessage() {}
  283. func (*CouplesResults) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{8} }
  284. func (m *CouplesResults) GetFileCouples() *Couples {
  285. if m != nil {
  286. return m.FileCouples
  287. }
  288. return nil
  289. }
  290. func (m *CouplesResults) GetDeveloperCouples() *Couples {
  291. if m != nil {
  292. return m.DeveloperCouples
  293. }
  294. return nil
  295. }
  296. func (m *CouplesResults) GetTouchedFiles() *DeveloperTouchedFiles {
  297. if m != nil {
  298. return m.TouchedFiles
  299. }
  300. return nil
  301. }
  302. type UASTChange struct {
  303. FileName string `protobuf:"bytes,1,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
  304. SrcBefore string `protobuf:"bytes,2,opt,name=src_before,json=srcBefore,proto3" json:"src_before,omitempty"`
  305. SrcAfter string `protobuf:"bytes,3,opt,name=src_after,json=srcAfter,proto3" json:"src_after,omitempty"`
  306. UastBefore string `protobuf:"bytes,4,opt,name=uast_before,json=uastBefore,proto3" json:"uast_before,omitempty"`
  307. UastAfter string `protobuf:"bytes,5,opt,name=uast_after,json=uastAfter,proto3" json:"uast_after,omitempty"`
  308. }
  309. func (m *UASTChange) Reset() { *m = UASTChange{} }
  310. func (m *UASTChange) String() string { return proto.CompactTextString(m) }
  311. func (*UASTChange) ProtoMessage() {}
  312. func (*UASTChange) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{9} }
  313. func (m *UASTChange) GetFileName() string {
  314. if m != nil {
  315. return m.FileName
  316. }
  317. return ""
  318. }
  319. func (m *UASTChange) GetSrcBefore() string {
  320. if m != nil {
  321. return m.SrcBefore
  322. }
  323. return ""
  324. }
  325. func (m *UASTChange) GetSrcAfter() string {
  326. if m != nil {
  327. return m.SrcAfter
  328. }
  329. return ""
  330. }
  331. func (m *UASTChange) GetUastBefore() string {
  332. if m != nil {
  333. return m.UastBefore
  334. }
  335. return ""
  336. }
  337. func (m *UASTChange) GetUastAfter() string {
  338. if m != nil {
  339. return m.UastAfter
  340. }
  341. return ""
  342. }
  343. type UASTChangesSaverResults struct {
  344. Changes []*UASTChange `protobuf:"bytes,1,rep,name=changes" json:"changes,omitempty"`
  345. }
  346. func (m *UASTChangesSaverResults) Reset() { *m = UASTChangesSaverResults{} }
  347. func (m *UASTChangesSaverResults) String() string { return proto.CompactTextString(m) }
  348. func (*UASTChangesSaverResults) ProtoMessage() {}
  349. func (*UASTChangesSaverResults) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{10} }
  350. func (m *UASTChangesSaverResults) GetChanges() []*UASTChange {
  351. if m != nil {
  352. return m.Changes
  353. }
  354. return nil
  355. }
  356. type AnalysisResults struct {
  357. Header *Metadata `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
  358. // the mapped values are dynamic messages which require the second parsing pass.
  359. 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"`
  360. }
  361. func (m *AnalysisResults) Reset() { *m = AnalysisResults{} }
  362. func (m *AnalysisResults) String() string { return proto.CompactTextString(m) }
  363. func (*AnalysisResults) ProtoMessage() {}
  364. func (*AnalysisResults) Descriptor() ([]byte, []int) { return fileDescriptorPb, []int{11} }
  365. func (m *AnalysisResults) GetHeader() *Metadata {
  366. if m != nil {
  367. return m.Header
  368. }
  369. return nil
  370. }
  371. func (m *AnalysisResults) GetContents() map[string][]byte {
  372. if m != nil {
  373. return m.Contents
  374. }
  375. return nil
  376. }
  377. func init() {
  378. proto.RegisterType((*Metadata)(nil), "Metadata")
  379. proto.RegisterType((*BurndownSparseMatrixRow)(nil), "BurndownSparseMatrixRow")
  380. proto.RegisterType((*BurndownSparseMatrix)(nil), "BurndownSparseMatrix")
  381. proto.RegisterType((*BurndownAnalysisResults)(nil), "BurndownAnalysisResults")
  382. proto.RegisterType((*CompressedSparseRowMatrix)(nil), "CompressedSparseRowMatrix")
  383. proto.RegisterType((*Couples)(nil), "Couples")
  384. proto.RegisterType((*TouchedFiles)(nil), "TouchedFiles")
  385. proto.RegisterType((*DeveloperTouchedFiles)(nil), "DeveloperTouchedFiles")
  386. proto.RegisterType((*CouplesResults)(nil), "CouplesResults")
  387. proto.RegisterType((*UASTChange)(nil), "UASTChange")
  388. proto.RegisterType((*UASTChangesSaverResults)(nil), "UASTChangesSaverResults")
  389. proto.RegisterType((*AnalysisResults)(nil), "AnalysisResults")
  390. }
  391. func init() { proto.RegisterFile("pb/pb.proto", fileDescriptorPb) }
  392. var fileDescriptorPb = []byte{
  393. // 789 bytes of a gzipped FileDescriptorProto
  394. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0x5b, 0x8b, 0x1b, 0x37,
  395. 0x14, 0x66, 0x76, 0x7c, 0x3d, 0x63, 0x67, 0xb3, 0x22, 0x17, 0x77, 0x4b, 0x52, 0x77, 0x48, 0x8b,
  396. 0x69, 0x9a, 0x09, 0x38, 0x14, 0x4a, 0xf2, 0xd2, 0x8d, 0xdb, 0x40, 0x1e, 0xd2, 0x82, 0x76, 0xf3,
  397. 0x6c, 0xe4, 0x19, 0x79, 0x57, 0xed, 0x8c, 0x34, 0x48, 0x9a, 0xb5, 0xfd, 0x83, 0xfa, 0x52, 0x28,
  398. 0xa5, 0xf4, 0x0f, 0x16, 0xdd, 0x6c, 0x67, 0xf1, 0x2e, 0x79, 0xd3, 0x77, 0xce, 0xf7, 0x9d, 0x39,
  399. 0x17, 0xe9, 0x0c, 0x24, 0xf5, 0xe2, 0x65, 0xbd, 0xc8, 0x6a, 0x29, 0xb4, 0x48, 0xff, 0x8a, 0xa0,
  400. 0xf7, 0x81, 0x6a, 0x52, 0x10, 0x4d, 0xd0, 0x08, 0xba, 0xd7, 0x54, 0x2a, 0x26, 0xf8, 0x28, 0x1a,
  401. 0x47, 0x93, 0x36, 0x0e, 0xd0, 0x78, 0xf2, 0xaa, 0x28, 0x19, 0xa7, 0xa3, 0xa3, 0x71, 0x34, 0xe9,
  402. 0xe3, 0x00, 0xd1, 0x53, 0x00, 0x49, 0x6b, 0xa1, 0x98, 0x16, 0x72, 0x33, 0x8a, 0xad, 0x73, 0xcf,
  403. 0x82, 0xbe, 0x85, 0xe3, 0x05, 0xbd, 0x64, 0x7c, 0xde, 0x70, 0xb6, 0x9e, 0x6b, 0x56, 0xd1, 0x51,
  404. 0x6b, 0x1c, 0x4d, 0x62, 0x3c, 0xb4, 0xe6, 0x8f, 0x9c, 0xad, 0x2f, 0x58, 0x45, 0x51, 0x0a, 0x43,
  405. 0xca, 0x8b, 0x3d, 0x56, 0xdb, 0xb2, 0x12, 0xca, 0x8b, 0xc0, 0x49, 0x5f, 0xc1, 0xe3, 0xb7, 0x8d,
  406. 0xe4, 0x85, 0x58, 0xf1, 0xf3, 0x9a, 0x48, 0x45, 0x3f, 0x10, 0x2d, 0xd9, 0x1a, 0x8b, 0x95, 0x4d,
  407. 0x50, 0x94, 0x4d, 0xc5, 0xd5, 0x28, 0x1a, 0xc7, 0x93, 0x21, 0x0e, 0xd0, 0x54, 0xf8, 0xe0, 0x90,
  408. 0x0a, 0x21, 0x68, 0x71, 0x52, 0x51, 0x5b, 0x6a, 0x1f, 0xdb, 0x33, 0x7a, 0x06, 0xf7, 0x78, 0x53,
  409. 0x2d, 0xa8, 0x9c, 0x8b, 0xe5, 0x5c, 0x8a, 0x95, 0xb2, 0xe5, 0xb6, 0xf1, 0xc0, 0x59, 0x7f, 0x5b,
  410. 0x62, 0xb1, 0x52, 0xe8, 0x3b, 0x38, 0xd9, 0xb1, 0xc2, 0x67, 0x63, 0x4b, 0x3c, 0x0e, 0xc4, 0x99,
  411. 0x33, 0xa3, 0xef, 0xa1, 0x65, 0xe3, 0xb4, 0xc6, 0xf1, 0x24, 0x99, 0x8e, 0xb2, 0x5b, 0x0a, 0xc0,
  412. 0x96, 0x95, 0xfe, 0x73, 0xb4, 0x2b, 0xf1, 0x8c, 0x93, 0x72, 0xa3, 0x98, 0xc2, 0x54, 0x35, 0xa5,
  413. 0x56, 0x68, 0x0c, 0xc9, 0xa5, 0x24, 0xbc, 0x29, 0x89, 0x64, 0x7a, 0xe3, 0x27, 0xb4, 0x6f, 0x42,
  414. 0xa7, 0xd0, 0x53, 0xa4, 0xaa, 0x4b, 0xc6, 0x2f, 0x7d, 0xde, 0x5b, 0x8c, 0x5e, 0x42, 0xb7, 0x96,
  415. 0xe2, 0x77, 0x9a, 0x6b, 0x9b, 0x69, 0x32, 0x7d, 0x78, 0x38, 0x95, 0xc0, 0x42, 0xcf, 0xa1, 0xbd,
  416. 0x64, 0x25, 0x0d, 0x99, 0xdf, 0x42, 0x77, 0x1c, 0xf4, 0x02, 0x3a, 0x35, 0x15, 0x75, 0x69, 0xc6,
  417. 0x76, 0x07, 0xdb, 0x93, 0xd0, 0x7b, 0x40, 0xee, 0x34, 0x67, 0x5c, 0x53, 0x49, 0x72, 0x6d, 0xee,
  418. 0x5c, 0xc7, 0xe6, 0x75, 0x9a, 0xcd, 0x44, 0x55, 0x4b, 0xaa, 0x14, 0x2d, 0x9c, 0x18, 0x8b, 0x95,
  419. 0xd7, 0x9f, 0x38, 0xd5, 0xfb, 0x9d, 0x28, 0xfd, 0x2f, 0x82, 0x2f, 0x6e, 0x15, 0x1c, 0x98, 0x67,
  420. 0xf4, 0xb9, 0xf3, 0x3c, 0x3a, 0x3c, 0x4f, 0x04, 0x2d, 0xf3, 0x56, 0x46, 0xf1, 0x38, 0x9e, 0xc4,
  421. 0xb8, 0x15, 0xde, 0x0d, 0xe3, 0x05, 0xcb, 0x7d, 0xb3, 0xda, 0x38, 0x40, 0xf4, 0x08, 0x3a, 0x8c,
  422. 0x17, 0xb5, 0x96, 0xb6, 0x2f, 0x31, 0xf6, 0x28, 0x3d, 0x87, 0xee, 0x4c, 0x34, 0xb5, 0x69, 0xdd,
  423. 0x03, 0x68, 0x33, 0x5e, 0xd0, 0xb5, 0xbd, 0xb7, 0x7d, 0xec, 0x00, 0x9a, 0x42, 0xa7, 0xb2, 0x25,
  424. 0xd8, 0x3c, 0xee, 0xee, 0x8a, 0x67, 0xa6, 0xcf, 0x60, 0x70, 0x21, 0x9a, 0xfc, 0x8a, 0x16, 0xef,
  425. 0x98, 0x8f, 0xec, 0x26, 0x18, 0xd9, 0xa4, 0x1c, 0x48, 0xdf, 0xc1, 0xc3, 0x9f, 0xe9, 0x35, 0x2d,
  426. 0x45, 0x4d, 0xe5, 0x27, 0xf4, 0x17, 0x00, 0x45, 0x70, 0x38, 0x4d, 0x32, 0x1d, 0x66, 0xfb, 0x14,
  427. 0xbc, 0x47, 0x48, 0xff, 0x8d, 0xe0, 0x9e, 0xaf, 0x21, 0xdc, 0xd0, 0xe7, 0x30, 0x30, 0xdf, 0x98,
  428. 0xe7, 0xce, 0xec, 0x07, 0xda, 0xcb, 0x02, 0x2d, 0x31, 0xde, 0x50, 0xf7, 0x0f, 0x70, 0xb2, 0x8d,
  429. 0xb6, 0x55, 0x74, 0x6f, 0x28, 0xee, 0x6f, 0x29, 0x41, 0xf6, 0x06, 0x86, 0xda, 0xa5, 0x34, 0x77,
  430. 0xc5, 0xf5, 0xac, 0xe4, 0x51, 0x76, 0xb0, 0x28, 0x3c, 0xd0, 0x7b, 0x28, 0xfd, 0x33, 0x02, 0xf8,
  431. 0x78, 0x76, 0x7e, 0x31, 0xbb, 0x22, 0xfc, 0x92, 0xa2, 0x2f, 0xa1, 0x6f, 0xf3, 0xdd, 0x5b, 0x03,
  432. 0x3d, 0x63, 0xf8, 0xd5, 0xac, 0x82, 0x27, 0x00, 0x4a, 0xe6, 0xf3, 0x05, 0x5d, 0x0a, 0x19, 0xb6,
  433. 0x5e, 0x5f, 0xc9, 0xfc, 0xad, 0x35, 0x18, 0xad, 0x71, 0x93, 0xa5, 0xa6, 0xd2, 0xaf, 0xbd, 0x9e,
  434. 0x92, 0xf9, 0x99, 0xc1, 0xe8, 0x2b, 0x48, 0x1a, 0xa2, 0x74, 0x10, 0xb7, 0xdc, 0x56, 0x34, 0x26,
  435. 0xaf, 0x7e, 0x02, 0x16, 0x79, 0x79, 0xdb, 0x05, 0x37, 0x16, 0xab, 0x4f, 0x7f, 0x82, 0xc7, 0xbb,
  436. 0x34, 0xd5, 0x39, 0xb9, 0xa6, 0x32, 0xf4, 0xf8, 0x1b, 0xe8, 0xe6, 0xce, 0xec, 0x47, 0x94, 0x64,
  437. 0x3b, 0x2a, 0x0e, 0xbe, 0xf4, 0xef, 0x08, 0x8e, 0x6f, 0x2e, 0x90, 0xaf, 0xa1, 0x73, 0x45, 0x49,
  438. 0x41, 0xa5, 0xad, 0x35, 0x99, 0xf6, 0xb3, 0xb0, 0xf9, 0xb1, 0x77, 0xa0, 0xd7, 0xd0, 0xcb, 0x05,
  439. 0xd7, 0x94, 0x6b, 0xf3, 0x00, 0x4c, 0xf8, 0xa7, 0xd9, 0x8d, 0x30, 0xd9, 0xcc, 0x13, 0x7e, 0xe1,
  440. 0x5a, 0x6e, 0xf0, 0x96, 0x7f, 0xfa, 0x06, 0x86, 0x9f, 0xb8, 0xd0, 0x7d, 0x88, 0xff, 0xa0, 0x1b,
  441. 0xdf, 0x58, 0x73, 0x34, 0x37, 0xf2, 0x9a, 0x94, 0x8d, 0x6b, 0xe7, 0x00, 0x3b, 0xf0, 0xfa, 0xe8,
  442. 0xc7, 0x68, 0xd1, 0xb1, 0xbf, 0xa3, 0x57, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x38, 0x80, 0x22,
  443. 0x2d, 0x9d, 0x06, 0x00, 0x00,
  444. }