VOL-1460 Implemented a new approach to protos where go stubs are not committed to the repo.
There are new instructions for clients consuming these protos in Go.
Also removed vendor directory and dep, as it isn't really needed at this point.
Implemented a test to check if protos match up with go files. This is run with make test.
This works by generating them and checking this created any more untracked or unstaged changes.
It requires you to commit your changes locally to pass. This process to should be run by
jenkins to validate a commit. A consistent version of protoc must be used, which the Makefile checks for.
Change-Id: I8de28c515a9535e33909cbbd158fa046f96f3b1f
diff --git a/go/ietf/ietf_interfaces.pb.go b/go/ietf/ietf_interfaces.pb.go
new file mode 100644
index 0000000..6f6f0b4
--- /dev/null
+++ b/go/ietf/ietf_interfaces.pb.go
@@ -0,0 +1,431 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/ietf_interfaces.proto
+
+package ietf
+
+import (
+ fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ math "math"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+type Interface_LinkUpDownTrapEnableType int32
+
+const (
+ Interface_TRAP_DISABLED Interface_LinkUpDownTrapEnableType = 0
+ Interface_TRAP_ENABLED Interface_LinkUpDownTrapEnableType = 1
+)
+
+var Interface_LinkUpDownTrapEnableType_name = map[int32]string{
+ 0: "TRAP_DISABLED",
+ 1: "TRAP_ENABLED",
+}
+
+var Interface_LinkUpDownTrapEnableType_value = map[string]int32{
+ "TRAP_DISABLED": 0,
+ "TRAP_ENABLED": 1,
+}
+
+func (x Interface_LinkUpDownTrapEnableType) String() string {
+ return proto.EnumName(Interface_LinkUpDownTrapEnableType_name, int32(x))
+}
+
+func (Interface_LinkUpDownTrapEnableType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_5a91e49a45099096, []int{1, 0}
+}
+
+type InterfaceState_AdminStatusType int32
+
+const (
+ InterfaceState_ADMIN_DOWN InterfaceState_AdminStatusType = 0
+ InterfaceState_ADMIN_TESTING InterfaceState_AdminStatusType = 1
+ InterfaceState_ADMIN_UP InterfaceState_AdminStatusType = 2
+)
+
+var InterfaceState_AdminStatusType_name = map[int32]string{
+ 0: "ADMIN_DOWN",
+ 1: "ADMIN_TESTING",
+ 2: "ADMIN_UP",
+}
+
+var InterfaceState_AdminStatusType_value = map[string]int32{
+ "ADMIN_DOWN": 0,
+ "ADMIN_TESTING": 1,
+ "ADMIN_UP": 2,
+}
+
+func (x InterfaceState_AdminStatusType) String() string {
+ return proto.EnumName(InterfaceState_AdminStatusType_name, int32(x))
+}
+
+func (InterfaceState_AdminStatusType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_5a91e49a45099096, []int{3, 0}
+}
+
+type InterfaceState_OperStatusType int32
+
+const (
+ InterfaceState_DORMANT InterfaceState_OperStatusType = 0
+ InterfaceState_LOWER_LAYER_DOWN InterfaceState_OperStatusType = 1
+ InterfaceState_UNKNOWN InterfaceState_OperStatusType = 2
+ InterfaceState_TESTING InterfaceState_OperStatusType = 3
+ InterfaceState_UP InterfaceState_OperStatusType = 4
+ InterfaceState_DOWN InterfaceState_OperStatusType = 5
+ InterfaceState_NOT_PRESENT InterfaceState_OperStatusType = 6
+)
+
+var InterfaceState_OperStatusType_name = map[int32]string{
+ 0: "DORMANT",
+ 1: "LOWER_LAYER_DOWN",
+ 2: "UNKNOWN",
+ 3: "TESTING",
+ 4: "UP",
+ 5: "DOWN",
+ 6: "NOT_PRESENT",
+}
+
+var InterfaceState_OperStatusType_value = map[string]int32{
+ "DORMANT": 0,
+ "LOWER_LAYER_DOWN": 1,
+ "UNKNOWN": 2,
+ "TESTING": 3,
+ "UP": 4,
+ "DOWN": 5,
+ "NOT_PRESENT": 6,
+}
+
+func (x InterfaceState_OperStatusType) String() string {
+ return proto.EnumName(InterfaceState_OperStatusType_name, int32(x))
+}
+
+func (InterfaceState_OperStatusType) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_5a91e49a45099096, []int{3, 1}
+}
+
+type Interfaces struct {
+ AllInterfaces []*Interface `protobuf:"bytes,1,rep,name=all_interfaces,json=allInterfaces,proto3" json:"all_interfaces,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Interfaces) Reset() { *m = Interfaces{} }
+func (m *Interfaces) String() string { return proto.CompactTextString(m) }
+func (*Interfaces) ProtoMessage() {}
+func (*Interfaces) Descriptor() ([]byte, []int) {
+ return fileDescriptor_5a91e49a45099096, []int{0}
+}
+
+func (m *Interfaces) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Interfaces.Unmarshal(m, b)
+}
+func (m *Interfaces) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Interfaces.Marshal(b, m, deterministic)
+}
+func (m *Interfaces) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Interfaces.Merge(m, src)
+}
+func (m *Interfaces) XXX_Size() int {
+ return xxx_messageInfo_Interfaces.Size(m)
+}
+func (m *Interfaces) XXX_DiscardUnknown() {
+ xxx_messageInfo_Interfaces.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Interfaces proto.InternalMessageInfo
+
+func (m *Interfaces) GetAllInterfaces() []*Interface {
+ if m != nil {
+ return m.AllInterfaces
+ }
+ return nil
+}
+
+type Interface struct {
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
+ Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
+ Enabled bool `protobuf:"varint,4,opt,name=enabled,proto3" json:"enabled,omitempty"`
+ LinkUpDownTrapEnable Interface_LinkUpDownTrapEnableType `protobuf:"varint,5,opt,name=link_up_down_trap_enable,json=linkUpDownTrapEnable,proto3,enum=ietf_interfaces.Interface_LinkUpDownTrapEnableType" json:"link_up_down_trap_enable,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Interface) Reset() { *m = Interface{} }
+func (m *Interface) String() string { return proto.CompactTextString(m) }
+func (*Interface) ProtoMessage() {}
+func (*Interface) Descriptor() ([]byte, []int) {
+ return fileDescriptor_5a91e49a45099096, []int{1}
+}
+
+func (m *Interface) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Interface.Unmarshal(m, b)
+}
+func (m *Interface) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Interface.Marshal(b, m, deterministic)
+}
+func (m *Interface) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Interface.Merge(m, src)
+}
+func (m *Interface) XXX_Size() int {
+ return xxx_messageInfo_Interface.Size(m)
+}
+func (m *Interface) XXX_DiscardUnknown() {
+ xxx_messageInfo_Interface.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Interface proto.InternalMessageInfo
+
+func (m *Interface) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *Interface) GetDescription() string {
+ if m != nil {
+ return m.Description
+ }
+ return ""
+}
+
+func (m *Interface) GetType() string {
+ if m != nil {
+ return m.Type
+ }
+ return ""
+}
+
+func (m *Interface) GetEnabled() bool {
+ if m != nil {
+ return m.Enabled
+ }
+ return false
+}
+
+func (m *Interface) GetLinkUpDownTrapEnable() Interface_LinkUpDownTrapEnableType {
+ if m != nil {
+ return m.LinkUpDownTrapEnable
+ }
+ return Interface_TRAP_DISABLED
+}
+
+type InterfacesState struct {
+ AllInterfacs []*InterfaceState `protobuf:"bytes,1,rep,name=all_interfacs,json=allInterfacs,proto3" json:"all_interfacs,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *InterfacesState) Reset() { *m = InterfacesState{} }
+func (m *InterfacesState) String() string { return proto.CompactTextString(m) }
+func (*InterfacesState) ProtoMessage() {}
+func (*InterfacesState) Descriptor() ([]byte, []int) {
+ return fileDescriptor_5a91e49a45099096, []int{2}
+}
+
+func (m *InterfacesState) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_InterfacesState.Unmarshal(m, b)
+}
+func (m *InterfacesState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_InterfacesState.Marshal(b, m, deterministic)
+}
+func (m *InterfacesState) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_InterfacesState.Merge(m, src)
+}
+func (m *InterfacesState) XXX_Size() int {
+ return xxx_messageInfo_InterfacesState.Size(m)
+}
+func (m *InterfacesState) XXX_DiscardUnknown() {
+ xxx_messageInfo_InterfacesState.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_InterfacesState proto.InternalMessageInfo
+
+func (m *InterfacesState) GetAllInterfacs() []*InterfaceState {
+ if m != nil {
+ return m.AllInterfacs
+ }
+ return nil
+}
+
+type InterfaceState struct {
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
+ AdminStatus InterfaceState_AdminStatusType `protobuf:"varint,3,opt,name=admin_status,json=adminStatus,proto3,enum=ietf_interfaces.InterfaceState_AdminStatusType" json:"admin_status,omitempty"`
+ OperStatus InterfaceState_OperStatusType `protobuf:"varint,4,opt,name=oper_status,json=operStatus,proto3,enum=ietf_interfaces.InterfaceState_OperStatusType" json:"oper_status,omitempty"`
+ LastChange string `protobuf:"bytes,5,opt,name=last_change,json=lastChange,proto3" json:"last_change,omitempty"`
+ IfIndex int32 `protobuf:"varint,6,opt,name=if_index,json=ifIndex,proto3" json:"if_index,omitempty"`
+ PhysAddress string `protobuf:"bytes,7,opt,name=phys_address,json=physAddress,proto3" json:"phys_address,omitempty"`
+ HigherLayerIf []string `protobuf:"bytes,8,rep,name=higher_layer_if,json=higherLayerIf,proto3" json:"higher_layer_if,omitempty"`
+ LowerLayerIf []string `protobuf:"bytes,9,rep,name=lower_layer_if,json=lowerLayerIf,proto3" json:"lower_layer_if,omitempty"`
+ Speed uint64 `protobuf:"varint,10,opt,name=speed,proto3" json:"speed,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *InterfaceState) Reset() { *m = InterfaceState{} }
+func (m *InterfaceState) String() string { return proto.CompactTextString(m) }
+func (*InterfaceState) ProtoMessage() {}
+func (*InterfaceState) Descriptor() ([]byte, []int) {
+ return fileDescriptor_5a91e49a45099096, []int{3}
+}
+
+func (m *InterfaceState) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_InterfaceState.Unmarshal(m, b)
+}
+func (m *InterfaceState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_InterfaceState.Marshal(b, m, deterministic)
+}
+func (m *InterfaceState) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_InterfaceState.Merge(m, src)
+}
+func (m *InterfaceState) XXX_Size() int {
+ return xxx_messageInfo_InterfaceState.Size(m)
+}
+func (m *InterfaceState) XXX_DiscardUnknown() {
+ xxx_messageInfo_InterfaceState.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_InterfaceState proto.InternalMessageInfo
+
+func (m *InterfaceState) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *InterfaceState) GetType() string {
+ if m != nil {
+ return m.Type
+ }
+ return ""
+}
+
+func (m *InterfaceState) GetAdminStatus() InterfaceState_AdminStatusType {
+ if m != nil {
+ return m.AdminStatus
+ }
+ return InterfaceState_ADMIN_DOWN
+}
+
+func (m *InterfaceState) GetOperStatus() InterfaceState_OperStatusType {
+ if m != nil {
+ return m.OperStatus
+ }
+ return InterfaceState_DORMANT
+}
+
+func (m *InterfaceState) GetLastChange() string {
+ if m != nil {
+ return m.LastChange
+ }
+ return ""
+}
+
+func (m *InterfaceState) GetIfIndex() int32 {
+ if m != nil {
+ return m.IfIndex
+ }
+ return 0
+}
+
+func (m *InterfaceState) GetPhysAddress() string {
+ if m != nil {
+ return m.PhysAddress
+ }
+ return ""
+}
+
+func (m *InterfaceState) GetHigherLayerIf() []string {
+ if m != nil {
+ return m.HigherLayerIf
+ }
+ return nil
+}
+
+func (m *InterfaceState) GetLowerLayerIf() []string {
+ if m != nil {
+ return m.LowerLayerIf
+ }
+ return nil
+}
+
+func (m *InterfaceState) GetSpeed() uint64 {
+ if m != nil {
+ return m.Speed
+ }
+ return 0
+}
+
+func init() {
+ proto.RegisterEnum("ietf_interfaces.Interface_LinkUpDownTrapEnableType", Interface_LinkUpDownTrapEnableType_name, Interface_LinkUpDownTrapEnableType_value)
+ proto.RegisterEnum("ietf_interfaces.InterfaceState_AdminStatusType", InterfaceState_AdminStatusType_name, InterfaceState_AdminStatusType_value)
+ proto.RegisterEnum("ietf_interfaces.InterfaceState_OperStatusType", InterfaceState_OperStatusType_name, InterfaceState_OperStatusType_value)
+ proto.RegisterType((*Interfaces)(nil), "ietf_interfaces.Interfaces")
+ proto.RegisterType((*Interface)(nil), "ietf_interfaces.Interface")
+ proto.RegisterType((*InterfacesState)(nil), "ietf_interfaces.InterfacesState")
+ proto.RegisterType((*InterfaceState)(nil), "ietf_interfaces.InterfaceState")
+}
+
+func init() {
+ proto.RegisterFile("voltha_protos/ietf_interfaces.proto", fileDescriptor_5a91e49a45099096)
+}
+
+var fileDescriptor_5a91e49a45099096 = []byte{
+ // 614 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x94, 0xdf, 0x6e, 0x9b, 0x30,
+ 0x18, 0xc5, 0x4b, 0xfe, 0xe7, 0x23, 0x21, 0xcc, 0xea, 0x05, 0xdb, 0x4d, 0x19, 0x9b, 0x26, 0xa6,
+ 0x69, 0x89, 0xd4, 0x3e, 0xc0, 0x44, 0x07, 0x9a, 0xa2, 0xa5, 0x10, 0x39, 0x44, 0xd5, 0x76, 0x63,
+ 0xb9, 0xc1, 0x49, 0x50, 0x29, 0x58, 0xe0, 0xae, 0xcb, 0xc3, 0xec, 0xb5, 0xf6, 0x3c, 0x13, 0x66,
+ 0x49, 0x69, 0xd5, 0xaa, 0x77, 0x9c, 0xdf, 0xf7, 0x9d, 0x13, 0xeb, 0xc4, 0x32, 0xbc, 0xfb, 0x95,
+ 0x25, 0x62, 0x4b, 0x09, 0xcf, 0x33, 0x91, 0x15, 0x93, 0x98, 0x89, 0x35, 0x89, 0x53, 0xc1, 0xf2,
+ 0x35, 0x5d, 0xb1, 0x62, 0x2c, 0x31, 0x1a, 0x3d, 0xc2, 0x56, 0x00, 0x30, 0x3d, 0x28, 0xe4, 0x80,
+ 0x46, 0x93, 0xa4, 0x36, 0x37, 0x14, 0xb3, 0x69, 0xab, 0xa7, 0x6f, 0xc6, 0x8f, 0xe3, 0x0e, 0x26,
+ 0x3c, 0xa4, 0x49, 0x72, 0x1f, 0x61, 0xfd, 0x69, 0x40, 0xff, 0x20, 0x11, 0x82, 0x56, 0x4a, 0x6f,
+ 0x98, 0xa1, 0x98, 0x8a, 0xdd, 0xc7, 0xf2, 0x1b, 0x99, 0xa0, 0x46, 0xac, 0x58, 0xe5, 0x31, 0x17,
+ 0x71, 0x96, 0x1a, 0x0d, 0x39, 0xaa, 0xa3, 0xd2, 0x25, 0x76, 0x9c, 0x19, 0xcd, 0xca, 0x55, 0x7e,
+ 0x23, 0x03, 0xba, 0x2c, 0xa5, 0x57, 0x09, 0x8b, 0x8c, 0x96, 0xa9, 0xd8, 0x3d, 0xbc, 0x97, 0xe8,
+ 0x1a, 0x8c, 0x24, 0x4e, 0xaf, 0xc9, 0x2d, 0x27, 0x51, 0x76, 0x97, 0x12, 0x91, 0x53, 0x4e, 0xaa,
+ 0xa1, 0xd1, 0x36, 0x15, 0x5b, 0x3b, 0x3d, 0x7b, 0xfe, 0xf8, 0xe3, 0x59, 0x9c, 0x5e, 0x2f, 0xb9,
+ 0x9b, 0xdd, 0xa5, 0x61, 0x4e, 0xb9, 0x27, 0x6d, 0xe1, 0x8e, 0x33, 0x7c, 0x9c, 0x3c, 0x31, 0xb1,
+ 0xbe, 0x80, 0xf1, 0x9c, 0x03, 0xbd, 0x82, 0x61, 0x88, 0x9d, 0x39, 0x71, 0xa7, 0x0b, 0xe7, 0x7c,
+ 0xe6, 0xb9, 0xfa, 0x11, 0xd2, 0x61, 0x20, 0x91, 0xe7, 0x57, 0x44, 0xb1, 0x2e, 0x61, 0x74, 0xdf,
+ 0xd6, 0x42, 0x50, 0xc1, 0x90, 0x0b, 0xc3, 0x7a, 0xeb, 0xfb, 0xd2, 0x4f, 0x9e, 0x3f, 0xb5, 0xf4,
+ 0xe1, 0x41, 0xad, 0xf9, 0xc2, 0xfa, 0xdb, 0x02, 0xed, 0xe1, 0xc2, 0x93, 0xed, 0xef, 0xbb, 0x6d,
+ 0xd4, 0xba, 0xc5, 0x30, 0xa0, 0xd1, 0x4d, 0x9c, 0x92, 0x42, 0x50, 0x71, 0x5b, 0xc8, 0xde, 0xb5,
+ 0xd3, 0xc9, 0x0b, 0xbf, 0x3f, 0x76, 0x4a, 0xcf, 0x42, 0x5a, 0x64, 0x63, 0x2a, 0xbd, 0x07, 0x28,
+ 0x00, 0x35, 0xe3, 0x2c, 0xdf, 0x47, 0xb6, 0x64, 0xe4, 0xf8, 0xa5, 0xc8, 0x80, 0xb3, 0xbc, 0x96,
+ 0x08, 0xd9, 0x41, 0xa3, 0x13, 0x50, 0x13, 0x5a, 0x08, 0xb2, 0xda, 0xd2, 0x74, 0x53, 0xfd, 0xb3,
+ 0x7d, 0x0c, 0x25, 0xfa, 0x2a, 0x09, 0x7a, 0x0d, 0xbd, 0xb8, 0xcc, 0x8e, 0xd8, 0x6f, 0xa3, 0x63,
+ 0x2a, 0x76, 0x1b, 0x77, 0xe3, 0xf5, 0xb4, 0x94, 0xe8, 0x2d, 0x0c, 0xf8, 0x76, 0x57, 0x10, 0x1a,
+ 0x45, 0x39, 0x2b, 0x0a, 0xa3, 0x5b, 0xdd, 0xb9, 0x92, 0x39, 0x15, 0x42, 0x1f, 0x60, 0xb4, 0x8d,
+ 0x37, 0x5b, 0x96, 0x93, 0x84, 0xee, 0x58, 0x4e, 0xe2, 0xb5, 0xd1, 0x33, 0x9b, 0x76, 0x1f, 0x0f,
+ 0x2b, 0x3c, 0x2b, 0xe9, 0x74, 0x8d, 0xde, 0x83, 0x96, 0x64, 0x77, 0xf5, 0xb5, 0xbe, 0x5c, 0x1b,
+ 0x48, 0xba, 0xdf, 0x3a, 0x86, 0x76, 0xc1, 0x19, 0x8b, 0x0c, 0x30, 0x15, 0xbb, 0x85, 0x2b, 0x61,
+ 0x9d, 0xc3, 0xe8, 0x51, 0x67, 0x48, 0x03, 0x70, 0xdc, 0x8b, 0xa9, 0x4f, 0xdc, 0xe0, 0xd2, 0xd7,
+ 0x8f, 0xca, 0x3b, 0x54, 0xe9, 0xd0, 0x5b, 0x84, 0x53, 0xff, 0x9b, 0xae, 0xa0, 0x01, 0xf4, 0x2a,
+ 0xb4, 0x9c, 0xeb, 0x0d, 0x8b, 0x83, 0xf6, 0xb0, 0x24, 0xa4, 0x42, 0xd7, 0x0d, 0xf0, 0x85, 0xe3,
+ 0x87, 0xfa, 0x11, 0x3a, 0x06, 0x7d, 0x16, 0x5c, 0x7a, 0x98, 0xcc, 0x9c, 0x1f, 0x1e, 0xae, 0x52,
+ 0x95, 0x72, 0x65, 0xe9, 0x7f, 0xf7, 0x4b, 0xd1, 0x28, 0xc5, 0x3e, 0xbc, 0x89, 0x3a, 0xd0, 0x58,
+ 0xce, 0xf5, 0x16, 0xea, 0x41, 0x4b, 0xee, 0xb6, 0xd1, 0x08, 0x54, 0x3f, 0x08, 0xc9, 0x1c, 0x7b,
+ 0x0b, 0xcf, 0x0f, 0xf5, 0xce, 0xf9, 0xa7, 0x9f, 0x1f, 0x37, 0xb1, 0xd8, 0xde, 0x5e, 0x8d, 0x57,
+ 0xd9, 0xcd, 0x24, 0xe3, 0x2c, 0x5d, 0x65, 0x79, 0x34, 0xa9, 0x9e, 0x9b, 0xcf, 0xff, 0x9f, 0x9b,
+ 0x4d, 0x26, 0x5f, 0x9c, 0xab, 0x8e, 0xd4, 0x67, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x97, 0xf8,
+ 0x6c, 0xee, 0x8e, 0x04, 0x00, 0x00,
+}