1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/devtools/clouddebugger/v2/controller.proto
5 Package clouddebugger is a generated protocol buffer package.
7 It is generated from these files:
8 google/devtools/clouddebugger/v2/controller.proto
9 google/devtools/clouddebugger/v2/data.proto
10 google/devtools/clouddebugger/v2/debugger.proto
12 It has these top-level messages:
13 RegisterDebuggeeRequest
14 RegisterDebuggeeResponse
15 ListActiveBreakpointsRequest
16 ListActiveBreakpointsResponse
17 UpdateActiveBreakpointRequest
18 UpdateActiveBreakpointResponse
30 DeleteBreakpointRequest
31 ListBreakpointsRequest
32 ListBreakpointsResponse
38 import proto "github.com/golang/protobuf/proto"
41 import _ "google.golang.org/genproto/googleapis/api/annotations"
42 import _ "github.com/golang/protobuf/ptypes/empty"
45 context "golang.org/x/net/context"
46 grpc "google.golang.org/grpc"
49 // Reference imports to suppress errors if they are not otherwise used.
54 // This is a compile-time assertion to ensure that this generated file
55 // is compatible with the proto package it is being compiled against.
56 // A compilation error at this line likely means your copy of the
57 // proto package needs to be updated.
58 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
60 // Request to register a debuggee.
61 type RegisterDebuggeeRequest struct {
62 // Debuggee information to register.
63 // The fields `project`, `uniquifier`, `description` and `agent_version`
64 // of the debuggee must be set.
65 Debuggee *Debuggee `protobuf:"bytes,1,opt,name=debuggee" json:"debuggee,omitempty"`
68 func (m *RegisterDebuggeeRequest) Reset() { *m = RegisterDebuggeeRequest{} }
69 func (m *RegisterDebuggeeRequest) String() string { return proto.CompactTextString(m) }
70 func (*RegisterDebuggeeRequest) ProtoMessage() {}
71 func (*RegisterDebuggeeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
73 func (m *RegisterDebuggeeRequest) GetDebuggee() *Debuggee {
80 // Response for registering a debuggee.
81 type RegisterDebuggeeResponse struct {
83 // The field `id` is guranteed to be set (in addition to the echoed fields).
84 // If the field `is_disabled` is set to `true`, the agent should disable
85 // itself by removing all breakpoints and detaching from the application.
86 // It should however continue to poll `RegisterDebuggee` until reenabled.
87 Debuggee *Debuggee `protobuf:"bytes,1,opt,name=debuggee" json:"debuggee,omitempty"`
90 func (m *RegisterDebuggeeResponse) Reset() { *m = RegisterDebuggeeResponse{} }
91 func (m *RegisterDebuggeeResponse) String() string { return proto.CompactTextString(m) }
92 func (*RegisterDebuggeeResponse) ProtoMessage() {}
93 func (*RegisterDebuggeeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
95 func (m *RegisterDebuggeeResponse) GetDebuggee() *Debuggee {
102 // Request to list active breakpoints.
103 type ListActiveBreakpointsRequest struct {
104 // Identifies the debuggee.
105 DebuggeeId string `protobuf:"bytes,1,opt,name=debuggee_id,json=debuggeeId" json:"debuggee_id,omitempty"`
106 // A token that, if specified, blocks the method call until the list
107 // of active breakpoints has changed, or a server-selected timeout has
108 // expired. The value should be set from the `next_wait_token` field in
109 // the last response. The initial value should be set to `"init"`.
110 WaitToken string `protobuf:"bytes,2,opt,name=wait_token,json=waitToken" json:"wait_token,omitempty"`
111 // If set to `true` (recommended), returns `google.rpc.Code.OK` status and
112 // sets the `wait_expired` response field to `true` when the server-selected
113 // timeout has expired.
115 // If set to `false` (deprecated), returns `google.rpc.Code.ABORTED` status
116 // when the server-selected timeout has expired.
117 SuccessOnTimeout bool `protobuf:"varint,3,opt,name=success_on_timeout,json=successOnTimeout" json:"success_on_timeout,omitempty"`
120 func (m *ListActiveBreakpointsRequest) Reset() { *m = ListActiveBreakpointsRequest{} }
121 func (m *ListActiveBreakpointsRequest) String() string { return proto.CompactTextString(m) }
122 func (*ListActiveBreakpointsRequest) ProtoMessage() {}
123 func (*ListActiveBreakpointsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
125 func (m *ListActiveBreakpointsRequest) GetDebuggeeId() string {
132 func (m *ListActiveBreakpointsRequest) GetWaitToken() string {
139 func (m *ListActiveBreakpointsRequest) GetSuccessOnTimeout() bool {
141 return m.SuccessOnTimeout
146 // Response for listing active breakpoints.
147 type ListActiveBreakpointsResponse struct {
148 // List of all active breakpoints.
149 // The fields `id` and `location` are guaranteed to be set on each breakpoint.
150 Breakpoints []*Breakpoint `protobuf:"bytes,1,rep,name=breakpoints" json:"breakpoints,omitempty"`
151 // A token that can be used in the next method call to block until
152 // the list of breakpoints changes.
153 NextWaitToken string `protobuf:"bytes,2,opt,name=next_wait_token,json=nextWaitToken" json:"next_wait_token,omitempty"`
154 // If set to `true`, indicates that there is no change to the
155 // list of active breakpoints and the server-selected timeout has expired.
156 // The `breakpoints` field would be empty and should be ignored.
157 WaitExpired bool `protobuf:"varint,3,opt,name=wait_expired,json=waitExpired" json:"wait_expired,omitempty"`
160 func (m *ListActiveBreakpointsResponse) Reset() { *m = ListActiveBreakpointsResponse{} }
161 func (m *ListActiveBreakpointsResponse) String() string { return proto.CompactTextString(m) }
162 func (*ListActiveBreakpointsResponse) ProtoMessage() {}
163 func (*ListActiveBreakpointsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
165 func (m *ListActiveBreakpointsResponse) GetBreakpoints() []*Breakpoint {
172 func (m *ListActiveBreakpointsResponse) GetNextWaitToken() string {
174 return m.NextWaitToken
179 func (m *ListActiveBreakpointsResponse) GetWaitExpired() bool {
186 // Request to update an active breakpoint.
187 type UpdateActiveBreakpointRequest struct {
188 // Identifies the debuggee being debugged.
189 DebuggeeId string `protobuf:"bytes,1,opt,name=debuggee_id,json=debuggeeId" json:"debuggee_id,omitempty"`
190 // Updated breakpoint information.
191 // The field `id` must be set.
192 // The agent must echo all Breakpoint specification fields in the update.
193 Breakpoint *Breakpoint `protobuf:"bytes,2,opt,name=breakpoint" json:"breakpoint,omitempty"`
196 func (m *UpdateActiveBreakpointRequest) Reset() { *m = UpdateActiveBreakpointRequest{} }
197 func (m *UpdateActiveBreakpointRequest) String() string { return proto.CompactTextString(m) }
198 func (*UpdateActiveBreakpointRequest) ProtoMessage() {}
199 func (*UpdateActiveBreakpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
201 func (m *UpdateActiveBreakpointRequest) GetDebuggeeId() string {
208 func (m *UpdateActiveBreakpointRequest) GetBreakpoint() *Breakpoint {
215 // Response for updating an active breakpoint.
216 // The message is defined to allow future extensions.
217 type UpdateActiveBreakpointResponse struct {
220 func (m *UpdateActiveBreakpointResponse) Reset() { *m = UpdateActiveBreakpointResponse{} }
221 func (m *UpdateActiveBreakpointResponse) String() string { return proto.CompactTextString(m) }
222 func (*UpdateActiveBreakpointResponse) ProtoMessage() {}
223 func (*UpdateActiveBreakpointResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
226 proto.RegisterType((*RegisterDebuggeeRequest)(nil), "google.devtools.clouddebugger.v2.RegisterDebuggeeRequest")
227 proto.RegisterType((*RegisterDebuggeeResponse)(nil), "google.devtools.clouddebugger.v2.RegisterDebuggeeResponse")
228 proto.RegisterType((*ListActiveBreakpointsRequest)(nil), "google.devtools.clouddebugger.v2.ListActiveBreakpointsRequest")
229 proto.RegisterType((*ListActiveBreakpointsResponse)(nil), "google.devtools.clouddebugger.v2.ListActiveBreakpointsResponse")
230 proto.RegisterType((*UpdateActiveBreakpointRequest)(nil), "google.devtools.clouddebugger.v2.UpdateActiveBreakpointRequest")
231 proto.RegisterType((*UpdateActiveBreakpointResponse)(nil), "google.devtools.clouddebugger.v2.UpdateActiveBreakpointResponse")
234 // Reference imports to suppress errors if they are not otherwise used.
235 var _ context.Context
236 var _ grpc.ClientConn
238 // This is a compile-time assertion to ensure that this generated file
239 // is compatible with the grpc package it is being compiled against.
240 const _ = grpc.SupportPackageIsVersion4
242 // Client API for Controller2 service
244 type Controller2Client interface {
245 // Registers the debuggee with the controller service.
247 // All agents attached to the same application must call this method with
248 // exactly the same request content to get back the same stable `debuggee_id`.
249 // Agents should call this method again whenever `google.rpc.Code.NOT_FOUND`
250 // is returned from any controller method.
252 // This protocol allows the controller service to disable debuggees, recover
253 // from data loss, or change the `debuggee_id` format. Agents must handle
254 // `debuggee_id` value changing upon re-registration.
255 RegisterDebuggee(ctx context.Context, in *RegisterDebuggeeRequest, opts ...grpc.CallOption) (*RegisterDebuggeeResponse, error)
256 // Returns the list of all active breakpoints for the debuggee.
258 // The breakpoint specification (`location`, `condition`, and `expressions`
259 // fields) is semantically immutable, although the field values may
260 // change. For example, an agent may update the location line number
261 // to reflect the actual line where the breakpoint was set, but this
262 // doesn't change the breakpoint semantics.
264 // This means that an agent does not need to check if a breakpoint has changed
265 // when it encounters the same breakpoint on a successive call.
266 // Moreover, an agent should remember the breakpoints that are completed
267 // until the controller removes them from the active list to avoid
268 // setting those breakpoints again.
269 ListActiveBreakpoints(ctx context.Context, in *ListActiveBreakpointsRequest, opts ...grpc.CallOption) (*ListActiveBreakpointsResponse, error)
270 // Updates the breakpoint state or mutable fields.
271 // The entire Breakpoint message must be sent back to the controller service.
273 // Updates to active breakpoint fields are only allowed if the new value
274 // does not change the breakpoint specification. Updates to the `location`,
275 // `condition` and `expressions` fields should not alter the breakpoint
276 // semantics. These may only make changes such as canonicalizing a value
277 // or snapping the location to the correct line of code.
278 UpdateActiveBreakpoint(ctx context.Context, in *UpdateActiveBreakpointRequest, opts ...grpc.CallOption) (*UpdateActiveBreakpointResponse, error)
281 type controller2Client struct {
285 func NewController2Client(cc *grpc.ClientConn) Controller2Client {
286 return &controller2Client{cc}
289 func (c *controller2Client) RegisterDebuggee(ctx context.Context, in *RegisterDebuggeeRequest, opts ...grpc.CallOption) (*RegisterDebuggeeResponse, error) {
290 out := new(RegisterDebuggeeResponse)
291 err := grpc.Invoke(ctx, "/google.devtools.clouddebugger.v2.Controller2/RegisterDebuggee", in, out, c.cc, opts...)
298 func (c *controller2Client) ListActiveBreakpoints(ctx context.Context, in *ListActiveBreakpointsRequest, opts ...grpc.CallOption) (*ListActiveBreakpointsResponse, error) {
299 out := new(ListActiveBreakpointsResponse)
300 err := grpc.Invoke(ctx, "/google.devtools.clouddebugger.v2.Controller2/ListActiveBreakpoints", in, out, c.cc, opts...)
307 func (c *controller2Client) UpdateActiveBreakpoint(ctx context.Context, in *UpdateActiveBreakpointRequest, opts ...grpc.CallOption) (*UpdateActiveBreakpointResponse, error) {
308 out := new(UpdateActiveBreakpointResponse)
309 err := grpc.Invoke(ctx, "/google.devtools.clouddebugger.v2.Controller2/UpdateActiveBreakpoint", in, out, c.cc, opts...)
316 // Server API for Controller2 service
318 type Controller2Server interface {
319 // Registers the debuggee with the controller service.
321 // All agents attached to the same application must call this method with
322 // exactly the same request content to get back the same stable `debuggee_id`.
323 // Agents should call this method again whenever `google.rpc.Code.NOT_FOUND`
324 // is returned from any controller method.
326 // This protocol allows the controller service to disable debuggees, recover
327 // from data loss, or change the `debuggee_id` format. Agents must handle
328 // `debuggee_id` value changing upon re-registration.
329 RegisterDebuggee(context.Context, *RegisterDebuggeeRequest) (*RegisterDebuggeeResponse, error)
330 // Returns the list of all active breakpoints for the debuggee.
332 // The breakpoint specification (`location`, `condition`, and `expressions`
333 // fields) is semantically immutable, although the field values may
334 // change. For example, an agent may update the location line number
335 // to reflect the actual line where the breakpoint was set, but this
336 // doesn't change the breakpoint semantics.
338 // This means that an agent does not need to check if a breakpoint has changed
339 // when it encounters the same breakpoint on a successive call.
340 // Moreover, an agent should remember the breakpoints that are completed
341 // until the controller removes them from the active list to avoid
342 // setting those breakpoints again.
343 ListActiveBreakpoints(context.Context, *ListActiveBreakpointsRequest) (*ListActiveBreakpointsResponse, error)
344 // Updates the breakpoint state or mutable fields.
345 // The entire Breakpoint message must be sent back to the controller service.
347 // Updates to active breakpoint fields are only allowed if the new value
348 // does not change the breakpoint specification. Updates to the `location`,
349 // `condition` and `expressions` fields should not alter the breakpoint
350 // semantics. These may only make changes such as canonicalizing a value
351 // or snapping the location to the correct line of code.
352 UpdateActiveBreakpoint(context.Context, *UpdateActiveBreakpointRequest) (*UpdateActiveBreakpointResponse, error)
355 func RegisterController2Server(s *grpc.Server, srv Controller2Server) {
356 s.RegisterService(&_Controller2_serviceDesc, srv)
359 func _Controller2_RegisterDebuggee_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
360 in := new(RegisterDebuggeeRequest)
361 if err := dec(in); err != nil {
364 if interceptor == nil {
365 return srv.(Controller2Server).RegisterDebuggee(ctx, in)
367 info := &grpc.UnaryServerInfo{
369 FullMethod: "/google.devtools.clouddebugger.v2.Controller2/RegisterDebuggee",
371 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
372 return srv.(Controller2Server).RegisterDebuggee(ctx, req.(*RegisterDebuggeeRequest))
374 return interceptor(ctx, in, info, handler)
377 func _Controller2_ListActiveBreakpoints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
378 in := new(ListActiveBreakpointsRequest)
379 if err := dec(in); err != nil {
382 if interceptor == nil {
383 return srv.(Controller2Server).ListActiveBreakpoints(ctx, in)
385 info := &grpc.UnaryServerInfo{
387 FullMethod: "/google.devtools.clouddebugger.v2.Controller2/ListActiveBreakpoints",
389 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
390 return srv.(Controller2Server).ListActiveBreakpoints(ctx, req.(*ListActiveBreakpointsRequest))
392 return interceptor(ctx, in, info, handler)
395 func _Controller2_UpdateActiveBreakpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
396 in := new(UpdateActiveBreakpointRequest)
397 if err := dec(in); err != nil {
400 if interceptor == nil {
401 return srv.(Controller2Server).UpdateActiveBreakpoint(ctx, in)
403 info := &grpc.UnaryServerInfo{
405 FullMethod: "/google.devtools.clouddebugger.v2.Controller2/UpdateActiveBreakpoint",
407 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
408 return srv.(Controller2Server).UpdateActiveBreakpoint(ctx, req.(*UpdateActiveBreakpointRequest))
410 return interceptor(ctx, in, info, handler)
413 var _Controller2_serviceDesc = grpc.ServiceDesc{
414 ServiceName: "google.devtools.clouddebugger.v2.Controller2",
415 HandlerType: (*Controller2Server)(nil),
416 Methods: []grpc.MethodDesc{
418 MethodName: "RegisterDebuggee",
419 Handler: _Controller2_RegisterDebuggee_Handler,
422 MethodName: "ListActiveBreakpoints",
423 Handler: _Controller2_ListActiveBreakpoints_Handler,
426 MethodName: "UpdateActiveBreakpoint",
427 Handler: _Controller2_UpdateActiveBreakpoint_Handler,
430 Streams: []grpc.StreamDesc{},
431 Metadata: "google/devtools/clouddebugger/v2/controller.proto",
434 func init() { proto.RegisterFile("google/devtools/clouddebugger/v2/controller.proto", fileDescriptor0) }
436 var fileDescriptor0 = []byte{
437 // 589 bytes of a gzipped FileDescriptorProto
438 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x54, 0xdd, 0x6a, 0xd4, 0x40,
439 0x14, 0x66, 0x5a, 0x94, 0xf6, 0x44, 0x69, 0x19, 0x50, 0x43, 0x6c, 0x75, 0x1b, 0xa4, 0x94, 0x5a,
440 0x32, 0x18, 0xbd, 0x71, 0x05, 0x7f, 0xb6, 0x6a, 0x11, 0x5a, 0x2d, 0x4b, 0x55, 0xf0, 0x66, 0xc9,
441 0x26, 0xc7, 0x30, 0x34, 0x9d, 0x89, 0x99, 0xc9, 0x5a, 0x29, 0xbd, 0xf1, 0x56, 0xf1, 0xc6, 0x47,
442 0xf0, 0xce, 0x17, 0x10, 0x7c, 0x0d, 0x7d, 0x04, 0xaf, 0x7c, 0x0a, 0xc9, 0xdf, 0xee, 0xf6, 0x67,
443 0x9b, 0x76, 0xf1, 0x32, 0xdf, 0x9c, 0xef, 0x3b, 0xdf, 0x37, 0x39, 0x73, 0xe0, 0x56, 0x28, 0x65,
444 0x18, 0x21, 0x0b, 0xb0, 0xa7, 0xa5, 0x8c, 0x14, 0xf3, 0x23, 0x99, 0x06, 0x01, 0x76, 0xd3, 0x30,
445 0xc4, 0x84, 0xf5, 0x5c, 0xe6, 0x4b, 0xa1, 0x13, 0x19, 0x45, 0x98, 0x38, 0x71, 0x22, 0xb5, 0xa4,
446 0x8d, 0x82, 0xe2, 0x54, 0x14, 0xe7, 0x00, 0xc5, 0xe9, 0xb9, 0xd6, 0x5c, 0x29, 0xea, 0xc5, 0x9c,
447 0x79, 0x42, 0x48, 0xed, 0x69, 0x2e, 0x85, 0x2a, 0xf8, 0xd6, 0xcd, 0xda, 0x96, 0x81, 0xa7, 0xbd,
448 0xb2, 0xf8, 0x6a, 0x59, 0x9c, 0x7f, 0x75, 0xd3, 0xb7, 0x0c, 0x77, 0x62, 0xfd, 0xa1, 0x38, 0xb4,
449 0x3d, 0xb8, 0xd2, 0xc6, 0x90, 0x2b, 0x8d, 0xc9, 0xe3, 0x82, 0x8e, 0x6d, 0x7c, 0x97, 0xa2, 0xd2,
450 0xf4, 0x29, 0x4c, 0x95, 0x8a, 0x68, 0x92, 0x06, 0x59, 0x32, 0xdc, 0x65, 0xa7, 0xce, 0xb7, 0xd3,
451 0x17, 0xe9, 0x73, 0xed, 0x2e, 0x98, 0x47, 0x5b, 0xa8, 0x58, 0x0a, 0x85, 0xff, 0xad, 0xc7, 0x67,
452 0x02, 0x73, 0xeb, 0x5c, 0xe9, 0x47, 0xbe, 0xe6, 0x3d, 0x6c, 0x25, 0xe8, 0x6d, 0xc7, 0x92, 0x0b,
453 0xad, 0xaa, 0x30, 0xd7, 0xc1, 0xa8, 0x8a, 0x3b, 0x3c, 0xc8, 0x7b, 0x4d, 0xb7, 0xa1, 0x82, 0x9e,
454 0x05, 0x74, 0x1e, 0xe0, 0xbd, 0xc7, 0x75, 0x47, 0xcb, 0x6d, 0x14, 0xe6, 0x44, 0x7e, 0x3e, 0x9d,
455 0x21, 0x5b, 0x19, 0x40, 0x57, 0x80, 0xaa, 0xd4, 0xf7, 0x51, 0xa9, 0x8e, 0x14, 0x1d, 0xcd, 0x77,
456 0x50, 0xa6, 0xda, 0x9c, 0x6c, 0x90, 0xa5, 0xa9, 0xf6, 0x6c, 0x79, 0xf2, 0x42, 0x6c, 0x15, 0xb8,
457 0xfd, 0x93, 0xc0, 0xfc, 0x08, 0x3b, 0x65, 0xf0, 0xe7, 0x60, 0x74, 0x07, 0xb0, 0x49, 0x1a, 0x93,
458 0x4b, 0x86, 0xbb, 0x52, 0x9f, 0x7d, 0xa0, 0xd5, 0x1e, 0x16, 0xa0, 0x8b, 0x30, 0x23, 0x70, 0x57,
459 0x77, 0x8e, 0x64, 0xb8, 0x98, 0xc1, 0xaf, 0xfb, 0x39, 0x16, 0xe0, 0x42, 0x5e, 0x82, 0xbb, 0x31,
460 0x4f, 0x30, 0x28, 0x13, 0x18, 0x19, 0xf6, 0xa4, 0x80, 0xec, 0x2f, 0x04, 0xe6, 0x5f, 0xc6, 0x81,
461 0xa7, 0xf1, 0xb0, 0xfd, 0x53, 0x5f, 0xe6, 0x3a, 0xc0, 0xc0, 0x5c, 0x6e, 0xe4, 0xac, 0xe1, 0x86,
462 0xf8, 0x76, 0x03, 0xae, 0x8d, 0xf2, 0x53, 0xdc, 0xa6, 0xfb, 0xe9, 0x1c, 0x18, 0xab, 0xfd, 0x47,
463 0xe6, 0xd2, 0x1f, 0x04, 0x66, 0x0f, 0xcf, 0x1c, 0xbd, 0x5b, 0x6f, 0x60, 0xc4, 0x53, 0xb0, 0x9a,
464 0xe3, 0x50, 0x0b, 0x6f, 0xf6, 0xca, 0xc7, 0x5f, 0x7f, 0xbe, 0x4e, 0x2c, 0xda, 0x0b, 0x07, 0x37,
465 0x01, 0xab, 0xae, 0x4b, 0xb1, 0xa4, 0xa4, 0x36, 0xc9, 0x32, 0xfd, 0x4d, 0xe0, 0xd2, 0xb1, 0x93,
466 0x43, 0xef, 0xd7, 0x7b, 0x38, 0xe9, 0x05, 0x58, 0x0f, 0xc6, 0xe6, 0x97, 0x41, 0x9a, 0x79, 0x90,
467 0x3b, 0xd4, 0x1d, 0x19, 0x64, 0x6f, 0x68, 0x2a, 0xf6, 0xd9, 0xf0, 0x78, 0xfe, 0x25, 0x70, 0xf9,
468 0xf8, 0x7f, 0x48, 0x4f, 0xe1, 0xeb, 0xc4, 0x69, 0xb4, 0x1e, 0x8e, 0x2f, 0x50, 0x26, 0xdb, 0xc8,
469 0x93, 0xad, 0x59, 0xad, 0xb3, 0x27, 0x63, 0x7b, 0x83, 0x0f, 0x87, 0x07, 0xfb, 0x4d, 0xb2, 0xdc,
470 0xfa, 0x46, 0xe0, 0x86, 0x2f, 0x77, 0x6a, 0x6d, 0xb5, 0x66, 0x06, 0x33, 0xbb, 0x99, 0x6d, 0xe3,
471 0x4d, 0xf2, 0x66, 0xa3, 0x24, 0x85, 0x32, 0xf2, 0x44, 0xe8, 0xc8, 0x24, 0x64, 0x21, 0x8a, 0x7c,
472 0x57, 0xb3, 0xe2, 0xc8, 0x8b, 0xb9, 0x1a, 0xbd, 0xf8, 0xef, 0x1d, 0x00, 0xbe, 0x4f, 0x98, 0x6b,
473 0x85, 0xde, 0x6a, 0x06, 0x57, 0x9b, 0x33, 0x71, 0x5e, 0xb9, 0xdd, 0xf3, 0xb9, 0xe8, 0xed, 0x7f,
474 0x01, 0x00, 0x00, 0xff, 0xff, 0x05, 0xef, 0x37, 0xb4, 0xbf, 0x06, 0x00, 0x00,