criurpc.pb.go 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179
  1. // Code generated by protoc-gen-go.
  2. // source: criurpc.proto
  3. // DO NOT EDIT!
  4. /*
  5. Package criurpc is a generated protocol buffer package.
  6. It is generated from these files:
  7. criurpc.proto
  8. It has these top-level messages:
  9. CriuPageServerInfo
  10. CriuVethPair
  11. ExtMountMap
  12. JoinNamespace
  13. InheritFd
  14. CgroupRoot
  15. UnixSk
  16. CriuOpts
  17. CriuDumpResp
  18. CriuRestoreResp
  19. CriuNotify
  20. CriuFeatures
  21. CriuReq
  22. CriuResp
  23. CriuVersion
  24. */
  25. package criurpc
  26. import proto "github.com/golang/protobuf/proto"
  27. import fmt "fmt"
  28. import math "math"
  29. // Reference imports to suppress errors if they are not otherwise used.
  30. var _ = proto.Marshal
  31. var _ = fmt.Errorf
  32. var _ = math.Inf
  33. // This is a compile-time assertion to ensure that this generated file
  34. // is compatible with the proto package it is being compiled against.
  35. // A compilation error at this line likely means your copy of the
  36. // proto package needs to be updated.
  37. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  38. type CriuCgMode int32
  39. const (
  40. CriuCgMode_IGNORE CriuCgMode = 0
  41. CriuCgMode_CG_NONE CriuCgMode = 1
  42. CriuCgMode_PROPS CriuCgMode = 2
  43. CriuCgMode_SOFT CriuCgMode = 3
  44. CriuCgMode_FULL CriuCgMode = 4
  45. CriuCgMode_STRICT CriuCgMode = 5
  46. CriuCgMode_DEFAULT CriuCgMode = 6
  47. )
  48. var CriuCgMode_name = map[int32]string{
  49. 0: "IGNORE",
  50. 1: "CG_NONE",
  51. 2: "PROPS",
  52. 3: "SOFT",
  53. 4: "FULL",
  54. 5: "STRICT",
  55. 6: "DEFAULT",
  56. }
  57. var CriuCgMode_value = map[string]int32{
  58. "IGNORE": 0,
  59. "CG_NONE": 1,
  60. "PROPS": 2,
  61. "SOFT": 3,
  62. "FULL": 4,
  63. "STRICT": 5,
  64. "DEFAULT": 6,
  65. }
  66. func (x CriuCgMode) Enum() *CriuCgMode {
  67. p := new(CriuCgMode)
  68. *p = x
  69. return p
  70. }
  71. func (x CriuCgMode) String() string {
  72. return proto.EnumName(CriuCgMode_name, int32(x))
  73. }
  74. func (x *CriuCgMode) UnmarshalJSON(data []byte) error {
  75. value, err := proto.UnmarshalJSONEnum(CriuCgMode_value, data, "CriuCgMode")
  76. if err != nil {
  77. return err
  78. }
  79. *x = CriuCgMode(value)
  80. return nil
  81. }
  82. func (CriuCgMode) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
  83. type CriuReqType int32
  84. const (
  85. CriuReqType_EMPTY CriuReqType = 0
  86. CriuReqType_DUMP CriuReqType = 1
  87. CriuReqType_RESTORE CriuReqType = 2
  88. CriuReqType_CHECK CriuReqType = 3
  89. CriuReqType_PRE_DUMP CriuReqType = 4
  90. CriuReqType_PAGE_SERVER CriuReqType = 5
  91. CriuReqType_NOTIFY CriuReqType = 6
  92. CriuReqType_CPUINFO_DUMP CriuReqType = 7
  93. CriuReqType_CPUINFO_CHECK CriuReqType = 8
  94. CriuReqType_FEATURE_CHECK CriuReqType = 9
  95. CriuReqType_VERSION CriuReqType = 10
  96. )
  97. var CriuReqType_name = map[int32]string{
  98. 0: "EMPTY",
  99. 1: "DUMP",
  100. 2: "RESTORE",
  101. 3: "CHECK",
  102. 4: "PRE_DUMP",
  103. 5: "PAGE_SERVER",
  104. 6: "NOTIFY",
  105. 7: "CPUINFO_DUMP",
  106. 8: "CPUINFO_CHECK",
  107. 9: "FEATURE_CHECK",
  108. 10: "VERSION",
  109. }
  110. var CriuReqType_value = map[string]int32{
  111. "EMPTY": 0,
  112. "DUMP": 1,
  113. "RESTORE": 2,
  114. "CHECK": 3,
  115. "PRE_DUMP": 4,
  116. "PAGE_SERVER": 5,
  117. "NOTIFY": 6,
  118. "CPUINFO_DUMP": 7,
  119. "CPUINFO_CHECK": 8,
  120. "FEATURE_CHECK": 9,
  121. "VERSION": 10,
  122. }
  123. func (x CriuReqType) Enum() *CriuReqType {
  124. p := new(CriuReqType)
  125. *p = x
  126. return p
  127. }
  128. func (x CriuReqType) String() string {
  129. return proto.EnumName(CriuReqType_name, int32(x))
  130. }
  131. func (x *CriuReqType) UnmarshalJSON(data []byte) error {
  132. value, err := proto.UnmarshalJSONEnum(CriuReqType_value, data, "CriuReqType")
  133. if err != nil {
  134. return err
  135. }
  136. *x = CriuReqType(value)
  137. return nil
  138. }
  139. func (CriuReqType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
  140. type CriuPageServerInfo struct {
  141. Address *string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
  142. Port *int32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"`
  143. Pid *int32 `protobuf:"varint,3,opt,name=pid" json:"pid,omitempty"`
  144. Fd *int32 `protobuf:"varint,4,opt,name=fd" json:"fd,omitempty"`
  145. XXX_unrecognized []byte `json:"-"`
  146. }
  147. func (m *CriuPageServerInfo) Reset() { *m = CriuPageServerInfo{} }
  148. func (m *CriuPageServerInfo) String() string { return proto.CompactTextString(m) }
  149. func (*CriuPageServerInfo) ProtoMessage() {}
  150. func (*CriuPageServerInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
  151. func (m *CriuPageServerInfo) GetAddress() string {
  152. if m != nil && m.Address != nil {
  153. return *m.Address
  154. }
  155. return ""
  156. }
  157. func (m *CriuPageServerInfo) GetPort() int32 {
  158. if m != nil && m.Port != nil {
  159. return *m.Port
  160. }
  161. return 0
  162. }
  163. func (m *CriuPageServerInfo) GetPid() int32 {
  164. if m != nil && m.Pid != nil {
  165. return *m.Pid
  166. }
  167. return 0
  168. }
  169. func (m *CriuPageServerInfo) GetFd() int32 {
  170. if m != nil && m.Fd != nil {
  171. return *m.Fd
  172. }
  173. return 0
  174. }
  175. type CriuVethPair struct {
  176. IfIn *string `protobuf:"bytes,1,req,name=if_in,json=ifIn" json:"if_in,omitempty"`
  177. IfOut *string `protobuf:"bytes,2,req,name=if_out,json=ifOut" json:"if_out,omitempty"`
  178. XXX_unrecognized []byte `json:"-"`
  179. }
  180. func (m *CriuVethPair) Reset() { *m = CriuVethPair{} }
  181. func (m *CriuVethPair) String() string { return proto.CompactTextString(m) }
  182. func (*CriuVethPair) ProtoMessage() {}
  183. func (*CriuVethPair) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
  184. func (m *CriuVethPair) GetIfIn() string {
  185. if m != nil && m.IfIn != nil {
  186. return *m.IfIn
  187. }
  188. return ""
  189. }
  190. func (m *CriuVethPair) GetIfOut() string {
  191. if m != nil && m.IfOut != nil {
  192. return *m.IfOut
  193. }
  194. return ""
  195. }
  196. type ExtMountMap struct {
  197. Key *string `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
  198. Val *string `protobuf:"bytes,2,req,name=val" json:"val,omitempty"`
  199. XXX_unrecognized []byte `json:"-"`
  200. }
  201. func (m *ExtMountMap) Reset() { *m = ExtMountMap{} }
  202. func (m *ExtMountMap) String() string { return proto.CompactTextString(m) }
  203. func (*ExtMountMap) ProtoMessage() {}
  204. func (*ExtMountMap) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
  205. func (m *ExtMountMap) GetKey() string {
  206. if m != nil && m.Key != nil {
  207. return *m.Key
  208. }
  209. return ""
  210. }
  211. func (m *ExtMountMap) GetVal() string {
  212. if m != nil && m.Val != nil {
  213. return *m.Val
  214. }
  215. return ""
  216. }
  217. type JoinNamespace struct {
  218. Ns *string `protobuf:"bytes,1,req,name=ns" json:"ns,omitempty"`
  219. NsFile *string `protobuf:"bytes,2,req,name=ns_file,json=nsFile" json:"ns_file,omitempty"`
  220. ExtraOpt *string `protobuf:"bytes,3,opt,name=extra_opt,json=extraOpt" json:"extra_opt,omitempty"`
  221. XXX_unrecognized []byte `json:"-"`
  222. }
  223. func (m *JoinNamespace) Reset() { *m = JoinNamespace{} }
  224. func (m *JoinNamespace) String() string { return proto.CompactTextString(m) }
  225. func (*JoinNamespace) ProtoMessage() {}
  226. func (*JoinNamespace) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
  227. func (m *JoinNamespace) GetNs() string {
  228. if m != nil && m.Ns != nil {
  229. return *m.Ns
  230. }
  231. return ""
  232. }
  233. func (m *JoinNamespace) GetNsFile() string {
  234. if m != nil && m.NsFile != nil {
  235. return *m.NsFile
  236. }
  237. return ""
  238. }
  239. func (m *JoinNamespace) GetExtraOpt() string {
  240. if m != nil && m.ExtraOpt != nil {
  241. return *m.ExtraOpt
  242. }
  243. return ""
  244. }
  245. type InheritFd struct {
  246. Key *string `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
  247. Fd *int32 `protobuf:"varint,2,req,name=fd" json:"fd,omitempty"`
  248. XXX_unrecognized []byte `json:"-"`
  249. }
  250. func (m *InheritFd) Reset() { *m = InheritFd{} }
  251. func (m *InheritFd) String() string { return proto.CompactTextString(m) }
  252. func (*InheritFd) ProtoMessage() {}
  253. func (*InheritFd) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
  254. func (m *InheritFd) GetKey() string {
  255. if m != nil && m.Key != nil {
  256. return *m.Key
  257. }
  258. return ""
  259. }
  260. func (m *InheritFd) GetFd() int32 {
  261. if m != nil && m.Fd != nil {
  262. return *m.Fd
  263. }
  264. return 0
  265. }
  266. type CgroupRoot struct {
  267. Ctrl *string `protobuf:"bytes,1,opt,name=ctrl" json:"ctrl,omitempty"`
  268. Path *string `protobuf:"bytes,2,req,name=path" json:"path,omitempty"`
  269. XXX_unrecognized []byte `json:"-"`
  270. }
  271. func (m *CgroupRoot) Reset() { *m = CgroupRoot{} }
  272. func (m *CgroupRoot) String() string { return proto.CompactTextString(m) }
  273. func (*CgroupRoot) ProtoMessage() {}
  274. func (*CgroupRoot) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
  275. func (m *CgroupRoot) GetCtrl() string {
  276. if m != nil && m.Ctrl != nil {
  277. return *m.Ctrl
  278. }
  279. return ""
  280. }
  281. func (m *CgroupRoot) GetPath() string {
  282. if m != nil && m.Path != nil {
  283. return *m.Path
  284. }
  285. return ""
  286. }
  287. type UnixSk struct {
  288. Inode *uint32 `protobuf:"varint,1,req,name=inode" json:"inode,omitempty"`
  289. XXX_unrecognized []byte `json:"-"`
  290. }
  291. func (m *UnixSk) Reset() { *m = UnixSk{} }
  292. func (m *UnixSk) String() string { return proto.CompactTextString(m) }
  293. func (*UnixSk) ProtoMessage() {}
  294. func (*UnixSk) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
  295. func (m *UnixSk) GetInode() uint32 {
  296. if m != nil && m.Inode != nil {
  297. return *m.Inode
  298. }
  299. return 0
  300. }
  301. type CriuOpts struct {
  302. ImagesDirFd *int32 `protobuf:"varint,1,req,name=images_dir_fd,json=imagesDirFd" json:"images_dir_fd,omitempty"`
  303. Pid *int32 `protobuf:"varint,2,opt,name=pid" json:"pid,omitempty"`
  304. LeaveRunning *bool `protobuf:"varint,3,opt,name=leave_running,json=leaveRunning" json:"leave_running,omitempty"`
  305. ExtUnixSk *bool `protobuf:"varint,4,opt,name=ext_unix_sk,json=extUnixSk" json:"ext_unix_sk,omitempty"`
  306. TcpEstablished *bool `protobuf:"varint,5,opt,name=tcp_established,json=tcpEstablished" json:"tcp_established,omitempty"`
  307. EvasiveDevices *bool `protobuf:"varint,6,opt,name=evasive_devices,json=evasiveDevices" json:"evasive_devices,omitempty"`
  308. ShellJob *bool `protobuf:"varint,7,opt,name=shell_job,json=shellJob" json:"shell_job,omitempty"`
  309. FileLocks *bool `protobuf:"varint,8,opt,name=file_locks,json=fileLocks" json:"file_locks,omitempty"`
  310. LogLevel *int32 `protobuf:"varint,9,opt,name=log_level,json=logLevel,def=2" json:"log_level,omitempty"`
  311. LogFile *string `protobuf:"bytes,10,opt,name=log_file,json=logFile" json:"log_file,omitempty"`
  312. Ps *CriuPageServerInfo `protobuf:"bytes,11,opt,name=ps" json:"ps,omitempty"`
  313. NotifyScripts *bool `protobuf:"varint,12,opt,name=notify_scripts,json=notifyScripts" json:"notify_scripts,omitempty"`
  314. Root *string `protobuf:"bytes,13,opt,name=root" json:"root,omitempty"`
  315. ParentImg *string `protobuf:"bytes,14,opt,name=parent_img,json=parentImg" json:"parent_img,omitempty"`
  316. TrackMem *bool `protobuf:"varint,15,opt,name=track_mem,json=trackMem" json:"track_mem,omitempty"`
  317. AutoDedup *bool `protobuf:"varint,16,opt,name=auto_dedup,json=autoDedup" json:"auto_dedup,omitempty"`
  318. WorkDirFd *int32 `protobuf:"varint,17,opt,name=work_dir_fd,json=workDirFd" json:"work_dir_fd,omitempty"`
  319. LinkRemap *bool `protobuf:"varint,18,opt,name=link_remap,json=linkRemap" json:"link_remap,omitempty"`
  320. Veths []*CriuVethPair `protobuf:"bytes,19,rep,name=veths" json:"veths,omitempty"`
  321. CpuCap *uint32 `protobuf:"varint,20,opt,name=cpu_cap,json=cpuCap,def=4294967295" json:"cpu_cap,omitempty"`
  322. ForceIrmap *bool `protobuf:"varint,21,opt,name=force_irmap,json=forceIrmap" json:"force_irmap,omitempty"`
  323. ExecCmd []string `protobuf:"bytes,22,rep,name=exec_cmd,json=execCmd" json:"exec_cmd,omitempty"`
  324. ExtMnt []*ExtMountMap `protobuf:"bytes,23,rep,name=ext_mnt,json=extMnt" json:"ext_mnt,omitempty"`
  325. ManageCgroups *bool `protobuf:"varint,24,opt,name=manage_cgroups,json=manageCgroups" json:"manage_cgroups,omitempty"`
  326. CgRoot []*CgroupRoot `protobuf:"bytes,25,rep,name=cg_root,json=cgRoot" json:"cg_root,omitempty"`
  327. RstSibling *bool `protobuf:"varint,26,opt,name=rst_sibling,json=rstSibling" json:"rst_sibling,omitempty"`
  328. InheritFd []*InheritFd `protobuf:"bytes,27,rep,name=inherit_fd,json=inheritFd" json:"inherit_fd,omitempty"`
  329. AutoExtMnt *bool `protobuf:"varint,28,opt,name=auto_ext_mnt,json=autoExtMnt" json:"auto_ext_mnt,omitempty"`
  330. ExtSharing *bool `protobuf:"varint,29,opt,name=ext_sharing,json=extSharing" json:"ext_sharing,omitempty"`
  331. ExtMasters *bool `protobuf:"varint,30,opt,name=ext_masters,json=extMasters" json:"ext_masters,omitempty"`
  332. SkipMnt []string `protobuf:"bytes,31,rep,name=skip_mnt,json=skipMnt" json:"skip_mnt,omitempty"`
  333. EnableFs []string `protobuf:"bytes,32,rep,name=enable_fs,json=enableFs" json:"enable_fs,omitempty"`
  334. UnixSkIno []*UnixSk `protobuf:"bytes,33,rep,name=unix_sk_ino,json=unixSkIno" json:"unix_sk_ino,omitempty"`
  335. ManageCgroupsMode *CriuCgMode `protobuf:"varint,34,opt,name=manage_cgroups_mode,json=manageCgroupsMode,enum=CriuCgMode" json:"manage_cgroups_mode,omitempty"`
  336. GhostLimit *uint32 `protobuf:"varint,35,opt,name=ghost_limit,json=ghostLimit,def=1048576" json:"ghost_limit,omitempty"`
  337. IrmapScanPaths []string `protobuf:"bytes,36,rep,name=irmap_scan_paths,json=irmapScanPaths" json:"irmap_scan_paths,omitempty"`
  338. External []string `protobuf:"bytes,37,rep,name=external" json:"external,omitempty"`
  339. EmptyNs *uint32 `protobuf:"varint,38,opt,name=empty_ns,json=emptyNs" json:"empty_ns,omitempty"`
  340. JoinNs []*JoinNamespace `protobuf:"bytes,39,rep,name=join_ns,json=joinNs" json:"join_ns,omitempty"`
  341. CgroupProps *string `protobuf:"bytes,41,opt,name=cgroup_props,json=cgroupProps" json:"cgroup_props,omitempty"`
  342. CgroupPropsFile *string `protobuf:"bytes,42,opt,name=cgroup_props_file,json=cgroupPropsFile" json:"cgroup_props_file,omitempty"`
  343. CgroupDumpController []string `protobuf:"bytes,43,rep,name=cgroup_dump_controller,json=cgroupDumpController" json:"cgroup_dump_controller,omitempty"`
  344. FreezeCgroup *string `protobuf:"bytes,44,opt,name=freeze_cgroup,json=freezeCgroup" json:"freeze_cgroup,omitempty"`
  345. Timeout *uint32 `protobuf:"varint,45,opt,name=timeout" json:"timeout,omitempty"`
  346. TcpSkipInFlight *bool `protobuf:"varint,46,opt,name=tcp_skip_in_flight,json=tcpSkipInFlight" json:"tcp_skip_in_flight,omitempty"`
  347. WeakSysctls *bool `protobuf:"varint,47,opt,name=weak_sysctls,json=weakSysctls" json:"weak_sysctls,omitempty"`
  348. LazyPages *bool `protobuf:"varint,48,opt,name=lazy_pages,json=lazyPages" json:"lazy_pages,omitempty"`
  349. StatusFd *int32 `protobuf:"varint,49,opt,name=status_fd,json=statusFd" json:"status_fd,omitempty"`
  350. OrphanPtsMaster *bool `protobuf:"varint,50,opt,name=orphan_pts_master,json=orphanPtsMaster" json:"orphan_pts_master,omitempty"`
  351. XXX_unrecognized []byte `json:"-"`
  352. }
  353. func (m *CriuOpts) Reset() { *m = CriuOpts{} }
  354. func (m *CriuOpts) String() string { return proto.CompactTextString(m) }
  355. func (*CriuOpts) ProtoMessage() {}
  356. func (*CriuOpts) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
  357. const Default_CriuOpts_LogLevel int32 = 2
  358. const Default_CriuOpts_CpuCap uint32 = 4294967295
  359. const Default_CriuOpts_GhostLimit uint32 = 1048576
  360. func (m *CriuOpts) GetImagesDirFd() int32 {
  361. if m != nil && m.ImagesDirFd != nil {
  362. return *m.ImagesDirFd
  363. }
  364. return 0
  365. }
  366. func (m *CriuOpts) GetPid() int32 {
  367. if m != nil && m.Pid != nil {
  368. return *m.Pid
  369. }
  370. return 0
  371. }
  372. func (m *CriuOpts) GetLeaveRunning() bool {
  373. if m != nil && m.LeaveRunning != nil {
  374. return *m.LeaveRunning
  375. }
  376. return false
  377. }
  378. func (m *CriuOpts) GetExtUnixSk() bool {
  379. if m != nil && m.ExtUnixSk != nil {
  380. return *m.ExtUnixSk
  381. }
  382. return false
  383. }
  384. func (m *CriuOpts) GetTcpEstablished() bool {
  385. if m != nil && m.TcpEstablished != nil {
  386. return *m.TcpEstablished
  387. }
  388. return false
  389. }
  390. func (m *CriuOpts) GetEvasiveDevices() bool {
  391. if m != nil && m.EvasiveDevices != nil {
  392. return *m.EvasiveDevices
  393. }
  394. return false
  395. }
  396. func (m *CriuOpts) GetShellJob() bool {
  397. if m != nil && m.ShellJob != nil {
  398. return *m.ShellJob
  399. }
  400. return false
  401. }
  402. func (m *CriuOpts) GetFileLocks() bool {
  403. if m != nil && m.FileLocks != nil {
  404. return *m.FileLocks
  405. }
  406. return false
  407. }
  408. func (m *CriuOpts) GetLogLevel() int32 {
  409. if m != nil && m.LogLevel != nil {
  410. return *m.LogLevel
  411. }
  412. return Default_CriuOpts_LogLevel
  413. }
  414. func (m *CriuOpts) GetLogFile() string {
  415. if m != nil && m.LogFile != nil {
  416. return *m.LogFile
  417. }
  418. return ""
  419. }
  420. func (m *CriuOpts) GetPs() *CriuPageServerInfo {
  421. if m != nil {
  422. return m.Ps
  423. }
  424. return nil
  425. }
  426. func (m *CriuOpts) GetNotifyScripts() bool {
  427. if m != nil && m.NotifyScripts != nil {
  428. return *m.NotifyScripts
  429. }
  430. return false
  431. }
  432. func (m *CriuOpts) GetRoot() string {
  433. if m != nil && m.Root != nil {
  434. return *m.Root
  435. }
  436. return ""
  437. }
  438. func (m *CriuOpts) GetParentImg() string {
  439. if m != nil && m.ParentImg != nil {
  440. return *m.ParentImg
  441. }
  442. return ""
  443. }
  444. func (m *CriuOpts) GetTrackMem() bool {
  445. if m != nil && m.TrackMem != nil {
  446. return *m.TrackMem
  447. }
  448. return false
  449. }
  450. func (m *CriuOpts) GetAutoDedup() bool {
  451. if m != nil && m.AutoDedup != nil {
  452. return *m.AutoDedup
  453. }
  454. return false
  455. }
  456. func (m *CriuOpts) GetWorkDirFd() int32 {
  457. if m != nil && m.WorkDirFd != nil {
  458. return *m.WorkDirFd
  459. }
  460. return 0
  461. }
  462. func (m *CriuOpts) GetLinkRemap() bool {
  463. if m != nil && m.LinkRemap != nil {
  464. return *m.LinkRemap
  465. }
  466. return false
  467. }
  468. func (m *CriuOpts) GetVeths() []*CriuVethPair {
  469. if m != nil {
  470. return m.Veths
  471. }
  472. return nil
  473. }
  474. func (m *CriuOpts) GetCpuCap() uint32 {
  475. if m != nil && m.CpuCap != nil {
  476. return *m.CpuCap
  477. }
  478. return Default_CriuOpts_CpuCap
  479. }
  480. func (m *CriuOpts) GetForceIrmap() bool {
  481. if m != nil && m.ForceIrmap != nil {
  482. return *m.ForceIrmap
  483. }
  484. return false
  485. }
  486. func (m *CriuOpts) GetExecCmd() []string {
  487. if m != nil {
  488. return m.ExecCmd
  489. }
  490. return nil
  491. }
  492. func (m *CriuOpts) GetExtMnt() []*ExtMountMap {
  493. if m != nil {
  494. return m.ExtMnt
  495. }
  496. return nil
  497. }
  498. func (m *CriuOpts) GetManageCgroups() bool {
  499. if m != nil && m.ManageCgroups != nil {
  500. return *m.ManageCgroups
  501. }
  502. return false
  503. }
  504. func (m *CriuOpts) GetCgRoot() []*CgroupRoot {
  505. if m != nil {
  506. return m.CgRoot
  507. }
  508. return nil
  509. }
  510. func (m *CriuOpts) GetRstSibling() bool {
  511. if m != nil && m.RstSibling != nil {
  512. return *m.RstSibling
  513. }
  514. return false
  515. }
  516. func (m *CriuOpts) GetInheritFd() []*InheritFd {
  517. if m != nil {
  518. return m.InheritFd
  519. }
  520. return nil
  521. }
  522. func (m *CriuOpts) GetAutoExtMnt() bool {
  523. if m != nil && m.AutoExtMnt != nil {
  524. return *m.AutoExtMnt
  525. }
  526. return false
  527. }
  528. func (m *CriuOpts) GetExtSharing() bool {
  529. if m != nil && m.ExtSharing != nil {
  530. return *m.ExtSharing
  531. }
  532. return false
  533. }
  534. func (m *CriuOpts) GetExtMasters() bool {
  535. if m != nil && m.ExtMasters != nil {
  536. return *m.ExtMasters
  537. }
  538. return false
  539. }
  540. func (m *CriuOpts) GetSkipMnt() []string {
  541. if m != nil {
  542. return m.SkipMnt
  543. }
  544. return nil
  545. }
  546. func (m *CriuOpts) GetEnableFs() []string {
  547. if m != nil {
  548. return m.EnableFs
  549. }
  550. return nil
  551. }
  552. func (m *CriuOpts) GetUnixSkIno() []*UnixSk {
  553. if m != nil {
  554. return m.UnixSkIno
  555. }
  556. return nil
  557. }
  558. func (m *CriuOpts) GetManageCgroupsMode() CriuCgMode {
  559. if m != nil && m.ManageCgroupsMode != nil {
  560. return *m.ManageCgroupsMode
  561. }
  562. return CriuCgMode_IGNORE
  563. }
  564. func (m *CriuOpts) GetGhostLimit() uint32 {
  565. if m != nil && m.GhostLimit != nil {
  566. return *m.GhostLimit
  567. }
  568. return Default_CriuOpts_GhostLimit
  569. }
  570. func (m *CriuOpts) GetIrmapScanPaths() []string {
  571. if m != nil {
  572. return m.IrmapScanPaths
  573. }
  574. return nil
  575. }
  576. func (m *CriuOpts) GetExternal() []string {
  577. if m != nil {
  578. return m.External
  579. }
  580. return nil
  581. }
  582. func (m *CriuOpts) GetEmptyNs() uint32 {
  583. if m != nil && m.EmptyNs != nil {
  584. return *m.EmptyNs
  585. }
  586. return 0
  587. }
  588. func (m *CriuOpts) GetJoinNs() []*JoinNamespace {
  589. if m != nil {
  590. return m.JoinNs
  591. }
  592. return nil
  593. }
  594. func (m *CriuOpts) GetCgroupProps() string {
  595. if m != nil && m.CgroupProps != nil {
  596. return *m.CgroupProps
  597. }
  598. return ""
  599. }
  600. func (m *CriuOpts) GetCgroupPropsFile() string {
  601. if m != nil && m.CgroupPropsFile != nil {
  602. return *m.CgroupPropsFile
  603. }
  604. return ""
  605. }
  606. func (m *CriuOpts) GetCgroupDumpController() []string {
  607. if m != nil {
  608. return m.CgroupDumpController
  609. }
  610. return nil
  611. }
  612. func (m *CriuOpts) GetFreezeCgroup() string {
  613. if m != nil && m.FreezeCgroup != nil {
  614. return *m.FreezeCgroup
  615. }
  616. return ""
  617. }
  618. func (m *CriuOpts) GetTimeout() uint32 {
  619. if m != nil && m.Timeout != nil {
  620. return *m.Timeout
  621. }
  622. return 0
  623. }
  624. func (m *CriuOpts) GetTcpSkipInFlight() bool {
  625. if m != nil && m.TcpSkipInFlight != nil {
  626. return *m.TcpSkipInFlight
  627. }
  628. return false
  629. }
  630. func (m *CriuOpts) GetWeakSysctls() bool {
  631. if m != nil && m.WeakSysctls != nil {
  632. return *m.WeakSysctls
  633. }
  634. return false
  635. }
  636. func (m *CriuOpts) GetLazyPages() bool {
  637. if m != nil && m.LazyPages != nil {
  638. return *m.LazyPages
  639. }
  640. return false
  641. }
  642. func (m *CriuOpts) GetStatusFd() int32 {
  643. if m != nil && m.StatusFd != nil {
  644. return *m.StatusFd
  645. }
  646. return 0
  647. }
  648. func (m *CriuOpts) GetOrphanPtsMaster() bool {
  649. if m != nil && m.OrphanPtsMaster != nil {
  650. return *m.OrphanPtsMaster
  651. }
  652. return false
  653. }
  654. type CriuDumpResp struct {
  655. Restored *bool `protobuf:"varint,1,opt,name=restored" json:"restored,omitempty"`
  656. XXX_unrecognized []byte `json:"-"`
  657. }
  658. func (m *CriuDumpResp) Reset() { *m = CriuDumpResp{} }
  659. func (m *CriuDumpResp) String() string { return proto.CompactTextString(m) }
  660. func (*CriuDumpResp) ProtoMessage() {}
  661. func (*CriuDumpResp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
  662. func (m *CriuDumpResp) GetRestored() bool {
  663. if m != nil && m.Restored != nil {
  664. return *m.Restored
  665. }
  666. return false
  667. }
  668. type CriuRestoreResp struct {
  669. Pid *int32 `protobuf:"varint,1,req,name=pid" json:"pid,omitempty"`
  670. XXX_unrecognized []byte `json:"-"`
  671. }
  672. func (m *CriuRestoreResp) Reset() { *m = CriuRestoreResp{} }
  673. func (m *CriuRestoreResp) String() string { return proto.CompactTextString(m) }
  674. func (*CriuRestoreResp) ProtoMessage() {}
  675. func (*CriuRestoreResp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
  676. func (m *CriuRestoreResp) GetPid() int32 {
  677. if m != nil && m.Pid != nil {
  678. return *m.Pid
  679. }
  680. return 0
  681. }
  682. type CriuNotify struct {
  683. Script *string `protobuf:"bytes,1,opt,name=script" json:"script,omitempty"`
  684. Pid *int32 `protobuf:"varint,2,opt,name=pid" json:"pid,omitempty"`
  685. XXX_unrecognized []byte `json:"-"`
  686. }
  687. func (m *CriuNotify) Reset() { *m = CriuNotify{} }
  688. func (m *CriuNotify) String() string { return proto.CompactTextString(m) }
  689. func (*CriuNotify) ProtoMessage() {}
  690. func (*CriuNotify) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
  691. func (m *CriuNotify) GetScript() string {
  692. if m != nil && m.Script != nil {
  693. return *m.Script
  694. }
  695. return ""
  696. }
  697. func (m *CriuNotify) GetPid() int32 {
  698. if m != nil && m.Pid != nil {
  699. return *m.Pid
  700. }
  701. return 0
  702. }
  703. //
  704. // List of features which can queried via
  705. // CRIU_REQ_TYPE__FEATURE_CHECK
  706. type CriuFeatures struct {
  707. MemTrack *bool `protobuf:"varint,1,opt,name=mem_track,json=memTrack" json:"mem_track,omitempty"`
  708. LazyPages *bool `protobuf:"varint,2,opt,name=lazy_pages,json=lazyPages" json:"lazy_pages,omitempty"`
  709. XXX_unrecognized []byte `json:"-"`
  710. }
  711. func (m *CriuFeatures) Reset() { *m = CriuFeatures{} }
  712. func (m *CriuFeatures) String() string { return proto.CompactTextString(m) }
  713. func (*CriuFeatures) ProtoMessage() {}
  714. func (*CriuFeatures) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
  715. func (m *CriuFeatures) GetMemTrack() bool {
  716. if m != nil && m.MemTrack != nil {
  717. return *m.MemTrack
  718. }
  719. return false
  720. }
  721. func (m *CriuFeatures) GetLazyPages() bool {
  722. if m != nil && m.LazyPages != nil {
  723. return *m.LazyPages
  724. }
  725. return false
  726. }
  727. type CriuReq struct {
  728. Type *CriuReqType `protobuf:"varint,1,req,name=type,enum=CriuReqType" json:"type,omitempty"`
  729. Opts *CriuOpts `protobuf:"bytes,2,opt,name=opts" json:"opts,omitempty"`
  730. NotifySuccess *bool `protobuf:"varint,3,opt,name=notify_success,json=notifySuccess" json:"notify_success,omitempty"`
  731. //
  732. // When set service won't close the connection but
  733. // will wait for more req-s to appear. Works not
  734. // for all request types.
  735. KeepOpen *bool `protobuf:"varint,4,opt,name=keep_open,json=keepOpen" json:"keep_open,omitempty"`
  736. //
  737. // 'features' can be used to query which features
  738. // are supported by the installed criu/kernel
  739. // via RPC.
  740. Features *CriuFeatures `protobuf:"bytes,5,opt,name=features" json:"features,omitempty"`
  741. XXX_unrecognized []byte `json:"-"`
  742. }
  743. func (m *CriuReq) Reset() { *m = CriuReq{} }
  744. func (m *CriuReq) String() string { return proto.CompactTextString(m) }
  745. func (*CriuReq) ProtoMessage() {}
  746. func (*CriuReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
  747. func (m *CriuReq) GetType() CriuReqType {
  748. if m != nil && m.Type != nil {
  749. return *m.Type
  750. }
  751. return CriuReqType_EMPTY
  752. }
  753. func (m *CriuReq) GetOpts() *CriuOpts {
  754. if m != nil {
  755. return m.Opts
  756. }
  757. return nil
  758. }
  759. func (m *CriuReq) GetNotifySuccess() bool {
  760. if m != nil && m.NotifySuccess != nil {
  761. return *m.NotifySuccess
  762. }
  763. return false
  764. }
  765. func (m *CriuReq) GetKeepOpen() bool {
  766. if m != nil && m.KeepOpen != nil {
  767. return *m.KeepOpen
  768. }
  769. return false
  770. }
  771. func (m *CriuReq) GetFeatures() *CriuFeatures {
  772. if m != nil {
  773. return m.Features
  774. }
  775. return nil
  776. }
  777. type CriuResp struct {
  778. Type *CriuReqType `protobuf:"varint,1,req,name=type,enum=CriuReqType" json:"type,omitempty"`
  779. Success *bool `protobuf:"varint,2,req,name=success" json:"success,omitempty"`
  780. Dump *CriuDumpResp `protobuf:"bytes,3,opt,name=dump" json:"dump,omitempty"`
  781. Restore *CriuRestoreResp `protobuf:"bytes,4,opt,name=restore" json:"restore,omitempty"`
  782. Notify *CriuNotify `protobuf:"bytes,5,opt,name=notify" json:"notify,omitempty"`
  783. Ps *CriuPageServerInfo `protobuf:"bytes,6,opt,name=ps" json:"ps,omitempty"`
  784. CrErrno *int32 `protobuf:"varint,7,opt,name=cr_errno,json=crErrno" json:"cr_errno,omitempty"`
  785. Features *CriuFeatures `protobuf:"bytes,8,opt,name=features" json:"features,omitempty"`
  786. CrErrmsg *string `protobuf:"bytes,9,opt,name=cr_errmsg,json=crErrmsg" json:"cr_errmsg,omitempty"`
  787. Version *CriuVersion `protobuf:"bytes,10,opt,name=version" json:"version,omitempty"`
  788. XXX_unrecognized []byte `json:"-"`
  789. }
  790. func (m *CriuResp) Reset() { *m = CriuResp{} }
  791. func (m *CriuResp) String() string { return proto.CompactTextString(m) }
  792. func (*CriuResp) ProtoMessage() {}
  793. func (*CriuResp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
  794. func (m *CriuResp) GetType() CriuReqType {
  795. if m != nil && m.Type != nil {
  796. return *m.Type
  797. }
  798. return CriuReqType_EMPTY
  799. }
  800. func (m *CriuResp) GetSuccess() bool {
  801. if m != nil && m.Success != nil {
  802. return *m.Success
  803. }
  804. return false
  805. }
  806. func (m *CriuResp) GetDump() *CriuDumpResp {
  807. if m != nil {
  808. return m.Dump
  809. }
  810. return nil
  811. }
  812. func (m *CriuResp) GetRestore() *CriuRestoreResp {
  813. if m != nil {
  814. return m.Restore
  815. }
  816. return nil
  817. }
  818. func (m *CriuResp) GetNotify() *CriuNotify {
  819. if m != nil {
  820. return m.Notify
  821. }
  822. return nil
  823. }
  824. func (m *CriuResp) GetPs() *CriuPageServerInfo {
  825. if m != nil {
  826. return m.Ps
  827. }
  828. return nil
  829. }
  830. func (m *CriuResp) GetCrErrno() int32 {
  831. if m != nil && m.CrErrno != nil {
  832. return *m.CrErrno
  833. }
  834. return 0
  835. }
  836. func (m *CriuResp) GetFeatures() *CriuFeatures {
  837. if m != nil {
  838. return m.Features
  839. }
  840. return nil
  841. }
  842. func (m *CriuResp) GetCrErrmsg() string {
  843. if m != nil && m.CrErrmsg != nil {
  844. return *m.CrErrmsg
  845. }
  846. return ""
  847. }
  848. func (m *CriuResp) GetVersion() *CriuVersion {
  849. if m != nil {
  850. return m.Version
  851. }
  852. return nil
  853. }
  854. // Answer for criu_req_type.VERSION requests
  855. type CriuVersion struct {
  856. Major *int32 `protobuf:"varint,1,req,name=major" json:"major,omitempty"`
  857. Minor *int32 `protobuf:"varint,2,req,name=minor" json:"minor,omitempty"`
  858. Gitid *string `protobuf:"bytes,3,opt,name=gitid" json:"gitid,omitempty"`
  859. Sublevel *int32 `protobuf:"varint,4,opt,name=sublevel" json:"sublevel,omitempty"`
  860. Extra *int32 `protobuf:"varint,5,opt,name=extra" json:"extra,omitempty"`
  861. Name *string `protobuf:"bytes,6,opt,name=name" json:"name,omitempty"`
  862. XXX_unrecognized []byte `json:"-"`
  863. }
  864. func (m *CriuVersion) Reset() { *m = CriuVersion{} }
  865. func (m *CriuVersion) String() string { return proto.CompactTextString(m) }
  866. func (*CriuVersion) ProtoMessage() {}
  867. func (*CriuVersion) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
  868. func (m *CriuVersion) GetMajor() int32 {
  869. if m != nil && m.Major != nil {
  870. return *m.Major
  871. }
  872. return 0
  873. }
  874. func (m *CriuVersion) GetMinor() int32 {
  875. if m != nil && m.Minor != nil {
  876. return *m.Minor
  877. }
  878. return 0
  879. }
  880. func (m *CriuVersion) GetGitid() string {
  881. if m != nil && m.Gitid != nil {
  882. return *m.Gitid
  883. }
  884. return ""
  885. }
  886. func (m *CriuVersion) GetSublevel() int32 {
  887. if m != nil && m.Sublevel != nil {
  888. return *m.Sublevel
  889. }
  890. return 0
  891. }
  892. func (m *CriuVersion) GetExtra() int32 {
  893. if m != nil && m.Extra != nil {
  894. return *m.Extra
  895. }
  896. return 0
  897. }
  898. func (m *CriuVersion) GetName() string {
  899. if m != nil && m.Name != nil {
  900. return *m.Name
  901. }
  902. return ""
  903. }
  904. func init() {
  905. proto.RegisterType((*CriuPageServerInfo)(nil), "criu_page_server_info")
  906. proto.RegisterType((*CriuVethPair)(nil), "criu_veth_pair")
  907. proto.RegisterType((*ExtMountMap)(nil), "ext_mount_map")
  908. proto.RegisterType((*JoinNamespace)(nil), "join_namespace")
  909. proto.RegisterType((*InheritFd)(nil), "inherit_fd")
  910. proto.RegisterType((*CgroupRoot)(nil), "cgroup_root")
  911. proto.RegisterType((*UnixSk)(nil), "unix_sk")
  912. proto.RegisterType((*CriuOpts)(nil), "criu_opts")
  913. proto.RegisterType((*CriuDumpResp)(nil), "criu_dump_resp")
  914. proto.RegisterType((*CriuRestoreResp)(nil), "criu_restore_resp")
  915. proto.RegisterType((*CriuNotify)(nil), "criu_notify")
  916. proto.RegisterType((*CriuFeatures)(nil), "criu_features")
  917. proto.RegisterType((*CriuReq)(nil), "criu_req")
  918. proto.RegisterType((*CriuResp)(nil), "criu_resp")
  919. proto.RegisterType((*CriuVersion)(nil), "criu_version")
  920. proto.RegisterEnum("CriuCgMode", CriuCgMode_name, CriuCgMode_value)
  921. proto.RegisterEnum("CriuReqType", CriuReqType_name, CriuReqType_value)
  922. }
  923. func init() { proto.RegisterFile("criurpc.proto", fileDescriptor0) }
  924. var fileDescriptor0 = []byte{
  925. // 1781 bytes of a gzipped FileDescriptorProto
  926. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0xdd, 0x72, 0x5b, 0xb7,
  927. 0x11, 0x0e, 0x29, 0xfe, 0x1c, 0x82, 0x3f, 0xa6, 0x10, 0xdb, 0x81, 0x93, 0xda, 0x62, 0xe8, 0x28,
  928. 0x51, 0x15, 0x97, 0x4d, 0x58, 0x3b, 0xae, 0x33, 0xed, 0x85, 0x47, 0x22, 0x5d, 0x36, 0x92, 0xc8,
  929. 0x01, 0x25, 0xcf, 0xe4, 0x0a, 0x73, 0x74, 0x0e, 0x48, 0xc1, 0x3c, 0x7f, 0x05, 0x40, 0x45, 0xf2,
  930. 0x83, 0xf4, 0x29, 0xfa, 0x0c, 0x7d, 0x84, 0xbe, 0x4e, 0x6f, 0x3b, 0xbb, 0x00, 0x65, 0x29, 0xc9,
  931. 0xb4, 0xbd, 0xc3, 0x7e, 0x58, 0x00, 0xbb, 0xfb, 0xed, 0x0f, 0x48, 0x3b, 0xd2, 0x6a, 0xad, 0x8b,
  932. 0x68, 0x50, 0xe8, 0xdc, 0xe6, 0xfd, 0x25, 0x79, 0x00, 0x80, 0x28, 0xc2, 0xa5, 0x14, 0x46, 0xea,
  933. 0x4b, 0xa9, 0x85, 0xca, 0x16, 0x39, 0x65, 0xa4, 0x1e, 0xc6, 0xb1, 0x96, 0xc6, 0xb0, 0x52, 0xaf,
  934. 0xb4, 0xd7, 0xe0, 0x1b, 0x91, 0x52, 0x52, 0x29, 0x72, 0x6d, 0x59, 0xb9, 0x57, 0xda, 0xab, 0x72,
  935. 0x5c, 0xd3, 0x2e, 0xd9, 0x2a, 0x54, 0xcc, 0xb6, 0x10, 0x82, 0x25, 0xed, 0x90, 0xf2, 0x22, 0x66,
  936. 0x15, 0x04, 0xca, 0x8b, 0xb8, 0xff, 0x27, 0xd2, 0xc1, 0x87, 0x2e, 0xa5, 0xbd, 0x10, 0x45, 0xa8,
  937. 0x34, 0xfd, 0x98, 0x54, 0xd5, 0x42, 0xa8, 0x8c, 0x95, 0x7a, 0xe5, 0xbd, 0x06, 0xaf, 0xa8, 0xc5,
  938. 0x24, 0xa3, 0x0f, 0x48, 0x4d, 0x2d, 0x44, 0xbe, 0x86, 0xeb, 0x01, 0xad, 0xaa, 0xc5, 0x74, 0x6d,
  939. 0xfb, 0x7f, 0x20, 0x6d, 0x79, 0x65, 0x45, 0x9a, 0xaf, 0x33, 0x2b, 0xd2, 0xb0, 0x80, 0x07, 0x57,
  940. 0xf2, 0xda, 0x1f, 0x85, 0x25, 0x20, 0x97, 0x61, 0xe2, 0x8f, 0xc1, 0xb2, 0xff, 0x96, 0x74, 0xde,
  941. 0xe5, 0x2a, 0x13, 0x59, 0x98, 0x4a, 0x53, 0x84, 0x91, 0x04, 0xa3, 0x32, 0xe3, 0x0f, 0x95, 0x33,
  942. 0x43, 0x3f, 0x21, 0xf5, 0xcc, 0x88, 0x85, 0x4a, 0xa4, 0x3f, 0x57, 0xcb, 0xcc, 0x58, 0x25, 0x92,
  943. 0x7e, 0x46, 0x1a, 0xf2, 0xca, 0xea, 0x50, 0xe4, 0x85, 0x45, 0xaf, 0x1a, 0x3c, 0x40, 0x60, 0x5a,
  944. 0xd8, 0xfe, 0x80, 0x10, 0x95, 0x5d, 0x48, 0xad, 0xac, 0x58, 0xc4, 0xbf, 0x62, 0x89, 0x73, 0x1d,
  945. 0x2e, 0x74, 0xae, 0xbf, 0x20, 0xcd, 0x68, 0xa9, 0xf3, 0x75, 0x21, 0x74, 0x9e, 0x5b, 0x88, 0x5f,
  946. 0x64, 0x75, 0xe2, 0xc3, 0x8a, 0x6b, 0x8c, 0x69, 0x68, 0x2f, 0xbc, 0x15, 0xb8, 0xee, 0xef, 0x90,
  947. 0xfa, 0x3a, 0x53, 0x57, 0xc2, 0xac, 0xe8, 0x7d, 0x52, 0x55, 0x59, 0x1e, 0x4b, 0x7c, 0xa5, 0xcd,
  948. 0x9d, 0xd0, 0xff, 0x57, 0x9b, 0x34, 0x30, 0xa6, 0x79, 0x61, 0x0d, 0xed, 0x93, 0xb6, 0x4a, 0xc3,
  949. 0xa5, 0x34, 0x22, 0x56, 0x5a, 0x2c, 0x62, 0xd4, 0xad, 0xf2, 0xa6, 0x03, 0x0f, 0x95, 0x1e, 0xc7,
  950. 0x1b, 0x9a, 0xca, 0x1f, 0x68, 0x7a, 0x4a, 0xda, 0x89, 0x0c, 0x2f, 0xa5, 0xd0, 0xeb, 0x2c, 0x53,
  951. 0xd9, 0x12, 0x9d, 0x0d, 0x78, 0x0b, 0x41, 0xee, 0x30, 0xfa, 0x84, 0x34, 0x21, 0xfa, 0xde, 0x1a,
  952. 0x24, 0x35, 0xe0, 0x10, 0xa0, 0xb3, 0x4c, 0x5d, 0xcd, 0x57, 0xf4, 0x2b, 0x72, 0xcf, 0x46, 0x85,
  953. 0x90, 0xc6, 0x86, 0xe7, 0x89, 0x32, 0x17, 0x32, 0x66, 0x55, 0xd4, 0xe9, 0xd8, 0xa8, 0x18, 0x7d,
  954. 0x40, 0x41, 0x51, 0x5e, 0x86, 0x46, 0x5d, 0x4a, 0x11, 0xcb, 0x4b, 0x15, 0x49, 0xc3, 0x6a, 0x4e,
  955. 0xd1, 0xc3, 0x87, 0x0e, 0x85, 0xf8, 0x9b, 0x0b, 0x99, 0x24, 0xe2, 0x5d, 0x7e, 0xce, 0xea, 0xa8,
  956. 0x12, 0x20, 0xf0, 0xd7, 0xfc, 0x9c, 0x3e, 0x26, 0x04, 0x28, 0x13, 0x49, 0x1e, 0xad, 0x0c, 0x0b,
  957. 0x9c, 0x35, 0x80, 0x1c, 0x01, 0x40, 0x9f, 0x90, 0x46, 0x92, 0x2f, 0x45, 0x22, 0x2f, 0x65, 0xc2,
  958. 0x1a, 0xe0, 0xea, 0xf7, 0xa5, 0x21, 0x0f, 0x92, 0x7c, 0x79, 0x04, 0x10, 0x7d, 0x44, 0x60, 0xed,
  959. 0x58, 0x27, 0x2e, 0xb5, 0x93, 0x7c, 0x89, 0xb4, 0x7f, 0x49, 0xca, 0x85, 0x61, 0xcd, 0x5e, 0x69,
  960. 0xaf, 0x39, 0x7c, 0x38, 0xf8, 0xd5, 0xc2, 0xe0, 0xe5, 0xc2, 0xd0, 0x5d, 0xd2, 0xc9, 0x72, 0xab,
  961. 0x16, 0xd7, 0xc2, 0x44, 0x5a, 0x15, 0xd6, 0xb0, 0x16, 0x5a, 0xd1, 0x76, 0xe8, 0xdc, 0x81, 0xc0,
  962. 0x2a, 0x30, 0xce, 0xda, 0x8e, 0x69, 0x64, 0xff, 0x31, 0x21, 0x45, 0xa8, 0x65, 0x66, 0x85, 0x4a,
  963. 0x97, 0xac, 0x83, 0x3b, 0x0d, 0x87, 0x4c, 0xd2, 0x25, 0x38, 0x6e, 0x75, 0x18, 0xad, 0x44, 0x2a,
  964. 0x53, 0x76, 0xcf, 0x39, 0x8e, 0xc0, 0xb1, 0x4c, 0xe1, 0x6c, 0xb8, 0xb6, 0xb9, 0x88, 0x65, 0xbc,
  965. 0x2e, 0x58, 0xd7, 0x39, 0x0e, 0xc8, 0x21, 0x00, 0x40, 0xd3, 0x4f, 0xb9, 0x5e, 0x6d, 0xf8, 0xdf,
  966. 0x46, 0x96, 0x1b, 0x00, 0x39, 0xf6, 0x1f, 0x13, 0x92, 0xa8, 0x6c, 0x25, 0xb4, 0x4c, 0xc3, 0x82,
  967. 0x51, 0x77, 0x1c, 0x10, 0x0e, 0x00, 0xdd, 0x25, 0x55, 0x28, 0x4e, 0xc3, 0x3e, 0xee, 0x6d, 0xed,
  968. 0x35, 0x87, 0xf7, 0x06, 0x77, 0xeb, 0x95, 0xbb, 0x5d, 0xfa, 0x94, 0xd4, 0xa3, 0x62, 0x2d, 0xa2,
  969. 0xb0, 0x60, 0xf7, 0x7b, 0xa5, 0xbd, 0xf6, 0xf7, 0xe4, 0xf9, 0xf0, 0xd5, 0xf3, 0x57, 0xdf, 0xbd,
  970. 0x1c, 0xbe, 0x7a, 0xc1, 0x6b, 0x51, 0xb1, 0x3e, 0x08, 0x0b, 0xba, 0x43, 0x9a, 0x8b, 0x5c, 0x47,
  971. 0x52, 0x28, 0x0d, 0x6f, 0x3d, 0xc0, 0xb7, 0x08, 0x42, 0x13, 0x40, 0x80, 0x04, 0x79, 0x25, 0x23,
  972. 0x11, 0xa5, 0x31, 0x7b, 0xd8, 0xdb, 0x02, 0x12, 0x40, 0x3e, 0x48, 0x21, 0x49, 0xea, 0x58, 0xeb,
  973. 0x99, 0x65, 0x9f, 0xa0, 0x25, 0x9d, 0xc1, 0x9d, 0xda, 0xe7, 0x35, 0x79, 0x65, 0x8f, 0x33, 0x0b,
  974. 0x2c, 0xa4, 0x61, 0x06, 0xfc, 0xb8, 0xf2, 0x32, 0x8c, 0x39, 0x16, 0x1c, 0x7a, 0xe0, 0x40, 0xba,
  975. 0x4b, 0xea, 0xd1, 0x12, 0x4b, 0x8f, 0x3d, 0xc2, 0xfb, 0x5a, 0x83, 0x5b, 0xe5, 0xc8, 0x6b, 0xd1,
  976. 0x92, 0x03, 0x31, 0x3b, 0xa4, 0xa9, 0x8d, 0x15, 0x46, 0x9d, 0x27, 0x50, 0x07, 0x9f, 0x3a, 0x93,
  977. 0xb5, 0xb1, 0x73, 0x87, 0xd0, 0xfd, 0xdb, 0x65, 0xcf, 0x3e, 0xc3, 0xab, 0x9a, 0x83, 0x0f, 0x10,
  978. 0x6f, 0xf8, 0xf5, 0x38, 0xa6, 0x3d, 0xd2, 0x42, 0xa6, 0x36, 0x8e, 0xfc, 0xc6, 0xdd, 0x06, 0xd8,
  979. 0xc8, 0x19, 0xbf, 0xe3, 0x6a, 0xca, 0x5c, 0x84, 0x1a, 0x9e, 0x7b, 0xec, 0x14, 0xe4, 0x95, 0x9d,
  980. 0x3b, 0x64, 0xa3, 0x90, 0x86, 0xc6, 0x4a, 0x6d, 0xd8, 0x93, 0x1b, 0x85, 0x63, 0x87, 0x40, 0x08,
  981. 0xcd, 0x4a, 0x15, 0x78, 0xff, 0x8e, 0x0b, 0x21, 0xc8, 0x70, 0x39, 0xb4, 0xaf, 0x2c, 0x3c, 0x4f,
  982. 0xa4, 0x58, 0x18, 0xd6, 0xc3, 0xbd, 0xc0, 0x01, 0x63, 0x43, 0xf7, 0x48, 0xd3, 0x57, 0xb2, 0x50,
  983. 0x59, 0xce, 0x3e, 0x47, 0x47, 0x82, 0x81, 0xc7, 0x78, 0x63, 0x8d, 0x45, 0x3d, 0xc9, 0x72, 0xfa,
  984. 0x67, 0xf2, 0xf1, 0xdd, 0x00, 0x8b, 0x14, 0x9a, 0x50, 0xbf, 0x57, 0xda, 0xeb, 0x0c, 0xdb, 0x2e,
  985. 0x3f, 0xa2, 0x25, 0x82, 0x7c, 0xfb, 0x4e, 0xd0, 0x8f, 0xf3, 0x58, 0xc2, 0x43, 0xcb, 0x8b, 0xdc,
  986. 0x58, 0x91, 0xa8, 0x54, 0x59, 0xf6, 0x14, 0xb3, 0xa5, 0xfe, 0xed, 0x37, 0xcf, 0xff, 0xf8, 0xe2,
  987. 0xe5, 0x77, 0x9c, 0xe0, 0xde, 0x11, 0x6c, 0xd1, 0x3d, 0xd2, 0xc5, 0x44, 0x11, 0x26, 0x0a, 0x33,
  988. 0x01, 0xdd, 0xcf, 0xb0, 0x2f, 0xd0, 0xec, 0x0e, 0xe2, 0xf3, 0x28, 0xcc, 0x66, 0x80, 0xd2, 0x4f,
  989. 0x21, 0x6f, 0xac, 0xd4, 0x59, 0x98, 0xb0, 0x5d, 0xef, 0x98, 0x97, 0x31, 0xa7, 0xd2, 0xc2, 0x5e,
  990. 0x8b, 0xcc, 0xb0, 0x2f, 0xe1, 0x31, 0x5e, 0x47, 0xf9, 0x04, 0x7c, 0xae, 0xbb, 0x51, 0x60, 0xd8,
  991. 0x57, 0x3e, 0xbb, 0xef, 0x8e, 0x06, 0x5e, 0x03, 0xf9, 0xc4, 0xd0, 0xcf, 0x49, 0xcb, 0x67, 0x47,
  992. 0xa1, 0xf3, 0xc2, 0xb0, 0xdf, 0x62, 0x85, 0xfa, 0x06, 0x3e, 0x03, 0x88, 0xee, 0x93, 0xed, 0xdb,
  993. 0x2a, 0xae, 0x93, 0xec, 0xa3, 0xde, 0xbd, 0x5b, 0x7a, 0xd8, 0x51, 0x9e, 0x93, 0x87, 0x5e, 0x37,
  994. 0x5e, 0xa7, 0x85, 0x88, 0xf2, 0xcc, 0xea, 0x3c, 0x49, 0xa4, 0x66, 0x5f, 0xa3, 0xf5, 0xf7, 0xdd,
  995. 0xee, 0xe1, 0x3a, 0x2d, 0x0e, 0x6e, 0xf6, 0xa0, 0x2b, 0x2f, 0xb4, 0x94, 0xef, 0x37, 0x81, 0x67,
  996. 0xcf, 0xf0, 0xf6, 0x96, 0x03, 0x5d, 0x8c, 0x61, 0x42, 0x5b, 0x95, 0x4a, 0x98, 0x95, 0xbf, 0x73,
  997. 0xde, 0x7a, 0x91, 0x7e, 0x4d, 0x28, 0xf4, 0x63, 0xcc, 0x0e, 0x95, 0x89, 0x45, 0xa2, 0x96, 0x17,
  998. 0x96, 0x0d, 0x30, 0x83, 0xa0, 0x53, 0xcf, 0x57, 0xaa, 0x98, 0x64, 0x63, 0x84, 0xc1, 0xe1, 0x9f,
  999. 0x64, 0xb8, 0x12, 0xe6, 0xda, 0x44, 0x36, 0x31, 0xec, 0xf7, 0xa8, 0xd6, 0x04, 0x6c, 0xee, 0x20,
  1000. 0x6c, 0x1c, 0xe1, 0xfb, 0x6b, 0xec, 0x85, 0x86, 0x7d, 0xe3, 0x1b, 0x47, 0xf8, 0xfe, 0x7a, 0x06,
  1001. 0x00, 0x36, 0x6b, 0x1b, 0xda, 0xb5, 0x81, 0xba, 0xf8, 0x16, 0xbb, 0x4e, 0xe0, 0x80, 0x71, 0x0c,
  1002. 0xc1, 0xca, 0x75, 0x71, 0x01, 0xb4, 0x5a, 0xe3, 0xb3, 0x99, 0x0d, 0x9d, 0x29, 0x6e, 0x63, 0x66,
  1003. 0x8d, 0x4b, 0xe9, 0xfe, 0x33, 0xff, 0x47, 0xc0, 0x50, 0x69, 0x69, 0x0a, 0xa0, 0x5b, 0x4b, 0x63,
  1004. 0x73, 0x2d, 0x63, 0x9c, 0x97, 0x01, 0xbf, 0x91, 0xfb, 0xbb, 0x64, 0x1b, 0xb5, 0x3d, 0xe0, 0x0e,
  1005. 0xf8, 0x09, 0xe7, 0x66, 0x1f, 0x2c, 0xfb, 0x2f, 0x49, 0x13, 0xd5, 0x5c, 0x6b, 0xa6, 0x0f, 0x49,
  1006. 0xcd, 0xf5, 0x6c, 0x3f, 0x7f, 0xbd, 0xf4, 0xcb, 0xd1, 0xd8, 0xff, 0xc1, 0xfd, 0x95, 0xc4, 0x42,
  1007. 0x86, 0x76, 0xad, 0x9d, 0x9f, 0xa9, 0x4c, 0x05, 0xb6, 0xe3, 0x8d, 0x35, 0xa9, 0x4c, 0x4f, 0x41,
  1008. 0xfe, 0x59, 0x8c, 0xca, 0x3f, 0x8b, 0x51, 0xff, 0x9f, 0x25, 0x12, 0x78, 0x6b, 0xff, 0x46, 0xfb,
  1009. 0xa4, 0x62, 0xaf, 0x0b, 0x37, 0xcd, 0x3b, 0xc3, 0xce, 0x60, 0xb3, 0x21, 0x00, 0xe5, 0xb8, 0x47,
  1010. 0x9f, 0x90, 0x0a, 0x8c, 0x75, 0xbc, 0xa9, 0x39, 0x24, 0x83, 0x9b, 0x41, 0xcf, 0x11, 0xbf, 0x3d,
  1011. 0x82, 0xd6, 0x51, 0x04, 0xdf, 0xb4, 0xad, 0x3b, 0x23, 0xc8, 0x81, 0x60, 0xf3, 0x4a, 0xca, 0x42,
  1012. 0xe4, 0x85, 0xcc, 0xfc, 0xe0, 0x0e, 0x00, 0x98, 0x16, 0x32, 0xa3, 0xfb, 0x24, 0xd8, 0x38, 0x87,
  1013. 0x03, 0xbb, 0xb9, 0xb1, 0x65, 0x83, 0xf2, 0x9b, 0xfd, 0xfe, 0xbf, 0xcb, 0xfe, 0xb3, 0x81, 0x61,
  1014. 0xfe, 0x7f, 0x3c, 0x60, 0xa4, 0xbe, 0x31, 0x0d, 0xbe, 0x35, 0x01, 0xdf, 0x88, 0xf4, 0x29, 0xa9,
  1015. 0x00, 0xc5, 0x68, 0xf1, 0xcd, 0xa0, 0xb9, 0x21, 0x9d, 0xe3, 0x26, 0x7d, 0x46, 0xea, 0x9e, 0x59,
  1016. 0xb4, 0xbb, 0x39, 0xa4, 0x83, 0x5f, 0xd0, 0xcd, 0x37, 0x2a, 0xf4, 0x0b, 0x52, 0x73, 0x8e, 0x7b,
  1017. 0x47, 0x5a, 0x83, 0x5b, 0xa4, 0x73, 0xbf, 0xe7, 0xe7, 0x7b, 0xed, 0x7f, 0xce, 0xf7, 0x47, 0x40,
  1018. 0x96, 0x90, 0x5a, 0x67, 0x39, 0xfe, 0x3e, 0xaa, 0xbc, 0x1e, 0xe9, 0x11, 0x88, 0x77, 0x62, 0x16,
  1019. 0xfc, 0xf7, 0x98, 0x41, 0xf0, 0xdd, 0x35, 0xa9, 0x59, 0xe2, 0x4f, 0xa4, 0xc1, 0x03, 0xbc, 0x27,
  1020. 0x35, 0x4b, 0x18, 0x73, 0x97, 0x52, 0x1b, 0x95, 0x67, 0xf8, 0x0b, 0x69, 0x6e, 0x1a, 0xaa, 0x07,
  1021. 0xf9, 0x66, 0xb7, 0xff, 0xf7, 0x12, 0x69, 0xdd, 0xde, 0x81, 0xdf, 0x60, 0x1a, 0xbe, 0xcb, 0xb5,
  1022. 0xcf, 0x72, 0x27, 0x20, 0xaa, 0xb2, 0x5c, 0xfb, 0x8f, 0xa7, 0x13, 0x00, 0x5d, 0x2a, 0xeb, 0xbf,
  1023. 0xe6, 0x0d, 0xee, 0x04, 0x28, 0x2b, 0xb3, 0x3e, 0x77, 0x3f, 0xa4, 0x8a, 0x2f, 0x58, 0x2f, 0xc3,
  1024. 0x09, 0xfc, 0xe9, 0x62, 0x20, 0xab, 0xdc, 0x09, 0xf0, 0x95, 0x81, 0x5e, 0x89, 0xb1, 0x6b, 0x70,
  1025. 0x5c, 0xef, 0x0b, 0x6f, 0x97, 0x1f, 0x01, 0x94, 0x90, 0xda, 0xe4, 0xcd, 0xc9, 0x94, 0x8f, 0xba,
  1026. 0x1f, 0xd1, 0x26, 0xa9, 0x1f, 0xbc, 0x11, 0x27, 0xd3, 0x93, 0x51, 0xb7, 0x44, 0x1b, 0xa4, 0x3a,
  1027. 0xe3, 0xd3, 0xd9, 0xbc, 0x5b, 0xa6, 0x01, 0xa9, 0xcc, 0xa7, 0xe3, 0xd3, 0xee, 0x16, 0xac, 0xc6,
  1028. 0x67, 0x47, 0x47, 0xdd, 0x0a, 0x9c, 0x9b, 0x9f, 0xf2, 0xc9, 0xc1, 0x69, 0xb7, 0x0a, 0xe7, 0x0e,
  1029. 0x47, 0xe3, 0xd7, 0x67, 0x47, 0xa7, 0xdd, 0xda, 0xfe, 0x3f, 0x4a, 0xbe, 0x04, 0x37, 0x99, 0x05,
  1030. 0x37, 0x8d, 0x8e, 0x67, 0xa7, 0x3f, 0x76, 0x3f, 0x82, 0xf3, 0x87, 0x67, 0xc7, 0xb3, 0x6e, 0x09,
  1031. 0xce, 0xf0, 0xd1, 0xfc, 0x14, 0x1e, 0x2e, 0x83, 0xc6, 0xc1, 0x5f, 0x46, 0x07, 0x3f, 0x74, 0xb7,
  1032. 0x68, 0x8b, 0x04, 0x33, 0x3e, 0x12, 0xa8, 0x55, 0xa1, 0xf7, 0x48, 0x73, 0xf6, 0xfa, 0xcd, 0x48,
  1033. 0xcc, 0x47, 0xfc, 0xed, 0x88, 0x77, 0xab, 0xf0, 0xec, 0xc9, 0xf4, 0x74, 0x32, 0xfe, 0xb1, 0x5b,
  1034. 0xa3, 0x5d, 0xd2, 0x3a, 0x98, 0x9d, 0x4d, 0x4e, 0xc6, 0x53, 0xa7, 0x5e, 0xa7, 0xdb, 0xa4, 0xbd,
  1035. 0x41, 0xdc, 0x7d, 0x01, 0x40, 0xe3, 0xd1, 0xeb, 0xd3, 0x33, 0x3e, 0xf2, 0x50, 0x03, 0x9e, 0x7e,
  1036. 0x3b, 0xe2, 0xf3, 0xc9, 0xf4, 0xa4, 0x4b, 0xfe, 0x13, 0x00, 0x00, 0xff, 0xff, 0x5f, 0x2a, 0xaf,
  1037. 0x49, 0x5b, 0x0d, 0x00, 0x00,
  1038. }