// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: electra/meter/meterdirectory.proto

package types

import (
	fmt "fmt"
	proto "github.com/gogo/protobuf/proto"
	io "io"
	math "math"
	math_bits "math/bits"
)

// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package

type Meterdirectory struct {
	DeviceID         string `protobuf:"bytes,1,opt,name=deviceID,proto3" json:"deviceID,omitempty"`
	Barcodeserial    string `protobuf:"bytes,2,opt,name=barcodeserial,proto3" json:"barcodeserial,omitempty"`
	Model            string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
	Installationdate uint64 `protobuf:"varint,4,opt,name=installationdate,proto3" json:"installationdate,omitempty"`
	Address          string `protobuf:"bytes,5,opt,name=address,proto3" json:"address,omitempty"`
	Ownerlastname    string `protobuf:"bytes,6,opt,name=ownerlastname,proto3" json:"ownerlastname,omitempty"`
	Ownerfirstname   string `protobuf:"bytes,7,opt,name=ownerfirstname,proto3" json:"ownerfirstname,omitempty"`
	Ownerphone       string `protobuf:"bytes,8,opt,name=ownerphone,proto3" json:"ownerphone,omitempty"`
	Gpsjson          string `protobuf:"bytes,9,opt,name=gpsjson,proto3" json:"gpsjson,omitempty"`
	Active           bool   `protobuf:"varint,10,opt,name=active,proto3" json:"active,omitempty"`
	Triphased        bool   `protobuf:"varint,11,opt,name=triphased,proto3" json:"triphased,omitempty"`
	Phasenbmono      uint64 `protobuf:"varint,12,opt,name=phasenbmono,proto3" json:"phasenbmono,omitempty"`
}

func (m *Meterdirectory) Reset()         { *m = Meterdirectory{} }
func (m *Meterdirectory) String() string { return proto.CompactTextString(m) }
func (*Meterdirectory) ProtoMessage()    {}
func (*Meterdirectory) Descriptor() ([]byte, []int) {
	return fileDescriptor_a2a6bed06e4ed0ae, []int{0}
}
func (m *Meterdirectory) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *Meterdirectory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_Meterdirectory.Marshal(b, m, deterministic)
	} else {
		b = b[:cap(b)]
		n, err := m.MarshalToSizedBuffer(b)
		if err != nil {
			return nil, err
		}
		return b[:n], nil
	}
}
func (m *Meterdirectory) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Meterdirectory.Merge(m, src)
}
func (m *Meterdirectory) XXX_Size() int {
	return m.Size()
}
func (m *Meterdirectory) XXX_DiscardUnknown() {
	xxx_messageInfo_Meterdirectory.DiscardUnknown(m)
}

var xxx_messageInfo_Meterdirectory proto.InternalMessageInfo

func (m *Meterdirectory) GetDeviceID() string {
	if m != nil {
		return m.DeviceID
	}
	return ""
}

func (m *Meterdirectory) GetBarcodeserial() string {
	if m != nil {
		return m.Barcodeserial
	}
	return ""
}

func (m *Meterdirectory) GetModel() string {
	if m != nil {
		return m.Model
	}
	return ""
}

func (m *Meterdirectory) GetInstallationdate() uint64 {
	if m != nil {
		return m.Installationdate
	}
	return 0
}

func (m *Meterdirectory) GetAddress() string {
	if m != nil {
		return m.Address
	}
	return ""
}

func (m *Meterdirectory) GetOwnerlastname() string {
	if m != nil {
		return m.Ownerlastname
	}
	return ""
}

func (m *Meterdirectory) GetOwnerfirstname() string {
	if m != nil {
		return m.Ownerfirstname
	}
	return ""
}

func (m *Meterdirectory) GetOwnerphone() string {
	if m != nil {
		return m.Ownerphone
	}
	return ""
}

func (m *Meterdirectory) GetGpsjson() string {
	if m != nil {
		return m.Gpsjson
	}
	return ""
}

func (m *Meterdirectory) GetActive() bool {
	if m != nil {
		return m.Active
	}
	return false
}

func (m *Meterdirectory) GetTriphased() bool {
	if m != nil {
		return m.Triphased
	}
	return false
}

func (m *Meterdirectory) GetPhasenbmono() uint64 {
	if m != nil {
		return m.Phasenbmono
	}
	return 0
}

func init() {
	proto.RegisterType((*Meterdirectory)(nil), "electra.meter.Meterdirectory")
}

func init() {
	proto.RegisterFile("electra/meter/meterdirectory.proto", fileDescriptor_a2a6bed06e4ed0ae)
}

var fileDescriptor_a2a6bed06e4ed0ae = []byte{
	// 321 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x91, 0xcd, 0x4a, 0x03, 0x31,
	0x14, 0x85, 0x1b, 0xfb, 0x7f, 0x6b, 0x8b, 0x04, 0x95, 0x20, 0x12, 0x86, 0x22, 0x52, 0x5c, 0xb4,
	0x0b, 0xdf, 0x40, 0xdc, 0xb8, 0x70, 0xd3, 0xa5, 0xbb, 0x74, 0x72, 0xb5, 0x91, 0x4c, 0x32, 0x24,
	0xa1, 0xda, 0x97, 0x10, 0x1f, 0xcb, 0x65, 0x97, 0x2e, 0xa5, 0x7d, 0x11, 0x69, 0x66, 0xaa, 0x1d,
	0xdd, 0x84, 0x9c, 0xef, 0x7e, 0x84, 0x13, 0x2e, 0x0c, 0x51, 0x63, 0x1a, 0x9c, 0x98, 0x64, 0x18,
	0xd0, 0x15, 0xa7, 0x54, 0x0e, 0xd3, 0x60, 0xdd, 0x72, 0x9c, 0x3b, 0x1b, 0x2c, 0xed, 0x97, 0xce,
	0x38, 0x4e, 0x87, 0x6f, 0x75, 0x18, 0xdc, 0x57, 0x3c, 0x7a, 0x06, 0x1d, 0x89, 0x0b, 0x95, 0xe2,
	0xdd, 0x2d, 0x23, 0x09, 0x19, 0x75, 0xa7, 0x3f, 0x99, 0x5e, 0x40, 0x7f, 0x26, 0x5c, 0x6a, 0x25,
	0x7a, 0x74, 0x4a, 0x68, 0x76, 0x10, 0x85, 0x2a, 0xa4, 0xc7, 0xd0, 0xcc, 0xac, 0x44, 0xcd, 0xea,
	0x71, 0x5a, 0x04, 0x7a, 0x05, 0x47, 0xca, 0xf8, 0x20, 0xb4, 0x16, 0x41, 0x59, 0x23, 0x45, 0x40,
	0xd6, 0x48, 0xc8, 0xa8, 0x31, 0xfd, 0xc7, 0x29, 0x83, 0xb6, 0x90, 0xd2, 0xa1, 0xf7, 0xac, 0x19,
	0xdf, 0xd8, 0xc5, 0x6d, 0x03, 0xfb, 0x62, 0xd0, 0x69, 0xe1, 0x83, 0x11, 0x19, 0xb2, 0x56, 0xd1,
	0xa0, 0x02, 0xe9, 0x25, 0x0c, 0x22, 0x78, 0x54, 0xae, 0xd4, 0xda, 0x51, 0xfb, 0x43, 0x29, 0x07,
	0x88, 0x24, 0x9f, 0x5b, 0x83, 0xac, 0x13, 0x9d, 0x3d, 0xb2, 0xed, 0xf1, 0x94, 0xfb, 0x67, 0x6f,
	0x0d, 0xeb, 0x16, 0x3d, 0xca, 0x48, 0x4f, 0xa1, 0x25, 0xd2, 0xa0, 0x16, 0xc8, 0x20, 0x21, 0xa3,
	0xce, 0xb4, 0x4c, 0xf4, 0x1c, 0xba, 0xc1, 0xa9, 0x7c, 0x2e, 0x3c, 0x4a, 0xd6, 0x8b, 0xa3, 0x5f,
	0x40, 0x13, 0xe8, 0xc5, 0x9b, 0x99, 0x65, 0xd6, 0x58, 0x76, 0x18, 0xbf, 0xbf, 0x8f, 0x6e, 0x26,
	0x1f, 0x6b, 0x4e, 0x56, 0x6b, 0x4e, 0xbe, 0xd6, 0x9c, 0xbc, 0x6f, 0x78, 0x6d, 0xb5, 0xe1, 0xb5,
	0xcf, 0x0d, 0xaf, 0x3d, 0x9c, 0xec, 0xb6, 0xfb, 0x5a, 0xee, 0x37, 0x2c, 0x73, 0xf4, 0xb3, 0x56,
	0xdc, 0xeb, 0xf5, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x93, 0x61, 0x6b, 0x6f, 0xfd, 0x01, 0x00,
	0x00,
}

func (m *Meterdirectory) Marshal() (dAtA []byte, err error) {
	size := m.Size()
	dAtA = make([]byte, size)
	n, err := m.MarshalToSizedBuffer(dAtA[:size])
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Meterdirectory) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *Meterdirectory) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if m.Phasenbmono != 0 {
		i = encodeVarintMeterdirectory(dAtA, i, uint64(m.Phasenbmono))
		i--
		dAtA[i] = 0x60
	}
	if m.Triphased {
		i--
		if m.Triphased {
			dAtA[i] = 1
		} else {
			dAtA[i] = 0
		}
		i--
		dAtA[i] = 0x58
	}
	if m.Active {
		i--
		if m.Active {
			dAtA[i] = 1
		} else {
			dAtA[i] = 0
		}
		i--
		dAtA[i] = 0x50
	}
	if len(m.Gpsjson) > 0 {
		i -= len(m.Gpsjson)
		copy(dAtA[i:], m.Gpsjson)
		i = encodeVarintMeterdirectory(dAtA, i, uint64(len(m.Gpsjson)))
		i--
		dAtA[i] = 0x4a
	}
	if len(m.Ownerphone) > 0 {
		i -= len(m.Ownerphone)
		copy(dAtA[i:], m.Ownerphone)
		i = encodeVarintMeterdirectory(dAtA, i, uint64(len(m.Ownerphone)))
		i--
		dAtA[i] = 0x42
	}
	if len(m.Ownerfirstname) > 0 {
		i -= len(m.Ownerfirstname)
		copy(dAtA[i:], m.Ownerfirstname)
		i = encodeVarintMeterdirectory(dAtA, i, uint64(len(m.Ownerfirstname)))
		i--
		dAtA[i] = 0x3a
	}
	if len(m.Ownerlastname) > 0 {
		i -= len(m.Ownerlastname)
		copy(dAtA[i:], m.Ownerlastname)
		i = encodeVarintMeterdirectory(dAtA, i, uint64(len(m.Ownerlastname)))
		i--
		dAtA[i] = 0x32
	}
	if len(m.Address) > 0 {
		i -= len(m.Address)
		copy(dAtA[i:], m.Address)
		i = encodeVarintMeterdirectory(dAtA, i, uint64(len(m.Address)))
		i--
		dAtA[i] = 0x2a
	}
	if m.Installationdate != 0 {
		i = encodeVarintMeterdirectory(dAtA, i, uint64(m.Installationdate))
		i--
		dAtA[i] = 0x20
	}
	if len(m.Model) > 0 {
		i -= len(m.Model)
		copy(dAtA[i:], m.Model)
		i = encodeVarintMeterdirectory(dAtA, i, uint64(len(m.Model)))
		i--
		dAtA[i] = 0x1a
	}
	if len(m.Barcodeserial) > 0 {
		i -= len(m.Barcodeserial)
		copy(dAtA[i:], m.Barcodeserial)
		i = encodeVarintMeterdirectory(dAtA, i, uint64(len(m.Barcodeserial)))
		i--
		dAtA[i] = 0x12
	}
	if len(m.DeviceID) > 0 {
		i -= len(m.DeviceID)
		copy(dAtA[i:], m.DeviceID)
		i = encodeVarintMeterdirectory(dAtA, i, uint64(len(m.DeviceID)))
		i--
		dAtA[i] = 0xa
	}
	return len(dAtA) - i, nil
}

func encodeVarintMeterdirectory(dAtA []byte, offset int, v uint64) int {
	offset -= sovMeterdirectory(v)
	base := offset
	for v >= 1<<7 {
		dAtA[offset] = uint8(v&0x7f | 0x80)
		v >>= 7
		offset++
	}
	dAtA[offset] = uint8(v)
	return base
}
func (m *Meterdirectory) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	l = len(m.DeviceID)
	if l > 0 {
		n += 1 + l + sovMeterdirectory(uint64(l))
	}
	l = len(m.Barcodeserial)
	if l > 0 {
		n += 1 + l + sovMeterdirectory(uint64(l))
	}
	l = len(m.Model)
	if l > 0 {
		n += 1 + l + sovMeterdirectory(uint64(l))
	}
	if m.Installationdate != 0 {
		n += 1 + sovMeterdirectory(uint64(m.Installationdate))
	}
	l = len(m.Address)
	if l > 0 {
		n += 1 + l + sovMeterdirectory(uint64(l))
	}
	l = len(m.Ownerlastname)
	if l > 0 {
		n += 1 + l + sovMeterdirectory(uint64(l))
	}
	l = len(m.Ownerfirstname)
	if l > 0 {
		n += 1 + l + sovMeterdirectory(uint64(l))
	}
	l = len(m.Ownerphone)
	if l > 0 {
		n += 1 + l + sovMeterdirectory(uint64(l))
	}
	l = len(m.Gpsjson)
	if l > 0 {
		n += 1 + l + sovMeterdirectory(uint64(l))
	}
	if m.Active {
		n += 2
	}
	if m.Triphased {
		n += 2
	}
	if m.Phasenbmono != 0 {
		n += 1 + sovMeterdirectory(uint64(m.Phasenbmono))
	}
	return n
}

func sovMeterdirectory(x uint64) (n int) {
	return (math_bits.Len64(x|1) + 6) / 7
}
func sozMeterdirectory(x uint64) (n int) {
	return sovMeterdirectory(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (m *Meterdirectory) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowMeterdirectory
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: Meterdirectory: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: Meterdirectory: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field DeviceID", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowMeterdirectory
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthMeterdirectory
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthMeterdirectory
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.DeviceID = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Barcodeserial", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowMeterdirectory
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthMeterdirectory
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthMeterdirectory
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Barcodeserial = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Model", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowMeterdirectory
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthMeterdirectory
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthMeterdirectory
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Model = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 4:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Installationdate", wireType)
			}
			m.Installationdate = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowMeterdirectory
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.Installationdate |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 5:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowMeterdirectory
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthMeterdirectory
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthMeterdirectory
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Address = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 6:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Ownerlastname", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowMeterdirectory
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthMeterdirectory
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthMeterdirectory
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Ownerlastname = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 7:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Ownerfirstname", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowMeterdirectory
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthMeterdirectory
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthMeterdirectory
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Ownerfirstname = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 8:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Ownerphone", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowMeterdirectory
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthMeterdirectory
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthMeterdirectory
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Ownerphone = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 9:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Gpsjson", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowMeterdirectory
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthMeterdirectory
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthMeterdirectory
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Gpsjson = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 10:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Active", wireType)
			}
			var v int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowMeterdirectory
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.Active = bool(v != 0)
		case 11:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Triphased", wireType)
			}
			var v int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowMeterdirectory
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.Triphased = bool(v != 0)
		case 12:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Phasenbmono", wireType)
			}
			m.Phasenbmono = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowMeterdirectory
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.Phasenbmono |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		default:
			iNdEx = preIndex
			skippy, err := skipMeterdirectory(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return ErrInvalidLengthMeterdirectory
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func skipMeterdirectory(dAtA []byte) (n int, err error) {
	l := len(dAtA)
	iNdEx := 0
	depth := 0
	for iNdEx < l {
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return 0, ErrIntOverflowMeterdirectory
			}
			if iNdEx >= l {
				return 0, io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		wireType := int(wire & 0x7)
		switch wireType {
		case 0:
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return 0, ErrIntOverflowMeterdirectory
				}
				if iNdEx >= l {
					return 0, io.ErrUnexpectedEOF
				}
				iNdEx++
				if dAtA[iNdEx-1] < 0x80 {
					break
				}
			}
		case 1:
			iNdEx += 8
		case 2:
			var length int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return 0, ErrIntOverflowMeterdirectory
				}
				if iNdEx >= l {
					return 0, io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				length |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if length < 0 {
				return 0, ErrInvalidLengthMeterdirectory
			}
			iNdEx += length
		case 3:
			depth++
		case 4:
			if depth == 0 {
				return 0, ErrUnexpectedEndOfGroupMeterdirectory
			}
			depth--
		case 5:
			iNdEx += 4
		default:
			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
		}
		if iNdEx < 0 {
			return 0, ErrInvalidLengthMeterdirectory
		}
		if depth == 0 {
			return iNdEx, nil
		}
	}
	return 0, io.ErrUnexpectedEOF
}

var (
	ErrInvalidLengthMeterdirectory        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowMeterdirectory          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupMeterdirectory = fmt.Errorf("proto: unexpected end of group")
)
