// Code generated by protoc-gen-go-vtproto. DO NOT EDIT.
// protoc-gen-go-vtproto version: v0.6.0
// source: frostdb/schema/v1alpha2/schema.proto

package schemav1alpha2

import (
	fmt 
	protohelpers 
	protoimpl 
	io 
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

func ( *Schema) () ( []byte,  error) {
	if  == nil {
		return nil, nil
	}
	 := .SizeVT()
	 = make([]byte, )
	,  := .MarshalToSizedBufferVT([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *Schema) ( []byte) (int, error) {
	 := .SizeVT()
	return .MarshalToSizedBufferVT([:])
}

func ( *Schema) ( []byte) (int, error) {
	if  == nil {
		return 0, nil
	}
	 := len()
	_ = 
	var  int
	_ = 
	if .unknownFields != nil {
		 -= len(.unknownFields)
		copy([:], .unknownFields)
	}
	if .UniquePrimaryIndex {
		--
		if .UniquePrimaryIndex {
			[] = 1
		} else {
			[] = 0
		}
		--
		[] = 0x20
	}
	if len(.SortingColumns) > 0 {
		for  := len(.SortingColumns) - 1;  >= 0; -- {
			,  := .SortingColumns[].MarshalToSizedBufferVT([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = protohelpers.EncodeVarint(, , uint64())
			--
			[] = 0x1a
		}
	}
	if .Root != nil {
		,  := .Root.MarshalToSizedBufferVT([:])
		if  != nil {
			return 0, 
		}
		 -= 
		 = protohelpers.EncodeVarint(, , uint64())
		--
		[] = 0x12
	}
	return len() - , nil
}

func ( *Node) () ( []byte,  error) {
	if  == nil {
		return nil, nil
	}
	 := .SizeVT()
	 = make([]byte, )
	,  := .MarshalToSizedBufferVT([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *Node) ( []byte) (int, error) {
	 := .SizeVT()
	return .MarshalToSizedBufferVT([:])
}

func ( *Node) ( []byte) (int, error) {
	if  == nil {
		return 0, nil
	}
	 := len()
	_ = 
	var  int
	_ = 
	if .unknownFields != nil {
		 -= len(.unknownFields)
		copy([:], .unknownFields)
	}
	if ,  := .Type.(interface {
		([]byte) (int, error)
	});  {
		,  := .([:])
		if  != nil {
			return 0, 
		}
		 -= 
	}
	return len() - , nil
}

func ( *Node_Leaf) ( []byte) (int, error) {
	 := .SizeVT()
	return .MarshalToSizedBufferVT([:])
}

func ( *Node_Leaf) ( []byte) (int, error) {
	 := len()
	if .Leaf != nil {
		,  := .Leaf.MarshalToSizedBufferVT([:])
		if  != nil {
			return 0, 
		}
		 -= 
		 = protohelpers.EncodeVarint(, , uint64())
		--
		[] = 0xa
	}
	return len() - , nil
}
func ( *Node_Group) ( []byte) (int, error) {
	 := .SizeVT()
	return .MarshalToSizedBufferVT([:])
}

func ( *Node_Group) ( []byte) (int, error) {
	 := len()
	if .Group != nil {
		,  := .Group.MarshalToSizedBufferVT([:])
		if  != nil {
			return 0, 
		}
		 -= 
		 = protohelpers.EncodeVarint(, , uint64())
		--
		[] = 0x12
	}
	return len() - , nil
}
func ( *Leaf) () ( []byte,  error) {
	if  == nil {
		return nil, nil
	}
	 := .SizeVT()
	 = make([]byte, )
	,  := .MarshalToSizedBufferVT([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *Leaf) ( []byte) (int, error) {
	 := .SizeVT()
	return .MarshalToSizedBufferVT([:])
}

func ( *Leaf) ( []byte) (int, error) {
	if  == nil {
		return 0, nil
	}
	 := len()
	_ = 
	var  int
	_ = 
	if .unknownFields != nil {
		 -= len(.unknownFields)
		copy([:], .unknownFields)
	}
	if .StorageLayout != nil {
		,  := .StorageLayout.MarshalToSizedBufferVT([:])
		if  != nil {
			return 0, 
		}
		 -= 
		 = protohelpers.EncodeVarint(, , uint64())
		--
		[] = 0x12
	}
	if len(.Name) > 0 {
		 -= len(.Name)
		copy([:], .Name)
		 = protohelpers.EncodeVarint(, , uint64(len(.Name)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *Group) () ( []byte,  error) {
	if  == nil {
		return nil, nil
	}
	 := .SizeVT()
	 = make([]byte, )
	,  := .MarshalToSizedBufferVT([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *Group) ( []byte) (int, error) {
	 := .SizeVT()
	return .MarshalToSizedBufferVT([:])
}

func ( *Group) ( []byte) (int, error) {
	if  == nil {
		return 0, nil
	}
	 := len()
	_ = 
	var  int
	_ = 
	if .unknownFields != nil {
		 -= len(.unknownFields)
		copy([:], .unknownFields)
	}
	if len(.Nodes) > 0 {
		for  := len(.Nodes) - 1;  >= 0; -- {
			,  := .Nodes[].MarshalToSizedBufferVT([:])
			if  != nil {
				return 0, 
			}
			 -= 
			 = protohelpers.EncodeVarint(, , uint64())
			--
			[] = 0x22
		}
	}
	if .Repeated {
		--
		if .Repeated {
			[] = 1
		} else {
			[] = 0
		}
		--
		[] = 0x18
	}
	if .Nullable {
		--
		if .Nullable {
			[] = 1
		} else {
			[] = 0
		}
		--
		[] = 0x10
	}
	if len(.Name) > 0 {
		 -= len(.Name)
		copy([:], .Name)
		 = protohelpers.EncodeVarint(, , uint64(len(.Name)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *StorageLayout) () ( []byte,  error) {
	if  == nil {
		return nil, nil
	}
	 := .SizeVT()
	 = make([]byte, )
	,  := .MarshalToSizedBufferVT([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *StorageLayout) ( []byte) (int, error) {
	 := .SizeVT()
	return .MarshalToSizedBufferVT([:])
}

func ( *StorageLayout) ( []byte) (int, error) {
	if  == nil {
		return 0, nil
	}
	 := len()
	_ = 
	var  int
	_ = 
	if .unknownFields != nil {
		 -= len(.unknownFields)
		copy([:], .unknownFields)
	}
	if .Repeated {
		--
		if .Repeated {
			[] = 1
		} else {
			[] = 0
		}
		--
		[] = 0x28
	}
	if .Nullable {
		--
		if .Nullable {
			[] = 1
		} else {
			[] = 0
		}
		--
		[] = 0x20
	}
	if .Compression != 0 {
		 = protohelpers.EncodeVarint(, , uint64(.Compression))
		--
		[] = 0x18
	}
	if .Encoding != 0 {
		 = protohelpers.EncodeVarint(, , uint64(.Encoding))
		--
		[] = 0x10
	}
	if .Type != 0 {
		 = protohelpers.EncodeVarint(, , uint64(.Type))
		--
		[] = 0x8
	}
	return len() - , nil
}

func ( *SortingColumn) () ( []byte,  error) {
	if  == nil {
		return nil, nil
	}
	 := .SizeVT()
	 = make([]byte, )
	,  := .MarshalToSizedBufferVT([:])
	if  != nil {
		return nil, 
	}
	return [:], nil
}

func ( *SortingColumn) ( []byte) (int, error) {
	 := .SizeVT()
	return .MarshalToSizedBufferVT([:])
}

func ( *SortingColumn) ( []byte) (int, error) {
	if  == nil {
		return 0, nil
	}
	 := len()
	_ = 
	var  int
	_ = 
	if .unknownFields != nil {
		 -= len(.unknownFields)
		copy([:], .unknownFields)
	}
	if .NullsFirst {
		--
		if .NullsFirst {
			[] = 1
		} else {
			[] = 0
		}
		--
		[] = 0x18
	}
	if .Direction != 0 {
		 = protohelpers.EncodeVarint(, , uint64(.Direction))
		--
		[] = 0x10
	}
	if len(.Path) > 0 {
		 -= len(.Path)
		copy([:], .Path)
		 = protohelpers.EncodeVarint(, , uint64(len(.Path)))
		--
		[] = 0xa
	}
	return len() - , nil
}

func ( *Schema) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .Root != nil {
		 = .Root.SizeVT()
		 += 1 +  + protohelpers.SizeOfVarint(uint64())
	}
	if len(.SortingColumns) > 0 {
		for ,  := range .SortingColumns {
			 = .SizeVT()
			 += 1 +  + protohelpers.SizeOfVarint(uint64())
		}
	}
	if .UniquePrimaryIndex {
		 += 2
	}
	 += len(.unknownFields)
	return 
}

func ( *Node) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if ,  := .Type.(interface{ () int });  {
		 += .()
	}
	 += len(.unknownFields)
	return 
}

func ( *Node_Leaf) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .Leaf != nil {
		 = .Leaf.SizeVT()
		 += 1 +  + protohelpers.SizeOfVarint(uint64())
	}
	return 
}
func ( *Node_Group) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .Group != nil {
		 = .Group.SizeVT()
		 += 1 +  + protohelpers.SizeOfVarint(uint64())
	}
	return 
}
func ( *Leaf) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	 = len(.Name)
	if  > 0 {
		 += 1 +  + protohelpers.SizeOfVarint(uint64())
	}
	if .StorageLayout != nil {
		 = .StorageLayout.SizeVT()
		 += 1 +  + protohelpers.SizeOfVarint(uint64())
	}
	 += len(.unknownFields)
	return 
}

func ( *Group) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	 = len(.Name)
	if  > 0 {
		 += 1 +  + protohelpers.SizeOfVarint(uint64())
	}
	if .Nullable {
		 += 2
	}
	if .Repeated {
		 += 2
	}
	if len(.Nodes) > 0 {
		for ,  := range .Nodes {
			 = .SizeVT()
			 += 1 +  + protohelpers.SizeOfVarint(uint64())
		}
	}
	 += len(.unknownFields)
	return 
}

func ( *StorageLayout) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	if .Type != 0 {
		 += 1 + protohelpers.SizeOfVarint(uint64(.Type))
	}
	if .Encoding != 0 {
		 += 1 + protohelpers.SizeOfVarint(uint64(.Encoding))
	}
	if .Compression != 0 {
		 += 1 + protohelpers.SizeOfVarint(uint64(.Compression))
	}
	if .Nullable {
		 += 2
	}
	if .Repeated {
		 += 2
	}
	 += len(.unknownFields)
	return 
}

func ( *SortingColumn) () ( int) {
	if  == nil {
		return 0
	}
	var  int
	_ = 
	 = len(.Path)
	if  > 0 {
		 += 1 +  + protohelpers.SizeOfVarint(uint64())
	}
	if .Direction != 0 {
		 += 1 + protohelpers.SizeOfVarint(uint64(.Direction))
	}
	if .NullsFirst {
		 += 2
	}
	 += len(.unknownFields)
	return 
}

func ( *Schema) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return protohelpers.ErrIntOverflow
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: Schema: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: Schema: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Root", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return protohelpers.ErrInvalidLength
			}
			 :=  + 
			if  < 0 {
				return protohelpers.ErrInvalidLength
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .Root == nil {
				.Root = &Group{}
			}
			if  := .Root.UnmarshalVT([:]);  != nil {
				return 
			}
			 = 
		case 3:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field SortingColumns", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return protohelpers.ErrInvalidLength
			}
			 :=  + 
			if  < 0 {
				return protohelpers.ErrInvalidLength
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.SortingColumns = append(.SortingColumns, &SortingColumn{})
			if  := .SortingColumns[len(.SortingColumns)-1].UnmarshalVT([:]);  != nil {
				return 
			}
			 = 
		case 4:
			if  != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field UniquePrimaryIndex", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			.UniquePrimaryIndex = bool( != 0)
		default:
			 = 
			,  := protohelpers.Skip([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return protohelpers.ErrInvalidLength
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.unknownFields = append(.unknownFields, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *Node) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return protohelpers.ErrIntOverflow
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: Node: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: Node: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Leaf", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return protohelpers.ErrInvalidLength
			}
			 :=  + 
			if  < 0 {
				return protohelpers.ErrInvalidLength
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if ,  := .Type.(*Node_Leaf);  {
				if  := .Leaf.UnmarshalVT([:]);  != nil {
					return 
				}
			} else {
				 := &Leaf{}
				if  := .UnmarshalVT([:]);  != nil {
					return 
				}
				.Type = &Node_Leaf{Leaf: }
			}
			 = 
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Group", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return protohelpers.ErrInvalidLength
			}
			 :=  + 
			if  < 0 {
				return protohelpers.ErrInvalidLength
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if ,  := .Type.(*Node_Group);  {
				if  := .Group.UnmarshalVT([:]);  != nil {
					return 
				}
			} else {
				 := &Group{}
				if  := .UnmarshalVT([:]);  != nil {
					return 
				}
				.Type = &Node_Group{Group: }
			}
			 = 
		default:
			 = 
			,  := protohelpers.Skip([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return protohelpers.ErrInvalidLength
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.unknownFields = append(.unknownFields, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *Leaf) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return protohelpers.ErrIntOverflow
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: Leaf: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: Leaf: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Name", )
			}
			var  uint64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= uint64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := int()
			if  < 0 {
				return protohelpers.ErrInvalidLength
			}
			 :=  + 
			if  < 0 {
				return protohelpers.ErrInvalidLength
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.Name = string([:])
			 = 
		case 2:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field StorageLayout", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return protohelpers.ErrInvalidLength
			}
			 :=  + 
			if  < 0 {
				return protohelpers.ErrInvalidLength
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			if .StorageLayout == nil {
				.StorageLayout = &StorageLayout{}
			}
			if  := .StorageLayout.UnmarshalVT([:]);  != nil {
				return 
			}
			 = 
		default:
			 = 
			,  := protohelpers.Skip([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return protohelpers.ErrInvalidLength
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.unknownFields = append(.unknownFields, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *Group) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return protohelpers.ErrIntOverflow
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: Group: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: Group: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Name", )
			}
			var  uint64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= uint64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := int()
			if  < 0 {
				return protohelpers.ErrInvalidLength
			}
			 :=  + 
			if  < 0 {
				return protohelpers.ErrInvalidLength
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.Name = string([:])
			 = 
		case 2:
			if  != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Nullable", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			.Nullable = bool( != 0)
		case 3:
			if  != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Repeated", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			.Repeated = bool( != 0)
		case 4:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Nodes", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			if  < 0 {
				return protohelpers.ErrInvalidLength
			}
			 :=  + 
			if  < 0 {
				return protohelpers.ErrInvalidLength
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.Nodes = append(.Nodes, &Node{})
			if  := .Nodes[len(.Nodes)-1].UnmarshalVT([:]);  != nil {
				return 
			}
			 = 
		default:
			 = 
			,  := protohelpers.Skip([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return protohelpers.ErrInvalidLength
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.unknownFields = append(.unknownFields, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *StorageLayout) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return protohelpers.ErrIntOverflow
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: StorageLayout: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: StorageLayout: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Type", )
			}
			.Type = 0
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				.Type |= StorageLayout_Type(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
		case 2:
			if  != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Encoding", )
			}
			.Encoding = 0
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				.Encoding |= StorageLayout_Encoding(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
		case 3:
			if  != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Compression", )
			}
			.Compression = 0
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				.Compression |= StorageLayout_Compression(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
		case 4:
			if  != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Nullable", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			.Nullable = bool( != 0)
		case 5:
			if  != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Repeated", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			.Repeated = bool( != 0)
		default:
			 = 
			,  := protohelpers.Skip([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return protohelpers.ErrInvalidLength
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.unknownFields = append(.unknownFields, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func ( *SortingColumn) ( []byte) error {
	 := len()
	 := 0
	for  <  {
		 := 
		var  uint64
		for  := uint(0); ;  += 7 {
			if  >= 64 {
				return protohelpers.ErrIntOverflow
			}
			if  >=  {
				return io.ErrUnexpectedEOF
			}
			 := []
			++
			 |= uint64(&0x7F) << 
			if  < 0x80 {
				break
			}
		}
		 := int32( >> 3)
		 := int( & 0x7)
		if  == 4 {
			return fmt.Errorf("proto: SortingColumn: wiretype end group for non-group")
		}
		if  <= 0 {
			return fmt.Errorf("proto: SortingColumn: illegal tag %d (wire type %d)", , )
		}
		switch  {
		case 1:
			if  != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Path", )
			}
			var  uint64
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= uint64(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			 := int()
			if  < 0 {
				return protohelpers.ErrInvalidLength
			}
			 :=  + 
			if  < 0 {
				return protohelpers.ErrInvalidLength
			}
			if  >  {
				return io.ErrUnexpectedEOF
			}
			.Path = string([:])
			 = 
		case 2:
			if  != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Direction", )
			}
			.Direction = 0
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				.Direction |= SortingColumn_Direction(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
		case 3:
			if  != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field NullsFirst", )
			}
			var  int
			for  := uint(0); ;  += 7 {
				if  >= 64 {
					return protohelpers.ErrIntOverflow
				}
				if  >=  {
					return io.ErrUnexpectedEOF
				}
				 := []
				++
				 |= int(&0x7F) << 
				if  < 0x80 {
					break
				}
			}
			.NullsFirst = bool( != 0)
		default:
			 = 
			,  := protohelpers.Skip([:])
			if  != nil {
				return 
			}
			if ( < 0) || (+) < 0 {
				return protohelpers.ErrInvalidLength
			}
			if ( + ) >  {
				return io.ErrUnexpectedEOF
			}
			.unknownFields = append(.unknownFields, [:+]...)
			 += 
		}
	}

	if  >  {
		return io.ErrUnexpectedEOF
	}
	return nil
}