descriptor.pb.go 84 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065
  1. // Code generated by protoc-gen-go.
  2. // source: google/protobuf/descriptor.proto
  3. // DO NOT EDIT!
  4. /*
  5. Package descriptor is a generated protocol buffer package.
  6. It is generated from these files:
  7. google/protobuf/descriptor.proto
  8. It has these top-level messages:
  9. FileDescriptorSet
  10. FileDescriptorProto
  11. DescriptorProto
  12. FieldDescriptorProto
  13. OneofDescriptorProto
  14. EnumDescriptorProto
  15. EnumValueDescriptorProto
  16. ServiceDescriptorProto
  17. MethodDescriptorProto
  18. FileOptions
  19. MessageOptions
  20. FieldOptions
  21. OneofOptions
  22. EnumOptions
  23. EnumValueOptions
  24. ServiceOptions
  25. MethodOptions
  26. UninterpretedOption
  27. SourceCodeInfo
  28. GeneratedCodeInfo
  29. */
  30. package descriptor
  31. import proto "github.com/golang/protobuf/proto"
  32. import fmt "fmt"
  33. import math "math"
  34. // Reference imports to suppress errors if they are not otherwise used.
  35. var _ = proto.Marshal
  36. var _ = fmt.Errorf
  37. var _ = math.Inf
  38. // This is a compile-time assertion to ensure that this generated file
  39. // is compatible with the proto package it is being compiled against.
  40. // A compilation error at this line likely means your copy of the
  41. // proto package needs to be updated.
  42. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  43. type FieldDescriptorProto_Type int32
  44. const (
  45. // 0 is reserved for errors.
  46. // Order is weird for historical reasons.
  47. FieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1
  48. FieldDescriptorProto_TYPE_FLOAT FieldDescriptorProto_Type = 2
  49. // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if
  50. // negative values are likely.
  51. FieldDescriptorProto_TYPE_INT64 FieldDescriptorProto_Type = 3
  52. FieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4
  53. // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if
  54. // negative values are likely.
  55. FieldDescriptorProto_TYPE_INT32 FieldDescriptorProto_Type = 5
  56. FieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6
  57. FieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7
  58. FieldDescriptorProto_TYPE_BOOL FieldDescriptorProto_Type = 8
  59. FieldDescriptorProto_TYPE_STRING FieldDescriptorProto_Type = 9
  60. FieldDescriptorProto_TYPE_GROUP FieldDescriptorProto_Type = 10
  61. FieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11
  62. // New in version 2.
  63. FieldDescriptorProto_TYPE_BYTES FieldDescriptorProto_Type = 12
  64. FieldDescriptorProto_TYPE_UINT32 FieldDescriptorProto_Type = 13
  65. FieldDescriptorProto_TYPE_ENUM FieldDescriptorProto_Type = 14
  66. FieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15
  67. FieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16
  68. FieldDescriptorProto_TYPE_SINT32 FieldDescriptorProto_Type = 17
  69. FieldDescriptorProto_TYPE_SINT64 FieldDescriptorProto_Type = 18
  70. )
  71. var FieldDescriptorProto_Type_name = map[int32]string{
  72. 1: "TYPE_DOUBLE",
  73. 2: "TYPE_FLOAT",
  74. 3: "TYPE_INT64",
  75. 4: "TYPE_UINT64",
  76. 5: "TYPE_INT32",
  77. 6: "TYPE_FIXED64",
  78. 7: "TYPE_FIXED32",
  79. 8: "TYPE_BOOL",
  80. 9: "TYPE_STRING",
  81. 10: "TYPE_GROUP",
  82. 11: "TYPE_MESSAGE",
  83. 12: "TYPE_BYTES",
  84. 13: "TYPE_UINT32",
  85. 14: "TYPE_ENUM",
  86. 15: "TYPE_SFIXED32",
  87. 16: "TYPE_SFIXED64",
  88. 17: "TYPE_SINT32",
  89. 18: "TYPE_SINT64",
  90. }
  91. var FieldDescriptorProto_Type_value = map[string]int32{
  92. "TYPE_DOUBLE": 1,
  93. "TYPE_FLOAT": 2,
  94. "TYPE_INT64": 3,
  95. "TYPE_UINT64": 4,
  96. "TYPE_INT32": 5,
  97. "TYPE_FIXED64": 6,
  98. "TYPE_FIXED32": 7,
  99. "TYPE_BOOL": 8,
  100. "TYPE_STRING": 9,
  101. "TYPE_GROUP": 10,
  102. "TYPE_MESSAGE": 11,
  103. "TYPE_BYTES": 12,
  104. "TYPE_UINT32": 13,
  105. "TYPE_ENUM": 14,
  106. "TYPE_SFIXED32": 15,
  107. "TYPE_SFIXED64": 16,
  108. "TYPE_SINT32": 17,
  109. "TYPE_SINT64": 18,
  110. }
  111. func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type {
  112. p := new(FieldDescriptorProto_Type)
  113. *p = x
  114. return p
  115. }
  116. func (x FieldDescriptorProto_Type) String() string {
  117. return proto.EnumName(FieldDescriptorProto_Type_name, int32(x))
  118. }
  119. func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error {
  120. value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Type_value, data, "FieldDescriptorProto_Type")
  121. if err != nil {
  122. return err
  123. }
  124. *x = FieldDescriptorProto_Type(value)
  125. return nil
  126. }
  127. func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{3, 0} }
  128. type FieldDescriptorProto_Label int32
  129. const (
  130. // 0 is reserved for errors
  131. FieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1
  132. FieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2
  133. FieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3
  134. )
  135. var FieldDescriptorProto_Label_name = map[int32]string{
  136. 1: "LABEL_OPTIONAL",
  137. 2: "LABEL_REQUIRED",
  138. 3: "LABEL_REPEATED",
  139. }
  140. var FieldDescriptorProto_Label_value = map[string]int32{
  141. "LABEL_OPTIONAL": 1,
  142. "LABEL_REQUIRED": 2,
  143. "LABEL_REPEATED": 3,
  144. }
  145. func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label {
  146. p := new(FieldDescriptorProto_Label)
  147. *p = x
  148. return p
  149. }
  150. func (x FieldDescriptorProto_Label) String() string {
  151. return proto.EnumName(FieldDescriptorProto_Label_name, int32(x))
  152. }
  153. func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error {
  154. value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Label_value, data, "FieldDescriptorProto_Label")
  155. if err != nil {
  156. return err
  157. }
  158. *x = FieldDescriptorProto_Label(value)
  159. return nil
  160. }
  161. func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) {
  162. return fileDescriptor0, []int{3, 1}
  163. }
  164. // Generated classes can be optimized for speed or code size.
  165. type FileOptions_OptimizeMode int32
  166. const (
  167. FileOptions_SPEED FileOptions_OptimizeMode = 1
  168. // etc.
  169. FileOptions_CODE_SIZE FileOptions_OptimizeMode = 2
  170. FileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3
  171. )
  172. var FileOptions_OptimizeMode_name = map[int32]string{
  173. 1: "SPEED",
  174. 2: "CODE_SIZE",
  175. 3: "LITE_RUNTIME",
  176. }
  177. var FileOptions_OptimizeMode_value = map[string]int32{
  178. "SPEED": 1,
  179. "CODE_SIZE": 2,
  180. "LITE_RUNTIME": 3,
  181. }
  182. func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode {
  183. p := new(FileOptions_OptimizeMode)
  184. *p = x
  185. return p
  186. }
  187. func (x FileOptions_OptimizeMode) String() string {
  188. return proto.EnumName(FileOptions_OptimizeMode_name, int32(x))
  189. }
  190. func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error {
  191. value, err := proto.UnmarshalJSONEnum(FileOptions_OptimizeMode_value, data, "FileOptions_OptimizeMode")
  192. if err != nil {
  193. return err
  194. }
  195. *x = FileOptions_OptimizeMode(value)
  196. return nil
  197. }
  198. func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{9, 0} }
  199. type FieldOptions_CType int32
  200. const (
  201. // Default mode.
  202. FieldOptions_STRING FieldOptions_CType = 0
  203. FieldOptions_CORD FieldOptions_CType = 1
  204. FieldOptions_STRING_PIECE FieldOptions_CType = 2
  205. )
  206. var FieldOptions_CType_name = map[int32]string{
  207. 0: "STRING",
  208. 1: "CORD",
  209. 2: "STRING_PIECE",
  210. }
  211. var FieldOptions_CType_value = map[string]int32{
  212. "STRING": 0,
  213. "CORD": 1,
  214. "STRING_PIECE": 2,
  215. }
  216. func (x FieldOptions_CType) Enum() *FieldOptions_CType {
  217. p := new(FieldOptions_CType)
  218. *p = x
  219. return p
  220. }
  221. func (x FieldOptions_CType) String() string {
  222. return proto.EnumName(FieldOptions_CType_name, int32(x))
  223. }
  224. func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error {
  225. value, err := proto.UnmarshalJSONEnum(FieldOptions_CType_value, data, "FieldOptions_CType")
  226. if err != nil {
  227. return err
  228. }
  229. *x = FieldOptions_CType(value)
  230. return nil
  231. }
  232. func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{11, 0} }
  233. type FieldOptions_JSType int32
  234. const (
  235. // Use the default type.
  236. FieldOptions_JS_NORMAL FieldOptions_JSType = 0
  237. // Use JavaScript strings.
  238. FieldOptions_JS_STRING FieldOptions_JSType = 1
  239. // Use JavaScript numbers.
  240. FieldOptions_JS_NUMBER FieldOptions_JSType = 2
  241. )
  242. var FieldOptions_JSType_name = map[int32]string{
  243. 0: "JS_NORMAL",
  244. 1: "JS_STRING",
  245. 2: "JS_NUMBER",
  246. }
  247. var FieldOptions_JSType_value = map[string]int32{
  248. "JS_NORMAL": 0,
  249. "JS_STRING": 1,
  250. "JS_NUMBER": 2,
  251. }
  252. func (x FieldOptions_JSType) Enum() *FieldOptions_JSType {
  253. p := new(FieldOptions_JSType)
  254. *p = x
  255. return p
  256. }
  257. func (x FieldOptions_JSType) String() string {
  258. return proto.EnumName(FieldOptions_JSType_name, int32(x))
  259. }
  260. func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error {
  261. value, err := proto.UnmarshalJSONEnum(FieldOptions_JSType_value, data, "FieldOptions_JSType")
  262. if err != nil {
  263. return err
  264. }
  265. *x = FieldOptions_JSType(value)
  266. return nil
  267. }
  268. func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{11, 1} }
  269. // The protocol compiler can output a FileDescriptorSet containing the .proto
  270. // files it parses.
  271. type FileDescriptorSet struct {
  272. File []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"`
  273. XXX_unrecognized []byte `json:"-"`
  274. }
  275. func (m *FileDescriptorSet) Reset() { *m = FileDescriptorSet{} }
  276. func (m *FileDescriptorSet) String() string { return proto.CompactTextString(m) }
  277. func (*FileDescriptorSet) ProtoMessage() {}
  278. func (*FileDescriptorSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
  279. func (m *FileDescriptorSet) GetFile() []*FileDescriptorProto {
  280. if m != nil {
  281. return m.File
  282. }
  283. return nil
  284. }
  285. // Describes a complete .proto file.
  286. type FileDescriptorProto struct {
  287. Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  288. Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"`
  289. // Names of files imported by this file.
  290. Dependency []string `protobuf:"bytes,3,rep,name=dependency" json:"dependency,omitempty"`
  291. // Indexes of the public imported files in the dependency list above.
  292. PublicDependency []int32 `protobuf:"varint,10,rep,name=public_dependency,json=publicDependency" json:"public_dependency,omitempty"`
  293. // Indexes of the weak imported files in the dependency list.
  294. // For Google-internal migration only. Do not use.
  295. WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"`
  296. // All top-level definitions in this file.
  297. MessageType []*DescriptorProto `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"`
  298. EnumType []*EnumDescriptorProto `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
  299. Service []*ServiceDescriptorProto `protobuf:"bytes,6,rep,name=service" json:"service,omitempty"`
  300. Extension []*FieldDescriptorProto `protobuf:"bytes,7,rep,name=extension" json:"extension,omitempty"`
  301. Options *FileOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
  302. // This field contains optional information about the original source code.
  303. // You may safely remove this entire field without harming runtime
  304. // functionality of the descriptors -- the information is needed only by
  305. // development tools.
  306. SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"`
  307. // The syntax of the proto file.
  308. // The supported values are "proto2" and "proto3".
  309. Syntax *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"`
  310. XXX_unrecognized []byte `json:"-"`
  311. }
  312. func (m *FileDescriptorProto) Reset() { *m = FileDescriptorProto{} }
  313. func (m *FileDescriptorProto) String() string { return proto.CompactTextString(m) }
  314. func (*FileDescriptorProto) ProtoMessage() {}
  315. func (*FileDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
  316. func (m *FileDescriptorProto) GetName() string {
  317. if m != nil && m.Name != nil {
  318. return *m.Name
  319. }
  320. return ""
  321. }
  322. func (m *FileDescriptorProto) GetPackage() string {
  323. if m != nil && m.Package != nil {
  324. return *m.Package
  325. }
  326. return ""
  327. }
  328. func (m *FileDescriptorProto) GetDependency() []string {
  329. if m != nil {
  330. return m.Dependency
  331. }
  332. return nil
  333. }
  334. func (m *FileDescriptorProto) GetPublicDependency() []int32 {
  335. if m != nil {
  336. return m.PublicDependency
  337. }
  338. return nil
  339. }
  340. func (m *FileDescriptorProto) GetWeakDependency() []int32 {
  341. if m != nil {
  342. return m.WeakDependency
  343. }
  344. return nil
  345. }
  346. func (m *FileDescriptorProto) GetMessageType() []*DescriptorProto {
  347. if m != nil {
  348. return m.MessageType
  349. }
  350. return nil
  351. }
  352. func (m *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto {
  353. if m != nil {
  354. return m.EnumType
  355. }
  356. return nil
  357. }
  358. func (m *FileDescriptorProto) GetService() []*ServiceDescriptorProto {
  359. if m != nil {
  360. return m.Service
  361. }
  362. return nil
  363. }
  364. func (m *FileDescriptorProto) GetExtension() []*FieldDescriptorProto {
  365. if m != nil {
  366. return m.Extension
  367. }
  368. return nil
  369. }
  370. func (m *FileDescriptorProto) GetOptions() *FileOptions {
  371. if m != nil {
  372. return m.Options
  373. }
  374. return nil
  375. }
  376. func (m *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo {
  377. if m != nil {
  378. return m.SourceCodeInfo
  379. }
  380. return nil
  381. }
  382. func (m *FileDescriptorProto) GetSyntax() string {
  383. if m != nil && m.Syntax != nil {
  384. return *m.Syntax
  385. }
  386. return ""
  387. }
  388. // Describes a message type.
  389. type DescriptorProto struct {
  390. Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  391. Field []*FieldDescriptorProto `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"`
  392. Extension []*FieldDescriptorProto `protobuf:"bytes,6,rep,name=extension" json:"extension,omitempty"`
  393. NestedType []*DescriptorProto `protobuf:"bytes,3,rep,name=nested_type,json=nestedType" json:"nested_type,omitempty"`
  394. EnumType []*EnumDescriptorProto `protobuf:"bytes,4,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
  395. ExtensionRange []*DescriptorProto_ExtensionRange `protobuf:"bytes,5,rep,name=extension_range,json=extensionRange" json:"extension_range,omitempty"`
  396. OneofDecl []*OneofDescriptorProto `protobuf:"bytes,8,rep,name=oneof_decl,json=oneofDecl" json:"oneof_decl,omitempty"`
  397. Options *MessageOptions `protobuf:"bytes,7,opt,name=options" json:"options,omitempty"`
  398. ReservedRange []*DescriptorProto_ReservedRange `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
  399. // Reserved field names, which may not be used by fields in the same message.
  400. // A given name may only be reserved once.
  401. ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
  402. XXX_unrecognized []byte `json:"-"`
  403. }
  404. func (m *DescriptorProto) Reset() { *m = DescriptorProto{} }
  405. func (m *DescriptorProto) String() string { return proto.CompactTextString(m) }
  406. func (*DescriptorProto) ProtoMessage() {}
  407. func (*DescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
  408. func (m *DescriptorProto) GetName() string {
  409. if m != nil && m.Name != nil {
  410. return *m.Name
  411. }
  412. return ""
  413. }
  414. func (m *DescriptorProto) GetField() []*FieldDescriptorProto {
  415. if m != nil {
  416. return m.Field
  417. }
  418. return nil
  419. }
  420. func (m *DescriptorProto) GetExtension() []*FieldDescriptorProto {
  421. if m != nil {
  422. return m.Extension
  423. }
  424. return nil
  425. }
  426. func (m *DescriptorProto) GetNestedType() []*DescriptorProto {
  427. if m != nil {
  428. return m.NestedType
  429. }
  430. return nil
  431. }
  432. func (m *DescriptorProto) GetEnumType() []*EnumDescriptorProto {
  433. if m != nil {
  434. return m.EnumType
  435. }
  436. return nil
  437. }
  438. func (m *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange {
  439. if m != nil {
  440. return m.ExtensionRange
  441. }
  442. return nil
  443. }
  444. func (m *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto {
  445. if m != nil {
  446. return m.OneofDecl
  447. }
  448. return nil
  449. }
  450. func (m *DescriptorProto) GetOptions() *MessageOptions {
  451. if m != nil {
  452. return m.Options
  453. }
  454. return nil
  455. }
  456. func (m *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange {
  457. if m != nil {
  458. return m.ReservedRange
  459. }
  460. return nil
  461. }
  462. func (m *DescriptorProto) GetReservedName() []string {
  463. if m != nil {
  464. return m.ReservedName
  465. }
  466. return nil
  467. }
  468. type DescriptorProto_ExtensionRange struct {
  469. Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
  470. End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
  471. XXX_unrecognized []byte `json:"-"`
  472. }
  473. func (m *DescriptorProto_ExtensionRange) Reset() { *m = DescriptorProto_ExtensionRange{} }
  474. func (m *DescriptorProto_ExtensionRange) String() string { return proto.CompactTextString(m) }
  475. func (*DescriptorProto_ExtensionRange) ProtoMessage() {}
  476. func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) {
  477. return fileDescriptor0, []int{2, 0}
  478. }
  479. func (m *DescriptorProto_ExtensionRange) GetStart() int32 {
  480. if m != nil && m.Start != nil {
  481. return *m.Start
  482. }
  483. return 0
  484. }
  485. func (m *DescriptorProto_ExtensionRange) GetEnd() int32 {
  486. if m != nil && m.End != nil {
  487. return *m.End
  488. }
  489. return 0
  490. }
  491. // Range of reserved tag numbers. Reserved tag numbers may not be used by
  492. // fields or extension ranges in the same message. Reserved ranges may
  493. // not overlap.
  494. type DescriptorProto_ReservedRange struct {
  495. Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
  496. End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
  497. XXX_unrecognized []byte `json:"-"`
  498. }
  499. func (m *DescriptorProto_ReservedRange) Reset() { *m = DescriptorProto_ReservedRange{} }
  500. func (m *DescriptorProto_ReservedRange) String() string { return proto.CompactTextString(m) }
  501. func (*DescriptorProto_ReservedRange) ProtoMessage() {}
  502. func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) {
  503. return fileDescriptor0, []int{2, 1}
  504. }
  505. func (m *DescriptorProto_ReservedRange) GetStart() int32 {
  506. if m != nil && m.Start != nil {
  507. return *m.Start
  508. }
  509. return 0
  510. }
  511. func (m *DescriptorProto_ReservedRange) GetEnd() int32 {
  512. if m != nil && m.End != nil {
  513. return *m.End
  514. }
  515. return 0
  516. }
  517. // Describes a field within a message.
  518. type FieldDescriptorProto struct {
  519. Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  520. Number *int32 `protobuf:"varint,3,opt,name=number" json:"number,omitempty"`
  521. Label *FieldDescriptorProto_Label `protobuf:"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label" json:"label,omitempty"`
  522. // If type_name is set, this need not be set. If both this and type_name
  523. // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
  524. Type *FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type" json:"type,omitempty"`
  525. // For message and enum types, this is the name of the type. If the name
  526. // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping
  527. // rules are used to find the type (i.e. first the nested types within this
  528. // message are searched, then within the parent, on up to the root
  529. // namespace).
  530. TypeName *string `protobuf:"bytes,6,opt,name=type_name,json=typeName" json:"type_name,omitempty"`
  531. // For extensions, this is the name of the type being extended. It is
  532. // resolved in the same manner as type_name.
  533. Extendee *string `protobuf:"bytes,2,opt,name=extendee" json:"extendee,omitempty"`
  534. // For numeric types, contains the original text representation of the value.
  535. // For booleans, "true" or "false".
  536. // For strings, contains the default text contents (not escaped in any way).
  537. // For bytes, contains the C escaped value. All bytes >= 128 are escaped.
  538. // TODO(kenton): Base-64 encode?
  539. DefaultValue *string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue" json:"default_value,omitempty"`
  540. // If set, gives the index of a oneof in the containing type's oneof_decl
  541. // list. This field is a member of that oneof.
  542. OneofIndex *int32 `protobuf:"varint,9,opt,name=oneof_index,json=oneofIndex" json:"oneof_index,omitempty"`
  543. // JSON name of this field. The value is set by protocol compiler. If the
  544. // user has set a "json_name" option on this field, that option's value
  545. // will be used. Otherwise, it's deduced from the field's name by converting
  546. // it to camelCase.
  547. JsonName *string `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"`
  548. Options *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
  549. XXX_unrecognized []byte `json:"-"`
  550. }
  551. func (m *FieldDescriptorProto) Reset() { *m = FieldDescriptorProto{} }
  552. func (m *FieldDescriptorProto) String() string { return proto.CompactTextString(m) }
  553. func (*FieldDescriptorProto) ProtoMessage() {}
  554. func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
  555. func (m *FieldDescriptorProto) GetName() string {
  556. if m != nil && m.Name != nil {
  557. return *m.Name
  558. }
  559. return ""
  560. }
  561. func (m *FieldDescriptorProto) GetNumber() int32 {
  562. if m != nil && m.Number != nil {
  563. return *m.Number
  564. }
  565. return 0
  566. }
  567. func (m *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label {
  568. if m != nil && m.Label != nil {
  569. return *m.Label
  570. }
  571. return FieldDescriptorProto_LABEL_OPTIONAL
  572. }
  573. func (m *FieldDescriptorProto) GetType() FieldDescriptorProto_Type {
  574. if m != nil && m.Type != nil {
  575. return *m.Type
  576. }
  577. return FieldDescriptorProto_TYPE_DOUBLE
  578. }
  579. func (m *FieldDescriptorProto) GetTypeName() string {
  580. if m != nil && m.TypeName != nil {
  581. return *m.TypeName
  582. }
  583. return ""
  584. }
  585. func (m *FieldDescriptorProto) GetExtendee() string {
  586. if m != nil && m.Extendee != nil {
  587. return *m.Extendee
  588. }
  589. return ""
  590. }
  591. func (m *FieldDescriptorProto) GetDefaultValue() string {
  592. if m != nil && m.DefaultValue != nil {
  593. return *m.DefaultValue
  594. }
  595. return ""
  596. }
  597. func (m *FieldDescriptorProto) GetOneofIndex() int32 {
  598. if m != nil && m.OneofIndex != nil {
  599. return *m.OneofIndex
  600. }
  601. return 0
  602. }
  603. func (m *FieldDescriptorProto) GetJsonName() string {
  604. if m != nil && m.JsonName != nil {
  605. return *m.JsonName
  606. }
  607. return ""
  608. }
  609. func (m *FieldDescriptorProto) GetOptions() *FieldOptions {
  610. if m != nil {
  611. return m.Options
  612. }
  613. return nil
  614. }
  615. // Describes a oneof.
  616. type OneofDescriptorProto struct {
  617. Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  618. Options *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"`
  619. XXX_unrecognized []byte `json:"-"`
  620. }
  621. func (m *OneofDescriptorProto) Reset() { *m = OneofDescriptorProto{} }
  622. func (m *OneofDescriptorProto) String() string { return proto.CompactTextString(m) }
  623. func (*OneofDescriptorProto) ProtoMessage() {}
  624. func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
  625. func (m *OneofDescriptorProto) GetName() string {
  626. if m != nil && m.Name != nil {
  627. return *m.Name
  628. }
  629. return ""
  630. }
  631. func (m *OneofDescriptorProto) GetOptions() *OneofOptions {
  632. if m != nil {
  633. return m.Options
  634. }
  635. return nil
  636. }
  637. // Describes an enum type.
  638. type EnumDescriptorProto struct {
  639. Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  640. Value []*EnumValueDescriptorProto `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"`
  641. Options *EnumOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
  642. XXX_unrecognized []byte `json:"-"`
  643. }
  644. func (m *EnumDescriptorProto) Reset() { *m = EnumDescriptorProto{} }
  645. func (m *EnumDescriptorProto) String() string { return proto.CompactTextString(m) }
  646. func (*EnumDescriptorProto) ProtoMessage() {}
  647. func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
  648. func (m *EnumDescriptorProto) GetName() string {
  649. if m != nil && m.Name != nil {
  650. return *m.Name
  651. }
  652. return ""
  653. }
  654. func (m *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto {
  655. if m != nil {
  656. return m.Value
  657. }
  658. return nil
  659. }
  660. func (m *EnumDescriptorProto) GetOptions() *EnumOptions {
  661. if m != nil {
  662. return m.Options
  663. }
  664. return nil
  665. }
  666. // Describes a value within an enum.
  667. type EnumValueDescriptorProto struct {
  668. Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  669. Number *int32 `protobuf:"varint,2,opt,name=number" json:"number,omitempty"`
  670. Options *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
  671. XXX_unrecognized []byte `json:"-"`
  672. }
  673. func (m *EnumValueDescriptorProto) Reset() { *m = EnumValueDescriptorProto{} }
  674. func (m *EnumValueDescriptorProto) String() string { return proto.CompactTextString(m) }
  675. func (*EnumValueDescriptorProto) ProtoMessage() {}
  676. func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
  677. func (m *EnumValueDescriptorProto) GetName() string {
  678. if m != nil && m.Name != nil {
  679. return *m.Name
  680. }
  681. return ""
  682. }
  683. func (m *EnumValueDescriptorProto) GetNumber() int32 {
  684. if m != nil && m.Number != nil {
  685. return *m.Number
  686. }
  687. return 0
  688. }
  689. func (m *EnumValueDescriptorProto) GetOptions() *EnumValueOptions {
  690. if m != nil {
  691. return m.Options
  692. }
  693. return nil
  694. }
  695. // Describes a service.
  696. type ServiceDescriptorProto struct {
  697. Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  698. Method []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"`
  699. Options *ServiceOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
  700. XXX_unrecognized []byte `json:"-"`
  701. }
  702. func (m *ServiceDescriptorProto) Reset() { *m = ServiceDescriptorProto{} }
  703. func (m *ServiceDescriptorProto) String() string { return proto.CompactTextString(m) }
  704. func (*ServiceDescriptorProto) ProtoMessage() {}
  705. func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
  706. func (m *ServiceDescriptorProto) GetName() string {
  707. if m != nil && m.Name != nil {
  708. return *m.Name
  709. }
  710. return ""
  711. }
  712. func (m *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto {
  713. if m != nil {
  714. return m.Method
  715. }
  716. return nil
  717. }
  718. func (m *ServiceDescriptorProto) GetOptions() *ServiceOptions {
  719. if m != nil {
  720. return m.Options
  721. }
  722. return nil
  723. }
  724. // Describes a method of a service.
  725. type MethodDescriptorProto struct {
  726. Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  727. // Input and output type names. These are resolved in the same way as
  728. // FieldDescriptorProto.type_name, but must refer to a message type.
  729. InputType *string `protobuf:"bytes,2,opt,name=input_type,json=inputType" json:"input_type,omitempty"`
  730. OutputType *string `protobuf:"bytes,3,opt,name=output_type,json=outputType" json:"output_type,omitempty"`
  731. Options *MethodOptions `protobuf:"bytes,4,opt,name=options" json:"options,omitempty"`
  732. // Identifies if client streams multiple client messages
  733. ClientStreaming *bool `protobuf:"varint,5,opt,name=client_streaming,json=clientStreaming,def=0" json:"client_streaming,omitempty"`
  734. // Identifies if server streams multiple server messages
  735. ServerStreaming *bool `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"`
  736. XXX_unrecognized []byte `json:"-"`
  737. }
  738. func (m *MethodDescriptorProto) Reset() { *m = MethodDescriptorProto{} }
  739. func (m *MethodDescriptorProto) String() string { return proto.CompactTextString(m) }
  740. func (*MethodDescriptorProto) ProtoMessage() {}
  741. func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
  742. const Default_MethodDescriptorProto_ClientStreaming bool = false
  743. const Default_MethodDescriptorProto_ServerStreaming bool = false
  744. func (m *MethodDescriptorProto) GetName() string {
  745. if m != nil && m.Name != nil {
  746. return *m.Name
  747. }
  748. return ""
  749. }
  750. func (m *MethodDescriptorProto) GetInputType() string {
  751. if m != nil && m.InputType != nil {
  752. return *m.InputType
  753. }
  754. return ""
  755. }
  756. func (m *MethodDescriptorProto) GetOutputType() string {
  757. if m != nil && m.OutputType != nil {
  758. return *m.OutputType
  759. }
  760. return ""
  761. }
  762. func (m *MethodDescriptorProto) GetOptions() *MethodOptions {
  763. if m != nil {
  764. return m.Options
  765. }
  766. return nil
  767. }
  768. func (m *MethodDescriptorProto) GetClientStreaming() bool {
  769. if m != nil && m.ClientStreaming != nil {
  770. return *m.ClientStreaming
  771. }
  772. return Default_MethodDescriptorProto_ClientStreaming
  773. }
  774. func (m *MethodDescriptorProto) GetServerStreaming() bool {
  775. if m != nil && m.ServerStreaming != nil {
  776. return *m.ServerStreaming
  777. }
  778. return Default_MethodDescriptorProto_ServerStreaming
  779. }
  780. type FileOptions struct {
  781. // Sets the Java package where classes generated from this .proto will be
  782. // placed. By default, the proto package is used, but this is often
  783. // inappropriate because proto packages do not normally start with backwards
  784. // domain names.
  785. JavaPackage *string `protobuf:"bytes,1,opt,name=java_package,json=javaPackage" json:"java_package,omitempty"`
  786. // If set, all the classes from the .proto file are wrapped in a single
  787. // outer class with the given name. This applies to both Proto1
  788. // (equivalent to the old "--one_java_file" option) and Proto2 (where
  789. // a .proto always translates to a single class, but you may want to
  790. // explicitly choose the class name).
  791. JavaOuterClassname *string `protobuf:"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname" json:"java_outer_classname,omitempty"`
  792. // If set true, then the Java code generator will generate a separate .java
  793. // file for each top-level message, enum, and service defined in the .proto
  794. // file. Thus, these types will *not* be nested inside the outer class
  795. // named by java_outer_classname. However, the outer class will still be
  796. // generated to contain the file's getDescriptor() method as well as any
  797. // top-level extensions defined in the file.
  798. JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"`
  799. // This option does nothing.
  800. JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"`
  801. // If set true, then the Java2 code generator will generate code that
  802. // throws an exception whenever an attempt is made to assign a non-UTF-8
  803. // byte sequence to a string field.
  804. // Message reflection will do the same.
  805. // However, an extension field still accepts non-UTF-8 byte sequences.
  806. // This option has no effect on when used with the lite runtime.
  807. JavaStringCheckUtf8 *bool `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"`
  808. OptimizeFor *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"`
  809. // Sets the Go package where structs generated from this .proto will be
  810. // placed. If omitted, the Go package will be derived from the following:
  811. // - The basename of the package import path, if provided.
  812. // - Otherwise, the package statement in the .proto file, if present.
  813. // - Otherwise, the basename of the .proto file, without extension.
  814. GoPackage *string `protobuf:"bytes,11,opt,name=go_package,json=goPackage" json:"go_package,omitempty"`
  815. // Should generic services be generated in each language? "Generic" services
  816. // are not specific to any particular RPC system. They are generated by the
  817. // main code generators in each language (without additional plugins).
  818. // Generic services were the only kind of service generation supported by
  819. // early versions of google.protobuf.
  820. //
  821. // Generic services are now considered deprecated in favor of using plugins
  822. // that generate code specific to your particular RPC system. Therefore,
  823. // these default to false. Old code which depends on generic services should
  824. // explicitly set them to true.
  825. CcGenericServices *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"`
  826. JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"`
  827. PyGenericServices *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"`
  828. // Is this file deprecated?
  829. // Depending on the target platform, this can emit Deprecated annotations
  830. // for everything in the file, or it will be completely ignored; in the very
  831. // least, this is a formalization for deprecating files.
  832. Deprecated *bool `protobuf:"varint,23,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  833. // Enables the use of arenas for the proto messages in this file. This applies
  834. // only to generated classes for C++.
  835. CcEnableArenas *bool `protobuf:"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=0" json:"cc_enable_arenas,omitempty"`
  836. // Sets the objective c class prefix which is prepended to all objective c
  837. // generated classes from this .proto. There is no default.
  838. ObjcClassPrefix *string `protobuf:"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix" json:"objc_class_prefix,omitempty"`
  839. // Namespace for generated classes; defaults to the package.
  840. CsharpNamespace *string `protobuf:"bytes,37,opt,name=csharp_namespace,json=csharpNamespace" json:"csharp_namespace,omitempty"`
  841. // The parser stores options it doesn't recognize here. See above.
  842. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  843. proto.XXX_InternalExtensions `json:"-"`
  844. XXX_unrecognized []byte `json:"-"`
  845. }
  846. func (m *FileOptions) Reset() { *m = FileOptions{} }
  847. func (m *FileOptions) String() string { return proto.CompactTextString(m) }
  848. func (*FileOptions) ProtoMessage() {}
  849. func (*FileOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
  850. var extRange_FileOptions = []proto.ExtensionRange{
  851. {1000, 536870911},
  852. }
  853. func (*FileOptions) ExtensionRangeArray() []proto.ExtensionRange {
  854. return extRange_FileOptions
  855. }
  856. const Default_FileOptions_JavaMultipleFiles bool = false
  857. const Default_FileOptions_JavaStringCheckUtf8 bool = false
  858. const Default_FileOptions_OptimizeFor FileOptions_OptimizeMode = FileOptions_SPEED
  859. const Default_FileOptions_CcGenericServices bool = false
  860. const Default_FileOptions_JavaGenericServices bool = false
  861. const Default_FileOptions_PyGenericServices bool = false
  862. const Default_FileOptions_Deprecated bool = false
  863. const Default_FileOptions_CcEnableArenas bool = false
  864. func (m *FileOptions) GetJavaPackage() string {
  865. if m != nil && m.JavaPackage != nil {
  866. return *m.JavaPackage
  867. }
  868. return ""
  869. }
  870. func (m *FileOptions) GetJavaOuterClassname() string {
  871. if m != nil && m.JavaOuterClassname != nil {
  872. return *m.JavaOuterClassname
  873. }
  874. return ""
  875. }
  876. func (m *FileOptions) GetJavaMultipleFiles() bool {
  877. if m != nil && m.JavaMultipleFiles != nil {
  878. return *m.JavaMultipleFiles
  879. }
  880. return Default_FileOptions_JavaMultipleFiles
  881. }
  882. func (m *FileOptions) GetJavaGenerateEqualsAndHash() bool {
  883. if m != nil && m.JavaGenerateEqualsAndHash != nil {
  884. return *m.JavaGenerateEqualsAndHash
  885. }
  886. return false
  887. }
  888. func (m *FileOptions) GetJavaStringCheckUtf8() bool {
  889. if m != nil && m.JavaStringCheckUtf8 != nil {
  890. return *m.JavaStringCheckUtf8
  891. }
  892. return Default_FileOptions_JavaStringCheckUtf8
  893. }
  894. func (m *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode {
  895. if m != nil && m.OptimizeFor != nil {
  896. return *m.OptimizeFor
  897. }
  898. return Default_FileOptions_OptimizeFor
  899. }
  900. func (m *FileOptions) GetGoPackage() string {
  901. if m != nil && m.GoPackage != nil {
  902. return *m.GoPackage
  903. }
  904. return ""
  905. }
  906. func (m *FileOptions) GetCcGenericServices() bool {
  907. if m != nil && m.CcGenericServices != nil {
  908. return *m.CcGenericServices
  909. }
  910. return Default_FileOptions_CcGenericServices
  911. }
  912. func (m *FileOptions) GetJavaGenericServices() bool {
  913. if m != nil && m.JavaGenericServices != nil {
  914. return *m.JavaGenericServices
  915. }
  916. return Default_FileOptions_JavaGenericServices
  917. }
  918. func (m *FileOptions) GetPyGenericServices() bool {
  919. if m != nil && m.PyGenericServices != nil {
  920. return *m.PyGenericServices
  921. }
  922. return Default_FileOptions_PyGenericServices
  923. }
  924. func (m *FileOptions) GetDeprecated() bool {
  925. if m != nil && m.Deprecated != nil {
  926. return *m.Deprecated
  927. }
  928. return Default_FileOptions_Deprecated
  929. }
  930. func (m *FileOptions) GetCcEnableArenas() bool {
  931. if m != nil && m.CcEnableArenas != nil {
  932. return *m.CcEnableArenas
  933. }
  934. return Default_FileOptions_CcEnableArenas
  935. }
  936. func (m *FileOptions) GetObjcClassPrefix() string {
  937. if m != nil && m.ObjcClassPrefix != nil {
  938. return *m.ObjcClassPrefix
  939. }
  940. return ""
  941. }
  942. func (m *FileOptions) GetCsharpNamespace() string {
  943. if m != nil && m.CsharpNamespace != nil {
  944. return *m.CsharpNamespace
  945. }
  946. return ""
  947. }
  948. func (m *FileOptions) GetUninterpretedOption() []*UninterpretedOption {
  949. if m != nil {
  950. return m.UninterpretedOption
  951. }
  952. return nil
  953. }
  954. type MessageOptions struct {
  955. // Set true to use the old proto1 MessageSet wire format for extensions.
  956. // This is provided for backwards-compatibility with the MessageSet wire
  957. // format. You should not use this for any other reason: It's less
  958. // efficient, has fewer features, and is more complicated.
  959. //
  960. // The message must be defined exactly as follows:
  961. // message Foo {
  962. // option message_set_wire_format = true;
  963. // extensions 4 to max;
  964. // }
  965. // Note that the message cannot have any defined fields; MessageSets only
  966. // have extensions.
  967. //
  968. // All extensions of your type must be singular messages; e.g. they cannot
  969. // be int32s, enums, or repeated messages.
  970. //
  971. // Because this is an option, the above two restrictions are not enforced by
  972. // the protocol compiler.
  973. MessageSetWireFormat *bool `protobuf:"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0" json:"message_set_wire_format,omitempty"`
  974. // Disables the generation of the standard "descriptor()" accessor, which can
  975. // conflict with a field of the same name. This is meant to make migration
  976. // from proto1 easier; new code should avoid fields named "descriptor".
  977. NoStandardDescriptorAccessor *bool `protobuf:"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0" json:"no_standard_descriptor_accessor,omitempty"`
  978. // Is this message deprecated?
  979. // Depending on the target platform, this can emit Deprecated annotations
  980. // for the message, or it will be completely ignored; in the very least,
  981. // this is a formalization for deprecating messages.
  982. Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  983. // Whether the message is an automatically generated map entry type for the
  984. // maps field.
  985. //
  986. // For maps fields:
  987. // map<KeyType, ValueType> map_field = 1;
  988. // The parsed descriptor looks like:
  989. // message MapFieldEntry {
  990. // option map_entry = true;
  991. // optional KeyType key = 1;
  992. // optional ValueType value = 2;
  993. // }
  994. // repeated MapFieldEntry map_field = 1;
  995. //
  996. // Implementations may choose not to generate the map_entry=true message, but
  997. // use a native map in the target language to hold the keys and values.
  998. // The reflection APIs in such implementions still need to work as
  999. // if the field is a repeated message field.
  1000. //
  1001. // NOTE: Do not set the option in .proto files. Always use the maps syntax
  1002. // instead. The option should only be implicitly set by the proto compiler
  1003. // parser.
  1004. MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"`
  1005. // The parser stores options it doesn't recognize here. See above.
  1006. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1007. proto.XXX_InternalExtensions `json:"-"`
  1008. XXX_unrecognized []byte `json:"-"`
  1009. }
  1010. func (m *MessageOptions) Reset() { *m = MessageOptions{} }
  1011. func (m *MessageOptions) String() string { return proto.CompactTextString(m) }
  1012. func (*MessageOptions) ProtoMessage() {}
  1013. func (*MessageOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
  1014. var extRange_MessageOptions = []proto.ExtensionRange{
  1015. {1000, 536870911},
  1016. }
  1017. func (*MessageOptions) ExtensionRangeArray() []proto.ExtensionRange {
  1018. return extRange_MessageOptions
  1019. }
  1020. const Default_MessageOptions_MessageSetWireFormat bool = false
  1021. const Default_MessageOptions_NoStandardDescriptorAccessor bool = false
  1022. const Default_MessageOptions_Deprecated bool = false
  1023. func (m *MessageOptions) GetMessageSetWireFormat() bool {
  1024. if m != nil && m.MessageSetWireFormat != nil {
  1025. return *m.MessageSetWireFormat
  1026. }
  1027. return Default_MessageOptions_MessageSetWireFormat
  1028. }
  1029. func (m *MessageOptions) GetNoStandardDescriptorAccessor() bool {
  1030. if m != nil && m.NoStandardDescriptorAccessor != nil {
  1031. return *m.NoStandardDescriptorAccessor
  1032. }
  1033. return Default_MessageOptions_NoStandardDescriptorAccessor
  1034. }
  1035. func (m *MessageOptions) GetDeprecated() bool {
  1036. if m != nil && m.Deprecated != nil {
  1037. return *m.Deprecated
  1038. }
  1039. return Default_MessageOptions_Deprecated
  1040. }
  1041. func (m *MessageOptions) GetMapEntry() bool {
  1042. if m != nil && m.MapEntry != nil {
  1043. return *m.MapEntry
  1044. }
  1045. return false
  1046. }
  1047. func (m *MessageOptions) GetUninterpretedOption() []*UninterpretedOption {
  1048. if m != nil {
  1049. return m.UninterpretedOption
  1050. }
  1051. return nil
  1052. }
  1053. type FieldOptions struct {
  1054. // The ctype option instructs the C++ code generator to use a different
  1055. // representation of the field than it normally would. See the specific
  1056. // options below. This option is not yet implemented in the open source
  1057. // release -- sorry, we'll try to include it in a future version!
  1058. Ctype *FieldOptions_CType `protobuf:"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0" json:"ctype,omitempty"`
  1059. // The packed option can be enabled for repeated primitive fields to enable
  1060. // a more efficient representation on the wire. Rather than repeatedly
  1061. // writing the tag and type for each element, the entire array is encoded as
  1062. // a single length-delimited blob. In proto3, only explicit setting it to
  1063. // false will avoid using packed encoding.
  1064. Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"`
  1065. // The jstype option determines the JavaScript type used for values of the
  1066. // field. The option is permitted only for 64 bit integral and fixed types
  1067. // (int64, uint64, sint64, fixed64, sfixed64). By default these types are
  1068. // represented as JavaScript strings. This avoids loss of precision that can
  1069. // happen when a large value is converted to a floating point JavaScript
  1070. // numbers. Specifying JS_NUMBER for the jstype causes the generated
  1071. // JavaScript code to use the JavaScript "number" type instead of strings.
  1072. // This option is an enum to permit additional types to be added,
  1073. // e.g. goog.math.Integer.
  1074. Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"`
  1075. // Should this field be parsed lazily? Lazy applies only to message-type
  1076. // fields. It means that when the outer message is initially parsed, the
  1077. // inner message's contents will not be parsed but instead stored in encoded
  1078. // form. The inner message will actually be parsed when it is first accessed.
  1079. //
  1080. // This is only a hint. Implementations are free to choose whether to use
  1081. // eager or lazy parsing regardless of the value of this option. However,
  1082. // setting this option true suggests that the protocol author believes that
  1083. // using lazy parsing on this field is worth the additional bookkeeping
  1084. // overhead typically needed to implement it.
  1085. //
  1086. // This option does not affect the public interface of any generated code;
  1087. // all method signatures remain the same. Furthermore, thread-safety of the
  1088. // interface is not affected by this option; const methods remain safe to
  1089. // call from multiple threads concurrently, while non-const methods continue
  1090. // to require exclusive access.
  1091. //
  1092. //
  1093. // Note that implementations may choose not to check required fields within
  1094. // a lazy sub-message. That is, calling IsInitialized() on the outer message
  1095. // may return true even if the inner message has missing required fields.
  1096. // This is necessary because otherwise the inner message would have to be
  1097. // parsed in order to perform the check, defeating the purpose of lazy
  1098. // parsing. An implementation which chooses not to check required fields
  1099. // must be consistent about it. That is, for any particular sub-message, the
  1100. // implementation must either *always* check its required fields, or *never*
  1101. // check its required fields, regardless of whether or not the message has
  1102. // been parsed.
  1103. Lazy *bool `protobuf:"varint,5,opt,name=lazy,def=0" json:"lazy,omitempty"`
  1104. // Is this field deprecated?
  1105. // Depending on the target platform, this can emit Deprecated annotations
  1106. // for accessors, or it will be completely ignored; in the very least, this
  1107. // is a formalization for deprecating fields.
  1108. Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  1109. // For Google-internal migration only. Do not use.
  1110. Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"`
  1111. // The parser stores options it doesn't recognize here. See above.
  1112. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1113. proto.XXX_InternalExtensions `json:"-"`
  1114. XXX_unrecognized []byte `json:"-"`
  1115. }
  1116. func (m *FieldOptions) Reset() { *m = FieldOptions{} }
  1117. func (m *FieldOptions) String() string { return proto.CompactTextString(m) }
  1118. func (*FieldOptions) ProtoMessage() {}
  1119. func (*FieldOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
  1120. var extRange_FieldOptions = []proto.ExtensionRange{
  1121. {1000, 536870911},
  1122. }
  1123. func (*FieldOptions) ExtensionRangeArray() []proto.ExtensionRange {
  1124. return extRange_FieldOptions
  1125. }
  1126. const Default_FieldOptions_Ctype FieldOptions_CType = FieldOptions_STRING
  1127. const Default_FieldOptions_Jstype FieldOptions_JSType = FieldOptions_JS_NORMAL
  1128. const Default_FieldOptions_Lazy bool = false
  1129. const Default_FieldOptions_Deprecated bool = false
  1130. const Default_FieldOptions_Weak bool = false
  1131. func (m *FieldOptions) GetCtype() FieldOptions_CType {
  1132. if m != nil && m.Ctype != nil {
  1133. return *m.Ctype
  1134. }
  1135. return Default_FieldOptions_Ctype
  1136. }
  1137. func (m *FieldOptions) GetPacked() bool {
  1138. if m != nil && m.Packed != nil {
  1139. return *m.Packed
  1140. }
  1141. return false
  1142. }
  1143. func (m *FieldOptions) GetJstype() FieldOptions_JSType {
  1144. if m != nil && m.Jstype != nil {
  1145. return *m.Jstype
  1146. }
  1147. return Default_FieldOptions_Jstype
  1148. }
  1149. func (m *FieldOptions) GetLazy() bool {
  1150. if m != nil && m.Lazy != nil {
  1151. return *m.Lazy
  1152. }
  1153. return Default_FieldOptions_Lazy
  1154. }
  1155. func (m *FieldOptions) GetDeprecated() bool {
  1156. if m != nil && m.Deprecated != nil {
  1157. return *m.Deprecated
  1158. }
  1159. return Default_FieldOptions_Deprecated
  1160. }
  1161. func (m *FieldOptions) GetWeak() bool {
  1162. if m != nil && m.Weak != nil {
  1163. return *m.Weak
  1164. }
  1165. return Default_FieldOptions_Weak
  1166. }
  1167. func (m *FieldOptions) GetUninterpretedOption() []*UninterpretedOption {
  1168. if m != nil {
  1169. return m.UninterpretedOption
  1170. }
  1171. return nil
  1172. }
  1173. type OneofOptions struct {
  1174. // The parser stores options it doesn't recognize here. See above.
  1175. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1176. proto.XXX_InternalExtensions `json:"-"`
  1177. XXX_unrecognized []byte `json:"-"`
  1178. }
  1179. func (m *OneofOptions) Reset() { *m = OneofOptions{} }
  1180. func (m *OneofOptions) String() string { return proto.CompactTextString(m) }
  1181. func (*OneofOptions) ProtoMessage() {}
  1182. func (*OneofOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
  1183. var extRange_OneofOptions = []proto.ExtensionRange{
  1184. {1000, 536870911},
  1185. }
  1186. func (*OneofOptions) ExtensionRangeArray() []proto.ExtensionRange {
  1187. return extRange_OneofOptions
  1188. }
  1189. func (m *OneofOptions) GetUninterpretedOption() []*UninterpretedOption {
  1190. if m != nil {
  1191. return m.UninterpretedOption
  1192. }
  1193. return nil
  1194. }
  1195. type EnumOptions struct {
  1196. // Set this option to true to allow mapping different tag names to the same
  1197. // value.
  1198. AllowAlias *bool `protobuf:"varint,2,opt,name=allow_alias,json=allowAlias" json:"allow_alias,omitempty"`
  1199. // Is this enum deprecated?
  1200. // Depending on the target platform, this can emit Deprecated annotations
  1201. // for the enum, or it will be completely ignored; in the very least, this
  1202. // is a formalization for deprecating enums.
  1203. Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  1204. // The parser stores options it doesn't recognize here. See above.
  1205. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1206. proto.XXX_InternalExtensions `json:"-"`
  1207. XXX_unrecognized []byte `json:"-"`
  1208. }
  1209. func (m *EnumOptions) Reset() { *m = EnumOptions{} }
  1210. func (m *EnumOptions) String() string { return proto.CompactTextString(m) }
  1211. func (*EnumOptions) ProtoMessage() {}
  1212. func (*EnumOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
  1213. var extRange_EnumOptions = []proto.ExtensionRange{
  1214. {1000, 536870911},
  1215. }
  1216. func (*EnumOptions) ExtensionRangeArray() []proto.ExtensionRange {
  1217. return extRange_EnumOptions
  1218. }
  1219. const Default_EnumOptions_Deprecated bool = false
  1220. func (m *EnumOptions) GetAllowAlias() bool {
  1221. if m != nil && m.AllowAlias != nil {
  1222. return *m.AllowAlias
  1223. }
  1224. return false
  1225. }
  1226. func (m *EnumOptions) GetDeprecated() bool {
  1227. if m != nil && m.Deprecated != nil {
  1228. return *m.Deprecated
  1229. }
  1230. return Default_EnumOptions_Deprecated
  1231. }
  1232. func (m *EnumOptions) GetUninterpretedOption() []*UninterpretedOption {
  1233. if m != nil {
  1234. return m.UninterpretedOption
  1235. }
  1236. return nil
  1237. }
  1238. type EnumValueOptions struct {
  1239. // Is this enum value deprecated?
  1240. // Depending on the target platform, this can emit Deprecated annotations
  1241. // for the enum value, or it will be completely ignored; in the very least,
  1242. // this is a formalization for deprecating enum values.
  1243. Deprecated *bool `protobuf:"varint,1,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  1244. // The parser stores options it doesn't recognize here. See above.
  1245. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1246. proto.XXX_InternalExtensions `json:"-"`
  1247. XXX_unrecognized []byte `json:"-"`
  1248. }
  1249. func (m *EnumValueOptions) Reset() { *m = EnumValueOptions{} }
  1250. func (m *EnumValueOptions) String() string { return proto.CompactTextString(m) }
  1251. func (*EnumValueOptions) ProtoMessage() {}
  1252. func (*EnumValueOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
  1253. var extRange_EnumValueOptions = []proto.ExtensionRange{
  1254. {1000, 536870911},
  1255. }
  1256. func (*EnumValueOptions) ExtensionRangeArray() []proto.ExtensionRange {
  1257. return extRange_EnumValueOptions
  1258. }
  1259. const Default_EnumValueOptions_Deprecated bool = false
  1260. func (m *EnumValueOptions) GetDeprecated() bool {
  1261. if m != nil && m.Deprecated != nil {
  1262. return *m.Deprecated
  1263. }
  1264. return Default_EnumValueOptions_Deprecated
  1265. }
  1266. func (m *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption {
  1267. if m != nil {
  1268. return m.UninterpretedOption
  1269. }
  1270. return nil
  1271. }
  1272. type ServiceOptions struct {
  1273. // Is this service deprecated?
  1274. // Depending on the target platform, this can emit Deprecated annotations
  1275. // for the service, or it will be completely ignored; in the very least,
  1276. // this is a formalization for deprecating services.
  1277. Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  1278. // The parser stores options it doesn't recognize here. See above.
  1279. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1280. proto.XXX_InternalExtensions `json:"-"`
  1281. XXX_unrecognized []byte `json:"-"`
  1282. }
  1283. func (m *ServiceOptions) Reset() { *m = ServiceOptions{} }
  1284. func (m *ServiceOptions) String() string { return proto.CompactTextString(m) }
  1285. func (*ServiceOptions) ProtoMessage() {}
  1286. func (*ServiceOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
  1287. var extRange_ServiceOptions = []proto.ExtensionRange{
  1288. {1000, 536870911},
  1289. }
  1290. func (*ServiceOptions) ExtensionRangeArray() []proto.ExtensionRange {
  1291. return extRange_ServiceOptions
  1292. }
  1293. const Default_ServiceOptions_Deprecated bool = false
  1294. func (m *ServiceOptions) GetDeprecated() bool {
  1295. if m != nil && m.Deprecated != nil {
  1296. return *m.Deprecated
  1297. }
  1298. return Default_ServiceOptions_Deprecated
  1299. }
  1300. func (m *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption {
  1301. if m != nil {
  1302. return m.UninterpretedOption
  1303. }
  1304. return nil
  1305. }
  1306. type MethodOptions struct {
  1307. // Is this method deprecated?
  1308. // Depending on the target platform, this can emit Deprecated annotations
  1309. // for the method, or it will be completely ignored; in the very least,
  1310. // this is a formalization for deprecating methods.
  1311. Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  1312. // The parser stores options it doesn't recognize here. See above.
  1313. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1314. proto.XXX_InternalExtensions `json:"-"`
  1315. XXX_unrecognized []byte `json:"-"`
  1316. }
  1317. func (m *MethodOptions) Reset() { *m = MethodOptions{} }
  1318. func (m *MethodOptions) String() string { return proto.CompactTextString(m) }
  1319. func (*MethodOptions) ProtoMessage() {}
  1320. func (*MethodOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
  1321. var extRange_MethodOptions = []proto.ExtensionRange{
  1322. {1000, 536870911},
  1323. }
  1324. func (*MethodOptions) ExtensionRangeArray() []proto.ExtensionRange {
  1325. return extRange_MethodOptions
  1326. }
  1327. const Default_MethodOptions_Deprecated bool = false
  1328. func (m *MethodOptions) GetDeprecated() bool {
  1329. if m != nil && m.Deprecated != nil {
  1330. return *m.Deprecated
  1331. }
  1332. return Default_MethodOptions_Deprecated
  1333. }
  1334. func (m *MethodOptions) GetUninterpretedOption() []*UninterpretedOption {
  1335. if m != nil {
  1336. return m.UninterpretedOption
  1337. }
  1338. return nil
  1339. }
  1340. // A message representing a option the parser does not recognize. This only
  1341. // appears in options protos created by the compiler::Parser class.
  1342. // DescriptorPool resolves these when building Descriptor objects. Therefore,
  1343. // options protos in descriptor objects (e.g. returned by Descriptor::options(),
  1344. // or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
  1345. // in them.
  1346. type UninterpretedOption struct {
  1347. Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"`
  1348. // The value of the uninterpreted option, in whatever type the tokenizer
  1349. // identified it as during parsing. Exactly one of these should be set.
  1350. IdentifierValue *string `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"`
  1351. PositiveIntValue *uint64 `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"`
  1352. NegativeIntValue *int64 `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"`
  1353. DoubleValue *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"`
  1354. StringValue []byte `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"`
  1355. AggregateValue *string `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"`
  1356. XXX_unrecognized []byte `json:"-"`
  1357. }
  1358. func (m *UninterpretedOption) Reset() { *m = UninterpretedOption{} }
  1359. func (m *UninterpretedOption) String() string { return proto.CompactTextString(m) }
  1360. func (*UninterpretedOption) ProtoMessage() {}
  1361. func (*UninterpretedOption) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
  1362. func (m *UninterpretedOption) GetName() []*UninterpretedOption_NamePart {
  1363. if m != nil {
  1364. return m.Name
  1365. }
  1366. return nil
  1367. }
  1368. func (m *UninterpretedOption) GetIdentifierValue() string {
  1369. if m != nil && m.IdentifierValue != nil {
  1370. return *m.IdentifierValue
  1371. }
  1372. return ""
  1373. }
  1374. func (m *UninterpretedOption) GetPositiveIntValue() uint64 {
  1375. if m != nil && m.PositiveIntValue != nil {
  1376. return *m.PositiveIntValue
  1377. }
  1378. return 0
  1379. }
  1380. func (m *UninterpretedOption) GetNegativeIntValue() int64 {
  1381. if m != nil && m.NegativeIntValue != nil {
  1382. return *m.NegativeIntValue
  1383. }
  1384. return 0
  1385. }
  1386. func (m *UninterpretedOption) GetDoubleValue() float64 {
  1387. if m != nil && m.DoubleValue != nil {
  1388. return *m.DoubleValue
  1389. }
  1390. return 0
  1391. }
  1392. func (m *UninterpretedOption) GetStringValue() []byte {
  1393. if m != nil {
  1394. return m.StringValue
  1395. }
  1396. return nil
  1397. }
  1398. func (m *UninterpretedOption) GetAggregateValue() string {
  1399. if m != nil && m.AggregateValue != nil {
  1400. return *m.AggregateValue
  1401. }
  1402. return ""
  1403. }
  1404. // The name of the uninterpreted option. Each string represents a segment in
  1405. // a dot-separated name. is_extension is true iff a segment represents an
  1406. // extension (denoted with parentheses in options specs in .proto files).
  1407. // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
  1408. // "foo.(bar.baz).qux".
  1409. type UninterpretedOption_NamePart struct {
  1410. NamePart *string `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"`
  1411. IsExtension *bool `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"`
  1412. XXX_unrecognized []byte `json:"-"`
  1413. }
  1414. func (m *UninterpretedOption_NamePart) Reset() { *m = UninterpretedOption_NamePart{} }
  1415. func (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) }
  1416. func (*UninterpretedOption_NamePart) ProtoMessage() {}
  1417. func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) {
  1418. return fileDescriptor0, []int{17, 0}
  1419. }
  1420. func (m *UninterpretedOption_NamePart) GetNamePart() string {
  1421. if m != nil && m.NamePart != nil {
  1422. return *m.NamePart
  1423. }
  1424. return ""
  1425. }
  1426. func (m *UninterpretedOption_NamePart) GetIsExtension() bool {
  1427. if m != nil && m.IsExtension != nil {
  1428. return *m.IsExtension
  1429. }
  1430. return false
  1431. }
  1432. // Encapsulates information about the original source file from which a
  1433. // FileDescriptorProto was generated.
  1434. type SourceCodeInfo struct {
  1435. // A Location identifies a piece of source code in a .proto file which
  1436. // corresponds to a particular definition. This information is intended
  1437. // to be useful to IDEs, code indexers, documentation generators, and similar
  1438. // tools.
  1439. //
  1440. // For example, say we have a file like:
  1441. // message Foo {
  1442. // optional string foo = 1;
  1443. // }
  1444. // Let's look at just the field definition:
  1445. // optional string foo = 1;
  1446. // ^ ^^ ^^ ^ ^^^
  1447. // a bc de f ghi
  1448. // We have the following locations:
  1449. // span path represents
  1450. // [a,i) [ 4, 0, 2, 0 ] The whole field definition.
  1451. // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional).
  1452. // [c,d) [ 4, 0, 2, 0, 5 ] The type (string).
  1453. // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo).
  1454. // [g,h) [ 4, 0, 2, 0, 3 ] The number (1).
  1455. //
  1456. // Notes:
  1457. // - A location may refer to a repeated field itself (i.e. not to any
  1458. // particular index within it). This is used whenever a set of elements are
  1459. // logically enclosed in a single code segment. For example, an entire
  1460. // extend block (possibly containing multiple extension definitions) will
  1461. // have an outer location whose path refers to the "extensions" repeated
  1462. // field without an index.
  1463. // - Multiple locations may have the same path. This happens when a single
  1464. // logical declaration is spread out across multiple places. The most
  1465. // obvious example is the "extend" block again -- there may be multiple
  1466. // extend blocks in the same scope, each of which will have the same path.
  1467. // - A location's span is not always a subset of its parent's span. For
  1468. // example, the "extendee" of an extension declaration appears at the
  1469. // beginning of the "extend" block and is shared by all extensions within
  1470. // the block.
  1471. // - Just because a location's span is a subset of some other location's span
  1472. // does not mean that it is a descendent. For example, a "group" defines
  1473. // both a type and a field in a single declaration. Thus, the locations
  1474. // corresponding to the type and field and their components will overlap.
  1475. // - Code which tries to interpret locations should probably be designed to
  1476. // ignore those that it doesn't understand, as more types of locations could
  1477. // be recorded in the future.
  1478. Location []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"`
  1479. XXX_unrecognized []byte `json:"-"`
  1480. }
  1481. func (m *SourceCodeInfo) Reset() { *m = SourceCodeInfo{} }
  1482. func (m *SourceCodeInfo) String() string { return proto.CompactTextString(m) }
  1483. func (*SourceCodeInfo) ProtoMessage() {}
  1484. func (*SourceCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
  1485. func (m *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location {
  1486. if m != nil {
  1487. return m.Location
  1488. }
  1489. return nil
  1490. }
  1491. type SourceCodeInfo_Location struct {
  1492. // Identifies which part of the FileDescriptorProto was defined at this
  1493. // location.
  1494. //
  1495. // Each element is a field number or an index. They form a path from
  1496. // the root FileDescriptorProto to the place where the definition. For
  1497. // example, this path:
  1498. // [ 4, 3, 2, 7, 1 ]
  1499. // refers to:
  1500. // file.message_type(3) // 4, 3
  1501. // .field(7) // 2, 7
  1502. // .name() // 1
  1503. // This is because FileDescriptorProto.message_type has field number 4:
  1504. // repeated DescriptorProto message_type = 4;
  1505. // and DescriptorProto.field has field number 2:
  1506. // repeated FieldDescriptorProto field = 2;
  1507. // and FieldDescriptorProto.name has field number 1:
  1508. // optional string name = 1;
  1509. //
  1510. // Thus, the above path gives the location of a field name. If we removed
  1511. // the last element:
  1512. // [ 4, 3, 2, 7 ]
  1513. // this path refers to the whole field declaration (from the beginning
  1514. // of the label to the terminating semicolon).
  1515. Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
  1516. // Always has exactly three or four elements: start line, start column,
  1517. // end line (optional, otherwise assumed same as start line), end column.
  1518. // These are packed into a single field for efficiency. Note that line
  1519. // and column numbers are zero-based -- typically you will want to add
  1520. // 1 to each before displaying to a user.
  1521. Span []int32 `protobuf:"varint,2,rep,packed,name=span" json:"span,omitempty"`
  1522. // If this SourceCodeInfo represents a complete declaration, these are any
  1523. // comments appearing before and after the declaration which appear to be
  1524. // attached to the declaration.
  1525. //
  1526. // A series of line comments appearing on consecutive lines, with no other
  1527. // tokens appearing on those lines, will be treated as a single comment.
  1528. //
  1529. // leading_detached_comments will keep paragraphs of comments that appear
  1530. // before (but not connected to) the current element. Each paragraph,
  1531. // separated by empty lines, will be one comment element in the repeated
  1532. // field.
  1533. //
  1534. // Only the comment content is provided; comment markers (e.g. //) are
  1535. // stripped out. For block comments, leading whitespace and an asterisk
  1536. // will be stripped from the beginning of each line other than the first.
  1537. // Newlines are included in the output.
  1538. //
  1539. // Examples:
  1540. //
  1541. // optional int32 foo = 1; // Comment attached to foo.
  1542. // // Comment attached to bar.
  1543. // optional int32 bar = 2;
  1544. //
  1545. // optional string baz = 3;
  1546. // // Comment attached to baz.
  1547. // // Another line attached to baz.
  1548. //
  1549. // // Comment attached to qux.
  1550. // //
  1551. // // Another line attached to qux.
  1552. // optional double qux = 4;
  1553. //
  1554. // // Detached comment for corge. This is not leading or trailing comments
  1555. // // to qux or corge because there are blank lines separating it from
  1556. // // both.
  1557. //
  1558. // // Detached comment for corge paragraph 2.
  1559. //
  1560. // optional string corge = 5;
  1561. // /* Block comment attached
  1562. // * to corge. Leading asterisks
  1563. // * will be removed. */
  1564. // /* Block comment attached to
  1565. // * grault. */
  1566. // optional int32 grault = 6;
  1567. //
  1568. // // ignored detached comments.
  1569. LeadingComments *string `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"`
  1570. TrailingComments *string `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"`
  1571. LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"`
  1572. XXX_unrecognized []byte `json:"-"`
  1573. }
  1574. func (m *SourceCodeInfo_Location) Reset() { *m = SourceCodeInfo_Location{} }
  1575. func (m *SourceCodeInfo_Location) String() string { return proto.CompactTextString(m) }
  1576. func (*SourceCodeInfo_Location) ProtoMessage() {}
  1577. func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18, 0} }
  1578. func (m *SourceCodeInfo_Location) GetPath() []int32 {
  1579. if m != nil {
  1580. return m.Path
  1581. }
  1582. return nil
  1583. }
  1584. func (m *SourceCodeInfo_Location) GetSpan() []int32 {
  1585. if m != nil {
  1586. return m.Span
  1587. }
  1588. return nil
  1589. }
  1590. func (m *SourceCodeInfo_Location) GetLeadingComments() string {
  1591. if m != nil && m.LeadingComments != nil {
  1592. return *m.LeadingComments
  1593. }
  1594. return ""
  1595. }
  1596. func (m *SourceCodeInfo_Location) GetTrailingComments() string {
  1597. if m != nil && m.TrailingComments != nil {
  1598. return *m.TrailingComments
  1599. }
  1600. return ""
  1601. }
  1602. func (m *SourceCodeInfo_Location) GetLeadingDetachedComments() []string {
  1603. if m != nil {
  1604. return m.LeadingDetachedComments
  1605. }
  1606. return nil
  1607. }
  1608. // Describes the relationship between generated code and its original source
  1609. // file. A GeneratedCodeInfo message is associated with only one generated
  1610. // source file, but may contain references to different source .proto files.
  1611. type GeneratedCodeInfo struct {
  1612. // An Annotation connects some span of text in generated code to an element
  1613. // of its generating .proto file.
  1614. Annotation []*GeneratedCodeInfo_Annotation `protobuf:"bytes,1,rep,name=annotation" json:"annotation,omitempty"`
  1615. XXX_unrecognized []byte `json:"-"`
  1616. }
  1617. func (m *GeneratedCodeInfo) Reset() { *m = GeneratedCodeInfo{} }
  1618. func (m *GeneratedCodeInfo) String() string { return proto.CompactTextString(m) }
  1619. func (*GeneratedCodeInfo) ProtoMessage() {}
  1620. func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
  1621. func (m *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation {
  1622. if m != nil {
  1623. return m.Annotation
  1624. }
  1625. return nil
  1626. }
  1627. type GeneratedCodeInfo_Annotation struct {
  1628. // Identifies the element in the original source .proto file. This field
  1629. // is formatted the same as SourceCodeInfo.Location.path.
  1630. Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
  1631. // Identifies the filesystem path to the original source .proto.
  1632. SourceFile *string `protobuf:"bytes,2,opt,name=source_file,json=sourceFile" json:"source_file,omitempty"`
  1633. // Identifies the starting offset in bytes in the generated code
  1634. // that relates to the identified object.
  1635. Begin *int32 `protobuf:"varint,3,opt,name=begin" json:"begin,omitempty"`
  1636. // Identifies the ending offset in bytes in the generated code that
  1637. // relates to the identified offset. The end offset should be one past
  1638. // the last relevant byte (so the length of the text = end - begin).
  1639. End *int32 `protobuf:"varint,4,opt,name=end" json:"end,omitempty"`
  1640. XXX_unrecognized []byte `json:"-"`
  1641. }
  1642. func (m *GeneratedCodeInfo_Annotation) Reset() { *m = GeneratedCodeInfo_Annotation{} }
  1643. func (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) }
  1644. func (*GeneratedCodeInfo_Annotation) ProtoMessage() {}
  1645. func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) {
  1646. return fileDescriptor0, []int{19, 0}
  1647. }
  1648. func (m *GeneratedCodeInfo_Annotation) GetPath() []int32 {
  1649. if m != nil {
  1650. return m.Path
  1651. }
  1652. return nil
  1653. }
  1654. func (m *GeneratedCodeInfo_Annotation) GetSourceFile() string {
  1655. if m != nil && m.SourceFile != nil {
  1656. return *m.SourceFile
  1657. }
  1658. return ""
  1659. }
  1660. func (m *GeneratedCodeInfo_Annotation) GetBegin() int32 {
  1661. if m != nil && m.Begin != nil {
  1662. return *m.Begin
  1663. }
  1664. return 0
  1665. }
  1666. func (m *GeneratedCodeInfo_Annotation) GetEnd() int32 {
  1667. if m != nil && m.End != nil {
  1668. return *m.End
  1669. }
  1670. return 0
  1671. }
  1672. func init() {
  1673. proto.RegisterType((*FileDescriptorSet)(nil), "google.protobuf.FileDescriptorSet")
  1674. proto.RegisterType((*FileDescriptorProto)(nil), "google.protobuf.FileDescriptorProto")
  1675. proto.RegisterType((*DescriptorProto)(nil), "google.protobuf.DescriptorProto")
  1676. proto.RegisterType((*DescriptorProto_ExtensionRange)(nil), "google.protobuf.DescriptorProto.ExtensionRange")
  1677. proto.RegisterType((*DescriptorProto_ReservedRange)(nil), "google.protobuf.DescriptorProto.ReservedRange")
  1678. proto.RegisterType((*FieldDescriptorProto)(nil), "google.protobuf.FieldDescriptorProto")
  1679. proto.RegisterType((*OneofDescriptorProto)(nil), "google.protobuf.OneofDescriptorProto")
  1680. proto.RegisterType((*EnumDescriptorProto)(nil), "google.protobuf.EnumDescriptorProto")
  1681. proto.RegisterType((*EnumValueDescriptorProto)(nil), "google.protobuf.EnumValueDescriptorProto")
  1682. proto.RegisterType((*ServiceDescriptorProto)(nil), "google.protobuf.ServiceDescriptorProto")
  1683. proto.RegisterType((*MethodDescriptorProto)(nil), "google.protobuf.MethodDescriptorProto")
  1684. proto.RegisterType((*FileOptions)(nil), "google.protobuf.FileOptions")
  1685. proto.RegisterType((*MessageOptions)(nil), "google.protobuf.MessageOptions")
  1686. proto.RegisterType((*FieldOptions)(nil), "google.protobuf.FieldOptions")
  1687. proto.RegisterType((*OneofOptions)(nil), "google.protobuf.OneofOptions")
  1688. proto.RegisterType((*EnumOptions)(nil), "google.protobuf.EnumOptions")
  1689. proto.RegisterType((*EnumValueOptions)(nil), "google.protobuf.EnumValueOptions")
  1690. proto.RegisterType((*ServiceOptions)(nil), "google.protobuf.ServiceOptions")
  1691. proto.RegisterType((*MethodOptions)(nil), "google.protobuf.MethodOptions")
  1692. proto.RegisterType((*UninterpretedOption)(nil), "google.protobuf.UninterpretedOption")
  1693. proto.RegisterType((*UninterpretedOption_NamePart)(nil), "google.protobuf.UninterpretedOption.NamePart")
  1694. proto.RegisterType((*SourceCodeInfo)(nil), "google.protobuf.SourceCodeInfo")
  1695. proto.RegisterType((*SourceCodeInfo_Location)(nil), "google.protobuf.SourceCodeInfo.Location")
  1696. proto.RegisterType((*GeneratedCodeInfo)(nil), "google.protobuf.GeneratedCodeInfo")
  1697. proto.RegisterType((*GeneratedCodeInfo_Annotation)(nil), "google.protobuf.GeneratedCodeInfo.Annotation")
  1698. proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Type", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value)
  1699. proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Label", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value)
  1700. proto.RegisterEnum("google.protobuf.FileOptions_OptimizeMode", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value)
  1701. proto.RegisterEnum("google.protobuf.FieldOptions_CType", FieldOptions_CType_name, FieldOptions_CType_value)
  1702. proto.RegisterEnum("google.protobuf.FieldOptions_JSType", FieldOptions_JSType_name, FieldOptions_JSType_value)
  1703. }
  1704. func init() { proto.RegisterFile("google/protobuf/descriptor.proto", fileDescriptor0) }
  1705. var fileDescriptor0 = []byte{
  1706. // 2295 bytes of a gzipped FileDescriptorProto
  1707. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x6f, 0x1b, 0xc7,
  1708. 0x15, 0xcf, 0xf2, 0x9f, 0xc8, 0x47, 0x8a, 0x1a, 0x8d, 0x14, 0x67, 0xad, 0xfc, 0xb1, 0xcc, 0xd8,
  1709. 0xb1, 0x6c, 0xb7, 0x74, 0x20, 0xff, 0x89, 0xa3, 0x14, 0x29, 0x28, 0x71, 0xad, 0xd0, 0x90, 0x44,
  1710. 0x76, 0x29, 0xb5, 0x4e, 0x2e, 0x8b, 0xd1, 0xee, 0x90, 0x5a, 0x7b, 0x39, 0xbb, 0xdd, 0x5d, 0xda,
  1711. 0x56, 0x4e, 0x06, 0x7a, 0xea, 0xa5, 0xe7, 0xa2, 0x2d, 0x7a, 0xc8, 0x25, 0x40, 0x3f, 0x40, 0x0f,
  1712. 0xfd, 0x0a, 0x05, 0x0a, 0xf4, 0x2b, 0x14, 0x05, 0xda, 0x6f, 0xd0, 0x6b, 0x31, 0x33, 0xbb, 0xcb,
  1713. 0x5d, 0xfe, 0x89, 0xd5, 0x00, 0x49, 0x7a, 0x12, 0xe7, 0xf7, 0x7e, 0xef, 0xcd, 0x9b, 0x37, 0x6f,
  1714. 0xde, 0xbc, 0x1d, 0xc1, 0xe6, 0xd0, 0x75, 0x87, 0x0e, 0xbd, 0xe3, 0xf9, 0x6e, 0xe8, 0x9e, 0x8e,
  1715. 0x07, 0x77, 0x2c, 0x1a, 0x98, 0xbe, 0xed, 0x85, 0xae, 0xdf, 0x14, 0x18, 0x5e, 0x91, 0x8c, 0x66,
  1716. 0xcc, 0x68, 0x1c, 0xc2, 0xea, 0x23, 0xdb, 0xa1, 0xed, 0x84, 0xd8, 0xa7, 0x21, 0x7e, 0x08, 0x85,
  1717. 0x81, 0xed, 0x50, 0x55, 0xd9, 0xcc, 0x6f, 0x55, 0xb7, 0xaf, 0x35, 0xa7, 0x94, 0x9a, 0x59, 0x8d,
  1718. 0x1e, 0x87, 0x75, 0xa1, 0xd1, 0xf8, 0x67, 0x01, 0xd6, 0xe6, 0x48, 0x31, 0x86, 0x02, 0x23, 0x23,
  1719. 0x6e, 0x51, 0xd9, 0xaa, 0xe8, 0xe2, 0x37, 0x56, 0x61, 0xc9, 0x23, 0xe6, 0x33, 0x32, 0xa4, 0x6a,
  1720. 0x4e, 0xc0, 0xf1, 0x10, 0xbf, 0x07, 0x60, 0x51, 0x8f, 0x32, 0x8b, 0x32, 0xf3, 0x5c, 0xcd, 0x6f,
  1721. 0xe6, 0xb7, 0x2a, 0x7a, 0x0a, 0xc1, 0xb7, 0x61, 0xd5, 0x1b, 0x9f, 0x3a, 0xb6, 0x69, 0xa4, 0x68,
  1722. 0xb0, 0x99, 0xdf, 0x2a, 0xea, 0x48, 0x0a, 0xda, 0x13, 0xf2, 0x0d, 0x58, 0x79, 0x41, 0xc9, 0xb3,
  1723. 0x34, 0xb5, 0x2a, 0xa8, 0x75, 0x0e, 0xa7, 0x88, 0x7b, 0x50, 0x1b, 0xd1, 0x20, 0x20, 0x43, 0x6a,
  1724. 0x84, 0xe7, 0x1e, 0x55, 0x0b, 0x62, 0xf5, 0x9b, 0x33, 0xab, 0x9f, 0x5e, 0x79, 0x35, 0xd2, 0x3a,
  1725. 0x3e, 0xf7, 0x28, 0x6e, 0x41, 0x85, 0xb2, 0xf1, 0x48, 0x5a, 0x28, 0x2e, 0x88, 0x9f, 0xc6, 0xc6,
  1726. 0xa3, 0x69, 0x2b, 0x65, 0xae, 0x16, 0x99, 0x58, 0x0a, 0xa8, 0xff, 0xdc, 0x36, 0xa9, 0x5a, 0x12,
  1727. 0x06, 0x6e, 0xcc, 0x18, 0xe8, 0x4b, 0xf9, 0xb4, 0x8d, 0x58, 0x0f, 0xef, 0x41, 0x85, 0xbe, 0x0c,
  1728. 0x29, 0x0b, 0x6c, 0x97, 0xa9, 0x4b, 0xc2, 0xc8, 0xf5, 0x39, 0xbb, 0x48, 0x1d, 0x6b, 0xda, 0xc4,
  1729. 0x44, 0x0f, 0x3f, 0x80, 0x25, 0xd7, 0x0b, 0x6d, 0x97, 0x05, 0x6a, 0x79, 0x53, 0xd9, 0xaa, 0x6e,
  1730. 0xbf, 0x33, 0x37, 0x11, 0xba, 0x92, 0xa3, 0xc7, 0x64, 0xdc, 0x01, 0x14, 0xb8, 0x63, 0xdf, 0xa4,
  1731. 0x86, 0xe9, 0x5a, 0xd4, 0xb0, 0xd9, 0xc0, 0x55, 0x2b, 0xc2, 0xc0, 0x95, 0xd9, 0x85, 0x08, 0xe2,
  1732. 0x9e, 0x6b, 0xd1, 0x0e, 0x1b, 0xb8, 0x7a, 0x3d, 0xc8, 0x8c, 0xf1, 0x25, 0x28, 0x05, 0xe7, 0x2c,
  1733. 0x24, 0x2f, 0xd5, 0x9a, 0xc8, 0x90, 0x68, 0xd4, 0xf8, 0x4f, 0x11, 0x56, 0x2e, 0x92, 0x62, 0x9f,
  1734. 0x40, 0x71, 0xc0, 0x57, 0xa9, 0xe6, 0xfe, 0x97, 0x18, 0x48, 0x9d, 0x6c, 0x10, 0x4b, 0xdf, 0x32,
  1735. 0x88, 0x2d, 0xa8, 0x32, 0x1a, 0x84, 0xd4, 0x92, 0x19, 0x91, 0xbf, 0x60, 0x4e, 0x81, 0x54, 0x9a,
  1736. 0x4d, 0xa9, 0xc2, 0xb7, 0x4a, 0xa9, 0x27, 0xb0, 0x92, 0xb8, 0x64, 0xf8, 0x84, 0x0d, 0xe3, 0xdc,
  1737. 0xbc, 0xf3, 0x3a, 0x4f, 0x9a, 0x5a, 0xac, 0xa7, 0x73, 0x35, 0xbd, 0x4e, 0x33, 0x63, 0xdc, 0x06,
  1738. 0x70, 0x19, 0x75, 0x07, 0x86, 0x45, 0x4d, 0x47, 0x2d, 0x2f, 0x88, 0x52, 0x97, 0x53, 0x66, 0xa2,
  1739. 0xe4, 0x4a, 0xd4, 0x74, 0xf0, 0xc7, 0x93, 0x54, 0x5b, 0x5a, 0x90, 0x29, 0x87, 0xf2, 0x90, 0xcd,
  1740. 0x64, 0xdb, 0x09, 0xd4, 0x7d, 0xca, 0xf3, 0x9e, 0x5a, 0xd1, 0xca, 0x2a, 0xc2, 0x89, 0xe6, 0x6b,
  1741. 0x57, 0xa6, 0x47, 0x6a, 0x72, 0x61, 0xcb, 0x7e, 0x7a, 0x88, 0xdf, 0x87, 0x04, 0x30, 0x44, 0x5a,
  1742. 0x81, 0xa8, 0x42, 0xb5, 0x18, 0x3c, 0x22, 0x23, 0xba, 0xf1, 0x10, 0xea, 0xd9, 0xf0, 0xe0, 0x75,
  1743. 0x28, 0x06, 0x21, 0xf1, 0x43, 0x91, 0x85, 0x45, 0x5d, 0x0e, 0x30, 0x82, 0x3c, 0x65, 0x96, 0xa8,
  1744. 0x72, 0x45, 0x9d, 0xff, 0xdc, 0xf8, 0x08, 0x96, 0x33, 0xd3, 0x5f, 0x54, 0xb1, 0xf1, 0xdb, 0x12,
  1745. 0xac, 0xcf, 0xcb, 0xb9, 0xb9, 0xe9, 0x7f, 0x09, 0x4a, 0x6c, 0x3c, 0x3a, 0xa5, 0xbe, 0x9a, 0x17,
  1746. 0x16, 0xa2, 0x11, 0x6e, 0x41, 0xd1, 0x21, 0xa7, 0xd4, 0x51, 0x0b, 0x9b, 0xca, 0x56, 0x7d, 0xfb,
  1747. 0xf6, 0x85, 0xb2, 0xba, 0x79, 0xc0, 0x55, 0x74, 0xa9, 0x89, 0x3f, 0x85, 0x42, 0x54, 0xe2, 0xb8,
  1748. 0x85, 0x5b, 0x17, 0xb3, 0xc0, 0x73, 0x51, 0x17, 0x7a, 0xf8, 0x6d, 0xa8, 0xf0, 0xbf, 0x32, 0xb6,
  1749. 0x25, 0xe1, 0x73, 0x99, 0x03, 0x3c, 0xae, 0x78, 0x03, 0xca, 0x22, 0xcd, 0x2c, 0x1a, 0x5f, 0x0d,
  1750. 0xc9, 0x98, 0x6f, 0x8c, 0x45, 0x07, 0x64, 0xec, 0x84, 0xc6, 0x73, 0xe2, 0x8c, 0xa9, 0x48, 0x98,
  1751. 0x8a, 0x5e, 0x8b, 0xc0, 0x9f, 0x73, 0x0c, 0x5f, 0x81, 0xaa, 0xcc, 0x4a, 0x9b, 0x59, 0xf4, 0xa5,
  1752. 0xa8, 0x3e, 0x45, 0x5d, 0x26, 0x6a, 0x87, 0x23, 0x7c, 0xfa, 0xa7, 0x81, 0xcb, 0xe2, 0xad, 0x15,
  1753. 0x53, 0x70, 0x40, 0x4c, 0xff, 0xd1, 0x74, 0xe1, 0x7b, 0x77, 0xfe, 0xf2, 0xa6, 0x73, 0xb1, 0xf1,
  1754. 0xe7, 0x1c, 0x14, 0xc4, 0x79, 0x5b, 0x81, 0xea, 0xf1, 0xe7, 0x3d, 0xcd, 0x68, 0x77, 0x4f, 0x76,
  1755. 0x0f, 0x34, 0xa4, 0xe0, 0x3a, 0x80, 0x00, 0x1e, 0x1d, 0x74, 0x5b, 0xc7, 0x28, 0x97, 0x8c, 0x3b,
  1756. 0x47, 0xc7, 0x0f, 0xee, 0xa1, 0x7c, 0xa2, 0x70, 0x22, 0x81, 0x42, 0x9a, 0x70, 0x77, 0x1b, 0x15,
  1757. 0x31, 0x82, 0x9a, 0x34, 0xd0, 0x79, 0xa2, 0xb5, 0x1f, 0xdc, 0x43, 0xa5, 0x2c, 0x72, 0x77, 0x1b,
  1758. 0x2d, 0xe1, 0x65, 0xa8, 0x08, 0x64, 0xb7, 0xdb, 0x3d, 0x40, 0xe5, 0xc4, 0x66, 0xff, 0x58, 0xef,
  1759. 0x1c, 0xed, 0xa3, 0x4a, 0x62, 0x73, 0x5f, 0xef, 0x9e, 0xf4, 0x10, 0x24, 0x16, 0x0e, 0xb5, 0x7e,
  1760. 0xbf, 0xb5, 0xaf, 0xa1, 0x6a, 0xc2, 0xd8, 0xfd, 0xfc, 0x58, 0xeb, 0xa3, 0x5a, 0xc6, 0xad, 0xbb,
  1761. 0xdb, 0x68, 0x39, 0x99, 0x42, 0x3b, 0x3a, 0x39, 0x44, 0x75, 0xbc, 0x0a, 0xcb, 0x72, 0x8a, 0xd8,
  1762. 0x89, 0x95, 0x29, 0xe8, 0xc1, 0x3d, 0x84, 0x26, 0x8e, 0x48, 0x2b, 0xab, 0x19, 0xe0, 0xc1, 0x3d,
  1763. 0x84, 0x1b, 0x7b, 0x50, 0x14, 0xd9, 0x85, 0x31, 0xd4, 0x0f, 0x5a, 0xbb, 0xda, 0x81, 0xd1, 0xed,
  1764. 0x1d, 0x77, 0xba, 0x47, 0xad, 0x03, 0xa4, 0x4c, 0x30, 0x5d, 0xfb, 0xd9, 0x49, 0x47, 0xd7, 0xda,
  1765. 0x28, 0x97, 0xc6, 0x7a, 0x5a, 0xeb, 0x58, 0x6b, 0xa3, 0x7c, 0xc3, 0x84, 0xf5, 0x79, 0x75, 0x66,
  1766. 0xee, 0xc9, 0x48, 0x6d, 0x71, 0x6e, 0xc1, 0x16, 0x0b, 0x5b, 0x33, 0x5b, 0xfc, 0x95, 0x02, 0x6b,
  1767. 0x73, 0x6a, 0xed, 0xdc, 0x49, 0x7e, 0x0a, 0x45, 0x99, 0xa2, 0xf2, 0xf6, 0xb9, 0x39, 0xb7, 0x68,
  1768. 0x8b, 0x84, 0x9d, 0xb9, 0x81, 0x84, 0x5e, 0xfa, 0x06, 0xce, 0x2f, 0xb8, 0x81, 0xb9, 0x89, 0x19,
  1769. 0x27, 0x7f, 0xa5, 0x80, 0xba, 0xc8, 0xf6, 0x6b, 0x0a, 0x45, 0x2e, 0x53, 0x28, 0x3e, 0x99, 0x76,
  1770. 0xe0, 0xea, 0xe2, 0x35, 0xcc, 0x78, 0xf1, 0xb5, 0x02, 0x97, 0xe6, 0x37, 0x2a, 0x73, 0x7d, 0xf8,
  1771. 0x14, 0x4a, 0x23, 0x1a, 0x9e, 0xb9, 0xf1, 0x65, 0xfd, 0xc1, 0x9c, 0x2b, 0x80, 0x8b, 0xa7, 0x63,
  1772. 0x15, 0x69, 0xa5, 0xef, 0x90, 0xfc, 0xa2, 0x6e, 0x43, 0x7a, 0x33, 0xe3, 0xe9, 0xaf, 0x73, 0xf0,
  1773. 0xe6, 0x5c, 0xe3, 0x73, 0x1d, 0x7d, 0x17, 0xc0, 0x66, 0xde, 0x38, 0x94, 0x17, 0xb2, 0xac, 0x4f,
  1774. 0x15, 0x81, 0x88, 0xb3, 0xcf, 0x6b, 0xcf, 0x38, 0x4c, 0xe4, 0x79, 0x21, 0x07, 0x09, 0x09, 0xc2,
  1775. 0xc3, 0x89, 0xa3, 0x05, 0xe1, 0xe8, 0x7b, 0x0b, 0x56, 0x3a, 0x73, 0xd7, 0x7d, 0x08, 0xc8, 0x74,
  1776. 0x6c, 0xca, 0x42, 0x23, 0x08, 0x7d, 0x4a, 0x46, 0x36, 0x1b, 0x8a, 0x02, 0x5c, 0xde, 0x29, 0x0e,
  1777. 0x88, 0x13, 0x50, 0x7d, 0x45, 0x8a, 0xfb, 0xb1, 0x94, 0x6b, 0x88, 0x5b, 0xc6, 0x4f, 0x69, 0x94,
  1778. 0x32, 0x1a, 0x52, 0x9c, 0x68, 0x34, 0x7e, 0xb3, 0x04, 0xd5, 0x54, 0x5b, 0x87, 0xaf, 0x42, 0xed,
  1779. 0x29, 0x79, 0x4e, 0x8c, 0xb8, 0x55, 0x97, 0x91, 0xa8, 0x72, 0xac, 0x17, 0xb5, 0xeb, 0x1f, 0xc2,
  1780. 0xba, 0xa0, 0xb8, 0xe3, 0x90, 0xfa, 0x86, 0xe9, 0x90, 0x20, 0x10, 0x41, 0x2b, 0x0b, 0x2a, 0xe6,
  1781. 0xb2, 0x2e, 0x17, 0xed, 0xc5, 0x12, 0x7c, 0x1f, 0xd6, 0x84, 0xc6, 0x68, 0xec, 0x84, 0xb6, 0xe7,
  1782. 0x50, 0x83, 0x7f, 0x3c, 0x04, 0xa2, 0x10, 0x27, 0x9e, 0xad, 0x72, 0xc6, 0x61, 0x44, 0xe0, 0x1e,
  1783. 0x05, 0xb8, 0x0d, 0xef, 0x0a, 0xb5, 0x21, 0x65, 0xd4, 0x27, 0x21, 0x35, 0xe8, 0x2f, 0xc7, 0xc4,
  1784. 0x09, 0x0c, 0xc2, 0x2c, 0xe3, 0x8c, 0x04, 0x67, 0xea, 0x3a, 0x37, 0xb0, 0x9b, 0x53, 0x15, 0xfd,
  1785. 0x32, 0x27, 0xee, 0x47, 0x3c, 0x4d, 0xd0, 0x5a, 0xcc, 0xfa, 0x8c, 0x04, 0x67, 0x78, 0x07, 0x2e,
  1786. 0x09, 0x2b, 0x41, 0xe8, 0xdb, 0x6c, 0x68, 0x98, 0x67, 0xd4, 0x7c, 0x66, 0x8c, 0xc3, 0xc1, 0x43,
  1787. 0xf5, 0xed, 0xf4, 0xfc, 0xc2, 0xc3, 0xbe, 0xe0, 0xec, 0x71, 0xca, 0x49, 0x38, 0x78, 0x88, 0xfb,
  1788. 0x50, 0xe3, 0x9b, 0x31, 0xb2, 0xbf, 0xa4, 0xc6, 0xc0, 0xf5, 0xc5, 0xcd, 0x52, 0x9f, 0x73, 0xb2,
  1789. 0x53, 0x11, 0x6c, 0x76, 0x23, 0x85, 0x43, 0xd7, 0xa2, 0x3b, 0xc5, 0x7e, 0x4f, 0xd3, 0xda, 0x7a,
  1790. 0x35, 0xb6, 0xf2, 0xc8, 0xf5, 0x79, 0x42, 0x0d, 0xdd, 0x24, 0xc0, 0x55, 0x99, 0x50, 0x43, 0x37,
  1791. 0x0e, 0xef, 0x7d, 0x58, 0x33, 0x4d, 0xb9, 0x66, 0xdb, 0x34, 0xa2, 0x16, 0x3f, 0x50, 0x51, 0x26,
  1792. 0x58, 0xa6, 0xb9, 0x2f, 0x09, 0x51, 0x8e, 0x07, 0xf8, 0x63, 0x78, 0x73, 0x12, 0xac, 0xb4, 0xe2,
  1793. 0xea, 0xcc, 0x2a, 0xa7, 0x55, 0xef, 0xc3, 0x9a, 0x77, 0x3e, 0xab, 0x88, 0x33, 0x33, 0x7a, 0xe7,
  1794. 0xd3, 0x6a, 0xd7, 0xc5, 0x67, 0x9b, 0x4f, 0x4d, 0x12, 0x52, 0x4b, 0x7d, 0x2b, 0xcd, 0x4e, 0x09,
  1795. 0xf0, 0x1d, 0x40, 0xa6, 0x69, 0x50, 0x46, 0x4e, 0x1d, 0x6a, 0x10, 0x9f, 0x32, 0x12, 0xa8, 0x57,
  1796. 0xd2, 0xe4, 0xba, 0x69, 0x6a, 0x42, 0xda, 0x12, 0x42, 0x7c, 0x0b, 0x56, 0xdd, 0xd3, 0xa7, 0xa6,
  1797. 0xcc, 0x2c, 0xc3, 0xf3, 0xe9, 0xc0, 0x7e, 0xa9, 0x5e, 0x13, 0x61, 0x5a, 0xe1, 0x02, 0x91, 0x57,
  1798. 0x3d, 0x01, 0xe3, 0x9b, 0x80, 0xcc, 0xe0, 0x8c, 0xf8, 0x9e, 0xb8, 0xda, 0x03, 0x8f, 0x98, 0x54,
  1799. 0xbd, 0x2e, 0xa9, 0x12, 0x3f, 0x8a, 0x61, 0xfc, 0x04, 0xd6, 0xc7, 0xcc, 0x66, 0x21, 0xf5, 0x3d,
  1800. 0x9f, 0xf2, 0x0e, 0x5d, 0x1e, 0x33, 0xf5, 0x5f, 0x4b, 0x0b, 0x7a, 0xec, 0x93, 0x34, 0x5b, 0xee,
  1801. 0xae, 0xbe, 0x36, 0x9e, 0x05, 0x1b, 0x3b, 0x50, 0x4b, 0x6f, 0x3a, 0xae, 0x80, 0xdc, 0x76, 0xa4,
  1802. 0xf0, 0x0b, 0x74, 0xaf, 0xdb, 0xe6, 0x57, 0xdf, 0x17, 0x1a, 0xca, 0xf1, 0x2b, 0xf8, 0xa0, 0x73,
  1803. 0xac, 0x19, 0xfa, 0xc9, 0xd1, 0x71, 0xe7, 0x50, 0x43, 0xf9, 0x5b, 0x95, 0xf2, 0xbf, 0x97, 0xd0,
  1804. 0xab, 0x57, 0xaf, 0x5e, 0xe5, 0x1e, 0x17, 0xca, 0x1f, 0xa0, 0x1b, 0x8d, 0xbf, 0xe6, 0xa0, 0x9e,
  1805. 0x6d, 0x7e, 0xf1, 0x4f, 0xe0, 0xad, 0xf8, 0x4b, 0x35, 0xa0, 0xa1, 0xf1, 0xc2, 0xf6, 0x45, 0x36,
  1806. 0x8e, 0x88, 0x6c, 0x1f, 0x93, 0x40, 0xae, 0x47, 0xac, 0x3e, 0x0d, 0x7f, 0x61, 0xfb, 0x3c, 0xd7,
  1807. 0x46, 0x24, 0xc4, 0x07, 0x70, 0x85, 0xb9, 0x46, 0x10, 0x12, 0x66, 0x11, 0xdf, 0x32, 0x26, 0x6f,
  1808. 0x04, 0x06, 0x31, 0x4d, 0x1a, 0x04, 0xae, 0xbc, 0x05, 0x12, 0x2b, 0xef, 0x30, 0xb7, 0x1f, 0x91,
  1809. 0x27, 0xe5, 0xb1, 0x15, 0x51, 0xa7, 0x36, 0x3d, 0xbf, 0x68, 0xd3, 0xdf, 0x86, 0xca, 0x88, 0x78,
  1810. 0x06, 0x65, 0xa1, 0x7f, 0x2e, 0x5a, 0xb6, 0xb2, 0x5e, 0x1e, 0x11, 0x4f, 0xe3, 0xe3, 0xef, 0x6e,
  1811. 0x27, 0xb2, 0xd1, 0x2c, 0xa3, 0x4a, 0xe3, 0x1f, 0x79, 0xa8, 0xa5, 0x9b, 0x37, 0xde, 0x0b, 0x9b,
  1812. 0xa2, 0x50, 0x2b, 0xe2, 0x28, 0xbf, 0xff, 0x8d, 0xad, 0x5e, 0x73, 0x8f, 0x57, 0xf0, 0x9d, 0x92,
  1813. 0x6c, 0xa9, 0x74, 0xa9, 0xc9, 0x6f, 0x4f, 0x7e, 0x78, 0xa9, 0x6c, 0xd4, 0xcb, 0x7a, 0x34, 0xc2,
  1814. 0xfb, 0x50, 0x7a, 0x1a, 0x08, 0xdb, 0x25, 0x61, 0xfb, 0xda, 0x37, 0xdb, 0x7e, 0xdc, 0x17, 0xc6,
  1815. 0x2b, 0x8f, 0xfb, 0xc6, 0x51, 0x57, 0x3f, 0x6c, 0x1d, 0xe8, 0x91, 0x3a, 0xbe, 0x0c, 0x05, 0x87,
  1816. 0x7c, 0x79, 0x9e, 0xad, 0xf5, 0x02, 0xba, 0x68, 0xf8, 0x2f, 0x43, 0xe1, 0x05, 0x25, 0xcf, 0xb2,
  1817. 0x15, 0x56, 0x40, 0xdf, 0xe1, 0x31, 0xb8, 0x03, 0x45, 0x11, 0x2f, 0x0c, 0x10, 0x45, 0x0c, 0xbd,
  1818. 0x81, 0xcb, 0x50, 0xd8, 0xeb, 0xea, 0xfc, 0x28, 0x20, 0xa8, 0x49, 0xd4, 0xe8, 0x75, 0xb4, 0x3d,
  1819. 0x0d, 0xe5, 0x1a, 0xf7, 0xa1, 0x24, 0x83, 0xc0, 0x8f, 0x49, 0x12, 0x06, 0xf4, 0x46, 0x34, 0x8c,
  1820. 0x6c, 0x28, 0xb1, 0xf4, 0xe4, 0x70, 0x57, 0xd3, 0x51, 0x2e, 0xbb, 0xc9, 0x05, 0x54, 0x6c, 0x04,
  1821. 0x50, 0x4b, 0x77, 0x6f, 0xdf, 0x4b, 0x7e, 0x35, 0xfe, 0xa2, 0x40, 0x35, 0xd5, 0x8d, 0xf1, 0x3e,
  1822. 0x80, 0x38, 0x8e, 0xfb, 0xc2, 0x20, 0x8e, 0x4d, 0x82, 0x28, 0x35, 0x40, 0x40, 0x2d, 0x8e, 0x5c,
  1823. 0x74, 0xeb, 0xbe, 0x17, 0xe7, 0xff, 0xa8, 0x00, 0x9a, 0xee, 0xe4, 0xa6, 0x1c, 0x54, 0x7e, 0x50,
  1824. 0x07, 0xff, 0xa0, 0x40, 0x3d, 0xdb, 0xbe, 0x4d, 0xb9, 0x77, 0xf5, 0x07, 0x75, 0xef, 0xf7, 0x0a,
  1825. 0x2c, 0x67, 0x9a, 0xb6, 0xff, 0x2b, 0xef, 0x7e, 0x97, 0x87, 0xb5, 0x39, 0x7a, 0xb8, 0x15, 0x75,
  1826. 0xb7, 0xb2, 0xe1, 0xfe, 0xf1, 0x45, 0xe6, 0x6a, 0xf2, 0xfb, 0xb3, 0x47, 0xfc, 0x30, 0x6a, 0x86,
  1827. 0x6f, 0x02, 0xb2, 0x2d, 0xca, 0x42, 0x7b, 0x60, 0x53, 0x3f, 0xfa, 0x22, 0x97, 0x2d, 0xef, 0xca,
  1828. 0x04, 0x97, 0x1f, 0xe5, 0x3f, 0x02, 0xec, 0xb9, 0x81, 0x1d, 0xda, 0xcf, 0xa9, 0x61, 0xb3, 0xf8,
  1829. 0xf3, 0x9d, 0xb7, 0xc0, 0x05, 0x1d, 0xc5, 0x92, 0x0e, 0x0b, 0x13, 0x36, 0xa3, 0x43, 0x32, 0xc5,
  1830. 0xe6, 0x15, 0x30, 0xaf, 0xa3, 0x58, 0x92, 0xb0, 0xaf, 0x42, 0xcd, 0x72, 0xc7, 0xbc, 0xa1, 0x90,
  1831. 0x3c, 0x5e, 0x70, 0x15, 0xbd, 0x2a, 0xb1, 0x84, 0x12, 0x75, 0x7c, 0x93, 0x77, 0x83, 0x9a, 0x5e,
  1832. 0x95, 0x98, 0xa4, 0xdc, 0x80, 0x15, 0x32, 0x1c, 0xfa, 0xdc, 0x78, 0x6c, 0x48, 0xf6, 0xb0, 0xf5,
  1833. 0x04, 0x16, 0xc4, 0x8d, 0xc7, 0x50, 0x8e, 0xe3, 0xc0, 0x6f, 0x36, 0x1e, 0x09, 0xc3, 0x93, 0xaf,
  1834. 0x37, 0xb9, 0xad, 0x8a, 0x5e, 0x66, 0xb1, 0xf0, 0x2a, 0xd4, 0xec, 0xc0, 0x98, 0x3c, 0x23, 0xe6,
  1835. 0x36, 0x73, 0x5b, 0x65, 0xbd, 0x6a, 0x07, 0xc9, 0xbb, 0x51, 0xe3, 0xeb, 0x1c, 0xd4, 0xb3, 0xcf,
  1836. 0xa0, 0xb8, 0x0d, 0x65, 0xc7, 0x35, 0x89, 0x48, 0x04, 0xf9, 0x06, 0xbf, 0xf5, 0x9a, 0x97, 0xd3,
  1837. 0xe6, 0x41, 0xc4, 0xd7, 0x13, 0xcd, 0x8d, 0xbf, 0x29, 0x50, 0x8e, 0x61, 0x7c, 0x09, 0x0a, 0x1e,
  1838. 0x09, 0xcf, 0x84, 0xb9, 0xe2, 0x6e, 0x0e, 0x29, 0xba, 0x18, 0x73, 0x3c, 0xf0, 0x08, 0x13, 0x29,
  1839. 0x10, 0xe1, 0x7c, 0xcc, 0xf7, 0xd5, 0xa1, 0xc4, 0x12, 0x0d, 0xb2, 0x3b, 0x1a, 0x51, 0x16, 0x06,
  1840. 0xf1, 0xbe, 0x46, 0xf8, 0x5e, 0x04, 0xe3, 0xdb, 0xb0, 0x1a, 0xfa, 0xc4, 0x76, 0x32, 0xdc, 0x82,
  1841. 0xe0, 0xa2, 0x58, 0x90, 0x90, 0x77, 0xe0, 0x72, 0x6c, 0xd7, 0xa2, 0x21, 0x31, 0xcf, 0xa8, 0x35,
  1842. 0x51, 0x2a, 0x89, 0x37, 0xb6, 0xb7, 0x22, 0x42, 0x3b, 0x92, 0xc7, 0xba, 0x8d, 0xbf, 0x2b, 0xb0,
  1843. 0x1a, 0xb7, 0xf4, 0x56, 0x12, 0xac, 0x43, 0x00, 0xc2, 0x98, 0x1b, 0xa6, 0xc3, 0x35, 0x9b, 0xca,
  1844. 0x33, 0x7a, 0xcd, 0x56, 0xa2, 0xa4, 0xa7, 0x0c, 0x6c, 0x8c, 0x00, 0x26, 0x92, 0x85, 0x61, 0xbb,
  1845. 0x02, 0xd5, 0xe8, 0x8d, 0x5b, 0xfc, 0xa3, 0x44, 0x7e, 0x04, 0x82, 0x84, 0x78, 0xef, 0x8f, 0xd7,
  1846. 0xa1, 0x78, 0x4a, 0x87, 0x36, 0x8b, 0x5e, 0xde, 0xe4, 0x20, 0x7e, 0xcf, 0x2b, 0x24, 0xef, 0x79,
  1847. 0xbb, 0x4f, 0x60, 0xcd, 0x74, 0x47, 0xd3, 0xee, 0xee, 0xa2, 0xa9, 0x0f, 0xd1, 0xe0, 0x33, 0xe5,
  1848. 0x0b, 0x98, 0x74, 0x6a, 0x5f, 0xe5, 0xf2, 0xfb, 0xbd, 0xdd, 0x3f, 0xe5, 0x36, 0xf6, 0xa5, 0x5e,
  1849. 0x2f, 0x5e, 0xa6, 0x4e, 0x07, 0x0e, 0x35, 0xb9, 0xeb, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x5f,
  1850. 0x1c, 0x48, 0x4f, 0x0d, 0x1a, 0x00, 0x00,
  1851. }