feed_formula.pb.go 82 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094
  1. // Code generated by protoc-gen-go. DO NOT EDIT.
  2. // versions:
  3. // protoc-gen-go v1.28.1
  4. // protoc v3.21.9
  5. // source: backend/operation/feed_formula.proto
  6. package operationPb
  7. import (
  8. protoreflect "google.golang.org/protobuf/reflect/protoreflect"
  9. protoimpl "google.golang.org/protobuf/runtime/protoimpl"
  10. reflect "reflect"
  11. sync "sync"
  12. )
  13. const (
  14. // Verify that this generated code is sufficiently up-to-date.
  15. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
  16. // Verify that runtime/protoimpl is sufficiently up-to-date.
  17. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
  18. )
  19. type AddFeedFormulaRequest struct {
  20. state protoimpl.MessageState
  21. sizeCache protoimpl.SizeCache
  22. unknownFields protoimpl.UnknownFields
  23. Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
  24. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // 名称
  25. EncodeNumber string `protobuf:"bytes,3,opt,name=encode_number,json=encodeNumber,proto3" json:"encode_number,omitempty"` // 编码
  26. Colour string `protobuf:"bytes,4,opt,name=colour,proto3" json:"colour,omitempty"` // 颜色
  27. CattleCategoryId CattleCategoryParent_Kind `protobuf:"varint,5,opt,name=cattle_category_id,json=cattleCategoryId,proto3,enum=backend.operation.CattleCategoryParent_Kind" json:"cattle_category_id,omitempty"` // 畜牧类别id
  28. CattleCategoryName string `protobuf:"bytes,6,opt,name=cattle_category_name,json=cattleCategoryName,proto3" json:"cattle_category_name,omitempty"` // 畜牧类型名称
  29. FormulaTypeId int32 `protobuf:"varint,7,opt,name=formula_type_id,json=formulaTypeId,proto3" json:"formula_type_id,omitempty"` // 配方类型id
  30. FormulaTypeName string `protobuf:"bytes,8,opt,name=formula_type_name,json=formulaTypeName,proto3" json:"formula_type_name,omitempty"` // 配方类型名称
  31. DataSourceId DataSource_Kind `protobuf:"varint,9,opt,name=data_source_id,json=dataSourceId,proto3,enum=backend.operation.DataSource_Kind" json:"data_source_id,omitempty"` // 数据来源
  32. DataSourceName string `protobuf:"bytes,10,opt,name=data_source_name,json=dataSourceName,proto3" json:"data_source_name,omitempty"` // 数据来源
  33. Remarks string `protobuf:"bytes,11,opt,name=remarks,proto3" json:"remarks,omitempty"` // 备注
  34. Version int32 `protobuf:"varint,12,opt,name=version,proto3" json:"version,omitempty"` // 版本号
  35. IsShow IsShow_Kind `protobuf:"varint,13,opt,name=is_show,json=isShow,proto3,enum=backend.operation.IsShow_Kind" json:"is_show,omitempty"` // 是否启用
  36. IsModify IsShow_Kind `protobuf:"varint,14,opt,name=is_modify,json=isModify,proto3,enum=backend.operation.IsShow_Kind" json:"is_modify,omitempty"` // 是否可修改
  37. CreatedAt int32 `protobuf:"varint,15,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` // 创建时间
  38. CreatedAtFormat string `protobuf:"bytes,16,opt,name=created_at_format,json=createdAtFormat,proto3" json:"created_at_format,omitempty"` // 创建时间格式化
  39. PastureName string `protobuf:"bytes,17,opt,name=pasture_name,json=pastureName,proto3" json:"pasture_name,omitempty"` // 牧场名称
  40. }
  41. func (x *AddFeedFormulaRequest) Reset() {
  42. *x = AddFeedFormulaRequest{}
  43. if protoimpl.UnsafeEnabled {
  44. mi := &file_backend_operation_feed_formula_proto_msgTypes[0]
  45. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  46. ms.StoreMessageInfo(mi)
  47. }
  48. }
  49. func (x *AddFeedFormulaRequest) String() string {
  50. return protoimpl.X.MessageStringOf(x)
  51. }
  52. func (*AddFeedFormulaRequest) ProtoMessage() {}
  53. func (x *AddFeedFormulaRequest) ProtoReflect() protoreflect.Message {
  54. mi := &file_backend_operation_feed_formula_proto_msgTypes[0]
  55. if protoimpl.UnsafeEnabled && x != nil {
  56. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  57. if ms.LoadMessageInfo() == nil {
  58. ms.StoreMessageInfo(mi)
  59. }
  60. return ms
  61. }
  62. return mi.MessageOf(x)
  63. }
  64. // Deprecated: Use AddFeedFormulaRequest.ProtoReflect.Descriptor instead.
  65. func (*AddFeedFormulaRequest) Descriptor() ([]byte, []int) {
  66. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{0}
  67. }
  68. func (x *AddFeedFormulaRequest) GetId() int32 {
  69. if x != nil {
  70. return x.Id
  71. }
  72. return 0
  73. }
  74. func (x *AddFeedFormulaRequest) GetName() string {
  75. if x != nil {
  76. return x.Name
  77. }
  78. return ""
  79. }
  80. func (x *AddFeedFormulaRequest) GetEncodeNumber() string {
  81. if x != nil {
  82. return x.EncodeNumber
  83. }
  84. return ""
  85. }
  86. func (x *AddFeedFormulaRequest) GetColour() string {
  87. if x != nil {
  88. return x.Colour
  89. }
  90. return ""
  91. }
  92. func (x *AddFeedFormulaRequest) GetCattleCategoryId() CattleCategoryParent_Kind {
  93. if x != nil {
  94. return x.CattleCategoryId
  95. }
  96. return CattleCategoryParent_INVALID
  97. }
  98. func (x *AddFeedFormulaRequest) GetCattleCategoryName() string {
  99. if x != nil {
  100. return x.CattleCategoryName
  101. }
  102. return ""
  103. }
  104. func (x *AddFeedFormulaRequest) GetFormulaTypeId() int32 {
  105. if x != nil {
  106. return x.FormulaTypeId
  107. }
  108. return 0
  109. }
  110. func (x *AddFeedFormulaRequest) GetFormulaTypeName() string {
  111. if x != nil {
  112. return x.FormulaTypeName
  113. }
  114. return ""
  115. }
  116. func (x *AddFeedFormulaRequest) GetDataSourceId() DataSource_Kind {
  117. if x != nil {
  118. return x.DataSourceId
  119. }
  120. return DataSource_INVALID
  121. }
  122. func (x *AddFeedFormulaRequest) GetDataSourceName() string {
  123. if x != nil {
  124. return x.DataSourceName
  125. }
  126. return ""
  127. }
  128. func (x *AddFeedFormulaRequest) GetRemarks() string {
  129. if x != nil {
  130. return x.Remarks
  131. }
  132. return ""
  133. }
  134. func (x *AddFeedFormulaRequest) GetVersion() int32 {
  135. if x != nil {
  136. return x.Version
  137. }
  138. return 0
  139. }
  140. func (x *AddFeedFormulaRequest) GetIsShow() IsShow_Kind {
  141. if x != nil {
  142. return x.IsShow
  143. }
  144. return IsShow_INVALID
  145. }
  146. func (x *AddFeedFormulaRequest) GetIsModify() IsShow_Kind {
  147. if x != nil {
  148. return x.IsModify
  149. }
  150. return IsShow_INVALID
  151. }
  152. func (x *AddFeedFormulaRequest) GetCreatedAt() int32 {
  153. if x != nil {
  154. return x.CreatedAt
  155. }
  156. return 0
  157. }
  158. func (x *AddFeedFormulaRequest) GetCreatedAtFormat() string {
  159. if x != nil {
  160. return x.CreatedAtFormat
  161. }
  162. return ""
  163. }
  164. func (x *AddFeedFormulaRequest) GetPastureName() string {
  165. if x != nil {
  166. return x.PastureName
  167. }
  168. return ""
  169. }
  170. type SearchFeedFormulaRequest struct {
  171. state protoimpl.MessageState
  172. sizeCache protoimpl.SizeCache
  173. unknownFields protoimpl.UnknownFields
  174. CattleCategoryId int32 `protobuf:"varint,1,opt,name=cattle_category_id,json=cattleCategoryId,proto3" json:"cattle_category_id,omitempty"` // 分类id
  175. FormulaTypeId int32 `protobuf:"varint,2,opt,name=formula_type_id,json=formulaTypeId,proto3" json:"formula_type_id,omitempty"` // 配方类型id
  176. DataSource int32 `protobuf:"varint,3,opt,name=data_source,json=dataSource,proto3" json:"data_source,omitempty"` // 饲料来源
  177. IsShow IsShow_Kind `protobuf:"varint,4,opt,name=is_show,json=isShow,proto3,enum=backend.operation.IsShow_Kind" json:"is_show,omitempty"` // 是否启用
  178. Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` // 配方名称
  179. Remarks string `protobuf:"bytes,6,opt,name=remarks,proto3" json:"remarks,omitempty"` // 备注
  180. Pagination *PaginationModel `protobuf:"bytes,7,opt,name=pagination,proto3" json:"pagination,omitempty"` // 分页
  181. }
  182. func (x *SearchFeedFormulaRequest) Reset() {
  183. *x = SearchFeedFormulaRequest{}
  184. if protoimpl.UnsafeEnabled {
  185. mi := &file_backend_operation_feed_formula_proto_msgTypes[1]
  186. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  187. ms.StoreMessageInfo(mi)
  188. }
  189. }
  190. func (x *SearchFeedFormulaRequest) String() string {
  191. return protoimpl.X.MessageStringOf(x)
  192. }
  193. func (*SearchFeedFormulaRequest) ProtoMessage() {}
  194. func (x *SearchFeedFormulaRequest) ProtoReflect() protoreflect.Message {
  195. mi := &file_backend_operation_feed_formula_proto_msgTypes[1]
  196. if protoimpl.UnsafeEnabled && x != nil {
  197. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  198. if ms.LoadMessageInfo() == nil {
  199. ms.StoreMessageInfo(mi)
  200. }
  201. return ms
  202. }
  203. return mi.MessageOf(x)
  204. }
  205. // Deprecated: Use SearchFeedFormulaRequest.ProtoReflect.Descriptor instead.
  206. func (*SearchFeedFormulaRequest) Descriptor() ([]byte, []int) {
  207. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{1}
  208. }
  209. func (x *SearchFeedFormulaRequest) GetCattleCategoryId() int32 {
  210. if x != nil {
  211. return x.CattleCategoryId
  212. }
  213. return 0
  214. }
  215. func (x *SearchFeedFormulaRequest) GetFormulaTypeId() int32 {
  216. if x != nil {
  217. return x.FormulaTypeId
  218. }
  219. return 0
  220. }
  221. func (x *SearchFeedFormulaRequest) GetDataSource() int32 {
  222. if x != nil {
  223. return x.DataSource
  224. }
  225. return 0
  226. }
  227. func (x *SearchFeedFormulaRequest) GetIsShow() IsShow_Kind {
  228. if x != nil {
  229. return x.IsShow
  230. }
  231. return IsShow_INVALID
  232. }
  233. func (x *SearchFeedFormulaRequest) GetName() string {
  234. if x != nil {
  235. return x.Name
  236. }
  237. return ""
  238. }
  239. func (x *SearchFeedFormulaRequest) GetRemarks() string {
  240. if x != nil {
  241. return x.Remarks
  242. }
  243. return ""
  244. }
  245. func (x *SearchFeedFormulaRequest) GetPagination() *PaginationModel {
  246. if x != nil {
  247. return x.Pagination
  248. }
  249. return nil
  250. }
  251. type SearchFeedFormulaListResponse struct {
  252. state protoimpl.MessageState
  253. sizeCache protoimpl.SizeCache
  254. unknownFields protoimpl.UnknownFields
  255. Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
  256. Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
  257. Data *SearchFeedFormulaListData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
  258. }
  259. func (x *SearchFeedFormulaListResponse) Reset() {
  260. *x = SearchFeedFormulaListResponse{}
  261. if protoimpl.UnsafeEnabled {
  262. mi := &file_backend_operation_feed_formula_proto_msgTypes[2]
  263. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  264. ms.StoreMessageInfo(mi)
  265. }
  266. }
  267. func (x *SearchFeedFormulaListResponse) String() string {
  268. return protoimpl.X.MessageStringOf(x)
  269. }
  270. func (*SearchFeedFormulaListResponse) ProtoMessage() {}
  271. func (x *SearchFeedFormulaListResponse) ProtoReflect() protoreflect.Message {
  272. mi := &file_backend_operation_feed_formula_proto_msgTypes[2]
  273. if protoimpl.UnsafeEnabled && x != nil {
  274. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  275. if ms.LoadMessageInfo() == nil {
  276. ms.StoreMessageInfo(mi)
  277. }
  278. return ms
  279. }
  280. return mi.MessageOf(x)
  281. }
  282. // Deprecated: Use SearchFeedFormulaListResponse.ProtoReflect.Descriptor instead.
  283. func (*SearchFeedFormulaListResponse) Descriptor() ([]byte, []int) {
  284. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{2}
  285. }
  286. func (x *SearchFeedFormulaListResponse) GetCode() int32 {
  287. if x != nil {
  288. return x.Code
  289. }
  290. return 0
  291. }
  292. func (x *SearchFeedFormulaListResponse) GetMsg() string {
  293. if x != nil {
  294. return x.Msg
  295. }
  296. return ""
  297. }
  298. func (x *SearchFeedFormulaListResponse) GetData() *SearchFeedFormulaListData {
  299. if x != nil {
  300. return x.Data
  301. }
  302. return nil
  303. }
  304. type SearchFeedFormulaListData struct {
  305. state protoimpl.MessageState
  306. sizeCache protoimpl.SizeCache
  307. unknownFields protoimpl.UnknownFields
  308. Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"`
  309. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  310. Total int32 `protobuf:"varint,3,opt,name=total,proto3" json:"total,omitempty"`
  311. List []*AddFeedFormulaRequest `protobuf:"bytes,4,rep,name=list,proto3" json:"list,omitempty"`
  312. }
  313. func (x *SearchFeedFormulaListData) Reset() {
  314. *x = SearchFeedFormulaListData{}
  315. if protoimpl.UnsafeEnabled {
  316. mi := &file_backend_operation_feed_formula_proto_msgTypes[3]
  317. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  318. ms.StoreMessageInfo(mi)
  319. }
  320. }
  321. func (x *SearchFeedFormulaListData) String() string {
  322. return protoimpl.X.MessageStringOf(x)
  323. }
  324. func (*SearchFeedFormulaListData) ProtoMessage() {}
  325. func (x *SearchFeedFormulaListData) ProtoReflect() protoreflect.Message {
  326. mi := &file_backend_operation_feed_formula_proto_msgTypes[3]
  327. if protoimpl.UnsafeEnabled && x != nil {
  328. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  329. if ms.LoadMessageInfo() == nil {
  330. ms.StoreMessageInfo(mi)
  331. }
  332. return ms
  333. }
  334. return mi.MessageOf(x)
  335. }
  336. // Deprecated: Use SearchFeedFormulaListData.ProtoReflect.Descriptor instead.
  337. func (*SearchFeedFormulaListData) Descriptor() ([]byte, []int) {
  338. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{3}
  339. }
  340. func (x *SearchFeedFormulaListData) GetPage() int32 {
  341. if x != nil {
  342. return x.Page
  343. }
  344. return 0
  345. }
  346. func (x *SearchFeedFormulaListData) GetPageSize() int32 {
  347. if x != nil {
  348. return x.PageSize
  349. }
  350. return 0
  351. }
  352. func (x *SearchFeedFormulaListData) GetTotal() int32 {
  353. if x != nil {
  354. return x.Total
  355. }
  356. return 0
  357. }
  358. func (x *SearchFeedFormulaListData) GetList() []*AddFeedFormulaRequest {
  359. if x != nil {
  360. return x.List
  361. }
  362. return nil
  363. }
  364. // 是否启用
  365. type IsShowModifyFeedFormula struct {
  366. state protoimpl.MessageState
  367. sizeCache protoimpl.SizeCache
  368. unknownFields protoimpl.UnknownFields
  369. FeedFormulaId int32 `protobuf:"varint,1,opt,name=feed_formula_id,json=feedFormulaId,proto3" json:"feed_formula_id,omitempty"`
  370. IsShow IsShow_Kind `protobuf:"varint,2,opt,name=is_show,json=isShow,proto3,enum=backend.operation.IsShow_Kind" json:"is_show,omitempty"`
  371. EditType int32 `protobuf:"varint,3,opt,name=edit_type,json=editType,proto3" json:"edit_type,omitempty"` // 1 更新是否启用 2 更新 modify
  372. }
  373. func (x *IsShowModifyFeedFormula) Reset() {
  374. *x = IsShowModifyFeedFormula{}
  375. if protoimpl.UnsafeEnabled {
  376. mi := &file_backend_operation_feed_formula_proto_msgTypes[4]
  377. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  378. ms.StoreMessageInfo(mi)
  379. }
  380. }
  381. func (x *IsShowModifyFeedFormula) String() string {
  382. return protoimpl.X.MessageStringOf(x)
  383. }
  384. func (*IsShowModifyFeedFormula) ProtoMessage() {}
  385. func (x *IsShowModifyFeedFormula) ProtoReflect() protoreflect.Message {
  386. mi := &file_backend_operation_feed_formula_proto_msgTypes[4]
  387. if protoimpl.UnsafeEnabled && x != nil {
  388. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  389. if ms.LoadMessageInfo() == nil {
  390. ms.StoreMessageInfo(mi)
  391. }
  392. return ms
  393. }
  394. return mi.MessageOf(x)
  395. }
  396. // Deprecated: Use IsShowModifyFeedFormula.ProtoReflect.Descriptor instead.
  397. func (*IsShowModifyFeedFormula) Descriptor() ([]byte, []int) {
  398. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{4}
  399. }
  400. func (x *IsShowModifyFeedFormula) GetFeedFormulaId() int32 {
  401. if x != nil {
  402. return x.FeedFormulaId
  403. }
  404. return 0
  405. }
  406. func (x *IsShowModifyFeedFormula) GetIsShow() IsShow_Kind {
  407. if x != nil {
  408. return x.IsShow
  409. }
  410. return IsShow_INVALID
  411. }
  412. func (x *IsShowModifyFeedFormula) GetEditType() int32 {
  413. if x != nil {
  414. return x.EditType
  415. }
  416. return 0
  417. }
  418. // 配方编码
  419. type UniqueID struct {
  420. state protoimpl.MessageState
  421. sizeCache protoimpl.SizeCache
  422. unknownFields protoimpl.UnknownFields
  423. Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
  424. Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
  425. Data *UniqueID_UniqueData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
  426. }
  427. func (x *UniqueID) Reset() {
  428. *x = UniqueID{}
  429. if protoimpl.UnsafeEnabled {
  430. mi := &file_backend_operation_feed_formula_proto_msgTypes[5]
  431. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  432. ms.StoreMessageInfo(mi)
  433. }
  434. }
  435. func (x *UniqueID) String() string {
  436. return protoimpl.X.MessageStringOf(x)
  437. }
  438. func (*UniqueID) ProtoMessage() {}
  439. func (x *UniqueID) ProtoReflect() protoreflect.Message {
  440. mi := &file_backend_operation_feed_formula_proto_msgTypes[5]
  441. if protoimpl.UnsafeEnabled && x != nil {
  442. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  443. if ms.LoadMessageInfo() == nil {
  444. ms.StoreMessageInfo(mi)
  445. }
  446. return ms
  447. }
  448. return mi.MessageOf(x)
  449. }
  450. // Deprecated: Use UniqueID.ProtoReflect.Descriptor instead.
  451. func (*UniqueID) Descriptor() ([]byte, []int) {
  452. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{5}
  453. }
  454. func (x *UniqueID) GetCode() int32 {
  455. if x != nil {
  456. return x.Code
  457. }
  458. return 0
  459. }
  460. func (x *UniqueID) GetMsg() string {
  461. if x != nil {
  462. return x.Msg
  463. }
  464. return ""
  465. }
  466. func (x *UniqueID) GetData() *UniqueID_UniqueData {
  467. if x != nil {
  468. return x.Data
  469. }
  470. return nil
  471. }
  472. // DistributeFeedFormulaRequest 饲料配方下发
  473. type DistributeFeedFormulaRequest struct {
  474. state protoimpl.MessageState
  475. sizeCache protoimpl.SizeCache
  476. unknownFields protoimpl.UnknownFields
  477. PastureIds []int32 `protobuf:"varint,1,rep,packed,name=pasture_ids,json=pastureIds,proto3" json:"pasture_ids,omitempty"` // 牧场ids集合
  478. FeedFormulaIds []int32 `protobuf:"varint,2,rep,packed,name=feed_formula_ids,json=feedFormulaIds,proto3" json:"feed_formula_ids,omitempty"` // 配方ids集合
  479. }
  480. func (x *DistributeFeedFormulaRequest) Reset() {
  481. *x = DistributeFeedFormulaRequest{}
  482. if protoimpl.UnsafeEnabled {
  483. mi := &file_backend_operation_feed_formula_proto_msgTypes[6]
  484. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  485. ms.StoreMessageInfo(mi)
  486. }
  487. }
  488. func (x *DistributeFeedFormulaRequest) String() string {
  489. return protoimpl.X.MessageStringOf(x)
  490. }
  491. func (*DistributeFeedFormulaRequest) ProtoMessage() {}
  492. func (x *DistributeFeedFormulaRequest) ProtoReflect() protoreflect.Message {
  493. mi := &file_backend_operation_feed_formula_proto_msgTypes[6]
  494. if protoimpl.UnsafeEnabled && x != nil {
  495. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  496. if ms.LoadMessageInfo() == nil {
  497. ms.StoreMessageInfo(mi)
  498. }
  499. return ms
  500. }
  501. return mi.MessageOf(x)
  502. }
  503. // Deprecated: Use DistributeFeedFormulaRequest.ProtoReflect.Descriptor instead.
  504. func (*DistributeFeedFormulaRequest) Descriptor() ([]byte, []int) {
  505. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{6}
  506. }
  507. func (x *DistributeFeedFormulaRequest) GetPastureIds() []int32 {
  508. if x != nil {
  509. return x.PastureIds
  510. }
  511. return nil
  512. }
  513. func (x *DistributeFeedFormulaRequest) GetFeedFormulaIds() []int32 {
  514. if x != nil {
  515. return x.FeedFormulaIds
  516. }
  517. return nil
  518. }
  519. // EditRecodeFeedFormulaRequest 饲料配方修改记录
  520. type EditRecodeFeedFormulaRequest struct {
  521. state protoimpl.MessageState
  522. sizeCache protoimpl.SizeCache
  523. unknownFields protoimpl.UnknownFields
  524. PastureId int32 `protobuf:"varint,1,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"` // 牧场id
  525. StartTime int32 `protobuf:"varint,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // 开始时间
  526. EndTime int32 `protobuf:"varint,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` // 结束时间
  527. }
  528. func (x *EditRecodeFeedFormulaRequest) Reset() {
  529. *x = EditRecodeFeedFormulaRequest{}
  530. if protoimpl.UnsafeEnabled {
  531. mi := &file_backend_operation_feed_formula_proto_msgTypes[7]
  532. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  533. ms.StoreMessageInfo(mi)
  534. }
  535. }
  536. func (x *EditRecodeFeedFormulaRequest) String() string {
  537. return protoimpl.X.MessageStringOf(x)
  538. }
  539. func (*EditRecodeFeedFormulaRequest) ProtoMessage() {}
  540. func (x *EditRecodeFeedFormulaRequest) ProtoReflect() protoreflect.Message {
  541. mi := &file_backend_operation_feed_formula_proto_msgTypes[7]
  542. if protoimpl.UnsafeEnabled && x != nil {
  543. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  544. if ms.LoadMessageInfo() == nil {
  545. ms.StoreMessageInfo(mi)
  546. }
  547. return ms
  548. }
  549. return mi.MessageOf(x)
  550. }
  551. // Deprecated: Use EditRecodeFeedFormulaRequest.ProtoReflect.Descriptor instead.
  552. func (*EditRecodeFeedFormulaRequest) Descriptor() ([]byte, []int) {
  553. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{7}
  554. }
  555. func (x *EditRecodeFeedFormulaRequest) GetPastureId() int32 {
  556. if x != nil {
  557. return x.PastureId
  558. }
  559. return 0
  560. }
  561. func (x *EditRecodeFeedFormulaRequest) GetStartTime() int32 {
  562. if x != nil {
  563. return x.StartTime
  564. }
  565. return 0
  566. }
  567. func (x *EditRecodeFeedFormulaRequest) GetEndTime() int32 {
  568. if x != nil {
  569. return x.EndTime
  570. }
  571. return 0
  572. }
  573. // EditRecodeFeedFormulaResponse 饲料配方修改记录
  574. type EditRecodeFeedFormulaResponse struct {
  575. state protoimpl.MessageState
  576. sizeCache protoimpl.SizeCache
  577. unknownFields protoimpl.UnknownFields
  578. Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
  579. Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
  580. Data []*FeedFormulaUsageList `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"`
  581. }
  582. func (x *EditRecodeFeedFormulaResponse) Reset() {
  583. *x = EditRecodeFeedFormulaResponse{}
  584. if protoimpl.UnsafeEnabled {
  585. mi := &file_backend_operation_feed_formula_proto_msgTypes[8]
  586. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  587. ms.StoreMessageInfo(mi)
  588. }
  589. }
  590. func (x *EditRecodeFeedFormulaResponse) String() string {
  591. return protoimpl.X.MessageStringOf(x)
  592. }
  593. func (*EditRecodeFeedFormulaResponse) ProtoMessage() {}
  594. func (x *EditRecodeFeedFormulaResponse) ProtoReflect() protoreflect.Message {
  595. mi := &file_backend_operation_feed_formula_proto_msgTypes[8]
  596. if protoimpl.UnsafeEnabled && x != nil {
  597. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  598. if ms.LoadMessageInfo() == nil {
  599. ms.StoreMessageInfo(mi)
  600. }
  601. return ms
  602. }
  603. return mi.MessageOf(x)
  604. }
  605. // Deprecated: Use EditRecodeFeedFormulaResponse.ProtoReflect.Descriptor instead.
  606. func (*EditRecodeFeedFormulaResponse) Descriptor() ([]byte, []int) {
  607. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{8}
  608. }
  609. func (x *EditRecodeFeedFormulaResponse) GetCode() int32 {
  610. if x != nil {
  611. return x.Code
  612. }
  613. return 0
  614. }
  615. func (x *EditRecodeFeedFormulaResponse) GetMsg() string {
  616. if x != nil {
  617. return x.Msg
  618. }
  619. return ""
  620. }
  621. func (x *EditRecodeFeedFormulaResponse) GetData() []*FeedFormulaUsageList {
  622. if x != nil {
  623. return x.Data
  624. }
  625. return nil
  626. }
  627. type EditRecodeFeedFormulaData struct {
  628. state protoimpl.MessageState
  629. sizeCache protoimpl.SizeCache
  630. unknownFields protoimpl.UnknownFields
  631. PastureId int32 `protobuf:"varint,1,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"`
  632. PastureName string `protobuf:"bytes,2,opt,name=pasture_name,json=pastureName,proto3" json:"pasture_name,omitempty"`
  633. ModifyTime string `protobuf:"bytes,3,opt,name=modify_time,json=modifyTime,proto3" json:"modify_time,omitempty"`
  634. ModifyDetail string `protobuf:"bytes,4,opt,name=modify_detail,json=modifyDetail,proto3" json:"modify_detail,omitempty"`
  635. }
  636. func (x *EditRecodeFeedFormulaData) Reset() {
  637. *x = EditRecodeFeedFormulaData{}
  638. if protoimpl.UnsafeEnabled {
  639. mi := &file_backend_operation_feed_formula_proto_msgTypes[9]
  640. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  641. ms.StoreMessageInfo(mi)
  642. }
  643. }
  644. func (x *EditRecodeFeedFormulaData) String() string {
  645. return protoimpl.X.MessageStringOf(x)
  646. }
  647. func (*EditRecodeFeedFormulaData) ProtoMessage() {}
  648. func (x *EditRecodeFeedFormulaData) ProtoReflect() protoreflect.Message {
  649. mi := &file_backend_operation_feed_formula_proto_msgTypes[9]
  650. if protoimpl.UnsafeEnabled && x != nil {
  651. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  652. if ms.LoadMessageInfo() == nil {
  653. ms.StoreMessageInfo(mi)
  654. }
  655. return ms
  656. }
  657. return mi.MessageOf(x)
  658. }
  659. // Deprecated: Use EditRecodeFeedFormulaData.ProtoReflect.Descriptor instead.
  660. func (*EditRecodeFeedFormulaData) Descriptor() ([]byte, []int) {
  661. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{9}
  662. }
  663. func (x *EditRecodeFeedFormulaData) GetPastureId() int32 {
  664. if x != nil {
  665. return x.PastureId
  666. }
  667. return 0
  668. }
  669. func (x *EditRecodeFeedFormulaData) GetPastureName() string {
  670. if x != nil {
  671. return x.PastureName
  672. }
  673. return ""
  674. }
  675. func (x *EditRecodeFeedFormulaData) GetModifyTime() string {
  676. if x != nil {
  677. return x.ModifyTime
  678. }
  679. return ""
  680. }
  681. func (x *EditRecodeFeedFormulaData) GetModifyDetail() string {
  682. if x != nil {
  683. return x.ModifyDetail
  684. }
  685. return ""
  686. }
  687. type AddFeedFormulaDetail struct {
  688. state protoimpl.MessageState
  689. sizeCache protoimpl.SizeCache
  690. unknownFields protoimpl.UnknownFields
  691. FeedFormulaId int32 `protobuf:"varint,1,opt,name=feed_formula_id,json=feedFormulaId,proto3" json:"feed_formula_id,omitempty"` // 配方id
  692. ForageId int32 `protobuf:"varint,2,opt,name=forage_id,json=forageId,proto3" json:"forage_id,omitempty"` // 饲料id
  693. ForageName string `protobuf:"bytes,3,opt,name=forage_name,json=forageName,proto3" json:"forage_name,omitempty"` // 饲料名称
  694. ForageGroupName string `protobuf:"bytes,4,opt,name=forage_group_name,json=forageGroupName,proto3" json:"forage_group_name,omitempty"` // 饲料分组名称
  695. Weight float32 `protobuf:"fixed32,5,opt,name=weight,proto3" json:"weight,omitempty"` // 重量
  696. StirDelay int32 `protobuf:"varint,6,opt,name=stir_delay,json=stirDelay,proto3" json:"stir_delay,omitempty"` // 搅拌延迟
  697. AllowError int32 `protobuf:"varint,7,opt,name=allow_error,json=allowError,proto3" json:"allow_error,omitempty"` // 允许误差
  698. CreatedAt int32 `protobuf:"varint,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` // 创建时间
  699. CreatedAtFormat string `protobuf:"bytes,9,opt,name=created_at_format,json=createdAtFormat,proto3" json:"created_at_format,omitempty"` // 创建时间格式化
  700. Id int32 `protobuf:"varint,10,opt,name=id,proto3" json:"id,omitempty"`
  701. }
  702. func (x *AddFeedFormulaDetail) Reset() {
  703. *x = AddFeedFormulaDetail{}
  704. if protoimpl.UnsafeEnabled {
  705. mi := &file_backend_operation_feed_formula_proto_msgTypes[10]
  706. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  707. ms.StoreMessageInfo(mi)
  708. }
  709. }
  710. func (x *AddFeedFormulaDetail) String() string {
  711. return protoimpl.X.MessageStringOf(x)
  712. }
  713. func (*AddFeedFormulaDetail) ProtoMessage() {}
  714. func (x *AddFeedFormulaDetail) ProtoReflect() protoreflect.Message {
  715. mi := &file_backend_operation_feed_formula_proto_msgTypes[10]
  716. if protoimpl.UnsafeEnabled && x != nil {
  717. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  718. if ms.LoadMessageInfo() == nil {
  719. ms.StoreMessageInfo(mi)
  720. }
  721. return ms
  722. }
  723. return mi.MessageOf(x)
  724. }
  725. // Deprecated: Use AddFeedFormulaDetail.ProtoReflect.Descriptor instead.
  726. func (*AddFeedFormulaDetail) Descriptor() ([]byte, []int) {
  727. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{10}
  728. }
  729. func (x *AddFeedFormulaDetail) GetFeedFormulaId() int32 {
  730. if x != nil {
  731. return x.FeedFormulaId
  732. }
  733. return 0
  734. }
  735. func (x *AddFeedFormulaDetail) GetForageId() int32 {
  736. if x != nil {
  737. return x.ForageId
  738. }
  739. return 0
  740. }
  741. func (x *AddFeedFormulaDetail) GetForageName() string {
  742. if x != nil {
  743. return x.ForageName
  744. }
  745. return ""
  746. }
  747. func (x *AddFeedFormulaDetail) GetForageGroupName() string {
  748. if x != nil {
  749. return x.ForageGroupName
  750. }
  751. return ""
  752. }
  753. func (x *AddFeedFormulaDetail) GetWeight() float32 {
  754. if x != nil {
  755. return x.Weight
  756. }
  757. return 0
  758. }
  759. func (x *AddFeedFormulaDetail) GetStirDelay() int32 {
  760. if x != nil {
  761. return x.StirDelay
  762. }
  763. return 0
  764. }
  765. func (x *AddFeedFormulaDetail) GetAllowError() int32 {
  766. if x != nil {
  767. return x.AllowError
  768. }
  769. return 0
  770. }
  771. func (x *AddFeedFormulaDetail) GetCreatedAt() int32 {
  772. if x != nil {
  773. return x.CreatedAt
  774. }
  775. return 0
  776. }
  777. func (x *AddFeedFormulaDetail) GetCreatedAtFormat() string {
  778. if x != nil {
  779. return x.CreatedAtFormat
  780. }
  781. return ""
  782. }
  783. func (x *AddFeedFormulaDetail) GetId() int32 {
  784. if x != nil {
  785. return x.Id
  786. }
  787. return 0
  788. }
  789. // FeedFormulaDetailRequest 饲料配方详情
  790. type FeedFormulaDetailRequest struct {
  791. state protoimpl.MessageState
  792. sizeCache protoimpl.SizeCache
  793. unknownFields protoimpl.UnknownFields
  794. FeedFormulaId int32 `protobuf:"varint,1,opt,name=feed_formula_id,json=feedFormulaId,proto3" json:"feed_formula_id,omitempty"` // 配方id
  795. }
  796. func (x *FeedFormulaDetailRequest) Reset() {
  797. *x = FeedFormulaDetailRequest{}
  798. if protoimpl.UnsafeEnabled {
  799. mi := &file_backend_operation_feed_formula_proto_msgTypes[11]
  800. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  801. ms.StoreMessageInfo(mi)
  802. }
  803. }
  804. func (x *FeedFormulaDetailRequest) String() string {
  805. return protoimpl.X.MessageStringOf(x)
  806. }
  807. func (*FeedFormulaDetailRequest) ProtoMessage() {}
  808. func (x *FeedFormulaDetailRequest) ProtoReflect() protoreflect.Message {
  809. mi := &file_backend_operation_feed_formula_proto_msgTypes[11]
  810. if protoimpl.UnsafeEnabled && x != nil {
  811. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  812. if ms.LoadMessageInfo() == nil {
  813. ms.StoreMessageInfo(mi)
  814. }
  815. return ms
  816. }
  817. return mi.MessageOf(x)
  818. }
  819. // Deprecated: Use FeedFormulaDetailRequest.ProtoReflect.Descriptor instead.
  820. func (*FeedFormulaDetailRequest) Descriptor() ([]byte, []int) {
  821. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{11}
  822. }
  823. func (x *FeedFormulaDetailRequest) GetFeedFormulaId() int32 {
  824. if x != nil {
  825. return x.FeedFormulaId
  826. }
  827. return 0
  828. }
  829. // FeedFormulaDetailRequest 饲料配方详情
  830. type FeedFormulaDetailResponse struct {
  831. state protoimpl.MessageState
  832. sizeCache protoimpl.SizeCache
  833. unknownFields protoimpl.UnknownFields
  834. Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
  835. Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
  836. Data []*AddFeedFormulaDetail `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"`
  837. }
  838. func (x *FeedFormulaDetailResponse) Reset() {
  839. *x = FeedFormulaDetailResponse{}
  840. if protoimpl.UnsafeEnabled {
  841. mi := &file_backend_operation_feed_formula_proto_msgTypes[12]
  842. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  843. ms.StoreMessageInfo(mi)
  844. }
  845. }
  846. func (x *FeedFormulaDetailResponse) String() string {
  847. return protoimpl.X.MessageStringOf(x)
  848. }
  849. func (*FeedFormulaDetailResponse) ProtoMessage() {}
  850. func (x *FeedFormulaDetailResponse) ProtoReflect() protoreflect.Message {
  851. mi := &file_backend_operation_feed_formula_proto_msgTypes[12]
  852. if protoimpl.UnsafeEnabled && x != nil {
  853. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  854. if ms.LoadMessageInfo() == nil {
  855. ms.StoreMessageInfo(mi)
  856. }
  857. return ms
  858. }
  859. return mi.MessageOf(x)
  860. }
  861. // Deprecated: Use FeedFormulaDetailResponse.ProtoReflect.Descriptor instead.
  862. func (*FeedFormulaDetailResponse) Descriptor() ([]byte, []int) {
  863. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{12}
  864. }
  865. func (x *FeedFormulaDetailResponse) GetCode() int32 {
  866. if x != nil {
  867. return x.Code
  868. }
  869. return 0
  870. }
  871. func (x *FeedFormulaDetailResponse) GetMsg() string {
  872. if x != nil {
  873. return x.Msg
  874. }
  875. return ""
  876. }
  877. func (x *FeedFormulaDetailResponse) GetData() []*AddFeedFormulaDetail {
  878. if x != nil {
  879. return x.Data
  880. }
  881. return nil
  882. }
  883. // 配方使用概况
  884. type FeedFormulaUsageRequest struct {
  885. state protoimpl.MessageState
  886. sizeCache protoimpl.SizeCache
  887. unknownFields protoimpl.UnknownFields
  888. FeedFormulaId int32 `protobuf:"varint,1,opt,name=feed_formula_id,json=feedFormulaId,proto3" json:"feed_formula_id,omitempty"` // 饲料配方id
  889. StartTime string `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // 开始时间
  890. EndTime string `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` // 结束时间
  891. PastureId int32 `protobuf:"varint,4,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"` // 牧场id
  892. }
  893. func (x *FeedFormulaUsageRequest) Reset() {
  894. *x = FeedFormulaUsageRequest{}
  895. if protoimpl.UnsafeEnabled {
  896. mi := &file_backend_operation_feed_formula_proto_msgTypes[13]
  897. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  898. ms.StoreMessageInfo(mi)
  899. }
  900. }
  901. func (x *FeedFormulaUsageRequest) String() string {
  902. return protoimpl.X.MessageStringOf(x)
  903. }
  904. func (*FeedFormulaUsageRequest) ProtoMessage() {}
  905. func (x *FeedFormulaUsageRequest) ProtoReflect() protoreflect.Message {
  906. mi := &file_backend_operation_feed_formula_proto_msgTypes[13]
  907. if protoimpl.UnsafeEnabled && x != nil {
  908. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  909. if ms.LoadMessageInfo() == nil {
  910. ms.StoreMessageInfo(mi)
  911. }
  912. return ms
  913. }
  914. return mi.MessageOf(x)
  915. }
  916. // Deprecated: Use FeedFormulaUsageRequest.ProtoReflect.Descriptor instead.
  917. func (*FeedFormulaUsageRequest) Descriptor() ([]byte, []int) {
  918. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{13}
  919. }
  920. func (x *FeedFormulaUsageRequest) GetFeedFormulaId() int32 {
  921. if x != nil {
  922. return x.FeedFormulaId
  923. }
  924. return 0
  925. }
  926. func (x *FeedFormulaUsageRequest) GetStartTime() string {
  927. if x != nil {
  928. return x.StartTime
  929. }
  930. return ""
  931. }
  932. func (x *FeedFormulaUsageRequest) GetEndTime() string {
  933. if x != nil {
  934. return x.EndTime
  935. }
  936. return ""
  937. }
  938. func (x *FeedFormulaUsageRequest) GetPastureId() int32 {
  939. if x != nil {
  940. return x.PastureId
  941. }
  942. return 0
  943. }
  944. // 配方使用概况
  945. type FeedFormulaUsageResponse struct {
  946. state protoimpl.MessageState
  947. sizeCache protoimpl.SizeCache
  948. unknownFields protoimpl.UnknownFields
  949. Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
  950. Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
  951. Data []*FeedFormulaUsageList `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"`
  952. }
  953. func (x *FeedFormulaUsageResponse) Reset() {
  954. *x = FeedFormulaUsageResponse{}
  955. if protoimpl.UnsafeEnabled {
  956. mi := &file_backend_operation_feed_formula_proto_msgTypes[14]
  957. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  958. ms.StoreMessageInfo(mi)
  959. }
  960. }
  961. func (x *FeedFormulaUsageResponse) String() string {
  962. return protoimpl.X.MessageStringOf(x)
  963. }
  964. func (*FeedFormulaUsageResponse) ProtoMessage() {}
  965. func (x *FeedFormulaUsageResponse) ProtoReflect() protoreflect.Message {
  966. mi := &file_backend_operation_feed_formula_proto_msgTypes[14]
  967. if protoimpl.UnsafeEnabled && x != nil {
  968. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  969. if ms.LoadMessageInfo() == nil {
  970. ms.StoreMessageInfo(mi)
  971. }
  972. return ms
  973. }
  974. return mi.MessageOf(x)
  975. }
  976. // Deprecated: Use FeedFormulaUsageResponse.ProtoReflect.Descriptor instead.
  977. func (*FeedFormulaUsageResponse) Descriptor() ([]byte, []int) {
  978. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{14}
  979. }
  980. func (x *FeedFormulaUsageResponse) GetCode() int32 {
  981. if x != nil {
  982. return x.Code
  983. }
  984. return 0
  985. }
  986. func (x *FeedFormulaUsageResponse) GetMsg() string {
  987. if x != nil {
  988. return x.Msg
  989. }
  990. return ""
  991. }
  992. func (x *FeedFormulaUsageResponse) GetData() []*FeedFormulaUsageList {
  993. if x != nil {
  994. return x.Data
  995. }
  996. return nil
  997. }
  998. // 配方使用概况
  999. type FeedFormulaUsageList struct {
  1000. state protoimpl.MessageState
  1001. sizeCache protoimpl.SizeCache
  1002. unknownFields protoimpl.UnknownFields
  1003. PastureId int32 `protobuf:"varint,1,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"` // 牧场id
  1004. PastureName string `protobuf:"bytes,2,opt,name=pasture_name,json=pastureName,proto3" json:"pasture_name,omitempty"` // 牧场名称
  1005. MixedFodderAccurateRatio string `protobuf:"bytes,3,opt,name=mixed_fodder_accurate_ratio,json=mixedFodderAccurateRatio,proto3" json:"mixed_fodder_accurate_ratio,omitempty"` // 混料准确率
  1006. MixedFodderCorrectRatio string `protobuf:"bytes,4,opt,name=mixed_fodder_correct_ratio,json=mixedFodderCorrectRatio,proto3" json:"mixed_fodder_correct_ratio,omitempty"` // 混料正确率
  1007. SprinkleFodderAccurateRatio string `protobuf:"bytes,5,opt,name=sprinkle_fodder_accurate_ratio,json=sprinkleFodderAccurateRatio,proto3" json:"sprinkle_fodder_accurate_ratio,omitempty"` // 撒料准确率
  1008. SprinkleFodderCorrectRatio string `protobuf:"bytes,6,opt,name=sprinkle_fodder_correct_ratio,json=sprinkleFodderCorrectRatio,proto3" json:"sprinkle_fodder_correct_ratio,omitempty"` // 撒料正确率
  1009. AddFeedTime string `protobuf:"bytes,7,opt,name=add_feed_time,json=addFeedTime,proto3" json:"add_feed_time,omitempty"` // 加料时间
  1010. SprinkleTime string `protobuf:"bytes,8,opt,name=sprinkle_time,json=sprinkleTime,proto3" json:"sprinkle_time,omitempty"` // 撒料时间
  1011. StirTime string `protobuf:"bytes,9,opt,name=stir_time,json=stirTime,proto3" json:"stir_time,omitempty"` // 搅拌延迟时间
  1012. LastEditTime string `protobuf:"bytes,10,opt,name=last_edit_time,json=lastEditTime,proto3" json:"last_edit_time,omitempty"` // 最近一次修改配方时间
  1013. }
  1014. func (x *FeedFormulaUsageList) Reset() {
  1015. *x = FeedFormulaUsageList{}
  1016. if protoimpl.UnsafeEnabled {
  1017. mi := &file_backend_operation_feed_formula_proto_msgTypes[15]
  1018. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1019. ms.StoreMessageInfo(mi)
  1020. }
  1021. }
  1022. func (x *FeedFormulaUsageList) String() string {
  1023. return protoimpl.X.MessageStringOf(x)
  1024. }
  1025. func (*FeedFormulaUsageList) ProtoMessage() {}
  1026. func (x *FeedFormulaUsageList) ProtoReflect() protoreflect.Message {
  1027. mi := &file_backend_operation_feed_formula_proto_msgTypes[15]
  1028. if protoimpl.UnsafeEnabled && x != nil {
  1029. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1030. if ms.LoadMessageInfo() == nil {
  1031. ms.StoreMessageInfo(mi)
  1032. }
  1033. return ms
  1034. }
  1035. return mi.MessageOf(x)
  1036. }
  1037. // Deprecated: Use FeedFormulaUsageList.ProtoReflect.Descriptor instead.
  1038. func (*FeedFormulaUsageList) Descriptor() ([]byte, []int) {
  1039. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{15}
  1040. }
  1041. func (x *FeedFormulaUsageList) GetPastureId() int32 {
  1042. if x != nil {
  1043. return x.PastureId
  1044. }
  1045. return 0
  1046. }
  1047. func (x *FeedFormulaUsageList) GetPastureName() string {
  1048. if x != nil {
  1049. return x.PastureName
  1050. }
  1051. return ""
  1052. }
  1053. func (x *FeedFormulaUsageList) GetMixedFodderAccurateRatio() string {
  1054. if x != nil {
  1055. return x.MixedFodderAccurateRatio
  1056. }
  1057. return ""
  1058. }
  1059. func (x *FeedFormulaUsageList) GetMixedFodderCorrectRatio() string {
  1060. if x != nil {
  1061. return x.MixedFodderCorrectRatio
  1062. }
  1063. return ""
  1064. }
  1065. func (x *FeedFormulaUsageList) GetSprinkleFodderAccurateRatio() string {
  1066. if x != nil {
  1067. return x.SprinkleFodderAccurateRatio
  1068. }
  1069. return ""
  1070. }
  1071. func (x *FeedFormulaUsageList) GetSprinkleFodderCorrectRatio() string {
  1072. if x != nil {
  1073. return x.SprinkleFodderCorrectRatio
  1074. }
  1075. return ""
  1076. }
  1077. func (x *FeedFormulaUsageList) GetAddFeedTime() string {
  1078. if x != nil {
  1079. return x.AddFeedTime
  1080. }
  1081. return ""
  1082. }
  1083. func (x *FeedFormulaUsageList) GetSprinkleTime() string {
  1084. if x != nil {
  1085. return x.SprinkleTime
  1086. }
  1087. return ""
  1088. }
  1089. func (x *FeedFormulaUsageList) GetStirTime() string {
  1090. if x != nil {
  1091. return x.StirTime
  1092. }
  1093. return ""
  1094. }
  1095. func (x *FeedFormulaUsageList) GetLastEditTime() string {
  1096. if x != nil {
  1097. return x.LastEditTime
  1098. }
  1099. return ""
  1100. }
  1101. type PastureFeedFormulaUsageResponse struct {
  1102. state protoimpl.MessageState
  1103. sizeCache protoimpl.SizeCache
  1104. unknownFields protoimpl.UnknownFields
  1105. Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
  1106. Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
  1107. Data *PastureData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
  1108. }
  1109. func (x *PastureFeedFormulaUsageResponse) Reset() {
  1110. *x = PastureFeedFormulaUsageResponse{}
  1111. if protoimpl.UnsafeEnabled {
  1112. mi := &file_backend_operation_feed_formula_proto_msgTypes[16]
  1113. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1114. ms.StoreMessageInfo(mi)
  1115. }
  1116. }
  1117. func (x *PastureFeedFormulaUsageResponse) String() string {
  1118. return protoimpl.X.MessageStringOf(x)
  1119. }
  1120. func (*PastureFeedFormulaUsageResponse) ProtoMessage() {}
  1121. func (x *PastureFeedFormulaUsageResponse) ProtoReflect() protoreflect.Message {
  1122. mi := &file_backend_operation_feed_formula_proto_msgTypes[16]
  1123. if protoimpl.UnsafeEnabled && x != nil {
  1124. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1125. if ms.LoadMessageInfo() == nil {
  1126. ms.StoreMessageInfo(mi)
  1127. }
  1128. return ms
  1129. }
  1130. return mi.MessageOf(x)
  1131. }
  1132. // Deprecated: Use PastureFeedFormulaUsageResponse.ProtoReflect.Descriptor instead.
  1133. func (*PastureFeedFormulaUsageResponse) Descriptor() ([]byte, []int) {
  1134. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{16}
  1135. }
  1136. func (x *PastureFeedFormulaUsageResponse) GetCode() int32 {
  1137. if x != nil {
  1138. return x.Code
  1139. }
  1140. return 0
  1141. }
  1142. func (x *PastureFeedFormulaUsageResponse) GetMsg() string {
  1143. if x != nil {
  1144. return x.Msg
  1145. }
  1146. return ""
  1147. }
  1148. func (x *PastureFeedFormulaUsageResponse) GetData() *PastureData {
  1149. if x != nil {
  1150. return x.Data
  1151. }
  1152. return nil
  1153. }
  1154. type PastureData struct {
  1155. state protoimpl.MessageState
  1156. sizeCache protoimpl.SizeCache
  1157. unknownFields protoimpl.UnknownFields
  1158. MixedFodderAccurateRatio string `protobuf:"bytes,3,opt,name=mixed_fodder_accurate_ratio,json=mixedFodderAccurateRatio,proto3" json:"mixed_fodder_accurate_ratio,omitempty"` // 混料准确率
  1159. MixedFodderCorrectRatio string `protobuf:"bytes,4,opt,name=mixed_fodder_correct_ratio,json=mixedFodderCorrectRatio,proto3" json:"mixed_fodder_correct_ratio,omitempty"` // 混料正确率
  1160. SprinkleFodderAccurateRatio string `protobuf:"bytes,5,opt,name=sprinkle_fodder_accurate_ratio,json=sprinkleFodderAccurateRatio,proto3" json:"sprinkle_fodder_accurate_ratio,omitempty"` // 撒料准确率
  1161. SprinkleFodderCorrectRatio string `protobuf:"bytes,6,opt,name=sprinkle_fodder_correct_ratio,json=sprinkleFodderCorrectRatio,proto3" json:"sprinkle_fodder_correct_ratio,omitempty"` // 撒料正确率
  1162. AddFeedTime string `protobuf:"bytes,7,opt,name=add_feed_time,json=addFeedTime,proto3" json:"add_feed_time,omitempty"` // 加料时间
  1163. SprinkleTime string `protobuf:"bytes,8,opt,name=sprinkle_time,json=sprinkleTime,proto3" json:"sprinkle_time,omitempty"` // 撒料时间
  1164. StirTime string `protobuf:"bytes,9,opt,name=stir_time,json=stirTime,proto3" json:"stir_time,omitempty"` // 搅拌延迟时间
  1165. LastEditTime string `protobuf:"bytes,10,opt,name=last_edit_time,json=lastEditTime,proto3" json:"last_edit_time,omitempty"` // 最近一次修改配方时间
  1166. }
  1167. func (x *PastureData) Reset() {
  1168. *x = PastureData{}
  1169. if protoimpl.UnsafeEnabled {
  1170. mi := &file_backend_operation_feed_formula_proto_msgTypes[17]
  1171. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1172. ms.StoreMessageInfo(mi)
  1173. }
  1174. }
  1175. func (x *PastureData) String() string {
  1176. return protoimpl.X.MessageStringOf(x)
  1177. }
  1178. func (*PastureData) ProtoMessage() {}
  1179. func (x *PastureData) ProtoReflect() protoreflect.Message {
  1180. mi := &file_backend_operation_feed_formula_proto_msgTypes[17]
  1181. if protoimpl.UnsafeEnabled && x != nil {
  1182. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1183. if ms.LoadMessageInfo() == nil {
  1184. ms.StoreMessageInfo(mi)
  1185. }
  1186. return ms
  1187. }
  1188. return mi.MessageOf(x)
  1189. }
  1190. // Deprecated: Use PastureData.ProtoReflect.Descriptor instead.
  1191. func (*PastureData) Descriptor() ([]byte, []int) {
  1192. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{17}
  1193. }
  1194. func (x *PastureData) GetMixedFodderAccurateRatio() string {
  1195. if x != nil {
  1196. return x.MixedFodderAccurateRatio
  1197. }
  1198. return ""
  1199. }
  1200. func (x *PastureData) GetMixedFodderCorrectRatio() string {
  1201. if x != nil {
  1202. return x.MixedFodderCorrectRatio
  1203. }
  1204. return ""
  1205. }
  1206. func (x *PastureData) GetSprinkleFodderAccurateRatio() string {
  1207. if x != nil {
  1208. return x.SprinkleFodderAccurateRatio
  1209. }
  1210. return ""
  1211. }
  1212. func (x *PastureData) GetSprinkleFodderCorrectRatio() string {
  1213. if x != nil {
  1214. return x.SprinkleFodderCorrectRatio
  1215. }
  1216. return ""
  1217. }
  1218. func (x *PastureData) GetAddFeedTime() string {
  1219. if x != nil {
  1220. return x.AddFeedTime
  1221. }
  1222. return ""
  1223. }
  1224. func (x *PastureData) GetSprinkleTime() string {
  1225. if x != nil {
  1226. return x.SprinkleTime
  1227. }
  1228. return ""
  1229. }
  1230. func (x *PastureData) GetStirTime() string {
  1231. if x != nil {
  1232. return x.StirTime
  1233. }
  1234. return ""
  1235. }
  1236. func (x *PastureData) GetLastEditTime() string {
  1237. if x != nil {
  1238. return x.LastEditTime
  1239. }
  1240. return ""
  1241. }
  1242. type UniqueID_UniqueData struct {
  1243. state protoimpl.MessageState
  1244. sizeCache protoimpl.SizeCache
  1245. unknownFields protoimpl.UnknownFields
  1246. EncodeNumber string `protobuf:"bytes,1,opt,name=encode_number,json=encodeNumber,proto3" json:"encode_number,omitempty"`
  1247. }
  1248. func (x *UniqueID_UniqueData) Reset() {
  1249. *x = UniqueID_UniqueData{}
  1250. if protoimpl.UnsafeEnabled {
  1251. mi := &file_backend_operation_feed_formula_proto_msgTypes[18]
  1252. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1253. ms.StoreMessageInfo(mi)
  1254. }
  1255. }
  1256. func (x *UniqueID_UniqueData) String() string {
  1257. return protoimpl.X.MessageStringOf(x)
  1258. }
  1259. func (*UniqueID_UniqueData) ProtoMessage() {}
  1260. func (x *UniqueID_UniqueData) ProtoReflect() protoreflect.Message {
  1261. mi := &file_backend_operation_feed_formula_proto_msgTypes[18]
  1262. if protoimpl.UnsafeEnabled && x != nil {
  1263. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1264. if ms.LoadMessageInfo() == nil {
  1265. ms.StoreMessageInfo(mi)
  1266. }
  1267. return ms
  1268. }
  1269. return mi.MessageOf(x)
  1270. }
  1271. // Deprecated: Use UniqueID_UniqueData.ProtoReflect.Descriptor instead.
  1272. func (*UniqueID_UniqueData) Descriptor() ([]byte, []int) {
  1273. return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{5, 0}
  1274. }
  1275. func (x *UniqueID_UniqueData) GetEncodeNumber() string {
  1276. if x != nil {
  1277. return x.EncodeNumber
  1278. }
  1279. return ""
  1280. }
  1281. var File_backend_operation_feed_formula_proto protoreflect.FileDescriptor
  1282. var file_backend_operation_feed_formula_proto_rawDesc = []byte{
  1283. 0x0a, 0x24, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
  1284. 0x69, 0x6f, 0x6e, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61,
  1285. 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e,
  1286. 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x22, 0x62, 0x61, 0x63, 0x6b, 0x65,
  1287. 0x6e, 0x64, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x70, 0x61, 0x67,
  1288. 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x62,
  1289. 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1290. 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe6, 0x05, 0x0a, 0x15,
  1291. 0x41, 0x64, 0x64, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x52, 0x65,
  1292. 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
  1293. 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
  1294. 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x63,
  1295. 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
  1296. 0x52, 0x0c, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16,
  1297. 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x75, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
  1298. 0x63, 0x6f, 0x6c, 0x6f, 0x75, 0x72, 0x12, 0x5a, 0x0a, 0x12, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65,
  1299. 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01,
  1300. 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65,
  1301. 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74,
  1302. 0x65, 0x67, 0x6f, 0x72, 0x79, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x4b, 0x69, 0x6e, 0x64,
  1303. 0x52, 0x10, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
  1304. 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x74,
  1305. 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
  1306. 0x52, 0x12, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
  1307. 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f,
  1308. 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66,
  1309. 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11,
  1310. 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
  1311. 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61,
  1312. 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61,
  1313. 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e,
  1314. 0x32, 0x22, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61,
  1315. 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e,
  1316. 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
  1317. 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
  1318. 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x61,
  1319. 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07,
  1320. 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72,
  1321. 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
  1322. 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
  1323. 0x12, 0x37, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x0d, 0x20, 0x01, 0x28,
  1324. 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72,
  1325. 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e,
  1326. 0x64, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x3b, 0x0a, 0x09, 0x69, 0x73, 0x5f,
  1327. 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62,
  1328. 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1329. 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x08, 0x69, 0x73,
  1330. 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
  1331. 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61,
  1332. 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
  1333. 0x5f, 0x61, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09,
  1334. 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61,
  1335. 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
  1336. 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65,
  1337. 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xbc, 0x02, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46,
  1338. 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  1339. 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65,
  1340. 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x63,
  1341. 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12,
  1342. 0x26, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f,
  1343. 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c,
  1344. 0x61, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f,
  1345. 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x61,
  1346. 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73,
  1347. 0x68, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b,
  1348. 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73,
  1349. 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f,
  1350. 0x77, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
  1351. 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73,
  1352. 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x12,
  1353. 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20,
  1354. 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70,
  1355. 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69,
  1356. 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74,
  1357. 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x1d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x65,
  1358. 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
  1359. 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
  1360. 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67,
  1361. 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x40, 0x0a, 0x04, 0x64,
  1362. 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x62, 0x61, 0x63, 0x6b,
  1363. 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65,
  1364. 0x61, 0x72, 0x63, 0x68, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4c,
  1365. 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa0, 0x01,
  1366. 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d,
  1367. 0x75, 0x6c, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x70,
  1368. 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12,
  1369. 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
  1370. 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05,
  1371. 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74,
  1372. 0x61, 0x6c, 0x12, 0x3c, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
  1373. 0x32, 0x28, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61,
  1374. 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d,
  1375. 0x75, 0x6c, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74,
  1376. 0x22, 0x97, 0x01, 0x0a, 0x17, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x69, 0x66,
  1377. 0x79, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x12, 0x26, 0x0a, 0x0f,
  1378. 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x64, 0x18,
  1379. 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75,
  1380. 0x6c, 0x61, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18,
  1381. 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e,
  1382. 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77,
  1383. 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x1b, 0x0a,
  1384. 0x09, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
  1385. 0x52, 0x08, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x08, 0x55,
  1386. 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
  1387. 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d,
  1388. 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x3a, 0x0a,
  1389. 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x62, 0x61,
  1390. 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
  1391. 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x44, 0x2e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x44,
  1392. 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x31, 0x0a, 0x0a, 0x55, 0x6e, 0x69,
  1393. 0x71, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x63, 0x6f, 0x64,
  1394. 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
  1395. 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x69, 0x0a, 0x1c,
  1396. 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f,
  1397. 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b,
  1398. 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  1399. 0x05, 0x52, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x73, 0x12, 0x28, 0x0a,
  1400. 0x10, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x64,
  1401. 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72,
  1402. 0x6d, 0x75, 0x6c, 0x61, 0x49, 0x64, 0x73, 0x22, 0x77, 0x0a, 0x1c, 0x45, 0x64, 0x69, 0x74, 0x52,
  1403. 0x65, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61,
  1404. 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75,
  1405. 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x73,
  1406. 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
  1407. 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72,
  1408. 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d,
  1409. 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65,
  1410. 0x22, 0x82, 0x01, 0x0a, 0x1d, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x46,
  1411. 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  1412. 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
  1413. 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20,
  1414. 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x3b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
  1415. 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64,
  1416. 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x46,
  1417. 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52,
  1418. 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa3, 0x01, 0x0a, 0x19, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65,
  1419. 0x63, 0x6f, 0x64, 0x65, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x44,
  1420. 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69,
  1421. 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65,
  1422. 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6e, 0x61,
  1423. 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72,
  1424. 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f,
  1425. 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x69,
  1426. 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79,
  1427. 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d,
  1428. 0x6f, 0x64, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0xdb, 0x02, 0x0a, 0x14,
  1429. 0x41, 0x64, 0x64, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x44, 0x65,
  1430. 0x74, 0x61, 0x69, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72,
  1431. 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66,
  1432. 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09,
  1433. 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
  1434. 0x08, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6f, 0x72,
  1435. 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
  1436. 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x6f,
  1437. 0x72, 0x61, 0x67, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
  1438. 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x47, 0x72, 0x6f,
  1439. 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74,
  1440. 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d,
  1441. 0x0a, 0x0a, 0x73, 0x74, 0x69, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01,
  1442. 0x28, 0x05, 0x52, 0x09, 0x73, 0x74, 0x69, 0x72, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x1f, 0x0a,
  1443. 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01,
  1444. 0x28, 0x05, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1d,
  1445. 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01,
  1446. 0x28, 0x05, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2a, 0x0a,
  1447. 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d,
  1448. 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
  1449. 0x64, 0x41, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
  1450. 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x42, 0x0a, 0x18, 0x46, 0x65, 0x65,
  1451. 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65,
  1452. 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6f,
  1453. 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d,
  1454. 0x66, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x49, 0x64, 0x22, 0x7e, 0x0a,
  1455. 0x19, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x44, 0x65, 0x74, 0x61,
  1456. 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f,
  1457. 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10,
  1458. 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67,
  1459. 0x12, 0x3b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27,
  1460. 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
  1461. 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c,
  1462. 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x9a, 0x01,
  1463. 0x0a, 0x17, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x55, 0x73, 0x61,
  1464. 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x65, 0x65,
  1465. 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
  1466. 0x28, 0x05, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x49,
  1467. 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
  1468. 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65,
  1469. 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
  1470. 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
  1471. 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
  1472. 0x09, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0x7d, 0x0a, 0x18, 0x46, 0x65,
  1473. 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65,
  1474. 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01,
  1475. 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73,
  1476. 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x3b, 0x0a, 0x04,
  1477. 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x62, 0x61, 0x63,
  1478. 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46,
  1479. 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4c,
  1480. 0x69, 0x73, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe8, 0x03, 0x0a, 0x14, 0x46, 0x65,
  1481. 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4c, 0x69,
  1482. 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64,
  1483. 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49,
  1484. 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
  1485. 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65,
  1486. 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x66, 0x6f,
  1487. 0x64, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61,
  1488. 0x74, 0x69, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x6d, 0x69, 0x78, 0x65, 0x64,
  1489. 0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61,
  1490. 0x74, 0x69, 0x6f, 0x12, 0x3b, 0x0a, 0x1a, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x64,
  1491. 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69,
  1492. 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x46, 0x6f,
  1493. 0x64, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f,
  1494. 0x12, 0x43, 0x0a, 0x1e, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x64,
  1495. 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x74,
  1496. 0x69, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b,
  1497. 0x6c, 0x65, 0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65,
  1498. 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x41, 0x0a, 0x1d, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c,
  1499. 0x65, 0x5f, 0x66, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74,
  1500. 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x73, 0x70,
  1501. 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x72,
  1502. 0x65, 0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x5f,
  1503. 0x66, 0x65, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
  1504. 0x0b, 0x61, 0x64, 0x64, 0x46, 0x65, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d,
  1505. 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20,
  1506. 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x54, 0x69, 0x6d,
  1507. 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x69, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09,
  1508. 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x69, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24,
  1509. 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,
  1510. 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x64, 0x69, 0x74,
  1511. 0x54, 0x69, 0x6d, 0x65, 0x22, 0x7b, 0x0a, 0x1f, 0x50, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x46,
  1512. 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52,
  1513. 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
  1514. 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d,
  1515. 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x32, 0x0a,
  1516. 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x61,
  1517. 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
  1518. 0x50, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74,
  1519. 0x61, 0x22, 0x9d, 0x03, 0x0a, 0x0b, 0x50, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74,
  1520. 0x61, 0x12, 0x3d, 0x0a, 0x1b, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x64, 0x64, 0x65,
  1521. 0x72, 0x5f, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f,
  1522. 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x46, 0x6f, 0x64,
  1523. 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f,
  1524. 0x12, 0x3b, 0x0a, 0x1a, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x64, 0x64, 0x65, 0x72,
  1525. 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x04,
  1526. 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x46, 0x6f, 0x64, 0x64, 0x65,
  1527. 0x72, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x43, 0x0a,
  1528. 0x1e, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x64, 0x64, 0x65, 0x72,
  1529. 0x5f, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18,
  1530. 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x46,
  1531. 0x6f, 0x64, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74,
  1532. 0x69, 0x6f, 0x12, 0x41, 0x0a, 0x1d, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x5f, 0x66,
  1533. 0x6f, 0x64, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61,
  1534. 0x74, 0x69, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x73, 0x70, 0x72, 0x69, 0x6e,
  1535. 0x6b, 0x6c, 0x65, 0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74,
  1536. 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x5f, 0x66, 0x65, 0x65,
  1537. 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x64,
  1538. 0x64, 0x46, 0x65, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x70, 0x72,
  1539. 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
  1540. 0x52, 0x0c, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b,
  1541. 0x0a, 0x09, 0x73, 0x74, 0x69, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
  1542. 0x09, 0x52, 0x08, 0x73, 0x74, 0x69, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6c,
  1543. 0x61, 0x73, 0x74, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20,
  1544. 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x64, 0x69, 0x74, 0x54, 0x69, 0x6d,
  1545. 0x65, 0x42, 0x0f, 0x5a, 0x0d, 0x2e, 0x3b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1546. 0x50, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1547. }
  1548. var (
  1549. file_backend_operation_feed_formula_proto_rawDescOnce sync.Once
  1550. file_backend_operation_feed_formula_proto_rawDescData = file_backend_operation_feed_formula_proto_rawDesc
  1551. )
  1552. func file_backend_operation_feed_formula_proto_rawDescGZIP() []byte {
  1553. file_backend_operation_feed_formula_proto_rawDescOnce.Do(func() {
  1554. file_backend_operation_feed_formula_proto_rawDescData = protoimpl.X.CompressGZIP(file_backend_operation_feed_formula_proto_rawDescData)
  1555. })
  1556. return file_backend_operation_feed_formula_proto_rawDescData
  1557. }
  1558. var file_backend_operation_feed_formula_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
  1559. var file_backend_operation_feed_formula_proto_goTypes = []interface{}{
  1560. (*AddFeedFormulaRequest)(nil), // 0: backend.operation.AddFeedFormulaRequest
  1561. (*SearchFeedFormulaRequest)(nil), // 1: backend.operation.SearchFeedFormulaRequest
  1562. (*SearchFeedFormulaListResponse)(nil), // 2: backend.operation.SearchFeedFormulaListResponse
  1563. (*SearchFeedFormulaListData)(nil), // 3: backend.operation.SearchFeedFormulaListData
  1564. (*IsShowModifyFeedFormula)(nil), // 4: backend.operation.IsShowModifyFeedFormula
  1565. (*UniqueID)(nil), // 5: backend.operation.UniqueID
  1566. (*DistributeFeedFormulaRequest)(nil), // 6: backend.operation.DistributeFeedFormulaRequest
  1567. (*EditRecodeFeedFormulaRequest)(nil), // 7: backend.operation.EditRecodeFeedFormulaRequest
  1568. (*EditRecodeFeedFormulaResponse)(nil), // 8: backend.operation.EditRecodeFeedFormulaResponse
  1569. (*EditRecodeFeedFormulaData)(nil), // 9: backend.operation.EditRecodeFeedFormulaData
  1570. (*AddFeedFormulaDetail)(nil), // 10: backend.operation.AddFeedFormulaDetail
  1571. (*FeedFormulaDetailRequest)(nil), // 11: backend.operation.FeedFormulaDetailRequest
  1572. (*FeedFormulaDetailResponse)(nil), // 12: backend.operation.FeedFormulaDetailResponse
  1573. (*FeedFormulaUsageRequest)(nil), // 13: backend.operation.FeedFormulaUsageRequest
  1574. (*FeedFormulaUsageResponse)(nil), // 14: backend.operation.FeedFormulaUsageResponse
  1575. (*FeedFormulaUsageList)(nil), // 15: backend.operation.FeedFormulaUsageList
  1576. (*PastureFeedFormulaUsageResponse)(nil), // 16: backend.operation.PastureFeedFormulaUsageResponse
  1577. (*PastureData)(nil), // 17: backend.operation.PastureData
  1578. (*UniqueID_UniqueData)(nil), // 18: backend.operation.UniqueID.UniqueData
  1579. (CattleCategoryParent_Kind)(0), // 19: backend.operation.CattleCategoryParent.Kind
  1580. (DataSource_Kind)(0), // 20: backend.operation.DataSource.Kind
  1581. (IsShow_Kind)(0), // 21: backend.operation.IsShow.Kind
  1582. (*PaginationModel)(nil), // 22: backend.operation.PaginationModel
  1583. }
  1584. var file_backend_operation_feed_formula_proto_depIdxs = []int32{
  1585. 19, // 0: backend.operation.AddFeedFormulaRequest.cattle_category_id:type_name -> backend.operation.CattleCategoryParent.Kind
  1586. 20, // 1: backend.operation.AddFeedFormulaRequest.data_source_id:type_name -> backend.operation.DataSource.Kind
  1587. 21, // 2: backend.operation.AddFeedFormulaRequest.is_show:type_name -> backend.operation.IsShow.Kind
  1588. 21, // 3: backend.operation.AddFeedFormulaRequest.is_modify:type_name -> backend.operation.IsShow.Kind
  1589. 21, // 4: backend.operation.SearchFeedFormulaRequest.is_show:type_name -> backend.operation.IsShow.Kind
  1590. 22, // 5: backend.operation.SearchFeedFormulaRequest.pagination:type_name -> backend.operation.PaginationModel
  1591. 3, // 6: backend.operation.SearchFeedFormulaListResponse.data:type_name -> backend.operation.SearchFeedFormulaListData
  1592. 0, // 7: backend.operation.SearchFeedFormulaListData.list:type_name -> backend.operation.AddFeedFormulaRequest
  1593. 21, // 8: backend.operation.IsShowModifyFeedFormula.is_show:type_name -> backend.operation.IsShow.Kind
  1594. 18, // 9: backend.operation.UniqueID.data:type_name -> backend.operation.UniqueID.UniqueData
  1595. 15, // 10: backend.operation.EditRecodeFeedFormulaResponse.data:type_name -> backend.operation.FeedFormulaUsageList
  1596. 10, // 11: backend.operation.FeedFormulaDetailResponse.data:type_name -> backend.operation.AddFeedFormulaDetail
  1597. 15, // 12: backend.operation.FeedFormulaUsageResponse.data:type_name -> backend.operation.FeedFormulaUsageList
  1598. 17, // 13: backend.operation.PastureFeedFormulaUsageResponse.data:type_name -> backend.operation.PastureData
  1599. 14, // [14:14] is the sub-list for method output_type
  1600. 14, // [14:14] is the sub-list for method input_type
  1601. 14, // [14:14] is the sub-list for extension type_name
  1602. 14, // [14:14] is the sub-list for extension extendee
  1603. 0, // [0:14] is the sub-list for field type_name
  1604. }
  1605. func init() { file_backend_operation_feed_formula_proto_init() }
  1606. func file_backend_operation_feed_formula_proto_init() {
  1607. if File_backend_operation_feed_formula_proto != nil {
  1608. return
  1609. }
  1610. file_backend_operation_pagination_proto_init()
  1611. file_backend_operation_enum_proto_init()
  1612. if !protoimpl.UnsafeEnabled {
  1613. file_backend_operation_feed_formula_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1614. switch v := v.(*AddFeedFormulaRequest); i {
  1615. case 0:
  1616. return &v.state
  1617. case 1:
  1618. return &v.sizeCache
  1619. case 2:
  1620. return &v.unknownFields
  1621. default:
  1622. return nil
  1623. }
  1624. }
  1625. file_backend_operation_feed_formula_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1626. switch v := v.(*SearchFeedFormulaRequest); i {
  1627. case 0:
  1628. return &v.state
  1629. case 1:
  1630. return &v.sizeCache
  1631. case 2:
  1632. return &v.unknownFields
  1633. default:
  1634. return nil
  1635. }
  1636. }
  1637. file_backend_operation_feed_formula_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1638. switch v := v.(*SearchFeedFormulaListResponse); i {
  1639. case 0:
  1640. return &v.state
  1641. case 1:
  1642. return &v.sizeCache
  1643. case 2:
  1644. return &v.unknownFields
  1645. default:
  1646. return nil
  1647. }
  1648. }
  1649. file_backend_operation_feed_formula_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1650. switch v := v.(*SearchFeedFormulaListData); i {
  1651. case 0:
  1652. return &v.state
  1653. case 1:
  1654. return &v.sizeCache
  1655. case 2:
  1656. return &v.unknownFields
  1657. default:
  1658. return nil
  1659. }
  1660. }
  1661. file_backend_operation_feed_formula_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1662. switch v := v.(*IsShowModifyFeedFormula); i {
  1663. case 0:
  1664. return &v.state
  1665. case 1:
  1666. return &v.sizeCache
  1667. case 2:
  1668. return &v.unknownFields
  1669. default:
  1670. return nil
  1671. }
  1672. }
  1673. file_backend_operation_feed_formula_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1674. switch v := v.(*UniqueID); i {
  1675. case 0:
  1676. return &v.state
  1677. case 1:
  1678. return &v.sizeCache
  1679. case 2:
  1680. return &v.unknownFields
  1681. default:
  1682. return nil
  1683. }
  1684. }
  1685. file_backend_operation_feed_formula_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1686. switch v := v.(*DistributeFeedFormulaRequest); i {
  1687. case 0:
  1688. return &v.state
  1689. case 1:
  1690. return &v.sizeCache
  1691. case 2:
  1692. return &v.unknownFields
  1693. default:
  1694. return nil
  1695. }
  1696. }
  1697. file_backend_operation_feed_formula_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1698. switch v := v.(*EditRecodeFeedFormulaRequest); i {
  1699. case 0:
  1700. return &v.state
  1701. case 1:
  1702. return &v.sizeCache
  1703. case 2:
  1704. return &v.unknownFields
  1705. default:
  1706. return nil
  1707. }
  1708. }
  1709. file_backend_operation_feed_formula_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1710. switch v := v.(*EditRecodeFeedFormulaResponse); i {
  1711. case 0:
  1712. return &v.state
  1713. case 1:
  1714. return &v.sizeCache
  1715. case 2:
  1716. return &v.unknownFields
  1717. default:
  1718. return nil
  1719. }
  1720. }
  1721. file_backend_operation_feed_formula_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1722. switch v := v.(*EditRecodeFeedFormulaData); i {
  1723. case 0:
  1724. return &v.state
  1725. case 1:
  1726. return &v.sizeCache
  1727. case 2:
  1728. return &v.unknownFields
  1729. default:
  1730. return nil
  1731. }
  1732. }
  1733. file_backend_operation_feed_formula_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  1734. switch v := v.(*AddFeedFormulaDetail); i {
  1735. case 0:
  1736. return &v.state
  1737. case 1:
  1738. return &v.sizeCache
  1739. case 2:
  1740. return &v.unknownFields
  1741. default:
  1742. return nil
  1743. }
  1744. }
  1745. file_backend_operation_feed_formula_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  1746. switch v := v.(*FeedFormulaDetailRequest); i {
  1747. case 0:
  1748. return &v.state
  1749. case 1:
  1750. return &v.sizeCache
  1751. case 2:
  1752. return &v.unknownFields
  1753. default:
  1754. return nil
  1755. }
  1756. }
  1757. file_backend_operation_feed_formula_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  1758. switch v := v.(*FeedFormulaDetailResponse); i {
  1759. case 0:
  1760. return &v.state
  1761. case 1:
  1762. return &v.sizeCache
  1763. case 2:
  1764. return &v.unknownFields
  1765. default:
  1766. return nil
  1767. }
  1768. }
  1769. file_backend_operation_feed_formula_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  1770. switch v := v.(*FeedFormulaUsageRequest); i {
  1771. case 0:
  1772. return &v.state
  1773. case 1:
  1774. return &v.sizeCache
  1775. case 2:
  1776. return &v.unknownFields
  1777. default:
  1778. return nil
  1779. }
  1780. }
  1781. file_backend_operation_feed_formula_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  1782. switch v := v.(*FeedFormulaUsageResponse); i {
  1783. case 0:
  1784. return &v.state
  1785. case 1:
  1786. return &v.sizeCache
  1787. case 2:
  1788. return &v.unknownFields
  1789. default:
  1790. return nil
  1791. }
  1792. }
  1793. file_backend_operation_feed_formula_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  1794. switch v := v.(*FeedFormulaUsageList); i {
  1795. case 0:
  1796. return &v.state
  1797. case 1:
  1798. return &v.sizeCache
  1799. case 2:
  1800. return &v.unknownFields
  1801. default:
  1802. return nil
  1803. }
  1804. }
  1805. file_backend_operation_feed_formula_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  1806. switch v := v.(*PastureFeedFormulaUsageResponse); i {
  1807. case 0:
  1808. return &v.state
  1809. case 1:
  1810. return &v.sizeCache
  1811. case 2:
  1812. return &v.unknownFields
  1813. default:
  1814. return nil
  1815. }
  1816. }
  1817. file_backend_operation_feed_formula_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  1818. switch v := v.(*PastureData); i {
  1819. case 0:
  1820. return &v.state
  1821. case 1:
  1822. return &v.sizeCache
  1823. case 2:
  1824. return &v.unknownFields
  1825. default:
  1826. return nil
  1827. }
  1828. }
  1829. file_backend_operation_feed_formula_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  1830. switch v := v.(*UniqueID_UniqueData); i {
  1831. case 0:
  1832. return &v.state
  1833. case 1:
  1834. return &v.sizeCache
  1835. case 2:
  1836. return &v.unknownFields
  1837. default:
  1838. return nil
  1839. }
  1840. }
  1841. }
  1842. type x struct{}
  1843. out := protoimpl.TypeBuilder{
  1844. File: protoimpl.DescBuilder{
  1845. GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1846. RawDescriptor: file_backend_operation_feed_formula_proto_rawDesc,
  1847. NumEnums: 0,
  1848. NumMessages: 19,
  1849. NumExtensions: 0,
  1850. NumServices: 0,
  1851. },
  1852. GoTypes: file_backend_operation_feed_formula_proto_goTypes,
  1853. DependencyIndexes: file_backend_operation_feed_formula_proto_depIdxs,
  1854. MessageInfos: file_backend_operation_feed_formula_proto_msgTypes,
  1855. }.Build()
  1856. File_backend_operation_feed_formula_proto = out.File
  1857. file_backend_operation_feed_formula_proto_rawDesc = nil
  1858. file_backend_operation_feed_formula_proto_goTypes = nil
  1859. file_backend_operation_feed_formula_proto_depIdxs = nil
  1860. }